Puppet module to install and configure Puppetmaster
Puppet Ruby
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Puppet Master Module for Puppet

Build Status

Use this module to deploy a puppetmaster server via 'puppet apply' command and avoid using a few manual steps.


It requires the PuppetLabs Repository added before using the module.

For Debian systems:

$ puppet module install puppetlabs-apt

And then add data below to your node resource:

  apt::source { 'puppetlabs':
    location   => 'http://apt.puppetlabs.com',
    repos      => 'main dependencies',
    key        => '4BD6EC30',
    key_server => 'pgp.mit.edu',

For RHEL systems:

  yumrepo {
    name           => 'puppetlabs-products',
    descr          => 'Puppet Labs Products El 6 - $basearch',
    baseurl        => 'http://yum.puppetlabs.com/el/6/products/$basearch',
    priority       => '5',
    failovermethod => 'priority',
    enabled        => '1',
    gpgcheck       => '1',
    gpgkey         => 'http://yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs';
    name           => 'puppetlabs-deps',
    descr          => 'Puppet Labs Dependencies El 6 - $basearch',
    baseurl        => 'http://yum.puppetlabs.com/el/6/dependencies/$basearch',
    priority       => '5',
    failovermethod => 'priority',
    enabled        => '1',
    gpgcheck       => '1',
    gpgkey         => 'http://yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs';

Quick Start

$ puppet module install fsalum-puppetmaster

Include the following in your master.pp if you plan to install puppetmaster with passenger:

     include apache::mod::passenger

     class { puppetmaster:
       puppetmaster_service_ensure       => 'stopped',
       puppetmaster_service_enable       => 'false',
       puppetmaster_report               => 'true',
       puppetmaster_autosign             => 'true',
       puppetmaster_modulepath           => '$confdir/modules:$confdir/modules-0',

And run:

$ puppet apply --modulepath /etc/puppet/modules master.pp


You can also set some extra parameters to enable or disable a few options:

  • puppetmaster_package_ensure

    Specify the package update state. Defaults to 'present'. Possible value is 'latest'.

  • puppetmaster_service_ensure

    Specify the service running state. Defaults to 'running'. Possible value is 'stopped'.

  • puppetmaster_service_enable

    Specify the service enable state. Defaults to 'true'. Possible value is 'false'.

  • puppetmaster_server

    Specify the Puppet Master server name.

  • puppetmaster_certname

    Specify the Puppet Master certificate name. It is usually the server hostname.

  • puppetmaster_report

    Send reports after every transction. Defaults to 'true'. Possible value is 'false'.

  • puppetmaster_autosign

    Whether to enable autosign. Defaults to 'false'. Possible value is 'true' or file path.

  • puppetmaster_reports

    List of reports to generate. See documentation for possible values.

  • puppetmaster_reporturl

    The URL used by the http reports processor to send reports.

  • puppetmaster_facts_terminus

    The node facts terminus. Defaults to facter. Possible value is 'PuppetDB'.

  • puppetmaster_modulepath

    Defines the module path.

  • puppetmaster_templatepath

    Defines the template path.


Felipe Salum fsalum@gmail.com