Skip to content

voltgrid/django-dnsmanager

Repository files navigation

DNS Manager for Django

Reusable Django app that provides DNS Zone editing and management.

This is used by Volt Grid and Panubo DNS UI.

Build Status Coverage Status

Screenshot of DNS Manager Zone Editing

Features

  • Import & Export Bind zone files
  • Zone list generation
  • Zone validation
  • Recipe based zone updates (eg one click add Google Apps MX / Cname records)
  • Easily integrate with Bind
  • Zone versioning using Django Reversion

Installation

Install with pip:

pip install git+https://github.com/voltgrid/django-dnsmanager.git#egg=dnsmanager

Add to your Django project in your Python path.

Add reversion and dnsmanager to your INSTALLED_APPS.

Set DNS_MANAGER_DOMAIN_MODEL in settings.py. This must point to a model that provides a name field. Eg:

class Domain(models.Model):

    user = models.ForeignKey(User, related_name='domains')
    name = models.CharField(max_length=253, unique=True, help_text='Domain Name')

    class Meta:
        ordering = ['name']

    def __unicode__(self):
        return "%s" % self.name

Set DNS_MANAGER_ZONE_ADMIN_FILTER in settings.py. This must point to a filterable entity = ('domain__user', )

Run manage.py syncdb.