Requirements
What a host or cluster must provide before AgentArea starts.Synopsis
AgentArea ships two supported deployment targets:docker-compose.dev.yaml is a third file used for development. It starts the
same platform plus Traefik, Temporal UI, Keto, OpenFGA, Hydra, and Mailpit, and
it bind-mounts source into the containers. It is not a deployment target.
Parameters
Docker Compose host
The compose stack starts 14 containers, three of which are one-shot init jobs
(
postgres_init, app_migrations, kratos-migrate, rclone-init). No sizing
figure has been measured for this repo, so none is published here.
Kubernetes cluster
mcpManager.instanceNetworkPolicy is a no-op on a cluster whose CNI does not
enforce NetworkPolicy. The chart does not detect this, so untrusted MCP instance
pods reach the cluster network and the cloud metadata endpoint unimpeded. See
networking.
mcpManager.runtimeClass defaults to "", which is the node’s default runtime
(runc) and provides no kernel isolation for code the platform did not write.
gvisor needs runsc and its containerd shim on the nodes; kata-qemu needs KVM,
which managed clusters on virtualized nodes rarely expose. Kubernetes refuses to
schedule the pod if the named RuntimeClass does not exist.
Bundled dependencies
The chart bundles these and can run them in-cluster. Disable each one and point the correspondingglobal.* key at a managed service instead.
The bundled PostgreSQL is a single StatefulSet with no replication and no backup.
charts/agentarea/values.yaml marks it “not for production”. For anything you
care about, set postgresql.enabled=false and point global.database.host at a
managed instance.
The Compose stack pins postgres:18 and valkey/valkey:8. The chart pins
postgres:16-alpine. The two targets are not on the same PostgreSQL major.
Databases
One PostgreSQL instance, several logical databases. Compose creates them inpostgres_init; the chart creates each in a dedicated Job.