Skip to content

Configuration

Config is environment variables (optional .env via Viper). Defaults below are what the binary uses if unset.

Variable Default Role
ORCHESTRATOR_GITHUB_WEBHOOK_SECRET — GitHub webhook HMAC
ORCHESTRATOR_GITHUB_ACCESS_TOKEN — GitHub API (files, comments)
ORCHESTRATOR_LISTEN_ADDRESS 127.0.0.1 Bind address
ORCHESTRATOR_LISTEN_PORT 8080 Bind port
DATABASE_URL / DATABASE_DRIVER driver postgres Job/lock persistence
SHARED_AUTH_TOKEN — Orchestrator ↔ agent auth
SCM_PROVIDER github SCM backend (currently GitHub)
ORCHESTRATOR_DISPATCHER_JOB_POLL_INTERVAL 5s How often to poll for work / reap expired claims
ORCHESTRATOR_JOB_LEASE 2m How long a claimed job stays leased before it can be reclaimed
ORCHESTRATOR_JOB_CLEANUP_INTERVAL 720h Delete terminal jobs older than this
ORCHESTRATOR_JOB_CLEANUP_POLL_INTERVAL 1h How often to run that cleanup
Variable Default Role
AGENT_ID — Must match agent: in terraplane.yaml
AGENT_ORCHESTRATOR_URL http://127.0.0.1:8080 HTTP(S) base URL of the orchestrator
AGENT_SCM_SSH_KEY_PATH — Deploy key for clone
SHARED_AUTH_TOKEN — Must match the orchestrator
AGENT_POLL_INTERVAL 5s How often to ask for jobs
AGENT_HEARTBEAT_INTERVAL 30s Heartbeat while a job is in progress
AGENT_PERIODIC_COMMENT_INTERVAL 15s How often to snapshot plan/apply output for the live PR progress comment
AGENT_WORK_DIR — Working directory for clones and runs
AGENT_TERRAFORM_BIN_DIR — Where Terraform binaries are stored/downloaded
AGENT_DEFAULT_TERRAFORM_VERSION 1.15.6 Terraform version when a stack does not set tool_version
Variable Default Role
LOG_LEVEL info Log verbosity
SERVER_SHUTDOWN_TIMER 5s Orchestrator graceful shutdown window
AGENT_CLIENT_SHUTDOWN_TIMER 5s Agent graceful shutdown window

Environments set the default agent; stacks can override it. Stack names must be globally unique. Optional tool_version pins the Terraform binary for that stack (otherwise the agent uses AGENT_DEFAULT_TERRAFORM_VERSION).

environments:
- name: staging
agent: agent-dev
stacks:
- name: stg-apse2-foundation
dir: terraform/environments/staging/ap-southeast-2/foundation
tool_version: "1.9.0"

See .env-example in the repository for a minimal local starting point.