Skip to content

PRE-v0.1 · FOUNDATIONS

Nodewright

A Kubernetes-native operator for the lifecycle of edge storage clusters. It turns a 4,800-line bash DaemonSet — the thing that today bootstraps, networks, and heals edge clusters at the storage layer — into typed CRDs, controllers, a UI, and an audit-grade history.

The one-line thesis

The operator owns intent; the agent owns host-level mutation.

Today a single privileged bash DaemonSet (vx-rail-node-init) does everything on every edge node: cluster bootstrap, bond + VLAN networking, LINSTOR/DRBD storage, single→multi-node upgrades, taint management, and boot-time recovery. The problem isn't what it does — it's that a per-node script makes cluster-wide decisions from stale state, and that's where the incidents come from.

Nodewright splits those concerns: a control-plane operator makes the cluster-wide decisions and records them as typed, validated CRDs; a node agent performs only the local host mutations the operator tells it to, and reports back. The DaemonSet doesn't get thrown away — it becomes that thin agent.

What you get

Typed CRDs instead of ConfigMap blobs Every workflow and every piece of state is a validated Kubernetes object, not a stringly-typed annotation.
First-class workflows Migrations, storage upgrades, and bond flips become declarative resources with a phase, a status, and a rollback — not a 30-step chat thread.
A unified health surface One place to see cluster and per-node state, rolled up from what's actually observed.
An audit trail Who did what, when, with a tamper-evident chain.
Extensibility by design Storage backends, operating systems, and site topologies are pluggable behind stable interfaces — the current customer shape is one profile, not the only one.

Where to go next

  • :material-sitemap: Architecture → The big picture: the operator/agent split, the control plane, and how it wraps the existing DaemonSet.

  • :material-cube-outline: Components → The CRDs, the controllers, the observation bridge, and the pluggable interface seams.

  • :material-cog-transfer: How it works → The reconcile loop, and the 21-state storage-upgrade machine the operator observes.

  • :material-map-marker-path: Roadmap & Status → What's built today, and the path from a read-only bridge to full parity.

Honest status

Nodewright is early. The design is settled and documented; the code is a scaffold plus one real vertical slice (the migration phase state-machine) and a read-only observation bridge under active construction. This site describes both what exists and what it's designed to become — and is explicit about which is which.