Environment Variable Overrides

Override Rules

  • Prefix: EDGE_

  • Load order: file parse first, then ApplyEnv overrides.

  • Empty environment values do not override file values.

  • Unsupported environment keys are ignored.

Implemented Variables

Variable

Config Key

EDGE_FLEET_SALT

identity.fleet_salt

EDGE_DOMAIN_ID

identity.edge_domain_id

EDGE_LOCAL_ROOT

storage.local_root

EDGE_DISK_CEILING_BYTES

storage.disk_ceiling_bytes

EDGE_ASSURANCE_MODE

assurance.mode

EDGE_MEMORY_CEILING_BYTES

assurance.memory_ceiling_bytes

EDGE_LISTEN_ADDR

transport.listen_addr

EDGE_CERT_FILE

transport.cert_file

EDGE_KEY_FILE

transport.key_file

EDGE_CA_FILE

transport.ca_file

EDGE_CRL_FILE

transport.crl_file

EDGE_LOG_LEVEL

metrics.log_level

EDGE_PROMETHEUS_ADDR

metrics.prometheus_addr

EDGE_STATE_ROOT

state_root.root

Verification

EDGE_DOMAIN_ID=test-domain \
EDGE_STATE_ROOT=/var/lib/edge-state \
GOWORK=off go run ./edge/cmd/edged validate --config ./edge/config/testdata/valid_full.yaml

Evidence

  • edge/config/config.go (ApplyEnv)

  • edge/config/config_test.go (environment override tests)

  • deploy/systemd/edged.service.template (Environment=EDGE_STATE_ROOT=...)

  • deploy/systemd/edged-precheck.service.template (Environment=EDGE_STATE_ROOT=...)

See Also