-
Feature
-
Resolution: Unresolved
-
Major
-
None
-
None
-
False
-
-
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
- load the /app-config.dynamic.yaml from the OCI image (NEW)
- 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
- 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?
- 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.
- Moving also the app-config.default.yaml to the overlay repo enables also plugin maintainers do necessary changes without touching the rhdh core.
- 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
- OCI images for plugins with an app-config.default.yaml in the overlay repository should include this configuration.
- The rhdh init-container should extract this configuration and should apply and merge this automatically to the configuration
- 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
- 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!
- blocks
-
RHDHPLAN-335 Support several plugin catalogs in the Extensions plugin
-
- Refinement
-
- is related to
-
RHDHPLAN-233 Productization: Plugin Catalog / Extensions Marketplace (1.10)
-
- New
-