-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Description
Is your enhancement related to a problem? Please describe.
Devfile plugins were designed to specify a dev environment feature (java support for example) that would be independent of the particular IDE/editor used in the workspace.
After a couple of years we have observed that most of those plugins are Che Theia plugins and work only if Theia is the editor.
A first time user will probably assume the following devfile, where the Java plugin is specified but the editor is not, will work no matter what's the IDE/editor. In other words that Che will manage to include the right plugin for the editor that's choosed by the user:
apiVersion: 1.0.0
metadata:
generateName: petclinic
components:
- id: redhat/java11/latest
type: chePlugin
alias: javaBut the truth is that will only work if the editor is Che-Theia. That's confusing for users that read the devfile and other projects that want to adopt the devfile spec and would need to support the devfile above somehow.
The devfile API is not adapted to support the specification of Che-Theia plugins yet (plugins of one devfile component).
There are a few plugins that still make sense as Che plugins as: editors, exec, telemetry, async volumes support. But those plugins are usually not included in devfiles, they are implicitly added by Che at workspace startup time.
Related issues
- Che Editors and Che Theia plugins support in Devfile v2
- Provide plugins recommendations
- Plugins and editors inline definitions in devfiles
- Use
DevWorkspaceTemplatesto specify a Che editor or other sidecar based plugins. TheDevWorkspaceTemplatecan be for just one workspace of a user or for every workspace of a user.
Describe alternatives you've considered
Using CustomComponents as mentioned in this example.
Additional context
This work should be included in the context of che workspaces that use the DevWorkspace operator, so that's not for v1 devfiles/plugins.