Version information
This version is compatible with:
- Puppet Enterprise 2017.2.x, 2017.1.x, 2016.5.x, 2016.4.x
- Puppet >=4.0.0 <5.0.0
- , , ,
Start using this module
Add this module to your Puppetfile:
mod 'abstractit-puppet', '2.4.1'
Learn more about managing modules with a PuppetfileDocumentation
#abstractit-puppet
####Table of Contents
- Overview
- Module Description - What the module does and why it is useful
- Setup - The basics of getting started with puppet
- Usage - Configuration options and additional functionality
- Reference - An under-the-hood peek at what the module is doing and how
- Limitations - OS compatibility, etc.
- Development - Guide for contributing to the module
- Contributors
- Release Notes/Etc
##Overview
Manage puppet master, agents, modules using the same principals as you manage your other services.
##Module Description
This module is very opinionated. It makes a few assumptions on how to manage a puppet master and it's agents. These opinions are what I consider the best way to do things based on my experiences using puppet. Those opinions have also been heavily influenced by the likes of Gary Larizza, Zack Smith, Craig Dunn and Adrien Thebo.
If you would like this module to behave differently I am happy to accept pull requests. Please maintain backwards compatibility wherever prudent.
Right now that that's out of the way here's how it works. Out of the box it manages the pupetlabs repo, the puppet agent, the versions installed and it's environment. It can also optionally manage some facts using the facter.d structure (I use these in my hiera setup). On a puppet master it manages the puppet master, passenger, a few dependencies, their versions, hiera and some basic config. It can also optionally manage a module environment (or environments) and a hiera repo with r10k and puppetdb.
I believe Puppet needs to be managed just as explicitly as any other service in your environment. It may not be the best way to do it but it's how I do it and it works for me. This module is how I manage puppet for my clients so it gets extensive testing in production and in my vagrant based development environments. If it works for you, awesome! If not, let me know or send me a pull request.
##Setup
###What puppet affects
- Directories:
- Puppet 3.x
- /etc/facter
- /etc/facter/facts.d
- /etc/puppet/hiera_eyaml_keys
- Puppet 4.x
- /etc/puppetlabs/code/environments/**
- /etc/puppetlabs/code/hieradata/**
- /etc/puppetlabs/code/hiera_eyaml_keys
- Puppet 3.x
- Files:
dynamically updated files are displayed like this
- Debian
/etc/default/puppet
- RedHat
/etc/sysconfig/puppet
- Puppet 3.x
/etc/hiera.yaml
/etc/puppet/puppet.conf
/etc/puppet/hiera.yaml
/etc/r10k.yaml
- /etc/puppet/hiera_eyaml_keys/private_key.pkcs7.pem
- /etc/puppet/hiera_eyaml_keys/public_key.pkcs7.pem
- Puppet 4.x
/etc/puppetlabs/code/hiera.yaml
/etc/puppetlabs/puppet/puppet.conf
/etc/r10k.yaml
- /etc/puppetlabs/code/hiera_eyaml_keys/private_key.pkcs7.pem
- /etc/puppetlabs/code/hiera_eyaml_keys/public_key.pkcs7.pem
- Debian
- Cron Jobs
- puppet_r10k
puppet::profile::r10k
- puppet clean reports
puppet::profile::puppetdb
- run_puppet_agent
puppet::agent
- puppet_r10k
- Logs being rotated
- Packages:
- r10k
puppet::profile::r10k
- puppetdb
puppet::profile::puppetdb
- Puppet 4.x
- puppet-agent
- puppetserver
- Puppet 3.x
- Debian:
- facter
- hiera
- hiera-eyaml
puppet::master::install
- puppet
- puppet-common
- puppetlabs-release
- puppetmaster-common
puppet::master::install::deps
- RedHat:
- facter
- hiera
- puppet
- puppetlabs-release
- MASTER CURRENTLY UNSUPPORTED UNDER Puppet 3
- Debian:
- r10k
- puppet and it's config files, hiera config, apache vhost for puppetmaster.
###Setup Requirements
This module currently only works completely on Ubuntu Precise and Trusty. Support for RedHat and CentOS 5,6 and 7 has been added for the new Collections and Puppet 4.x. The new puppet-agent and puppetserver are supported on Ubuntu, Centos and RedHat but a puppet master running under Passenger is only supported on Ubuntu.
I will be adding support for other operating systems when I get a chance. It also only configures puppet 3.6.x and 4.x If you need support for previous versions let me know.
Forge Module dependencies
- puppetlabs-apt
- puppetlabs-concat (master only)
- puppetlabs-stdlib
- puppetlabs-inifile
- puppetlabs-apache (master only when using a passenger setup)
- puppetlabs-postgresql (when using the puppetdb profile)
- puppetlabs-puppetdb (when using the puppetdb profile)
- puppet-puppetboard (when using the puppetboard profile)
- zack-r10k (when using the r10k profile)
- puppetlabs-puppetserver_gem (when managing the hiera-eyaml and/or deep_merge gem on puppet 4.x)
###Beginning with puppet
The best way to begin is using the example profiles puppet::profile::agent and puppet::profile::master These profiles will setup agent and master nodes. I also have profiles for setting up R10K, puppetdb and puppetboard.
##Usage
All interactions with puppet in done via the base classes puppet
and puppet::master
or the profiles
I generally include the agent profile on all nodes and use hiera to setup the data.
I have included some basic examples for setting up common settings on the agent or master.
###Basic setup of an agent
include '::puppet'
or include '::puppet::profile::agent'
Setup custom facts on an agent
class { '::puppet::profile::agent':
custom_facts => {
'data_centre' => 'office',
'role' => 'webserver',
}
}
Set a ca_server for your environment
class { '::puppet::profile::agent':
ca_server => 'puppetca.domain.com'
}
Enable cfacter
class { '::puppet::profile::agent':
cfacter => true
}
Use packages for repository management
class { '::puppet::profile::agent':
manage_repo_method => 'package'
}
Disable repository management
class { '::puppet::profile::agent':
manage_repos => false
}
Set allinone and puppet collection use on your infrastructure
class { '::puppet::profile::agent':
allinone => true,
collection => 'PS1'
}
Set environment for the agent
class { '::puppet::profile::agent':
environment => 'testenv'
}
Set use the new msgpack serialization format on an agent
class { '::puppet::profile::agent':
preferred_serialization_format => 'msgpack'
}
###Basic setup of a puppet master
include '::puppet'
include '::puppet::master'
or include '::puppet::profile::agent' include '::puppet::profile::master' include '::puppet::profile::puppetdb' include '::puppet::profile::puppetboard' include '::puppet::profile::r10k'
to setup a master with all the features
Set basemodulepath for the master
class { '::puppet::profile::master':
basemodulepath => '/opt/puppet_code/modules:/etc/puppet/modules'
}
Set ram for new puppet server on the master
class { '::puppet::profile::master':
java_ram => '1532'
}
Set ram for new puppet server on the master
class { '::puppet::profile::master':
java_ram => '1532M'
}
Setup basic autosigning
class { '::puppet::profile::master':
autosign_method => 'file',
autosign_domains => ['*.sub1.domain.com','*.sub2.domain.com'],
}
##Reference
###Classes and Defined Types
In the near future I will be moving these docs into each class into a format suitable for to puppet-strings.
####[Public] Class: puppet
#####Description
The puppet
class is responsible for validating some of our parameters, and instantiating the puppet::facts, puppet::repo, pupppet::install, puppet::config, and puppet::agent manifests.
#####Parameters
-
allinone: (string Default:
false
)Whether to use the new collections
-
agent_cron_hour: (string Default:
undef
)The hour to run the agent cron. Valid values are
0-23
-
agent_cron_min: (string/array Default:
two_times_an_hour
)This param accepts any value accepted by the cron native type, as well as two special options:
two_times_an_hour
, andfour_times_an_hour
. These specials use fqdn_rand to generate a random minute array on the selected interval. This should distribute the load more evenly on your puppetmasters. -
agent_version: (string Default:
installed
)Declares the version of the puppet-agent all-in-one package to install.
-
ca_server: (string Default:
undef
)Server to use as the CA server for all agents.
-
cfacter: (bool Default:
false
)Whether or not to use cfacter instead of facter.
-
collection: (string Default:
undef
)Declares the collection repository to use.
-
custom_facts: (hash Default:
undef
)A hash of custom facts to setup using the ::puppet::facts define.
-
enabled: (bool Default:
true
)Used to determine if the puppet agent should be running
-
enable_devel_repo: (bool Default:
false
)This param will replace
devel_repo
in 2.x. It conveys to puppet::repo::apt whether or not to add the devel apt repo source. Whendevel_repo
is false,enable_devel_repo
is consulted for enablement. This givesdevel_repo
backwards compatibility at the cost of some confusion if you setdevel_repo
to true, andenable_devel_repo
to false. -
enable_repo: (bool Default
true
)if
manage_repos
is true, this determines whether or not the puppetlabs' repository should be present. This is not consulted in any way ifmanage_repos
is false -
enable_mechanism: (string Default:
service
)A toggle which permits the option of running puppet as a service, or as a cron job.
-
environment: (string Default:
production
)Sets the puppet environment
-
facter_version: (string Default:
installed
)Declares the version of facter to install.
-
hiera_version: (string Default:
installed
)Declares the version of hiera to install.
-
logdest: (string Default:
undef
)File to use a log file for agent.
-
manage_etc_facter (bool Default:
true
)Whether or not this module should manage the
/etc/facter
directory -
manage_etc_facter_facts_d (bool Default:
true
)Whether or not this module should manage the
/etc/facter/facts.d
directory -
manage_repos: (bool Default
true
)Whether or not we pay any attention to managing repositories. This is managed by only including puppet::repo subclass when true. The individual repo subclasses also will perform no action if included with this param set to false.
-
manage_repo_method: (string Default
files
)Sets the method for managing the repo files
-
preferred_serialization_format: (string Default:
pson
)The serialization format to use for communication with the puppet server.communicate with. WARNING: Setting this to msgpack is experimental! Please enable with care.
-
puppet_server: (string Default:
puppet
)The hostname or fqdn of the puppet server that the agent should communicate with.
-
puppet_version: (string Default:
installed
)The version of puppet to install
-
reports: (bool)
Whether or not to send reports
-
runinterval: (string Default:
30m
)Sets the runinterval in
puppet.conf
-
show_diff: (bool Default:
false
)Whether to log and report a contextual diff when files are being replaced.
-
splay: (bool Default
false
)Sets the splay parameter in puppet.conf
-
splaylimit: (string Default: undef)
Sets the splaylimit parameter in puppet.conf
-
structured_facts: (bool Default:
false
)Sets whether or not to enable structured_facts by setting the stringify_facts variable in puppet.conf.
It is important to note that this boolean operates in reverse. Setting stringify_facts to false is required to permit structured facts. This is why this parameter does not directly correlate with the configuration key.
-
use_srv_records: (bool Default: 'false')
Enables the use of srv_records for Puppetmaster/CA selection
-
srv_domain: (string Default: undef)
Sets the srv_domain to use when use_srv_domains is set to true
-
pluginsource: (string Default: undef)
Sets the pluginsource value in puppet.conf. Useful when using SRV records
and agents on versions less than 4.0 (See https://tickets.puppetlabs.com/browse/PUP-1035)
-
pluginfactsource: (string Default: undef)
Sets the pluginfactsource value in puppet.conf. Useful when using SRV
records and agents on versions less than 4.0 (See https://tickets.puppetlabs.com/browse/PUP-1035)
####[Private] Class: puppet::agent
#####Description
The puppet::agent
class is responsible for management of the of the agent service, and agent cronjob. depending on the
#####Parameters
- None
####[Private] Class: puppet::config
#####Description
The puppet::config
class is responsible for altering the configuration of $confdir/puppet.conf
. This is done via params which call ini_file resources to alter the related settings.
#####Parameters
- None
####[Public] Defined Type: puppet::fact #####Description
This defined type provides a mechanism to lay down fact files in /etc/facter/facts.d/
The title of the declared resource will dictate the name of the factname.yaml
file laid down, as well as the keyname, and thus, the fact name.
#####Parameters
-
ensure: (string Default:
present
)Sets the ensure parameter's value on the file resource laid down.
-
value: (string No Default)
Sets the value of the specified custom fact.
####[Private] Class: puppet::facts #####Description
The puppet::facts
class is responsible for ensuring that /etc/facter
and /etc/facter/facts.d
are present on the local system. It is additionally responsible for populating /etc/facter/facts.d/local.yaml
with the Key/Value pairs declared in puppet::facts::custom_facts
#####Parameters
-
custom_facts: (hash Default:
undef
)This is a hash of custom facts. For each element in the hash, the key will be the fact name, and the value will, unsurprisingly, be the fact's value.
####[Private] Class: puppet::install
#####Description
the puppet::install
class is responsible for the puppet agent, hiera, and facter packages.
#####Parameters
- None
####[Public] Class: puppet::master
#####Description
The puppet::master
class is responsible for performing some input validation, and subsequently configuring a puppetmaster. This is done internally via the puppet::master::config, puppet::master::hiera, pupppet::master::install, and puppet::master::passenger manifests.
-
Puppetdb may be configured via the puppet::profile::puppetdb class
-
r10k may be configured via the puppet::profile::r10k class
#####Parameters
-
autosign: (bool Default:
false
)Whether or not to enable autosign.
-
autosign_domains: (array Default:
empty
)Array of domains to use for basic autosigning
-
autosign_file: (string Default:
$confdir/autosign.conf
)File to use for basic autosigning
-
autosign_method: (string Default:
file
)Method to use for autosign The default 'file' will use the $confdir/autosign.conf file to determine which certs to sign. This file is empty by default so autosigning will be effectively off 'on' will set the autosign variable to true and thus all certs will be signed. 'off' will set the autosign variable to false disabling autosign completely.
-
basemodulepath: (absolute path Default Puppet 4:
${codedir}/environments
Default Puppet 3:/etc/puppet/environments
)The base directory path to have environments checked out into.
-
deep_merge_version: (string Default:
installed
)The version of the deep_merge package to install.
-
env_owner: (string Default:
puppet
)The user which should own hieradata and r10k repos
-
environmentpath: (absolute path Default Puppet 4:
${codedir}/modules:${confdir}/modules
Default Puppet 3:${confdir}/modules:/usr/share/puppet/modules
)The base directory path to have environments checked out into.
-
eyaml_keys: (bool Default:
false
)Toggle whether or not to deploy eyaml keys
-
future_parser: (bool Default:
false
) Toggle to dictate whether or not to enable the future parser -
hiera_backends: (hash Default Puppet 3:
{'yaml' => { 'datadir' => '/etc/puppet/hiera/%{environment}',} }
Default Puppet 4:{'yaml' => { 'datadir' => '$codedir/hieradata/%{environment}',} }
)The backends to configure hiera to query.
-
hiera_eyaml_version: (string Default:
installed
)The version of the hiera-eyaml package to install. It is important to note that the hiera-eyaml package will be installed via gem
-
hiera_hierarchy: (array Default:
['node/%{::clientcert}', 'env/%{::environment}', 'global']
)The hierarchy to configure hiera to use
-
hiera_merge_behavior: (string Default:
undef
)The type of merge behaviour that should be used by hiera. Defaults to not being set.
-
hieradata_path: (absolute path Default Puppet 3:
/etc/puppet/hiera
Default Puppet 4:$codedir/hieradata
)The location to configure hiera to look for the hierarchy. This also impacts the puppet::master::modules module's deployment of your r10k hiera repo.
-
java_ram: (string Default:
2g
)Set the ram to use for the new puppetserver
-
manage_deep_merge_package: (bool Default:
false
)Whether the deep_merge gem should be installed.
-
manage_hiera_eyaml_package: (bool Default:
true
)Whether the hiera-eyaml gem should be installed.
-
passenger_max_pool_size: (string Default:
12
)Adjusts the apache::mod::passenger configuration to configure the specified max pool size.
-
passenger_max_requests: (string Default:
0
)Adjusts the apache::mod::passenger configuration to configure the specified max requests.
-
passenger_pool_idle_time: (string Default:
1500
)Adjusts the apache::mod::passenger configuration to configure the specified pool idle time
-
passenger_stat_throttle_rate: (string Default:
120
)Adjusts the apache::mod::passenger configuration to configure the specified stat throttle rate
-
puppet_fqdn: (string Default:
$::fqdn
)Sets the namevar of the apache::vhost resource declared. It is also used to derive the
ssl_cert
andssl_key
parameters to the apache::vhost resource. -
puppet_server: (string Default:
$::fqdn
)Changing this does not appear to do anything.
-
puppet_version: (string Default:
installed
)Specifies the version of the puppetmaster package to install
-
server_type: (string Default Puppet 4:
puppetserver
Default Puppet 4:passenger
)Specifies the type of server to use
puppetserver
is always used on Puppet 4 -
module_path: DEPRECATED (string Default:
undef
)If this is set, it will be used to populate the basemodulepath parameter in
/etc/puppet/puppet.conf
. This does not impact environment.conf, which should live in your r10k environment repo. -
pre_module_path: DEPRECATED (string Default:
undef
)If set, this is prepended to the modulepath parameter if it is set and to a static modulepath list if modulepath is unspecified. A colon separator will be appended to the end of this if needed
-
r10k_version: DEPRECATED (string Default:
undef
)Specifies the version of r10k to install. It is important to note that the r10k package will be installed via gem
####[Private] Class: puppet::master::config
#####Description
The puppet::master::config
class is responsible for managing the master-specific configuration settings of puppet.conf
#####Parameters
- None
####[Private] Class: puppet::master::hiera #####Description
The puppet::master::hiera
class is responsible for configuring hiera, optionally deploying eyaml encryption keys, and setting the ownership of the hieradata path.
#####Parameters
- None
####[Private] Class: puppet::master::install
#####Description
The puppet::master::install
class is responsible for installing the packages required to configure a puppetmaster.
#####Parameters
- None
####[Private] Class: puppet::master::passenger
#####Description
The puppet::master::passenger
class is responsible for instantiating the apache class, creating the apache vhost, and configuring passenger.
On Trusty, We need to be able to set SSLCARevocationCheck in apache 2.4+ to enable revocation checks for client certs. According to the Official puppetlabs docs on passenger: Apache 2.4 introduces the SSLCARevocationCheck directive and sets it to none which effectively disables CRL checking. If you are using Apache 2.4+ you must specify 'SSLCARevocationCheck chain' to actually use the CRL.
#####Parameters
- None
####[Private] Class: puppet::repo
#####Description
This class is responsible for including the proper package repository subclass. This is done based on the osfamily fact.
- None
####[Private] Class: puppet::repo::apt
#####Description
This class is responsible for optionally managing the presence of the puppetlabs apt repositories. It consults the $::puppet::manage_repos param to decide if it should perform any action. If it should, it references $::puppet::enable_repo
#####Parameters
- None
####[Private] Class: puppet::repo::yum
#####Description
This class is responsible for optionally managing the presence of the puppetlabs yum repositories. It consults the $::puppet::manage_repos param to decide if it should perform any action. If it should, it references $::puppet::enable_repo
#####Parameters
- None
##Limitations
It only supports an agent setup on RedHat and CentOS at this stage. Passenger is only supported on Ubuntu
##Development
Development and testing team consists of @rendhalver and @wolfspyre. The module gets extensive testing in Abstract IT and it's clients environments. Pull requests are welcome.
##Contributors
https://github.com/abstractitptyltd/abstractit-puppet/graphs/contributors
##Release Notes/Etc
Check the CHANGELOG.md for release notes and bug fixes. It's a bit sparse right now and only contains the public releases.
##2019-06-12 - Pete Brown rendhalver@users.noreply.github.com 2.4.1 ###Summary Feature: Remove tests and requirements for puppet 3 (PR #156) Feature: Use the new puppet GPG key (#164) Feature: added ca_port for puppet agent configuration (#160) Feature: Fix to make module compatible with puppetlabs-apt 2.0.0 (PR #153)
####Bugfixes Set correct parameters when upgrading to v4 (#159)
##2017-07-02 - Pete Brown rendhalver@users.noreply.github.com 2.4.0 ###Summary Feature: Add more parameters to R10K profile (PR #141) Feature: Add parameter to determine whether to manage puppetdb database (PR #144) Feature: Add support for show_diff parameter (PR #145) Feature: Add support for puppet 4.10.1 (PR #150) Feature: Change to puppet/r10k module (PR #131) Add license file (PR #155)
####Bugfixes Fix #142 Move server setting to main (PR #143) Notify agent service when package is upgraded (PR #149)
##2016-10-10 - Pete Brown pete@abstractit.com.au 2.3.0 ###Summary Numerous bugfixes. Feature: Configure agents using SRV records @aaron-miller Feature: Added parameter manage_dbserver to profiles/master @chrisowensboston
####Bugfixes Fix puppet group in puppet 4 @seanscottking Update Puppetlabs apt keys @rdvh Fix puppetserver should connect to non SSL puppetdb via http not https @divansantana Update metadata.json to allow use of zack-r10k version 3.2.0 @rpkish Define relationship between sysconfig and service in agent @toepi Deploy puppetdb ssl certs when ssl is enabled @divansantana Fix r10k manage_ruby_dependency error @divansantana Fix could not find init script in some cases @divansantana Support for strict_variables mode @tequeter define relationship between vhost an package puppetmaster-passenger @toepi distinguish between Debian and Ubuntu for puppetmaster-passenger setup @toepi Add support for splay and splaylimit parameters in puppet.conf @paulseward Fix syntax error on readme @jordigg in manifests/repo.pp added include ::puppet, to fix unknown variable puppet::manage_repos @chrisowensboston in manifests/init.pp added "+ 0" after calls to fqdn_rand, to force conversion to integer. @chrisowensboston in spec/classes/puppet_agent_spec.rb, Changed tests for interpolated minute values to accommodate different versions of fqdn_rand using different entropy sources. Changed host name from "testy" to "testy2" because "testy" happened to give a 0 using fqdn_rand(14) In .fixtures.yml, changed puppetlabs/concat version requirement from '1.2.0' to '>= 1.2.2 < 2.0.0', to fix "uknown variable ::is_pe" bug @chrisowensboston in Gemfile, forced json_pure to be < 2.0.1 when ruby < 2.0 @chrisowensboston in .travis.yml, added a line for rvm 2.2.0, puppet gem 4.7.0, facter gem 2.4.6, hiera gem 3.2.1 @chrisowensboston
##2016-02-11 - Pete Brown pete@abstractit.com.au 2.2.1 ###Summary
####Bugfixes Fix agent cron so it is quiet on sucess. @johnny-die-tulpe Fix master profile so it works when puppetdb is on remote node. @divansantana
##2016-01-29 - Pete Brown pete@abstractit.com.au 2.2.0 ###Summary
Upgrade puppetdb and postgresql modules to latest versions to get support for PuppetDB 3.x Add support for puppetlabs-apt 2.1.0+ Move puppetmaster config setup from puppetdb profile into master profile. Make hiera-eyaml package optional. @tequeter New define puppet::setting for adding any setting to puppet.conf Add support for hiera merge_behaviour. @jaxim
####NOTE This module is compatible with the 1.8 series of apt and 2.1.0 and above 2.0.0 does not work due to the missing compatibility layer addded in 2.1.0. This is due to the postgresql module still using apt 1.8.
####Bugfixes Added support for new versions of above mentioned modules. manage_virtualenv variable wasn't being used in puppetboard profile. @gwarf preferred_serialization_format wasn't being reverted if it wasn't set to msgpack. Thanks to @topei for spotting this. Move management of facter.d directory out of puppet::facts so it gets setup if the class is not used. Thanks to @topei for spotting this. Fix hiera-eyaml install on Puppet 4. Thanks @jaxim Fix for r10k purgedirs error as that parameter is now deprecated in upstream module. Thanks @divansantana Fixed yum gpg key for yum repos. @djjudas21 Fixed repo management to only use one method to manage the repository. Thanks @djjudas21 Fixed agent start/restart on Ubuntu. @TravellingGuy
##2015-07-14 - Pete Brown pete@abstractit.com.au 2.1.2 ###Summary
Port variable was not being used for puppetboard profile Add variable to set hostname for puppetdb puppetboard profile
####Bugfixes
##2015-07-13 - Pete Brown pete@abstractit.com.au 2.1.1 ###Summary
Adding variables to set ports for puppetdb in puppetdb and puppetboard profiles
####Bugfixes
##2015-07-08 - Pete Brown pete@abstractit.com.au 2.1.0 ###Summary
This version adds basic autosigning functionaliy which ignores the current autosign parameter.
Autosigning is now managed with the autosign_method, autosign_file and autosign_domains variables.
Given that autosigning didn't enabled autosign in a production environment it won't break any of your current production environments with default setings.
Add option for setting a ca_server. Add option to set preferred_serialization_format for testing msgpack
####Bugfixes
##2015-06-10 - Pete Brown pete@abstractit.com.au 2.0.2 ###Summary Spec test cleanup. Fixing deployment condition for Travis. Added all vars to r10k profile Added r10k_update_env var to r10k profile for setting environment to update Reducting the tested os versions as most tests are duplicated 10 times which is excessive and time consuming
####Bugfixes hiera_eyaml vars were missing from puppet::master::profile
##2015-06-09 - Pete Brown pete@abstractit.com.au 2.0.1 ###Summary Bugfix release
####Bugfixes Add puppet_server_type ro puppetdb profile so we can specify the type of puppet server we run
##2015-06-09 - Pete Brown pete@abstractit.com.au 2.0.0 ###Summary
This version introduces some backwards incompatible changes with 1.8.x.
I have dropped Ruby 1.8 from spec tests due to inconsistent results. The module should still work on older platforms but I can't guarantee it will.
####Backwards-incompatible changes
#####puppet::master
class
module_path
- This paramater has been removed usebasemodulepath
insteadpre_module_path
- This paramater has been removed usebasemodulepath
instead
#####puppet::master::modules
class
- This class has been removed in favour of the
puppet::profile::r10k
class
#####puppet::master::puppetdb
class
- This class has been removed in favour of the
puppet::profile::puppetdb
class
#####puppet
class
devel_repo
- this paramater has been deprecated in favour of the more aptly namedenable_devel_repo
paramater #20
#####puppet::profile::agent
class
devel_repo
This paramater removed useenable_devel_repo
insteadpuppet_reports
This paramater has been renamedreports
#####puppet::profile::master
class
- This class no longer configures modules or puppetdb please use r10k and puppetdb profiles for those.
r10k_version
This paramater removedmodule_path
This paramater has been removed usebasemodulepath
insteadpre_module_path
This paramater has been removed usebasemodulepath
insteadpuppet_server
This paramater removedmodules
This paramater removedextra_env_repos
This paramater removedhiera_repo
This paramater removedpuppet_env_repo
This paramater removedr10k_env_basedir
This paramater removedr10k_minutes
This paramater removedr10k_purgedirs
This paramater removedr10k_update
This paramater removedpuppetdb
This paramater removedpuppetdb_version
This paramater removednode_purge_ttl
This paramater removednode_ttl
This paramater removedpuppetdb_listen_address
This paramater removedpuppetdb_server
This paramater removedpuppetdb_ssl_listen_address
This paramater removedreport_ttl
This paramater removedreports
This paramater removedpuppetdb_use_ssl
This paramater removed
####Features Add initial support for Debian 6 and 7. Add support for Puppet 4.x and new collections. #42 #41 Add support for the new puppetserver on puppet 3.x and 4.x. #27 Add support for RedHat and CentOS under Puppet 4.x. #38 Add support for using cfacter. Add support for setting environment_timeout. #39 Add support for managing hiera-eyaml keys. #9 Add support for setting logdest for agents. Add support for setting START variable in sysconfigdir/puppet. #32 Add variables to configure the puppet reports clean cron. #15 Add puppetboard profile. #40 Added initial puppet-strings docs for main classes and profiles. Add manage_hiera_config variable to allow people manage hiera config themselves. Add validation tests for manifests, ruby and templates. Fixed a few skipped rspec tests.
####Bugfixes Use reports variable to set reports in puppet conf
####Known bugs
- puppet::master::passenger doesn't work properly under RedHat or CentOS #38
##2015-02-18 - Pete Brown pete@abstractit.com.au 1.8.2 ###Summary Bugfix release
####Bugfixes Fix descriptions in yum repos
####Known bugs
- RedHat support is only available for an agent at this stage
##2015-02-18 - Pete Brown pete@abstractit.com.au 1.8.1 ###Summary Bugfix release
####Bugfixes fix links in metadata.json @rendhalver Code cleanup
##2015-02-18 - Pete Brown pete@abstractit.com.au 1.8.0 ###Summary Bugfix and new feature release Adding ability to run agent via cron. @wolfspyre Initial support for running the agent on osfamily == RedHat @rendhalver
####Bugfixes Spec tests are actually running now! (Well most of them anyhow) @rendhalver "Fix" POODLE attack by upgrading to new release of puppetlabs-apache @rendhalver Documentation fixes and updates. @wolfspyre
2014-09-18 - Pete Brown pete@abstractit.com.au 1.7.6
Summary
Bugfix release
####Bugfixes
- remove symlink in fixtures. @rendhalver
2014-08-21 - Release 1.7.5
- set PassengerRoot properly on Ubuntu trusty. @rendhalver
2014-07-26 - Release 1.7.4
###Summary Added spec tests courtesy of @wolfspyre Variable validitation and type checking courtesy of @wolfspyre Documentation improvements @wolfspyre Added operatingsystem_support and requirements to metadata.json @rendhalver
###Bugfixes
- none this time
2014-07-21 - Pete Brown pete@abstractit.com.au 1.7.3
- [fix] fixed dependency for inifile to use the right version
2014-07-08 - Pete Brown pete@abstractit.com.au 1.7.2
- Added option for setting runinterval on agent (default 30m)
- [fix] add missing -p flag to r10k cron
2014-07-08 - Pete Brown pete@abstractit.com.au 1.7.1
- [fix] environment to r10k cron
- [fix] fixed dependencies
- Added option to disable purging r10k directories
2014-07-07 - Pete Brown pete@abstractit.com.au 1.7.0
- [fix] notify apache::service when hiera.yaml changes
- [fix] fix name of hiera_backends in master profile
- Adding support for enabling Structured Facts support from facter 2.1.0
- Support for adding structured facts via facter.d forthcomming.
- Renamed a few variables to make their purpose more obvious.
2014-06-18 - Pete Brown pete@abstractit.com.au - 1.6.8
- switch extra_env_repos to optional
- new hash for hiera_backends
2014-06-18 - Pete Brown pete@abstractit.com.au - 1.6.7
- First Public Release
Dependencies
- puppetlabs/apache (>=1.4.0 <2.0.0)
- puppetlabs/stdlib (>=4.6.0 <5.0.0)
- puppetlabs/apt (>=2.0.0 <3.0.0)
- puppetlabs/inifile (>=1.2.0 <2.0.0)
- puppetlabs/puppetdb (>=5.0.0 <6.0.0)
- puppet/r10k (>=4.0.2 < 7.0.0)
- puppet/puppetboard (>=2.7.0 <3.0.0)
- puppetlabs/puppetserver_gem (>=0.1.0 <2.0.0)