Skip to content

Tunnel sush through Nexus - #11254

Draft
plotnick wants to merge 1 commit into
sush-switch-proxyfrom
sush-nexus-tunnel
Draft

Tunnel sush through Nexus#11254
plotnick wants to merge 1 commit into
sush-switch-proxyfrom
sush-nexus-tunnel

Conversation

@plotnick

@plotnick plotnick commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

This completes the initial integration of the Support Shell (RFD 620), building on #11252 and #11253.

We add an unpublished, fleet-admit-only WebSocket endpoint to Nexus that tunnels bytes to a sush proxy in a switch zone. Nexus controls only who may reach the proxy; the platform-ID backed sprockets-TLS, client authn, and job authz inside are untouched.

The tunnel is the first WebSocket endpoint that refuses in HTTP before upgrading, so the authz coverage harness gained a method for it. The harness expects privileged requests to fail with 503, because no sush proxy runs in the test environment. The bad-authn probes include the handshake headers, so they reach the authn check and fail with its status.

This completes the initial integration of the
[Support Shell](https://github.com/oxidecomputer/sush)
([RFD 620](https://rfd.shared.oxide.computer/rfd/0620)).

We add an unpublished, fleet-admit-only WebSocket endpoint to Nexus
that tunnels bytes to a sush proxy in a switch zone. Nexus controls
only who may reach the proxy; the platform-ID backed sprockets-TLS,
client authn, and job authz inside are untouched.

The tunnel is the first WebSocket endpoint that refuses in HTTP before
upgrading, so the authz coverage harness gained a method for it. The
harness expects privileged requests to fail with 503, because no sush
proxy runs in the test environment. The bad-authn probes include the
handshake headers, so they reach the authn check and fail with its
status.

Co-Authored-By: Claude Mythos 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant