Skip to content

Configuration

Diverge is configured at the cluster level using Helm values and component flags, and at the repository level using .diverge.yaml.

The Helm chart deploys the controller manager and optional components (server, proxy, activatorProxy, and sandbox):

Key Default Description
controller.replicaCount 1 Number of diverge-controller replicas
webhook.enabled true Enable the GitHub/GitLab webhook listener on the controller
webhook.validatingWebhook.enabled false Deploy admission ValidatingWebhookConfiguration for Environment, PreviewGroup, and AgentTask
webhook.admissionPolicy.enabled false Deploy Kubernetes CEL ValidatingAdmissionPolicy resources
proxy.enabled false Deploy diverge-proxy for L7 header/subdomain routing and banner injection
activatorProxy.enabled false Deploy activator-proxy for scale-to-zero cold-start wake-up
server.enabled false Deploy diverge-server (ConnectRPC API, /mcp HTTP endpoint, and Web Dashboard)
server.dashboard.enabled true Serve the embedded React Web Dashboard when server.enabled is true
sandbox.enabled true Enable AgentTask autonomous coding sandboxes and Macaroon capability auth
sandbox.provider agent-sandbox Sandbox provider (agent-sandbox, pod / k8s-pod, or noop; automatically falls back to pod when agent-sandbox CRDs are absent)
sandbox.macaroonSecretRef.name "" Secret containing the 32-byte root-key shared by controller and server
async.provider noop Async/storage isolation provider (kafka, temporal, redis, storage, webhook, composite, noop)
gateway.tls.enabled false Configure HTTPS listener and cert-manager annotations on the Gateway
gateway.externalDns.enabled false Add external-dns.alpha.kubernetes.io/hostname annotations to generated routes
Flag Default Description
--listen-addr :8080 Proxy HTTP listen address
--probe-addr :8081 Health and readiness probe address (/-/healthz, /-/readyz)
--preview-domain preview.localhost Base domain for subdomain routing (<env>.<preview-domain>)
--inject-banner true Inject the floating preview environment banner into HTML responses
--hide-environment-list false Omit the list of active environments from 404 responses on unknown subdomains to prevent environment enumeration
Flag Default Description
--listen-addr :8080 Activator proxy HTTP listen address
--wake-timeout 60s Maximum time to wait for a scaled-to-zero pod to pass readiness probes
--wake-splash false Serve an auto-refreshing 202 Accepted HTML splash screen (also triggerable per request via X-Diverge-Wake-Splash: true) and GET /-/wakeup-status readiness endpoint to browsers while waking a scaled-to-zero preview environment
Flag Default Description
--deploy-provider noop Deployment provider (direct, argocd, knative, noop)
--routing-provider gateway Routing provider (gateway, istio, composite, noop)
--database-provider none Database provider (schema, snapshot, neon, cnpg, cockroach, none)
--notifier-provider noop SCM notifier provider (github, gitlab, noop)
--sandbox-provider noop AgentTask sandbox provider (agent-sandbox, pod / k8s-pod, noop)
--async-provider noop Async/storage provider (kafka, temporal, redis, storage, webhook, composite, noop)
--feature-flag-provider noop OpenFeature flag provider (flipt, unleash, flagsmith, configmap, noop)