Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No way to specify a value for external-dns --txt-prefixor --txt-suffix #55

Open
mscottford opened this issue Oct 28, 2023 · 0 comments · May be fixed by #61
Open

No way to specify a value for external-dns --txt-prefixor --txt-suffix #55

mscottford opened this issue Oct 28, 2023 · 0 comments · May be fixed by #61

Comments

@mscottford
Copy link

mscottford commented Oct 28, 2023

The external-dns service is configured to use TXT DNS records to keep track of the A and CNAME records it has created in the hosted zone. The default name of the TXT record is the same as the name of the A/CNAME record.

This causes problems in scenarios where TXT records already exist, because external-dns generates an error in that case (see sample below). One reason that a TXT record might already exist is to comply with DNS validation checks for 3rd party services, such as Google Workspace or GMail.

To assist with this problem, external-dns supports a txt-prefix and txt-suffix parameter.

I propose that these values become available in the Massdriver configure UI when managing a bundle. It probably makes sense to place them behind an "advanced" configuration setting. I further propose that a prefix of edns. becomes the default. This would avoid the surprise that I ran into this week for newcomers, while also allowing folks the option of reverting to the previous behavior. It's worth noting that the external-dns docs discourage changing the txt-prefix or txt-suffix values after external-dns is installed in a cluster, because it may affect its ability to make DNS changes. For that reason, it might make sense to make these values read only after the bundle has been deployed.

(Note: The actual domain and hostedzone id have been redacted.)

│ time="2023-10-28T06:51:11Z" level=info msg="Applying provider record filter for domains: [example.io. .example.io.]"                                         │
│ time="2023-10-28T06:51:11Z" level=info msg="Desired change: DELETE www.example.io A [Id: /hostedzone/Z9999999999999]"                                 │
│ time="2023-10-28T06:51:11Z" level=info msg="Desired change: DELETE www.example.io TXT [Id: /hostedzone/Z9999999999999]"                               │
│ time="2023-10-28T06:51:11Z" level=info msg="Desired change: CREATE example.io A [Id: /hostedzone/Z9999999999999]"                                     │
│ time="2023-10-28T06:51:11Z" level=info msg="Desired change: CREATE example.io TXT [Id: /hostedzone/Z9999999999999]"                                   │
│ time="2023-10-28T06:51:11Z" level=error msg="Failure in zone example.io. [Id: /hostedzone/Z9999999999999]"                                            │
│ time="2023-10-28T06:51:11Z" level=error msg="InvalidChangeBatch: [Tried to create resource record set [name='example.io.', type='TXT'] but it already exists │
│ time="2023-10-28T06:51:11Z" level=error msg="failed to submit all changes for the following zones: [/hostedzone/Z9999999999999]"                      │
│
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant