Deploying

The ark-supervisor-tool can deploy software through three different mechanisms.

  • Deploying a specific release from the Catalog
  • Deploying the latest release from a ‘release ring’ configured in the Catalog
  • Deploying an archive from your local machine

If you already have an archive (typically a .tar.zst or .zip file), you can deploy it to the remote host with something like this:

./build/ark-supervisor-tool \
  --deploy-archive /path/to/archive.tar.zst \
  --host $<REMOTE_HOST_IP:8081>

If the release is already present in the Catalog, you can request that the Supervisor download and install it on your behalf:

./build/ark-supervisor-tool \
  --deploy-specific 9fdc36a9-64c4-405b-865a-ebcb056e22c0 \
  --host $<REMOTE_HOST_IP:8081>

The Supervisor will make use of your credentials to download this release (on the remote host), unpackage it, and then switch to running its software.

Deploying from Local Machine

As a convenience, you can use the scripts/deploy script to build and deploy a release from your local machine to the target machine.

For example:

./scripts/deploy $<REMOTE_HOST_IP:8081> data_collection_release

This will build the data_collection_release target, then deploy it to the remote host.

Cross-Deploying from Local Machine

This is identical to the convenience wrapper for deploying from a local machine. You simply add an additional --target command line argument, which specifies the target of the destination machines:

./scripts/deploy --target aarch64 $<REMOTE_HOST_IP:8081> data_collection_release