From 9d772f68d21261d6e457db9c6d5e056f52f6253a Mon Sep 17 00:00:00 2001 From: CodeGit Date: Fri, 4 Sep 2026 12:27:06 +0100 Subject: [PATCH] docs: document the ImageUpdateAutomation namespace-scoping requirement Cross-referencing image-automation.yaml's own comment explaining the namespace-matching bug that caused Setters to silently no-op for hours of investigation - worth calling out in the walkthrough itself since it fails with no error at all, just an endless "repository up-to-date". Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01Y4YNpuC2bgT224suQLLJ7B --- docs/03-flux.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/docs/03-flux.md b/docs/03-flux.md index bc04eee..36746e3 100644 --- a/docs/03-flux.md +++ b/docs/03-flux.md @@ -402,7 +402,16 @@ What it does need, that podinfo/headlamp don't, is a way to notice when CI publishes a new image and roll it out — that's `apps/hello-app/image-automation.yaml`'s job (`ImageRepository`/`ImagePolicy`/`ImageUpdateAutomation`, all commented in -that file). +that file). One easy-to-miss requirement, worth calling out explicitly +since getting it wrong fails silently: `ImageUpdateAutomation` must live +in the *same namespace* as the `ImagePolicy` it targets — the controller +only ever lists `ImagePolicy` objects from its own namespace, so a +cross-namespace `$imagepolicy` marker matches nothing, and every +reconcile just reports "repository up-to-date" with no error and no +commit, no matter how correct the marker syntax, RBAC, or policy +resolution otherwise are (see `image-automation.yaml`'s own comment for +the exact controller source line this comes from). `GitRepository` itself +is fine to reference cross-namespace, via `sourceRef.namespace`. Exercise the whole loop end to end. Unlike the rest of this stage, this runs on your **desktop** (the `maq` clone from `docs/01-bootstrap.md` step