Skip to content

feat(kubernetes): isolate workloads behind a dedicated supervisor - #3144

Merged
drew merged 16 commits into
codex/1737-rfc12-supervisor-primitivesfrom
codex/kubernetes-proxy-pod-isolation
Sep 14, 2026
Merged

drew merged 16 commits into
codex/1737-rfc12-supervisor-primitivesfrom
codex/kubernetes-proxy-pod-isolation

Conversation

@drew

@drew drew commented Sep 2, 2026

Copy link
Copy Markdown
Collaborator

Summary

Add the Kubernetes implementation of RFC 0012. The workload Pod runs openshell-sandbox; a directly managed supervisor Pod runs openshell-supervisor.

The driver denies direct workload egress and preserves supervisor egress with two shared namespace NetworkPolicies. TLS, JWT claims, session generation, and recorded Pod UIDs authorize the exact supervisor-to-sandbox pairing.

Related Issue

Part of #1737.

Changes

  • Render separate workload and directly managed supervisor Pods.
  • Gate both Pods until immutable bootstrap material and the namespace network fences are ready.
  • Deny workload-initiated egress with one namespace-wide policy.
  • Allow egress only for OpenShell supervisor-role Pods with a second namespace-wide policy, including in default-deny namespaces.
  • Split Secrets so the workload receives only TLS server material and public JWT verification keys.
  • Give the supervisor its gateway token, sandbox token, and pinned sandbox CA.
  • Rotate the session, token pair, TLS identity, Pods, and Secrets on restart.
  • Reconcile Services, Secrets, workloads, supervisors, and both shared NetworkPolicies together.

Testing

  • mise run pre-commit
  • cargo test -p openshell-driver-kubernetes --lib (221 passed)
  • Full Kubernetes E2E delegated to remote CI

Checklist

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

Stack

  1. feat(isolation): implement the RFC 0012 sandbox architecture #2942 — RFC 0012 core architecture
  2. feat(vm): run the supervisor outside the guest workload #2945 — VM driver
  3. feat(docker): isolate workloads behind a companion supervisor #2965 — Docker driver
  4. feat(kubernetes): isolate workloads behind a dedicated supervisor #3144 — Kubernetes driver (this PR)
  5. feat(podman): isolate workloads behind a separate supervisor #3230 — Podman driver
  6. 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
@johntmyers

Copy link
Copy Markdown
Collaborator

gator-agent

Re-check After Author Update

Thanks @drew. I checked head 44833f03ce0b4eaf04ec131872a12f1ade6385a6 after your replies about the three earlier findings. The author-only delta adds typed image-pull-policy validation and canonical rendering, makes first-party Helm paths explicitly acknowledge NetworkPolicy enforcement with an early chart failure, and makes the published Kubernetes TOML example parseable. Those three obligations appear resolved.

Gator cannot complete the required critical-only follow-up because this PR now conflicts with its current stacked base, #2965 (codex/docker-host-supervisor). The open GATOR-2244e2bf-01 supervisor-egress obligation also remains carried because this delta does not modify that policy path.

Action required: @drew, rebase PR #3144 onto the current #2965 head, resolve the merge conflicts, and address or obtain a maintainer waiver for GATOR-2244e2bf-01; then push the resulting head for the bounded follow-up review.

Gator metadata
  • Head SHA: 44833f03ce0b4eaf04ec131872a12f1ade6385a6
  • Base SHA: 070b29afc43f91b8239d8dfc129864f293de86a2
  • Merge base SHA: 070b29afc43f91b8239d8dfc129864f293de86a2
  • Patch ID: 848d1d972b3b5e0f7598ce8e739279a72d8be374
  • Gator payload: 8
  • Review mode: critical_only
  • Previous reviewed SHA: 2244e2bf579934b9c5e9fdb0388cccbc87ccaa8e
  • Review budget exhausted: yes
  • Maintainer decision required: yes — GATOR-2244e2bf-01 remains unresolved and unwaived
  • Next state: gator:blocked
  • Blocked reason: merge_conflict

@johntmyers

Copy link
Copy Markdown
Collaborator

