feat: add default-off Kubernetes cluster operator#115
Conversation
…gration # Conflicts: # packages/client/test/desktop-runtime.test.ts
|
Maintainer integration update: I fast-forwarded this existing branch from The added history merges current |
…nt/t4-cluster-operator # Conflicts: # packages/client/test/desktop-runtime.test.ts
…tor' into maint/pr115-main-integration
…nt/t4-cluster-operator
…tor' into maint/pr115-main-integration
|
Maintainer integration complete.
This preserves the PR as Roy's implementation while landing it on the architecture and ownership boundary already merged to |
Architecture
Adds a portable Helm-packaged Kubernetes operator, a stateless HA T4 cluster gateway, an OMP 17.0.5 session runtime pinned to commit
8476f4451ed95c5d5401785d279a93d3c659fac4, versionedomp-app/1cluster wire additions, and responsive Agent View/Browser Preview integration.OMP remains the sole authority for sessions, agents, jobs, IRC, turns, terminals, browser control, artifacts, cancellation, and takeover. Kubernetes owns only infrastructure desired/observed state. The gateway reconstructs projection state from Kubernetes and per-session OMP hosts; it does not add an orchestration database.
Default-off gate
cluster.operatoris off by default across source, desktop, mobile, and existing host flows. Desktop additionally requires the explicit--t4-cluster-operatorswitch and endpoint permission opt-in. With the gate off, stored cluster capabilities and cluster metadata are removed before connect; local/paired-host behavior is unchanged.Security and HA
maxUnavailable: 0, probes, graceful drain.Storage prerequisite
An administrator must supply a dynamic RWX StorageClass. Reconciliation fails closed with a status condition when RWX is absent. The portable chart contains no cluster-specific host path or storage backend.
Compatibility
The cluster session image pins OMP
17.0.5/8476f4451ed95c5d5401785d279a93d3c659fac4andt4-omp-authority/1. CI verifies the legacy authority bridge contract.TDD and CI evidence
99fa275aaab783134e209c9398d892185dd613cd).01398bdf98a5ca3cfb1e1b83798f33d5243ffa0f).14a92f8322de11a08c7b8d2642310e2a22c06686).24909b3b7bd559bfb4f1f701b92cce0d13e7621f; queued).Live rollout, immutable image digests, Flux/Tailscale/storage/HA/GUI/CI/observability evidence will be appended after the exact-source Woodpecker gate publishes the images and GitOps reconciliation completes.
Known risks
k3s-worker-02andk3s-worker-03; these constraints are not portable chart defaults.Rollback / uninstall
Disable the feature gate in clients, suspend/delete the environment HelmRelease through GitOps, then uninstall the chart according to
docs/CLUSTER_OPERATOR.md. Retained workspace PVCs are intentionally preserved; delete-policy PVCs follow the selected StorageClass. CRDs are not removed automatically so retained resources are not orphaned.