mirror of
https://github.com/NVIDIA/OpenShell.git
synced 2026-10-16 05:20:22 +08:00
110 lines
7.5 KiB
Plaintext
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.
|