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.
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 thedns.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: