Matrice de compatibilité des systèmes d'exploitation
Cette page liste les systèmes pris en charge par le serveur Navin Manager, l'agent Navin et les hôtes gérés. Le tableau des hôtes est lu dans navin_manager/os_support.py, la définition unique appliquée par le contrôle préalable de l'agent et par le contrôle préalable SSH ; le tableau des paquets est vérifié dans les fichiers de navin-manager/packaging. Elle est générée par navin-manager/docs/tools/generate_reference.py : ne la modifiez pas à la main.
Systèmes certifiés
La liste que la console affiche sur la page Système (carte Systèmes pris en charge) et que renvoie GET /api/v1/system/supported-os :
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)
Hôtes gérés
La famille est lue dans ID de /etc/os-release, sinon dans ID_LIKE (rocky, almalinux, ol, centos, fedora donnent rhel ; ubuntu donne debian ; arch donne arch). Les versions d'Ubuntu se comparent sur majeure.mineure (22.04), les autres sur la version majeure (9.4 vaut 9). Architectures : x86_64 et aarch64 pour l'agent Go, toutes pour l'agent Python.
| Distribution | ID (os-release) | Famille | Versions certifiées | Fin de vie | Gestionnaire de paquets | Remarques |
|---|---|---|---|---|---|---|
| RHEL | rhel | RHEL | 8, 9, 10 | jusqu'à 7 | dnf | Agent Python sur RHEL 8 : dnf install python39 d'abord. |
| Rocky Linux | rocky | RHEL | 8, 9, 10 | jusqu'à 7 | dnf | Mêmes paquets que RHEL. |
| AlmaLinux | almalinux | RHEL | 8, 9, 10 | jusqu'à 7 | dnf | Mêmes paquets que RHEL. |
| Oracle Linux | ol | RHEL | 8, 9 | jusqu'à 7 | dnf | Oracle Linux 10 passe avec un avertissement (non certifié). |
| CentOS Stream | centos | RHEL | 9, 10 | jusqu'à 8 | dnf | CentOS 7 et 8 sont en fin de vie. |
| Ubuntu | ubuntu | Debian | 22.04, 24.04 | jusqu'à 25.10 | apt | Ubuntu 26.04 passe avec un avertissement ; 25.10 et les versions plus anciennes non certifiées sont en fin de vie. |
| Debian | debian | Debian | 12 | jusqu'à 11 | apt | Debian 13 passe avec un avertissement. |
| Arch Linux | arch | Arch Linux | toutes les versions (publication continue) | jamais | pacman | Les dérivées (Manjaro, EndeavourOS) passent avec un avertissement. |
Verdicts du contrôle préalable
Chaque hôte reçoit un verdict, le même dans le contrôle préalable de l'agent et dans le contrôle préalable SSH :
| Verdict | Résultat du contrôle préalable | Signification |
|---|---|---|
certified | pass | Une version pour laquelle les paquets de l'agent sont construits et testés. |
uncertified | warning | Une version plus récente d'une famille connue, ou une autre distribution de cette famille : autorisée, avec un avertissement. |
end_of_life | blocking | Une version qui ne reçoit plus de correctifs de sécurité : toute installation est bloquée. |
unsupported | blocking | Une famille sans paquets Navin : toute installation est bloquée. |
Paquets du Navin Manager et de l'agent
Paquets construits par navin-manager/packaging/build-packages.sh et os/build.sh, rangés sous os/<paquet>/<famille>/.
| Produit | Paquet | Format | Systèmes | Architectures | Python | Remarques |
|---|---|---|---|---|---|---|
| Serveur Navin Manager | navin-manager-<version>-1.el9.x86_64.rpm | RPM | Famille RHEL 8, 9 et 10 : RHEL, Rocky Linux, AlmaLinux, Oracle Linux 8/9, CentOS Stream 9/10 (un seul RPM pour toutes les versions) | x86_64 | python3.12 (dépendance : AppStream en 8.10 et 9, BaseOS en 10) | Recommande postgresql-server pour la base locale. |
| Serveur Navin Manager | navin-manager_<version>_amd64.deb | DEB | Ubuntu 24.04 | amd64 | python3.12, python3.12-venv (dépendances) | Recommande postgresql. |
| Serveur Navin Manager | navin-manager-<version>-1-x86_64.pkg.tar.zst | pacman | Arch Linux | x86_64 | Le Python d'Arch Linux au moment de la construction (python>= et python< la mineure suivante) | postgresql facultatif pour la base locale. |
| Agent Navin (Go, livré) | navin-manager-agent-go-<version>-1.<arch>.rpm | RPM | Famille RHEL 8 à 10 | x86_64, aarch64 | aucun (binaire statique) | Fournit navin-manager-agent et entre en conflit avec lui ; requiert shadow-utils (useradd, usermod) et procps-ng (sysctl), recommande podman. |
| Agent Navin (Go, livré) | navin-manager-agent-go_<version>_<debarch>.deb | DEB | Ubuntu 22.04, 24.04, Debian 12 | amd64, arm64 | aucun (binaire statique) | Dépend de systemd, passwd (useradd, usermod) et procps (sysctl) ; recommande podman et uidmap. |
| Agent Navin (Go, livré) | navin-manager-agent-go-<version>-1-<arch>.pkg.tar.zst | pacman | Arch Linux | x86_64, aarch64 | aucun (binaire statique) | En conflit avec navin-manager-agent ; dépend de systemd, shadow et procps-ng, podman facultatif. |
| Agent Navin (Python, référence) | navin-manager-agent-<version>-1.noarch.rpm | RPM | Famille RHEL 8 à 10 | noarch | python3 >= 3.9 ou python39 ou python3.11 | Nécessite aussi openssl, tar, shadow-utils et procps-ng ; recommande podman. |
| Agent Navin (Python, référence) | navin-manager-agent_<version>_all.deb | DEB | Ubuntu 22.04, 24.04, Debian 12 | all | Python 3.9 ou plus récent | Même commande et même unité que l'agent Go. |
| Agent Navin (Python, référence) | navin-manager-agent-<version>-1-any.pkg.tar.zst | pacman | Arch Linux | any | Python d'Arch Linux | Même commande et même unité que l'agent Go. |
Hôte du serveur Navin Manager
- Famille RHEL 8, 9 ou 10 (RHEL, Rocky Linux, AlmaLinux, Oracle Linux 8/9, CentOS Stream 9/10) avec
python3.12: un seul RPM pour toutes les versions (Requires: python3.12, AppStream en 8.10 et 9, BaseOS en 10 ; RHEL 10 n'a pas de paquetpython3.11). - Ubuntu 24.04 avec
python3.12etpython3.12-venv(DEB). - Ubuntu 22.04 : hôte géré seulement (agents). Il ne fournit aucun Python 3.11 ou plus récent maintenu, que le serveur exige.
Méthode python des services
Avec la méthode python, l'interpréteur d'un service est choisi par hôte : le Python de l'hôte quand le service fonctionne avec lui, sinon le premier interpréteur du service (python.interpreter, puis python.interpreters) que la version du système de l'hôte fournit dans ses dépôts maintenus. Le tableau est lu dans navin_manager/os_support.py (PYTHONS) :
| Systèmes | Interpréteurs fournis |
|---|---|
| RHEL 8, 9 | python3.12, python3.11 |
| RHEL 10 | python3.12, python3.14 |
| Rocky Linux 8, 9 | python3.12, python3.11 |
| Rocky Linux 10 | python3.12, python3.14 |
| AlmaLinux 8, 9 | python3.12, python3.11 |
| AlmaLinux 10 | python3.12, python3.14 |
| Oracle Linux 8, 9 | python3.12, python3.11 |
| CentOS Stream 9 | python3.12, python3.11 |
| CentOS Stream 10 | python3.12, python3.14 |
| Ubuntu 22.04 | python3.10 |
| Ubuntu 24.04 | python3.12 |
| Debian 12 | python3.11 |
Quand une version certifiée ne fournit aucun des interpréteurs d'un service et que le Python de l'hôte n'en fait pas partie, l'installation est refusée avec HTTP 409 python_interpreter_unavailable : choisissez une autre méthode pour ce service (binaire ou podman), ou un autre hôte. Sur une version non certifiée, et sur Arch Linux (rolling), l'interpréteur préféré du service (python.interpreter) est conservé.
Prérequis vérifiés sur chaque hôte
- Système d'exploitation : verdict du tableau ci-dessus (contrôle
os). - Python : le contrôle
pythonpasse avec Python 3.9 ou plus récent (navin_manager/preflight.py). Avec l'agent Go, Python n'est nécessaire que sur les hôtes qui exécutent un composantpython.venv. - Podman : le contrôle
podmanavertit si Podman est absent ; la méthodepodmanl'installe comme prérequis de l'hôte (packages.install). - Outils :
opensslettarpour l'agent Python ;tarest installé comme prérequis quand un artefact doit être extrait. - Horloge synchronisée (chronyd ou systemd-timesyncd), systemd, SELinux, limite de fichiers ouverts : vérifiés par le contrôle préalable, sous forme d'avertissements dans un cluster bac à sable.