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 with glibc 2.35 or newer (for older distros, see Legacy distributions)
  • The .deb / .rpm and SHA256SUMS from your Runlayer downloads access

Legacy distributions (glibc 2.17)

Each release also ships a legacy build variant built against glibc 2.17 for x86_64 distros older than the standard floor — RHEL/CentOS 7+, Amazon Linux 2, Ubuntu 14.04+, and Debian 8+. The package name stays runlayer; only the filenames carry the tag:
  • runlayer_<version>_amd64.glibc2.17.deb
  • runlayer-<version>-1.x86_64.glibc2.17.rpm
  • SHA256SUMS-glibc2.17 — verify with sha256sum -c SHA256SUMS-glibc2.17
Install with the same commands as the standard package, substituting the glibc2.17 filenames. Legacy packages identify their variant, so runlayer update only ever offers matching glibc 2.17 builds on those devices. Check ldd --version if you are unsure which variant a distribution needs — use the standard package for glibc 2.35+ and the glibc2.17 variant for glibc 2.17–2.34.

Deployment Steps

1

Verify the artifacts

Verify package integrity with SHA256SUMS:
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 version selected by your Runlayer tenant.
  • 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.