feat(sandbox): validate configuration before workload activation - #3259
johntmyers wants to merge 12 commits into
Conversation
E2E Test AttestationLocal E2E checks passed for commit
Tests executed
No selected scenarios were skipped. The Kubernetes command intentionally selects standalone conformance only, with no additional Rust E2E features. Its existing dev/CI overlay disables binary-aware network policy; this does not attest the strict cross-container The first Kubernetes attempt was blocked by k3d's multi-platform image import missing a digest. Before the successful fresh run, imported the cached base image into containerd explicitly with Full |
|
🌿 Preview your docs: https://nvidia-preview-pr-3259.docs.buildwithfern.com/openshell |
johntmyers
left a comment
There was a problem hiding this comment.
gator-agent
PR Review Status
The accepted issue and updated architecture, Fern docs, skills, and tests make this cross-cutting admission change project-valid. The initial review found two blocking startup-lifecycle correctness issues.
Action required: address GATOR-bde03eff-01 and GATOR-bde03eff-02, then push an updated head for a focused follow-up review.
Blocking findings:
GATOR-bde03eff-01: non-repairable startup and sidecar failures can wait forever.GATOR-bde03eff-02: restart admission can reopen static-policy replacement after a workload has already activated.
Carried findings:
- None
Gator metadata
- Validation: Implements accepted issue #3145 with explicit architecture and user documentation.
- Docs: Fern docs updated for admission status and repair workflow.
- Checks: Current-head branch, Helm, Trivy, and DCO gates are green; required E2E dispatch is deferred while blocking review findings remain.
- E2E:
test:e2erequired for sandbox lifecycle, gateway/supervisor, policy, and provider-flow changes; not yet applied. - Head SHA:
bde03eff0530e92a1aaa43f50df4c8a64dfb0474 - Base SHA:
0357daee316f32a4d5c312174d68672cb0f4d389 - Merge base SHA:
0357daee316f32a4d5c312174d68672cb0f4d389 - Patch ID:
7d3bc99d684bba94391baaf2eb70dc73e59b1103 - Gator payload:
8 - Review mode:
initial - Previous reviewed SHA: none
- Review budget exhausted: no
- Maintainer decision required: no
- Next state:
gator:in-review
|
Label |
bde03ef to
aa8790e
Compare
johntmyers
left a comment
There was a problem hiding this comment.
gator-agent
Re-check After Author Update
Thanks @johntmyers. I checked the two fixes you described against the rebased current head. The durable first-activation marker and its conservative legacy behavior resolve GATOR-bde03eff-02, but the startup-liveness fix only bounds returned errors: a connected gateway can still leave any startup unary RPC pending forever because each attempt has no deadline.
Action required: finish GATOR-bde03eff-01 by applying a finite timeout to every startup RPC attempt, including the direct acceptance report; exhaust the bounded retry/reconciliation budget on timeout; and add a pending-future regression test.
Blocking findings:
- None newly introduced.
Carried findings:
GATOR-bde03eff-01: Startup snapshot, registration, synchronization, provider, rejection-report, and acceptance-report calls can still wait forever when a connected gateway never completes the unary response.
Resolved findings:
GATOR-bde03eff-02: Durableconfiguration_activatedstate now prevents restart admission from reopening static-policy replacement, and legacy absent markers remain conservative.
Gator metadata
- Validation: Implements accepted issue #3145 with architecture, Fern docs, skills, and focused tests.
- Docs: Fern docs updated for admission status and repair workflow.
- Checks: Current-head branch and E2E workflows are still running; one E2E job currently reports failure, to be assessed after review feedback is resolved.
- E2E:
test:e2eis applied and current-head E2E workflows are dispatched. - Head SHA:
4267979d6a891ade7b0c7120f7a1ffa3eb01e89e - Base SHA:
cc780d4e17512e8f804f68c153c033fe6584ae3a - Merge base SHA:
cc780d4e17512e8f804f68c153c033fe6584ae3a - Patch ID:
dc1c953efcb785f25ac19278adecaa811c42df2d - Gator payload:
8 - Review mode:
follow_up - Previous reviewed SHA:
bde03eff0530e92a1aaa43f50df4c8a64dfb0474 - Review budget exhausted: no
- Maintainer decision required: no
- Next state:
gator:in-review
44653ba to
675e0c1
Compare
johntmyers
left a comment
There was a problem hiding this comment.
gator-agent
Re-check After Author Update
Thanks @johntmyers. I compared the rebased author patch with the previously reviewed effective patch. Eleven commits are patch-equivalent, the remaining Cargo dev-dependency merge does not alter runtime behavior, the required critical-only review found no newly introduced Critical defect, and all prior Gator findings remain resolved. The current-head E2E run is not green: its OIDC PKCE Docker lane hit a transient-looking SQLite database is locked error while 42 sibling tests and every other completed E2E lane passed.
Action required: a maintainer should rerun current-head E2E to confirm the database-lock failure is transient; if it repeats, investigate whether the rebased integration materially worsened database contention.
Blocking findings:
- No code-review blockers remain.
Carried findings:
- None.
GATOR-bde03eff-01,GATOR-bde03eff-02, andGATOR-8a5de7a9-01remain resolved.
Gator metadata
- Validation: Implements accepted issue #3145 with architecture, Fern docs, skills, and focused tests.
- Docs: Fern docs remain updated for admission status and repair workflow.
- Checks: Branch Checks is still running; Helm, Trivy, GPU E2E disposition, and DCO are green; required E2E failed one OIDC PKCE Docker test with a SQLite lock error.
- E2E:
test:e2eis applied; current-head run35015052749completed with one failed lane. - Head SHA:
675e0c107a0ffcb7c335216a67d45f4b84fa4c13 - Base SHA:
dfd5238d0dd1e2b1f36bebd86211c3f2ff54df29 - Merge base SHA:
dfd5238d0dd1e2b1f36bebd86211c3f2ff54df29 - Patch ID:
647976daa57e90b793c83b14ed4b99d7069d2fd2 - Gator payload:
9 - Review mode:
critical_only - Previous reviewed SHA:
44653ba4ebb903f0fdb4d35be089772cd0b4a053 - Review budget exhausted: yes
- Maintainer decision required: no
- Next state:
gator:blocked - Blocked reason:
e2e_flake_confirmation_required
675e0c1 to
580637b
Compare
johntmyers
left a comment
There was a problem hiding this comment.
gator-agent
Re-check After Author Update
Thanks @johntmyers. I compared the rebased author patch with the last reviewed effective patch, including the supervisor boundary extraction, authenticated image-policy discovery, preserved admission and credential state, and the follow-up import fix. The required critical-only review found no newly introduced Critical defect, and all prior Gator findings remain resolved. The new push has queued fresh current-head Branch Checks and required E2E, superseding the earlier E2E flake-confirmation blocker.
Blocking findings:
- No blocking findings remain.
Carried findings:
- None.
GATOR-bde03eff-01,GATOR-bde03eff-02, andGATOR-8a5de7a9-01remain resolved.
Gator metadata
- Validation: Implements accepted issue #3145 with architecture, Fern docs, skills, and focused tests.
- Docs: Fern docs remain updated for admission status and repair workflow.
- Checks: Current-head Branch Checks are running; Helm, Trivy, GPU E2E disposition, and DCO are green.
- E2E:
test:e2eis applied and current-head run35125702154is queued with build jobs active or queued. - Head SHA:
54a4ddd1a2153e5d0284ee6ec5e1be7636ce298e - Base SHA:
9c41f057c3cd460fae22e4fa1cd3e68af2382848 - Merge base SHA:
12a7a35910cbcfee31dcdbc0d4d31f99dbb1318e - Patch ID:
47180ea20647cc17bd5f625517d09d2923af173b - Gator payload:
9 - Review mode:
critical_only - Previous reviewed SHA:
675e0c107a0ffcb7c335216a67d45f4b84fa4c13 - Review budget exhausted: yes
- Maintainer decision required: no
- Next state:
gator:watch-pipeline
johntmyers
left a comment
There was a problem hiding this comment.
gator-agent
Re-check After Author Update
Thanks @johntmyers. I checked the workload-versus-supervisor container selection change in the author-only delta from 54a4ddd1 to the current head. The role-qualified lookup keeps the policy-activation E2E assertions attached to the intended containers, does not invalidate any resolved finding, and the required critical-only review found no newly introduced Critical defect. Monitoring continues while the current-head Branch Checks and required E2E finish.
Blocking findings:
- No blocking findings remain.
Carried findings:
- None.
GATOR-bde03eff-01,GATOR-bde03eff-02, andGATOR-8a5de7a9-01remain resolved.
Gator metadata
- Validation: Implements accepted issue #3145 with architecture, Fern docs, skills, and focused tests.
- Docs: Fern docs remain updated for admission status and repair workflow.
- Checks: Current-head Branch Checks and required E2E are queued/running; Helm, Trivy, GPU E2E disposition, and DCO are green.
- E2E:
test:e2eis applied and current-head run35128716357is queued/running. - Head SHA:
5810c9fe01a68b0b740f9dd694cb4235c9995e64 - Base SHA:
9c41f057c3cd460fae22e4fa1cd3e68af2382848 - Merge base SHA:
12a7a35910cbcfee31dcdbc0d4d31f99dbb1318e - Patch ID:
be9fe6e4b0742a4125311bf0241a3664cc37dc9a - Gator payload:
9 - Review mode:
critical_only - Previous reviewed SHA:
54a4ddd1a2153e5d0284ee6ec5e1be7636ce298e - Review budget exhausted: yes
- Maintainer decision required: no
- Next state:
gator:watch-pipeline
Closes #3145 Signed-off-by: John Myers <9696606+johntmyers@users.noreply.github.com>
Signed-off-by: John Myers <9696606+johntmyers@users.noreply.github.com>
Signed-off-by: John Myers <9696606+johntmyers@users.noreply.github.com>
Signed-off-by: John Myers <9696606+johntmyers@users.noreply.github.com>
Signed-off-by: John Myers <9696606+johntmyers@users.noreply.github.com>
Signed-off-by: John Myers <9696606+johntmyers@users.noreply.github.com>
Signed-off-by: John Myers <9696606+johntmyers@users.noreply.github.com>
Signed-off-by: John Myers <9696606+johntmyers@users.noreply.github.com>
Signed-off-by: John Myers <9696606+johntmyers@users.noreply.github.com>
Signed-off-by: John Myers <9696606+johntmyers@users.noreply.github.com>
Signed-off-by: John Myers <9696606+johntmyers@users.noreply.github.com>
Signed-off-by: John Myers <9696606+johntmyers@users.noreply.github.com>
5810c9f to
7cbf205
Compare
johntmyers
left a comment
There was a problem hiding this comment.
gator-agent
Re-check After Author Update
Thanks @johntmyers. I compared the rebased author patch with the previously reviewed effective patch. Eleven commits remain patch-equivalent, and the rewritten supervisor integration preserves fail-closed image-policy discovery while adopting the shared bounded regular-file parser. The required critical-only review found no newly introduced Critical defect, and all prior Gator findings remain resolved. Monitoring continues while the current-head Branch Checks and required E2E finish.
Blocking findings:
- No blocking findings remain.
Carried findings:
- None.
GATOR-bde03eff-01,GATOR-bde03eff-02, andGATOR-8a5de7a9-01remain resolved.
Gator metadata
- Validation: Implements accepted issue #3145 with architecture, Fern docs, skills, and focused tests.
- Docs: Fern docs remain updated for admission status and repair workflow.
- Checks: Current-head Branch Checks and required E2E are queued/running; Helm, Trivy, GPU E2E disposition, and DCO are green.
- E2E:
test:e2eis applied and current-head run35131697143is queued/running. - Head SHA:
7cbf20542631907f6d08401b179ac4d8d963179e - Base SHA:
2ccef97769e0e39c4dc06b4c3953d3735814f146 - Merge base SHA:
2ccef97769e0e39c4dc06b4c3953d3735814f146 - Patch ID:
ea12a278739383a0688f2e5e7306a185a5c2f5a9 - Gator payload:
9 - Review mode:
critical_only - Previous reviewed SHA:
5810c9fe01a68b0b740f9dd694cb4235c9995e64 - Review budget exhausted: yes
- Maintainer decision required: no
- Next state:
gator:watch-pipeline
Summary
Keep workloads stopped until the supervisor accepts the effective policy and matching provider environment. Invalid image-policy/provider composition produces a configuration error that operators can repair through the gateway.
Related Issue
Closes #3145
Changes
Testing
2ccef9776, resolving the supervisor extraction, deleted sidecar implementation, compute-session updates, and protobuf inventory conflicts.mise run go:proto:gen.5810c9fe0passed Branch Checks and required E2E, including the activation test. A subsequent rebase preserves main's bounded policy file reader while retaining invalid-policy admission behavior; current-head CI is pending.Checklist