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