From 95363323df9065695d5802eae5c4b7b2ced73cab Mon Sep 17 00:00:00 2001 From: Chris Smith Date: Wed, 10 Dec 2025 15:37:31 -0500 Subject: [PATCH] fix(charts): add schema for provider.webhook.serviceMonitor (#5932) add a test case for webhook serviceMonitor config Update changelog Fix linting errors --- charts/external-dns/CHANGELOG.md | 4 ++++ .../external-dns/tests/json-schema_test.yaml | 9 +++++++++ charts/external-dns/values.schema.json | 20 +++++++++++++++---- charts/external-dns/values.yaml | 8 ++++---- 4 files changed, 33 insertions(+), 8 deletions(-) diff --git a/charts/external-dns/CHANGELOG.md b/charts/external-dns/CHANGELOG.md index f84c032bc..5766bab30 100644 --- a/charts/external-dns/CHANGELOG.md +++ b/charts/external-dns/CHANGELOG.md @@ -26,6 +26,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - 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_ +### Fixed + +- Fixed the missing schema for `.provider.webhook.serviceMonitor` configs ([#5932](https://github.com/kubernetes-sigs/external-dns/pull/5932)) _@chrisbsmith_ + ## [v1.19.0] - 2025-09-08 ### Added diff --git a/charts/external-dns/tests/json-schema_test.yaml b/charts/external-dns/tests/json-schema_test.yaml index 85e29e540..3538cb750 100644 --- a/charts/external-dns/tests/json-schema_test.yaml +++ b/charts/external-dns/tests/json-schema_test.yaml @@ -62,3 +62,12 @@ tests: readinessProbe: null asserts: - notFailedTemplate: {} + + - it: should not fail when provider webhook serviceMonitor interval is not null + set: + provider: + webhook: + serviceMonitor: + interval: 30s + asserts: + - notFailedTemplate: {} diff --git a/charts/external-dns/values.schema.json b/charts/external-dns/values.schema.json index ca698c0db..b4c5e3a42 100644 --- a/charts/external-dns/values.schema.json +++ b/charts/external-dns/values.schema.json @@ -502,10 +502,16 @@ "type": "object", "properties": { "bearerTokenFile": { - "type": "null" + "type": [ + "string", + "null" + ] }, "interval": { - "type": "null" + "type": [ + "string", + "null" + ] }, "metricRelabelings": { "type": "array" @@ -514,10 +520,16 @@ "type": "array" }, "scheme": { - "type": "null" + "type": [ + "string", + "null" + ] }, "scrapeTimeout": { - "type": "null" + "type": [ + "string", + "null" + ] }, "tlsConfig": { "type": "object" diff --git a/charts/external-dns/values.yaml b/charts/external-dns/values.yaml index 5c5f9fe36..46fbe8f7c 100644 --- a/charts/external-dns/values.yaml +++ b/charts/external-dns/values.yaml @@ -296,11 +296,11 @@ provider: # @schema type: [object, string] # -- Optional [Service Monitor](https://prometheus-operator.dev/docs/operator/design/#servicemonitor) configuration for the `webhook` container. # @default -- See _values.yaml_ serviceMonitor: - interval: - scheme: + interval: # @schema type:[string, null]; default: null + scheme: # @schema type:[string, null]; default: null tlsConfig: {} - bearerTokenFile: - scrapeTimeout: + bearerTokenFile: # @schema type:[string, null]; default: null + scrapeTimeout: # @schema type:[string, null]; default: null metricRelabelings: [] relabelings: []