Skip to content

Prepare the DevWorkspaceOperator for Devfile 2.0 support in Che #175

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
8 of 23 tasks
davidfestal opened this issue Oct 14, 2020 · 2 comments
Closed
8 of 23 tasks

Prepare the DevWorkspaceOperator for Devfile 2.0 support in Che #175

davidfestal opened this issue Oct 14, 2020 · 2 comments

Comments

@davidfestal
Copy link
Collaborator

davidfestal commented Oct 14, 2020

  • Use the Devfile 2.0 Specification
    • 1. Validate the new plugin mechanism with a complete devfile that contains only containers components, commands and events (cf. the following gist: https://github.com/davidfestal/api/blob/devfile-2.0-vscode-plugin-management/samples/plugin-sample/all-in-one-theia-nodejs.devworkspace.yaml)
    • 2. Use the latest devfile/api repo content
    • 3. Validate the new Devfile 2.0 plugin mechanism
      • Allow inline parents and plugins and implement them in the DevWorkspace controller
      • Implement minimal flattening in case of inline parents / plugins
      • Test devfile 2.0 plugin mechanism with for terminal, Theia editor and one Theia remote plugin - only based on inline elements
      • Evaluate and fix the impacts on Che-theia integration:
        • Get the flattened devfile from the new che-theia workspace client library
        • How do we flag components that come from a plugin, to be able to gather them in the che-theia UI and make the distinction from user-runtime containers ? => Add an optional attribute on a non-plugin components ?
    • 4. Implement full support of Devfile 2.0 plugins
      • Implement complete flattening of parents / plugins, as a dedicated controller on a dedicated custom resource (simply a DevWorkspaceTemplate if we add a DevWorkspaceTemplateSpecContent in its status ?). There should be an option (false by default) to enable the use Devfile 2.0 plugin mechanism for plugins loaded through ID or url.
      • Build a plugin v2.0.0 registry based on Implement a proof of concept OCI registry for devfiles registry-support#2, and fill it with the translation of v1.0.0 plugin into v2.0 plugins
    • 5. Make full support of Devfile 2.0 plugins the default behavior
      • Update the DevWorkspaceController embedded plugin registry to be compatible with the devfile 2.0.0
      • In CheCtl, when deploying with the devworkspace engine, deploy a Devfile 2.0.0 plugin registry. Or setup a conversion mechanism in a plugin/registry, that provides devfile 2.0.0 plugin yamls from the 1.0.0 ones ?
      • Set the default Devfile 2.0.0 plugins option to true by default

(1 // 2) > 3 > 4 > 5

@l0rd
Copy link
Collaborator

l0rd commented Oct 27, 2020

We should make sure that this issue is taken in consideration eclipse-che/che#17975

@sleshchenko
Copy link
Member

Closing since it does not seem to have an actual data. A new plan can be followed with step 2 and step 3 labels.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants