Allow configuration of image.registry and image.repository separately
Summary
Split from #1617 (closed), implement that ability to configure image.registry
& image.repository
settings separately.
Resulting final template would look similar the following: {{ registry }}/{{ repository }}/{{ image }}:{{ tag }}
Details
Example configuration as a result of this possiblity:
global:
image:
registry: registry.gitlab.com/gitlab-org/cloud-native/mirror/images
busybox:
image:
repository: busybox
tag: 1.33
pullPolicy: IfNotPresent
Example from Bitnami charts:
global:
imageRegistry: nil # global provision, overrides localized image.registry
image:
registry: docker.io # Registry host: registry.gitlab.com
repository: bitnami/redis # container path: gitlab-org/build/cng/gitlab-task-runner-ce
tag: 6.0 # image tag: v13.7.1
Item 3: adding image.registry configuration
This is something we've begun to see emerging throughout other charts, and something I'd brought up in discussions at events like Helm Summit, KubeCon, et al. This is explicitly helpful with things like off-line / cordoned networks or custom images.
This could be added in a minor version, as registry
would conceptually only come into play if set. We'd proceed based on repository
, when registry
is not present.
Examples from community:
- opencart
- redmine
- prestashop
- ghost
- drupal
- spinnaker
- postgresql
- redis
Acceptance criteria
Configuration is added for the following charts:
GitLab charts:
-
geo-logcursor -
gitlab-exporter -
gitlab-pages -
gitlab-shell -
kas -
mailroom: !3362 (merged) -
migrations -
registry -
sidekiq -
spamcheck: !3286 (merged) -
toolbox -
webservice
Internal charts:
-
certmanager-issuer -
nginx-ingress -
minio
Not-for-production charts:
-
gitaly -
praefect