Skip to main content
Two command line tools are offered, both to help package the update bundles, and to install them. The update client is designed to apply updates to a given device safely and securely. It only accepts a subset of manual command line operations, as it receives its operating instructions from the Thistle Backend, as defined by update manufacturers. The Thistle Release Helper is here to assist with the packaging of updates. This helper program will help with creating new configuration files for devices, as well as manifest files - defining the update itself. Uploading assets is also possible directly from this tool.

Update Client Usage

In normal circumstances, the Thistle Update Client will be executed simply with a configuration file. The install subcommand can be helpful to locally test out a single given manifest file, as it makes it accepts local paths.

Thistle Release Helper Usage

All trh subcommands require the THISTLE_TOKEN environment variable to be set to a valid project access token, which can be obtained from Thistle Control Center (TCC).

Init subcommand

init creates an OTA update bundle signing key pair (locally or on Thistle backend, depending on the --signing-method), and an OTA update manifest file manifest.json locally in the current directory, if they do not exist. If they already exist, the public key portion of the key pair and the latest manifest file will be obtained.

Prepare subcommand

The prepare subcommand packages the indicated target, compresses it, adds it to the manifest, and signs this manifest with the private key. More options are available to add pre and post install scripts. See trh --help for more information related to the supported options.

Release subcommand

The release subcommand publishes the assets previously prepared, amends the manifest with the new remote URLs, resigns this manifest, and uploads it according to the supplied authenticated token. Note that this command will automatically increase the release version in the manifest, and update the timestamp.

Fetch-current subcommand

This subcommand can be used to fetch the latest manifest the Thistle Backend is currently holding for a given THISTLE_TOKEN. The manifest will be fetched and written on disk at the specified path.

Gen-device-config subcommand

gen-device-config generates a device configuration file for group enrollment or pre-enrollment of devices. The configuration file is used by TUC to obtain OTA update releases from Thistle backend, and install the update on a device. Please refer to Device Provisioning for the two flavors of device enrollment.

Identity subcommand

identity subcommand helps create an identity file. If the pre-enroll option is used, a device will be pre-enrolled with the Thistle Backend and the enrollment credentials will be appended in the identity file.