Forge Home


Manages Puppet agent and puppetserver


4,896 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

  • 3.3.0 (latest)
  • 3.2.1
  • 3.2.0
  • 3.1.0
  • 3.0.2
  • 3.0.1
  • 3.0.0
  • 2.18.1
  • 2.18.0
  • 2.17.0
  • 2.14.3
  • 2.14.2
  • 2.14.1
  • 2.14.0
  • 2.12.0
  • 2.11.3
  • 2.11.2
  • 2.11.1 (deleted)
  • 2.11.0
  • 2.10.0
  • 2.9.3
  • 2.9.2
  • 2.8.0
  • 2.7.0
  • 2.1.3
  • 2.1.2 (deleted)
  • 1.0.1 (deleted)
  • 1.0.0 (deleted)
released Jan 31st 2019
This version is compatible with:
  • Puppet Enterprise 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 >= 4.7.0 < 7.0.0
  • , , ,

Start using this module

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

Add this module to your Puppetfile:

mod 'ghoneycutt-puppet', '3.3.0'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add ghoneycutt-puppet
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install ghoneycutt-puppet --version 3.3.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.



ghoneycutt/puppet — version 3.3.0 Jan 31st 2019


Table of Contents

  1. Module Description
  2. Dependencies
  3. Compatibility
  4. Class Descriptions

Module description

Build Status

This module handles the various parts of puppet including the agent and puppetserver. It is highly opionated and does not seek to manage the agent and server in all ways that they can be configured and implemented.

  • The agent runs in noop by default. This is the safest way and ensures that changes are known by having to specify that you want to run in enforcing mode.

  • The agent does not run as a service. There is no good reason for running the service. Instead cron should be used to better manage how and when the agent runs.

  • By default the agent will run every thirty minutes from cron and the minutes will be randomized using fqdn_rand() so they are consistent per host. If you would like a different schedule, this is easily disabled by setting run_every_thirty to false, in which case, it is suggested that the schedule by specified in your profile.

  • The trusted_node_data option in puppet.conf is set to true.

This module is targeted at Puppet v4. If you need support for Puppet v3, please see the puppetv3 branch of this module. Which supports the agent, master (with apache/passenger), Puppet Dashboard and puppet-lint.

To use the agent, use include ::puppet. If the system is also a puppetserver, use include ::puppet::server, which will also manage the agent.

It uses puppetlabs/inifile to manage the entries in puppet.conf.


For version ranges, please see metadata.json.


Puppet v4 (Ruby 2.1.9), Puppet v5 (Ruby 2.4.1), and Puppet v6 (Ruby 2.5.1) with the following platforms. Please consult the CI testing matrix in .travis.yml for more info. If you are looking for Puppet v3, please see the puppetv3 branch.

  • EL 6

Class Descriptions

Class puppet


Manages the puppet agent.

A note on types, Variant[Enum['true', 'false'], Boolean] means that boolean true and false are supported as well as stringified 'true' and 'false'.


certname (type: String)

The certificate name for the client.

  • Default: $::fqdn

run_every_thirty (type: Variant[Enum['true', 'false'], Boolean])

Determines if a cron job to run the puppet agent every thirty minutes should be present.

  • Default: true

run_in_noop (type: Variant[Enum['true', 'false'], Boolean])

Determines if the puppet agent should run in noop mode. This is done by appending '--noop' to the cron_command parameter.

  • Default: true

cron_command (type: String)

Command that will be run from cron for the puppet agent.

  • Default: '/opt/puppetlabs/bin/puppet agent --onetime --no-daemonize --no-usecacheonfailure --detailed-exitcodes --no-splay'

run_at_boot (type: Variant[Enum['true', 'false'], Boolean])

Determine if a cron job should present that will run the puppet agent at boot time.

  • Default: true

config_path (type: String)

The absolute path to the puppet config file.

  • Default: /etc/puppetlabs/puppet/puppet.conf

server (type: String)

The name of the puppet server.

  • Default: 'puppet'

ca_server (type: String)

The name of the puppet CA server.

  • Default: 'puppet'

env (type: String)

Value of environment option in puppet.conf which defaults to the environment of the current puppet run. By setting this parameter, you can specify an environment on the command line (puppet agent -t --environment foo) and it will not trigger a change to the puppet.conf.

  • Default: $environment

graph (type: Variant[Enum['true', 'false'], Boolean])

Value of the graph option in puppet.conf.

  • Default: false

agent_sysconfig_path (type: String)

The absolute path to the puppet agent sysconfig file.

  • Default: '/etc/sysconfig/puppet'

custom_settings (type: Hash)

A hash that allows you to define and set any settings in puppet.conf. For each setting use a nested hash and provide the section and the name and value of the setting.

  • Default: {}
$custom_settings = {
  'name'  => { 'section' => 'master', 'setting' => 'codedir', 'value' => '/specific/path' },
  'other' => { 'section' => 'agent',  'setting' => 'server',  'value' => 'specific.server.local' },

Class puppet::server

Manages the puppetserver.

ca (type: Variant[Enum['true', 'false'], Boolean])

Determines if the system is a puppet CA (certificate authority). There should be only one CA per cluster of puppet masters.

  • Default: false

autosign_entries (type: Variant[Array[String, 1], Undef])

Optional array of entries that will be autosigned.

  • Default: undef

sysconfig_path (type: String)

The absolute path to the puppetserver sysconfig file.

  • Default: '/etc/sysconfig/puppetserver'

memory_size (type: String /^\d+(m|g)$/)

The amount of memory allocated to the puppetserver. This is passed to the Xms and Xmx arguments for java. It must be a whole number followed by the unit 'm' for MB or 'g' for GB.

  • Default: '2g'

enc (type: Optional[String])

The absolute path to an ENC. If this is set, it will be the value for the external_nodes option in puppet.conf and the node_terminus option will be set to 'exec'.

  • Default: undef

dns_alt_names (type: Optional[String])

Value of the dns_alt_names option in puppet.conf.

  • Default: undef