Skip to content

Add support for multiple zones #1845

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

Merged
merged 1 commit into from
Mar 3, 2025
Merged

Add support for multiple zones #1845

merged 1 commit into from
Mar 3, 2025

Conversation

kuritka
Copy link
Collaborator

@kuritka kuritka commented Mar 3, 2025

(based on #1774)
This PR adds the ability for K8gb to handle multiple edge and DNS zones.

We have a use case where we need to support multiple zones. There were some ideas on how to achieve this. Namely running multiple K8gb deployments in different namespaces, each with its own edgeDNSZone/dnsZone, but that ultimately turned out to be quite difficult to do given the Helm Chart, CRD and other issues. So we decided to add support for handling multiple edgeZone/zone pairs, taking inspiration from the edgeDNSServers implementation was done.

The Helm Chart has been updated to support the following values as an example of supporting two zones:

...
k8gb:
...
  dnsZones:
    - zone: "example.com"
      domain: "cloud.example.com"
      dnsZoneNegTTL: 300
    - zone: "example.org"
      domain: "cloud.example.org"
      dnsZoneNegTTL: 300
...

The old fields dnsZone and edgeDNSZone are still supported but are now deprecated, so you don't have to change values.yaml unless you want to.

@kuritka kuritka changed the title MutiZones Support Add support for multiple zones Mar 3, 2025
This PR adds the ability for K8gb to handle multiple edge and DNS zones.

We have a use case where we need to support multiple zones. There were some ideas on how to achieve this. Namely running multiple K8gb deployments in different namespaces, each with its own `edgeDNSZone`/`dnsZone`, but that ultimately turned out to be quite difficult to do given the Helm Chart, CRD and other issues. So we decided to add support for handling multiple `edgeZone`/`zone` pairs, taking inspiration from the `edgeDNSServers` implementation was done.

The Helm Chart has been updated to support the following values as an example of supporting two zones:

```yaml
...
k8gb:
...
  dnsZones:
    - edgeZone: "example.com"
      zone: "cloud.example.com"
      dnsZoneNegTTL: 300
    - edgeZone: "example.org"
      zone: "cloud.example.org"
      dnsZoneNegTTL: 300
...
```

The old fields dnsZone and edgeDNSZone are still supported but are now deprecated, so you don't have to change values.yaml unless you want to.

Signed-off-by: Michal Kuritka <[email protected]>
@kuritka kuritka force-pushed the multi2-last-running branch from fed13ef to e156e3c Compare March 3, 2025 08:14
@kuritka kuritka merged commit db660b5 into master Mar 3, 2025
27 checks passed
@kuritka kuritka deleted the multi2-last-running branch March 3, 2025 11:44
abaguas added a commit to abaguas/k8gb that referenced this pull request 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 <[email protected]>
abaguas added a commit to abaguas/k8gb that referenced this pull request May 5, 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 <[email protected]>
abaguas added a commit to abaguas/k8gb that referenced this pull request May 14, 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 <[email protected]>
abaguas added a commit that referenced this pull request May 15, 2025
PR #1845 introduced the possibility to configure multiple DNS zones. The intention was to be backwards compatible. However it forces uses to change the new helm values, as explained in #1858.

The naming of zones was also reviewed, since edgeZone was not very clear. So the change is as follows:
* k8gb.dnsZoneNegTTL -> k8gb.dnsZones[0].dnsZoneNegTTL
* k8gb.edgeDnsZone -> k8gb.dnsZones[0].parentZone
* k8gb.dnsZone -> k8gb.dnsZones[0].loadBalancedZone

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

Fixes #1858

Signed-off-by: Andre Aguas <[email protected]>
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 this pull request may close these issues.

3 participants