docs(agents): document the openshell sandbox executor and sandboxed deployments - #1076
Draft
maxdubrinsky wants to merge 2 commits into
Draft
Conversation
…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>
Contributor
Contributor
|
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
The user guide had no OpenShell / sandbox executor coverage. The Deploy Agents page listed only the
dockerandk8sexecutor backends and its sample executor config showed only those two. Nothing documented theopenshellbackend, theopenshell-localexecutor, SandboxPolicy, Landlock isolation, default-deny egress, or theinference.localroute.This adds the two doc changes the issue calls for:
docs/agents/deploy-agents.mdx: added an executor-backends table (docker/k8s/openshell), anopenshell-localentry in the sampledeployments.executorsconfig (consistent withpackages/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 thedeploy-sandboxskill covering what the sandbox enforces (Landlock filesystem policy,run_as_user: sandbox, default-deny egress), theinference.localmodel-access route and its one-time operator wiring, image requirements (nemo agents package --sandbox-runtime openshell, nogeneral.telemetryblock, non-emptyapi_key, writableserve_workdir), the deploy flow (DeploymentConfig -> deploy withexecutor: 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 cleanlynpm run check:fern(fern check): 0 errorsdelink-gated: no inbound links into gated pagesvalidate-notebook-viewer: okbroken-links: my new links resolve; the only 4 reported broken links are pre-existing inauth/studiopages this PR does not touchlatest.ymlis valid YAMLFixes AIRCORE-981
https://linear.app/nvidia/issue/AIRCORE-981