[Phase 3] Fix Flux ordering: add bedag HelmRepository to zip-enrichment, holidays, and air-quality kustomizations #87
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
The
flux/zip-enrichment/,flux/holidays/, andflux/air-quality/kustomizations each include aHelmReleasethat references thebedagHelmRepository in theflux-systemnamespace. However, none of these kustomizations declare their ownhelmrepository.yaml— they rely on the one committed underflux/docs-site/kustomization.yaml.This creates a Flux reconciliation race condition: if the
zip-enrichment,holidays, orair-qualityKustomizations reconcile beforedocs-site, thebedagHelmRepository does not yet exist influx-system, causing the API service HelmReleases to fail withHelmRepository not found.Affected files:
flux/zip-enrichment/kustomization.yaml— missinghelmrepository.yamlflux/holidays/kustomization.yaml— missinghelmrepository.yamlflux/air-quality/kustomization.yaml— missinghelmrepository.yamlWhat to do
Create a
flux/bedag-helmrepository.yamlat the top-levelflux/directory with the bedag HelmRepository, and reference it from the top-levelflux/kustomization.yaml. Remove it fromflux/docs-site/kustomization.yamlto avoid duplicate resource conflicts.Option A (preferred) — shared top-level HelmRepository:
flux/docs-site/helmrepository.yaml→ copy its content to a newflux/bedag-helmrepository.yamlbedag-helmrepository.yamltoflux/kustomization.yamlresources listhelmrepository.yamlfromflux/docs-site/kustomization.yamlresources list (and delete the file if it becomes empty)kustomize build flux/passes with no errorsOption B — duplicate per-service HelmRepository:
Add a
helmrepository.yamlto each of zip-enrichment, holidays, and air-quality — but this creates duplicate resources influx-systemand Flux will conflict. Use Option A.Acceptance criteria
kustomize build flux/passes with no errors and no warnings about duplicate resourcesbedagHelmRepository is declared exactly once and is available to all four HelmReleases (zip-enrichment, holidays, air-quality, docs-site)flux get helmreleases -Ashows all four API service HelmReleases asREADY=Trueafter Flux comes online (post Phase 0 operator steps).gitea/workflows/validate-flux.yaml) passes on the PRDependencies
(Reference: ROADMAP.md §Phase 3; kustomize build validates this pre-deploy)
✅ Implemented — PR #93 merged.
Moved
flux/docs-site/helmrepository.yaml→flux/bedag-helmrepository.yaml(top-level) and registered it influx/kustomization.yaml. The bedag HelmRepository is now declared exactly once and is guaranteed to exist before any of the four HelmReleases reconcile.kustomize build flux/passes with no errors.