Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[che-dev] Sidecars & Extensibility

Hi folks,

In preparation for diving into Theia development next sprint, I've been thinking about how sidecar containers play with our vision of Theia extensibility. I'm trying to get my understanding aligned with everyone and feedback on my ideas, so feedback very welcome.

As an example, I'm going to use jdt.ls, but I guess the issues could apply to other environments, as well. The particular thing about jdt.ls is that it is extensible. So, for example, if I want basic java support, I need jdt.ls. If I want to add debugging, I'll need a couple of eclipse bundles developed by microsoft. To add our Che-specific extensions, you need another set of extensions developed by Red Hat.

What I'm getting at is that we need n plugins, which we might not know in advance. In the case of jdt.ls, they all need to run in the same process. This means we'll can't just build a single sidecar container and run that, we'll need to install stuff into it.

One way to do this would be to keep our installers, but target the language-support sidecar. This would run into the problem of having no sudo rights on Openshift, IMO.

The other way to do it would be to build a new image in order to add a new component to the sidecar. There would have to be some plugin API to contribute such components.

thoughts? thx.

/Thomas


Back to the top