Installs PowerDNS and PuppetDB backend

EvenUp Inc



9,053 latest version

3.3 quality score

Version information

  • 1.2.0 (latest)
  • 1.1.0
  • 1.0.0
  • 0.1.1
released Jan 17th 2014

Start using this module


evenup/pdns — version 1.2.0 Jan 17th 2014

What is it?

A Puppet module that installs PowerDNS authority and recursor servers and a pipe backend for PowerDNS to resolve nodes based on facts in PuppetDB. The authority server uses both a bind backend for static names and a pipe backend to resolve hostnames from PuppetDB. Unknown requests from sources are forwarded to the recursor service on localhost.

Please see the comments in the various .pp files for details.

Released under the Apache 2.0 licence


Configuration is done through class parameters for configuring the hostname of the PuppetDB server and frequency of the cache refresh as well as a regex (if desired) to filter what requests should be passed to the PuppetDB pipe backend.

To install:

To install a BIND zonefile for corp.example.com:

Class Variables:

  • puppetdb_server - Hostname of the puppetdb server.
  • puppetdb_logfile - Location to write the logfile for the pipe backend
  • puppetdb_loglevel - Log level of the pipe backend
  • puppetdb_reload - Frequency to refresh the node names from PuppetDB
  • pdns_regex - Regex for matching what queries should be passed to the PuppetDB pipe backend. An example which would query the PuppetDB backend for all hostnames in the corp.example.com domain and reverse lookups for any IP in the 10/8 space would be:


Known Issues:

  • Only tested on RHEL 6.3 and puppet 3.0.1 using the pdns packages from EPEL


Justin Lambert / jlambert@letsevenup.com / @jlambert121