Files
OpenShell/docs/index.mdx
50230616d5 refactor(runtime): retire Community image dependencies (#3386)
* feat(sandbox): default to official Alpine sandbox image

default_sandbox_image() now returns docker.io/library/alpine:3.22, a generic
version-qualified official image, so a fresh install no longer depends on the
community sandbox image catalog. All compute drivers (docker, podman,
kubernetes, vm) inherit this fallback.

Part of #3116.

Signed-off-by: Akram
Signed-off-by: Akram <akram.benaissi@gmail.com>

* feat(deploy): default deployment configs to the official Alpine sandbox image

Update the shared gateway default_image, Helm chart values, the standalone
Kubernetes manifest, and the dev gateway task scripts to use
docker.io/library/alpine:3.22 instead of the community base image, consistent
with default_sandbox_image(). GPU e2e image-build base is left unchanged (CUDA
needs a glibc base).

Part of #3116.

Signed-off-by: Akram
Signed-off-by: Akram <akram.benaissi@gmail.com>

* feat(driver): default to numeric non-root identity for USER-less images

With the default sandbox image now Alpine, images that declare no OCI USER
must start instead of being rejected. When the image declares no USER and
the policy requests none, the Podman and Docker drivers now supply a numeric
non-root identity (DEFAULT_SANDBOX_UID/GID = 1000) instead of rejecting,
matching the numeric-identity behavior of the Kubernetes and VM drivers. The
supervisor's resolved-identity path runs the sandbox as a synthesized
non-root account without the account existing in the image. Images that
declare a USER keep the OCI resolution path unchanged.

Part of #3116.

Signed-off-by: Akram <akram.benaissi@gmail.com>
Signed-off-by: Evan Lezar <elezar@nvidia.com>

* test(conformance): use Alpine workload image

Signed-off-by: Evan Lezar <elezar@nvidia.com>

* refactor(policy): drop community image /app path from default policy

The restrictive default policy granted read-only access to /app, a directory
that only existed in the community base image. A generic Alpine default has no
/app, so remove it. Landlock best-effort already ignores absent paths; this
just stops advertising a community-specific layout in the default.

Part of #3116.

Signed-off-by: Akram
Signed-off-by: Akram <akram.benaissi@gmail.com>

* docs(config): document Alpine default images

Signed-off-by: Evan Lezar <elezar@nvidia.com>

* fix(podman): report early sandbox termination

Signed-off-by: Evan Lezar <elezar@nvidia.com>

* fix(podman): initialize rootless workspace ownership

Signed-off-by: Evan Lezar <elezar@nvidia.com>

* fix(sandbox): qualify NVIDIA Ubuntu default

Signed-off-by: Drew Newberry <anewberry@nvidia.com>

* fix(podman): initialize rootful default workspace

Signed-off-by: Drew Newberry <anewberry@nvidia.com>

* feat(sftp): add native sandbox adapter

Signed-off-by: Drew Newberry <anewberry@nvidia.com>

* fix(sftp): gate runtime helper support to Linux

Signed-off-by: Drew Newberry <anewberry@nvidia.com>

* fix(sftp): support standard OpenSSH file operations

Signed-off-by: Drew Newberry <anewberry@nvidia.com>

* fix(sftp): harden rename and special file handling

Signed-off-by: Drew Newberry <anewberry@nvidia.com>

* refactor(runtime): remove community image dependencies

Signed-off-by: Drew Newberry <anewberry@nvidia.com>

* test(e2e): build provider readiness tool fixture

Signed-off-by: Drew Newberry <anewberry@nvidia.com>

* fix(e2e): use a dedicated Noble fixture for Docker tests

Signed-off-by: Evan Lezar <elezar@nvidia.com>

---------

Signed-off-by: Akram
Signed-off-by: Akram <akram.benaissi@gmail.com>
Signed-off-by: Evan Lezar <elezar@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Co-authored-by: Evan Lezar <elezar@nvidia.com>
Co-authored-by: Drew Newberry <anewberry@nvidia.com>
2026-09-22 14:43:51 +02:00

140 lines
4.5 KiB
Plaintext

---
# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
title: "NVIDIA OpenShell Developer Guide"
description: "OpenShell is the safe, private runtime for autonomous AI agents. Run agents in sandboxed environments that protect your data, credentials, and infrastructure."
keywords: "Generative AI, Cybersecurity, AI Agents, Sandboxing, Security, Privacy, Provider Credentials"
position: 1
---
import { BadgeLinks } from "./_components/BadgeLinks";
import { CommandTerminal } from "./_components/CommandTerminal";
<BadgeLinks
badges={[
{
href: "https://github.com/NVIDIA/OpenShell",
src: "https://img.shields.io/badge/github-repo-green?logo=github",
alt: "GitHub",
},
{
href: "https://github.com/NVIDIA/OpenShell/blob/main/LICENSE",
src: "https://img.shields.io/badge/License-Apache_2.0-blue",
alt: "License",
},
{
href: "https://pypi.org/project/openshell/",
src: "https://img.shields.io/badge/PyPI-openshell-orange?logo=pypi",
alt: "PyPI",
},
]}
/>
NVIDIA OpenShell is the safe, private runtime for autonomous AI agents. It provides sandboxed execution environments
that protect your data, credentials, and infrastructure. Agents run with exactly the permissions they need and
nothing more, governed by declarative policies that prevent unauthorized file access, data exfiltration, and
uncontrolled network activity.
## Get Started
Install OpenShell and create your first sandbox in two commands.
<llms-ignore>
<CommandTerminal command="curl -LsSf https://raw.githubusercontent.com/NVIDIA/OpenShell/main/install.sh | sh" />
</llms-ignore>
<llms-only>
```shell
curl -LsSf https://raw.githubusercontent.com/NVIDIA/OpenShell/main/install.sh | sh
openshell sandbox create --name quickstart
```
</llms-only>
Refer to the [Quickstart](/get-started/quickstart) for more details.
---
## Explore
<div className="explore-cards">
<Cards>
<Card title="About OpenShell" href="/about/overview">
Learn about OpenShell and its capabilities.
<Badge intent="tip" minimal outlined>Concept</Badge>
</Card>
<Card title="Quickstart" href="/get-started/quickstart">
Install OpenShell and create your first sandbox in two commands.
<Badge intent="tip" minimal outlined>Tutorial</Badge>
</Card>
<Card title="Tutorials" href="/get-started/tutorials">
Hands-on walkthroughs from first sandbox to custom policies.
<Badge intent="tip" minimal outlined>Concept</Badge>
</Card>
<Card title="Gateways and Sandboxes" href="/sandboxes/manage-gateways">
Deploy gateways, create sandboxes, configure policies, providers, and workload images for your AI agents.
<Badge intent="tip" minimal outlined>Concept</Badge>
</Card>
<Card title="Provider-backed Inference" href="/sandboxes/inference-routing">
Attach model providers to selected sandboxes and call their native endpoints without exposing credentials.
<Badge intent="tip" minimal outlined>Concept</Badge>
</Card>
<Card title="Observability" href="/observability">
Understand sandbox logs, access them with the CLI and TUI, and export OCSF JSON records.
<Badge intent="tip" minimal outlined>How-To</Badge>
</Card>
<Card title="Reference" href="/reference/default-policy">
Policy schema, environment variables, and default policy details.
<Badge intent="tip" minimal outlined>Reference</Badge>
</Card>
<Card title="Security Best Practices" href="/security/best-practices">
Every configurable security control, its default, and the risk of changing it.
<Badge intent="tip" minimal outlined>Concept</Badge>
</Card>
</Cards>
</div>
---
<Warning title="Notice and Disclaimer">
This software automatically retrieves, accesses or interacts with external
materials. Those retrieved materials are not distributed with this software
and are governed solely by separate terms, conditions and licenses. You are
solely responsible for finding, reviewing and complying with all applicable
terms, conditions, and licenses, and for verifying the security, integrity and
suitability of any retrieved materials for your specific use case. This
software is provided "AS IS", without warranty of any kind. The author makes
no representations or warranties regarding any retrieved materials, and
assumes no liability for any losses, damages, liabilities or legal
consequences from your use or inability to use this software or any retrieved
materials. Use this software and the retrieved materials at your own risk.
</Warning>