chore(flux): retire deprecated monolithic seed Kustomization #384

Merged
k.renner merged 1 commits from retire-seed-monolith into master 2026-07-24 11:19:54 +00:00
Member

Removes two dead files, no live resources touched:

  • kubernetes/clusters/homelab/seed.yaml — the monolithic Kustomization/seed, long since split into per-app seed-<app> KSes. It was kept suspend: true + prune: false only so its inventory could be pruned by a follow-up commit. Verified live: its inventory is now empty (ownership fully migrated to the per-app KSes), so removing it tears down nothing. flux-system (prune: true) garbage-collects the now-absent Kustomization/seed.
  • kubernetes/seed/kustomization.yaml — the aggregator that only the monolith referenced (path: ./kubernetes/seed); already stale (missing woodpecker/). The per-app KSes target ./kubernetes/seed/<app> subdirs and are unaffected.

Verified: only seed.yaml referenced ./kubernetes/seed; e2e-test.sh references only the per-app seed-* KSes; all 7 per-app seeds are currently Ready.

Note: this does not touch the live database/backup infrastructure under seed/<app>/ — that stays. Folding those per-app dirs into apps/<app>/ is a separate, larger refactor.

Removes two dead files, no live resources touched: - `kubernetes/clusters/homelab/seed.yaml` — the monolithic `Kustomization/seed`, long since split into per-app `seed-<app>` KSes. It was kept `suspend: true` + `prune: false` only so its inventory could be pruned by a follow-up commit. Verified live: its **inventory is now empty** (ownership fully migrated to the per-app KSes), so removing it tears down nothing. flux-system (`prune: true`) garbage-collects the now-absent `Kustomization/seed`. - `kubernetes/seed/kustomization.yaml` — the aggregator that **only** the monolith referenced (`path: ./kubernetes/seed`); already stale (missing `woodpecker/`). The per-app KSes target `./kubernetes/seed/<app>` subdirs and are unaffected. Verified: only `seed.yaml` referenced `./kubernetes/seed`; `e2e-test.sh` references only the per-app `seed-*` KSes; all 7 per-app seeds are currently Ready. Note: this does **not** touch the live database/backup infrastructure under `seed/<app>/` — that stays. Folding those per-app dirs into `apps/<app>/` is a separate, larger refactor.
claude-bot added 1 commit 2026-07-24 09:53:01 +00:00
chore(flux): retire deprecated monolithic seed Kustomization
ci/woodpecker/pr/pr-review Pipeline was successful
e606a15d96
The monolithic `Kustomization/seed` was split into per-app `seed-<app>`
KSes; it was left suspended + prune-disabled only so its inventory could
be pruned by a follow-up commit. That inventory is now empty (ownership
fully migrated to the per-app KSes), so the object owns nothing and can
be removed cleanly — flux-system (prune: true) will garbage-collect the
now-absent Kustomization/seed, and its own prune: false + empty inventory
means zero live resources are torn down.

Also drop kubernetes/seed/kustomization.yaml, the aggregator that only the
monolith referenced (path ./kubernetes/seed); it was already stale (missing
woodpecker). The per-app KSes target ./kubernetes/seed/<app> subdirs and are
unaffected.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
review-bot left a comment
Member

🤖 Automated review — model claude-haiku-4-5-20251001 (complexity: trivial), commit e606a15d9642a19f0d8a346d1ab5a2ef501eb48c.

Advisory review by the review-bot pipeline. It never approves; a human merges. Push new commits to get a fresh review.


Summary

