You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
feat: bootstrap opt-in shared supervisors on Kubernetes #4690
I am developing OpenShell's multi-tenant supervisor support and need to deploy and start shared supervisor processes on Kubernetes as an independently reviewable first milestone.
Problem Statement
OpenShell currently provisions supervisors per sandbox. The shared-supervisor prototype combines deployment, session assignment, and fenced recovery, making it difficult to land deployment support incrementally.
Impact / Why This Matters
A disabled-by-default deployment milestone lets operators validate supervisor placement and process lifecycle before sandbox sessions move onto shared supervisors.
Proposed Design
Expose an experimental Kubernetes setting through Helm to enable shared supervisor Deployments scoped to the gateway installation or individual workspaces. Start the supervisor binary in an idle shared mode with health checks and graceful shutdown. Existing sandbox supervision continues unchanged in this milestone.
Suggested UX
server:
drivers:
kubernetes:
sharedSupervisor:
enabled: truescope: gateway # or workspace
Acceptance Criteria
The flag defaults off and does not alter existing sandbox supervision.
Gateway scope starts one Deployment for the installation, independent of gateway replicas.
Workspace scope starts one Deployment for each ensured workspace, with cleanup on workspace deletion.
Supervisor Pods run without workload credentials or Kubernetes API credentials and terminate gracefully.
Helm rendering, configuration validation, process startup, and Kubernetes deployment are verified.
Alternatives Considered
Landing the full HA prototype at once introduces assignment and recovery concerns beyond this deployment milestone. Middleware, interceptors, and credential providers do not own Kubernetes supervisor process placement. Related work: #4311, #4429, and RFC draft #4377.
Activity