gator-agent

Maintainer Convergence Decision

Thanks @drew. I checked the rebased head and the Trivy Helm-profile inventory update. The stacked-base conflict is resolved, and the required critical-only review found no newly introduced Critical defect.

The autonomous Warning budget is exhausted, and one concrete maintainer decision is required before review can proceed.

Root-cause findings:

  • GATOR-2244e2bf-01: still unresolved and unwaived. In a supported sandbox namespace where another NetworkPolicy default-denies egress for all Pods, the supervisor Pod loses DNS, gateway, and approved-upstream connectivity because this layer supplies no matching supervisor allow-egress policy.

Scope growth:

  • None. The requested remediation remains within this Kubernetes driver layer and its NetworkPolicy tests.

Reviewer-quality signals:

  • The critical-only delta review proposed no new findings and did not re-raise any resolved obligation.

Maintainer action: @NVIDIA/openshell-maintainers, decide whether #3144 must add and test an allow-egress policy selecting only supervisor-role Pods, or explicitly waive GATOR-2244e2bf-01 by confirming that namespaces with a separate default-deny-all egress policy are outside the supported deployment contract.

Gator metadata
  • Head SHA: 68b49b0f41d1a9f91b5962d95050df9097701904
  • Base SHA: 65a0a78335c7256f60c0dde72ed2f56127cf42ca
  • Merge base SHA: 65a0a78335c7256f60c0dde72ed2f56127cf42ca
  • Patch ID: 80f5af371cde686c34f57486eb0a2301df6be23b
  • Gator payload: 8
  • Review mode: critical_only
  • Previous reviewed SHA: 44833f03ce0b4eaf04ec131872a12f1ade6385a6
  • Review budget exhausted: yes
  • Maintainer decision required: yes — GATOR-2244e2bf-01 remains unresolved and unwaived
  • Checks: current-head Branch Checks, Helm Lint, Trivy Changes, and E2E workflows are queued or running; pipeline handoff waits on the convergence decision
  • E2E: test:e2e is applied and current-head Branch E2E run 34802225740 is in progress
  • Next state: gator:blocked
  • Blocked reason: review_convergence_decision_required

@johntmyers

Copy link
Copy Markdown
Collaborator

gator-agent

Maintainer Convergence Decision

I checked Drew's new head after the stacked base advanced. The prior nine-commit Kubernetes patch is range-diff equivalent, and the only author-only addition updates the Trivy scan test's expected profile counts. The required critical-only review found no newly introduced Critical defect.

The autonomous Warning budget is exhausted, and one concrete maintainer decision is still required before review can proceed.

Root-cause findings:

  • GATOR-2244e2bf-01: still unresolved and unwaived. In a supported sandbox namespace where another NetworkPolicy default-denies egress for all Pods, the supervisor Pod loses DNS, gateway, and approved-upstream connectivity because this layer supplies no matching supervisor allow-egress policy.

Scope growth:

  • None. The latest delta is test-inventory bookkeeping, and the requested remediation remains within this Kubernetes driver layer and its NetworkPolicy tests.

Reviewer-quality signals:

  • The critical-only delta review proposed no findings, did not re-raise resolved feedback, and made no unchanged-code proposal.

Maintainer action: @NVIDIA/openshell-maintainers, decide whether #3144 must add and test an allow-egress policy selecting only supervisor-role Pods, or explicitly waive GATOR-2244e2bf-01 by confirming that namespaces with a separate default-deny-all egress policy are outside the supported deployment contract.

Gator metadata
  • Head SHA: d4c9d37fdfa4a82b2e902bfbfdf7035e8843f70d
  • Base SHA: 6cefb69330f52c390a45dced6e07daacc294fc4b
  • Merge base SHA: 6cefb69330f52c390a45dced6e07daacc294fc4b
  • Patch ID: 0f6962706d6fd317dbc25e0d595b7ff11b30f166
  • Gator payload: 8
  • Review mode: critical_only
  • Previous reviewed SHA: 44833f03ce0b4eaf04ec131872a12f1ade6385a6
  • Review budget exhausted: yes
  • Maintainer decision required: yes — GATOR-2244e2bf-01 remains unresolved and unwaived
  • Checks: current-head Branch Checks and E2E are running; Helm Lint is green; Trivy Changes is failing
  • E2E: test:e2e is applied and current-head Branch E2E run 34804160781 is queued or running
  • Next state: gator:blocked
  • Blocked reason: review_convergence_decision_required

