gardener / external-dns-management

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

Istio and Gateway API gateway resources as source objects #354

Closed MartinWeindel closed 7 months ago

MartinWeindel commented 8 months ago

What this PR does / why we need it: The Istio resource Gateway can now be annotated with dns.gardener.cloud/dnsnames='*' to enable the automatic creation of DNSEntries for domain names extracted from hosts fields in this resource or related VirtualServices resources. The Gateway and HTTPRoute resources from the Gateway API are supported in a similar way. As the custom resource definitions for Istio or the Gateway API are optionally, these resources are only watched if they are available. As a side-effect, if these custom resources are added or removed, the dns-controller-manager container exits to restart and reconfigure its controller to the new situation.

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

Special notes for your reviewer:

Release note:

The Istio resource `Gateway` can now be annotated with `dns.gardener.cloud/dnsnames='*'` to enable the automatic creation of `DNSEntries` for domain names extracted from hosts fields in this resource or related `VirtualServices` resources.
The `Gateway` and `HTTPRoute` resources from the Gateway API are supported in a similar way.