Skip to content
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

Provides high-level library for managing DevWorkspace objects for clients #18402

Closed
Tracked by #18668
benoitf opened this issue Nov 18, 2020 · 1 comment
Closed
Tracked by #18668
Labels
area/dashboard area/editor/theia Issues related to the che-theia IDE of Che engine/devworkspace Issues related to Che configured to use the devworkspace controller as workspace engine. kind/task Internal things, technical debt, and to-do tasks to be performed. severity/P2 Has a minor but important impact to the usage or development of the system.

Comments

@benoitf
Copy link
Contributor

benoitf commented Nov 18, 2020

Is your task related to a problem? Please describe.

Che-Theia and Dashboard are using for now workspace-client https://github.com/eclipse/che-workspace-client library which is using the CheServer REST API endpoint.
It works like a charm.
But, with DevWorkspace coming, we need to have the same kind of high-level features like List All DevWorkspaces, grab devfile, list all components, etc.
Che-Theia has introduced an abstraction for the client usage but as part of #17901 we'll need to discuss with kubernetes API library
And ideally, most of work that could be done should be shared for che dashboard.

Describe the solution you'd like

A high level library, written in typescript as Theia and Dashboard are using that language.

It should provide at first very set of features to work with a dev-Workspaces like:
("CRUD" of a devworkspace)

  • create a DevWorkspace
  • get details on a devworkspace (like devfile, endpoints which are on separated k8s objects)
  • list all DevWorkspaces

it should then manage user, ssh services using config maps

Workspace client library had issue with proxy/certificates but here it should use local k8s endpoint.
There might be some challenges around authentication/permissions

Describe alternatives you've considered

Ideally it should work with official kubernetes javascript client library https://github.com/kubernetes-client/javascript
but this library does not work on browser environment so it will not work for dashboard usecase.

For POC/short term, this library could use the unsupported API endpoint provided on che-platform for browser usecase, providing time for dashboard to add a server-side counterpart. But as for example che-theia can live without any che-server it should be an option to use or not proxyfied unsupported endpoint.

Additional context

Library could exist for other languages but for now two main clients are Theia and Dashboard using TypeScript/javascript

@benoitf benoitf added kind/task Internal things, technical debt, and to-do tasks to be performed. area/editor/theia Issues related to the che-theia IDE of Che area/workspace-client-lib area/dashboard engine/devworkspace Issues related to Che configured to use the devworkspace controller as workspace engine. labels Nov 18, 2020
@che-bot che-bot added the status/need-triage An issue that needs to be prioritized by the curator responsible for the triage. See https://github. label Nov 18, 2020
@benoitf benoitf added severity/P2 Has a minor but important impact to the usage or development of the system. and removed status/need-triage An issue that needs to be prioritized by the curator responsible for the triage. See https://github. labels Nov 18, 2020
@l0rd l0rd added this to the DevWorkspace Integration - STEP2 milestone Mar 5, 2021
@l0rd l0rd removed this from the DevWorkspace Integration - STEP2 milestone Apr 8, 2021
@benoitf
Copy link
Contributor Author

benoitf commented Jun 14, 2021

done

@benoitf benoitf closed this as completed Jun 14, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/dashboard area/editor/theia Issues related to the che-theia IDE of Che engine/devworkspace Issues related to Che configured to use the devworkspace controller as workspace engine. kind/task Internal things, technical debt, and to-do tasks to be performed. severity/P2 Has a minor but important impact to the usage or development of the system.
Projects
None yet
Development

No branches or pull requests

4 participants