Draft: Add gitlab-base image, refactor around it for all final images
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:
-
moved to !983 (merged){debian,alpine,ubi}-stable
jobs record the manifest digest of base distributions at the start of the pipeline- 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....
viaARG DEBIAN_IMAGE=debian:bullseye-slim
FROM ${DEBIAN_IMAGE}
- All subsequent images based upon those will explicitly pull that image, as well as have
-
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