NEW PROVIDER: Netnod primary DNS#4191
Conversation
Add a DNSControl provider for Netnod primary DNS API. Provider is loosely based on the PowerDNS provider.
|
Thanks! Super glad to receive this! Right now the project is in transition but I hope to be able to address this once we've moved to our new org. |
|
Hi @TomOnTime, thanks for the reply! Let me know if there is anything I can do to help. Is the project being transitioned away from the |
Yes, it will soon be in the dnscontrol organization. Tom |
|
I handled the conflicts due to package update and renames ( @vilhelmprytz Do double check that I didn't mess something up. |
|
Oh, wait, I used the web-GUI and obviously something funny happened. |
Fixed typos / artifacts from web-GUI based merge.
Fixed web-GUI based merge artifacts.
TomOnTime
left a comment
There was a problem hiding this comment.
Everything looks good. I'm requesting @cafferata review the docs.
nitpick: Would you please rename providers/netnod/diff.go to providers/netnod/records.go ? Thanks!
|
@TomOnTime Certainly, now changed. |
|
Thanks! |
|
Greetings! Thank you for your patience while we migrated to the new GitHub org. Now that the migration is complete, please rebase. Thank you. |
|
@TomOnTime Thanks, now pushed! |
|
Hi there! Oops... things move quickly and another rebase to main is needed. Yes, I'd love to have this added to the automated tests. Please see https://docs.dnscontrol.org/developer-info/byo-secrets for instructions. |
cafferata
left a comment
There was a problem hiding this comment.
Thanks for adding Netnod support! A few suggestions on the documentation and one build issue.
|
|
||
| ## Activation | ||
|
|
||
| See the [Netnod DNS](https://www.netnod.se/dns/dns-enterprise-services). |
There was a problem hiding this comment.
This is a sentence fragment. Consider expanding it to explain how users obtain API credentials, similar to how other provider docs handle this section.
| - `default_ns` sets the nameservers used when creating zones. | ||
| - `also_notify` sets a list of IP addresses that will receive DNS NOTIFY messages when a zone is created. This is the provider-level default and applies to all zones unless overridden per zone (see below). | ||
| - `allow_transfer_keys` sets the TSIG key IDs permitted to perform zone transfers from the distribution servers when a zone is created. | ||
| This should include all keys used for DNS secondary replication, including those used by the Netnod secondary DNS service. This is the provider-level default and applies to all zones unless overridden per zone. |
There was a problem hiding this comment.
The text says "overridden per zone (see below)" but there is no section below explaining how to do this. The code in dns.go supports per-zone also_notify and allow_transfer_keys overrides via metadata, but users won't know how to use them. Consider adding a section with an example, or at least remove the "(see below)" reference.
| a := rejectif.Auditor{} | ||
|
|
||
| a.Add("TXT", rejectif.TxtHasDoubleQuotes) // Last verified 2023-11-11 | ||
| a.Add("TXT", rejectif.TxtHasBackslash) // Last verified 2023-11-11 |
There was a problem hiding this comment.
The "Last verified" dates say 2023-11-11 but this is a brand-new provider. These should reflect when the checks were actually verified against the Netnod API.
| package netnod | ||
|
|
||
| import ( | ||
| "github.com/StackExchange/dnscontrol/v4/models" |
There was a problem hiding this comment.
All Go source files use github.com/StackExchange/dnscontrol/v4 but the module path is github.com/DNSControl/dnscontrol/v4. This needs to be updated across all files for the code to compile.
|
Optionally: since #4208 landed before this PR, would you be open to implementing |
Add a DNSControl provider for Netnod primary DNS API. Provider is loosely based on the PowerDNS provider.
diff2.ByRecordSet(), updates are batched per label+typeCapabilities
A, AAAA, ALIAS, CAA, CNAME, HTTPS, MX, NS, PTR, SRV, TLSA, TXT (
CanGetZones,DocCreateDomains,DocDualHost)We can offer an API key for automated testing, if needed.
Please create the GitHub label 'provider-NETNOD'.
Fixes #4192.