Skip to content

feat(network): support prebound proxy listeners and per-connection identity - #4806

Open
shiju-nv wants to merge 1 commit into
NVIDIA:mainfrom
shiju-nv:feat/4804-proxy-listener-composition/shiju-nv
Open

shiju-nv wants to merge 1 commit into
NVIDIA:mainfrom
shiju-nv:feat/4804-proxy-listener-composition/shiju-nv

Conversation

@shiju-nv

Copy link
Copy Markdown
Collaborator

Summary

The OpenShell supervisor currently creates a new listening socket and uses one static executable identity when an isolation backend supplies ProxyListenerConfig. This change lets the trusted supervisor setup for an isolation backend supply an already-bound listener and resolve each connection's executable identity, using the supervisor's existing network policy enforcement and provider credential handling.

Related Issue

Closes #4804

Changes

  • Extend ProxyListenerConfig supplied through BuiltBackend.proxy_listener so the supervisor can serve an already-bound listener while the isolation backend's launcher retains its reservation through sandbox cleanup.
  • Use ProxyPeerIdentityResolver from trusted backend setup to resolve and validate each authenticated workload connection, keeping blocking lookups out of the supervisor's accept loop.
  • Deny and audit missing, failed or unusable identity evidence without a static fallback, including requests to local proxy routes.
  • Pass ProxyListenerConfig through supervisor startup and host proxy startup; preserve static executable identity behavior and reject direct-listener settings with isolation-boundary network mediation.
  • Document ownership, attribution and failure behavior in the network crate README.

Release Notes

Testing

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

Checklist

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

@copy-pr-bot

copy-pr-bot Bot commented Oct 30, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@shiju-nv
shiju-nv force-pushed the feat/4804-proxy-listener-composition/shiju-nv branch from b3d1656 to e83defd Compare October 30, 2026 21:26
@shiju-nv
shiju-nv requested review from TaylorMutch and drew October 31, 2026 05:24
@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 e83defd. 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.

@shiju-nv
shiju-nv force-pushed the feat/4804-proxy-listener-composition/shiju-nv branch from e83defd to 57ef5c7 Compare November 2, 2026 14:46
…entity

The OpenShell supervisor currently creates a new listening socket and uses one static executable identity when an isolation backend supplies `ProxyListenerConfig`. This change lets the trusted supervisor setup for an isolation backend supply an already-bound listener and resolve each connection's executable identity, using the supervisor's existing network policy enforcement and provider credential handling.

Signed-off-by: Shiju <shiju@nvidia.com>
@shiju-nv
shiju-nv force-pushed the feat/4804-proxy-listener-composition/shiju-nv branch from 57ef5c7 to e7db7ac Compare November 3, 2026 11:46

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.

Reuse reserved proxy sockets and verify each connection's executable identity

1 participant