End State
At the end of this guide you will have:- a
cake-agentsHelm release deployed to your cluster - a reachable control plane UI/API
- a database connection (embedded Postgres for development or an external database)
- session pods launching successfully in the expected namespace
Architecture Summary

- The control plane is a web application deployed as a standard Kubernetes workload.
- Each user session launches a data plane pod that runs OpenCode inside the cluster.
Prerequisites
- A working Kubernetes cluster
kubectlconfigured for the target clusterhelm3+- A DNS name for the control plane
- An ingress controller or API gateway configured to route traffic to the control plane (e.g. Istio, Nginx, ALB, etc.)
- Kubernetes secrets or secret-management flow for integration credentials
- Optionally, a preexisting Postgres database
What the Helm Chart Configures
The Helm install configures these main concerns:- Control plane deployment, service account, probes, and service
- RBAC for creating and managing session workloads
- Embedded PostgreSQL for development, or an external database via
externalDatabase.existingSecret - Secret wiring for integrations and auth
Set up DNS
Cake Agent’s control plane needs to be reachable at a stable DNS name. This is used for user linking flows and should match thecontrolPlane.host
value in the Helm chart.
Choose a Database Strategy
For development, the chart defaults to embedded PostgreSQL. For shared or production-like environments, use an external database and provide a secret instead:Set up an auth client
Cake Agents uses OIDC for authentication. You can use any compliant provider, or delegate auth to an authenticating proxy via trusted headers. In your OIDC provider, create a new client with these settings:- Client type: Confidential or Public (with PKCE)
- Redirect URI:
https://<controlPlane.host>/api/auth/callback/oidc - Scopes:
openid email profile