When using ArgoCD and an ApplicationSet to deploy external-dns to all clusters, as part of a grouping of addons common to all clusters, it can be useful to configure the DNS filter using variables:
helm:
releaseName: "external-dns"
parameters:
- name: external-dns.domainFilters
value: "{ {{name}}.k.home.net }"
- name: external-dns.txtOwnerId
value: '{{name}}'
- name: external-dns.rfc2136.zone
value: '{{name}}.k.home.net'
This will place the cluster name as part of the dns name used by external-dns, resulting in the following type of FQDNs used by clusters:
app.dev.k.home.net
app.test.k.home.net
app.prod.k.home.net
Though, for my core cluster with components used by all clusters, I like to leave out the cluster name so all core components are at the k.<domain> level:
argocd.k.home.net
harbor.k.home.net
keycloak.k.home.net