Forge Home


gdnsd Authoritative-only DNS server module


9,952 latest version

3.9 quality score

Version information

  • 0.2.0 (latest)
  • 0.1.1
  • 0.0.2
released Jul 18th 2013

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'thias-gdnsd', '0.2.0'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add thias-gdnsd
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install thias-gdnsd --version 0.2.0

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.



thias/gdnsd — version 0.2.0 Jul 18th 2013



Install, enable and configure the gdnsd DNS server.

  • gdnsd : Main class to install, enable and configure the server.
  • gdnsd::zone : Definition to manage zone files.


Install and enable the server (for the ip_nonlocal_bind to work, you will need the sysctl module), using the included template for the main configuration :

$options = {
  'listen' => '[ ]',
class { 'gdnsd':
  config_content   => template('gdnsd/config.erb'),
  ip_nonlocal_bind => true,

Install a single zone file :

gdnsd::zone { '':
  source => 'puppet:///modules/mymodule/dns/',

For multiple source-based files, use the $source_base parameter to be able to use an array of zone names :

gdnsd::zone { [ '', '', '' ]:
  source_base => 'puppet:///modules/mymodule/dns/',

For more information, including help and configuration examples, see :