Manifest
The manifest file defines a release to the Thistle Update Client. Manifests are typically handled and amended by the Thistle Release Helper.
All fields are strings aside from version
, which is an unsigned integer.
Example manifest
{
"comment": "release matching internal commit ab245ef1",
"id": "01G9CPEVZN3KWEJSDR3YRB6TEY",
"ts": "1659357610.1366699",
"version": 1,
"name": "mymanifest",
"signature": "dW50cnVzdGVkIGNvbW1lbnQ6IHNpZ25hdHVyZSBmcm9tIHJzaWduIHNlY3JldCBrZXk...",
"pre_install": null,
"post_install": null,
"rootfs": null,
"files": [{
"name": "a",
"install_location": "/opt/application",
"download_location": "https://xxx.ota.thistlesec.net/8a045f82696d69147e2274492723eabb",
"hash": "17c7c37227ff424637817217e7155cee1a9a732c59b2798dcceff46722d9992e",
"pre_install": null,
"post_install": null
}],
}
Manifest fields
Name | Descripiton |
---|---|
name | Name of the release |
id | Id of the release (ulid form) |
ts | Timestamp of last modification (seconds since epoch) |
version | Current release number |
comment | Free form comment |
signature | Signature of this manifest |
pre_install | Command to run before the installation of this manifest. Note: a failure of this script will revert any installed asset |
post_install | Command to run after the installation of this manifest. Note: a failure of this script will revert any installed asset |
post_reboot | Command to run after rebooting the device following the installation of this manifest. Note: a failure of this script will revert any installed asset and issue another reboot |
rootfs | Rootfs (specified below) |
files | Array of files (specified below) |
File fields
Name | Descripiton |
---|---|
name | Filename |
install_location | Install destination on device |
download_location | Download source URL |
hash | Hash of the compressed file |
pre_install | Command to run before the installation of this file Note: a failure of this script will revert any installed asset |
post_install | Command to run after the installation of this file Note: a failure of this script will revert any installed asset |
Rootfs fields
Name | Descripiton |
---|---|
name | Image name |
download_location | Download source URL |
hash | Hash of the compressed rootfs image |
pre_install | Command to run before the installation of this image Note: a failure of this script will revert any installed asset |
post_install | Command to run after the installation of this image Note: a failure of this script will revert any installed asset |
Manual manifest fetching
If you prefer to fetch the update manifest manually, you can do so with the following command. This can be useful if you want to use a customized update client. The ID and Token defined in the command below are the obtained at the end of the device provisioning process.
$ curl -H "Thistle-Device-ID: $DEVICE_ID" \
-H "Authorization: Bearer $DEVICE_TOKEN" \
https://device.thistle.tech/manifest