eclipse-archived / codewind

The official repository of the Eclipse Codewind project
https://codewind.dev
Eclipse Public License 2.0
113 stars 45 forks source link

Rethink how Codewind is deployed on Che? #2447

Open johnmcollier opened 4 years ago

johnmcollier commented 4 years ago

Currently when a user starts up Codewind on Che, the following happens: 1) The Codewind Theia extension gets downloaded and started 2) The Codewind Che sidecar automatically deploys Codewind and sets up a proxy for the Codewind Theia extension to communicate with it.

This current approach (specifically the Che sidecar) has a number of disadvantages:

I've been wracking my brain for a while about how to address this in the current framework (che sidecar auto deploying Codewind), and I couldn't come up with anything that didn't require modification of the Che install/roles at the very least

Additionally, with the creation of the Codewind operator (and with the changes to cwctl in https://github.com/eclipse/codewind/issues/1735), it will be possible to have a Codewind Theia extension on Che that connects to an already running Codewind instance, via cwctl (rather than auto deploying Codewind).

So, I've been thinking, once we have the Codewind operator, is there much added value in having Codewind on Che automatically deploy Codewind for the user, given the downsides listed above?

What if we moved to a model where Codewind on Che just deployed the Codewind Theia/VS Code extension in a Che workspace, but Codewind would be configured separately (via it’s operator)? It would allow us to:

But, we'd lose the niceties of having Codewind autodeployed for the user

jopit commented 4 years ago

Seems like we're trading ease of use for the user vs ease of use for admin

Plus is that Hybrid and Che are more consistent

No real strong consensus one way or the other. Need input from Elson/TimD. Table this and come back to this in a future tech-topic.

johnmcollier commented 4 years ago

Discussed more on today's dev stat. We acknowledged the advantages and disadvantages of both approaches and rather than deciding on one approach over another, decided to support a hybrid model:

We decided to leave the techtopics label on for now, and we'll discuss more / finalize when everyone is back in two weeks.

johnmcollier commented 4 years ago

Removing techtopics label. Discussed with Elson and the squad and decided to go with the hybrid approach described above.