external-dns icon indicating copy to clipboard operation
external-dns copied to clipboard

DNSEndpoint definition ignored when annotation-filter is set.

Open doonga opened this issue 2 years ago • 20 comments

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:

  • External-DNS version (use external-dns --version): v20230327-v0.13.4
  • DNS provider: Cloudflare

doonga avatar May 25 '23 20:05 doonga

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.

Ramblurr avatar May 25 '23 20:05 Ramblurr

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

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

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue as fresh with /remove-lifecycle stale
  • Close this issue with /close
  • Offer to help out with Issue Triage

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

/lifecycle stale

k8s-triage-robot avatar Jan 23 '24 09:01 k8s-triage-robot

keep

kahirokunn avatar Jan 23 '24 11:01 kahirokunn

/remove-lifecycle stale

onedr0p avatar Jan 23 '24 11:01 onedr0p

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

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

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue as fresh with /remove-lifecycle stale
  • Close this issue with /close
  • Offer to help out with Issue Triage

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

/lifecycle stale

k8s-triage-robot avatar Apr 22 '24 12:04 k8s-triage-robot

/remove-lifecycle stale

joryirving avatar Apr 22 '24 13:04 joryirving

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

jurgenweber avatar Apr 30 '24 10:04 jurgenweber

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

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

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue as fresh with /remove-lifecycle stale
  • Close this issue with /close
  • Offer to help out with Issue Triage

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

/lifecycle stale

k8s-triage-robot avatar Jul 29 '24 11:07 k8s-triage-robot

keep

kahirokunn avatar Jul 29 '24 12:07 kahirokunn

/remove-lifecycle stale

kahirokunn avatar Jul 29 '24 12:07 kahirokunn