Skip to main content
Install the .deb or .rpm through your configuration management (Ansible, Salt, Puppet, etc.). The package installs the self-contained bundle to /usr/lib/runlayer/ and symlinks /usr/bin/runlayer.

Prerequisites

  • Configuration management tooling (Ansible, Salt, Puppet, etc.)
  • Linux x86_64 devices
  • The .deb / .rpm and SHA256SUMS from your Runlayer downloads access

Deployment Steps

1

Verify the artifacts

Packages are not GPG-signed today; SHA256SUMS is the integrity check:
2

Install the package

The package installs the self-contained bundle to /usr/lib/runlayer/ and symlinks /usr/bin/runlayer.
3

Verify

Automatic skill sync

The native .deb and .rpm packages install /etc/cron.d/runlayer-cli. At minute 23 of every hour, its root wrapper enumerates real login users (uid at or above the distro’s UID_MIN; service accounts are excluded) with an existing home and runs runlayer schedule as each user through runuser. Shared homes are synced once, overlapping ticks are skipped, and one user’s failure does not block the others. The raw .tar.gz does not install this cron entry. The wrapper uses the existing Linux managed-config files:
/etc/runlayer/aiwatch/config.json
/etc/runlayer/aiwatch/credentials
Keep config.json root-owned and readable (0644), but keep credentials root-only (0600). If AI Watch already manages these files, the CLI scheduler reuses its Host and RUNLAYER_API_KEY; no duplicate configuration is needed. Without a configured host and key, the cron tick exits quietly. See Sync to devices.

Upgrades and removal

  • Upgrade — install the newer .deb / .rpm through the same configuration management; packages upgrade in place. On a packaged installation, you can also run runlayer update with an organization API key to install the backend-selected version.
  • Removeapt-get remove runlayer on Debian/Ubuntu, or dnf remove runlayer on RHEL/Fedora. Package removal also removes /etc/cron.d/runlayer-cli and its wrapper; externally managed config remains untouched.