Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dnsZones block unintentionally introduced a breaking change #1858

Open
abaguas opened this issue Mar 11, 2025 · 0 comments · May be fixed by #1876
Open

dnsZones block unintentionally introduced a breaking change #1858

abaguas opened this issue Mar 11, 2025 · 0 comments · May be fixed by #1876
Assignees

Comments

@abaguas
Copy link
Collaborator

abaguas commented Mar 11, 2025

#1845 introduced the possibility to configure multiple DNS zones.
The helm chart was extended with the key dnsZones:, and the old dnsZone/edgeDNSZone were kept for backwards compatibility. However, the old configuration no longer works since dnsZones is used in the default values.yaml and values.schema.json makes sure only one of them is set.

How to reproduce

Create an additional values file, values-abaguas.yaml:

k8gb:
  dnsZone: "cloud.abaguas.com"
  edgeDNSZone: "abaguas.com"

Generate the manifests using:

hem package -u . > /dev/null && helm template k8gb k8gb-v0.14.0.tgz --include-crds -f values.yaml -f values-abaguas.yaml > manifests.yaml

This results in an error:

Error: values don't meet the specifications of the schema(s) in the following chart(s):
k8gb:
- k8gb: Must validate one and only one schema (oneOf)

Fix suggestions

k8gb is on major version 0, so it is okay to introduce a breaking change and remove completely the old option, thus forcing all users to migrate.

Alternatively, a simple fix is to enable only the old configuration options in the default values.yaml

@abaguas abaguas self-assigned this Apr 2, 2025
abaguas added a commit to abaguas/k8gb that referenced this issue Apr 2, 2025
PR k8gb-io#1845 introduced the possibility to configure multiple DNS zones. The intention was to be backwards compatible. However it forces uses to change the following helm values, as explained in k8gb-io#1858:
* k8gb.dnsZoneNegTTL -> k8gb.dnsZones[0].dnsZoneNegTTL
* k8gb.edgeDnsZone -> k8gb.dnsZones[0].zone
* k8gb.dnsZone -> k8gb.dnsZones[0].domain

During the community meeting of 02.04.2025 it was agreed to maintain the breaking change and clean up the deprecated values configuration.

Fixes k8gb-io#1858

Signed-off-by: Andre Aguas <andre.aguas@protonmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant