Skip to content

feat(kubernetes): deploy shared supervisor mode - #4695

Merged
drew merged 9 commits into
mainfrom
feat/4694-experimental-supervisor-topology/drew
Oct 21, 2026
Merged

drew merged 9 commits into
mainfrom
feat/4694-experimental-supervisor-topology/drew

Conversation

@drew

@drew drew commented Oct 18, 2026 •

Copy link
Copy Markdown
Collaborator

Setting [openshell.drivers.kubernetes].supervisor_topology = "gateway" makes Helm deploy one shared-supervisor placeholder in the gateway namespace. Sandboxes continue using dedicated supervisors in this plumbing PR.

The Deployment runs openshell-supervisor --mode=shared --gateway-endpoint <gateway-url> --address 0.0.0.0:5501. The address is a single TCP listener used by both Kubernetes health probes; the gateway endpoint is reserved for the supervisor's future outbound connection. The placeholder accepts and closes connections, logs its startup, and shuts down on SIGTERM/SIGINT. Session control and sandbox hosting arrive in later PRs.

The setting is omitted by default. workspace is reserved and rejected. The separate, single-replica Deployment applies to shared, managed, and operator workspace namespace modes and uses the configured supervisor image under a restricted nonroot security context. Public documentation is deferred; crate and contributor guidance describe this stage.

Validation: scoped supervisor build/Clippy, formatting and documentation lint, six focused Helm tests, native CLI/TCP/shutdown checks, and a Kubernetes rollout/restart smoke test with TCP probes on port 5501 passed. The default dedicated entry point remains unchanged.

Closes #4694

@copy-pr-bot

copy-pr-bot Bot commented Oct 18, 2026

Copy link
Copy Markdown

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@github-actions

Copy link
Copy Markdown

@drew
drew force-pushed the feat/4694-experimental-supervisor-topology/drew branch from 40647e6 to 856ad8a Compare October 18, 2026 23:15
@drew
drew changed the base branch from main to feat/4652-sandbox-initiated-control/drew October 18, 2026 23:15
@drew
drew added this pull request to stack #4698 October 18, 2026 23:15
@drew
drew force-pushed the feat/4694-experimental-supervisor-topology/drew branch from 856ad8a to d5fc1df Compare October 20, 2026 16:24
Comment thread docs/how-it-works/gateways/configuration.mdx Outdated
Base automatically changed from feat/4652-sandbox-initiated-control/drew to main October 20, 2026 18:39
@drew
drew force-pushed the feat/4694-experimental-supervisor-topology/drew branch from 121142e to 702a7fa Compare October 20, 2026 18:39
TaylorMutch
TaylorMutch previously approved these changes Oct 20, 2026
@drew
drew marked this pull request as ready for review October 20, 2026 22:00
@drew
drew force-pushed the feat/4694-experimental-supervisor-topology/drew branch from 702a7fa to 7438e4e Compare October 20, 2026 22:10
@drew drew changed the title feat(kubernetes): bootstrap experimental gateway supervisor topology feat(kubernetes): deploy experimental shared supervisor mode Oct 21, 2026
@drew drew changed the title feat(kubernetes): deploy experimental shared supervisor mode feat(kubernetes): deploy shared supervisor mode Oct 21, 2026
@drew drew added the test:e2e-kubernetes Requires Kubernetes end-to-end coverage label Oct 21, 2026
@github-actions

Copy link
Copy Markdown

Label test:e2e-kubernetes applied for 62837d2. Open the existing run and click Re-run all jobs to execute with the label set. The run will execute Kubernetes HA and credential-driver E2E after building the required gateway, sandbox, and supervisor images once. This is an optional proof-of-life suite; failures are visible in the workflow run but do not publish a required CI gate status.

drew added 9 commits October 20, 2026 18:01
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
… section

Signed-off-by: Drew Newberry <anewberry@nvidia.com>
experimental-bootstrap now takes --health-port instead of a Unix health
socket. It binds the dedicated supervisor's wildcard readiness listener,
reachable at the Pod IP, and accepts and closes connections while the
process runs. The chart probes the named container port health (5502)
with native kubelet tcpSocket checks and drops the health-only emptyDir.
No filesystem state remains to clean up after an unclean exit.

Dedicated supervisors keep --health-socket-path and health --socket.

Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Remove the experimental supervisor topology additions from the published gateway configuration page and the public debug-openshell-cluster skill. Public documentation will be added once the experimental stack settles.

Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Rename the shared-mode host module from experimental to shared to match
the --mode=shared flag. No behavior changes.

Signed-off-by: Drew Newberry <anewberry@nvidia.com>
…r topology

Rename the Helm template to supervisor.yaml, its Kubernetes names and
labels to the -supervisor suffix and supervisor component, and the
driver setting to supervisor_topology. The setting remains opt-in and
workspace remains reserved.

Signed-off-by: Drew Newberry <anewberry@nvidia.com>
@drew
drew force-pushed the feat/4694-experimental-supervisor-topology/drew branch from 62837d2 to 90537ef Compare October 21, 2026 01:05
@drew

drew commented Oct 21, 2026

Copy link
Copy Markdown
Collaborator Author

/ok to test 90537ef

@drew
drew added this pull request to the merge queue Oct 21, 2026
Merged via the queue into main with commit 72ab4dd Oct 21, 2026
97 checks passed
@drew
drew deleted the feat/4694-experimental-supervisor-topology/drew branch October 21, 2026 01:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

test:e2e-kubernetes Requires Kubernetes end-to-end coverage

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: bootstrap experimental gateway supervisor deployment

2 participants