Although DNS might not be one of the most glamorous services, it’s one of the most critical. Hosting your own DNS servers certainly isn’t trivial and it requires you to maintain your own highly available environments, keep up with security patches and tightly manage your configuration files.
Rackspace’s Cloud DNS service takes care of the heavy lifting of maintaining DNS servers and allows you to query an API to manage your DNS zones and their records. The deal is a little more sweet once you learn that the service is currently free of charge.
Writing scripts to query an API is surely convenient for automation but it might not be handy if you’re looking to make some quick adjustments to various domains. That’s why I started a small project to make a graphical interface for the Rackspace Cloud DNS service. The project contains a small Python application based on Flask, Jinja2 and python-clouddns.
All of the installation instructions and documentation is over in GitHub. As of today, you can do quite a few tasks in the interface:
• List all of the domains in your account
• Add and remove domains from your account
• View and edit records under each of your DNS zones
• All of the record types supported by the API are supported in the interface
It would be unreasonable to write a post about a graphical application without a few screenshots:
Adding a zone
Adding records to a zone
Listing records in a zone
If you find bugs or think of improvements, feel free to open an issue in the GitHub project or start a pull request.