~/DOCS/

Testing Your Application

Before deploying to production, validate your application's compatibility with Architect in a staging environment.

1. Deploy with Architect

Add runtimeClassName and annotations to your workload, then deploy it. See Configuration for annotation details.

spec:
  template:
    metadata:
      annotations:
        architect.loopholelabs.io/managed-containers: '["my-container"]'
        architect.loopholelabs.io/scaledown-durations: '{"my-container":"60s"}'
    spec:
      runtimeClassName: runc-architect

2. Confirm Hibernation

Wait for the idle timeout to elapse, then check the status label:

kubectl get pod <pod> \
  -o jsonpath='{.metadata.labels.status\.architect\.loopholelabs\.io/<container>}'

The value should be SCALED_DOWN.

3. Wake and Verify

Wake the container via exec or network traffic:

# Wake via exec
kubectl exec -it <pod> -- /bin/sh -c "echo test"

# Or wake via network (requires network-monitor annotation)
kubectl port-forward <pod> <port>:<port>
curl localhost:<port>

The status label should return to RUNNING. Verify that:

  • The application responds correctly after waking
  • In-memory state is preserved across the hibernate/wake cycle
  • Health checks pass after wake

4. Check Logs on Failure

kubectl logs -n architect -l app=architectd | grep <pod>

The Architect Console also shows per-pod events, timings, and checkpoint details.

Compatibility Matrix

See FAQ → Compatibility for the full list of tested languages and frameworks.