Allow admins to override default_devfile.yaml image
User story
As a user, I want to be able to spin up a workspace with an image/devfile that I have already define (or has been defined for me) so that I don't need to keep creating devfiles in every project.
Proposal
Reading through https://docs.gitlab.com/user/workspace/#gitlab-default-devfile and https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/lib/remote_development/settings/default_devfile.yaml the image location seems to be hardcoded with no way to change the default image value. There are a few ways I could see resolving this issue:
- Allow users (or admins) to define the location of an image in the pre-existing GitLab default_devfile.yaml
- Allow admins to create their own default_devfile.yaml accessible to All/Selected projects/groups
- add the devfile to the common files template so then a user can add the file as a 'template'
To give an example, a user initialises a new repo with only the README.md, they try to spin up a workspace using the Gitlab default_devfile.yaml in GitLab A (connected to the internet) it works totally fine as they can pull the image.
They create a new repo in GitLab B (disconnected), when they go to pull the image, they can't reach it. So they go to another project, copy the devfile, upload it to the new project then launch a workspace based off their 'new' devfile. Is this the intended workflow?
Problem to solve
Not being able to a pull the default_devfile.yaml in a disconnected environment
Intended users
This could be applied to anybody working in a disconnected environment
User experience goals
The intended workflow I said above sounds like a painful process. If we can prevent them from having to copy/create new devfiles in every new project, I'd consider that a win