Support Matrix
This page lists the host platform, compute driver, software, runtime, and kernel requirements for running OpenShell.
Releases
OpenShell publishes dev, pre-release, and stable builds for different stages of the release cycle. Use a stable release for production deployments.
The tagged release pipeline publishes pre-release and stable artifacts only after its current qualification profile passes. Failed candidates retain build artifacts and qualification evidence in CI storage. The current profile covers part of the complete release qualification policy; passing it does not establish full RFC 0014 coverage.
Tagged stable releases generally go out every week. OpenShell targets Tuesday publication when there are changes and every blocking qualification check passes. A security release may ship sooner.
Stable APIs and other Stable interfaces remain backward-compatible across patch releases. Patch releases can contain fixes and additive functionality. A breaking change to a Stable interface requires a minor release with notice and migration guidance. Interfaces marked Experimental may change or be removed in a patch release.
OpenShell provides security and critical reliability updates for the latest minor release and the previous minor release, also called N-1. Support applies to the newest patch on each maintained minor line. Update to that patch to receive fixes; OpenShell does not issue fixes for every older patch. Maintenance updates do not backport features.
Refer to RFC 0014 for the complete release and compatibility policy.
Supported Platforms
OpenShell publishes multi-architecture gateway images for linux/amd64 and linux/arm64. The CLI, policy prover, package-managed gateway, and standalone gateway binary are supported on the following host platforms:
On Linux, the openshell CLI is a static musl binary and does not require glibc at runtime.
Standalone Gateway Binary
OpenShell publishes standalone openshell-gateway release assets for manual download on these platforms:
These artifacts are attached to GitHub releases. Kubernetes deployments should use the Helm chart and the published gateway image.
On Linux, openshell-gateway requires glibc 2.28 or newer. Compatible systems include, for example, Ubuntu 20.04+, RHEL 8+, Rocky Linux 8+, Amazon Linux 2023+, and Fedora 32+.
Sandbox Runtime Binary
openshell-sandbox is the trusted workload-side runtime binary. It runs inside
the sandbox boundary, starts and owns the agent process tree, observes
executable identity, and sends mediated TCP and DNS operations to the
supervisor. It does not hold provider credentials or open upstream connections;
those responsibilities remain with the supervisor outside the workload
boundary.
OpenShell publishes static musl builds for the Linux architectures supported by the sandbox runtime:
The static binary does not depend on the agent image’s libc. Each stable release
also publishes openshell-sandbox-checksums-sha256.txt for the standalone
archives.
Supported runtimes deliver this binary automatically and separately from the agent image. Docker and Podman stage it into the workload, Kubernetes uses the trusted sandbox runtime image, and the VM runtime embeds it in the guest rootfs. Most users do not invoke the binary directly. Use the standalone archives when integrating a runtime or preparing artifacts for an air-gapped environment, and keep the sandbox binary aligned with the rest of the OpenShell release.
Standalone Policy Prover
OpenShell publishes standalone openshell-prover release assets for manual download on these platforms:
These artifacts are attached to GitHub releases. The Linux binaries are static and do not require glibc. All prover archives include the required solver linkage.
The Debian, RPM, Homebrew, and Snap packages also include the prover. Debian,
RPM, and Homebrew installations expose it as openshell-prover; use
openshell.prover with the Snap. The openshell-prover Snap alias requires
Store approval and may not be available.
Runtimes
The gateway can manage sandboxes through several runtimes.
Software Prerequisites
Install the software for the compute driver you use:
Workload Images
OpenShell accepts standard Linux OCI images. The built-in default workload is
nvcr.io/nvidia/base/ubuntu:24.04 for linux/amd64 and linux/arm64. It is a
minimal Ubuntu Noble userspace and does not bundle agent CLIs. Operators can
change the default, and users can select an explicit image with --from.
Container Images
The Helm chart in deploy/helm/openshell deploys the gateway workload, service account, service, optional persistent storage, and network policy for Kubernetes. It defaults to a StatefulSet for SQLite-backed installs and can render a Deployment for external database-backed installs.
To override the default image references, use Helm values:
Kernel Requirements
The sandbox boundary requires the following Linux kernel facilities, including when it runs inside a container or microVM:
A kernel version alone does not establish support. A disabled Landlock LSM or a
runtime profile that blocks the required seccomp operations causes launch to
fail closed. An upstream Linux 6.2 or newer kernel provides the required
Landlock ABI; distribution backports must pass the same active qualification.
The broker remains non-dumpable during qualification. A runtime may satisfy
task-memory access through /proc/<pid>/mem even when its kernel omits the
process_vm_readv system call; OpenShell qualifies the
same parent-to-executed-child access shape used by mediated workloads.
On macOS, these kernel modules run inside the Docker Desktop Linux VM, not on the host kernel.
Socket peer addresses
On outbound TCP connections relayed by OpenShell, getpeername() reports the
local relay’s loopback address (127.0.0.1 or ::1) and port rather than the
upstream destination. Accepted sockets and directly connected local sockets
report their actual peer address; inbound peer-address reporting retains its
normal socket semantics. Connection authorization continues to use the requested
destination, independently of the address reported by getpeername().
Agent Workloads
OpenShell runs agents and tools that you install in a user-owned OCI image. The image must satisfy the selected compute driver’s platform requirements. Refer to Run Your First Agent for the image, provider, and policy workflow.