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

TXT registry: only handle forward migration

Open vmax opened this issue 1 year ago • 4 comments
trafficstars

What happened:

I'm developing a webhook provider. Underlying DNS provider rejects trying to create CNAME and TXT record of the same name (which abides by the RFC AFAIR). However I see that it attempts to create both old-style and new-style DNS TXT records:

  • old-style: test.example.com --> "heritage=external-dns,external-dns/owner=default,external-dns/resource=ingress/default/test"
  • new-style: cname-test.example.com --> "heritage=external-dns,external-dns/owner=default,external-dns/resource=ingress/default/test"

New-style records are created just fine (as they don't conflict with CNAME).

However, on the next run it still tries to create old-style records (as txt/force-update: true provider-specific property has been assigned)

What you expected to happen:

Registry is constructed from new-style records only; absence of old records is discarded

How to reproduce it (as minimally and precisely as possible):

WIP

Anything else we need to know?:

I believe the fix would be to either:

  • allow using new-style records only
  • do not attempt to create old-style TXT records for CNAME endpoints if new-style records are present

Environment:

  • External-DNS version (use external-dns --version): unknown (f5545b1e164776958fbb85ed055ae418fb0f24dc)
  • DNS provider: webhook
  • Others:

vmax avatar Apr 03 '24 21:04 vmax