Deployment
Deploy AgentOven anywhere — Docker Compose for development, Kubernetes for production.
AgentOven is designed to run anywhere — a single laptop, a VM, or a full Kubernetes cluster. The control plane is a single Go binary; the SDKs connect over HTTP.
Docker Compose (Development)
The fastest way to get the full stack running locally:
terminal
$ git clone https://github.com/agentoven/agentoven $ cd agentoven/infrastructure $ docker compose up -d ✓ postgres — :5432 ✓ redis — :6379 ✓ otel-collector — :4317 ✓ agentoven — :8080
Docker Compose File
yaml
version: "3.9" services: postgres: image: postgres:16-alpine environment: POSTGRES_DB: agentoven POSTGRES_USER: agentoven POSTGRES_PASSWORD: agentoven ports: ["5432:5432"] volumes: ["pgdata:/var/lib/postgresql/data"] redis: image: redis:7-alpine ports: ["6379:6379"] otel-collector: image: otel/opentelemetry-collector:latest ports: ["4317:4317", "4318:4318"] volumes: ["./otel-config.yaml:/etc/otel/config.yaml"] agentoven: image: agentoven/agentoven:latest ports: ["8080:8080"] environment: AGENTOVEN_DB_URL: "postgres://agentoven:agentoven@postgres:5432/agentoven" AGENTOVEN_REDIS_URL: "redis://redis:6379" AGENTOVEN_OTEL_ENDPOINT: "otel-collector:4317" depends_on: [postgres, redis, otel-collector] volumes: pgdata:
Kubernetes (Production)
Helm charts are provided for production Kubernetes deployments with horizontal pod autoscaling, PodDisruptionBudgets, and Prometheus ServiceMonitors.
terminal
$ helm repo add agentoven https://charts.agentoven.dev $ helm install agentoven agentoven/agentoven \ --namespace agentoven --create-namespace \ --set controlPlane.replicas=3 \ --set postgres.enabled=true \ --set redis.enabled=true \ --set observability.enabled=true
Helm Values
yaml
controlPlane:
replicas: 3
resources:
requests: { cpu: "500m", memory: "512Mi" }
limits: { cpu: "2", memory: "2Gi" }
autoscaling:
enabled: true
minReplicas: 2
maxReplicas: 10
targetCPU: 70
postgres:
enabled: true
persistence:
size: 50Gi
storageClass: managed-premium
redis:
enabled: true
architecture: replication
replica:
replicaCount: 2
observability:
enabled: true
prometheus:
serviceMonitor: true
grafana:
dashboards: trueEnvironment Variables
| Variable | Description |
|---|---|
AGENTOVEN_DB_URL | PostgreSQL connection string |
AGENTOVEN_REDIS_URL | Redis connection string |
AGENTOVEN_PORT | HTTP port (default: 8080) |
AGENTOVEN_LOG_LEVEL | Log level: debug, info, warn, error |
AGENTOVEN_OTEL_ENDPOINT | OpenTelemetry collector gRPC endpoint |
AGENTOVEN_JWT_SECRET | JWT signing secret for authentication |
AGENTOVEN_CORS_ORIGINS | Allowed CORS origins (comma-separated) |
AGENTOVEN_MAX_TASK_TIMEOUT | Max task timeout in seconds (default: 300) |
For detailed production hardening, TLS configuration, backup strategies, and multi-region setups, see the infrastructure README on GitHub.