Skip to content

Build golden container image to be used by default for creating workspace

MR

Description

As per the plan in Provide default devfile for projects if not pre... (&14644 - closed) , we need a golden container image which will be used by default for creating a workspace from a project which does not have a devfile present.

  • Use https://gitlab.com/gitlab-org/gitlab-build-images to build the container images
  • The format of the published container image would be
    • registry.gitlab.com/gitlab-build-images/workspaces/BASE_IMAGE:INSTALLED_PACKAGES . e.g. registry.gitlab.com/gitlab-build-images/workspaces/debian-24.04:go-1.22-nodejs-3.2 , registry.gitlab.com/gitlab-build-images/workspaces/ubuntu-24.04:go-1.22
    • If this format is not possible for some reason, we will follow registry.gitlab.com/gitlab-build-images/workspaces-BASE_IMAGE:INSTALLED_PACKAGES. e.g. registry.gitlab.com/gitlab-build-images/workspaces-debian-24.04-go-1.22-nodejs-3.2, registry.gitlab.com/gitlab-build-images/workspaces-ubuntu-24.04-go-1.22
  • The dockerfile will be called Dockerfile.workspaces.ubuntu. We will base this image on the latest stable LTS version of Ubuntu (24.04 LTS).
  • The end goal(not included in the of this MR/issue) is that we will leverage the scripts to define a set of scripts for a combination of OS-distribution(e.g. ubuntu, debian, etc.) and installed packages(e.g. go, nodejs, etc.) and we will use a generic image per distribution and utilize the scripts to install all the required packages. This will help us to keep things DRY.

Acceptance Criteria

  • make dockerfile described above and publish image to gitlab-build-images
  • check details are correctly, for example golang installed with correct version
  • update README or docs with link to GitLab container image best practice (#502355)

Technical Requirements

NA

Design Requirements

NA

Impact Assessment

NA

User Story

NA

Edited by zli