Kubernetes / Helm¶
Production Astra on Kubernetes uses namespaces for isolation, Helm (charts live in the Astra repo), and mTLS + Vault for service identity and secrets per the PRD.
Layout¶
| Namespace | Workload |
|---|---|
control-plane |
api-gateway, identity, access-control |
kernel |
scheduler-service, task-service, agent-service, goal-service, memory-service, planner-service |
workers |
execution-worker, browser-worker, tool-runtime, worker-manager, llm-router, prompt-manager, evaluation-service |
infrastructure |
Postgres, Redis, Memcached, MinIO (or managed equivalents outside cluster) |
observability |
Prometheus, Grafana, OTel collector, Loki |
flowchart LR
subgraph cp [control-plane]
GW[api-gateway]
ID[identity]
AC[access-control]
end
subgraph kern [kernel]
SCH[scheduler]
TS[task-service]
end
subgraph wrk [workers]
EX[execution-worker]
TR[tool-runtime]
end
GW --> ID
GW --> AC
SCH --> Redis[(Redis streams)]
EX --> Redis
Helm highlights¶
- Values for image tags, replica counts, resource requests/limits.
- Ingress or Gateway API for
api-gatewayTLS termination at edge; service-to-service traffic uses mTLS (cert mounts from Vault or cert-manager). - Secrets: inject at runtime from Vault — not baked into images or plain ConfigMaps for credentials.
Upgrade order¶
- Schema migrations (backward-compatible with running binaries).
- Stateless services (rolling update).
- Workers after scheduler/task contracts are stable.
- Canary slice (e.g. 5% traffic) before full rollout where supported.
Scaling¶
- HPA on CPU/request rate for API and stateless services.
- Workers — scale on Redis queue depth and scheduler hints (PRD §20).
Related¶
- GCP managed services — when Redis/Postgres are outside the cluster.
- Local — docker-compose parity for dev.
- PRD §20 Deployment architecture