馃洿 Securely connect to a remote host from the Web IDE
## Problem to solve
Developers want to be able to connect to a cloud-based runtime from the Web IDE to extend the functionality and get direct access to a live terminal. The current Web IDE as well as the upcoming implementation based on VS Code lack the ability to compile code or perform runtime tasks.
Desktop IDEs support this workflow already, for example, VS Code users can install the Remote Development - SSH extension and configure their IDE to use a remote workspace. Our goal is to support a similar workflow for developers who are willing to manually manage their remote host outside of GitLab.
## Iteration path
Our initial iteration should be focused on establishing the most basic connection between the client-side VS Code Web IDE and VS Code Server running on a container or VM. From there we can make it easier to configure the remote host through various scripts or a full-blown CLI tool.
1. Integrate the proof of concept code to allow the Web IDE to connect to a remote development environment
2. Provide a build of VS Code Server that seamlessly connects to our Web IDE
3. Document necessary configuration steps for a remote host
4. Investigate GitLab Agent for authentication
5. Create a CLI tool to streamline configuration of the remote host
### What's in scope?
- Open the Terminal in the Web IDE and get command line access to the remote host
- Establish a new connection from the Web IDE by entering the URL and port
### What's out of scope?
- Starting, stopping, or otherwise managing the environment from the Web IDE
- Configuring the remote environment from a devfile or other automated process
## Tier
gitlab~19953071
## Open Questions
- Can we establish a secure connection without a script or CLI tool? If not, what is the minimum functionality necessary of that tool?
<!-- triage-serverless v3 PLEASE DO NOT REMOVE THIS SECTION -->
*This page may contain information related to upcoming products, features and functionality.
It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes.
Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.*
<!-- triage-serverless v3 PLEASE DO NOT REMOVE THIS SECTION -->
epic