OpenStack DNS As A Service (Designate)
Go to file
Kiall Mac Innes 9777657f69 Add tests_require to setup.py 2012-10-14 21:19:16 +01:00
bin Ensure all bin/ files are as "dumb" as possible. 2012-10-14 18:56:52 +01:00
etc Switch from Flask's WSGI Server to OpenStack Commons + Use PasteDeploy for easier Keystone integration. 2012-10-14 18:04:25 +01:00
moniker Merge branch 'master' of github.com:managedit/moniker 2012-10-14 20:58:44 +01:00
templates Initial Public Commit. 2012-09-25 08:04:13 +01:00
tools Move some dep's from test-requires to pip-requires 2012-10-14 19:15:31 +01:00
.gitignore Add .venv to gitignore file 2012-10-14 19:01:55 +01:00
.gitreview Initial Public Commit. 2012-09-25 08:04:13 +01:00
MANIFEST.in Initial Public Commit. 2012-09-25 08:04:13 +01:00
README.md Move TODO's to the bottom on the readme 2012-10-14 19:19:32 +01:00
moniker.sublime-project Add tox and venv to ST2 folder ignores 2012-10-13 01:19:22 +01:00
openstack-common.conf Add OpenStack Common WSGI module 2012-10-14 17:19:54 +01:00
setup.cfg Add skeleton test framework 2012-10-13 01:05:53 +01:00
setup.py Add tests_require to setup.py 2012-10-14 21:19:16 +01:00
tox.ini Add skeleton test framework 2012-10-13 01:05:53 +01:00

README.md

Introduction

Moniker is an OpenStack inspired DNSaaS.

Developer Guide:

NOTE: This is probably incomplete!

Install Dependencies

  1. apt-get install python-pip python-virtualenv python-setuptools-git
  2. apt-get install rabbitmq-server bind9
  3. apt-get build-dep python-lxml

Install Moniker

  1. virtualenv .venv
  2. source .venv/bin/activate
  3. python setup.py develop
  4. create config files (See *.sample in the etc folder)
  5. Ensure the user you intend to run moniker as has passwordless sudo rights:
    • echo "$USER ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/90-moniker-$USER
    • chmod 0440 /etc/sudoers.d/90-moniker-$USER
  6. Tell bind to load our zones:
    • Open /etc/bind/named.conf
    • Add include "$CHECKOUT_PATH/var/bind9/zones.config"; to the end of the file
    • sudo service bind9 restart

Run

  1. Open 3 consoles/screen sessions for each command:
  • ./bin/moniker-api
  • ./bin/moniker-central
  • ./bin/moniker-agent-bind9
  1. Make use of the API..

TODOs:

  • Documentation!
  • Fixup Bind9 agent implementation so it could be considered even remotely reliable
  • Re-Add PowerDNS agent implementation.
  • Database migrations
  • Unit Tests!!
  • Integration with other OS servers eg Nova and Quantum
    • Listen for floating IP allocation/deallocation events - giving user access to the necessary PTR record.
    • Listen for server create/destroy events - creating DNS records as needed.
    • Listen for server add/remove from security group events - creating "load balancing" DNS RR records as needed.
  • Introduce Server Pools
    • Server pools will allow a provider to 'schedule' a end users domain to one of many available DNS server pools