Skip to content

Phase 1 — Foundations

Project: nodewright

Branch: main

Description: Nodewright — Kubernetes-native operator productizing the vx-rail-node-init bash DaemonSet for SpectroCloud Palette Edge clusters. v0.1 scope: VMVolumeMigration killer feature + read-only health surface, ships on the 9-cell substrate matrix. This prd.json drives the Foundations build (PRD-03) — repo scaffolding, CI lanes, ralph-ci.sh wrapper, package skeletons. Killer Feature build follows in a separate prd.json after Foundations BLESSED.

Story progress

  • ✅ Completed: 49
  • ⏳ Pending: 0
  • 🛑 Blocked: 0

All stories

ID Title Status Notes
F-01 kubebuilder init ✅ done
F-02 Split cmd/{operator,agent,webhook,nwctl} ✅ done
F-03 Pin Go module dependencies ✅ done
F-04 Makefile core targets ✅ done
F-05 Makefile test/bench targets ✅ done
F-06 Makefile lint-pass targets ✅ done
F-07 make rbac-doc + drift detection ✅ done
F-08 Dockerfile.standard with cosign-verified base ✅ done
F-09 Dockerfile.fips with Chainguard FIPS base ✅ done
F-10 .dockerignore ✅ done
F-11 .github/workflows/lint.yml ✅ done
F-12 .github/workflows/build.yml ✅ done
F-13 .github/workflows/unit.yml + k8s-matrix.yml ✅ done
F-14 .github/workflows/integration.yml ✅ done
F-15 .github/workflows/e2e-fake.yml ✅ done
F-16 .github/workflows/security-source.yml ✅ done
F-17 .github/workflows/security-supply.yml + release-verification.md ✅ done
F-18 .github/workflows/fips-build.yml ✅ done
F-19 .github/workflows/compliance.yml (stub) ✅ done
F-20 .github/workflows/compliance-fallback.yml (stub) ✅ done
F-21 .github/workflows/e2e-hardware.yml ✅ done
F-22 .github/workflows/bench.yml ✅ done
F-23 .github/workflows/runner-heartbeat-check.yml (stub) ✅ done
F-24 .github/workflows/test-fixtures-build.yml (stub) ✅ done
F-25 Port scripts/ralph-ci.sh from nutanix-vma ✅ done Bootstrap-satisfied; verified pre-launch.
F-26 Initial prd.json + progress.txt ✅ done Bootstrap-satisfied; verified pre-launch.
F-27 Verify ralph-ci.sh --reset 0 works ✅ done Bootstrap-verified; ./scripts/ralph-ci.sh 0 produced metrics-report.md cleanly.
F-28 api/v1alpha1/ NodewrightCluster CRD shell ✅ done
F-29 internal/storage/ Backend interface + per-backend stubs ✅ done
F-30 internal/os/ OSProvider interface + per-OS stubs ✅ done
F-31 internal/audit/ skeleton ✅ done
F-32 internal/test/{fakes,chaos,harness} stubs ✅ done
F-33 internal/{webhook,controllers,agent} skeletons ✅ done
F-34 cmd/{operator,agent,webhook,nwctl}/main.go scaffolds ✅ done
F-35 charts/nodewright + packs/nodewright skeletons ✅ done
F-36 ui/ Vite+React+TS scaffold with brand CSS vars ✅ done
F-37 docs/ runbooks + customer-acceptance + compliance-baseline stubs ✅ done
F-38 hack/lint/ go/analysis stub framework ✅ done
F-39 scripts/provision-hw-cluster.sh red-stub ✅ done
F-40 AGENTS.md ✅ done Bootstrap-satisfied; verified pre-launch.
F-41 CONTRIBUTING.md initial ✅ done
F-42 CODEOWNERS ✅ done
F-43 Conventional commits + commitlint config ✅ done
F-44 scripts/branch-protection.sh apply/verify + workflow ✅ done
F-45 LICENSE + README + .gitignore updates ✅ done
F-46 Threat-model artifact stubs (PRD-01 owned) ✅ done
F-47 Fresh-clone build verification ✅ done
F-48 First-push CI green on main ✅ done
F-49 Final ralph noop verification ✅ done CI gate satisfied by HEAD~1 (43c428c) — all 8 lanes + Fresh-clone verification g