Skip to content

docs(agents): document the openshell sandbox executor and sandboxed deployments - #1076

Draft
maxdubrinsky wants to merge 2 commits into
mainfrom
mdubrinsky/aircore-981-docs-no-openshell-or-sandbox-executor-coverage-anywhere-in
Draft

docs(agents): document the openshell sandbox executor and sandboxed deployments#1076
maxdubrinsky wants to merge 2 commits into
mainfrom
mdubrinsky/aircore-981-docs-no-openshell-or-sandbox-executor-coverage-anywhere-in

Conversation

@maxdubrinsky

Copy link
Copy Markdown
Contributor

What

The user guide had no OpenShell / sandbox executor coverage. The Deploy Agents page listed only the docker and k8s executor backends and its sample executor config showed only those two. Nothing documented the openshell backend, the openshell-local executor, SandboxPolicy, Landlock isolation, default-deny egress, or the inference.local route.

This adds the two doc changes the issue calls for:

  • docs/agents/deploy-agents.mdx: added an executor-backends table (docker / k8s / openshell), an openshell-local entry in the sample deployments.executors config (consistent with packages/nmp_platform/config/local.yaml: gateway_endpoint, serve_workdir, platform_egress: null), and a note that the openshell executor is opt-in through the deployments API rather than a --mode. Cross-links to the new page.
  • docs/agents/sandboxed-deployments.mdx (new): a user-facing page derived from the deploy-sandbox skill covering what the sandbox enforces (Landlock filesystem policy, run_as_user: sandbox, default-deny egress), the inference.local model-access route and its one-time operator wiring, image requirements (nemo agents package --sandbox-runtime openshell, no general.telemetry block, non-empty api_key, writable serve_workdir), the deploy flow (DeploymentConfig -> deploy with executor: openshell-local -> wait READY -> invoke -> zero-egress proof), and current limitations.
  • docs/fern/versions/latest.yml: registered the new page under the Agents section after Deploy Agents so it appears in the nav.

Validation

  • node scripts/validate-mdx.mjs: 216 files parsed cleanly
  • npm run check:fern (fern check): 0 errors
  • delink-gated: no inbound links into gated pages
  • validate-notebook-viewer: ok
  • broken-links: my new links resolve; the only 4 reported broken links are pre-existing in auth/studio pages this PR does not touch
  • latest.yml is valid YAML

Fixes AIRCORE-981
https://linear.app/nvidia/issue/AIRCORE-981

…eployments

The user guide had no OpenShell / sandbox executor coverage: the Deploy
Agents page listed only the docker and k8s executor backends, and nothing
documented the openshell backend, the openshell-local executor,
SandboxPolicy, Landlock isolation, default-deny egress, or the
inference.local route.

- Extend docs/agents/deploy-agents.mdx with an executor-backends table
  (docker/k8s/openshell), an openshell-local entry in the sample
  deployments.executors config consistent with local.yaml, and a note that
  the openshell executor is opt-in through the deployments API.
- Add docs/agents/sandboxed-deployments.mdx: a user-facing page derived from
  the deploy-sandbox skill covering what the sandbox enforces, the
  inference.local wiring, prerequisites, packaging, the deploy flow, the
  zero-egress proof, and current limitations.
- Register the new page in docs/fern/versions/latest.yml.

Fixes AIRCORE-981

Signed-off-by: Max Dubrinsky <mdubrinsky@nvidia.com>
@github-actions github-actions Bot added the docs label Aug 4, 2026
@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor
Suite Lines Covered Line Rate Branch Rate
Unit Tests 30406/38435 79.1% 63.8%
Integration Tests 18010/37104 48.5% 21.0%

Address review findings on the new Sandboxed Deployments page:
- Clarify the reference local-sandbox-policy.yaml is the direct-egress variant
  (its network_policies.igw rule reaches host.docker.internal:8080); the shipped
  platform_egress: null default generates a pure default-deny policy with no egress.
- Note landlock_compatibility defaults to best_effort, which fails open (no
  filesystem confinement) on kernels without Landlock; recommend hard_requirement.
- State the image must be packaged with --sandbox-runtime openshell (adds the
  sandbox user) rather than deployed unchanged.
- Guard the wait loop to invoke only on READY, not after FAILED or timeout.
- Use additive uv pip install for the openshell extras; fill the page description.

Signed-off-by: Max Dubrinsky <mdubrinsky@nvidia.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant