Skip to main content

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:

CommandDescription
nexigon.rugix-apps.listList installed applications
nexigon.rugix-apps.infoGet details of an application
nexigon.rugix-apps.deployDeploy an application from a package version
nexigon.rugix-apps.startStart an application
nexigon.rugix-apps.stopStop an application
nexigon.rugix-apps.rollbackRoll back to the previous generation
nexigon.rugix-apps.removeRemove 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:

  1. Upload a Rugix App bundle (.rugixb) to a package version in your repository
  2. In the Nexigon UI, open the device's Applications tab and click Deploy Application
  3. 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:

  1. Upload application artifacts (binaries, containers, configs) to a package version
  2. Tag the version to control rollout (e.g., latest, stable, canary)
  3. Poll from the device using nexigon-agent repositories issue-url to get download URLs
  4. 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.

tip

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.