Forge Home

powerdns

Module for managing PowerDNS.

31,155 downloads

8,350 latest version

5.0 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Version information

  • 0.0.10 (latest)
  • 0.0.9
  • 0.0.8
  • 0.0.7
  • 0.0.6
  • 0.0.5
  • 0.0.4
  • 0.0.3
  • 0.0.2
  • 0.0.1
released Nov 26th 2016
This version is compatible with:
  • Puppet Enterprise 2023.5.x, 2023.4.x, 2023.3.x, 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x, 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x, 2017.3.x, 2017.2.x, 2017.1.x, 2016.5.x, 2016.4.x
  • Puppet >= 3.7.0
  • , , ArchLinux
This module has been deprecated by its author since Oct 5th 2022.

Start using this module

Documentation

jmkeyes/powerdns — version 0.0.10 Nov 26th 2016

Yet Another Puppet ::powerdns Module

Puppet Forge Build Status

Table of Contents

  1. Overview
  2. Description
  3. Todo

Overview

This is yet another Puppet module to manage a PowerDNS DNS server. It currently targets the latest stable release of Puppet, and should support both RedHat and Debian family distributions.

Beware that this module will recursively purge your distribution's default PowerDNS configuration.

Description

To use this module, use either an include-like or resource-like declaration:

# An include-like declaration for Hiera integration.
include ::powerdns

# A resource-like declaration for manual overrides.
class { '::powerdns': }

This module is intended to work with Puppet 4.x.

Configuration

All configuration can be handled either through Hiera or by arguments to the powerdns class.

All parameters specific to a backend can be supplied using the options parameter to the class.

Supported PowerDNS Backends

  • MySQL (gmysql)
  • PostgreSQL (gpgsql)
  • SQLite3 (gsqlite3)
  • LMDB (lmdb)
  • Pipe (pipe)
  • TinyDNS (tinydns)

PowerDNS with MySQL (using manifests)

# Install PowerDNS:
class { '::powerdns': }

# Load the MySQL backend:
class { '::powerdns::backend::gmysql':
  host     => '127.0.0.1',
  user     => 'username',
  password => 'password',
  dbname   => 'powerdns',
  port     => '3306',
  dnssec   => 'yes'
}

PowerDNS with PostgreSQL (using Hiera)

# In Hiera configuration:
classes:
  - 'powerdns'
  - 'powerdns::backend::gpgsql'

powerdns::backend::gpgsql::host:     '127.0.0.1'
powerdns::backend::gpgsql::user:     'username'
powerdns::backend::gpgsql::password: 'password'
powerdns::backend::gpgsql::dbname:   'powerdns'
powerdns::backend::gpgsql::port:     5432
powerdns::backend::gpgsql::dnssec:   'no'

Todo

  • Ensure PowerDNS works with SELinux on distributions that use it.
  • Consider supporting a chrooted installation.
  • Extend support to other distributions.