Proposal: replace use of busybox with gitlab-base
Summary
Replace the use of busybox
with gitlab-base
. The functionality is sufficiently replaced, and all application containers are based upon gitlab-base
image.
Details
We currently rely upon busybox:latest
and mirror this to registry.gitlab.com/gitlab-org/cloud-native/mirror/images/busybox
.
The busybox
image is essentially used only for the spin-up scripting of the configure
containers throughout out Helm charts. We have an image (though untagged and unreleased) as a part of our build process, which could fill this need without relying on an external image. We also build all our application containers on top of this image, so the layer are already required / present for any GitLab component pod.
If we tag & release gitlab-base
as a part of the official images, we can effectively "get this for free" thanks to shared layers, and reduce reliance on any external image or repository for use or our users.
Related
- Move all helm dependent containers to gitlab.co... (#2659)
- gitlab-org/cloud-native/gitlab-operator#420+
Actionable Items
-
Evaluate impact to charts that consume it (internal and external) (group::distributiondeploy) - Most of our components (
gitlab/*
,registry
) consume it, but also our fork ofminio
-
Internal: configure
containers must all usecommand:
declaration -
External: which containers can we override? Should we override?
- Most of our components (
-
Evaluate impact to deployments (group::distributiondeploy group::distributionoperate ) - Time to start pods on Fresh / Non-Fresh nodes
- With & without
pullPolicy: Always
-
Evaluate impact to downstream consumers (mirrors, DSOP, Operator) -
mirrors (cng-mirror via gitlab-org/gitlab
CI) -
DSOP -
Operator (effectively none)
-
Acceptance Criteria
-
Tag gitlab-base
with the GitLab version of the pipeline that created it -
Add gitlab-base
tofinal-images-listing
-
Add gitlab-base
toimage-metrics
-
Add gitlab-base
tosync-images
-
Add gitlab-base
tocontainer-scanning
-
Publish gitlab-base
as part of the official released images (sync-images
) -
Updaterelease-tools
scripting to includegitlab-base
updating when creating tagging commit to Helm-
💡 [x] Alternate: move this to also consumeglobal.gitlabVersion
as with other helpers.
-
-
Replace busybox
withgitlab-base
for all charts (!3181 (merged)) -
release post itemdeprecation, notice that we no longer require busybox
, but will be replaced with our own. -
Update DSOP scripts to ensure downstream concerns are addressed