fix: migrate extensions plugins from local dist to OCI after rhdh#5299 - #299
Conversation
rhdh#5299 removed dynamic-plugins/dist/ from the RHDH image. Replace the local-path extensions entries with OCI artifacts, explicitly disable the obsolete default catalog entries to prevent pluginConfig conflicts, and use correct OCI !alias names matching the directory names inside the images. Also update CI action and required-plugins baseline accordingly.
Mount dynamic-plugins-root at /opt/app-root/src/dynamic-plugins-root in both init and main containers (previously the init container used /dynamic-plugins-root). This prevents absolute symlinks created by the CLI installer from breaking across containers. Also updates the RHIDP-3939 workaround to clear directory contents instead of removing the mount point, and aligns the includes path in dynamic-plugins configs to match the new mount.
The plugin validation script grouped all enabled entries before disabled entries, so disabled dist-path overrides always clobbered enabled OCI entries for the same normalized plugin name. Process entries in YAML order instead so later entries take precedence. Uses jq for conditional logic since yq's if-then-else syntax is not portable across all versions.
901d7f2 to
0dc9a18
Compare
|
PR Summary by QodoMigrate Extensions plugins to OCI and align shared plugin paths
AI Description
Diagram
High-Level Assessment
Files changed (8)
|
Code Review by Qodo🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)
Great, no issues found!Qodo reviewed your code and found no material issues that require reviewTip of the day💡 Did you know, you can ask Qodo to dismiss a finding you disagree with, with your reason on record |



Summary
rhdh#5299removed thedynamic-plugins/dist/directory from the RHDH image, breaking all rhdh-local CI jobs. This PR migrates the extensions plugins to OCI artifacts and fixes the supporting infrastructure.Changes
1. Replace local dist extensions with OCI references (
86eb4a4)./dynamic-plugins/dist/extensions entries with OCI packages fromquay.io/rhdh/pluginConfigconflicts (the catalog index still ships./dynamic-plugins/dist/entries withenabled: true— see note below)!aliasnames matching the actual directory names inside the OCI images (without-dynamicsuffix)required-plugins.yamlbaseline2. Align volume mount paths between init and main containers (
af34697)dynamic-plugins-rootat/opt/app-root/src/dynamic-plugins-rootin both init and main containers (init previously used/dynamic-plugins-root)prepare-and-install-dynamic-plugins.shto use the aligned pathincludespath indynamic-plugins.yamland override example to match the new mount3. Fix validation script entry ordering (
0dc9a18)enabled: trueentries correctly override earlierenabled: falsedist-path overrides for the same normalized plugin namejqfor conditional logic (portable acrossyqversions)Note on
enabled: falseoverridesThe
enabled: falseentries for./dynamic-plugins/dist/paths are a necessary workaround. Thenextcatalog index still ships these entries asenabled: truewithpluginConfigvalues. Without the overrides, the installer fails withConfig key 'extensions.installation.enabled' defined differently for 2 dynamic plugins. These overrides can be removed once RHDHBUGS-3710 is resolved.Related