Skip to content

feat(sandbox): add control and boundary supervisor modes - #3151

Open
drew wants to merge 49 commits into
codex/1737-rfc12-supervisor-primitivesfrom
codex/1737-rfc12-supervisor-modes
Open

feat(sandbox): add control and boundary supervisor modes#3151
drew wants to merge 49 commits into
codex/1737-rfc12-supervisor-primitivesfrom
codex/1737-rfc12-supervisor-modes

Conversation

@drew

@drew drew commented Sep 3, 2026

Copy link
Copy Markdown
Collaborator

Summary

Add the shared RFC 0012 runtime split between openshell-sandbox --mode=control outside an isolation boundary and openshell-sandbox --mode=boundary beside the workload. This is PR 3 of 6 and provides one portable control protocol and implementation for Docker, VM, Kubernetes, and future drivers.

Stack: #2941#2942this PR#2945#2965#3144.

Related Issue

Part of #1737. The issue does not currently carry state:accepted or roadmap placement; this implementation proceeds under direct maintainer instruction without changing those labels.

Changes

  • Add a versioned, authenticated boundary protocol and reusable RemoteIsolationBackend to openshell-isolation-interface.
  • Support Unix, authenticated TLS/TCP, and vsock transports for process lifecycle, exec, signal/terminate, wait, PTY I/O, loopback forwarding, binary identity, mediated egress, and DNS.
  • Add --mode=control for policy, proxy, gateway, and SSH ownership outside the workload boundary, and --mode=boundary for trusted workload-local execution and observation.
  • Preserve and replay running lifecycle state across control reconnects without restarting the canonical workload; retain terminal state after canonical exit.
  • Bound output drains, cancel abandoned network accepts, limit unauthenticated connections, enable TCP keepalive, and make shutdown reporting cancellable.
  • Reconcile opaque provider credential revisions, preserve policy-visible endpoint metadata, and provision durable interception CA material through Landlock-safe paths.
  • Publish readiness only after relay registration and support IPv4 or IPv6 control health listeners.
  • Update RFC 0012, sandbox architecture, and supervisor image packaging for the control/boundary trust model.

Testing

  • cargo test -p openshell-isolation-interface — 34 passed
  • cargo test -p openshell-sandbox --quiet — 134 library, 14 binary, and 1 integration test passed
  • cargo test -p openshell-supervisor-process --lib --quiet — 277 passed, 4 ignored
  • Retained-boundary provider-reconciliation regression — 20 consecutive isolated passes
  • mise run pre-commit

Checklist

  • Follows Conventional Commits
  • Commits are signed off (DCO)
  • RFC and architecture documentation are updated

Signed-off-by: Drew Newberry <anewberry@nvidia.com>
drew added 16 commits September 2, 2026 21:50
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
@copy-pr-bot

copy-pr-bot Bot commented Sep 3, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

drew added 3 commits September 3, 2026 00:03
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
drew added 29 commits September 3, 2026 01:04
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
# Conflicts:
#	crates/openshell-supervisor-process/src/process.rs
#	crates/openshell-supervisor-process/src/ssh.rs
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant