Infrastructure
- Kubernetes cluster with at least 2 nodes
- Managed PostgreSQL (RDS, Cloud SQL, Supabase, or equivalent) with automated backups
- Persistent volume or object storage for workspace data
- Domain name and TLS certificate (cert-manager works well)
Oxy configuration
-
OXY_DATABASE_URLpointing to your managed PostgreSQL - At least one LLM provider key set (
OPENAI_API_KEY,ANTHROPIC_API_KEY, etc.) - Authentication configured — see Environment reference
-
MAGIC_LINK_SECRETor OAuth provider set up for user login
For multi-workspace (cloud) mode
- GitHub App created and configured — see GitHub App Setup
-
GITHUB_APP_ID,GITHUB_APP_SLUG,GITHUB_APP_PRIVATE_KEYset -
GITHUB_CLIENT_ID,GITHUB_CLIENT_SECRETset -
GITHUB_STATE_SECRETset to a stable random value
Networking
- Ingress controller installed (nginx, ALB, Traefik, etc.)
- TLS termination configured
-
OXY_API_URLset if the backend is behind a different hostname than the frontend
Operations
- Resource limits set in
values.yaml - Liveness and readiness probes confirmed healthy
- Log aggregation in place (CloudWatch, Datadog, Loki, etc.)
- Alerts on pod restarts and database connection failures