feat(podman): honor OCI image working directories - #2563
Conversation
|
🌿 Preview your docs: https://nvidia-preview-pr-2563.docs.buildwithfern.com/openshell |
a7e1ee7 to
a6993fa
Compare
a6993fa to
a746233
Compare
Signed-off-by: Matthew Grossman <mgrossman@nvidia.com>
a746233 to
2ab6ea3
Compare
Signed-off-by: Matthew Grossman <mgrossman@nvidia.com>
|
Label |
Signed-off-by: Matthew Grossman <mgrossman@nvidia.com>
Signed-off-by: Matthew Grossman <mgrossman@nvidia.com>
Signed-off-by: Matthew Grossman <mgrossman@nvidia.com>
matthewgrossman
left a comment
There was a problem hiding this comment.
gator-agent
PR Review Status
Validation: This PR is project-valid because it implements maintainer-authored, agent-ready issue #2526 and is scoped to the Podman half of the OCI WorkingDir work after #2530 merged.
Head SHA: 2069f04785a9ae0742057684c25f479176e0902e
Base SHA: 490f66f47af4c225fabeb2dc48ea51c67154827c
Merge base SHA: 490f66f47af4c225fabeb2dc48ea51c67154827c
Patch ID: af1aa85fb495511ae397c200658e15602169ca7b
Gator payload: 2
Review mode: initial
Previous reviewed SHA: none
Blocking findings:
GATOR-2069f047-01: Podman workspace-probe startup recovery can remove containers selected only by the forgeableopenshell.workspace-probe=truelabel.
Carried findings:
- None
Non-blocking suggestions:
- None
Docs: Fern docs and architecture guidance were updated for the user-visible compute-driver behavior.
Next state: gator:in-review
Signed-off-by: Matthew Grossman <mgrossman@nvidia.com>
Signed-off-by: Matthew Grossman <mgrossman@nvidia.com>
Signed-off-by: Matthew Grossman <mgrossman@nvidia.com>
matthewgrossman
left a comment
There was a problem hiding this comment.
gator-agent
PR Review Status
Validation: This PR is project-valid because it implements maintainer-authored issue #2526 and extends the merged OCI WorkingDir support to the Podman driver with scoped docs and E2E coverage.
Head SHA: fdf4a19e6fd1b82bfe5a6b8b286e6e8cca433edb
Base SHA: f383ee1038f91921e104405cd01e4150d533fdbe
Merge base SHA: f383ee1038f91921e104405cd01e4150d533fdbe
Patch ID: 897b5986b6d07fd18fe79401e8a6ca725423b9d7
Gator payload: 2
Review mode: follow_up
Previous reviewed SHA: 2069f04785a9ae0742057684c25f479176e0902e
Blocking findings:
- No blocking findings remain.
GATOR-2069f047-01is resolved by the latest probe lifecycle changes: probe names are attempt-unique, ambiguous create conflicts no longer trigger cleanup, and cleanup targets the exact probe name created by this attempt rather than sweeping by a forgeable label.
Carried findings:
- None
Docs: Fern docs and architecture guidance were updated for the user-visible Podman OCI WorkingDir behavior.
E2E: test:e2e is already applied; the required E2E gate is still running.
Next state: gator:watch-pipeline
Summary
Extend the Docker/shared OCI working-directory support introduced in #2530 to the Podman driver. Podman validates the original immutable image before its workspace volume masks the OCI workdir, then launches the sandbox at the validated path without expanding the image user's filesystem authority.
This work was originally developed on top of #2530. That PR has merged, and this PR now targets
main.Related Issue
Part of #2526
Changes
Design note
Issue #2526 originally asked to avoid a new identity protocol. Podman's managed workspace volume hides the original image workdir before the final supervisor starts, so the Docker design cannot validate the original tree in place. This PR therefore adds a narrow internal, Podman-only contract: the gateway sends an explicit
oneofdescribing the effective identity source, and the probe emits a normalized identity attestation that the final supervisor must match. Docker does not receive the identity-source message, and a missing source fails before a non-default Podman workdir can launch.Testing
mise run pre-commitmise run test-D warningsChecklist