external-dns
external-dns copied to clipboard
feat(txt-registry): deprecate legacy txt-format
trafficstars
Description
- follow-up for https://github.com/kubernetes-sigs/external-dns/pull/4946
- relates https://github.com/kubernetes-sigs/external-dns/pull/4624
- relates https://github.com/kubernetes-sigs/external-dns/issues/3757
TODO:
- ✅ fix tests
- ✅ test on real cluster and account
- ✅ review docs
- ✅ added TXT legacy record cleanup script
Checklist
- [X] Unit tests updated
- [X] End user documentation updated
Executed on real cluster with arguments
go run main.go \
--provider=aws \
--registry=txt \
--source=fake \
--aws-zone-type=private \
--zone-id-filter=/hostedzone/XXXXXX \
--log-level=debug \
--policy=sync \
--interval=60s \
--fqdn-template=a1.ex.com
Without change, records current and old format created
aws route53 list-resource-record-sets --hosted-zone-id ${ZONE_UNDER_TEST} --query "ResourceRecordSets[?Type=='TXT'].{Name:Name, Value:ResourceRecords[0].Value}" --output table
-----------------------------------------------------------------------------
| ListResourceRecordSets |
+--------------------+------------------------------------------------------+
| Name | Value |
+--------------------+------------------------------------------------------+
| a-fhbr.a1.ex.com. | "heritage=external-dns,external-dns/owner=default" |
| a-gwbl.a1.ex.com. | "heritage=external-dns,external-dns/owner=default" |
| a-hgmc.a1.ex.com. | "heritage=external-dns,external-dns/owner=default" |
| a-hmqw.a1.ex.com. | "heritage=external-dns,external-dns/owner=default" |
| a-hoxg.a1.ex.com. | "heritage=external-dns,external-dns/owner=default" |
| a-ipfd.a1.ex.com. | "heritage=external-dns,external-dns/owner=default" |
| a-melr.a1.ex.com. | "heritage=external-dns,external-dns/owner=default" |
| a-mkde.a1.ex.com. | "heritage=external-dns,external-dns/owner=default" |
| a-uknh.a1.ex.com. | "heritage=external-dns,external-dns/owner=default" |
| a-xiqj.a1.ex.com. | "heritage=external-dns,external-dns/owner=default" |
| fhbr.a1.ex.com. | "heritage=external-dns,external-dns/owner=default" |
| gwbl.a1.ex.com. | "heritage=external-dns,external-dns/owner=default" |
| hgmc.a1.ex.com. | "heritage=external-dns,external-dns/owner=default" |
| hmqw.a1.ex.com. | "heritage=external-dns,external-dns/owner=default" |
| hoxg.a1.ex.com. | "heritage=external-dns,external-dns/owner=default" |
| ipfd.a1.ex.com. | "heritage=external-dns,external-dns/owner=default" |
| melr.a1.ex.com. | "heritage=external-dns,external-dns/owner=default" |
| mkde.a1.ex.com. | "heritage=external-dns,external-dns/owner=default" |
| uknh.a1.ex.com. | "heritage=external-dns,external-dns/owner=default" |
| xiqj.a1.ex.com. | "heritage=external-dns,external-dns/owner=default" |
+--------------------+------------------------------------------------------+
With the change. New format records created, letagcy TXT records left untouched
❯❯ aws route53 list-resource-record-sets --hosted-zone-id ${ZONE_UNDER_TEST} --query "ResourceRecordSets[?Type=='TXT'].{Name:Name, Value:ResourceRecords[0].Value}" --output table
-----------------------------------------------------------------------------
| ListResourceRecordSets |
+--------------------+------------------------------------------------------+
| Name | Value |
+--------------------+------------------------------------------------------+
| a-dkmw.a1.ex.com. | "heritage=external-dns,external-dns/owner=default" |
| a-ihkf.a1.ex.com. | "heritage=external-dns,external-dns/owner=default" |
| a-iztb.a1.ex.com. | "heritage=external-dns,external-dns/owner=default" |
| a-jlmh.a1.ex.com. | "heritage=external-dns,external-dns/owner=default" |
| a-kmam.a1.ex.com. | "heritage=external-dns,external-dns/owner=default" |
| a-lqpv.a1.ex.com. | "heritage=external-dns,external-dns/owner=default" |
| a-rizx.a1.ex.com. | "heritage=external-dns,external-dns/owner=default" |
| a-sjfa.a1.ex.com. | "heritage=external-dns,external-dns/owner=default" |
| a-uvlq.a1.ex.com. | "heritage=external-dns,external-dns/owner=default" |
| a-vgpc.a1.ex.com. | "heritage=external-dns,external-dns/owner=default" |
| bwwo.a1.ex.com. | "heritage=external-dns,external-dns/owner=default" |
| ecvx.a1.ex.com. | "heritage=external-dns,external-dns/owner=default" |
| ilan.a1.ex.com. | "heritage=external-dns,external-dns/owner=default" |
| iyda.a1.ex.com. | "heritage=external-dns,external-dns/owner=default" |
| nhhy.a1.ex.com. | "heritage=external-dns,external-dns/owner=default" |
| pazy.a1.ex.com. | "heritage=external-dns,external-dns/owner=default" |
| sdeo.a1.ex.com. | "heritage=external-dns,external-dns/owner=default" |
| tosb.a1.ex.com. | "heritage=external-dns,external-dns/owner=default" |
| wrej.a1.ex.com. | "heritage=external-dns,external-dns/owner=default" |
| yymt.a1.ex.com. | "heritage=external-dns,external-dns/owner=default" |
+--------------------+------------------------------------------------------+
``