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

Custom Theia Editor Support in Eclipse Che #20282

Open
JonasHelming opened this issue Aug 11, 2021 · 8 comments
Open

Custom Theia Editor Support in Eclipse Che #20282

JonasHelming opened this issue Aug 11, 2021 · 8 comments
Labels
area/editors kind/enhancement A feature request - must adhere to the feature request template. lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. severity/P3 Lower priority than a P2. Optional work that might get done, or not. See also help wanted issues.

Comments

@JonasHelming
Copy link

JonasHelming commented Aug 11, 2021

This is an umbrella ticket for the use case to use Che with custom Theia editors. Any comments and/or feedback is appreciated.

Use Case

We would like to use Che as a workspace manager for custom Theia-based editors in a multi-user scenario. Therefore, Che is used for creating, deleting, starting and stopping workspaces. In order to allow for better integration in custom portals, we would like to use Che’s REST API rather than the Che dashboard. Therefore, we also do not want to extend Che-Theia, but provide a fully custom Theia product that is provided as a container from the registry.
The available types of workspaces are defined via devfiles. Thus, Che’s devfile support for cloning projects and running commands on workspace creation, etc. is required.

Current Status

What works fine:
Managing workspaces via the REST API so that workspaces can be created, deleted, started, stopped from a custom portal
Specifying and starting the custom Theia-based editor products as defined in the devfile
Integrating external authentication

Where we are stuck is adding the devfile’s support for cloning projects and/or running commands on workspace creation events. While those seem to be mainly taken care of by Che-Theia plugins, we weren’t able to get them to work in custom editors (see #20128). Also, we weren’t able to run the very promising sounding devworkspace-operator in our test scenarios based on kubernetes. As a workaround, we also tried to access the devfile from our custom editors by just integrating the Che Plugin API in order to implement cloning, etc., ourselves in the custom editor, but weren’t able to get @eclipse-che/plugin to work (see #20259).
This is about allowing Che to do the clone operation : #15973

@JonasHelming JonasHelming added the kind/enhancement A feature request - must adhere to the feature request template. label Aug 11, 2021
@benoitf
Copy link
Contributor

benoitf commented Aug 11, 2021

I think that switching to devWorkspace would allow you to get rid of the 'cloning' part as cloning is performed at operator side now. (no need to do cloning at IDE side)

And for the @eclipse-che/plugin it requires an extension provided by che-theia as well (that provides a custom namespace)

@tsmaeder
Copy link
Contributor

With the recent addition of contribution filtering support, having custom Theia-based editors is an interesting proposition for cases where we want a reduced, custom feature set. Supporting Jonas and fixing any gaps we have in documentation and support would help future projects of this kind.

@benoitf benoitf added area/editors severity/P3 Lower priority than a P2. Optional work that might get done, or not. See also help wanted issues. labels Aug 11, 2021
@l0rd
Copy link
Contributor

l0rd commented Aug 16, 2021

+1 to use DevWorkspace for this work (c.f. high level architecture design, ongoing work)

@che-bot
Copy link
Contributor

che-bot commented Feb 12, 2022

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 Feb 12, 2022
@che-bot che-bot closed this as completed Feb 19, 2022
@debovema
Copy link

@l0rd @benoitf : is it possible to add a working example for such a scenario with DevWorkspace ?
I have the same use case as @JonasHelming and I find it hard to gather the prerequisites for a custom Theia-based image to behave like a Che-Theia image.

@l0rd l0rd reopened this Feb 21, 2022
@che-bot che-bot closed this as completed Feb 28, 2022
@l0rd l0rd added lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Mar 2, 2022
@l0rd l0rd reopened this Mar 2, 2022
@l0rd
Copy link
Contributor

l0rd commented Dec 9, 2022

@debovema @JonasHelming is there a container image that runs a Theia-based IDE we could use?

@debovema
Copy link

It seems that Theia does not provide Docker image any more.
So I pushed one here : https://quay.io/repository/mdebove/theia
I run it like this : docker run -it -p 3000:3000 quay.io/mdebove/theia:1.32

@koegel
Copy link

koegel commented Dec 13, 2022

There is a docker image available here that is used to deploy a demo Theia IDE called Blueprint for the try now button on the Theia webpage.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/editors kind/enhancement A feature request - must adhere to the feature request template. lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. severity/P3 Lower priority than a P2. Optional work that might get done, or not. See also help wanted issues.
Projects
None yet
Development

No branches or pull requests

7 participants