@johntmyers

Copy link
Copy Markdown
Collaborator

gator-agent

Maintainer Convergence Decision

I checked Drew's new head after #2965 advanced again. All ten commits are range-diff equivalent to the previously reviewed patch, and the base-only change is Trivy metadata, so no new critical-only review is needed and the existing supervisor-egress obligation is unchanged.

The autonomous Warning budget is exhausted, and one concrete maintainer decision is still required before review can proceed.

Root-cause findings:

  • GATOR-2244e2bf-01: still unresolved and unwaived. In a supported sandbox namespace where another NetworkPolicy default-denies egress for all Pods, the supervisor Pod loses DNS, gateway, and approved-upstream connectivity because this layer supplies no matching supervisor allow-egress policy.

Scope growth:

  • None. The effective Kubernetes patch is unchanged, and the requested remediation remains within this driver layer and its NetworkPolicy tests.

Reviewer-quality signals:

  • No new findings were proposed for this rebase-equivalent head; the prior critical-only result and resolved obligations were preserved.

Maintainer action: @NVIDIA/openshell-maintainers, decide whether #3144 must add and test an allow-egress policy selecting only supervisor-role Pods, or explicitly waive GATOR-2244e2bf-01 by confirming that namespaces with a separate default-deny-all egress policy are outside the supported deployment contract.

Gator metadata
  • Head SHA: 8caa8de70f0aca339ff762d44b1e2adaac9b0818
  • Base SHA: 6049c0a7e7ea5ef4ebf70e49ef214222ce71fe31
  • Merge base SHA: 6049c0a7e7ea5ef4ebf70e49ef214222ce71fe31
  • Patch ID: 0f6962706d6fd317dbc25e0d595b7ff11b30f166
  • Gator payload: 8
  • Review mode: critical_only
  • Previous reviewed SHA: d4c9d37fdfa4a82b2e902bfbfdf7035e8843f70d (rebase-equivalent effective patch)
  • Review budget exhausted: yes
  • Maintainer decision required: yes — GATOR-2244e2bf-01 remains unresolved and unwaived
  • Checks: current-head Branch Checks and E2E are running; Helm Lint and Trivy Changes are green; two E2E jobs have failed while the workflow remains active
  • E2E: test:e2e is applied and current-head Branch E2E run 34804841131 is in progress
  • Next state: gator:blocked
  • Blocked reason: review_convergence_decision_required

@johntmyers

Copy link
Copy Markdown
Collaborator

gator-agent

Maintainer Convergence Decision

I checked Drew's new head after #2965 advanced again. All ten commits are range-diff equivalent to the previously reviewed Kubernetes patch, with the same patch ID, so the effective change and its full-stack architectural context are unchanged. Another critical-only reviewer run would duplicate the prior review.

The autonomous Warning budget is exhausted, and one concrete maintainer decision is still required before review can proceed.

Root-cause findings:

  • GATOR-2244e2bf-01: still unresolved and unwaived. In a supported sandbox namespace where another NetworkPolicy default-denies egress for all Pods, the supervisor Pod loses DNS, gateway, and approved-upstream connectivity because this layer supplies no matching supervisor allow-egress policy.

Scope growth:

  • None. The current head is a pure stacked-base rebase, and the requested remediation remains within this Kubernetes driver layer and its NetworkPolicy tests.

Reviewer-quality signals:

  • No new findings were proposed for this rebase-equivalent head; the prior critical-only result and resolved obligations were preserved.

Maintainer action: @NVIDIA/openshell-maintainers, decide whether #3144 must add and test an allow-egress policy selecting only supervisor-role Pods, or explicitly waive GATOR-2244e2bf-01 by confirming that namespaces with a separate default-deny-all egress policy are outside the supported deployment contract.

