.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/.rpmandSHA256SUMSfrom 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
/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
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/.rpmthrough the same configuration management; packages upgrade in place. On a packaged installation, you can also runrunlayer updatewith an organization API key to install the backend-selected version. - Remove —
apt-get remove runlayeron Debian/Ubuntu, ordnf remove runlayeron RHEL/Fedora. Package removal also removes/etc/cron.d/runlayer-cliand its wrapper; externally managed config remains untouched.