diff --git a/.github/workflows/lint-test-chart.yaml b/.github/workflows/lint-test-chart.yaml index f97ff27cb8..ef6400bd23 100644 --- a/.github/workflows/lint-test-chart.yaml +++ b/.github/workflows/lint-test-chart.yaml @@ -38,8 +38,8 @@ jobs: run: | set -euo pipefail - helm plugin install https://github.com/losisin/helm-values-schema-json.git - helm plugin install https://github.com/helm-unittest/helm-unittest.git + helm plugin install https://github.com/losisin/helm-values-schema-json.git --verify=false + helm plugin install https://github.com/helm-unittest/helm-unittest.git --verify=false - name: Run Helm Schema check working-directory: charts/external-dns @@ -78,7 +78,7 @@ jobs: run: | set -euo pipefail - helm unittest -f 'tests/*_test.yaml' --color charts/external-dns + helm unittest -f 'tests/*_test.yaml' charts/external-dns - name: Install YQ uses: action-stars/install-tool-from-github-release@1fa61c3bea52eca3bcdb1f5c961a3b113fe7fa54 # v0.2.6 diff --git a/charts/external-dns/CHANGELOG.md b/charts/external-dns/CHANGELOG.md index 5766bab30c..807e844588 100644 --- a/charts/external-dns/CHANGELOG.md +++ b/charts/external-dns/CHANGELOG.md @@ -29,6 +29,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed - Fixed the missing schema for `.provider.webhook.serviceMonitor` configs ([#5932](https://github.com/kubernetes-sigs/external-dns/pull/5932)) _@chrisbsmith_ +- 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_ ## [v1.19.0] - 2025-09-08 diff --git a/charts/external-dns/templates/deployment.yaml b/charts/external-dns/templates/deployment.yaml index 1d0496d3c1..b213f754fd 100644 --- a/charts/external-dns/templates/deployment.yaml +++ b/charts/external-dns/templates/deployment.yaml @@ -294,7 +294,7 @@ spec: {{- if not (hasKey . "labelSelector") }} labelSelector: matchLabels: - {{- include "external-dns.selectorLabels" $ | nindent 12 }} + {{- include "external-dns.selectorLabels" $ | nindent 14 }} {{- end }} {{- end }} {{- end }} diff --git a/charts/external-dns/tests/deployment-scheduling_test.yaml b/charts/external-dns/tests/deployment-scheduling_test.yaml index 849bb17ab6..0a61fbfd8e 100644 --- a/charts/external-dns/tests/deployment-scheduling_test.yaml +++ b/charts/external-dns/tests/deployment-scheduling_test.yaml @@ -2,6 +2,7 @@ suite: Deployment scheduling configuration templates: - deployment.yaml release: + name: external-dns namespace: default tests: - it: should not provide defaults for affinities or tolerations @@ -116,3 +117,23 @@ tests: key: iam/scope operator: Equal value: namespace + + - it: should include selector labels when setting topologySpreadConstraints + set: + topologySpreadConstraints: + - maxSkew: 1 + topologyKey: topology.kubernetes.io/zone + whenUnsatisfiable: ScheduleAnyway + asserts: + - exists: + path: spec.template.spec.topologySpreadConstraints + - equal: + path: spec.template.spec.topologySpreadConstraints + value: + - maxSkew: 1 + topologyKey: topology.kubernetes.io/zone + whenUnsatisfiable: ScheduleAnyway + labelSelector: + matchLabels: + app.kubernetes.io/name: external-dns + app.kubernetes.io/instance: external-dns