Skip to content

Commit 7238805

Browse files
committed
[breaking] deprecate dnsZone and edgeDnsZone chart values
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 <[email protected]>
1 parent 3f6f4fd commit 7238805

16 files changed

+57
-87
lines changed

Makefile

+3-1
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,9 @@ deploy-k8gb-with-helm:
260260
helm -n k8gb upgrade -i k8gb $(CHART) -f $(VALUES_YAML) \
261261
--set $(call get-helm-args,$(CLUSTER_ID)) \
262262
--set k8gb.reconcileRequeueSeconds=10 \
263-
--set k8gb.dnsZoneNegTTL=10 \
263+
--set k8gb.dnsZones[0].dnsZoneNegTTL=10 \
264+
--set k8gb.dnsZones[0].zone="example.com" \
265+
--set k8gb.dnsZones[0].domain="cloud.example.com" \
264266
--set k8gb.imageTag=${VERSION:"stable"=""} \
265267
--set k8gb.log.format=$(LOG_FORMAT) \
266268
--set k8gb.log.level=$(LOG_LEVEL) \

chart/k8gb/templates/_helpers.tpl

-4
Original file line numberDiff line numberDiff line change
@@ -103,10 +103,6 @@ k8gb-{{ index (split ":" (index (split ";" (include "k8gb.dnsZonesString" .)) "_
103103
{{- $entry := printf "%s:%s:%s" .zone .domain $dnsZoneNegTTL }}
104104
{{- $entries = append $entries $entry }}
105105
{{- end }}
106-
{{- if and (or (not .Values.k8gb.dnsZones) (eq (len .Values.k8gb.dnsZones) 0)) .Values.k8gb.dnsZone .Values.k8gb.edgeDNSZone }}
107-
{{- $extraEntry := printf "%s:%s:%s" .Values.k8gb.edgeDNSZone .Values.k8gb.dnsZone "300" }}
108-
{{- $entries = append $entries $extraEntry }}
109-
{{- end }}
110106
{{- join ";" $entries }}
111107
{{- end }}
112108

chart/k8gb/values.schema.json

+5-26
Original file line numberDiff line numberDiff line change
@@ -272,18 +272,10 @@
272272
"$ref": "#/definitions/k8gbDnsZone"
273273
}
274274
},
275-
"dnsZone": {
276-
"format": "idn-hostname",
277-
"minLength": 1
278-
},
279275
"dnsZoneNegTTL": {
280276
"type": "integer",
281277
"minimum": 0
282278
},
283-
"edgeDNSZone": {
284-
"format": "idn-hostname",
285-
"minLength": 1
286-
},
287279
"edgeDNSServers": {
288280
"type": "array",
289281
"items": {
@@ -340,24 +332,11 @@
340332
"type": "object"
341333
}
342334
},
343-
"oneOf": [
344-
{
345-
"required": [
346-
"clusterGeoTag",
347-
"extGslbClustersGeoTags",
348-
"edgeDNSServers",
349-
"dnsZone",
350-
"edgeDNSZone"
351-
]
352-
},
353-
{
354-
"required": [
355-
"clusterGeoTag",
356-
"extGslbClustersGeoTags",
357-
"edgeDNSServers",
358-
"dnsZones"
359-
]
360-
}
335+
"required": [
336+
"clusterGeoTag",
337+
"extGslbClustersGeoTags",
338+
"edgeDNSServers",
339+
"dnsZones"
361340
],
362341
"title": "k8gb"
363342
},

chart/k8gb/values.yaml

+1-8
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,11 @@ k8gb:
1616
# DNSZones - For backward compatibility, the dnsZone and edgeDNSZone fields are allowed; otherwise,
1717
# the dnsZones array is used. For valid values, use either dnsZone and edgeDNSZone or dnsZones.
1818
#
19-
# -- dnsZone: deprecated
20-
# dnsZone: "cloud.example.com"
21-
# -- edgeDNSZone: deprecated
22-
# edgeDNSZone: "example.com"
23-
# -- array of dns zones controlled by gslb§
19+
# -- array of dns zones controlled by gslb
2420
dnsZones:
2521
- zone: "example.com" # -- main zone which would contain gslb zone to delegate (same meaning as to edgeDNSZone)
2622
domain: "cloud.example.com" # -- domain controlled by gslb (same meaning as to dnsZone)
2723
dnsZoneNegTTL: 30 # -- Negative TTL for SOA record# -- host/ip[:port] format is supported here where port defaults to 53
28-
# - zone: "example.org" # -- main zone which would contain gslb zone to delegate (same meaning as to edgeDNSZone)
29-
# domain: "cloud.example.org" # -- domain controlled by gslb (same meaning as to dnsZone)
30-
# dnsZoneNegTTL: 50 # -- Negative TTL for SOA record# -- host/ip[:port] format is supported here where port defaults to 53
3124
edgeDNSServers:
3225
# -- use this DNS server as a main resolver to enable cross k8gb DNS based communication
3326
- "1.1.1.1"

docs/deploy_cloudflare.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,9 @@ Remember to change the zone-related values to point configuration to your own DN
3030

3131
```yaml
3232
k8gb:
33-
dnsZone: "cloudflare-test.k8gb.io"
34-
# -- main zone which would contain gslb zone to delegate
35-
edgeDNSZone: "k8gb.io" # main zone which would contain gslb zone to delegate
33+
dnsZones:
34+
- zone: "k8gb.io"
35+
domain: "cloudflare-test.k8gb.io"
3636
```
3737
3838
### Cloudflare-specific configuration

docs/examples/azure/k8gb/aks1-helm-values.yaml

+7-8
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
11
k8gb:
22
# -- dnsZone controlled by gslb
3-
dnsZone: "demo.k8gb-kubeconeu2023.com"
4-
# -- Negative TTL for SOA record
5-
dnsZoneNegTTL: 300
6-
# -- main zone which would contain gslb zone to delegate
7-
edgeDNSZone: "k8gb-kubeconeu2023.com" # main zone which would contain gslb zone to delegate
3+
dnsZones:
4+
- domain: "demo.k8gb-kubeconeu2023.com" # -- dnsZone controlled by gslb
5+
zone: "k8gb-kubeconeu2023.com" # -- main zone which would contain gslb zone to delegate
6+
dnsZoneNegTTL: 300 # -- Negative TTL for SOA record
87
# -- host/ip[:port] format is supported here where port defaults to 53
98
edgeDNSServers:
10-
# -- use these DNS server as a main resolver to enable cross k8gb DNS based communication
11-
- "1.1.1.1"
12-
- "8.8.8.8"
9+
# -- use these DNS server as a main resolver to enable cross k8gb DNS based communication
10+
- "1.1.1.1"
11+
- "8.8.8.8"
1312
# -- used for places where we need to distinguish between different Gslb instances
1413
clusterGeoTag: "uksouth"
1514
# -- comma-separated list of external gslb geo tags to pair with

docs/examples/azure/k8gb/aks2-helm-values.yaml

+7-9
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
11
k8gb:
2-
# -- dnsZone controlled by gslb
3-
dnsZone: "demo.k8gb-kubeconeu2023.com"
4-
# -- Negative TTL for SOA record
5-
dnsZoneNegTTL: 300
6-
# -- main zone which would contain gslb zone to delegate
7-
edgeDNSZone: "k8gb-kubeconeu2023.com" # main zone which would contain gslb zone to delegate
2+
dnsZones:
3+
- domain: "demo.k8gb-kubeconeu2023.com" # -- dnsZone controlled by gslb
4+
zone: "k8gb-kubeconeu2023.com" # -- main zone which would contain gslb zone to delegate
5+
dnsZoneNegTTL: 300 # -- Negative TTL for SOA record
86
# -- host/ip[:port] format is supported here where port defaults to 53
97
edgeDNSServers:
10-
# -- use these DNS server as a main resolver to enable cross k8gb DNS based communication
11-
- "1.1.1.1"
12-
- "8.8.8.8"
8+
# -- use these DNS server as a main resolver to enable cross k8gb DNS based communication
9+
- "1.1.1.1"
10+
- "8.8.8.8"
1311
# -- used for places where we need to distinguish between different Gslb instances
1412
clusterGeoTag: "francecentral"
1513
# -- comma-separated list of external gslb geo tags to pair with

docs/examples/cloudflare/k8gb-cluster-cloudflare-eu.yaml

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
k8gb:
2-
dnsZone: "cloudflare-test.k8gb.io"
3-
# -- main zone which would contain gslb zone to delegate
4-
edgeDNSZone: "k8gb.io" # main zone which would contain gslb zone to delegate
2+
dnsZones:
3+
- domain: "cloudflare-test.k8gb.io" # -- dnsZone controlled by gslb
4+
zone: "k8gb.io" # -- main zone which would contain gslb zone to delegate
55
# -- used for places where we need to distinguish between different Gslb instances
66
clusterGeoTag: "eu"
77
# -- comma-separated list of external gslb geo tags to pair with

docs/examples/cloudflare/k8gb-cluster-cloudflare-us.yaml

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
k8gb:
2-
dnsZone: "cloudflare-test.k8gb.io"
3-
# -- main zone which would contain gslb zone to delegate
4-
edgeDNSZone: "k8gb.io" # main zone which would contain gslb zone to delegate
2+
dnsZones:
3+
- domain: "cloudflare-test.k8gb.io" # -- dnsZone controlled by gslb
4+
zone: "k8gb.io" # -- main zone which would contain gslb zone to delegate
55
# -- used for places where we need to distinguish between different Gslb instances
66
clusterGeoTag: "us"
77
# -- comma-separated list of external gslb geo tags to pair with

docs/examples/ns1/k8gb-cluster-ns1-eu-west-1.yaml

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
k8gb:
2-
dnsZone: "test.k8gb.io" # dnsZone controlled by gslb
3-
edgeDNSZone: "k8gb.io" # main zone which would contain gslb zone to delegate
2+
dnsZones:
3+
- domain: "test.k8gb.io" # -- dnsZone controlled by gslb
4+
zone: "k8gb.io" # -- main zone which would contain gslb zone to delegate
45
edgeDNSServer: "169.254.169.253" # external DNS server to be used for resolution
56
clusterGeoTag: "eu-west-1" # used for places where we need to distinguish between differnet Gslb instances
67
extGslbClustersGeoTags: "us-east-1" # comma-separated list of external gslb geo tags to pair with

docs/examples/ns1/k8gb-cluster-ns1-us-east-1.yaml

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
k8gb:
2-
dnsZone: "test.k8gb.io" # dnsZone controlled by gslb
3-
edgeDNSZone: "k8gb.io" # main zone which would contain gslb zone to delegate
2+
dnsZones:
3+
- domain: "test.k8gb.io" # -- dnsZone controlled by gslb
4+
zone: "k8gb.io" # -- main zone which would contain gslb zone to delegate
45
edgeDNSServer: "169.254.169.253" # external DNS server to be used for resolution
56
clusterGeoTag: "us-east-1" # used for places where we need to distinguish between differnet Gslb instances
67
extGslbClustersGeoTags: "eu-west-1" # comma-separated list of external gslb geo tags to pair with

docs/examples/route53/k8gb/k8gb-cluster-eu-west-1.yaml

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
k8gb:
2-
dnsZone: "test.k8gb.io" # dnsZone controlled by gslb
3-
edgeDNSZone: "k8gb.io" # main zone which would contain gslb zone to delegate
2+
dnsZones:
3+
- domain: "test.k8gb.io" # -- dnsZone controlled by gslb
4+
zone: "k8gb.io" # -- main zone which would contain gslb zone to delegate
45
edgeDNSServer: "169.254.169.253" # use this DNS server as a main resolver to enable cross k8gb DNS based communication
56
clusterGeoTag: "eu-west-1" # used for places where we need to distinguish between differnet Gslb instances
67
extGslbClustersGeoTags: "us-east-1" # comma-separated list of external gslb geo tags to pair with

docs/examples/route53/k8gb/k8gb-cluster-us-east-1.yaml

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
k8gb:
2-
dnsZone: "test.k8gb.io" # dnsZone controlled by gslb
3-
edgeDNSZone: "k8gb.io" # main zone which would contain gslb zone to delegate
2+
dnsZones:
3+
- domain: "test.k8gb.io" # -- dnsZone controlled by gslb
4+
zone: "k8gb.io" # -- main zone which would contain gslb zone to delegate
45
edgeDNSServer: "169.254.169.253" # use this DNS server as a main resolver to enable cross k8gb DNS based communication
56
clusterGeoTag: "us-east-1" # used for places where we need to distinguish between differnet Gslb instances
67
extGslbClustersGeoTags: "eu-west-1" # comma-separated list of external gslb geo tags to pair with

docs/examples/windowsdns/k8gb/aks1-helm-values.yaml

+5-6
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,10 @@ k8gb:
33
deployCrds: true
44
deployRbac: true
55
# -- dns zone that will be managed by CoreDNS
6-
dnsZone: "global.k8gb.local"
7-
# -- Negative TTL for SOA record
8-
dnsZoneNegTTL: 300
9-
# -- main zone which would contain gslb zone to delegate
10-
edgeDNSZone: "k8gb.local"
6+
dnsZones:
7+
- domain: "global.k8gb.local" # -- dnsZone controlled by gslb
8+
zone: "k8gb.local" # -- main zone which would contain gslb zone to delegate
9+
dnsZoneNegTTL: 300 # -- Negative TTL for SOA record
1110
# -- host/ip[:port] format is supported here where port defaults to 53
1211
edgeDNSServers:
1312
# -- use this DNS server as a main resolver to enable cross k8gb DNS based communication
@@ -78,4 +77,4 @@ rfc2136:
7877
gssTsigCreds:
7978
- kerberos-username: k8gb
8079
- kerberos-password: asdfkuj#f8guh1
81-
- kerberos-realm: k8gb.local
80+
- kerberos-realm: k8gb.local

docs/examples/windowsdns/k8gb/aks2-helm-values.yaml

+5-6
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,10 @@ k8gb:
33
deployCrds: true
44
deployRbac: true
55
# -- dns zone that will be managed by CoreDNS
6-
dnsZone: "global.k8gb.local"
7-
# -- Negative TTL for SOA record
8-
dnsZoneNegTTL: 300
9-
# -- main zone which would contain gslb zone to delegate
10-
edgeDNSZone: "k8gb.local"
6+
dnsZones:
7+
- domain: "global.k8gb.local" # -- dnsZone controlled by gslb
8+
zone: "k8gb.local" # -- main zone which would contain gslb zone to delegate
9+
dnsZoneNegTTL: 300 # -- Negative TTL for SOA record
1110
# -- host/ip[:port] format is supported here where port defaults to 53
1211
edgeDNSServers:
1312
# -- use this DNS server as a main resolver to enable cross k8gb DNS based communication
@@ -78,4 +77,4 @@ rfc2136:
7877
gssTsigCreds:
7978
- kerberos-username: k8gb
8079
- kerberos-password: asdfkuj#f8guh1
81-
- kerberos-realm: K8GB.LOCAL
80+
- kerberos-realm: K8GB.LOCAL

docs/rancher.md

+3-2
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,9 @@ helm:
2121
releaseName: k8gb
2222
values:
2323
k8gb:
24-
dnsZone: global.fleet.clusterLabels.k8gb-dnsZone
25-
edgeDNSZone: "cloud.example.com"
24+
dnsZones:
25+
- zone: cloud.example.com
26+
domain: global.fleet.clusterLabels.k8gb-dnsZone
2627
edgeDNSServers:
2728
- "1.2.3.4"
2829
- "5.6.7.8"

0 commit comments

Comments
 (0)