Version information
This version is compatible with:
- Puppet Enterprise 3.x
- Puppet 3.x
- , , , , ,
Start using this module
Add this module to your Puppetfile:
mod 'stephenrjohnson-puppet', '1.4.0'
Learn more about managing modules with a PuppetfileDocumentation
Puppet module
This module provides classes for managing the puppet agent and puppet master. It will setup passenger and apache on the puppetmaster. Please note this will not setup puppetdb. This can be configured using the puppetdb module http://forge.puppetlabs.com/puppetlabs/puppetdb. Storedconfigs with puppetdb will only work on puppet versions newer than 2.7.12.
Prerequisites
If you are using a RedHat based OS you also need to have the EPEL repo configured as this module requires the passenger apache module.
Requires the following modules from puppetforge: stdlib, apache, concat, inifile
Usage Note
If you are using this module to install a puppetmaster and serving the manifest of the machine. You may have issues with it halting the puppet master if it is running through webrick. In which case run a single puppet run using
puppet apply -e "class{'puppet::repo::puppetlabs': } Class['puppet::repo::puppetlabs'] -> Package <| |> class { 'puppetdb': } class { 'puppet::master': storeconfigs => true }"
Master
class { 'puppetdb': }
class { 'puppet::master':
storeconfigs => true,
}
Puppet Environments
Puppet 3.5 introduced a new way of handling Puppet environments known as Directory Environments. This is expected to become the default configuration as of Puppet 4.0, this module supports both methods.
Config Method (default)
class { 'puppet::master': }
puppet::masterenv {'dev':
modulepath => '/etc/puppet/env/dev/modules',
manifest => '/etc/puppet/env/dev/site.pp',
}
puppet::masterenv {'production':
modulepath => '/etc/puppet/env/production/modules',
manifest => '/etc/puppet/env/production/site.pp',
}
Directory method using environmentpath
class { 'puppet::master':
environments => 'directory',
}
Optionally, an environmentpath
parameter can be supplied to configure the base root of Puppet environments, this defaults to $confdir/environments
Agent
class { 'puppet::agent':
puppet_server => master.puppetlabs.vm,
environment => production,
splay => true,
}
Deprecation Warning
The templatedir
parameter will default to undef
and will remove the setting from the puppet.conf file in version 2.0.0 of this module.
Testing
Install gems:
bundle install --path vendor/bundle
Lint and rspec-puppet:
bundle exec rake lint
bundle exec rake spec
If you have a working Vagrant setup you can run the rspec-system tests:
bundle exec rake beaker
To use different base boxes than the default pass the name of the box to
the rake command with the BEAKER_set
environment variable (check out
.nodelist.yml for box names):
BEAKER_set=ubuntu-server-1404-x64 bundle exec rake beaker
2012-08-28 - Stephen Johnson stephen@pupppetlabs.com - 0.0.2
- Revert inifile updating sheel scripts as it adds spaces 2012-08-31 - Stephen Johnson stephen@puppetlabs.com - 0.0.3
- Fix reporting and add more spec tests 2012-09-05 - Stephen Johnson stephen@puppetlabs.com - 0.0.4
- Add pluginsync support
- Fix issue with inherited file permissions
- Cleanup code to use resource defaults 2013-03-22 Stephen Johnson stephen@puppetlabs.com - 0.0.5
- Updated dependencies 2013-03-29 Stephen Johnson stephen@puppetlabs.com - 0.0.7
- Added redhat support 2013-05-01 Stephen Johnson stephen@puppetlabs.com - 0.0.8
- Fix puppet site references 2013-05-12 Stephen Johnson stephen@puppetlabs.com - 0.0.9
- Add srv record support to client 2013-07-22 Stephen Johnson steve@thatbytes.co.uk - 0.0.14
- Added support of version 0.8.0 of Apache module 2013-07-22 Stephen Johnson steve@thatbytes.co.uk - 0.0.15
- Use puppetlabs inifile 2013-10-04 Stephen Johnson steve@thatbytes.co.uk - 0.0.16
- Identation fixes
- Also add puppetmaster-common to get round version issue
- Add spec tests for puppetmaster-common 2013-10-04 Stephen Johnson steve@thatbytes.co.uk - 0.0.17
- Fix for puppetmaster-common not being in redhat repo 2013-10-27 Stephen Johnson steve@thatbytes.co.uk - 0.0.18
- Add RedHat spec tests
- Add ServerSpec test
- Fix issues with external run type for agent
- Remove dependencies on MIT Gpg Server 2013-11-10 Stephen Johnson steve@thatbytes.co.uk - 0.0.19
- Support configuring storeconfigs on an external puppetdb server 2014-02-28 Stephen Johnson steve@thatbytes.co.uk - 0.0.20
- fix directory and file permissions
- add parameter for changing hiera_config value
- fix apache_custom_fragment template for apache2.4 2014-04-29 Stephen Johnson steve@thatbytes.co.uk - 0.0.21
- added puppet agent option "ordering"
- added puppet agent option "trusted_node_data"
- Beta Suse Support 2014-06-13 Stephen Johnson steve@thatbytes.co.uk - 0.0.22
- corrected the package name for FreeBSD
- Added listen parameter for puppet agent to listen for connections
- Added support for dns_alt_names
- Fix default encoding in config.ru
- Added reportserver parameter for puppet agent to send transaction 2014-06-25 Stephen Johnson steve@thatbytes.co.uk - 0.0.23
- Fixed mis quoting for a few variables
- Add initial support for directory environments 2014-09-05 Stephen Johnson steve@thatbytes.co.uk - 1.0.0
- Need double quotes to interpolate variable
- Improve SSL protocol and ciphersuite configuration (security)
- Delint
- use the locally scoped puppet_ssldir variable
- fix typo in README: s/evn/env/
- Add directory environment support
- remove apache custom fragment
- Add 'manual' puppet_run_style, to not manange the agent service.
- Ability to manage the digest_algorithm setting. 2014-10-10 Stephen Johnson steve@thatbytes.co.uk - 1.1.0
- Add new templatedir paramter to agent
- Add external_nodes and node_terminus 2014-12-09 Stephen Johnson steve@thatbytes.co.uk - 1.2.0
- move cron command to class parameter <g.chernyshev>
- Use double-quotes to allow variable expansion in environmentpath
- Allow passenger tempdir to be configurable
- Fix for future parse
- Fix sections settings for various configuration params
- templatedir is deprecated, so do not add by default
- Let Puppet deal with setting it's own permissions
- Added configtimeout setting to puppet::agent to allow override of this default setting
- Add new flag to make ssl cert generation optional 2014-12-31 Stephen Johnson steve@thatbytes.co.uk - 1.3.0
- missing @ in the variable
- Remove RackAutoDetect and RailsAutoDetest
- Add acceptance tests for redhat
- Add new metadata file for puppetforge 2014-12-31 Stephen Johnson steve@thatbytes.co.uk - 1.3.1
- Cleanup some lint items 2015-01-15 Stephen Johnson steve@thatbytes.co.uk - 1.4.0
- Add support for strict variables
- Add puppetdb_version parameter to master,storeconfigs & tests
- Add Verbose, noop and usecacheonfailure options to agents on puppet.conf
- Add syslogfacility to puppet agent options
- Add certname option to puppet agent
- Add preferred_serialization_format and msgpack support
- Add support for agent http_proxy_host and http_proxy_port options
- Aadd always_cache_features support
- Allow new cron specification
- Aadd the ability to install a package on the master
- Added option to passenger to add custom stuff on the config.ru file.
- Add support for specifying tuning parameters for Passenger
- Test future parser and re-enable puppet 4 testing
- Make the rspec test pass on 4.0
- Add strict variable testing for puppet 4.0.x
- Set Passenger SSL protocol to TLS1.2-only
- PCI-DSSv3 requirements
Dependencies
- puppetlabs/stdlib (>=3.0.0)
- puppetlabs/apt (>=1.1.0)
- puppetlabs/puppetdb (>=2.0.0)
- puppetlabs/apache (>=1.0.1)
- puppetlabs/inifile (>=1.0.0)