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

Provide a way to switch to alternate implementations of the che-workspace-client in Che-Theia #17901

Closed
davidfestal opened this issue Sep 17, 2020 · 2 comments
Labels
area/editor/theia Issues related to the che-theia IDE of Che kind/task Internal things, technical debt, and to-do tasks to be performed. lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. severity/P2 Has a minor but important impact to the usage or development of the system.

Comments

@davidfestal
Copy link
Contributor

Is your task related to a problem? Please describe.

Currently, in order to retrieve information about the current workspace, as well as about user preferencesfor example, Che-Theia itself, as well as plugins using the Che-Theia features, use the che-workspace-client REST API client to access the Che server.

In the context of the DevWorkspace Controller, there are use-cases where a central Che Server would not be available nor necessary, but still a substantial part of the data retrieved through this endpoint could be retrieved directly by just reading Kubernetes custom resources (since in this case the workspace is defined as a Custom resource), or by some other way.

Describe the solution you'd like

It would be great, on the Che-Theia side, to allow switching the implementation of the Che workspace client, in order to replace it by a local implementation that, for example, directly reads Kubernetes objects.

Describe alternatives you've considered

Initially, in the Workspace CRD controller, we used to run an additional container in the Workspace POD (called che-rest-apis), that provided a quarkus-based REST server with a minimal implementation of the che-workspace-client API, especially to return the Workspace config and Workspace Devfile provided by the controller, without the need to contact a central Che server.

It would be even better if there was no need to install an additional container, just to serve an alternate implementation of the che-workspace-client API.

Additional context

@davidfestal davidfestal 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 labels Sep 17, 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 Sep 17, 2020
@sleshchenko sleshchenko 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 Sep 18, 2020
benoitf added a commit to benoitf/che-theia that referenced this issue Oct 2, 2020
…es with an implementation for che-server

eclipse-che/che#17901
It should allow then to implement other ways of grabbing workspace details, etc.
Change-Id: I6c6a6b9d02c3e22dd114dfa53f10456fef3dd0a7
Signed-off-by: Florent Benoit <fbenoit@redhat.com>
benoitf added a commit to benoitf/che-theia that referenced this issue Oct 2, 2020
…es with an implementation for che-server

eclipse-che/che#17901
It should allow then to implement other ways of grabbing workspace details, etc.
Change-Id: I6c6a6b9d02c3e22dd114dfa53f10456fef3dd0a7
Signed-off-by: Florent Benoit <fbenoit@redhat.com>
benoitf added a commit to benoitf/che-theia that referenced this issue Oct 2, 2020
…es with an implementation for che-server

eclipse-che/che#17901
It should allow then to implement other ways of grabbing workspace details, etc.
Change-Id: I6c6a6b9d02c3e22dd114dfa53f10456fef3dd0a7
Signed-off-by: Florent Benoit <fbenoit@redhat.com>
benoitf added a commit to benoitf/che-theia that referenced this issue Oct 2, 2020
…es with an implementation for che-server

eclipse-che/che#17901
It should allow then to implement other ways of grabbing workspace details, etc.
Change-Id: I6c6a6b9d02c3e22dd114dfa53f10456fef3dd0a7
Signed-off-by: Florent Benoit <fbenoit@redhat.com>
benoitf added a commit to benoitf/che-theia that referenced this issue Oct 2, 2020
…es with an implementation for che-server

eclipse-che/che#17901
It should allow then to implement other ways of grabbing workspace details, etc.
Change-Id: I6c6a6b9d02c3e22dd114dfa53f10456fef3dd0a7
Signed-off-by: Florent Benoit <fbenoit@redhat.com>
benoitf added a commit to eclipse-che/che-theia that referenced this issue Oct 8, 2020
…es with an implementation for che-server

eclipse-che/che#17901
It should allow then to implement other ways of grabbing workspace details, etc.
Change-Id: I6c6a6b9d02c3e22dd114dfa53f10456fef3dd0a7
Signed-off-by: Florent Benoit <fbenoit@redhat.com>
@che-bot
Copy link
Contributor

che-bot commented Mar 17, 2021

Issues go stale after 180 days of inactivity. lifecycle/stale issues rot after an additional 7 days of inactivity and eventually close.

Mark the issue as fresh with /remove-lifecycle stale in a new comment.

If this issue is safe to close now please do so.

Moderators: Add lifecycle/frozen label to avoid stale mode.

@che-bot che-bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Mar 17, 2021
@benoitf
Copy link
Contributor

benoitf commented Mar 17, 2021

implemented: two bindings in che-theia
che-server and k8s/devworkspace

@benoitf benoitf closed this as completed Mar 17, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/editor/theia Issues related to the che-theia IDE of Che kind/task Internal things, technical debt, and to-do tasks to be performed. lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. 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