Gator metadata
  • Head SHA: d8f5390436d81c4a062e9aeb054361c245bc487a
  • Base SHA: 9221700c8725ff980db6d669ffe8baf3422bda77
  • Merge base SHA: 9221700c8725ff980db6d669ffe8baf3422bda77
  • Patch ID: 0f6962706d6fd317dbc25e0d595b7ff11b30f166
  • Gator payload: 8
  • Review mode: critical_only
  • Previous reviewed SHA: 8caa8de70f0aca339ff762d44b1e2adaac9b0818 (rebase-equivalent effective patch)
  • Review budget exhausted: yes
  • Maintainer decision required: yes — GATOR-2244e2bf-01 remains unresolved and unwaived
  • Checks: current-head Branch Checks and E2E are running; Helm Lint and Trivy Changes are green; two E2E jobs have failed while the workflow remains active
  • E2E: test:e2e is applied and current-head Branch E2E run 34805731962 is in progress
  • Next state: gator:blocked
  • Blocked reason: review_convergence_decision_required

@johntmyers

Copy link
Copy Markdown
Collaborator

gator-agent

Maintainer Convergence Decision

Thanks @drew. I checked the current head’s E2E image-reuse update against the current #2965 stacked base and the downstream RFC 0012 layers. The bounded critical-only review found no newly introduced Critical defect: the external Kubernetes driver path now reuses both preloaded runtime images and avoids reloading them into kind, while the non-external path still builds and loads its own images.

The autonomous Warning budget is exhausted, and one concrete maintainer decision is still required before review can proceed.

Root-cause findings:

  • GATOR-2244e2bf-01: still unresolved and unwaived. In a supported sandbox namespace where another NetworkPolicy default-denies egress for all Pods, the supervisor Pod loses DNS, gateway, and approved-upstream connectivity because this layer supplies no matching supervisor allow-egress policy.

Scope growth:

  • None. The latest delta is confined to Kubernetes E2E image reuse, and the requested remediation remains within this driver layer and its NetworkPolicy tests.

Reviewer-quality signals:

  • The critical-only review proposed no findings, did not re-raise resolved feedback, and made no unchanged-code proposal.

Maintainer action: @NVIDIA/openshell-maintainers, decide whether #3144 must add and test an allow-egress policy selecting only supervisor-role Pods, or explicitly waive GATOR-2244e2bf-01 by confirming that namespaces with a separate default-deny-all egress policy are outside the supported deployment contract.

Gator metadata
  • Head SHA: 83bbd7534fed5d9bc00f4957e8fd2807c75ea74c
  • Base SHA: b80c205c7bbcb821065f2071efc30a5341ff1a0e
  • Merge base SHA: b80c205c7bbcb821065f2071efc30a5341ff1a0e
  • Patch ID: ab01e445e88006e3a3d26a454abb44818eb78ecc
  • Gator payload: 8
  • Review mode: critical_only
  • Previous reviewed SHA: 44833f03ce0b4eaf04ec131872a12f1ade6385a6
  • Review budget exhausted: yes
  • Maintainer decision required: yes — GATOR-2244e2bf-01 remains unresolved and unwaived
  • Checks: current-head Branch Checks and E2E are in progress; Helm Lint and Trivy Changes are green
  • E2E: test:e2e is applied and current-head Branch E2E run 34807043569 is in progress
  • Next state: gator:blocked
  • Blocked reason: review_convergence_decision_required

@johntmyers

Copy link
Copy Markdown
Collaborator

gator-agent

Maintainer Convergence Decision

I checked Drew's new head after #2965 advanced again. All eleven Kubernetes commits are range-diff equivalent to the previously reviewed patch, with the same patch ID; the only underlying stacked-base change is in the Docker driver layer. The effective Kubernetes change and its relationship to downstream #3230 and #3229 are unchanged, so another critical-only reviewer run would duplicate the prior review.

The autonomous Warning budget is exhausted, and one concrete maintainer decision is still required before review can proceed.

