refactor(flux): dissolve leftover kubernetes/flux entry tree - #1439
Merged
Conversation
Remove the inert kubernetes/flux/ leftover and the empty kubernetes/apps/kustomization.yaml. Retarget task flux:test:* and just kube render-local-ks to kubernetes/clusters/main, the only remaining Flux entry point. Structure-only: flux-local build of kubernetes/clusters/main is leaf-identical and normalised-Kustomization-identical to the S15 tree (1880 docs, leaf=1764 ks=116, empty diffs). flux-local test --all-namespaces: 215 passed. rook-ceph prune:false untouched.
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.
Intent
Finish stage S16 of the home-ops structural split: dissolve the old kubernetes/flux/ entry structure after S15 is merged and live-converged. Remove the now-empty old paths and any compatibility indirection, leaving kubernetes/clusters/main as the single clean Flux entry point.
S15 (PR #1438) is already merged and live-verified: cluster-apps Ready at ./kubernetes/apps/main, cluster-meta Ready at ./kubernetes/apps/base/flux-system/meta, flux-system Ready at kubernetes/clusters/main (its own reconciliation survived), no namespace entered deletion, self-inventory empty. Only the 3 GPU-pending ai Kustomizations are not Ready.
This PR is structure-only with zero behavior diff: delete kubernetes/flux/ (the inert cluster/ks.yaml leftover) and the empty kubernetes/apps/kustomization.yaml; retarget .taskfiles/flux and kubernetes/mod.just render-local-ks from kubernetes/flux/cluster to kubernetes/clusters/main; update AGENTS.md/README so they no longer describe a mixed-state or inert flux/ tree. Do not change any live Kustomization spec.path, do not touch the rook-ceph prune:false Kustomizations, and do not garbage-collect any Kustomization or namespace.
flux-local render of kubernetes/clusters/main must prove the final tree equals the S15 tree (leaf-identical and normalised-Kustomization-identical). Do not merge this PR. After merge (later), live-verify convergence again.
This is a new branch because S15 squash-merged fm/homeops-split-closing-stage; the S16 commit sits on origin/main.
What Changed
kubernetes/flux/cluster/ks.yamland the emptykubernetes/apps/kustomization.yaml.taskfiles/fluxtests andkubernetes/mod.justrender-local-ks) atkubernetes/clusters/maininstead ofkubernetes/flux/clusterflux/wording fromAGENTS.md,README.md, and the image-pull workflow comment so docs match the single Flux entry pointRisk Assessment
✅ Low: Structure-only deletion of inert kubernetes/flux leftovers plus docs/tool path retargets; live Kustomization paths and rook-ceph prune:false are untouched.
Testing
Compared S15 base to S16 with flux-local get/build on kubernetes/clusters/main: inventory and full leaf renders are byte-identical (SHA c470dc16…), normalised Kustomizations match, old flux entry paths are gone, rook-ceph prune:false is preserved, and task/mod.just/image-pull retargets resolve to clusters/main.
Evidence: S16 validation summary
Evidence: Normalised S15 vs S16 comparison
{ "flux_kustomization_count_s15": 116, "flux_kustomization_count_s16": 116, "normalised_kustomization_identical": true, "leaf_resource_keys_identical": true, "leaf_resource_count_s15": 885, "leaf_resource_count_s16": 885, "canonical_docs_identical": true }Evidence: Leaf build SHA identity
leaf-identical: true c470dc16b8f95bc01e7536f86abc8f7c40b20b16d787a94b6b229c5913e66fee s15-ks-build.yaml c470dc16b8f95bc01e7536f86abc8f7c40b20b16d787a94b6b229c5913e66fee s16-ks-build.yamlEvidence: S15 flux-local get ks inventory
/var/folders/yr/h20mxtv56yj1c1pt9tr1_kbc0000gn/T/no-mistakes-evidence/01M0V83685S7CRZVW7G4NE2X01/s16-get-ks.txt) - Evidence: S15 flux-local ks leaf build (local file:/var/folders/yr/h20mxtv56yj1c1pt9tr1_kbc0000gn/T/no-mistakes-evidence/01M0V83685S7CRZVW7G4NE2X01/s15-ks-build.yaml) - Evidence: S16 flux-local ks leaf build (local file:/var/folders/yr/h20mxtv56yj1c1pt9tr1_kbc0000gn/T/no-mistakes-evidence/01M0V83685S7CRZVW7G4NE2X01/s16-ks-build.yaml)Evidence: Structure and retarget checks
Evidence: S16 rendered KS path inventory
Pipeline
Updates from git push no-mistakes
✅ **intent** - passed
✅ No issues found.
✅ **Rebase** - passed
✅ No issues found.
✅ **Review** - passed
✅ No issues found.
✅ **Test** - passed
✅ No issues found.
git diff --name-status b6a608a4..5c7bb453(structure-only file set)diff -rqS15 vs S16kubernetes/clusters/main,apps/main,apps/basetest ! -e kubernetes/fluxandtest ! -e kubernetes/apps/kustomization.yamlflux-local get ks -A --path kubernetes/clusters/mainon S15 and S16 worktrees (inventory identical)flux-local build ks -A --path kubernetes/clusters/main --skip-secretson S15 and S16;cmpleaf YAML byte-identicalPython normalised Flux Kustomization + leaf-key comparison (116 KS, 885 leaves, identical canonical hash)flux-local build ks -n flux-system --path kubernetes/clusters/main cluster-apps(116 child KS; rook-ceph prune=false; no kubernetes/flux paths)Retarget assertions on.taskfiles/flux/Taskfile.yaml,kubernetes/mod.just,.github/workflows/image-pull.yaml, docs✅ **Document** - passed
✅ No issues found.
✅ **Lint** - passed
✅ No issues found.
✅ **Push** - passed
✅ No issues found.