Skip to content

feat(podman): isolate workloads behind the host supervisor - #3230

Open
drew wants to merge 5 commits into
codex/kubernetes-proxy-pod-isolationfrom
codex/podman-host-supervisor
Open

feat(podman): isolate workloads behind the host supervisor#3230
drew wants to merge 5 commits into
codex/kubernetes-proxy-pod-isolationfrom
codex/podman-host-supervisor

Conversation

@drew

@drew drew commented Sep 9, 2026

Copy link
Copy Markdown
Collaborator

Summary

Add the Podman implementation of the RFC 0012 sandbox/supervisor topology. The driver launches separate workload and supervisor containers, provisions a private authenticated channel, and denies direct workload egress.

Related Issue

Part of #1737.

Changes

  • Implement the shared isolation contract in the existing Podman driver crate.
  • Provision the sandbox runtime, supervisor channel, bootstrap material, and lifecycle wiring.
  • Mount a workload-owned 64 MiB tmpfs at /run for runtime state.
  • Rotate generation, session token, and TLS identity before every restart.
  • Bound image metadata inspection and reject dangling container roots.
  • Add Podman lifecycle, identity, and gateway-start coverage.

Testing

  • mise run pre-commit passes
  • Podman unit tests pass (221 tests)
  • Podman E2E validation delegated to remote CI

Checklist

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

Review remediation

  • Add a workload-owned 64 MiB /run tmpfs and rotate generation, token, TLS identity, bootstrap, and supervisor channel material before restart.

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
  7. feat(podman): isolate workloads behind the host supervisor #3230 — Podman driver (this PR)
  8. perf(isolation): add TCP and DNS benchmark harnesses #3229 — performance harnesses

@drew
drew requested review from a team, derekwaynecarr, mrunalp and sjenning as code owners September 9, 2026 04:40
@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown

@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown

Label test:e2e applied for 355a410. 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/podman-host-supervisor branch from 355a410 to 4ddf65a Compare September 9, 2026 05:03
@drew
drew force-pushed the codex/podman-host-supervisor branch from 4ddf65a to 6179a23 Compare September 9, 2026 05:14
@drew
drew force-pushed the codex/podman-host-supervisor branch 2 times, most recently from 342de37 to c009765 Compare September 9, 2026 05:38
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>
@drew
drew force-pushed the codex/podman-host-supervisor branch from c009765 to a820116 Compare September 9, 2026 05:50
@drew
drew force-pushed the codex/podman-host-supervisor branch from 997ccad to 1bce241 Compare September 9, 2026 06:23
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
@drew
drew force-pushed the codex/podman-host-supervisor branch from 1bce241 to 5e464ee Compare September 9, 2026 06:37
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