gardener / external-dns-management

Environment to manage external DNS entries for a kubernetes cluster
Apache License 2.0
81 stars 67 forks source link

Merge dnsnames annotations from multiple DNSAnnotation objects #352

Closed MartinWeindel closed 8 months ago

MartinWeindel commented 8 months ago

What this PR does / why we need it: DNS "source" object, such as Service or Ingress, can be annotated in two ways: directly or through DNSAnnotation resources. With the current behaviour, if multiple DNSAnnotation resources reference the same source object and use the same annotation key, only the value from the most recent DNSAnnotation resource will be used. This was implemented as a kind of conflict resolution, but is not optimal for the dns.gardener.cloud/dnsnames annotation.

This proposed change ensures that all dns.gardener.cloud/dnsnames from all sources, particularly from multiple DNSAnnotation resources, are combined and applied. This means that instead of only considering the most recent DNSAnnotation, all of them will now be considered.

Which issue(s) this PR fixes: Fixes #351

Special notes for your reviewer:

Release note:

Merge `dns.gardener.cloud/dnsnames` annotations from multiple DNSAnnotation objects.