Forge Home


Puppet module for mesos-dns - An DNS-based service discovery for Mesos.


7,025 latest version

4.2 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.1 (latest)
released Dec 26th 2016
This version is compatible with:
  • Puppet Enterprise 2017.2.x, 2017.1.x, 2016.5.x, 2016.4.x
  • Puppet >=3.4.0 <5.0.0
  • , ,

Start using this module

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

Add this module to your Puppetfile:

mod 'jensendw-mesosdns', '0.0.1'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add jensendw-mesosdns
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install jensendw-mesosdns --version 0.0.1

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.



jensendw/mesosdns — version 0.0.1 Dec 26th 2016

Mesos-DNS Puppet Module

This is a clone of with a few modifications, I initially ran into some issues in regards to the archive dependency which is why I forked this one (puppet master with ruby 1.8.7 and agent with ruby 1.9.3). The 2 main differences is that this module has no dependency on the archive class or the md5 function.

Manage Mesos-DNS - An DNS-based service discovery for Mesos.


Example with default config and master is set via zookeeper url

    mesos_zk => 'zk://localhost:2181/mesos',

Example with default config and master is set via mesos master address

  mesos_master => ['localhost:5050'],

Its also possible to set both mesos master and zookeeper, mesos-dns uses both.

  mesos_zk => 'zk://localhost:2181/mesos',
  mesos_master => ['localhost:5050'],

Class ::mesosdns Parameters

Required Parameters

  • mesos_zk - Zookeeper url of mesos
  • mesos_master - or/and array of mesos masters - host:port

Optional Parameters

  • ensure - present to install and configure mesos-dns or absent to remove all

  • version - download and install an specific release from GitHub

  • source - Download URL (erb template) to use, can be used to specify an custom url for the final binary

  • install_path - Install and downloads the binary to this path

  • config_path - config.json will be placed here

  • service_status - Status of the configured services.

    • Valid values are 'enabled', 'disabled', 'running' and 'unmanaged',
    • Defaults to enabled
  • service_restart - Should service be restarted on config changes

    • Boolean
    • Defaults to true
  • service_provider - Set an specific service provider

    • Currently implemented upstart and systemd
    • Default is got by puppet stdlib fact $::service_provider and depence on the running OS

Mesos-DNS Configuration Parameters

For further details have a look on Mesos-DNS configuration documentation. For default values have a look on mesosdns::init

  • zk_detection_timeout -> zkDetectionTimeout - Integer
  • refresh_seconds -> refreshSeconds - Integer
  • state_timeout_seconds -> stateTimeoutSeconds - Integer
  • ttl -> ttl - Integer
  • domain -> domain - String
  • port -> port - Integer
  • resolvers -> resolvers - Array of Strings
  • timeout -> timeout - Integer
  • listener -> listener - String (IP)
  • dns_on -> dnson - Boolean
  • http_on -> httpon - Boolean
  • http_port -> httpport - Integer
  • external_on -> externalon - Boolean
  • soa_mname -> SOAMname - String
  • soa_rname -> SOARname - String
  • soa_refresh -> SOARefresh - Integer
  • soa_retry -> SOARetry - Integer
  • soa_expire -> SOAExpire - Integer
  • soa_minttl -> SOAMinttl - Integer
  • recurse_on -> recurseon - Boolean
  • enforce_rfc952 -> enforceRFC952 - Boolean
  • ip_sources -> IPSources - Array of Strings


  • Puppet > 3.0 and < 5.0




This module should work out of the box with all Linux systems which has service provider upstart or systemd (detected by stdlib facter)


For more information see Mesos-DNS project


Apache License 2.0