Skip to main content

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 corresponding global.* 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 in postgres_init; the chart creates each in a dedicated Job.

Service ports

Building from source

Only needed if you build images yourself rather than pulling published ones.

Errors

Example

A cluster that meets the minimum for a Kubernetes install with everything bundled: