Runtime State Files

The BFF writes a small amount of runtime state to files, managed automatically — neither needs hand-editing.

audit.file

Field Type Default Required Notes
audit.enabled boolean true no Whether to record the audit trail. On by default; set false to disable audit logging entirely. Env: HORIZON_AUDIT_ENABLED.
audit.file string ./horizon-audit.jsonl no Filesystem path to the append-only audit log.

The append-only audit trail — one JSON line per mutating admin action. On by default; disable with audit.enabled: false. See Audit Log.

debugLog.file

Field Type Default Required Notes
debugLog.file string ./horizon-wire.jsonl no Filesystem path to the OAP wire debug log. Only written when debugLog.enabled is set.

The OAP request/response wire trace, off by default. See Debug Log.

Env-var fallbacks

When horizon.yaml does not supply audit.file or debugLog.file, the default is seeded from an env var:

YAML key Env-var fallback Default
audit.file HORIZON_AUDIT_FILE ./horizon-audit.jsonl
debugLog.file HORIZON_WIRE_LOG_FILE ./horizon-wire.jsonl

The published Docker image sets both env vars to /data/... paths so an operator who runs the image without a horizon.yaml override gets writes routed to the declared /data volume — see Container Image → Persisting state files. An explicit value in horizon.yaml always wins over the env-var fallback.

Operational notes

  • Both are mutable runtime state. They should be on durable storage, not a container tmpfs.
  • Both are gitignored by default (see .gitignore). They are not source-controlled; they are operational state.
  • Atomic appends. The audit log is append-only, so a crash mid-write cannot corrupt earlier records.