feat: catalog index consumption in install-dynamic-plugins.py to extract and consume catalog index - #3737
Merged
rm3l merged 30 commits intoDec 2, 2025
Conversation
Fortune-Ndlovu
temporarily deployed
to
internal
November 23, 2025 03:20 — with
GitHub Actions
Inactive
Fortune-Ndlovu
force-pushed
the
RHIDP-9761-catalog-index-extraction
branch
from
November 23, 2025 03:37
79511b2 to
7463a90
Compare
Fortune-Ndlovu
temporarily deployed
to
internal
November 23, 2025 03:37 — with
GitHub Actions
Inactive
Fortune-Ndlovu
force-pushed
the
RHIDP-9761-catalog-index-extraction
branch
from
November 23, 2025 03:53
7463a90 to
51bb708
Compare
Fortune-Ndlovu
temporarily deployed
to
internal
November 23, 2025 03:53 — with
GitHub Actions
Inactive
Contributor
|
The image is available at: |
…ns.py Enable install-dynamic-plugins.py to consume plugin catalog index as an OCI artifact. When CATALOG_INDEX_IMAGE is set, the script uses skopeo to pull the catalog index image, extracts its layers to a temporary directory, and reads dynamic-plugins.default.yaml from the artifact. This file is prepended to the includes list, replacing the embedded default file to avoid duplicates. The implementation supports tar auto-detection (r:*) for different compression formats, fixes an OCI plugin directory creation bug, and ensures cleanup of temporary files after processing. Fully backwards compatible when CATALOG_INDEX_IMAGE is not set.
Fortune-Ndlovu
force-pushed
the
RHIDP-9761-catalog-index-extraction
branch
from
November 23, 2025 06:25
51bb708 to
39e9fd5
Compare
Fortune-Ndlovu
temporarily deployed
to
internal
November 23, 2025 06:25 — with
GitHub Actions
Inactive
Contributor
|
The image is available at: |
Fortune-Ndlovu
temporarily deployed
to
internal
November 24, 2025 04:52 — with
GitHub Actions
Inactive
Contributor
|
The image is available at: |
rm3l
reviewed
Nov 24, 2025
function to handle cases where layer files referenced in the OCI manifest are missing from the downloaded image. Instead of failing with an unhandled exception, the function should print a warning and continues processing other layers. Add unit tests to validate the catalog index extraction features including success cases, missing file handling, and large file skipping. Lastly add minimal documentation Signed-off-by: Fortune Ndlovu <fndlovu@redhat.com>
Fortune-Ndlovu
temporarily deployed
to
internal
November 26, 2025 11:41 — with
GitHub Actions
Inactive
Signed-off-by: Fortune Ndlovu <fndlovu@redhat.com>
Fortune-Ndlovu
temporarily deployed
to
internal
November 26, 2025 11:51 — with
GitHub Actions
Inactive
Signed-off-by: Fortune Ndlovu <fndlovu@redhat.com>
Fortune-Ndlovu
temporarily deployed
to
internal
November 26, 2025 12:24 — with
GitHub Actions
Inactive
…itespace,while keeping only the functional additions for catalog index testing Signed-off-by: Fortune Ndlovu <fndlovu@redhat.com>
Fortune-Ndlovu
temporarily deployed
to
internal
November 26, 2025 12:41 — with
GitHub Actions
Inactive
Fortune-Ndlovu
temporarily deployed
to
internal
November 26, 2025 12:42 — with
GitHub Actions
Inactive
Contributor
|
The image is available at: |
Fortune-Ndlovu
temporarily deployed
to
internal
November 26, 2025 14:48 — with
GitHub Actions
Inactive
Contributor
|
The image is available at: |
Member
Author
|
cc/ @rm3l for final review please |
rm3l
reviewed
Dec 1, 2025
…and Simplify the if/else logic
Fortune-Ndlovu
temporarily deployed
to
internal
December 1, 2025 15:58 — with
GitHub Actions
Inactive
Fortune-Ndlovu
temporarily deployed
to
internal
December 1, 2025 16:01 — with
GitHub Actions
Inactive
Fortune-Ndlovu
temporarily deployed
to
internal
December 1, 2025 16:14 — with
GitHub Actions
Inactive
Fortune-Ndlovu
temporarily deployed
to
internal
December 1, 2025 16:17 — with
GitHub Actions
Inactive
…sRoot to dynamic_plugins_root in the cleanup function to follow Python's PEP 8 snake_case naming convention
Fortune-Ndlovu
temporarily deployed
to
internal
December 1, 2025 16:22 — with
GitHub Actions
Inactive
Contributor
|
The image is available at: |
Fortune-Ndlovu
temporarily deployed
to
internal
December 1, 2025 17:22 — with
GitHub Actions
Inactive
Fortune-Ndlovu
force-pushed
the
RHIDP-9761-catalog-index-extraction
branch
from
December 1, 2025 17:32
df3acfc to
ce9f4af
Compare
Fortune-Ndlovu
temporarily deployed
to
internal
December 1, 2025 17:33 — with
GitHub Actions
Inactive
Fortune-Ndlovu
force-pushed
the
RHIDP-9761-catalog-index-extraction
branch
from
December 1, 2025 17:38
ce9f4af to
df3acfc
Compare
Fortune-Ndlovu
temporarily deployed
to
internal
December 1, 2025 17:38 — with
GitHub Actions
Inactive
Fortune-Ndlovu
temporarily deployed
to
internal
December 1, 2025 17:44 — with
GitHub Actions
Inactive
|
Contributor
|
The image is available at: |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: nickboldt, rm3l The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
5 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
catalog index consumption in
install-dynamic-plugins.pyto extract and usedynamic-plugins.default.yamlfrom an OCI artifact instead of the embedded file.Assisted-by: Cursor
Signed-off-by: Fortune Ndlovu fndlovu@redhat.com
Which issue(s) does this PR fix
PR acceptance criteria
Please make sure that the following steps are complete:
How to test changes / Special notes to the reviewer