The Initial release of ZoneMan
Posted by Sam
I've been wanting to switch from BIND to PowerDNS for a while now but I haven't been able to find any admin tools that worked the way I wanted them to. This is the problem when you can write software. It seems that hardly anything is just right. Since PowerDNS can use a SQL back-end it seems that everybody wants to create a web admin which is fine for lots of things. One of the things I'm working on now is something I like to call Agile Systems Administration. If nobody has coined the term to date I'm coining it now. Basically I'm looking for ways to automate whatever I can. Since I deploy a LOT of sites DNS was an obvious choice to start automating.
This is where ZoneMan comes into play. It's a command line tool that works with MySQL, PostgreSQL or any other database that Rails works with. The usage is pretty simple. Here's an example of adding a new record.
$ ./zoneman add_record example.com www.example.com A 10.1.1.1
That's it. To break out what we just did. add_record is the command. Example.com is the domain that you are adding the record to. www.example.com is the record itself. 'A' is the record type. And lastly '10.1.1.1' is where the record is pointing to. Using that example you can see how easy it is to script new site setups from the DNS perspective. You can wrap that command in a bash script and make it even shorter.
example.com has been created
The initial release is already hosted at RubyForge. It's very rough and untested. I've also set up a project page on this site. If you have suggestions feel free to leave them in the comments. I hope to make this a very useful tool for managing PowerDNS. Enjoy.