Root-cause findings:

  • GATOR-2244e2bf-01: still unresolved and unwaived. In a supported sandbox namespace where another NetworkPolicy default-denies egress for all Pods, the supervisor Pod loses DNS, gateway, and approved-upstream connectivity because this layer supplies no matching supervisor allow-egress policy.

Scope growth:

  • None. The current head is a pure stacked-base rebase, and the requested remediation remains within this Kubernetes driver layer and its NetworkPolicy tests.

Reviewer-quality signals:

  • No new findings were proposed for this rebase-equivalent head; the prior critical-only result and resolved obligations were preserved.

Maintainer action: @NVIDIA/openshell-maintainers, decide whether #3144 must add and test an allow-egress policy selecting only supervisor-role Pods, or explicitly waive GATOR-2244e2bf-01 by confirming that namespaces with a separate default-deny-all egress policy are outside the supported deployment contract.

Gator metadata
  • Head SHA: c6c3fccb3b666cc31ef8f0b266c1d38b5d4c9e84
  • Base SHA: 6bcbd5a7f7d40f3655a58c4f77857f5c92fa84a2
  • Merge base SHA: 6bcbd5a7f7d40f3655a58c4f77857f5c92fa84a2
  • Patch ID: ab01e445e88006e3a3d26a454abb44818eb78ecc
  • Gator payload: 8
  • Review mode: critical_only
  • Previous reviewed effective patch: 83bbd7534fed5d9bc00f4957e8fd2807c75ea74c (range-diff equivalent)
  • Review budget exhausted: yes
  • Maintainer decision required: yes — GATOR-2244e2bf-01 remains unresolved and unwaived
  • Checks: current-head Branch Checks and E2E are running; Helm Lint and Trivy Changes are green
  • E2E: test:e2e is applied and current-head Branch E2E run 34808156134 is in progress
  • Next state: gator:blocked
  • Blocked reason: review_convergence_decision_required

@johntmyers

Copy link
Copy Markdown
Collaborator

gator-agent

Maintainer Convergence Decision

Thanks @drew. I reviewed the current head’s incremental E2E image-reuse update against the current #2965 stacked base and kept downstream #3230 and #3229 in scope. The bounded critical-only review found no newly introduced Critical defect: the external Kubernetes driver image now receives the preloaded sandbox runtime image reference alongside the supervisor image, while the established build/load paths remain intact.

The autonomous Warning budget is exhausted, and one concrete maintainer decision is still required before review can proceed.

Root-cause findings:

  • GATOR-2244e2bf-01: still unresolved and unwaived. In a supported sandbox namespace where another NetworkPolicy default-denies egress for all Pods, the supervisor Pod loses DNS, gateway, and approved-upstream connectivity because this layer supplies no matching supervisor allow-egress policy.

Scope growth:

  • None. The latest author delta is confined to Kubernetes E2E reuse of the preloaded sandbox runtime image, and the requested remediation remains within this driver layer and its NetworkPolicy tests.

Reviewer-quality signals:

  • The critical-only review proposed no findings, did not re-raise resolved feedback, and made no unchanged-code proposal.

Maintainer action: @NVIDIA/openshell-maintainers, decide whether #3144 must add and test an allow-egress policy selecting only supervisor-role Pods, or explicitly waive GATOR-2244e2bf-01 by confirming that namespaces with a separate default-deny-all egress policy are outside the supported deployment contract.

Gator metadata
  • Head SHA: d4d4ea74df654fdeb3770fed3281cab4e4d9606c
  • Base SHA: 30cf1e39c17f99284e19bf483ce1bb878b963fe2
  • Merge base SHA: 30cf1e39c17f99284e19bf483ce1bb878b963fe2
  • Patch ID: 8f5b69bc7522c7900fefc598e4dd19c57a63b1ed
  • Gator payload: 8
  • Review mode: critical_only
  • Previous reviewed SHA: 44833f03ce0b4eaf04ec131872a12f1ade6385a6
  • Review budget exhausted: yes
  • Maintainer decision required: yes — GATOR-2244e2bf-01 remains unresolved and unwaived
  • Checks: Branch Checks, Helm Lint, and Trivy Changes are green; current-head E2E is still running
  • E2E: test:e2e is applied; current-head Branch E2E run 34810070468 is in progress, with Kubernetes E2E jobs green so far
  • Next state: gator:blocked
  • Blocked reason: review_convergence_decision_required

