OS compatibility reference
This page lists the systems on which the packages of the Navin Platform install, and the Kubernetes requirements of
the Helm deployment. The verdicts are those of the guided installer os/install/navin-install (functions
server_verdict and node_verdict, the same table as the Navin Manager) and of the package metadata.
Platform package navin-platform
Control Plane API, worker and portal. Also valid for the navin-manager console package (same systems).
| System | Version | Architecture | Package | Python | Verdict |
|---|---|---|---|---|---|
| Ubuntu | 24.04 | x86_64 | navin-platform_<version>_amd64.deb | python3.12 | Certified |
| Ubuntu | other releases | any | none | none | Refused |
| Debian | any | any | none | none | Refused (no python3.12 package) |
| RHEL, Rocky Linux, AlmaLinux, Oracle Linux, CentOS Stream | 9 | x86_64 | navin-platform-<version>-1.el9.x86_64.rpm | python3.11 | Certified |
| RHEL family | 8, 10 | any | none | none | Refused |
| Fedora | any | any | none | none | Refused |
| Arch Linux | rolling | x86_64 | navin-platform-<version>-1-x86_64.pkg.tar.zst | the Python of Arch Linux at build time (python>=3.14, python<3.15 for 1.0.0) | Certified |
| Arch Linux derivative | rolling | x86_64 | same | same | Warning |
No aarch64 build of the platform package exists in release 1.0.0.
Dependencies
| Dependency | Ubuntu 24.04 | RHEL family 9 | Arch Linux |
|---|---|---|---|
| PostgreSQL 15 or newer (recommended, local database) | postgresql (16) | postgresql-server after dnf module enable postgresql:16 (default stream 13) | postgresql (optional dependency) |
| Node.js 18.18 or newer (portal) | nodejs (18.19) | nodejs after dnf module enable nodejs:20 | nodejs>=18.18 |
| Other | python3.12-venv, openssl, adduser, systemd | openssl, systemd, util-linux, shadow-utils | openssl, systemd, util-linux |
The RPM scriptlets are plain shell and the payload is xz: an RPM built on another system behaves like one built on RHEL. On Arch Linux, pacman refuses a Python upgrade that would break the venv of the package until the Navin release built for the new Python is installed.
Node agent navin-manager-agent
Installed on every node of a cluster managed by the Navin Manager. Python agent (all / noarch / any) and static
Go agent (navin-manager-agent-go, x86_64 and aarch64).
| System | Certified releases | Refused (end of life) | Other releases |
|---|---|---|---|
| RHEL, Rocky Linux, AlmaLinux | 8, 9, 10 | 7 and older | Warning |
| Oracle Linux | 8, 9 | 7 and older | Warning |
| CentOS Stream | 9, 10 | 8 and older | Warning |
| Ubuntu | 22.04, 24.04 | 25.10 and older, except the certified ones | Warning (newer than 25.10) |
| Debian | 12 | 11 and older | Warning |
| Arch Linux | rolling (x86_64, aarch64) | none | none |
| Other system of a known family | none | none | Warning |
| Unknown family | none | none | Refused |
Guided installer roles
| Role | Systems |
|---|---|
standalone | Ubuntu 24.04; RHEL, Rocky, Alma, Oracle Linux or CentOS Stream 9; Arch Linux (x86_64) |
manager | Same as standalone |
node | The systems of the node agent above |
Every host also needs root, systemd, a fully qualified host name that resolves and a synchronized clock.
Kubernetes deployment
| Item | Requirement | Source |
|---|---|---|
| Kubernetes | 1.27 or newer | kubeVersion: ">=1.27.0-0" of deploy/helm/enterprise-ai/Chart.yaml |
| Helm | 3.16 or newer | services/control-plane/tests/test_platform_deploy_env.py |
| CNI | Cilium 1.16.5 (WireGuard, SPIFFE mutual authentication); global.networkPolicy=kubernetes renders plain NetworkPolicy objects instead | deploy/terraform/modules/platform-bootstrap |
| Admission | Kyverno chart 3.3.4 (image signatures, Pod Security) | same |
| Certificates | cert-manager v1.16.2 | same |
| Autoscaling | KEDA 2.16.1, HorizontalPodAutoscaler | same |
| PostgreSQL | CloudNativePG chart 0.23.0, image PostgreSQL 16.6 | same, deploy/data/postgres/cluster.yaml |
| Backups | Velero chart 8.1.0 | same |
| GPU | NVIDIA GPU Operator v24.9.1, nodes labelled nvidia.com/gpu.present=true | same, values.yaml (vllm, ollama) |
| Sandbox runtimes | RuntimeClass gvisor (handler runsc) and kata (handler kata-qemu): the nodes running sandboxes need these handlers in their container runtime | values.yaml (sandbox.runtimeClasses) |
| Storage | Storage class fast-ssd (data services), local-nvme (vLLM cache of the on premises profile) | deploy/data/*, values-onprem-gpu.yaml |
Image architectures stated in the chart: LiteLLM is pinned to a multi-arch index (linux/amd64, linux/arm64); the
CPU image of vLLM is vllm/vllm-openai-cpu:v0.33.0-x86_64. Check the architectures of the other images in your
registry before you add arm64 nodes.
The node operating system of a Kubernetes cluster is the one supported by the Kubernetes distribution, Cilium, the NVIDIA GPU Operator and the sandbox runtimes in the versions above; the platform adds no requirement of its own.
Docker Compose and local development
| Method | Requirement |
|---|---|
| Docker Compose | Docker Engine with the compose v2 plugin (make docker-check); NVIDIA container toolkit for the gpu profile |
make | Python 3.11 or newer, Node.js 20 or newer, redis-server, PostgreSQL binaries, Java 21 (Keycloak) |