Skip to content

feat(kubernetes): add proxy-pod isolation topology - #3144

Open
drew wants to merge 4 commits into
codex/docker-host-supervisorfrom
codex/kubernetes-proxy-pod-isolation
Open

feat(kubernetes): add proxy-pod isolation topology#3144
drew wants to merge 4 commits into
codex/docker-host-supervisorfrom
codex/kubernetes-proxy-pod-isolation

Conversation

@drew

@drew drew commented Sep 2, 2026

Copy link
Copy Markdown
Collaborator

Summary

Add the Kubernetes proxy-pod implementation of RFC 0012. Each workload Pod runs openshell-sandbox; a separate, least-privileged supervisor Deployment runs openshell-supervisor. The driver creates a per-sandbox protected mTLS channel and installs the workload NetworkPolicy fence before releasing the workload.

Related Issue

Part of #1737.

Changes

  • Render the workload sandbox and external supervisor as separate Kubernetes resources.
  • Deny all workload egress and allow only supervisor-to-sandbox ingress on the boundary port.
  • Provision generation-bound bootstrap material, mTLS identity, Services, Deployments, and NetworkPolicies.
  • Gate workload release and readiness on authenticated supervisor attachment.
  • Reconcile companion resources, suspend on enforcement loss, and clean orphan fences safely.
  • Add Helm/RBAC/configuration support for the proxy-pod topology and remove the legacy sidecar topology.

Testing

  • mise run pre-commit passes
  • Full standard and proxy-pod Kubernetes E2E validation delegated to remote CI

Checklist

  • Follows Conventional Commits
  • Authored commits are signed off (DCO)

Review remediation

  • Add enforcement-focused NetworkPolicy E2E coverage; the shared runtime now detects dead or blackholed mediation sessions and rejects workload access to the reserved control destination.

Stack

  1. feat(isolation): define the RFC 0012 boundary contract #2941 — contract
  2. feat(isolation): add boundary protocol and Linux primitives #2942 — shared interface and primitives
  3. feat(isolation): split supervisor and sandbox runtimes #3151 — supervisor and sandbox runtimes
  4. feat(vm): run the supervisor outside the guest workload #2945 — VM driver
  5. feat(docker): isolate workloads behind the host supervisor #2965 — Docker driver
  6. feat(kubernetes): add proxy-pod isolation topology #3144 — Kubernetes proxy-pod topology (this PR)
  7. feat(podman): isolate workloads behind the host supervisor #3230 — Podman driver
  8. perf(isolation): add TCP and DNS benchmark harnesses #3229 — performance harnesses

@copy-pr-bot

copy-pr-bot Bot commented Sep 2, 2026

Copy link
Copy Markdown

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@drew drew changed the title codex/kubernetes proxy pod isolation feat(kubernetes): prototype RFC 0012 proxy-pod backend Sep 2, 2026
@drew
drew force-pushed the codex/kubernetes-proxy-pod-isolation branch from 4ee9a55 to 9083078 Compare September 3, 2026 01:45
@drew
drew changed the base branch from codex/1737-rfc12-supervisor-primitives to codex/docker-host-supervisor September 3, 2026 01:46
@drew
drew marked this pull request as ready for review September 3, 2026 01:46
@drew
drew requested review from a team, derekwaynecarr, mrunalp and sjenning as code owners September 3, 2026 01:46
@drew drew changed the title feat(kubernetes): prototype RFC 0012 proxy-pod backend feat(kubernetes): adopt shared supervisor boundary mode Sep 3, 2026
@drew
drew force-pushed the codex/kubernetes-proxy-pod-isolation branch from e5d257d to db1070b Compare September 3, 2026 14:34
@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown

@drew
drew force-pushed the codex/kubernetes-proxy-pod-isolation branch from db1070b to f17a633 Compare September 3, 2026 14:47
@drew drew added the test:e2e Requires end-to-end coverage label Sep 3, 2026
@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown

Label test:e2e applied for f17a633. Open the existing run and click Re-run all jobs to execute with the label set. The run will execute the standard E2E suite after building the required gateway and supervisor images once. The matching required CI gate status on this PR will flip green automatically once the run finishes.

@drew
drew force-pushed the codex/kubernetes-proxy-pod-isolation branch from f17a633 to 2fc442b Compare September 5, 2026 16:08
@drew
drew force-pushed the codex/kubernetes-proxy-pod-isolation branch 2 times, most recently from 28f965f to d39252f Compare September 5, 2026 16:23
@drew
drew force-pushed the codex/kubernetes-proxy-pod-isolation branch from d39252f to f0fade9 Compare September 5, 2026 16:28
@drew

drew commented Sep 6, 2026

Copy link
Copy Markdown
Collaborator Author

/ok to test

10 similar comments
@drew

drew commented Sep 6, 2026

Copy link
Copy Markdown
Collaborator Author

/ok to test

@drew

drew commented Sep 6, 2026

Copy link
Copy Markdown
Collaborator Author

/ok to test

@drew

drew commented Sep 6, 2026

Copy link
Copy Markdown
Collaborator Author

/ok to test

@drew

drew commented Sep 6, 2026

Copy link
Copy Markdown
Collaborator Author

/ok to test

@drew

drew commented Sep 6, 2026

Copy link
Copy Markdown
Collaborator Author

/ok to test

@drew

drew commented Sep 6, 2026

Copy link
Copy Markdown
Collaborator Author

/ok to test

@drew

drew commented Sep 6, 2026

Copy link
Copy Markdown
Collaborator Author

/ok to test

@drew

drew commented Sep 6, 2026

Copy link
Copy Markdown
Collaborator Author

/ok to test

@drew

drew commented Sep 6, 2026

Copy link
Copy Markdown
Collaborator Author

/ok to test

@drew

drew commented Sep 6, 2026

Copy link
Copy Markdown
Collaborator Author

/ok to test

@drew
drew force-pushed the codex/kubernetes-proxy-pod-isolation branch from 7fefbbc to bb84471 Compare September 8, 2026 22:32
@drew drew changed the title feat(kubernetes): adopt shared supervisor boundary mode feat(kubernetes): add proxy-pod isolation topology Sep 8, 2026
@drew
drew force-pushed the codex/kubernetes-proxy-pod-isolation branch from bb84471 to 262d5e2 Compare September 8, 2026 22:40
@drew
drew force-pushed the codex/kubernetes-proxy-pod-isolation branch from 262d5e2 to 5121361 Compare September 9, 2026 04:39
@drew
drew removed this pull request from stack #3152 September 9, 2026 04:42
@drew
drew added this pull request to stack #3231 September 9, 2026 04:42
@drew
drew force-pushed the codex/kubernetes-proxy-pod-isolation branch from 5121361 to bf11e1c Compare September 9, 2026 04:53
@drew
drew force-pushed the codex/kubernetes-proxy-pod-isolation branch from bf11e1c to 9cb3d55 Compare September 9, 2026 05:03
drew added 4 commits September 8, 2026 22: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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

test:e2e Requires end-to-end coverage

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant