Commit 82a6c92
authored
feat: support configuring multiple catalog index images [RHIDP-12935] (#2717)
* feat: support configuring multiple catalog index images
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
* Apply suggestions from code review
Co-authored-by: Armel Soro <armel@rm3l.org>
* fix: preserve env var declaration order in EXTRA_CATALOG_INDEX_IMAGES
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
* chore: bump catalog index image to 1.10 and add community placeholder
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
* docs: document RELATED_IMAGE_extra_catalog_index_* and clarify ordering
The order of entries in EXTRA_CATALOG_INDEX_IMAGES is determined by the
OS and not guaranteed. Update code comments, tests, and docs to reflect
this instead of claiming declaration order is preserved.
Assisted-by: Claude
* Apply suggestions from code review
Co-authored-by: Armel Soro <armel@rm3l.org>
* Apply suggestion from @rm3l
* refactor: remove RELATED_IMAGE_catalog_index and RELATED_IMAGE_extra_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
* fixup! refactor: remove RELATED_IMAGE_catalog_index and RELATED_IMAGE_extra_catalog_index handling
* docs: document catalog index image mirroring in disconnected environments
Assisted-by: Claude
* Apply suggestion from @rm3l1 parent 4c2ddbe commit 82a6c92
12 files changed
Lines changed: 45 additions & 122 deletions
File tree
- .rhdh/docs
- bundle
- backstage.io/manifests
- rhdh/manifests
- config/profile/rhdh
- default-config
- patches
- dist/rhdh
- docs
- examples
- pkg/model
- testdata
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
121 | 121 | | |
122 | 122 | | |
123 | 123 | | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
124 | 135 | | |
125 | 136 | | |
126 | 137 | | |
| |||
Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 1 addition & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
68 | 68 | | |
69 | 69 | | |
70 | 70 | | |
71 | | - | |
72 | 71 | | |
73 | 72 | | |
74 | 73 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
31 | | - | |
32 | | - | |
33 | 31 | | |
34 | 32 | | |
35 | 33 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
50 | 50 | | |
51 | 51 | | |
52 | 52 | | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
53 | 78 | | |
54 | 79 | | |
55 | 80 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| 9 | + | |
9 | 10 | | |
10 | 11 | | |
11 | 12 | | |
12 | 13 | | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
13 | 20 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
32 | | - | |
33 | 32 | | |
34 | 33 | | |
35 | 34 | | |
| |||
107 | 106 | | |
108 | 107 | | |
109 | 108 | | |
110 | | - | |
111 | | - | |
112 | | - | |
113 | | - | |
114 | | - | |
115 | | - | |
116 | | - | |
117 | 109 | | |
118 | 110 | | |
119 | 111 | | |
| |||
0 commit comments