From 73b8fb0da7850d8e0be34b8401d4b200e475b657 Mon Sep 17 00:00:00 2001 From: Colton Hughes <38597291+coltonhughes@users.noreply.github.com> Date: Mon, 14 Jul 2025 04:18:31 -0500 Subject: [PATCH] fix(helm): Update helm value schema to allow `create-only` policy type (#5627) * fix(helm): Update schema for helm to allow `create-only` * fix(docs): Update changelog to reflect addition of `create-only` policy. * chore(docs): Update changelog with PR * fix(helm): Undo improper spacing on comments * chore(docs): Update README.md with new option * fix(helm): Add EOF newline since format-on-save removed it --- charts/external-dns/CHANGELOG.md | 4 ++++ charts/external-dns/README.md | 2 +- charts/external-dns/values.schema.json | 3 ++- charts/external-dns/values.yaml | 4 ++-- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/charts/external-dns/CHANGELOG.md b/charts/external-dns/CHANGELOG.md index 16a129a9a..e30a440fa 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] +### Fixed + +- 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_ + ### Changed - Update RBAC for `Service` source to support `EndpointSlices`. ([#5493](https://github.com/kubernetes-sigs/external-dns/pull/5493)) _@vflaux_ diff --git a/charts/external-dns/README.md b/charts/external-dns/README.md index 2daf4f005..f67502aec 100644 --- a/charts/external-dns/README.md +++ b/charts/external-dns/README.md @@ -128,7 +128,7 @@ If `namespaced` is set to `true`, please ensure that `sources` my only contains | podAnnotations | object | `{}` | Annotations to add to the `Pod`. | | podLabels | object | `{}` | Labels to add to the `Pod`. | | podSecurityContext | object | See _values.yaml_ | [Pod security context](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.22/#podsecuritycontext-v1-core), this supports full customisation. | -| policy | string | `"upsert-only"` | How DNS records are synchronized between sources and providers; available values are `sync` & `upsert-only`. | +| policy | string | `"upsert-only"` | How DNS records are synchronized between sources and providers; available values are `create-only`, `sync`, & `upsert-only`. | | priorityClassName | string | `nil` | Priority class name for the `Pod`. | | provider.name | string | `"aws"` | _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). | | provider.webhook.args | list | `[]` | Extra arguments to provide for the `webhook` container. | diff --git a/charts/external-dns/values.schema.json b/charts/external-dns/values.schema.json index a4de3f455..75e7fdd42 100644 --- a/charts/external-dns/values.schema.json +++ b/charts/external-dns/values.schema.json @@ -270,12 +270,13 @@ } }, "policy": { - "description": "How DNS records are synchronized between sources and providers; available values are `sync` \u0026 `upsert-only`.", + "description": "How DNS records are synchronized between sources and providers; available values are `create-only`, `sync`, \u0026 `upsert-only`.", "default": "upsert-only", "type": [ "string" ], "enum": [ + "create-only", "sync", "upsert-only" ] diff --git a/charts/external-dns/values.yaml b/charts/external-dns/values.yaml index 8bc037974..dc5ec8d1e 100644 --- a/charts/external-dns/values.yaml +++ b/charts/external-dns/values.yaml @@ -213,8 +213,8 @@ sources: - service - ingress -# -- How DNS records are synchronized between sources and providers; available values are `sync` & `upsert-only`. -policy: upsert-only # @schema enum:[sync, upsert-only]; type:string; default: "upsert-only" +# -- How DNS records are synchronized between sources and providers; available values are `create-only`, `sync`, & `upsert-only`. +policy: upsert-only # @schema enum:[create-only, sync, upsert-only]; type:string; default: "upsert-only" # -- Specify the registry for storing ownership and labels. # Valid values are `txt`, `aws-sd`, `dynamodb` & `noop`.