kubernetes-sigs / kubernetes-sigs/external-dns

Cannot create TXT records (AWS Zones)

Open
#4,792 4 comments 3 reactions 1 assignee Claimed by @ivankatliarchuk View on GitHub
area/provider/aws help wanted kind/bug lifecycle/stale
Dominant language
Go
Stars
9.1k
Forks
2.9k
Avg merge
3d 17h
Merged PRs (30d)
40

Description

https://github.com/kubernetes-sigs/external-dns/blob/master/docs/sources/txt-record.md indicates that TXT records are only for digitalocean zones, however simple TXT records are already being used in other environments for state so I consider this a bug rather than a feature request

**What happened**:
Errors in logs and when attempting to create a TXT record
```
Failure in zone when submitting change batch: InvalidChangeBatch: [Invalid Resource Record: ' 'FATAL problem: InvalidCharacterString (Value should be enclosed in quotation marks) encountered with ''']\n\tstatus code: 400, request id: " profile=default zoneID=/hostedzone/ zoneName=
```

**What you expected to happen**:
TXT record successfully created

**How to reproduce it (as minimally and precisely as possible)**:
Ensure the cli arg `--managed-record-types TXT` is provided (You'll also need three additional args with `A`, `AAAA` and `CNAME` to ensure backwards compatibility if testing in pre-existing zones)

Create a resource similar to the following for an AWS hosted zone
```
apiVersion: externaldns.k8s.io/v1alpha1
kind: DNSEndpoint
metadata:
name: examplednsrecord-txt
spec:
endpoints:
- dnsName: txt.example.com
recordTTL: 180
recordType: txt
targets:
- example-string
```

**Anything else we need to know?**:

**Environment**:
- External-DNS version (use `external-dns --version`): container bitnami/external-dns:0.15.0-debian-12-r2
- DNS provider: AWS (Route53)
- Others:

This issue is referenced in
* https://github.com/kubernetes-sigs/external-dns/issues/3979 which was resolved without addressing the TXT issue. Note that issue stated that quotes weren't the problem but a trailing '.'

Note I am trying to create a VPC enpoint DNS entry so my target contains a colon `:` and is mixed case alpha numeric eg `vpce:abC1234`. however when I use a target of `vpce-aBc1234` I get the same error

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.