nsd

Tested with Travis CI

Table of Contents

  1. Description

  2. Setup - The basics of getting started with nsd

  3. Usage - Configuration options and additional functionality

  4. Reference - An under-the-hood peek at what the module is doing and how

  5. Limitations - OS compatibility, etc.

  6. Development - Guide for contributing to the module

Description

This module manages NSD.

RHEL/CentOS and OpenBSD are supported using Puppet 4.6.0 or later.

Setup

Setup Requirements

On RHEL/CentOS platforms you will need to have access to the EPEL repository by using stahnma/epel or by other means.

Beginning with nsd

In the simplest case, configure NSD as a master with a single zone:

include ::nsd

::nsd::zone { 'example.com.':
  source => 'puppet:///modules/example/example.com.zone',
}

Usage

Configure NSD listening on the primary interface only as a slave for a single zone protected with the given TSIG key:

include ::nsd

::nsd::key { 'example.':
  algorithm => 'hmac-sha256',
  secret    => '6z+8iKRIQrwN43TFfO/Rf2NHzpHIFVi6PsJ7dDESclc=',
}

::nsd::zone { 'example.com.':
  allow_notify => [
    ['192.0.2.1', 'example.'],
  ],
  request_xfr  => [
    ['AXFR', '192.0.2.1', 'example.'],
  ],
}

Reference

The reference documentation is generated with puppet-strings and the latest version of the documentation is hosted at bodgit.github.io/puppet-nsd/.

Limitations

This module has been built on and tested against Puppet 4.6.0 and higher.

The module has been tested on:

  • RedHat Enterprise Linux 6/7

  • OpenBSD 6.0/6.1

Development

The module has both rspec-puppet and beaker-rspec tests. Run them with:

$ bundle exec rake test
$ PUPPET_INSTALL_TYPE=agent PUPPET_INSTALL_VERSION=x.y.z bundle exec rake beaker:<nodeset>

Please log issues or pull requests at github.