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.
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.
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 and process_vm_writev system calls; OpenShell qualifies the
same parent-to-executed-child access shape used by mediated workloads.
Legacy read-only mode (kernels before Linux 5.19)
SECCOMP_FILTER_FLAG_WAIT_KILLABLE_RECV was added in Linux 5.19. On older
kernels — notably RHEL 9.x and RHCOS, which ship a 5.14 kernel — the sandbox
cannot install a kill-only listener, so it falls back to a plain listener and
runs in a legacy read-only cancellation mode. The sandbox starts and
enforces the full isolation boundary (Landlock, the outer NetworkPolicy fence,
DNS and TCP authorization); the only difference is that the broker refuses the
mediated operations that write results back into workload memory, failing them
closed with EOPNOTSUPP:
getpeername;accept/accept4when a non-null peer-address argument is supplied (a null address argument still works);sendmmsgpaths that write per-message lengths back to the caller.
Socket creation, connect, bind, listen, sendto, and sendmsg are
unaffected. Outbound-oriented workloads generally run unchanged; server
workloads whose accept wrappers request the peer address will see EOPNOTSUPP
until the node runs a kernel that provides WAIT_KILLABLE_RECV (Linux 5.19+, or
a distribution backport). The selected mode is reported in the sandbox
qualification output as seccomp_listener_mode (killable or
legacy_read_only).
On macOS, these kernel modules run inside the Docker Desktop Linux VM, not on the host kernel.
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.