diff --git a/charts/external-dns/CHANGELOG.md b/charts/external-dns/CHANGELOG.md index 02b467e1d6..19863f4933 100644 --- a/charts/external-dns/CHANGELOG.md +++ b/charts/external-dns/CHANGELOG.md @@ -18,6 +18,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [UNRELEASED] +### Added + +- Ability to configure `imagePullSecrets` via helm `global` value ([#4667](https://github.com/kubernetes-sigs/external-dns/pull/4667)) _@jkroepke_ + ## [v1.15.0] - 2023-09-10 ### Changed diff --git a/charts/external-dns/README.md b/charts/external-dns/README.md index 9b21ecdec6..fd0d4e29b2 100644 --- a/charts/external-dns/README.md +++ b/charts/external-dns/README.md @@ -105,6 +105,7 @@ If `namespaced` is set to `true`, please ensure that `sources` my only contains | extraVolumeMounts | list | `[]` | Extra [volume mounts](https://kubernetes.io/docs/concepts/storage/volumes/) for the `external-dns` container. | | extraVolumes | list | `[]` | Extra [volumes](https://kubernetes.io/docs/concepts/storage/volumes/) for the `Pod`. | | fullnameOverride | string | `nil` | Override the full name of the chart. | +| global.imagePullSecrets | list | `[]` | Global image pull secrets. | | image.pullPolicy | string | `"IfNotPresent"` | Image pull policy for the `external-dns` container. | | image.repository | string | `"registry.k8s.io/external-dns/external-dns"` | Image repository for the `external-dns` container. | | image.tag | string | `nil` | Image tag for the `external-dns` container, this will default to `.Chart.AppVersion` if not set. | diff --git a/charts/external-dns/templates/deployment.yaml b/charts/external-dns/templates/deployment.yaml index 02e9b397ad..8a097c3387 100644 --- a/charts/external-dns/templates/deployment.yaml +++ b/charts/external-dns/templates/deployment.yaml @@ -40,7 +40,7 @@ spec: {{- if not (quote .Values.automountServiceAccountToken | empty) }} automountServiceAccountToken: {{ .Values.automountServiceAccountToken }} {{- end }} - {{- with .Values.imagePullSecrets }} + {{- with (default .Values.global.imagePullSecrets .Values.imagePullSecrets) }} imagePullSecrets: {{- toYaml . | nindent 8 }} {{- end }} diff --git a/charts/external-dns/values.schema.json b/charts/external-dns/values.schema.json index 614deeaca3..80378c7247 100644 --- a/charts/external-dns/values.schema.json +++ b/charts/external-dns/values.schema.json @@ -2,6 +2,9 @@ "$schema": "http://json-schema.org/draft-07/schema", "type": "object", "properties": { + "global": { + "type": "object" + }, "provider": { "anyOf": [ { diff --git a/charts/external-dns/values.yaml b/charts/external-dns/values.yaml index 9d7dea1bb9..d6daacf969 100644 --- a/charts/external-dns/values.yaml +++ b/charts/external-dns/values.yaml @@ -2,6 +2,10 @@ # This is a YAML-formatted file. # Declare variables to be passed into your templates. +global: + # -- Global image pull secrets. + imagePullSecrets: [] + image: # -- Image repository for the `external-dns` container. repository: registry.k8s.io/external-dns/external-dns