Reference
Config
Every environment variable and config key, with defaults. Where the example file and the code disagree, we say so.
~/.config/irin/gateway.env
The private env file of the source-run canonical Gateway, mode 0600. It is generated by make setup from config/gateway.env.example, and the __GENERATED_*__ markers in the example are replaced with real values on first install. Every key below appears in that file.
make setup
SourceGenerates ~/.config/irin/gateway.env from the example, filling the __GENERATED_*__ markers on first install, and preserves operator-owned values you already set.
On the installed app, the Keychain holds the keys
IRIN.app's own Gateway pack does not ask you to edit this file: the Council client key (GW_API_KEY) and the arm principal (GW_ARM_PRINCIPALS) live in the macOS Keychain, held per spawn and scrubbed from the ambient environment. This page documents the source-run canonical stack, where the file is the operator's job.
Credentials and auth
WATCH_ADMIN_TOKEN.COUNCIL_GATEWAY_TOKEN.claude-cli.gpt-cli.Sidecar core
1 counts.true, which is also the code default.Council endpoint
1.Watch runtime
WATCH_DISPATCHER_GATEWAY_KEY.EXECUTION_MODE=LIVE.canary; the code default when unset is sovereign. Empty or invalid is fatal.25; the code default is 50, and the cap may only be lowered.2.50; the code default is 5.0.Reconciliation
on auto-disarms on divergence.Arming
Dispatcher auth
The wider dial board
Beyond the generated env file, the stack reads these dials from the environment. One line each: name, meaning, and default where the code has one.
Gateway core
Watch and dispatcher
LIVE for armed execution.0 means legacy/open.Council server
1 disables auth. Loopback development only; never on a network-accessible service.1 means Governed routing through the gateway.Providers
Scripts and demo
Where the files disagree
The example env file and the code do not always tell the same story. These are the four known deltas. When in doubt, the code wins.
Known example-vs-code deltas
WATCH_CANARY_TENANT: example sayscanary, code default issovereign.DAILY_SPEND_CAP_USD: example says25, code default is50.WATCH_MAX_FANOUT_COST_USD: example says2.50, code default is5.0.GW_ARM_OTC_HASHES_PATH: retired. The code warns if you set it.
Applying changes
make runtime-restart
OperatorAdd credentials to your shell profile, open a new terminal, then restart the runtime so the new environment takes effect.
Fine print
- Discovery reports variable names only, never key values, and never makes a billable call.
- Credentials go in your shell profile. Open a new terminal, then run
make runtime-restart. GATEWAY_DURABLEunset means in-memory state: a real data-loss risk on restart.- Local layout:
~/.config/irin/gateway.env(mode 0600),~/.irin/ledger_key.pem(mode 0600), and the Docker volumegateway_sidecar_data.