[go: up one dir, main page]

Skip to content

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
Edited by Mitchell Nielsen