feat(docker): prototype supervisor-owned isolation boundaries - #2965
Draft
drew wants to merge 6 commits into
Draft
feat(docker): prototype supervisor-owned isolation boundaries#2965drew wants to merge 6 commits into
drew wants to merge 6 commits into
Conversation
Signed-off-by: Drew Newberry <385+drew@users.noreply.github.com>
Signed-off-by: Drew Newberry <385+drew@users.noreply.github.com>
Signed-off-by: Drew Newberry <385+drew@users.noreply.github.com>
Signed-off-by: Drew Newberry <385+drew@users.noreply.github.com>
Signed-off-by: Drew Newberry <385+drew@users.noreply.github.com>
|
🌿 Preview your docs: https://nvidia-preview-pr-2965.docs.buildwithfern.com/openshell |
9 tasks
Signed-off-by: Drew Newberry <385+drew@users.noreply.github.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.
Summary
Add the Docker proof for RFC 0012's optional supervisor-owned isolation
boundary creation path. This PR is stacked on the host-supervised VM prototype
in #2945 so VM and Docker implementation work can continue independently.
The proof runs the logical supervisor on the host and launches the admitted
agent image directly, without an OpenShell supervisor binary inside the
workload container. It is experimental and does not change the production
Docker compute-driver path.
Stack: #2941 → #2942 → #2945 → this PR.
Related Issue
Part of #1737. Builds on RFC #2048 and the RFC 0012 implementation stack.
Changes
IsolationBackendwith optional supervisor-ownedcreateandidempotent
destroyoperations while preserving attach-only backends.BackendRegistry::provisionso explicitCreateandAttachroutesconverge on
Bound -> Ready -> Runningand return a recovery descriptor plustrusted
BoundaryOrigin.BoundaryOrigin::SupervisorCreated; externally createdresources retain compute-driver or orchestrator ownership.
DockerIsolationBackendthat creates thecontainer stopped, disables networking, drops all capabilities, and starts
the workload only after standing enforcement is ready.
SCM_RIGHTS, validate listener metadata and container identity, and denydelegated syscalls from the host with
EPERM.and remove container/listener resources through retry-safe cleanup.
model, limitations, and local-daemon smoke command.
SCCACHE_DIRto one user-level OpenShell cache shared by worktreeswhile preserving caller overrides.
Testing
mise run pre-commitpasses in full; environment-level TypeScript andcache-server restrictions prevented a complete run in this task.
cargo clippy -p openshell-isolation -p openshell-driver-docker -p openshell-sandbox --all-targets -- -D warningscargo test -p openshell-isolation(25 passed)/var/run/docker.sockis absent on thecurrent host, so the ignored daemon test was not executed.
Checklist