Suite bootstrapping configuration

Customize the automatic provisioning.

Properties

To control all aspects of the suite bootstrapping behavior.

PropertyTypeDefaultDescription
preBootstrapScriptstring[]Path to the script/command with an optional sequence of additional flags/parameters that is executed before a bootstrapping request, optionally producing a preBootstrapFile
preBootstrapFilestringPath to the file used as a bootstrapping request data
postBootstrapScriptstring[]Path to the script/command with an optional sequence of additional flags/parameters that is executed after a bootstrapping response, optionally consuming a postBootstrapFile
postBootstrapFilestringPath to the file used for a bootstrapping response data
bootstrapProvisioningFilestringPath to the file that stores the provisioning information from a bootstrapping response
maxChunkSizeint46080Maximum chunk size of the request data in bytes
Remote connectivity
addressstringmqtts://mqtt.bosch-iot-hub.com:8883Address of the MQTT endpoint that the suite bootstrapping will connect for the remote communication, the format is: scheme://host:port
deviceIdstringDevice unique identifier
authIdstringAuthentication unique identifier that is a part of the credentials
tenantIdstringTenant unique identifier that the device belongs to
passwordstringPassword that is a part of the credentials
clientIdstringMQTT client unique identifier
policyIdstringPolicy unique identifier of the digital twin
Remote connectivity - TLS
caCertstringiothub.crtPEM encoded CA certificates file
certstringPEM encoded certificate file to authenticate to the MQTT endpoint
keystringPEM encoded unencrypted private key file to authenticate to the MQTT endpoint
deviceIdPatternstringPattern to generate the device identifier, {{subject-dn}} and {{subject-cn}} placeholders can be part of it
Remote connectivity - TLS over TPM
tpmDevicestringPath to the device file or the unix socket to access the TPM 2.0
tpmHandleintTPM 2.0 storage root key handle, the type is unsigned 64-bit integer
tpmKeyPubstringFile path to the public part of the TPM 2.0 key
tpmKeystringFile path to the private part of the TPM 2.0 key
Logging
logFilestringlog/suite-bootstrapping.logPath to the file where 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

The minimal required configuration to connect the publicly available Eclipse Hono sandbox and request automatic provisioning.

{
    "address": "hono.eclipseprojects.io:1883",
    "tenantId": "org.eclipse.kanto",
    "deviceId": "org.eclipse.kanto:exampleDevice",
    "authId": "org.eclipse.kanto_example",
    "password": "secret",
    "logFile": "/var/log/suite-bootstrapping/suite-bootstrapping.log"
}

Template

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

{
    "preBootstrapScript": "",
    "preBootstrapFile": "",
    "postBootstrapScript": "",
    "postBootstrapFile": "",
    "bootstrapProvisioningFile": "",
    "maxChunkSize": 46080,
    "provisioningFile": "provisioning.json",
    "address": "mqtts://mqtt.bosch-iot-hub.com:8883",
    "deviceId": "",
    "authId": "",
    "tenantId": "",
    "password": "",
    "clientId": "",
    "policyId": "",
    "caCert": "iothub.crt",
    "cert": "",
    "key": "",
    "deviceIdPattern": "",
    "tpmDevice": "",
    "tpmHandle": 0,
    "tpmKeyPub": "",
    "tpmKey": "",
    "logFile": "log/suite-bootstrapping.log",
    "logLevel": "INFO",
    "logFileCount": 5,
    "logFileMaxAge": 28,
    "logFileSize": 2
}
Last modified December 20, 2023