Codespaces
Proposal
This will add support for codespaces-like IDEs as well as the built-in GitLab IDE. The reason I am keeping the built-in IDE in is because some people may want a fast, lightweight, development environment. Here are the criteria:
IDE Criteria
- Spawn a dev environment with the click of a button (in a repo, like the vscode button).
- This will run in a Docker container on a Docker runner.
- This will be available in Free, Premium, and Ultimate versions of GitLab.
- This will automatically clone the repo and provide full access to a Docker container.
- This will use Eclipse Theia, Code Server, or OpenVSCode Server.
- Running this IDE will count as CI minutes, as it is on a runner.
- The IDE will have a limited amount of power and certain processes will be killed if they take too long.
- The IDE will have it's modified content saved (stuff that's in the
/workspace
directory) and it will be shut down if it has been closed for too long. - The IDE will be able to be re-opened with it's previous content after it is closed by inactivity.
- Allowing people to use IDEs will be configured (including enabling/disabling IDEs) in the
gitlab.rb
config and in the admin settings panel.
Merge Requests
I will be working on a merge request for this, but other contributions are welcome. My merge request will probably be created tomorrow. I will be updating this issue as it progresses.