Skip to main content

PowerDNS administration app for Django

Project description

Welcome to the PowerDNS app for Django.

This application allows easy administration of PowerDNS records stored in an SQL database by leveraging the standard Django Admin app. You may also use the Django PowerDNS application as part of a larger project to programatically modify your DNS records.

Note: This is an updated and enhanced fork of django-powerdns which looks abandoned as of November 2012.

Quickstart

Simply add powerdns to INSTALLED_APPS in your settings.py. Use South for database migrations.

Using a separate database for PowerDNS

If your Django application is using a different database than the one used by PowerDNS, provide the configuration for the DNS database in settings.py as a separate entry in DATABASES, for example:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'project_db',
        'USER': 'user',
        'PASSWORD': 'secret',
        'HOST': '127.0.0.1',
        'PORT': '3306',
        'OPTIONS': {
            "init_command": "SET storage_engine=INNODB",
        },
    },
    'powerdns': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'powerdns',
        'USER': 'pdns',
        'PASSWORD': 'pdns',
        'HOST': '127.0.0.1',
        'PORT': '3306',
        'OPTIONS': {
            "init_command": "SET storage_engine=INNODB",
        },
    },
}

For Django to automatically route powerdns requests to the right database, add this setting to settings.py:

DATABASE_ROUTERS = ['powerdns.routers.PowerDNSRouter']

You have to sync and migrate the default and the powerdns databases separately. First the default database:

$ python manage.py syncdb
$ python manage.py migrate

Then the powerdns database:

$ python manage.py syncdb --database=powerdns
$ python manage.py migrate --database==powerdns

Note that the powerdns database will maintain its own separate South migration history table. This is especially helpful if your connecting several Django projects to a single PowerDNS database.

Change Log

0.9.0

  • DNSSEC tables supported.

  • Support for multiple databases.

  • Updated the project to require at least Django 1.3.

  • UI translations supported (currently Polish translation added).

  • South migrations.

  • Source code compliant with PEP8.

  • Minor fixes.

0.2.0

  • First release with basic PowerDNS support.

Authors

Application written by Peter Nixon and Łukasz Langa. NSEC3 code based on George Notaras’ work with django-powerdns-manager.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-powerdns-dnssec-0.9.0.tar.gz (12.3 kB view details)

Uploaded Source

File details

Details for the file django-powerdns-dnssec-0.9.0.tar.gz.

File metadata

File hashes

Hashes for django-powerdns-dnssec-0.9.0.tar.gz
Algorithm Hash digest
SHA256 c1a1aa9d0760c11cc1171730d7dcc854755932408ab2d890a0c8e0f8f9a279e5
MD5 b6cd059e3d1d2141071849af54899067
BLAKE2b-256 38a0f3da3195fb37ac0e1195101e9e75a83b492f2ee755427266b2318c28732b

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page