On this page:
Node Configuration
- Label only intended nodes:
architect.loopholelabs.io/node=truecontrols wherearchitectdruns. Only label nodes where you want Architect workloads. - Use critical-node labels for control components: The
architect-admission-controllerandarchitect-control-planerequirearchitect.loopholelabs.io/critical-node=true. Place these on stable nodes that are unlikely to be drained or preempted. - Use tolerations and node selectors: The Helm chart exposes
architectdNodeSelector,architectControlPlaneNodeSelector, andarchitectAdmissionControllerNodeSelector(plus matching toleration options) to control placement. See Installation → Helm Chart Options.
Application Suitability
Well-suited applications:
- Stateless web services and APIs
- Microservices with intermittent traffic
- Development and staging environments
- Services with predictable traffic patterns
See FAQ → Compatibility for tested languages and frameworks.
Not yet supported:
- GPU workloads (CUDA state preservation is under development)
Configuration Guidelines
- Start with the default timeout: The default idle timeout is
60s. Lower it gradually per-container via thescaledown-durationsannotation once you've validated behavior. - Test in staging first: Always validate hibernation behavior in non-production environments before rolling out. See Testing Your Application.
- Enable network-monitor for web traffic: Use the
network-monitorannotation withpacketsorconnectionsmode so containers wake on incoming requests instead of only onkubectl exec. - Use health-check-proxy for probed services: If your workload has
liveness or readiness probes, enable
health-check-proxyto prevent kubelet from restarting hibernated containers.
Capacity Planning
Hibernated pods consume zero CPU and memory while staying scheduled. This means you can run more replicas for availability without proportional cost increase -- idle replicas hibernate automatically and wake in under 50ms when traffic arrives.