Production Deployment
This guide provides a production readiness checklist for deploying AgentVisor™. Use it to ensure you've addressed all critical areas before going live. Each item links to the guide that owns the detailed how-to — this page focuses on what to verify, not how to configure it.
Production Readiness Checklist
Before deploying to production, verify each area:
| Area | Status | Guide |
|---|---|---|
| Security hardening | ☐ | Security Checklist |
| Temporal configured | ☐ | Temporal Guide |
| Scaling configured | ☐ | Scaling and Resilience |
| Authentication enabled | ☐ | OIDC Setup |
| Policies defined | ☐ | Policy Configuration |
| Guest images deployable | ☐ | Guest Images |
| Monitoring set up | ☐ | Monitoring |
| Backup plan in place | ☐ | Backup and Recovery |
Security Checklist
Before deploying to production:
- Configure sandbox mode (gVisor recommended for Linux; Docker is production-grade on any platform)
- Configure restrictive policies (deny-by-default)
- Enable OIDC authentication
- Set up TLS for the API
- Configure resource limits (
guest.memory_limit/cpu_limit/pids_limit: enforced indockermode, and ingvisormode when the host runtime runs as root with a writable cgroup v2 mount; otherwise set limits on the host runtime's container or pod, or setguest.hardening.resource_limits: enabledto fail startup without them) - Enable audit logging
- Review SSRF allowlist exemptions (
proxy.ssrf_allowed_cidrs— see Egress Controls) - Review network policies
See the Security Guide for the full hardening reference (sandbox mode selection, resource limits and timeouts, authentication, default-deny policy examples, and the SSRF guard's allowlist model) and its own more detailed security checklist.
Temporal Configuration
Configure Temporal for production use. This is critical for durability and reliability.
Key areas to configure:
- Temporal Cloud or self-hosted cluster connection
- Namespace and task queue strategy
- Search attributes setup
- Payload encryption (recommended)
- History management
See Temporal Configuration for complete setup instructions.
Scaling and High Availability
For production deployments, configure:
- Multiple replicas (minimum 3 recommended)
- Availability zone spread
- PodDisruptionBudget
- Auto-scaling (HPA)
See Scaling and Resilience for deployment manifests and configuration.
Guest Images and Registry Deployment
Guest images can be built and pushed as standalone OCI artifacts, separate from the combined host+guest image, so a CI/CD pipeline can build and version them independently and pull a pre-built guest image at runtime instead of a local rootfs.
- Guest image built and pushed (
agentvisor build guest) — see thebuild guestCLI reference - Runtime configured to pull it (
AGENTVISOR_GUEST_IMAGE/guest.image, or--image/--from-guest-imageonserve/run/exec/build) — see Configuration Reference - Private registry credentials configured — Kubernetes
imagePullSecrets, orAGENTVISOR_GUEST_REGISTRY_AUTH_*env vars / Docker config — see Configuration Reference: Registry Authentication - Custom base images, if used instead of the official ones, validated against the image contract — see Custom Base Images
Kubernetes Deployment
- Network policies restrict egress to Temporal and allowed external APIs only
- Secrets (API keys, OIDC client secrets) stored in Kubernetes Secrets, never embedded in images
See Kubernetes Deployment for manifests covering network policy,
secrets, HorizontalPodAutoscaler, and PodDisruptionBudget.
Monitoring
- Liveness and readiness probes configured
- Prometheus metrics enabled (
AGENTVISOR_TELEMETRY_METRICS_ENABLED=true) and scraped — served on the same shared HTTP API listener as/healthand/ready, no separate metrics address - Structured JSON logging enabled (
AGENTVISOR_LOG_FORMAT=json)
See Scaling and Resilience: Monitoring for Scale
for the full metrics/alerting reference, and Docker Deployment or
Kubernetes Deployment for health check and ServiceMonitor examples.
Backup and Recovery
Temporal State
Temporal stores all workflow state. Back up:
- Temporal database (PostgreSQL/MySQL/Cassandra)
- Elasticsearch (for visibility features)
For Temporal Cloud, backups are managed automatically.
Configuration
Version control all configuration:
- Policy domain files
- Kubernetes manifests
- Environment variable templates (without secrets)
Encryption Keys
If using payload encryption:
- Store codec passwords in a secrets manager
- Document key rotation procedures
- Warning: Lost encryption keys = lost data
See Temporal Configuration: Payload Encryption for encryption setup.
Incident Response
Disable a Problematic Agent
Cancel all threads for a specific agent:
# Cancel all threads for an agent
for thread in $(curl -s http://localhost:8090/threads/search \
-d '{"metadata": {"agent": "problematic-agent"}}' | jq -r '.[].thread_id'); do
curl -X DELETE "http://localhost:8090/threads/$thread"
done
Emergency Policy Update
Apply a restrictive policy immediately:
# Apply restrictive policy
kubectl create configmap emergency-policy --from-file=domain.yml=emergency.yml
kubectl rollout restart deployment/agentvisor
Audit Investigation
Query audit logs for policy decisions:
# Search recent logs for policy decisions
kubectl logs -l app=agentvisor --since=1h | grep "policy_decision"
Next Steps
Once your production deployment is configured:
- Run a load test to validate scaling configuration
- Set up alerts for key metrics (see Scaling and Resilience)
- Document runbooks for common incident scenarios
- Schedule regular policy reviews to audit access controls
See Also
- Temporal Configuration — Complete Temporal setup
- Scaling and Resilience — HA and auto-scaling
- OIDC Setup — Authentication setup
- Policy Guide — Authorization policies
- Security Guide — Full security hardening reference
- Docker Deployment — Docker and Docker Compose reference
- Kubernetes Deployment — Deployment manifests
- Custom Base Images — Building replacement host/guest images