Skip to main content
Version: v3.8.0

Edgelet configuration

Edgelet stores runtime settings in /etc/edgelet/config.yaml (platform paths in Installation). Use edgelet init-config for first-time setup and edgelet config to update values at runtime.

For every config key, defaults, and reload behavior, see Configuration reference.

Config file structure

Edgelet uses profiles. One profile is active via currentProfile:

# /etc/edgelet/config.yaml
currentProfile: production
profiles:
production:
controllerUrl: "http://localhost:51121/api/v3/"
controllerCert: "/etc/edgelet/cert.crt"
arch: "auto"
containerEngine: edgelet
containerEngineUrl: unix:///run/edgelet/containerd.sock
watchdogEnabled: true
pruningFrequency: 24
upgradeScanFrequency: 24
diskDirectory: /var/lib/edgelet/
logDirectory: /var/log/edgelet/
logLevel: INFO

Switch profiles without editing the file manually:

edgelet config switch production

Common production settings

SettingPurposeNotes
controllerUrlController REST API base URLRequired for provisioned nodes
controllerCertPath to Controller CA PEMInstall via edgelet config cert or edgelet provision
archNode architectureauto, amd64, arm64, arm, riscv64
containerEngineRuntime backendedgelet (linux default), docker, podman
containerEngineUrlEngine socket URLe.g. unix:///run/edgelet/containerd.sock
pruningFrequencyImage prune interval (hours)Replaces legacy dockerPruningFrequency
watchdogEnabledOrphan container cleanupRecommended for production
upgradeScanFrequencyOTA readiness scan interval (hours)Default 24
changeFrequencyController change poll intervalCLI: --cf
statusFrequencyStatus heartbeat intervalCLI: --sf
shutdownPolicyControl stop behaviorleave-running (docker/podman default). See Workload continuity

v3.8 naming: use arch (not fogType), containerEngineUrl (not dockerUrl), pruningFrequency (not dockerPruningFrequency).

init-config

Write the default configuration template when no config file exists:

sudo edgelet init-config
edgelet init-config --config-path /etc/edgelet/config.yaml
  • Idempotent: does not overwrite an existing file.
  • Uses /usr/share/edgelet/edgelet-config.yaml.sample when installed, otherwise the embedded release template.
  • install.sh may also install the sample on first install.

Controller CA (/etc/edgelet/cert.crt) is separate. For lab installs use install.sh --with-sample-ca; for production use edgelet provision or edgelet config cert.

edgelet config

Update settings via flags (persists to the active profile):

edgelet config --controller-url http://localhost:51121/api/v3
edgelet config --change-frequency-seconds 10 --status-frequency-seconds 10
edgelet config --disk-limit-gib 20 --memory-limit-mib 512

edgelet config cert <base64-encoded-cert-string>
edgelet config switch prod

edgelet -o json config --cf 10

See Configuration reference for the full flag table.

Reload

The daemon reloads config on SIGHUP (edgelet system reload). Some settings require a restart. Check Configuration reference for the reload matrix.

See also

Group 3See anything wrong with the document? Help us improve it!