feat(flux): install image-reflector + image-automation controllers

The flux bootstrap was originally run without --components-extra,
so only the four core controllers (source, kustomize, helm,
notification) were installed. The image-* CRDs and Deployments
weren't in the cluster, which meant the image-automation
manifests added in 5c5d39e/b5508d0 immediately broke the
infrastructure Kustomization with "no matches for kind ImagePolicy
in version image.toolkit.fluxcd.io/v1beta2".

Verified by:
  kubectl -n flux-system get deployments
    -> 4 controllers, no image-*
  kubectl get crd | grep image.toolkit
    -> empty
  kubectl api-resources --api-group=image.toolkit.fluxcd.io
    -> empty

Two changes:

  1. Regenerated gotk-components.yaml with
     `flux install --components-extra=image-reflector-controller,
                   image-automation-controller --export`.
     Now ships all six controllers + their CRDs.

  2. bootstrap.sh: same --components-extra flag added to the
     `flux bootstrap gitea` call so the next rebuild-k8s run
     produces a cluster that includes the image controllers from
     the start, not as a one-off bolt-on.

After flux reconciles flux-system, the CRDs land, the new
Deployments come up, and the infrastructure Kustomization can
apply image-automation/ cleanly.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-01 15:39:58 +02:00
co-authored by Claude Opus 4.7
parent b5508d0226
commit 3ec24ef20d
2 changed files with 2293 additions and 56 deletions
+1
View File
@@ -205,6 +205,7 @@ if phase_runs flux; then
--repository="$GITEA_REPO" \
--branch=master \
--path="$FLUX_PATH" \
--components-extra=image-reflector-controller,image-automation-controller \
--personal \
--token-auth 2>&1 | tail -5
File diff suppressed because it is too large Load Diff