Skip to content

Commit f04d47f

Browse files
chore: bump external-dns to version 1.20.0
1 parent a6652be commit f04d47f

File tree

9 files changed

+124
-45
lines changed

9 files changed

+124
-45
lines changed

configs/setup/external-dns/charts/external-dns/CHANGELOG.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,33 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1818

1919
## [UNRELEASED]
2020

21+
## [v1.20.0]
22+
23+
### Added
24+
25+
- Add option to set `annotationPrefix` ([#5889](https://github.com/kubernetes-sigs/external-dns/pull/5889)) _@lexfrei_
26+
27+
### Changed
28+
29+
- Grant `networking.k8s.io/ingresses` and `gateway.solo.io/gateways` permissions when using `gloo-proxy` source. ([#5909](https://github.com/kubernetes-sigs/external-dns/pull/5909)) _@cucxabong_
30+
- Update _ExternalDNS_ OCI image version to [v0.20.0](https://github.com/kubernetes-sigs/external-dns/releases/tag/v0.20.0). ([#6005](https://github.com/kubernetes-sigs/external-dns/pull/6005)) _@vflaux_
31+
32+
### Fixed
33+
34+
- Fixed the missing schema for `.provider.webhook.serviceMonitor` configs ([#5932](https://github.com/kubernetes-sigs/external-dns/pull/5932)) _@chrisbsmith_
35+
- Fixed incorrect indentation of selector labels under `spec.template.spec.topologySpreadConstraints` when `topologySpreadConstraints` is set. ([#6054](https://github.com/kubernetes-sigs/external-dns/pull/6054)) _@andylim0221_
36+
37+
## [v1.19.0] - 2025-09-08
38+
39+
### Added
40+
41+
- Add option to configure `annotationFilter` via dedicated chart value. ([#5737](https://github.com/kubernetes-sigs/external-dns/pull/5737)) _@dshatokhin_
42+
43+
### Changed
44+
45+
- Grant `discovery.k8s.io/endpointslices` permission only when using `service` source. ([#5746](https://github.com/kubernetes-sigs/external-dns/pull/5746)) _@vflaux_
46+
- Update _ExternalDNS_ OCI image version to [v0.19.0](https://github.com/kubernetes-sigs/external-dns/releases/tag/v0.19.0). ([#5819](https://github.com/kubernetes-sigs/external-dns/pull/5819)) _@stevehipwell_
47+
2148
## [v1.18.0] - 2025-07-14
2249

2350
### Changed
@@ -279,6 +306,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
279306
RELEASE LINKS
280307
-->
281308
[UNRELEASED]: https://github.com/kubernetes-sigs/external-dns/tree/master/charts/external-dns
309+
[v1.20.0]: https://github.com/kubernetes-sigs/external-dns/releases/tag/external-dns-helm-chart-1.20.0
310+
[v1.19.0]: https://github.com/kubernetes-sigs/external-dns/releases/tag/external-dns-helm-chart-1.19.0
282311
[v1.18.0]: https://github.com/kubernetes-sigs/external-dns/releases/tag/external-dns-helm-chart-1.18.0
283312
[v1.17.0]: https://github.com/kubernetes-sigs/external-dns/releases/tag/external-dns-helm-chart-1.17.0
284313
[v1.16.1]: https://github.com/kubernetes-sigs/external-dns/releases/tag/external-dns-helm-chart-1.16.1

configs/setup/external-dns/charts/external-dns/Chart.yaml

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
11
annotations:
22
artifacthub.io/changes: |-
3+
- kind: added
4+
description: "Add option to set annotationPrefix (#5889) @lexfrei."
35
- kind: changed
4-
description: "Update RBAC for Service source to support EndpointSlices."
6+
description: "Grant networking.k8s.io/ingresses and gateway.solo.io/gateways permissions when using gloo-proxy source."
57
- kind: changed
6-
description: "Update ExternalDNS OCI image version to v0.18.0."
8+
description: "Update ExternalDNS OCI image version to v0.20.0."
79
- kind: fixed
8-
description: "Fixed the lack of schema support for create-only dns policy in helm values (#5627) @coltonhughes."
10+
description: "Fixed the missing schema for .provider.webhook."
911
- kind: fixed
10-
description: "Fixed the type of .extraContainers from object to list (array)."
12+
description: "Fixed incorrect indentation of selector labels under spec.template.spec.topologySpreadConstraints when topologySpreadConstraints is set."
1113
apiVersion: v2
12-
appVersion: 0.18.0
14+
appVersion: 0.20.0
1315
description: ExternalDNS synchronizes exposed Kubernetes Services and Ingresses with
1416
DNS providers.
1517
home: https://github.com/kubernetes-sigs/external-dns/
@@ -30,4 +32,4 @@ name: external-dns
3032
sources:
3133
- https://github.com/kubernetes-sigs/external-dns/
3234
type: application
33-
version: 1.18.0
35+
version: 1.20.0

configs/setup/external-dns/charts/external-dns/README.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# external-dns
22

3-
![Version: 1.18.0](https://img.shields.io/badge/Version-1.18.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.18.0](https://img.shields.io/badge/AppVersion-0.18.0-informational?style=flat-square)
3+
![Version: 1.20.0](https://img.shields.io/badge/Version-1.20.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.20.0](https://img.shields.io/badge/AppVersion-0.20.0-informational?style=flat-square)
44

55
ExternalDNS synchronizes exposed Kubernetes Services and Ingresses with DNS providers.
66

@@ -27,7 +27,7 @@ helm repo add external-dns https://kubernetes-sigs.github.io/external-dns/
2727
After you've installed the repo you can install the chart.
2828

2929
```shell
30-
helm upgrade --install external-dns external-dns/external-dns --version 1.18.0
30+
helm upgrade --install external-dns external-dns/external-dns --version 1.20.0
3131
```
3232

3333
## Providers
@@ -94,6 +94,8 @@ If `namespaced` is set to `true`, please ensure that `sources` my only contains
9494
| Key | Type | Default | Description |
9595
|-----|------|---------|-------------|
9696
| affinity | object | `{}` | Affinity settings for `Pod` [scheduling](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/). If an explicit label selector is not provided for pod affinity or pod anti-affinity one will be created from the pod selector labels. |
97+
| annotationFilter | string | `nil` | Filter resources queried for endpoints by annotation selector. |
98+
| annotationPrefix | string | `nil` | Annotation prefix for external-dns annotations (useful for split horizon DNS with multiple instances). |
9799
| automountServiceAccountToken | bool | `true` | Set this to `false` to [opt out of API credential automounting](https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#opt-out-of-api-credential-automounting) for the `Pod`. |
98100
| commonLabels | object | `{}` | Labels to add to all chart resources. |
99101
| deploymentAnnotations | object | `{}` | Annotations to add to the `Deployment`. |
@@ -117,7 +119,7 @@ If `namespaced` is set to `true`, please ensure that `sources` my only contains
117119
| imagePullSecrets | list | `[]` | Image pull secrets. |
118120
| initContainers | list | `[]` | [Init containers](https://kubernetes.io/docs/concepts/workloads/pods/init-containers/) to add to the `Pod` definition. |
119121
| interval | string | `"1m"` | Interval for DNS updates. |
120-
| labelFilter | string | `nil` | Filter resources queried for endpoints by label selector |
122+
| labelFilter | string | `nil` | Filter resources queried for endpoints by label selector. |
121123
| livenessProbe | object | See _values.yaml_ | [Liveness probe](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/) configuration for the `external-dns` container. |
122124
| logFormat | string | `"text"` | Log format. |
123125
| logLevel | string | `"info"` | Log level. |
Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
1+
### Added
2+
3+
- Add option to set `annotationPrefix` ([#5889](https://github.com/kubernetes-sigs/external-dns/pull/5889)) _@lexfrei_
4+
15
### Changed
26

3-
- Update RBAC for `Service` source to support `EndpointSlices`. ([#5493](https://github.com/kubernetes-sigs/external-dns/pull/5493)) _@vflaux_
4-
- Update _ExternalDNS_ OCI image version to [v0.18.0](https://github.com/kubernetes-sigs/external-dns/releases/tag/v0.18.0). ([#5633](https://github.com/kubernetes-sigs/external-dns/pull/5633)) _@elafarge_
7+
- Grant `networking.k8s.io/ingresses` and `gateway.solo.io/gateways` permissions when using `gloo-proxy` source. ([#5909](https://github.com/kubernetes-sigs/external-dns/pull/5909)) _@cucxabong_
8+
- Update _ExternalDNS_ OCI image version to [v0.20.0](https://github.com/kubernetes-sigs/external-dns/releases/tag/v0.20.0). ([#6005](https://github.com/kubernetes-sigs/external-dns/pull/6005)) _@vflaux_
59

610
### Fixed
711

8-
- Fixed the lack of schema support for `create-only` dns policy in helm values ([#5627](https://github.com/kubernetes-sigs/external-dns/pull/5627)) _@coltonhughes_
9-
- Fixed the type of `.extraContainers` from `object` to `list` (array). ([#5564](https://github.com/kubernetes-sigs/external-dns/pull/5564)) _@svengreb_
12+
- Fixed the missing schema for `.provider.webhook.serviceMonitor` configs ([#5932](https://github.com/kubernetes-sigs/external-dns/pull/5932)) _@chrisbsmith_
13+
- Fixed incorrect indentation of selector labels under `spec.template.spec.topologySpreadConstraints` when `topologySpreadConstraints` is set. ([#6054](https://github.com/kubernetes-sigs/external-dns/pull/6054)) _@andylim0221_

configs/setup/external-dns/charts/external-dns/templates/clusterrole.yaml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,13 @@ rules:
2020
- apiGroups: [""]
2121
resources: ["services"]
2222
verbs: ["get","watch","list"]
23+
{{- end }}
24+
{{- if has "service" .Values.sources }}
2325
- apiGroups: ["discovery.k8s.io"]
2426
resources: ["endpointslices"]
2527
verbs: ["get","watch","list"]
2628
{{- end }}
27-
{{- if or (has "ingress" .Values.sources) (has "istio-gateway" .Values.sources) (has "istio-virtualservice" .Values.sources) (has "contour-httpproxy" .Values.sources) (has "openshift-route" .Values.sources) (has "skipper-routegroup" .Values.sources) }}
29+
{{- if or (has "ingress" .Values.sources) (has "istio-gateway" .Values.sources) (has "istio-virtualservice" .Values.sources) (has "contour-httpproxy" .Values.sources) (has "openshift-route" .Values.sources) (has "skipper-routegroup" .Values.sources) (has "gloo-proxy" .Values.sources) }}
2830
- apiGroups: ["extensions","networking.k8s.io"]
2931
resources: ["ingresses"]
3032
verbs: ["get","watch","list"]
@@ -97,7 +99,7 @@ rules:
9799
{{- end }}
98100
{{- if has "gloo-proxy" .Values.sources }}
99101
- apiGroups: ["gloo.solo.io","gateway.solo.io"]
100-
resources: ["proxies","virtualservices"]
102+
resources: ["proxies","virtualservices","gateways"]
101103
verbs: ["get","watch","list"]
102104
{{- end }}
103105
{{- if has "kong-tcpingress" .Values.sources }}

configs/setup/external-dns/charts/external-dns/templates/deployment.yaml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,12 @@ spec:
123123
{{- if .Values.labelFilter }}
124124
- --label-filter={{ .Values.labelFilter }}
125125
{{- end }}
126+
{{- if .Values.annotationFilter }}
127+
- --annotation-filter={{ .Values.annotationFilter }}
128+
{{- end }}
129+
{{- if .Values.annotationPrefix }}
130+
- --annotation-prefix={{ .Values.annotationPrefix }}
131+
{{- end }}
126132
{{- range .Values.managedRecordTypes }}
127133
- --managed-record-types={{ . }}
128134
{{- end }}
@@ -288,7 +294,7 @@ spec:
288294
{{- if not (hasKey . "labelSelector") }}
289295
labelSelector:
290296
matchLabels:
291-
{{- include "external-dns.selectorLabels" $ | nindent 12 }}
297+
{{- include "external-dns.selectorLabels" $ | nindent 14 }}
292298
{{- end }}
293299
{{- end }}
294300
{{- end }}

configs/setup/external-dns/charts/external-dns/values.schema.json

Lines changed: 45 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,20 @@
66
"description": "Affinity settings for `Pod` [scheduling](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/). If an explicit label selector is not provided for pod affinity or pod anti-affinity one will be created from the pod selector labels.",
77
"type": "object"
88
},
9+
"annotationFilter": {
10+
"description": "Filter resources queried for endpoints by annotation selector.",
11+
"type": [
12+
"string",
13+
"null"
14+
]
15+
},
16+
"annotationPrefix": {
17+
"description": "Annotation prefix for external-dns annotations (useful for split horizon DNS with multiple instances).",
18+
"type": [
19+
"string",
20+
"null"
21+
]
22+
},
923
"automountServiceAccountToken": {
1024
"description": "Set this to `false` to [opt out of API credential automounting](https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#opt-out-of-api-credential-automounting) for the `Pod`.",
1125
"type": "boolean"
@@ -23,9 +37,8 @@
2337
"type": "object",
2438
"properties": {
2539
"type": {
26-
"type": [
27-
"string"
28-
],
40+
"default": "Recreate",
41+
"type": "string",
2942
"enum": [
3043
"Recreate",
3144
"RollingUpdate"
@@ -98,6 +111,13 @@
98111
"null"
99112
]
100113
},
114+
"gatewayNamespace": {
115+
"description": "_Gateway API_ gateway namespace to watch.",
116+
"type": [
117+
"string",
118+
"null"
119+
]
120+
},
101121
"global": {
102122
"type": "object",
103123
"properties": {
@@ -151,7 +171,7 @@
151171
"type": "string"
152172
},
153173
"labelFilter": {
154-
"description": "Filter resources queried for endpoints by label selector",
174+
"description": "Filter resources queried for endpoints by label selector.",
155175
"type": [
156176
"string",
157177
"null"
@@ -192,9 +212,7 @@
192212
"logFormat": {
193213
"description": "Log format.",
194214
"default": "text",
195-
"type": [
196-
"string"
197-
],
215+
"type": "string",
198216
"enum": [
199217
"text",
200218
"json"
@@ -203,9 +221,7 @@
203221
"logLevel": {
204222
"description": "Log level.",
205223
"default": "info",
206-
"type": [
207-
"string"
208-
],
224+
"type": "string",
209225
"enum": [
210226
"panic",
211227
"debug",
@@ -272,9 +288,7 @@
272288
"policy": {
273289
"description": "How DNS records are synchronized between sources and providers; available values are `create-only`, `sync`, \u0026 `upsert-only`.",
274290
"default": "upsert-only",
275-
"type": [
276-
"string"
277-
],
291+
"type": "string",
278292
"enum": [
279293
"create-only",
280294
"sync",
@@ -367,6 +381,7 @@
367381
]
368382
},
369383
"port": {
384+
"default": "string",
370385
"type": [
371386
"integer",
372387
"string"
@@ -420,6 +435,7 @@
420435
]
421436
},
422437
"port": {
438+
"default": "string",
423439
"type": [
424440
"integer",
425441
"string"
@@ -486,10 +502,16 @@
486502
"type": "object",
487503
"properties": {
488504
"bearerTokenFile": {
489-
"type": "null"
505+
"type": [
506+
"string",
507+
"null"
508+
]
490509
},
491510
"interval": {
492-
"type": "null"
511+
"type": [
512+
"string",
513+
"null"
514+
]
493515
},
494516
"metricRelabelings": {
495517
"type": "array"
@@ -498,10 +520,16 @@
498520
"type": "array"
499521
},
500522
"scheme": {
501-
"type": "null"
523+
"type": [
524+
"string",
525+
"null"
526+
]
502527
},
503528
"scrapeTimeout": {
504-
"type": "null"
529+
"type": [
530+
"string",
531+
"null"
532+
]
505533
},
506534
"tlsConfig": {
507535
"type": "object"

configs/setup/external-dns/charts/external-dns/values.yaml

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ image: # @schema additionalProperties: false
1212
# -- Image tag for the `external-dns` container, this will default to `.Chart.AppVersion` if not set.
1313
tag: # @schema type:[string, null]
1414
# -- Image pull policy for the `external-dns` container.
15-
pullPolicy: IfNotPresent # @schema enum:[IfNotPresent, Always];
15+
pullPolicy: IfNotPresent # @schema enum:[IfNotPresent, Always]
1616

1717
# -- Image pull secrets.
1818
imagePullSecrets: [] # @schema item: object
@@ -44,11 +44,11 @@ service:
4444
# -- Service HTTP port.
4545
port: 7979 # @schema minimum:0; default:7979
4646
# -- Service IP families (e.g. IPv4 and/or IPv6).
47-
ipFamilies: [] # @schema type: [array, null]; item: string; itemEnum: ["IPv4", "IPv6"]; minItems:0; maxItems:2; uniqueItems: true;
47+
ipFamilies: [] # @schema type: [array, null]; item: string; itemEnum: ["IPv4", "IPv6"]; minItems:0; maxItems:2; uniqueItems: true
4848
# - IPv4
4949
# - IPv6
5050
# -- Service IP family policy.
51-
ipFamilyPolicy: # @schema type: [string, null]; enum:[SingleStack, PreferDualStack, RequireDualStack, null];
51+
ipFamilyPolicy: # @schema type: [string, null]; enum:[SingleStack, PreferDualStack, RequireDualStack, null]
5252

5353
rbac: # @schema additionalProperties: true
5454
# -- If `true`, create a `ClusterRole` & `ClusterRoleBinding` with access to the Kubernetes API.
@@ -234,13 +234,19 @@ domainFilters: []
234234
# -- Intentionally exclude domains from being managed.
235235
excludeDomains: []
236236

237-
# -- Filter resources queried for endpoints by label selector
237+
# -- Filter resources queried for endpoints by label selector.
238238
labelFilter: # @schema type: [string,null]; default: null
239239

240+
# -- Filter resources queried for endpoints by annotation selector.
241+
annotationFilter: # @schema type: [string,null]; default: null
242+
243+
# -- Annotation prefix for external-dns annotations (useful for split horizon DNS with multiple instances).
244+
annotationPrefix: # @schema type: [string,null]; default: null
245+
240246
# -- Record types to manage (default: A, AAAA, CNAME)
241-
managedRecordTypes: [] # @schema type: [array, null]; item: string; uniqueItems: true;
247+
managedRecordTypes: [] # @schema type: [array, null]; item: string; uniqueItems: true
242248

243-
provider: # @schema type: [object, string];
249+
provider: # @schema type: [object, string]
244250
# -- _ExternalDNS_ provider name; for the available providers and how to configure them see [README](https://github.com/kubernetes-sigs/external-dns/blob/master/charts/external-dns/README.md#providers).
245251
name: aws
246252
webhook:
@@ -290,17 +296,17 @@ provider: # @schema type: [object, string];
290296
# -- Optional [Service Monitor](https://prometheus-operator.dev/docs/operator/design/#servicemonitor) configuration for the `webhook` container.
291297
# @default -- See _values.yaml_
292298
serviceMonitor:
293-
interval:
294-
scheme:
299+
interval: # @schema type:[string, null]; default: null
300+
scheme: # @schema type:[string, null]; default: null
295301
tlsConfig: {}
296-
bearerTokenFile:
297-
scrapeTimeout:
302+
bearerTokenFile: # @schema type:[string, null]; default: null
303+
scrapeTimeout: # @schema type:[string, null]; default: null
298304
metricRelabelings: []
299305
relabelings: []
300306

301307
# -- Extra arguments to provide to _ExternalDNS_.
302308
# An array or map can be used, with maps allowing for value overrides; maps also support slice values to use the same arg multiple times.
303-
extraArgs: {} # @schema type: [array, null, object]; item: string; uniqueItems: true;
309+
extraArgs: {} # @schema type: [array, null, object]; item: string; uniqueItems: true
304310

305311
secretConfiguration:
306312
# -- If `true`, create a `Secret` to store sensitive provider configuration (**DEPRECATED**).
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
REPO=https://kubernetes-sigs.github.io/external-dns/
22
CHART=external-dns
3-
VERS=1.18.0
3+
VERS=1.20.0

0 commit comments

Comments
 (0)