StackExchange / dnscontrol

Infrastructure as code for DNS!
https://dnscontrol.org/
MIT License
3.11k stars 396 forks source link

When using Route53 DelegationSets, only get DelegationSet info when needed #2963

Open hallorans-nca opened 5 months ago

hallorans-nca commented 5 months ago

Is your feature request related to a problem? Please describe. I have a large number of DelegationSets configured, but when I use dnscontrol with the --domains parameter, all DelegationSets are probed

In the example below, the example below takes over 4 minutes to complete, almost all of the time is taken by the 'ROUTE53 DelegationSet .... configured' step

preview

dnscontrol preview --domains=zzzdnscontroldebug.com.au
ROUTE53 DelegationSet N....Q configured
ROUTE53 DelegationSet N....P configured
ROUTE53 DelegationSet N....B configured
...........
ROUTE53 DelegationSet N....M configured
ROUTE53 DelegationSet N....U configured
2024/05/17 13:51:22 1 Validation errors:
2024/05/17 13:51:22 WARNING: 11 spf record lookups are out of date with cache (....).
Wrote changes to spfcache.updated.json. Please rename and commit:
$ mv spfcache.updated.json spfcache.json
$ git commit -m 'Update spfcache.json' spfcache.json
******************** Domain: zzzdnscontroldebug.com.au
WARNING: Zone 'zzzdnscontroldebug.com.au' does not exist in the 'r53...n...m' profile and will be added automatically.
WARNING: No nameservers declared; skipping registrar. Add {no_ns:'true'} to force.

Describe the solution you'd like When using the --domains parameter, only get the DelegationSet information when needed, for the domains needed

Describe alternatives you've considered As a work around, I have updated the dnsconfig.js file to just require the one file, doing the change, and then reverting back to require_glob

Additional context Add any other context or screenshots about the feature request here.

tlimoncelli commented 5 months ago

CC @tresni (route53 maintainer)