AgentOven

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: true

Environment Variables
VariableDescription
AGENTOVEN_DB_URLPostgreSQL connection string
AGENTOVEN_REDIS_URLRedis connection string
AGENTOVEN_PORTHTTP port (default: 8080)
AGENTOVEN_LOG_LEVELLog level: debug, info, warn, error
AGENTOVEN_OTEL_ENDPOINTOpenTelemetry collector gRPC endpoint
AGENTOVEN_JWT_SECRETJWT signing secret for authentication
AGENTOVEN_CORS_ORIGINSAllowed CORS origins (comma-separated)
AGENTOVEN_MAX_TASK_TIMEOUTMax task timeout in seconds (default: 300)

For detailed production hardening, TLS configuration, backup strategies, and multi-region setups, see the infrastructure README on GitHub.