Editor devfiles should use controller.devfile.io/container-contribution: true
attribute on injectable components
#21739
Labels
area/editors
area/plugin-registry
kind/enhancement
A feature request - must adhere to the feature request template.
severity/P1
Has a major impact to usage or development of the system.
Is your enhancement related to a problem? Please describe
DevWorkspace Operator PR devfile/devworkspace-operator#844 added support for two new attributes on components:
controller.devfile.io/container-contribution: true
defines a container component as a "container contribution"controller.devfile.io/merge-contribution: true
defines a container as a target for merging a "container contribution"When a component has the
container-contribution: true
attribute and another component has themerge-contribution: true
attribute, the DevWorkspace Operator merges the former into the latter, overriding fields except forimage
. This is intended to support the current process of injecting the Theia or CheCode editors into an existing Devfile component, which is currently done by modifying the devfile contents when converting to a DevWorkspace. This has the issue that it's hard to get the original Devfile back from the converted form, as fields have been updated.When merging is not possible, the original
image
for the merged component is used and that component is started as normal.Describe the solution you'd like
The plugins listed in the Devfile registry should be updated to use the
controller.devfile.io/container-contribution: true
attribute on components intended to be "injected" into a devfile component.che-incubator/che-code/insiders
), this is simple -- it is sufficient to just add the attribute to theche-code-runtime-description
componentcomponents: - name: che-code-runtime-description attributes: app.kubernetes.io/component: che-code-runtime app.kubernetes.io/part-of: che-code.eclipse.org + controller.devfile.io/container-contribution: true container: image: quay.io/devfile/universal-developer-image@sha256:53cec58dd190dd1e06100478ae879d7c28abd8fc883d5fdf5be3eb6e943fe5e7 command: - /checode/entrypoint-volume.sh
Describe alternatives you've considered
It may make sense to only implement this for CheCode, as it's a lot simpler.
Additional context
This issue is part of #21736
The text was updated successfully, but these errors were encountered: