Update manager configuration

Customize the update manager.

Properties

To control all aspects of the update manager.

PropertyTypeDefaultDescription
General
domainstringdeviceThe domain of the update manager, used as MQTT topic prefix
domainsstringcontainersA comma-separated list of domains handled by the update manager. This configuration option is available only as a flag, but not inside the JSON config file. In JSON config file, the keys inside the Domain agents structure serve as domain names.
phaseTimeoutstring10mTimeout as duration string for completing an Update Orchestration phase
rebootAfterstring30sTime period as duration string to wait before a reboot process is initiated after successful update operation
rebootEnabledbooltrueEnable the reboot process after successful update operation
reportFeedbackIntervalstring1mTime interval as duration string for reporting intermediate desired state feedback messages during an active update operation
currentStateDelaystring30sTime interval as duration string for reporting current state messages
thingsEnabledbooltrueEnable the Update Manager to behave as a thing’s feature
ownerConsentCommands[]stringList of commands for which an owner consent should be granted. Possible values are: ‘DOWNLOAD’, ‘UPDATE’, ‘ACTIVATE’
ownerConsentTimeoutstring30mTimeout as duration string to wait for owner consent"
Domain agentsHolds a map structure (agents) with update agent configurations where each map key is treated as domain name
readTimeoutstring1mTimeout as duration string for reading the current state for the domain
rebootRequiredboolfalseRequire a reboot for the domain after successful update
Local connectivity
brokerstringtcp://localhost:1883Address of the MQTT server/broker that the container manager will connect for the local communication, the format is: scheme://host:port
keepAlivestring20sKeep alive duration for the MQTT requests as duration string
disconnectTimeoutstring250msDisconnect timeout for the MQTT server/broker as duration string
usernamestringUsername that is a part of the credentials
passwordstringPassword that is a part of the credentials
acknowledgeTimeoutstring15sAcknowledge timeout for the MQTT requests as duration string
connectTimeoutstring30sConnect timeout for the MQTT server/broker as duration string
subscribeTimeoutstring15sSubscribe timeout for the MQTT requests as duration string
unsubscribeTimeoutstring5sUnsubscribe timeout for the MQTT requests as duration string
Logging
logFilestringPath to the file where the update manager’s log messages are written
logLevelstringINFOAll log messages at this or a higher level will be logged, the log levels in descending order are: ERROR, WARN, INFO, DEBUG and TRACE
logFileCountint5Log file maximum rotations count
logFileMaxAgeint28Log file rotations maximum age in days, use 0 to not remove old log files
logFileSizeint2Log file size in MB before it gets rotated

Example

An example for configuring the update manager with two domains - containers and custom-domain, report feedback interval at 30 seconds, and log, written to custom log file update-manager.log with log level DEBUG.

{
	"log": {
		"logFile": "update-manager.log",
		"logLevel": "DEBUG"
	},
	"agents": {
		"containers": {
			"readTimeout": "30s"
		},
		"custom-domain": {
			"rebootRequired": true
		}
	},
	"reportFeedbackInterval": "30s"
}

Template

The configuration can be further adjusted according to the use case. The following template illustrates all possible properties with their default values.

{
	"domain": "device",
	"agents": {
		"containers": {
			"rebootRequired": false,
			"readTimeout": "1m"
		}
	},
	"log": {
		"logFile": "",
		"logLevel": "INFO",
		"logFileCount": 5,
		"logFileMaxAge": 28,
		"logFileSize": 2
	},
	"connection": {
		"broker": "tcp://localhost:1883",
		"keepAlive": "20s",
		"acknowledgeTimeout": "15s",
		"username": "",
		"password": "",
		"connectTimeout": "30a",
		"disconnectTimeout": "250ms",
		"subscribeTimeout": "15s",
		"unsubscribeTimeout": "5s"
	},
	"phaseTimeout": "10m",
	"rebootAfter": "30s",
	"rebootEnabled": true,
	"reportFeedbackInterval": "1m",
	"currentStateDelay": "30s",
	"thingsEnabled": true,
	"ownerConsentCommands": ["DOWNLOAD"]
}
Last modified June 28, 2024