eclipse-che / che

Kubernetes based Cloud Development Environments for Enterprise Teams
http://eclipse.org/che
Eclipse Public License 2.0
6.99k stars 1.19k forks source link

JetBrains IDE-based CDE should not depend on Node.js presence in a user's container #23174

Closed azatsarynnyy closed 1 month ago

azatsarynnyy commented 1 month ago

Is your task related to a problem? Please describe

When the user starts a workspace with a JetBrains IDE from the Dashboard, they need to make sure Node.js is present in a tools container.

Node.js is required to serve the stub web page that the Dashboard forwards to once the CDE is started:

image

This page also serves as an editor's main endpoint.

This is not a problem when starting a CDE for JS development, because the tools container always includes Node.js. But when starting a CDE for Java development (e.g. Spring Boot stack) there's a low chance Node.js is present in a tools container.

In this case, the Dashboard forwards to itself continuously when trying to open an editor page for such a CDE:

https://github.com/user-attachments/assets/d3051d30-886b-4f16-94a5-eada335200bd

Describe the solution you'd like

The editor-injector init-container should bring the Node.js binaries with all the required libraries, and copy it to the tools container together with the editor binaries.

Describe alternatives you've considered

The user always can open CDE from the JetBrains Gateway application:

image

As it doesn't depend on Che Dashboard.

Additional context

No response

azatsarynnyy commented 1 month ago

Fixed by https://github.com/che-incubator/jetbrains-ide-dev-server/commit/d6489e7c541be1e874aee9ff49cc76e7c6551df4 and https://github.com/che-incubator/jetbrains-ide-dev-server/commit/f62b3e3e66bc1abe44986f7906d375b9fa8ed614

Now,

image with image work as well, as image with image