Uploaded image for project: 'RH Developer Hub Planning'
  1. RH Developer Hub Planning
  2. RHDHPLAN-371

Bundle and consume a app-config.dynamic.yaml in the OCI images

Create Doc EPIC from R...Prepare for Z ReleasePrepare Test Plan (Y R...XMLWordPrintable

    • False
    • Hide

      None

      Show
      None
    • False

      EPIC Goal

      When we move extensions/marketplace metadata from rhdh into the rhdh-overlay we should also move the default configuration for each plugin into the overlay repository.

      This does not mean that we must migrate the complete dynamic-plugins.dynamic.yaml now.

      Esp. the list of enabled/disabled plugins should stay in rhdh.

      And there might be still a need for a pluginConfig of some plugins. But most of these content should be moved into the overlay repository and then into the OCI images. For example, as a "app-config.dynamic.yaml".

      The order of configurations for an OCI image should be

      1. load the /app-config.dynamic.yaml from the OCI image (NEW)
      2. override/merge it with the dynamic-plugins.dynamic.yaml (keep this for being backward compatible and to allow us overriding plugins default with rhdh defaults
      3. override/merge it with the app configuration from the customer

      This feature makes installation of plugins easier, with and without the Extensions Plugin. Also customers that want ship a default configuration with their OCI image can benefit from this.

      Background/Feature Origin

      With RHDHPLAN-232 we want migrate the catalog yaml files from the RHDH repository and container image into the rhdh-overlay repository and bundle them in one (or more) container images that contains just these metadata/index.

      Why is this important?

      1. The amount of plugins requires us to have dynamic plugin configurations closer to the source code and removes plugin specific information from the rhdh code base.
      2. Moving also the app-config.default.yaml to the overlay repo enables also plugin maintainers do necessary changes without touching the rhdh core.
      3. Having no default configuration for plugins will make plugin updates much more complicated in the future. (This problem might get smaller with NFS, but also for backend plugins it makes sense to ship a default configuration)

      User Scenarios

      As a plugin author, I like to add a default plugin configuration to my plugin that is build with the overlay repository, so that users can use my feature without researching the right frontend dynamic plugin configuration.

      As a plugin consumer, I like to install a plugin without researching the right frontend dynamic plugin configuration.

      Dependencies (internal and external)

      Acceptance Criteria

      1. OCI images for plugins with an app-config.default.yaml in the overlay repository should include this configuration.
      2. The rhdh init-container should extract this configuration and should apply and merge this automatically to the configuration
      3. Result: OCI images with such a configuration should work without any additional configuration, for example: https://github.com/redhat-developer/rhdh-plugin-export-overlays/blob/main/workspaces/config-viewer/plugins/config-viewer/app-config.dynamic.yaml
      4. TBD: The package metadata should include this configuration as well, so that it is visible in the Extensions/Marketplace UI? This could be enforced with an overlay CI job or it could be enforced when building the catalog index.... Everything else should be independent from the Extensions/Marketplace Plugin!

              cjerolim Christoph Jerolimov
              cjerolim Christoph Jerolimov
              RHIDP - Cope
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated: