External DNS FQDN templating and Traefik HTTP and TCP How To?

I'm running external DNS and setup Traefik with

[providers.kubernetesCRD]
  ingressClass = "traefik-internal"

[providers.kubernetesIngress.ingressEndpoint]
  ip = "{{ aks_traefik_ingress_service }}"
  publishedService = "mygroup/traefik-ingress-service"

I'm able to access http from automated DNS entries that route via Traefik to the correct backend.

if I describe my ingress for bear and moose I see:

Rules:
  Host                     Path  Backends
  ----                     ----  --------
  bear.myzone.mydomain.com
                           /   bear:80 (10.xx.xxx.xx:80,10.xx.xxx.xx:80)
Annotations:               kubernetes.io/ingress.class: traefik

Rules:
  Host                     Path  Backends
  ----                     ----  --------
  moose.myzone.mydomain.com
                           /   moose:80 (10.xx.xxx.xx:80,10.xx.xxx.xx:80)
Annotations:               kubernetes.io/ingress.class: traefik

It's all working well and I can access my TCP mysql database via the Traefik backend IP:Port successfully.Preformatted text However, I would like to not have to change the host for an ingress deployed on different clusters in different zones in AKS.

setting up FQDN templating in external DNS will generate a hostname if there is no hostname specified in an ingress with the Traefik annotation.
from this link:

"It'll be great to have the possibility to provide external-dns with a template string like {{.Namespace}}-{{.Name}}.example.com to generate DNS records instead of using the annotation in the service.
Using this template one can manage multiple zones which contains all services without altering the annotation for each service. "

I tired this and it works great for generating zone specific dns entries as described above for ingress rules that do not specify a hostname.

I've added these options for FQDN template to external DNS:
- --domain-filter=myzone.mydomain
- --fqdn-template={{.Namespace}}-{{.Name}}.myzone.mydomain

I've created two new ingress entries without a hostname for bear and moose and External DNS has automatically generated hostnames and added them to my DNS zone in azure. I get:

default-bear2 A record with default-bear2.myzone.mydomain
default-moose2 A record with default-moose2.myzone.mydomain

Things are going great so far...

bear2.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
 annotations:
   kubernetes.io/ingress.class: traefik
 name: bear2
 namespace: default
spec:
 rules:
 -  http:
     paths:
     - backend:
         service:
           name: bear
           port:
             number: 80
       path: /
       pathType: Prefix
status:
 loadBalancer:
   ingress:
   - ip: 10.xx.xxx.xx

moose2.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
 annotations:
   kubernetes.io/ingress.class: traefik
 name: moose2
 namespace: default
spec:
 rules:
 -  http:
     paths:
     - backend:
         service:
           name: moose
           port:
             number: 80
       path: /
       pathType: Prefix
status:
 loadBalancer:
   ingress:
   - ip: 10.10.232.100

describing the moose2 ingress now looks like this

Rules:
  Host        Path  Backends
  ----        ----  --------
  *
              /   moose:80 (10.xx.xxx.xx:80,10.xx.xxx.xx:80)
Annotations:  kubernetes.io/ingress.class: traefik

describing the bear2 ingress now looks like this
Rules:
  Host        Path  Backends
  ----        ----  --------
  *
              /   bear:80 (10.xx.xxx.xx:80,10.xx.xxx.xx:80)
Annotations:  kubernetes.io/ingress.class: traefik

However,
when I browse default-moose2.myzone.mydomain.com
I see a bear.

Is there a way to achieve this where I don't need to change the ingress by changing the FQDN of a host specified in the ingress based on what zone it's in?

Now to really ask for allot, can I get my IngressRouteTCP to be watched by External DNS as well and achieve the same so I could connect to a External DNS template generated name like:

default-mysqlserver-myzone.mydomain

that gets to the Traefik backend service for mysql? I've read other articles about this but not sure where this has progressed to now or how to make this part work if it can getting External DNS to watch for Traefik IngressRouteTCP.

Thanks for your help.
Brian.