Configuration reference
Environment variables for agentd and its companion services.
Broker
| Variable | Default | Meaning |
|---|---|---|
GITHUB_APP_ID | — | GitHub App ID (required) |
GITHUB_PRIVATE_KEY_PATH | — | App private key file |
AGENTGATE_KMS_KEY_ID | — | Built-in AWS KMS signing (key ID, ARN, or alias); not with a key file |
AGENTGATE_KMS_ENDPOINT | — | KMS endpoint override (VPC or FIPS) |
AGENTGATE_SIGN_COMMAND | — | External signer instead of a key file (any KMS/HSM); takes precedence |
AGENTGATE_CONFIG | config.local.json | Path to the policy config |
AGENTGATE_STATE_DIR | .agentgate | Approvals, audit, admin socket |
AGENTGATE_HOST | 127.0.0.1 | Listener address; non-loopback requires TLS |
AGENTGATE_PORT | 7432 | Listener port |
AGENTGATE_PUBLIC_URL | — | Origin workspaces use; required off loopback |
AGENTGATE_CLIENT_TOKEN_FILE | — | Workspace bearer token (required unless fleet mode) |
AGENTGATE_CLIENT_AUTH | static | assertion for fleet mode: no shared token; each request's bearer must be its assertion's bound token |
AGENTGATE_TLS_CERT_FILE / _KEY_FILE | — | Broker TLS |
AGENTGATE_MAX_BODY_MIB | 2048 | Push size limit (1–4096) |
AGENTGATE_MAX_CONCURRENT | 4 | Concurrent requests (1–64) |
AGENTGATE_RATE_CAPACITY | 60 | Token bucket size per client |
AGENTGATE_RATE_REFILL_PER_SECOND | 2 | Token refill rate |
AGENTGATE_RUNTIME_RATE_CAPACITY / _REFILL_PER_SECOND | as above | Per-runtime (jti) bucket in assertion mode |
AGENTGATE_MIRROR_DIR | $STATE_DIR/mirrors | Scan mirrors |
AGENTGATE_REVOCATIONS_FILE | — | Local assertion revocations |
AGENTGATE_REVOCATIONS_POLL_MS | 5000 | How often the file is checked for changes; 0 leaves SIGHUP only |
AGENTGATE_LOG_LEVEL | info | debug, info, warn, error |
Approvals
| Variable | Meaning |
|---|---|
AGENTGATE_REVIEWER | CLI reviewer identity (local:<name>) |
AGENTGATE_APPROVAL_WEBHOOK_URL_FILE | Slack-compatible webhook URL file |
AGENTGATE_APPROVAL_PUBLIC_URL | Link included in notifications |
AGENTGATE_APPROVAL_WEB_ADMIN_SECRET_FILE | HMAC secret shared by agentd and approval-web |
AGENTGATE_APPROVAL_PROXY_SECRET_FILE | oauth2-proxy header secret |
AGENTGATE_APPROVAL_EMAIL_DOMAINS | Allowed reviewer domains |
AGENTGATE_APPROVAL_ORIGIN | Exact Origin required on POSTs |
AGENTGATE_APPROVAL_HOST / _PORT | UI listener (default 127.0.0.1:7433) |
Issuer
| Variable | Meaning |
|---|---|
AGENTGATE_ISSUER_KEY_PATH | Ed25519 private key file |
AGENTGATE_ISSUER_KID / AGENTGATE_ISSUER_AUDIENCE | Match the broker's issuer kid and audience |
AGENTGATE_ISSUER_ADMINS | Emails that see and may revoke every runtime |
AGENTGATE_ISSUER_MAX_TTL | Longest assertion, seconds (60–86400) |
AGENTGATE_ISSUER_DIRECTORY_FILE | Directory export bounding delegable teams |
AGENTGATE_ISSUER_ENTITLEMENTS_FILE | Live static/okta/entra sources for the same |
AGENTGATE_ISSUER_BASE_PATH | /issuer behind the shared oauth2-proxy |
Git LFS
| Variable | Default | Meaning |
|---|---|---|
AGENTGATE_LFS_HOSTS | github-cloud.githubusercontent.com | Trusted storage hosts |
AGENTGATE_LFS_MAX_OBJECT_MIB | 5120 | Object size cap |
AGENTGATE_LFS_MAX_TRANSFERS | 8 | Transfer slots (1–64) |
Audit & metrics
| Variable | Default | Meaning |
|---|---|---|
AGENTGATE_AUDIT_MAX_MIB | 64 | Rotation size |
AGENTGATE_AUDIT_MAX_FILES | 20 | Rotated files kept |
AGENTGATE_AUDIT_SINK_URL | — | HTTPS sink |
AGENTGATE_AUDIT_SINK_TOKEN_PATH | — | Sink bearer token |
AGENTGATE_AUDIT_FORWARD_INTERVAL_MS | 5000 | Poll interval |
AGENTGATE_AUDIT_CHECKPOINT_PATH | $STATE_DIR/audit-forward.json | Forwarder checkpoint |
AGENTGATE_METRICS_PORT | — | Enables /metrics |
AGENTGATE_METRICS_HOST | 127.0.0.1 | Metrics listener address |
Workspace, egress & model gateway
| Variable | Meaning |
|---|---|
AGENTGATE_URL | Broker origin (default http://agentd:7432) |
AGENTGATE_CA_FILE | CA the workspace trusts for the broker |
AGENTGATE_RUNTIME_ASSERTION_FILE | Runtime assertion sent on each request |
AGENTGATE_GIT_NAME / _EMAIL | Commit identity |
AGENTGATE_EGRESS_CONFIG_PATH | Egress allowlist; add identity (audience, issuers, required) for per-runtime attribution |
AGENTGATE_MODEL_GATEWAY_CONFIG_PATH | Gateway routes, budgets (maxRequestsPerHourPerRuntime), and identity for per-runtime attribution |
AGENTGATE_MODEL_GATEWAY_CLIENT_TOKEN_PATH | Gateway client token |
ANTHROPIC_API_KEY_PATH | Provider key (mode 600) |
AGENTGATE_WORKSPACE_IMAGE | Prebuilt workspace image for compose.workspace-image.yaml |
Demo-only switches
AGENTGATE_ALLOW_UNAUTHENTICATED, AGENTGATE_ALLOW_PLAINTEXT, AGENTGATE_SKIP_RULESET_CHECK, AGENTGATE_CONTROL_ALLOW_HTTP, and AGENTGATE_FORCE_UNLOCK weaken or bypass protections. Never set them in shared deployments.