feat: support configuring multiple catalog index images [RHIDP-12935]#2717
Merged
Conversation
Currently the operator only supports a single catalog index image
(CATALOG_INDEX_IMAGE), which limits users who need to load plugin
configurations from multiple sources.
This adds support for a new EXTRA_CATALOG_INDEX_IMAGES env var on the
install-dynamic-plugins init container, accepting a comma-separated list
of entries in either name=image_ref or plain image_ref format.
For disconnected environments, RELATED_IMAGE_extra_catalog_index_{name}
env vars on the controller are collected at reconciliation time and
forwarded as EXTRA_CATALOG_INDEX_IMAGES using the name=image_ref format.
User-specified extraEnvs or deployment patches take precedence, matching
the existing CATALOG_INDEX_IMAGE behavior.
Ref: RHIDP-12935
Assisted-by: Claude
rm3l
commented
Apr 22, 2026
Co-authored-by: Armel Soro <armel@rm3l.org>
The install-dynamic-plugins container processes extra catalog index images in order, so sorting them alphabetically could change behavior. Drop the sort and preserve the order in which the RELATED_IMAGE_extra_catalog_index_* env vars are declared. Ref: RHIDP-12935 Assisted-by: Claude
Update RELATED_IMAGE_catalog_index to point to the 1.10 tag. Add a commented-out RELATED_IMAGE_extra_catalog_index_community entry for when a community catalog index image becomes available. Ref: RHIDP-12935 Assisted-by: Claude
rm3l
commented
Apr 22, 2026
f049ee6 to
baf0220
Compare
gazarenkov
reviewed
Apr 24, 2026
…catalog_index handling While listing related images in the CSV can serve as a bill of materials of all images the operator needs (consumable by tools like oc-mirror or security scanners), plugin catalog index images are a special case: they are not pulled by the Kubelet but directly by skopeo from inside the install-dynamic-plugins script. This means that in disconnected environments, having them automatically mirrored by oc-mirror would not work out of the box, since ImageContentSourcePolicy, ImageDigestMirrorSet or ImageTagMirrorSet resources have no effect on skopeo pulls. To avoid confusion, we rely on the separate plugin mirroring script and docs for handling plugin and catalog index image mirroring. Assisted-by: Claude
…-operator-to-support-configuring-multiple-catalog-index-images
…_extra_catalog_index handling
…ents Assisted-by: Claude
rm3l
commented
Apr 24, 2026
|
gazarenkov
approved these changes
Apr 25, 2026
82a6c92
into
redhat-developer:main
9 checks passed
2 tasks
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.



Description
Followup to redhat-developer/rhdh#4655 (which adds support for extra catalog index images in the
install-dynamic-plugins.pyscript).This adds support for a new
EXTRA_CATALOG_INDEX_IMAGESenv var on the install-dynamic-plugins init container, accepting a comma-separated list of entries in eithername=image_refor plain image_ref format.This is in addition to the existing
CATALOG_INDEX_IMAGE, which is considered still the primary index.For disconnected environments,
RELATED_IMAGE_extra_catalog_index_{name}env vars on the controller are collected at reconciliation time and forwarded asEXTRA_CATALOG_INDEX_IMAGESusing thename=image_refformat.User-specified
extraEnvsor deployment patches take precedence, matching the existingCATALOG_INDEX_IMAGEbehavior.Assisted-by: Claude
Which issue(s) does this PR fix or relate to
PR acceptance criteria
How to test changes / Special notes to the reviewer