Current behavior
- Image keys in
ComponentVersion.spec.releases[*].images are matched case-insensitively against runtime container names, init container names, and lifecycle action names (pkg/controller/component/component_version.go:304-340, main @ aa7f8c8). A key that matches nothing (e.g. a typo like swichover, or a container renamed in a newer CMPD) is silently carried along and never applied — no validation error, no event, no status message.
ComponentVersion.status only exposes observedGeneration, phase, message, serviceVersions. There is no per-release view of which images were actually resolved for which containers/actions.
Why it matters
Image-key typos and container renames are only discoverable by observing that a Pod or action still runs the old image after an upgrade — a long diagnosis chain. Addon upgrade acceptance currently has to diff Pod/action images manually per release.
Suggested fix
- During ComponentVersion reconciliation (or admission), cross-check each release's image keys against the containers/actions of the ComponentDefinitions matched by
compatibilityRules; surface unmatched keys as a condition/warning (a hard error may be too strict since one CMPV can span CMPDs with different container sets).
- Optionally extend status with resolved images per (release, compDef) so upgrade verification can read it instead of inspecting Pods.
Current behavior
ComponentVersion.spec.releases[*].imagesare matched case-insensitively against runtime container names, init container names, and lifecycle action names (pkg/controller/component/component_version.go:304-340, main @ aa7f8c8). A key that matches nothing (e.g. a typo likeswichover, or a container renamed in a newer CMPD) is silently carried along and never applied — no validation error, no event, no status message.ComponentVersion.statusonly exposesobservedGeneration,phase,message,serviceVersions. There is no per-release view of which images were actually resolved for which containers/actions.Why it matters
Image-key typos and container renames are only discoverable by observing that a Pod or action still runs the old image after an upgrade — a long diagnosis chain. Addon upgrade acceptance currently has to diff Pod/action images manually per release.
Suggested fix
compatibilityRules; surface unmatched keys as a condition/warning (a hard error may be too strict since one CMPV can span CMPDs with different container sets).