Skip to content

provider: Update CoreDNS to rely on dnsrecord delegation #478

Open
@mikenairn

Description

@mikenairn

What

Update the CoreDNS provider to rely solely on the new multi cluster mechanism introduced by the "Cluster Aware DNSRecord Delegation" rfc. Unlike other providers, this will be the only supported way of achieving multi cluster support when using CoreDNS.

Why

Current approach requires every cluster to run and maintain it's own CoreDNS instance, and communication to it, which is not very scalable and a drawback to coredns adoption as an on prem solution.

How

  • Revert the majority of CoreDNS specific logic added to the dns controller, and instead let it follow the nomral reconciliation path.
  • Add a mechanism that allows "labels" to be specified, per provider, that must be ensured on the target DNSRecord resources they are targeting.
  • Add the "kuadrant.io/coredns-zone-name=$rootHost" label to DNSRecords using the CoreDNS provider so that it is picked up directly by the kuadrant coredns plugin.
  • The majority of the provider interface will be stubbed out since it no longer needs to do any endpoint manipulation directly, instead relying on the target DNSRecord being in the desired state.
    • provider.DNSZones unchanged, will still be used for zone selection
    • provider.DNSZoneForHost unchanged
    • provider.Records stubbed, no longer needed
    • provider.ApplyChanges stubbed, no longer needed
    • provider.AdjustEndpoints stubbed, no longer needed

Requires:

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions