Skip to main content

Operating system compatibility matrix

This page lists the systems supported by the Navin Manager server, the Navin agent and the managed hosts. The host table is read from navin_manager/os_support.py, the single definition applied by the agent preflight and by the SSH preflight; the package table is checked against the files of navin-manager/packaging. It is generated by navin-manager/docs/tools/generate_reference.py: do not edit it by hand.

Certified systems​

The list the console shows on the System page (card Supported systems) and that GET /api/v1/system/supported-os returns:

RHEL 8/9/10, Rocky Linux 8/9/10, AlmaLinux 8/9/10, Oracle Linux 8/9, CentOS Stream 9/10, Ubuntu 22.04/24.04, Debian 12, Arch Linux (rolling)

Managed hosts​

The family is read from ID of /etc/os-release, else from ID_LIKE (rocky, almalinux, ol, centos, fedora give rhel; ubuntu gives debian; arch gives arch). Ubuntu versions are compared on major.minor (22.04), the others on the major version (9.4 is 9). Architectures: x86_64 and aarch64 for the Go agent, any for the Python agent.

DistributionID (os-release)FamilyCertified releasesEnd of lifePackage managerNotes
RHELrhelRHEL8, 9, 10up to 7dnfPython agent on RHEL 8: dnf install python39 first.
Rocky LinuxrockyRHEL8, 9, 10up to 7dnfSame packages as RHEL.
AlmaLinuxalmalinuxRHEL8, 9, 10up to 7dnfSame packages as RHEL.
Oracle LinuxolRHEL8, 9up to 7dnfOracle Linux 10 passes with a warning (not certified).
CentOS StreamcentosRHEL9, 10up to 8dnfCentOS 7 and 8 are end of life.
UbuntuubuntuDebian22.04, 24.04up to 25.10aptUbuntu 26.04 passes with a warning; 25.10 and older releases that are not certified are end of life.
DebiandebianDebian12up to 11aptDebian 13 passes with a warning.
Arch LinuxarchArch Linuxevery version (rolling release)neverpacmanDerivatives (Manjaro, EndeavourOS) pass with a warning.

Verdicts of the preflight​

Every host gets one verdict, the same in the agent preflight and in the SSH preflight:

VerdictPreflight outcomeMeaning
certifiedpassA release the agent packages are built and tested for.
uncertifiedwarningA newer release of a known family, or another distribution of that family: allowed, with a warning.
end_of_lifeblockingA release that no longer receives security fixes: every installation is blocked.
unsupportedblockingA family without Navin packages: every installation is blocked.

Packages of the Navin Manager and of the agent​

Packages built by navin-manager/packaging/build-packages.sh and os/build.sh, filed under os/<package>/<family>/.

ProductPackageFormatSystemsArchitecturesPythonNotes
Navin Manager servernavin-manager-<version>-1.el9.x86_64.rpmRPMRHEL family 8, 9 and 10: RHEL, Rocky Linux, AlmaLinux, Oracle Linux 8/9, CentOS Stream 9/10 (one RPM for every release)x86_64python3.12 (dependency: AppStream on 8.10 and 9, BaseOS on 10)Recommends postgresql-server for the local database.
Navin Manager servernavin-manager_<version>_amd64.debDEBUbuntu 24.04amd64python3.12, python3.12-venv (dependencies)Recommends postgresql.
Navin Manager servernavin-manager-<version>-1-x86_64.pkg.tar.zstpacmanArch Linuxx86_64The Python of Arch Linux at build time (python>= and python< the next minor)Optional postgresql for the local database.
Navin agent (Go, shipped)navin-manager-agent-go-<version>-1.<arch>.rpmRPMRHEL family 8 to 10x86_64, aarch64none (static binary)Provides and conflicts with navin-manager-agent; requires shadow-utils (useradd, usermod) and procps-ng (sysctl), recommends podman.
Navin agent (Go, shipped)navin-manager-agent-go_<version>_<debarch>.debDEBUbuntu 22.04, 24.04, Debian 12amd64, arm64none (static binary)Depends on systemd, passwd (useradd, usermod) and procps (sysctl); recommends podman and uidmap.
Navin agent (Go, shipped)navin-manager-agent-go-<version>-1-<arch>.pkg.tar.zstpacmanArch Linuxx86_64, aarch64none (static binary)Conflicts with navin-manager-agent; depends on systemd, shadow and procps-ng, podman optional.
Navin agent (Python, reference)navin-manager-agent-<version>-1.noarch.rpmRPMRHEL family 8 to 10noarchpython3 >= 3.9 or python39 or python3.11Also needs openssl, tar, shadow-utils and procps-ng; recommends podman.
Navin agent (Python, reference)navin-manager-agent_<version>_all.debDEBUbuntu 22.04, 24.04, Debian 12allPython 3.9 or newerSame command and unit as the Go agent.
Navin agent (Python, reference)navin-manager-agent-<version>-1-any.pkg.tar.zstpacmanArch LinuxanyPython of Arch LinuxSame command and unit as the Go agent.
  • RHEL family 8, 9 or 10 (RHEL, Rocky Linux, AlmaLinux, Oracle Linux 8/9, CentOS Stream 9/10) with python3.12: one RPM for every release (Requires: python3.12, AppStream on 8.10 and 9, BaseOS on 10; RHEL 10 has no python3.11 package).
  • Ubuntu 24.04 with python3.12 and python3.12-venv (DEB).
  • Ubuntu 22.04: managed host only (agents). It provides no maintained Python 3.11 or newer, which the server requires.

Python method of the services​

With the python method, the interpreter of a service is chosen per host: the Python of the host when the service runs on it, else the first interpreter of the service (python.interpreter, then python.interpreters) that the release of the host provides from its maintained repositories. The table is read from navin_manager/os_support.py (PYTHONS):

SystemsInterpreters provided
RHEL 8, 9python3.12, python3.11
RHEL 10python3.12, python3.14
Rocky Linux 8, 9python3.12, python3.11
Rocky Linux 10python3.12, python3.14
AlmaLinux 8, 9python3.12, python3.11
AlmaLinux 10python3.12, python3.14
Oracle Linux 8, 9python3.12, python3.11
CentOS Stream 9python3.12, python3.11
CentOS Stream 10python3.12, python3.14
Ubuntu 22.04python3.10
Ubuntu 24.04python3.12
Debian 12python3.11

When a certified release provides none of the interpreters of a service and the Python of the host is not one of them, the installation is refused with HTTP 409 python_interpreter_unavailable: choose another method for that service (binary or podman), or another host. On a release that is not certified, and on Arch Linux (rolling), the preferred interpreter of the service (python.interpreter) is kept.

Prerequisites checked on each host​

  • Operating system: verdict of the table above (os check).
  • Python: the python check passes with Python 3.9 or later (navin_manager/preflight.py). With the Go agent, Python is needed only on hosts that run a python.venv component.
  • Podman: the podman check warns when Podman is missing; the podman method installs it as a host prerequisite (packages.install).
  • Tools: openssl and tar for the Python agent; tar is installed as a prerequisite when an artifact must be extracted.
  • Clock synchronized (chronyd or systemd-timesyncd), systemd, SELinux, open files limit: checked by the preflight, as warnings in a sandbox cluster.