@johntmyers

Copy link
Copy Markdown
Collaborator

gator-agent

Maintainer Convergence Decision

Thanks @drew. I reviewed the current head’s two new Kubernetes commits against the current #2965 stacked base and kept downstream #3230 and #3229 in scope. The prior eleven-commit Kubernetes patch is range-diff equivalent, and the bounded critical-only review found no newly introduced Critical defect in the typed-resource cleanup or restart-recovery delta.

The autonomous Warning budget is exhausted, and one concrete maintainer decision is still required before review can proceed.

Root-cause findings:

  • GATOR-2244e2bf-01: still unresolved and unwaived. The new delta does not modify the NetworkPolicy path. In a supported sandbox namespace where another NetworkPolicy default-denies egress for all Pods, the supervisor Pod loses DNS, gateway, and approved-upstream connectivity because this layer supplies no matching supervisor allow-egress policy.

Scope growth:

  • None. The latest author delta stays within Kubernetes runtime resource construction, cleanup, and restart recovery; the requested remediation remains within this driver layer and its NetworkPolicy tests.

Reviewer-quality signals:

  • The critical-only review proposed no findings, did not re-raise resolved feedback, and made no unchanged-code proposal.

Maintainer action: @NVIDIA/openshell-maintainers, decide whether #3144 must add and test an allow-egress policy selecting only supervisor-role Pods, or explicitly waive GATOR-2244e2bf-01 by confirming that namespaces with a separate default-deny-all egress policy are outside the supported deployment contract.

Gator metadata
  • Head SHA: ff7f535a25df8e27964cadca75ab5c5c53e27dc5
  • Base SHA: 3a8cf989522754867aeabad6384532214b7aa752
  • Merge base SHA: 3a8cf989522754867aeabad6384532214b7aa752
  • Patch ID: 64f57d7095330fd3b7b9df57a2554a590021833b
  • Gator payload: 8
  • Review mode: critical_only
  • Previous reviewed effective head: d4d4ea74df654fdeb3770fed3281cab4e4d9606c
  • Review budget exhausted: yes
  • Maintainer decision required: yes — GATOR-2244e2bf-01 remains unresolved and unwaived
  • Checks: current-head Branch Checks and E2E are running; Helm Lint and Trivy Changes are green
  • E2E: test:e2e is applied and current-head Branch E2E run 34814065581 is in progress
  • Next state: gator:blocked
  • Blocked reason: review_convergence_decision_required

@johntmyers

Copy link
Copy Markdown
Collaborator

gator-agent

Maintainer Convergence Decision

Thanks @drew. I reviewed the current head’s restored-session rotation against the current #2965 stacked base and kept downstream #3230 and #3229 in scope. The bounded critical-only review found no newly introduced Critical defect: when gateway recovery supplies fresh launch authentication for an existing workload Pod, this layer now tears down the old Kubernetes runtime pair and recreates it with the new session material.

The autonomous Warning budget is exhausted, and one concrete maintainer decision is still required before review can proceed.

Root-cause findings:

  • GATOR-2244e2bf-01: still unresolved and unwaived. The new 12-line delta does not modify the NetworkPolicy path. In a supported sandbox namespace where another NetworkPolicy default-denies egress for all Pods, the supervisor Pod loses DNS, gateway, and approved-upstream connectivity because this layer supplies no matching supervisor allow-egress policy.

Scope growth:

  • None. The latest author delta stays within Kubernetes restart recovery, and the requested remediation remains within this driver layer and its NetworkPolicy tests.

Reviewer-quality signals:

  • The critical-only review proposed no findings, did not re-raise resolved feedback, and made no unchanged-code proposal.

