Repository navigation
Conversation
OperatorConfig.Configure set operator.version = roxie.version unconditionally, discarding an explicitly configured operator.version. In CI this caused the operator bundle to be fetched with the main image's "-rcd" tag (roxie.version) rather than the configured operator.version, yielding MANIFEST_UNKNOWN since no "-rcd" operator bundle is published. Only assigning when empty would fix that symptom, but it introduces a new bug: the post-Configure config is persisted into the cluster manifest, so the resolved version gets baked in and wins on subsequent runs. A later `roxie deploy --tag=<new>` onto the same cluster would then be a no-op for the operator, because operator.version (baked) is non-empty and --tag only sets roxie.version. Instead of baking, resolve lazily. Configure no longer touches the version; CentralVersion/SecuredClusterVersion now fall back central/securedCluster.operator.version -> operator.version -> roxie.version. Nothing version-related is persisted, an explicit operator.version still wins, and --tag always takes effect on redeploy. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…figure Apply the same read-time resolution to KonfluxImages as was done for the operator version: resolveKonfluxImages now falls back per-component -> operator.konfluxImages -> roxie.konfluxImages, instead of relying on Configure to bake roxie.konfluxImages into operator.konfluxImages. As with the version, baking persisted the resolved value into the cluster manifest, so toggling --konflux on an existing cluster was a no-op on redeploy. With both the version and Konflux fallbacks resolved lazily, Configure had nothing left to do, so it and its call site in configureConfig are removed. The comment at that call site was already stale: it claimed to perform the "transformation of main image tags to semver compatible versions", which is actually done by MainTag.ToOperatorTag() at image-reference build time, not in Configure. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Contributor
porridge
marked this pull request as ready for review
October 19, 2026 07:50
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
OperatorConfig.Configureused to bake resolved values into the persisted config:operator.version = roxie.versionunconditionally, so an explicitoperator.versionwas ignored. In CI for test: Migrate race-condition tests to roxie stackrox#23397 this made the operator bundle incorrectly resolve to-rcdtag (which does not exist for that image)roxie.konfluxImagesintooperator.konfluxImages.Because the post-
Configureconfig is persisted into the cluster manifest and reused as the base on later runs, the baked values won on redeploy — a subsequent--tag/--konfluxon the same cluster became a no-op.What
CentralVersion/SecuredClusterVersion:component.operator.version→operator.version→roxie.version.resolveKonfluxImages.OperatorConfig.Configureand its call site.Nothing version/Konflux-related is persisted anymore, an explicit
operator.versionwins, and--tag/--konfluxalways take effect on redeploy.Regression tests added that fail at tip of
mainand pass here.