Consider scenarios where project-less workspace might be beneficial
We discussed with @cwoolley-gitlab, and we tried to summarize where the project-less workspaces might be useful.
Scenario 1: Open-source contributor wants to use GitLab RD feature to work on GitHub repository
Cross-cutting concern - in both scenarios, we would have to solve how to inject GitHub secrets into the workspace (e.g. for pushing)
-
Scenario 1a) User is not required to have a GitLab project backing the workspace
- Go to create workspace screen at group/instance level
- Enter all required workspace information other than the devfile
- Enter the location of the devfile (e.g.
<https://raw.githubusercontent.com/nodeshift-starters/devfile-sample/main/devfile.yaml>
) - Enter the repository to clone (
https://github.com/nodeshift-starters/devfile-sample.git
) - Hit create
-
Scenario 1b) User is required to have a GitLab project backing the workspace
- Create a new GitLab project
- Make it a fork of GitHub project
- To keep the fork in sync, you have to set up Repository mirroring | GitLab
- Go to the create workspace screen under the project
- Enter all required workspace information other than the devfile
- Hit create
Italics show steps that are different in each scenario.
Scenario 2: Enterprise where some groups don't host their repositories on GitLab (yet), but they want to automate workspace creation and management
-
Scenario 2a) User is not required to have a GitLab project backing the workspace
- Main points that would have to be considered:
- Creating allow list for the internally hosted devfile-project pair. This could be done by allowlisting locations or creating an additional entity (i.e. InternallyHostedDevfile) that only the Operator could create.
-
Scenario 2b) User is required to have a GitLab project backing the workspace
- Operator would have to orchestrate the following (compared to the project that's already on the GitLab instance)
- Create a new GitLab project
- Make it a fork of GitHub project
- To keep the fork in sync, you have to set up Repository mirroring | GitLab
- Operator would have to orchestrate the following (compared to the project that's already on the GitLab instance)
Edited by Tomas Vik