Maintainer action: @NVIDIA/openshell-maintainers, decide whether #3144 must add and test an allow-egress policy selecting only supervisor-role Pods, or explicitly waive GATOR-2244e2bf-01 by confirming that namespaces with a separate default-deny-all egress policy are outside the supported deployment contract.

Gator metadata
  • Head SHA: df5c17f258f742f21fdcaeb66a49b2f805738229
  • Base SHA: eca09e94c93577977d538141d0cdf8c588ab3d81
  • Merge base SHA: eca09e94c93577977d538141d0cdf8c588ab3d81
  • Patch ID: c792d693f15c762003198172c4a6a07c59b4574f
  • Gator payload: 8
  • Review mode: critical_only
  • Previous reviewed effective head: ff7f535a25df8e27964cadca75ab5c5c53e27dc5
  • Review budget exhausted: yes
  • Maintainer decision required: yes — GATOR-2244e2bf-01 remains unresolved and unwaived
  • Checks: Branch Checks, Helm Lint, and Trivy Changes are green. E2E attempt 1 failed only in Docker Rust E2E; attempt 2 is queued.
  • E2E: test:e2e is applied; all Kubernetes E2E jobs passed on attempt 1 of current-head run 34816523872.
  • Next state: gator:blocked
  • Blocked reason: review_convergence_decision_required

@johntmyers

Copy link
Copy Markdown
Collaborator

gator-agent

Re-check After Author Update

Thanks @drew. I checked head eb215c1bbd97631a1e204ad4694ffd5af09c5e23 after your update resolving the supervisor-egress finding. The Kubernetes layer now creates and validates a namespace-wide allow-egress NetworkPolicy selecting only supervisor-role Pods, keeps the workload deny-egress fence separate, and requires both policies for runtime readiness. This resolves GATOR-2244e2bf-01.

The required bounded critical-only review found no newly introduced Critical defect in the current author-only delta. No blocking or carried findings remain, and no maintainer convergence decision is needed.

Current-head Branch Checks and E2E are running; Helm Lint and Trivy Changes are green. Gator is moving to pipeline watch.

Gator metadata
  • Validation: Project-valid as PR 4 of the RFC 0012 isolation stack, implementing the Kubernetes driver layer on feat(docker): isolate workloads behind a companion supervisor #2965 while preserving downstream feat(podman): isolate workloads behind a separate supervisor #3230 and perf(isolation): add TCP and DNS benchmark harnesses #3229 context.
  • Docs: Existing Kubernetes operator and runtime documentation covers this behavior; no additional direct-UX documentation change is required for this fix.
  • Checks: OpenShell / Branch Checks and OpenShell / E2E are pending; OpenShell / Helm Lint and the latest OpenShell / Trivy Changes are green.
  • E2E: test:e2e is applied and current-head Branch E2E run 34863904780 is in progress.
  • Head SHA: eb215c1bbd97631a1e204ad4694ffd5af09c5e23
  • Base SHA: f09c58a8bbd5f577e32451fd5b29afeb9b50408e
  • Merge base SHA: f09c58a8bbd5f577e32451fd5b29afeb9b50408e
  • Patch ID: 68297064720301d7b355232727c0191c3f952cae
  • Gator payload: 8
  • Review mode: critical_only
  • Previous reviewed SHA: 44833f03ce0b4eaf04ec131872a12f1ade6385a6
  • Review budget exhausted: yes
  • Maintainer decision required: no
  • Review telemetry: 4 finding-bearing rounds; 4 unique durable findings; current reviewer proposed 0 findings, 0 duplicates, 0 unchanged-code findings, and 0 findings lacking a reproducer.
  • Next state: gator:watch-pipeline

@johntmyers

Copy link
Copy Markdown
Collaborator

gator-agent

Maintainer Approval Needed

Gator validation and PR monitoring are complete. The current head is a rebase-equivalent copy of the reviewed Kubernetes patch, all four durable findings remain resolved, and the full required current-head pipeline is green.

Human maintainer approval is now required.

