02f9ae1d23c907b0e208640d579954fff14875ba
Change-Id: I2ce6c15cec1f1814b87be14abf9b7da53ed971b8
Introduction
Moniker is an OpenStack inspired DNSaaS.
Developer Guide:
NOTE: This is probably incomplete!
Install Dependencies
apt-get install python-pip python-virtualenv python-setuptools-gitapt-get install rabbitmq-server bind9apt-get build-dep python-lxml
Install Moniker
virtualenv .venvsource .venv/bin/activatepython setup.py develop- create config files (See
*.samplein theetcfolder) - Ensure the user you intend to run moniker as has passwordless sudo rights:
echo "$USER ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/90-moniker-$USERchmod 0440 /etc/sudoers.d/90-moniker-$USER
- 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
- Open
Run
- Open 3 consoles/screen sessions for each command:
./bin/moniker-api./bin/moniker-central./bin/moniker-agent
- Make use of the API..
TODOs:
- Documentation!
- Fixup Bind9 agent implementation so it could be considered even remotely reliable
- Re-Add PowerDNS agent implementation.
- 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
Description