StackExchange / dnscontrol

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

feature request: add SOA management for AXFRDDNS #1164

Open x70b1 opened 3 years ago

x70b1 commented 3 years ago

dnscontrol is now able to manage SOA records in BIND zone files (#1115).

I would love to see this feature also for other providers. SOA management is probably not necessary at the most providers as they work via an API which takes care of it.

I work with the axfrddnsprovider and a SOA management would be very cool there. SOA's could be handled via other tools too, but the feature that dnscontrol can handle the SOA information while the user don't care about the serial would be an awesome feature.

tlimoncelli commented 3 years ago

CC @hnrgrgr

tlimoncelli commented 3 years ago

I'm renaming this to be specific to AXFRDDNS. Since each provider is maintained separately, anyone that wants SOA management should request it separatrely.

You might want to try adding support yourself. Just enable the capability and run the test suite. It might "just work". If not, fixing it should be relatively easy. This would be a good starter project if you are just learning Go.

x70b1 commented 3 years ago

I looked for multiple hours in this topic. When I opened this issue my idea was "AXFR works nice and I dont have to care about the serial, the server will do this for me. It would be cool to manage the SOA values in the same way".

The problem is that dnscontrol needs to care about the serial as soon as we touch the SOA. Changing SOA settings like the mail contact without changing the serial would change nothing on the server. He accept it but the changes are not applied. I tested it with knot. If we incrementing the serial it works. The point is: dnscontrol has no idea what the serial template on the server is.

I have not seen that we handle the serial already at BIND on a smart way. I started with adding providers.CanUseSOA: providers.Can(), but it seems there is more required than fixing some issues. I am not sure if i am able to achieve this with my non-existing golang skills.

tlimoncelli commented 3 years ago

@hnrgrgr maintains this provider. Hopefully he can provide some feedback or suggestions.

I'd be glad to help with questions about the code and/or golang. We could even do a video conference / screen share.