Skip to content

Draft: Add gitlab-base image, refactor around it for all final images

Jason Plum requested to merge gitlab-base into master

What does this MR do?

Introduce gitlab-base and refactor all final containers around that image.

TODO:

  • Keep changes as minimal as possible
  • Refactoring inheritances & job needs (significant change in !983 (merged))
  • Include base distribution version in CONTAINER_VERSION (if not wrapping in gitlab-org/charts/gitlab!2825 (closed))
  • Update documentation of inheritance

PROGRESS:

  • {debian,alpine,ubi}-stable jobs record the manifest digest of base distributions at the start of the pipeline moved to !983 (merged)
    • All subsequent images based upon those will explicitly pull that image, as well as have CONTAINER_VERSION calculated with it. This ensures updates to the base images are automatically rolled in, and will bust cache when the upstream alters the image/tag.
    • Example: debian:bullseye-slim@sha256:0981234.... via ARG DEBIAN_IMAGE=debian:bullseye-slim FROM ${DEBIAN_IMAGE}
  • gitlab-base has all necessary entry-point behaviors, and the basics requirements of those.
    • explore any other packages that should be moved to this container as a basic requirement for all images base upon it.
      • gomplate? yq?

Related issues

Closes gitlab-org/charts/gitlab#2958 (closed)

Checklist

See Definition of done.

For anything in this list which will not be completed, please provide a reason in the MR discussion

Required

  • Merge Request Title, and Description are up to date, accurate, and descriptive
  • MR targeting the appropriate branch
  • MR has a green pipeline on GitLab.com

Expected (please provide an explanation if not completing)

  • Test plan indicating conditions for success has been posted and passes
  • Documentation created/updated
  • Integration tests added to GitLab QA
  • The impact any change in container size has should be evaluated
Edited by Jason Plum

Merge request reports