Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Configuration

HOCON config/base.conf is the single source of truth. Env vars enter only via ${?VAR} capture; application code reads synth.config.load_config() and never os.environ.

The ritual:

just resolve-config   # materialize -> build/config/synth.{env,json}
just preflight        # deny/warn validation (bin/preflight.py)
just policy           # conftest gate (policy/environment/synth.rego)

Preflight and the rego policy express the same deny/warn taxonomy, so the gates hold both in-process and in CI. Every deny message names its remediation.