Skip to main content
Version: v3.9.0

Configuration updates

potctl provides an AgentConfig resource to change Edgelet node behavior after deploy.

Deploy-time settings live on the Agent or LocalAgent kind. AgentConfig updates only the fields you list. Unlisted fields stay unchanged.

Retrieve the current config:

potctl describe agent-config <EDGELET_NODE_NAME>

Apply changes:

potctl deploy -f agent-config.yaml

Example AgentConfig​

---
apiVersion: datasance.com/v3
kind: AgentConfig
metadata:
name: zebra-1
spec:
host: 10.100.1.25
description: Edgelet node on factory floor VM
latitude: 46.204391
longitude: 6.143158
arch: amd64
containerEngine: edgelet
containerEngineUrl: unix:///run/edgelet/containerd.sock
diskLimit: 50
diskDirectory: /var/lib/edgelet/
memoryLimit: 4096
cpuLimit: 80
logLimit: 10
logDirectory: /var/log/edgelet/
logFileCount: 10
statusFrequency: 10
changeFrequency: 10
watchdogEnabled: true
gpsMode: auto
gpsScanFrequency: 60
edgeGuardFrequency: 0
upstreamRouters:
- default-router
routerConfig:
routerMode: edge
messagingPort: 5671
edgeRouterPort: 45671
interRouterPort: 55671
upstreamNatsServers:
- default-nats-hub
natsConfig:
natsMode: leaf
natsServerPort: 4222
natsLeafPort: 7422
natsMqttPort: 8883
natsHttpPort: 8222
jsStorageSize: 10g
jsMemoryStoreSize: 1g
pruningFrequency: 24
logLevel: INFO
availableDiskThreshold: 20
timeZone: Etc/UTC
v3.9 YAML removals

Do not use deviceScanFrequency, bluetoothEnabled, or abstractedHardwareEnabled. Use edgeGuardFrequency for hardware attestation. See EdgeGuard.

Field renames (legacy YAML)​

Legacy (v3.7)Current
agentTypearch
dockerUrlcontainerEngineUrl
dockerPruningFrequencypruningFrequency (hours)

Default linux engine is edgelet, not docker.

How updates reach the node​

  1. You deploy AgentConfig with potctl.
  2. The Controller stores the desired config.
  3. The Edgelet field agent polls config/changes, GETs agent config when flagged, and applies diff-only keys to local config.yaml.
  4. The node hot-reloads some keys on SIGHUP. Others need a restart. See Configuration reference.

Controller-owned vs local keys​

After provision, the Controller can overwrite local values for keys it pushes (limits, frequencies, edgeGuardFrequency, router-related fields mirrored on the API, and others). Keys such as controllerUrl and controllerCert are usually set locally before provision or managed deliberately on both sides.

Change typeTool
Fleet limits, NATS, router, EdgeGuard intervalAgentConfig + potctl
SSH jump host or key rotationconfigure agent (namespace cache only)
Break-glass on deviceedgelet config, edgelet system reload

See Edgelet configuration for the full pull and push matrix.

See also​

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