Provides high-level library for managing DevWorkspace objects for clients #18402
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.
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)
it should then manage
user
,ssh
services using config mapsWorkspace 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 fordashboard
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
The text was updated successfully, but these errors were encountered: