zonemaker: Python DNS zone files
Introduction
This is zonemaker, a tool to generate DNS zone files from Python.
The plain zone file format is pretty limited. There are not even variables, so in many cases IP addresses and other data has to be repeated several times. zonemaker is an attempt to provide more flexibility, by allowing you to write your zones in Python. Hence all the usuel fatures, like variables, macros (also known as functions) and loops, are available to generate DNS zone data. At the same time, zonemaker is reasonably simple and close to the actual structure of a DNS zonefile, so it is suited for small setups. The output of zonemaker is a standard zonefile, it can be used with any DNS server supporting those.
Usage
Simply call zonemaker
with the zone Python file as argument. The
result will be printed to stdout. See db.example.com.py
for a sample
file demonstrating the use of the interface. Makefile.sample
shows
how a makefile which first updates the zone(s), and then tells BIND to
reload, could look like.
Source, License
You can find the sources in the
git repository (also
available on GitHub). They
are provided under a
2-clause BSD license. See
the file LICENSE-BSD
for more details.
Contact
If you found a bug, or want to leave a comment, please send me a mail.