Skip to content

feat(policy): include backend filesystem requirements before policy approval - #5120

Open
shiju-nv wants to merge 3 commits into
NVIDIA:fix/stopped-driver-watch-fence-c92/shiju-nvfrom
shiju-nv:feat/5108-backend-filesystem-baseline/shiju-nv
Open

shiju-nv wants to merge 3 commits into
NVIDIA:fix/stopped-driver-watch-fence-c92/shiju-nvfrom
shiju-nv:feat/5108-backend-filesystem-baseline/shiju-nv

Conversation

@shiju-nv

@shiju-nv shiju-nv commented Nov 2, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

A backend may need filesystem paths that only exist where the workload runs. This adds those requirements before the gateway approves and hashes the policy, so startup configuration and endpoint status identify the same approved policy and provider snapshot.

Related Issue

Closes #5108. Part of #5114.

Depends on #5204. Review this layer against fix/stopped-driver-watch-fence-c92/shiju-nv, whose current head is 760396e8.

Land #5204 first. Then replay only this PR's changes onto the resulting main and retarget this existing PR.

Changes

  • Validate bounded canonical path descriptors and distinguish an absent legacy baseline from an explicitly empty one.
  • Share policy enrichment between gateway and supervisor without filtering paths against the gateway host or upgrading authored read-only grants.
  • Use the captured provider inputs and enriched policy for current and loaded endpoint identity.

Release Notes

Drivers can supply trusted proxy filesystem prerequisites. An absent descriptor retains legacy Linux defaults; an explicit empty descriptor suppresses them. Complete raw Rust capability and setup literals need the new optional field.

Testing

  • Checks appropriate to the affected code and behavior pass
  • Unit tests added/updated (if applicable)
  • E2E tests added/updated (if applicable)

Focused verification is reused for the unchanged feature logic and the independently reviewed shared lifecycle correction. Hosted Core E2E passed on this PR's current source. This does not claim installed native-backend qualification.

Checklist

  • Follows Conventional Commits
  • Commits are signed off (DCO)
  • Architecture docs updated (if applicable)

@shiju-nv shiju-nv added the test:e2e Requires end-to-end coverage label Nov 2, 2026
@github-actions

github-actions Bot commented Nov 2, 2026

Copy link
Copy Markdown

Label test:e2e applied for a2fd338. 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, sandbox, and supervisor images once. The matching required CI gate status on this PR will flip green automatically once the run finishes.

@github-actions

github-actions Bot commented Nov 2, 2026

Copy link
Copy Markdown

Compatibility review (advisory)

New or updated breaking changes; see the full report for all findings.

1. rust-sdk — No explicit risk acceptance found

openshell_sdk::raw::proto::compute::v1::GetCapabilitiesResponse gains proxy_filesystem_baseline: Option<ProxyFilesystemBaseline>, invalidating previously complete struct literals.

  • Impact: Rust SDK consumers implementing compute-driver servers or mocks with complete response literals fail to compile with E0063; existing RPC client calls and literals using ..Default::default() remain valid.
  • Action: Preserve GetCapabilitiesResponse's existing field set for v0.1.7 using a separately negotiated extension service, or defer the addition to a minor train with migration guidance to add proxy_filesystem_baseline: None or use ..Default::default().
  • PR: feat(policy): include backend filesystem requirements before policy approval #5120
Review details
  • Execution: complete
  • Candidate: PR #5120 (a074c65a1b5d0afd761ea7358194eaa3a7e2a7eb)
  • Baseline: c92c2c7983b1307715f6a922366dd3759e41b35b (c92c2c7983b1307715f6a922366dd3759e41b35b)
  • Reviewed: rust-sdk, python-sdk, go-sdk, typescript-sdk, api-behavior, cli, configuration, policy, helm, state

Advisory review; publication gates are unchanged.

Branch check run

@shiju-nv
shiju-nv force-pushed the feat/5108-backend-filesystem-baseline/shiju-nv branch 2 times, most recently from 955284b to 6b011be Compare November 2, 2026 16:59
@shiju-nv
shiju-nv changed the base branch from main to fix/stopped-driver-watch-fence-c92/shiju-nv November 2, 2026 16:59
Proxy prerequisites may exist inside the workload namespace rather than on the gateway host. This lets compute drivers declare those paths before launch and keeps create admission, delivered policy and endpoint evidence tied to the same effective policy and provider snapshot.

Signed-off-by: Shiju <shiju@nvidia.com>
@shiju-nv
shiju-nv force-pushed the fix/stopped-driver-watch-fence-c92/shiju-nv branch from d104104 to 760396e Compare November 3, 2026 11:45
@shiju-nv
shiju-nv force-pushed the feat/5108-backend-filesystem-baseline/shiju-nv branch from 6b011be to c8a4d13 Compare November 3, 2026 11:46
@shiju-nv shiju-nv changed the title feat(policy): admit backend filesystem prerequisites before launch feat(policy): include backend filesystem requirements before policy approval Nov 4, 2026
shiju-nv and others added 2 commits November 4, 2026 12:41
Signed-off-by: Shiju <shiju@nvidia.com>
get.k3s.io serves the latest install.sh from k3s master, so the pinned
checksum broke when upstream changed the script. Download install.sh from
the release tag matching k3s_version instead and pin its checksum.

Signed-off-by: Matthew Grossman <mgrossman@nvidia.com>
Signed-off-by: Shiju <shiju@nvidia.com>

This branch has not been deployed

No deployments
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.

Include backend filesystem requirements before approving sandbox policy

2 participants