Application Workloads
This guide explains how to manage application workloads on devices using Nexigon. Unlike system updates which replace the entire OS image, application workloads are individual applications that run on top of the base system and can be deployed, started, stopped, and rolled back independently.
Rugix Apps​
For devices running Rugix, we provide a ready-made recipe that installs device commands for managing Rugix Apps — individual application workloads that run alongside the base system.
For Rugix Bakery, the recipe is available in the nexigon-rugix repository. For Yocto, the meta-nexigon-rugix layer in meta-nexigon provides the equivalent.
The recipe installs the following device commands:
| Command | Description |
|---|---|
nexigon.rugix-apps.list | List installed applications |
nexigon.rugix-apps.info | Get details of an application |
nexigon.rugix-apps.deploy | Deploy an application from a package version |
nexigon.rugix-apps.start | Start an application |
nexigon.rugix-apps.stop | Stop an application |
nexigon.rugix-apps.rollback | Roll back to the previous generation |
nexigon.rugix-apps.remove | Remove an application |
When these commands are available on a device, the Nexigon UI shows an Applications tab on the device details page with a live view of installed apps, their status, and action buttons.
Deploying Applications​
To deploy an application from a Nexigon repository:
- Upload a Rugix App bundle (
.rugixb) to a package version in your repository - In the Nexigon UI, open the device's Applications tab and click Deploy Application
- Select the package and version to deploy
The deploy dialog walks through package selection, version selection, and shows live deployment logs. The underlying command (nexigon.rugix-apps.deploy) can also be invoked programmatically via the API.
Application Lifecycle​
Applications have their own lifecycle managed by Rugix's orchestrator:
- Running — the application is active
- Stopped — the application is installed but not running
- Failed — the application encountered an error
You can start, stop, rollback, and remove applications directly from the UI or via device commands.
Custom Application Updates​
For non-Rugix application workloads, you can use Nexigon repositories as an artifact store and build your own update mechanism. The general approach:
- Upload application artifacts (binaries, containers, configs) to a package version
- Tag the version to control rollout (e.g.,
latest,stable,canary) - Poll from the device using
nexigon-agent repositories issue-urlto get download URLs - Install the artifacts using your own tooling
You can implement this as a shell script, a systemd timer, or a custom service. The Nexigon repository API provides version resolution, asset download URLs, and metadata — how you install the artifacts is up to you.
The same Nexigon repository can host both system update bundles and application packages. Use separate packages within the same repository to organize them, or use separate repositories for different access control requirements.