fioup is a command-line tool for performing over-the-air (OTA) updates of Compose Apps published via the FoundriesFactory™ Platform. It provides a simple and reliable way to deliver and manage Compose Apps updates on IoT, edge, and embedded devices.
fioup requires a Container-Only Factory; therefore, it is assumed that the user has completed the following steps before using it.
The Compose Apps update performed by fioup conceptually works as illustrated in the following diagram.
Essentially, it is a continuation of the Compose App creation and publishing flow.
flowchart LR
n1("fioup<br><device>") <-- check for updates<br>upload device status --> n2["Device Gateway"]
n1 <-- fetch app blobs --> n3["Container Registry"]
n2 <-- get list of available apps</br>persist device status --> n4["OTA Service"]
Specifically, fioup performs the following steps to accomplish Compose Apps update:
- Registers itself with the FoundriesFactory (see the device registration guide for details).
- Communicates with the Device Gateway via mTLS to obtain a list of Targets — metadata about available versions of Compose Apps.
- Fetches any missing blobs of the Compose Apps that the user wants to install and run on the device.
- Stops the Compose Apps that are:
- being updated (new version of currently running App is listed in the Target being applied),
- removed from Target (App is removed from the Target being updated),
- disabled in the config (App is removed from the config, see here for details).
- Installs the Compose Apps. It includes unpacking the App archive/bundle containing
docker-compose.ymlalong with its complement files and loading App container images to the Docker engine storage. - Starts the Compose Apps that are:
- being updated (new version of currently running App is listed in the Target being applied),
- added to Target (App is added to the Target being updated),
- enabled in the config (App is added to the config, see here for details).
- Reports update status to the Device Gateway during the update process, and publishes the state of Compose Apps upon completion. This enables FoundriesFactory users to track device update stages and verify the post-update state of deployed Compose Apps.
- How to work with Compose App in the context of the FoundriesFactory platform.
- What Target is.