Enable community devfiles and plugins in Dev Sandbox
See original GitHub issueIs your enhancement related to a problem? Please describe.
Currently there is no way to offer community devfiles and plugins in Dev Sandbox without shipping those devfiles/plugins with CRW directly. Of course that’s not really an option, because the maintenance burden is too high and it would be a big duplication of work.
Describe the solution you’d like
Instead, we can provide an upstream offering of devfiles and plugins by adding metadata to devfiles (such as tags like upstream
or community
), as well as registryUrl
fields within those devfiles that point to a published version of the upstream che-plugin-registry. The registryUrl
fields would ensure that the upstream/community devfiles are only using upstream plugins, and thus avoiding conflicts with downstream plugins that have the same id
.
New functionality in the dashboard would enable filtering on the Getting Started
page, so that Dev Sandbox users could toggle between upstream/community devfiles, and more stable Red Hat supported ones.
Eventually we can also extend this system to filter out devfiles based on other metadata sets, such as:
- devfiles which are only available on certain architectures (part of #19239)
- devfiles which are not airgap friendly
- devfiles which target a certain language/area of interest
Describe alternatives you’ve considered
N/A
Additional context
Here is a list of the upstream issues which need to completed, in order, for this epic:
- Publish a versioned che-plugin-registry release to surge.sh #19268
- Add registryUrls in the devfile registry #19269
There is also a downstream ticket for this epic: https://issues.redhat.com/browse/CRW-1437
Issue Analytics
- State:
- Created 3 years ago
- Comments:9 (8 by maintainers)
Top GitHub Comments
I believe we have rudimentary support for this: https://github.com/eclipse/che/issues/13961
From the PR: This PR allows multiple devfile registries to be specified as a space separated list, for example in values.yml we can have:
The registry location is then stored so that the devfile can be read from the correct location.
Why? What we have now is the bare minimum and from a usability POV it’s not great. One of the main points of this epic was to introduce the filtering system as well.