Uploaded image for project: 'Red Hat Internal Developer Platform'
  1. Red Hat Internal Developer Platform
  2. RHIDP-8215

RHDH Installation Script Enhancement: Allow Tag Omission in OCI References for Dynamic Plugins

    • Icon: Story Story
    • Resolution: Unresolved
    • Icon: Critical Critical
    • 1.9.0
    • None
    • Dynamic plugins
    • None
    • RHDH Dynamic Plugins 3278, RHDH COPE 3279, RHDH COPE 3280, RHDH COPE 3281

      Story

      Enhance the RHDH installation script to allow explicit omission of tags/SHAs on OCI references for dynamic plugins, inferring the precise version from an included default plugin configuration.

      Background

      Currently, when enabling dynamic plugins in RHDH, the `dynamic-plugins.yaml` configuration requires explicit OCI references, including specific tags or SHAs, to lock in plugin versions. This approach creates a manual burden for customers who must update these plugin versions in the config map with every RHDH update.
       
      To streamline plugin updates and better support productized plugins and air-gapped environments, the RHDH installation script needs to be modified to:

      • Allow explicit tag omission on OCI references: When processing the `dynamic-plugins.yaml` configurations (both the merged default and customer-provided), the installation script should recognize an explicit token (e.g., an empty string, or a specific placeholder) indicating that the OCI reference for a dynamic plugin is provided without a tag or SHA. In such cases, the script will then match this tagless reference to a corresponding entry in an included yaml file (typically the `dynamic-plugins.default.yaml` file). The precise tag or digest specified for that plugin found in the included yaml file will then be used for the plugin's OCI reference. This allows customers to simply reference the plugin name in their configuration without needing to manage specific versions.

       

      Benefits

      • Simplified Plugin Updates: Customers will no longer need to manually update plugin versions in their config maps with every RHDH release. This significantly reduces the overhead and potential for errors during upgrades.
      • Decoupled Plugin Releases: This change is crucial for decoupling plugin releases from the main RHDH release flow. Plugins can be updated independently of the core RHDH product, allowing for faster security fixes and feature enhancements.
      • Improved Air-Gapped Deployments: By centralizing plugin versioning within a catalog (the included yaml file (typically the dynamic-plugins.default.yaml)), it becomes easier to manage and mirror plugins in air-gapped or disconnected environments, as the customer''s configuration remains stable and points to a well-defined version source.
      • Consistent Versioning: Ensures that customers are running officially supported and compatible plugin versions for a given RHDH release, as defined by the provided default catalog.

      Technical Details/Implementation Notes

      • The included yaml file (typically the dynamic-plugins.default.yaml) will be included as part of the RHDH distribution, likely within a dedicated "catalog" container - see RHIDP-8210
      • The existing installation script''s logic for merging `dynamic-plugins.yaml` files should be leveraged.
      • The script must implement a mechanism to detect the explicit omission of a tag/SHA in the customer''s OCI reference.
      • The script must then look up and apply the correct precise OCI tag/SHA from the included yaml file (typically the dynamic-plugins.default.yaml) when a plugin is referenced in this manner.
      • Consider error handling for cases where a plugin referenced by the customer without a tag/SHA is not found in the included yaml file (typically the dynamic-plugins.default.yaml) or if there are conflicts.

      Dependencies and Blockers

      QE impacted work

      Documentation impacted work

      Acceptance Criteria

      • RHDH installation script successfully processes OCI references where the tag/SHA is explicitly omitted.
      • RHDH instances correctly load dynamic plugins using the precise version (tag or digest) specified in the included yaml file (typically the dynamic-plugins.default.yaml) when the tag/SHA is explicitly omitted by the customer.
      • Documentation is updated to reflect this new behavior and recommended configuration for dynamic plugins.

              rh-ee-frkong Frank Kong
              dfestal David Festal
              RHIDP - Cope
              Votes:
              1 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated: