Control Center: DR forms and site storage deployment from the hub - #621
Merged
schmidt-scaled merged 3 commits intoOct 3, 2026
Merged
Conversation
…re edited in the console From the moment the hub and the sites are deployed, everything but the workload itself is meant to be done here. Three things were still notes saying "with kubectl": the plan's per-site S3 stores and Velero namespace, an application's tiers (boot order) and health probes, and a site profile's bindings (logical networks, guest networks, DHCP server). - ProtectionPlan: "New plan" takes the S3 stores (site, bucket, endpoint, region, secret) and the Velero namespace; "Edit S3 stores" on a plan patches them (spec.s3Profiles, spec.veleroNamespace are mutable). - ProtectedApplication: "Protect an application" takes tiers (name, selector by labels or resource types, ready gates incl. exec) and probes (http/tcp, target, timeout, status); "Edit tiers & probes" patches them. - SiteProfile: "Edit bindings" patches logicalNetworks, guestNetworks and dhcpServerRef; "Register a DHCP server" binds it to the site profile. - Field type "rows": a generic table editor the three dialogs share. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…loyed from the hub Disaster recovery -> Site storage lists the hub's StorageSiteDeployments (storage.simplyblock.io/v1alpha2, operator PR #620): one per managed site, with its phase, the nodes the discovery found and, once approved, the storage cluster with its id, pool and nodes. - "Deploy storage" picks a managed cluster (ManagedClusters, else the site profiles), the discovery scope and the sizing (name, vCPUs, hugepages, subsystems, stripe, drive format) and creates the request; the operator runs the discovery on the site through OCM. - The detail shows the draft as the site wrote it next to the requested sizing; "Size the draft" changes the sizing, "Approve and deploy" flips the one-way approval (typed confirmation). - The console's ClusterRole (chart and plain manifests) may manage the kind and read ManagedClusters; the mock serves two fixtures (Online, Drafted) and its personas carry the rule. Checked with a jsdom smoke run of the built bundle against the mock: the layer lists both fixtures, the drafted one prompts for approval, the deploy dialog opens, the detail renders the cluster and its nodes, no script error. dist/ rebuilt with the Dockerfile's pinned babel (7.29.7). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ageClass The New plan form gains the plan's storageProfile.provision (simplyblock-dr feat/plan-storageclass-delivery): a class name, and optionally the pool and filesystem. dr-hub then writes the class on every site with the selector's labels and the site's storage cluster, so the workload deployment needs no StorageClass step. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Two commits on top of #512's branch.
d04d9c2: the DR configuration is edited in the console
abcb640: a managed site's storage from the hub
StorageSiteDeploymentkind (operator: StorageSiteDeployment — deploy a managed site's storage from the hub #620).deploy/k8s/rbac.yaml, may manage the kind and read ManagedClusters.Why
The DR UI run must be done entirely in the console once the hub and the sites exist. Step a), deploying the sites' storage, was the remaining non-UI step. Design:
docs/design/control-center-managed-discovery.mdin simplyblock-dr.Tests
dist/was rebuilt withnode deploy/build/bundle.mjsusing the Dockerfile's pinned babel 7.29.7. Babel 8 emits the automatic JSX runtime, which the console cannot load.🤖 Generated with Claude Code