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

Support Singlehost deployment in Devworkspaces #18583

Closed
2 tasks done
metlos opened this issue Dec 10, 2020 · 2 comments
Closed
2 tasks done

Support Singlehost deployment in Devworkspaces #18583

metlos opened this issue Dec 10, 2020 · 2 comments
Assignees
Labels
engine/devworkspace Issues related to Che configured to use the devworkspace controller as workspace engine. kind/enhancement A feature request - must adhere to the feature request template. kind/epic A long-lived, PM-driven feature request. Must include a checklist of items that must be completed. severity/P1 Has a major impact to usage or development of the system.

Comments

@metlos
Copy link
Contributor

metlos commented Dec 10, 2020

Is your task related to a problem? Please describe.

Currently, devworkspace operator always uses ingresses to expose workspace endpoints (similar to the multi-host mode in Che).

It would be great to make it also support an analog of the singlehost mode of Che.

Describe the solution you'd like

It would be great if we could implement this as a separate controller out of the main devworkspace-operator. This would enable us to keep the main operator focused on the workspace lifecycle management and the concerns like workspace exposure would be delegated to other, potentially external, controllers.

The devworkspace operator already has a concept of WorkspaceRouting expressed as a standalone CR that is used to handle the different ways a workspace is exposed and already handles a couple such exposure types (openshift-oauth, web-terminal, basic, ...). We could take advantage of this concept and implement singlehost as a new type of workspace routing.

Describe alternatives you've considered

We could implement this inside devworkspace operator itself as a new workspace routing solver. This would require deploying other components (if we copy the singlehost approach taken by Che, that would mean deploying Traefik from within the operator).

Additional context

This depends on devfile/devworkspace-operator#219

Subtasks:

@metlos metlos added kind/task Internal things, technical debt, and to-do tasks to be performed. team/platform engine/devworkspace Issues related to Che configured to use the devworkspace controller as workspace engine. kind/enhancement A feature request - must adhere to the feature request template. and removed kind/task Internal things, technical debt, and to-do tasks to be performed. labels Dec 10, 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 Dec 10, 2020
@skabashnyuk skabashnyuk added this to the 7.24 milestone Dec 10, 2020
@amisevsk amisevsk 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 Dec 11, 2020
@amisevsk
Copy link
Contributor

I set P2 on this one since it's still outside of the main flow; feel free to increase if appropriate.

@metlos
Copy link
Contributor Author

metlos commented Dec 18, 2020

The code for this now lives in https://github.com/che-incubator/devworkspace-che-operator

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
engine/devworkspace Issues related to Che configured to use the devworkspace controller as workspace engine. kind/enhancement A feature request - must adhere to the feature request template. kind/epic A long-lived, PM-driven feature request. Must include a checklist of items that must be completed. severity/P1 Has a major impact to usage or development of the system.
Projects
None yet
Development

No branches or pull requests

4 participants