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

OCI artifact tag/digest update strategy for quarterly releases and .z updates

    • OCI artifact tag/digest update strategy for quarterly releases and .z updates
    • M
    • False
    • Hide

      None

      Show
      None
    • False
    • RHDHPLAN-232Productization: Plugin Catalog / Extensions Marketplace (1.9)
    • Done
    • RHDHPLAN-232 - Productization: Plugin Catalog / Extensions Marketplace (1.9)
    • QE Needed, Docs Needed, TE Needed, Customer Facing, PX Needed
    • 0% To Do, 0% In Progress, 100% Done

      See thread:

      https://redhat-internal.slack.com/archives/C08A1KD7TNY/p1751464147162859

      Tomas said:


      By default, new image is downloaded only if tag changed (unless it is latest in that case it is always downloaded). This is the same logic Kubernetes uses.

      So we either want to have a process whereby

      • or we have to have floating tags that behave like an operator subscription fast-1.7 channel and update the marketplace so that additional floating tags like fast-1.7 or latest-1.7 are also treated as "pullalways" tags; side effect: adds startup time and adds load to image registries, which could also break things unexpectedly for airgap customers.

      Of course the reason why floating tags are NOT used in our helm chart or operator bundle CSV is because they float (and cause unexpected updates / breakages with airgap users) ... and so a better solution would be unchanging tags or even pinned image digests.

      Therefore to have a way to update the https://github.com/redhat-developer/rhdh/blob/main/catalog-entities/marketplace/ with pinned digests every time a new compatible plugin is released, we could do one of these things:

      1. the catalog-entities needs to be consumed directly from github (or a source tarball for airgapped solutions) from the correct branch; or

      2. the catalog-entities needs to be published SEPARATELY as its own oci artifact/container and consumed & deployed by the RHDH chart/operator; or

      3. every time we do a plugin update, we need to regenerate a new RHDH container and publish that with a new operator-bundle (2 containers)

      I don't love any of those solutions:

      1. relies on 3rd party hosting service; least process-heavy solution however (and we could include the sourcesinside the RHDH container at the time of the .0 or .z release, as a fall back for airgapped)

      2. needs yet anothere Konflux pipeline and OCI artifact, plus updates to the chart/operator flows; adds complexity without much gain

      3. uses existing Konflux processes but sorta defeats the purpose of getting rid of wrappers as we have to do an rhdh-hub-rhel9 and rhdh-operator-bundle container release for EVERY .z plugin update

      ---------------

      After discussion today, the plan is to move ahead with

      2. the catalog-entities needs to be published SEPARATELY as its own oci artifact/container and consumed & deployed by the RHDH chart/operator

      this means we need a new OCI artifact, plus updates to the chart and operator bundle to include the new artifact in the deployment. Might need to convert this to a Feature.

              nickboldt Nick Boldt
              nickboldt Nick Boldt
              RHIDP - Cope
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: