Documentation
¶
Overview ¶
Package main is cs-plane's single binary, cs, one service for many users that binds to loopback behind a TLS proxy. run dispatches the CLI; serve validates before listening. newServeComponents composes authentication, SSH, session, and Dev Tunnels account owners over one state directory and closes them on failure or shutdown.
Directories
¶
| Path | Synopsis |
|---|---|
|
internal
|
|
|
db
Package db owns cs-plane's Postgres connection and complete state-operation boundary.
|
Package db owns cs-plane's Postgres connection and complete state-operation boundary. |
|
devtunnel
Dev Tunnels authorization exchanges Microsoft or GitHub device codes for credentials accepted by the management service.
|
Dev Tunnels authorization exchanges Microsoft or GitHub device codes for credentials accepted by the management service. |
|
identity
Package identity implements the OIDC protocol client that establishes a caller's identity from a CILogon ID token.
|
Package identity implements the OIDC protocol client that establishes a caller's identity from a CILogon ID token. |
|
router
Package router owns the process-wide HTTP route registry.
|
Package router owns the process-wide HTTP route registry. |
|
security
Package security enforces process-wide rules for authenticated identity, guarded HTTP, validated external names, and protected local files.
|
Package security enforces process-wide rules for authenticated identity, guarded HTTP, validated external names, and protected local files. |
|
slurm
Package slurm runs the fixed Slurm programs used by sessions and parses their bounded output.
|
Package slurm runs the fixed Slurm programs used by sessions and parses their bounded output. |
|
ssh
Serves the interactive SSH authentication WebSocket, whose prompt establishes a control master.
|
Serves the interactive SSH authentication WebSocket, whose prompt establishes a control master. |
|
testutil
Package testutil holds the small assertions and waits shared across otherwise independent tests.
|
Package testutil holds the small assertions and waits shared across otherwise independent tests. |
|
subsystems
|
|
|
devtunnels
Package devtunnels owns connecting a Dev Tunnels account and its HTTP surface.
|
Package devtunnels owns connecting a Dev Tunnels account and its HTTP surface. |
|
oauth
OAuth middleware applies the shared exact-origin policy with CORS headers and establishes caller identity from one bearer channel; the browser-only sign-in routes also require an Origin.
|
OAuth middleware applies the shared exact-origin policy with CORS headers and establishes caller identity from one bearer channel; the browser-only sign-in routes also require an Origin. |
|
session
A session's Dev Tunnel is part of the session state machine: deterministic ports, requested lifetime, remote Dev Tunnel validation, compensation, and the private per-run tokens all derive from session identity and state.
|
A session's Dev Tunnel is part of the session state machine: deterministic ports, requested lifetime, remote Dev Tunnel validation, compensation, and the private per-run tokens all derive from session identity and state. |
|
ssh
SSH host entries parse from a pasted ssh command restricted to connection options and allowlisted directives, and render to one OpenSSH stanza.
|
SSH host entries parse from a pasted ssh command restricted to connection options and allowlisted directives, and render to one OpenSSH stanza. |
Click to show internal directories.
Click to hide internal directories.