Gator metadata
  • Validation: Project-valid as PR 4 of the RFC 0012 isolation stack, implementing the Kubernetes proxy-pod driver layer on feat(docker): isolate workloads behind a companion supervisor #2965 while preserving the downstream feat(podman): isolate workloads behind a separate supervisor #3230 and perf(isolation): add TCP and DNS benchmark harnesses #3229 architecture.
  • Review: No blocking or carried findings remain; current patch ID 68297064720301d7b355232727c0191c3f952cae matches reviewed head eb215c1bbd97631a1e204ad4694ffd5af09c5e23.
  • Docs: Existing Kubernetes operator and runtime documentation covers the behavior; no additional direct-UX documentation change is required for the final fix.
  • Checks: OpenShell / Branch Checks, OpenShell / Helm Lint, OpenShell / Trivy Changes, and OpenShell / E2E are green for the current head.
  • E2E: test:e2e is applied; the current-head Kubernetes and external-driver E2E jobs passed.
  • Head SHA: 9c5031a40ee773a775acc5d517c2cc032e91c00c
  • Base SHA: 995af07e9a521672d2c785198a6e2d2e10cac7cf
  • Merge base SHA: 995af07e9a521672d2c785198a6e2d2e10cac7cf
  • Patch ID: 68297064720301d7b355232727c0191c3f952cae
  • Gator payload: 8
  • Review mode: already_reviewed
  • Review budget exhausted: yes
  • Maintainer decision required: no
  • Next state: gator:approval-needed

drew added 16 commits September 14, 2026 09:29
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>

@johntmyers johntmyers left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

gator-agent

PR Review Status

Thanks @drew. I reviewed the current head’s Kubernetes session-lineage delta against the current #2965 stacked base while keeping the RFC 0012 core and downstream #3230/#3229 layers in scope. The prior 15 Kubernetes commits are range-diff identical to the reviewed patch, and the bounded critical-only review found no newly introduced Critical defect: the Kubernetes boundary now receives the signed runtime generation and session rotation used by the shared sandbox protocol.

Blocking findings:

  • No blocking findings remain

Carried findings:

  • None; all four durable findings remain resolved

Current-head Branch Checks and E2E are running; Helm Lint and Trivy Changes are green. Gator is returning to pipeline watch.

Gator metadata
  • Validation: Project-valid as PR 4 of the RFC 0012 isolation stack, implementing the Kubernetes proxy-pod driver layer on #2965 while preserving downstream #3230 and #3229 architecture.
  • Docs: No direct user-facing UX contract changed in this lineage propagation delta; existing Kubernetes documentation remains sufficient.
  • Checks: OpenShell / Branch Checks and OpenShell / E2E are pending; OpenShell / Helm Lint and OpenShell / Trivy Changes are green.
  • E2E: test:e2e is applied and current-head Branch E2E run 34869062407 is queued/running. No /ok to test or workflow rerun is currently required.
  • Head SHA: dc47f155324e6ae42b02392b13bd12aa62ea7b2b
  • Base SHA: a3ff2e7024cb028a153894ea66921025ca1176c2
  • Merge base SHA: a3ff2e7024cb028a153894ea66921025ca1176c2
  • Patch ID: 8eed2c4d9598c9aa04d9fc52d4c3fa810702fc22
  • Gator payload: 8
  • Review mode: critical_only
  • Previous reviewed SHA: eb215c1bbd97631a1e204ad4694ffd5af09c5e23
  • Review budget exhausted: yes
  • Maintainer decision required: no
  • Next state: gator:watch-pipeline

@johntmyers

Copy link
Copy Markdown
Collaborator

gator-agent

Monitoring Complete

Monitoring is complete because this PR has merged.

Final status: The RFC 0012 Kubernetes proxy-pod driver layer merged after all durable review findings were resolved and the required Branch Checks, Helm Lint, Trivy Changes, and E2E gates passed for the final reviewed patch.

I removed the active gator:* label because there is nothing left for gator to monitor on this PR.

Gator metadata
  • Head SHA: dc47f155324e6ae42b02392b13bd12aa62ea7b2b
  • Gator payload: 8
  • Previous state: gator:approval-needed
  • Final state: merged

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.

3 participants