This PR removes two now-dead files related to a deprecated monolithic Flux Kustomization: kubernetes/clusters/homelab/seed.yaml (the old aggregator) and kubernetes/seed/kustomization.yaml (the aggregator's resource list). The migration to per-app seed-<app> Kustomizations is confirmed complete with no broken references.

🔴 Blocking

None identified. Verification confirms:

  • No references to the old kubernetes/seed/kustomization.yaml aggregator path exist in the codebase (verified via grep for ./kubernetes/seed$ and direct path references)
  • No dependsOn references to the monolithic seed Kustomization exist (all app KSes depend on per-app seed-<app> variants)
  • All 7 per-app seed Kustomizations are in place and properly configured: seed-authentik, seed-immich, seed-paperless, seed-audiobookshelf, seed-music-assistant, seed-influxdb, seed-woodpecker
  • Flux system has prune: true on infrastructure Kustomization, so deleting this object from git will garbage-collect it from the cluster (as claimed)

🟡 Suggestions

Minor documentation note (not blocking): The PR description states "e2e-test.sh references only the per-app seed-* KSes" and "all 7 per-app seeds are currently Ready," but kubernetes/e2e-test.sh lines 109-115 only checks 6 of the 7 seed Kustomizations. seed-woodpecker is absent from the test's for-loop. This is pre-existing (not introduced by this PR), but worth noting: after merge, the e2e test won't validate that seed-woodpecker is Ready. If intentional, consider clarifying in a future commit; if unintentional, consider a follow-up PR to add it to the test.

Tests

N/A — this is a cleanup/removal PR, not a feature change. E2E tests do not require modifications for this deletion since the old object was suspend: true and had prune: false already, meaning it was not live in the cluster.

Recommendation

Looks reasonable — no blocking issues; the suggestion above is optional and pre-existing.

🤖 **Automated review** — model `claude-haiku-4-5-20251001` (complexity: trivial), commit `e606a15d9642a19f0d8a346d1ab5a2ef501eb48c`. > Advisory review by the `review-bot` pipeline. It never approves; a human merges. Push new commits to get a fresh review. --- ## Summary This PR removes two now-dead files related to a deprecated monolithic Flux Kustomization: `kubernetes/clusters/homelab/seed.yaml` (the old aggregator) and `kubernetes/seed/kustomization.yaml` (the aggregator's resource list). The migration to per-app `seed-<app>` Kustomizations is confirmed complete with no broken references. ## 🔴 Blocking None identified. Verification confirms: - No references to the old `kubernetes/seed/kustomization.yaml` aggregator path exist in the codebase (verified via grep for `./kubernetes/seed$` and direct path references) - No `dependsOn` references to the monolithic `seed` Kustomization exist (all app KSes depend on per-app `seed-<app>` variants) - All 7 per-app seed Kustomizations are in place and properly configured: `seed-authentik`, `seed-immich`, `seed-paperless`, `seed-audiobookshelf`, `seed-music-assistant`, `seed-influxdb`, `seed-woodpecker` - Flux system has `prune: true` on `infrastructure` Kustomization, so deleting this object from git will garbage-collect it from the cluster (as claimed) ## 🟡 Suggestions **Minor documentation note (not blocking):** The PR description states "e2e-test.sh references only the per-app `seed-*` KSes" and "all 7 per-app seeds are currently Ready," but `kubernetes/e2e-test.sh` lines 109-115 only checks 6 of the 7 seed Kustomizations. `seed-woodpecker` is absent from the test's for-loop. This is pre-existing (not introduced by this PR), but worth noting: after merge, the e2e test won't validate that `seed-woodpecker` is Ready. If intentional, consider clarifying in a future commit; if unintentional, consider a follow-up PR to add it to the test. ## Tests N/A — this is a cleanup/removal PR, not a feature change. E2E tests do not require modifications for this deletion since the old object was `suspend: true` and had `prune: false` already, meaning it was not live in the cluster. ## Recommendation Looks reasonable — no blocking issues; the suggestion above is optional and pre-existing. <!-- pr-review:sha=e606a15d9642a19f0d8a346d1ab5a2ef501eb48c -->
k.renner merged commit 5313806a44 into master 2026-07-24 11:19:53 +00:00
Sign in to join this conversation.