Allow admins to override default_devfile.yaml image
<!--IssueSummary start--> <details> <summary> Everyone can contribute. [Help move this issue forward](https://handbook.gitlab.com/handbook/marketing/developer-relations/contributor-success/community-contributors-workflows/#contributor-links) while earning points, leveling up and collecting rewards. </summary> - [Close this issue](https://contributors.gitlab.com/manage-issue?action=close&projectId=278964&issueIid=566496) </details> <!--IssueSummary end--> ### 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: 1) Allow users (or admins) to define the location of an image in the pre-existing GitLab default_devfile.yaml 2) Allow admins to create their own default_devfile.yaml accessible to All/Selected projects/groups 3) 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 <!-- Label reminders Use the following resources to find the appropriate labels: - Use only one tier label choosing the lowest tier this is intended for - https://gitlab.com/gitlab-org/gitlab/-/labels - https://about.gitlab.com/handbook/product/categories/features/ -->
issue