Files
OpenShell/docs/reference/support-matrix.mdx
2026-07-09 00:15:57 -07:00

110 lines
7.5 KiB
Plaintext

---
# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
title: "Support Matrix"
description: "Review OpenShell compatibility across host platforms, compute drivers, GPU environments, Kubernetes, and SDKs."
position: 5
---
OpenShell can run sandboxes on a local macOS, Linux, or Windows machine or as
a distributed deployment on Kubernetes. The OpenShell CLI, TUI, and SDKs can
manage a local gateway or connect to a remote gateway. This matrix lists the
supported platforms, runtimes, GPU environments, and client toolchains.
## Platforms
OpenShell can be installed and run on macOS, Linux, or Windows using standard
package installers. The [Installation guide](/about/installation) provides
setup instructions.
| Platform | Installation methods | Requirements |
| ----------------------- | -------------------- | -------------------------------------------- |
| macOS (Apple Silicon) | Homebrew | macOS 13.3 or later |
| Linux (x86_64, arm64) | APT/DEB, RPM, Snap | glibc 2.28 or later |
| Windows (x86_64, arm64) | MSI, WinGet | Windows minimum version: TBD; MSVC toolchain |
## Compute Drivers
| Driver | Supported hosts | Minimum version | Requirements |
| ---------- | --------------------- | ------------------------------------------ | ------------------------------------------------------------------------------------- |
| Docker | macOS, Linux, Windows | 28.0.4 or later | Docker Engine or Docker Desktop. |
| Podman | macOS, Linux, Windows | 5.x | Podman socket, rootless networking, and cgroups v2. |
| MicroVM | macOS, Linux | macOS 13.3 or later; KVM support on Linux | Host virtualization enabled; `Hypervisor.framework` on macOS; KVM on Linux. |
| Kubernetes | Kubernetes clusters | 1.29 or later | See [Kubernetes](#kubernetes) for Helm, Agent Sandbox, and distribution requirements. |
## GPU Support
OpenShell supports NVIDIA GPU-backed sandboxes across compute drivers when the
host or cluster exposes compatible devices through a supported mechanism. Any current CUDA driver is supported,
with release validation focused on Tesla Recommended Driver (TRD) branches.
GPU-capable sandbox images provide the CUDA user-space libraries required by
the workload.
| Compute driver | Supported environment | Device interface | Requirements and limits |
| -------------- | --------------------------- | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| Docker | Linux; Windows through WSL2 | NVIDIA CDI | Docker is CDI-enabled and NVIDIA devices are visible. Default and counted GPU requests are supported. WSL2 may expose all GPUs as one selectable device. |
| Podman | Linux; Windows through WSL2 | NVIDIA CDI | NVIDIA CDI devices are visible to Podman. Default and counted GPU requests are supported. WSL2 may expose all GPUs as one selectable device. |
| MicroVM | Linux | QEMU/VFIO PCI passthrough | The host provides IOMMU and VFIO support, root privileges, and a compatible sandbox image. Each sandbox supports one GPU. |
| Kubernetes | Linux GPU nodes | `nvidia.com/gpu` extended resources | The NVIDIA GPU Device Plugin (e.g. installed by the GPU Operator) exposes allocatable GPU capacity, and the sandbox image includes the required user-space libraries. |
GPU requests use `--gpu`. [GPU resource management](/sandboxes/manage-sandboxes#gpu-resources)
describes default, counted, and exact-device requests.
## Supervisor Kernel Requirements
These requirements apply to the Linux environment running the supervisor. On
macOS and Windows, they apply to the container or virtual machine kernel, not
the host kernel.
| Kernel capability | Requirement | Minimum | Behavior when unavailable |
| --------------------------------- | ----------- | ------- | ------------------------------------------------------------------------------ |
| seccomp BPF | Required | 3.17 | Supervisor security initialization fails. |
| Network namespaces and veth | Required | 3.13 | Supervisor initialization fails, and the sandbox does not become ready. |
| nftables bypass-detection rules | Recommended | 3.13 | The sandbox starts with bypass detection degraded and emits an OCSF configuration event. |
| Landlock LSM | Recommended | 5.13 | `best_effort` runs degraded with a security finding; `hard_requirement` fails. |
## Kubernetes
OpenShell runs on Kubernetes as a distributed, multi-tenant application.
| Component | Supported version | Notes |
| --------------------------------- | ------------------------------- | ----------------------------------------------------- |
| Kubernetes | 1.29 or later | Required for Helm deployments and sandbox scheduling. |
| Helm | 3.x | Required to install and upgrade the OpenShell chart. |
| Agent Sandbox controller and CRDs | Compatible release; version TBD | Required before installing the OpenShell chart. |
| User namespaces | 1.33 or later | Optional. Policy enforcement remains available without support, but Kubernetes cannot set `hostUsers: false` for UID remapping. See [User Namespace Isolation guidance](/security/best-practices#user-namespace-isolation). |
Kubernetes deployments require the Agent Sandbox controller and its `Sandbox`
CRDs before the OpenShell Helm chart is installed. The
[Kubernetes setup guide](/kubernetes/setup) provides installation instructions.
### Distributions
- GKE Standard and Autopilot clusters are supported.
- OpenShift 4.x is supported with the OpenShift-specific SCC binding and chart
configuration. Refer to [OpenShift installation](/kubernetes/openshift) for
the required overrides.
## CLI and TUI Clients
Package installers install the OpenShell CLI, TUI, and gateway and start a local
gateway service. Standalone CLI and TUI binaries are also available from
[GitHub Releases](https://github.com/NVIDIA/OpenShell/releases) and can connect
to a remote gateway without running a local gateway.
## SDKs
The supported SDKs connect to local or remote OpenShell deployments.
| SDK | Minimum version |
| ---------- | --------------- |
| Python | 3.12 |
| TypeScript | 5.7 |
| Rust | 1.90 |
| Go | 1.24 |
## API Compatibility
OpenShell maintains compatibility across its gRPC APIs, clients, SDKs, and
compute drivers. Refer to [API Compatibility](/reference/api-compatibility) for
the versioning, deprecation, and client/server compatibility policy.