kubernetes-sigs / external-dns

Configure external DNS servers (AWS Route53, Google CloudDNS and others) for Kubernetes Ingresses and Services
Apache License 2.0
7.76k stars 2.59k forks source link

DNSEndpoint definition ignored when annotation-filter is set. #3634

Open doonga opened 1 year ago

doonga commented 1 year ago

What happened: I have the following command line args: --crd-source-apiversion=externaldns.k8s.io/v1alpha1 --crd-source-kind=DNSEndpoint --cloudflare-proxied --annotation-filter=external-dns.alpha.kubernetes.io/target

The issue is with the annotation-filter. When that is set, my DNSEndpoint definition is ignored unless it has an annotation that matches that filter.

What you expected to happen: I expected my DNSEndpoint definition to be processed and created.

How to reproduce it (as minimally and precisely as possible): When using the command line arguments listed above, create a DNSEndpoint without the annotation, it will be ignored. If the annotation is added then it will be processed.

Anything else we need to know?: I'm not 100% sure this is a bug, as this behavior might be intentional, but it does seem counter intuitive.

Environment:

Ramblurr commented 1 year ago

I'm also experiencing this bug. It's especially counterintuitive because the annotation usually only goes on Ingress resources , but in this case you have to put the annotation there with any 'ol value to make the DNSEndpoint visible to external-dns.

k8s-triage-robot commented 10 months ago

The Kubernetes project currently lacks enough contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

kahirokunn commented 10 months ago

keep

onedr0p commented 10 months ago

/remove-lifecycle stale

k8s-triage-robot commented 7 months ago

The Kubernetes project currently lacks enough contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

joryirving commented 7 months ago

/remove-lifecycle stale

jurgenweber commented 7 months ago

I would expect it to honour the annotation? Why do you think it is counter intuitive?

The weird thing is, I was experiencing the exact opposite, I have the CLI options set, I have ingresses and services where it is making DNS successfully with the filter, but I added some DNSEndpoints with the annotation and it is being ignored!

And then I found this; https://kubernetes-sigs.github.io/external-dns/v0.13.2/contributing/crd-source/#usage

--crd-source-apiversion=externaldns.k8s.io/v1alpha1
--crd-source-kind=DNSEndpoint
--cloudflare-proxied
--annotation-filter=external-dns.alpha.kubernetes.io/target
--source=crd

you are missing the --source

k8s-triage-robot commented 4 months ago

The Kubernetes project currently lacks enough contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

kahirokunn commented 4 months ago

keep

kahirokunn commented 4 months ago

/remove-lifecycle stale

k8s-triage-robot commented 1 month ago

The Kubernetes project currently lacks enough contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

onedr0p commented 1 month ago

/remove-lifecycle stale