Skip to content

feat: support configuring multiple catalog index images [RHIDP-12935]#2717

Merged
openshift-merge-bot[bot] merged 12 commits into
redhat-developer:mainfrom
rm3l:RHIDP-12935--update-operator-to-support-configuring-multiple-catalog-index-images
Apr 25, 2026
Merged

feat: support configuring multiple catalog index images [RHIDP-12935]#2717
openshift-merge-bot[bot] merged 12 commits into
redhat-developer:mainfrom
rm3l:RHIDP-12935--update-operator-to-support-configuring-multiple-catalog-index-images

Conversation

@rm3l
Copy link
Copy Markdown
Member

@rm3l rm3l commented Apr 22, 2026

Description

Followup to redhat-developer/rhdh#4655 (which adds support for extra catalog index images in the install-dynamic-plugins.py script).

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.
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 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.

Assisted-by: Claude

Which issue(s) does this PR fix or relate to

PR acceptance criteria

  • Tests
  • Documentation

How to test changes / Special notes to the reviewer

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
Comment thread docs/dynamic-plugins.md Outdated
Comment thread docs/dynamic-plugins.md Outdated
Comment thread docs/dynamic-plugins.md Outdated
Comment thread docs/dynamic-plugins.md Outdated
Comment thread examples/catalog-index.yaml Outdated
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
Comment thread docs/dynamic-plugins.md
@rm3l rm3l force-pushed the RHIDP-12935--update-operator-to-support-configuring-multiple-catalog-index-images branch from f049ee6 to baf0220 Compare April 23, 2026 10:01
Comment thread pkg/model/dynamic-plugins_test.go Outdated
Comment thread config/profile/rhdh/patches/deployment-patch.yaml Outdated
Comment thread config/profile/rhdh/default-config/deployment.yaml Outdated
rm3l added 3 commits April 24, 2026 13:56
…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
@rm3l rm3l requested a review from gazarenkov April 24, 2026 12:26
Comment thread .rhdh/docs/mirror-dynamic-plugins.adoc Outdated
@sonarqubecloud
Copy link
Copy Markdown

@openshift-ci openshift-ci Bot added the lgtm label Apr 25, 2026
@openshift-merge-bot openshift-merge-bot Bot merged commit 82a6c92 into redhat-developer:main Apr 25, 2026
9 checks passed
@rm3l rm3l deleted the RHIDP-12935--update-operator-to-support-configuring-multiple-catalog-index-images branch April 26, 2026 20:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Bug fix documentation Improvements or additions to documentation enhancement New feature or request lgtm Tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants