bind module for puppet
Yesterday, I released a module to manage bind zones using puppet on the puppet forge. It uses a custom type to manage DNS RRs (using dig and nsupdate), and there's also a class for ensuring that a zone is installed, both on masters and on slaves, in a manner that you only need to list the zones, with their master and slave name servers, in a hiera data file.
The main reason why I did it this way is because all the other modules that I looked at would either expect you to write zone files (and then just copy them over), or generate the zone files and use "rndc reload" or similar.
I don't like that way of doing things. BIND does support dynamic updates of zone entries, and it's perfectly possible to query a name server to verify whether a given record actually exists. Additionally, this gave me a good excuse to learn how to write a custom type for puppet.
Today, I was astonished to learn that my module has already had six downloads. In 20 hours, that's fairly impressive, in my opinion.
New code relying on BIND?
Why not use libldns? (and replace BIND installs with nsd/unbound/knot,...).