Configuration model
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/api/config.go.
Minimal config example:
Instance identifier for logs and cache invalidation.
Example:
"api-7d9b8c4f5d-2kq7m".Platform label for logs and metrics.
Example:
"aws".Container image identifier logged at startup.
Example:
"ghcr.io/unkeyed/unkey:v2.0.77".HTTP server port.
Example:
7070.Region label for logs and analytics.
Example:
"us-east-1".Redis connection string for counters and usage limiting.
Example:
"redis://redis:6379".Enables test-only behaviors. Do not use in production.
Maximum request size in bytes.
MySQL configuration.
ClickHouse configuration.
TLS settings for HTTPS.
Vault connection.
Gossip-based cache invalidation.
Control plane connection.
pprof endpoint configuration.
Tracing, logging, and metrics configuration.
Environment variables
The Helm chart provides these variables for the default config template:Region label for logs and traces.
Redis URL for counters and usage limiting.
MySQL primary DSN.
MySQL read replica DSN.
ClickHouse shared URL.
ClickHouse analytics base URL.
Control API URL.
Control API token.
Vault URL.
Vault bearer token.
pprof username.
pprof password.
WAN seed list for gossip.
Gossip secret key.

