Designate/Old Incubation Application
Contents
- 1 Project codename
- 2 Summary
- 3 Detailed Description
- 4 Basic roadmap for the project
- 5 Location of project source code
- 6 Programming language, required technology dependencies
- 7 Is project currently open sourced? What license?
- 8 Level of maturity of software and team
- 9 Proposed project technical lead and qualifications
- 10 Other project developers and qualifications
- 11 Infrastructure requirements (testing, etc)
- 12 Have all current contributors agreed to the OpenStack CLA?
- 13 Related Links
- 14 Status
Project codename
Moniker
Summary
Moniker DNSaaS Project
Detailed Description
Moniker is a DNS as-a-service project. It is intended to be used to provide DNS service from the entry point of creating, updating, maintaining and deleting DNS data using the Moniker API, to providing DNS resolution for users. It is a very modular project, allowing for the use of whatever DNS server and organization demands, or the database where DNS data is stored. It is also intended to work in conjunction with other components such as Nova.
The purpose of the project is provide managed DNS for the Openstack Ecosystem using a REST API or Moniker Sink which consumes events from Nova or Quantum, or any other service that has events that would necessitate DNS changes. It also will replace Nova DNS bindings and provide much more robust and full-featured DNS functionality. Also, advanced DNS record support will be added such as DNSSEC.
Moniker is relevant to the mission by adding a missing piece of data-center functionality, namely, one of the most ubiquitous services, DNS. It's relevant to other OpenStack projects by automating the name resolution changes required for the creation and deletion of Nova instances or other components.
Basic roadmap for the project
The current release provides
- REST API for domain/record management
- Multi-tenant
- Integrated with Keystone for authentication
- Framework in place to integrate with Nova and Quantum notifications (for auto-generated records)
- Support for PowerDNS, MySQLBind, and Bind out of the box
- Command Line Interface
- Python Bindings
Future release plans
- DNSSEC
- Development of functionality to utilize moniker-sink to process events from Nova and Quantum
- Import/Export of Domains via BIND9 style zone files
- Private/Internal DNS servers
Location of project source code
Programming language, required technology dependencies
- Language
- Python
- Dependencies
- flask, message queue, DNS server, database server
Is project currently open sourced? What license?
Yes, under the Apache 2.0 license.
Level of maturity of software and team
- Software: Private Beta at HPCS. Implementations at other organizations.
- Team: Working together for six months
Proposed project technical lead and qualifications
- Kiall Mac Innes (kiall)
- Kiall has worked on OpenStack for ~2 years. He has an extensive understanding of DNS and is the lead author of Moniker.
Other project developers and qualifications
- Simon McCartney (simonmcc)
- Simon has Extensive DNS, Orchestration, Database, and operation experience.
- Patrick Galbraith (CaptTofu)
- Patrick Galbraith has extensive database, operational and has worked on various aspects of Openstack and related projects (Red Dwarf)
- Endre Karlson (zykes-)
- DNS, Linux, Orchestration, Database, Python, Ruby, Billingstack
- Ryan Lane (Ryan_Lane)
- Experience with operating other OpenStack projects, maintainer of legacy nova dns code and maintainer of DNS code for Wikimedia Labs. Will use Moniker in production soon and will be writing a gdnsd driver.
Infrastructure requirements (testing, etc)
Currently on StackForge using Gerrit and Jenkins to runs the unit test suite and pyflakes plus pep8. No additional infrastructure requirements are expected.
Have all current contributors agreed to the OpenStack CLA?
Yes.
Related Links
- Documentation
- Moniker on OpenStack Wiki
- Moniker Talk at the Portland Summit
- Openstack DNS solutions comparison pre-San Diego Summit
- San Diego Summit Etherpad
Status
To be completed by PPB