Skip to main content
Unkey services read configuration from a TOML file passed at startup. Environment variables can be referenced with ${VAR} and are expanded before parsing. Defaults and validation run after parsing. The config schema maps to svc/ctrl/worker/config.go. The control plane worker is configured via a TOML file: control-worker --config=unkey.toml.

Configuration model

The control plane worker loads configuration from a TOML file using config.Load. Defaults and validation are applied after parsing. Runtime-only values (for example Clock) cannot be set in the file.

Required settings

These fields must be set for production deployments.

Optional settings

ACME configuration

ACME settings live under acme. Enable Route53 DNS-01 challenges with acme.route53.

Restate configuration

Build and registry configuration

Builds are enabled when registry.password is set. In that case, registry.url, registry.username, depot.api_url, and depot.project_region must be set.

ClickHouse configuration

GitHub configuration

GitHub configuration is optional and can be omitted for local development.

Heartbeat and Slack

Example