[JB GW]: Support ssh over websocket tunnel #18415
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
In some networks SSH either blocked or accessible via complicated setup (bastions, proxy jumps). This PR introduces an alternative mode of connectivity via HTTP tunnel directly into Gitpod workspace, i.e. work around SSH Gateway. This mode is either picked is a fallback or a user can force it in settings.
✅ depends on #18411
Summary generated by Copilot
🤖 Generated by Copilot at 936f0a9
This pull request adds support for different SSH connection methods to the JetBrains IDE plugin, and includes the generated Java code for the supervisor API. It modifies the
GitpodConnectionProvider.kt
file to implement the new features, and adds theGitpodWebSocketTunnelServer.kt
file to enable web socket tunneling. It also removes theapi
folder from the.gitignore
file and adds theInfoServiceGrpc.java
file to the repository.Related Issue(s)
Fixes EXP-279
How to test
Force SSH over HTTP tunnel
setting, leave it disabled for now.gp preview
still working. You can check that in GW idea.log you don't have yet logs with prefixes likegitpod: tunnel
gitpod: tunnel
. When a client is clsoed, you should see a log that the tunnel is stopped.Documentation
Preview status
gitpod:summary
Build Options
Build
Run the build with werft instead of GHA
Run Leeway with
--dont-test
Publish
Installer
Add desired feature flags to the end of the line above, space separated
Preview Environment / Integration Tests
If enabled this will build
install/preview
If enabled this will create the environment on GCE infra
Valid options are
all
,workspace
,webapp
,ide
,jetbrains
,vscode
,ssh
. If enabled,with-preview
andwith-large-vm
will be enabled./hold