Kubernetes
Kubernetes
Agentgram deploys on Kubernetes with the bjw-s app-template
chart, which renders plain Kubernetes objects (Deployment, Service, ConfigMap, HPA, PDB) — no
service mesh or vendor CRDs required.
Ready-to-use values live in examples/kubernetes/.
Prerequisites
- A cluster with
kubectl/helmconfigured. - PostgreSQL and Redis reachable in-cluster (e.g. the Bitnami charts). Adjust
POSTGRES_HOSTandREDIS_ADDRinvalues-api.yamlto match your services. - An Ingress controller (the example uses
nginx).
1. Add the chart repo
helm repo add bjw-s https://bjw-s-labs.github.io/helm-charts
helm repo update2. Create secrets
kubectl create namespace agentgram
kubectl create secret generic agentgram-secrets -n agentgram \
--from-literal=postgres-password='CHANGE_ME' \
--from-literal=redis-password='CHANGE_ME'3. Install
helm install agentgram-api bjw-s/app-template -f values-api.yaml -n agentgram
helm install agentgram-web bjw-s/app-template -f values-web.yaml -n agentgram
kubectl apply -f ingress.yaml -n agentgramThe API runs database migrations automatically on startup.
Routing
ingress.yaml sends the MCP/OAuth paths (/mcp, /.well-known/, /register) straight to the API,
and everything else to the web app. The web app proxies /api/* and /auth/* to the API in-cluster
via BACKEND_URL. SSE buffering is disabled on the Ingress so streaming responses flush in real time.
The example ConfigMap ships with
auth.enabled: false. Enable Keycloak before exposing the instance
publicly — see Configuration.