The puppetserver module allows you to easily manage Puppetserver with Puppet.
class { 'puppetserver::repository': } ->
class { 'puppetserver': }
class { 'puppetserver::repository': } ->
class { 'puppetserver':
config => {
'java_args' => {
'xms' => '4g',
'xmx' => '6g',
'maxpermsize' => '512m',
'tmpdir' => '/tmp',
},
'webserver' => {
'ssl-port' => '18140',
},
},
}
The main class to install a Puppet Server.
Install the necessary gems for hiera-eyaml inside the Puppet Server.
Simple usage:
class { '::puppetserver::hiera::eyaml':
require => Class['puppetserver::install'],
}
Specify eyaml method:
class { '::puppetserver::hiera::eyaml':
method => 'gpg',
require => Class['puppetserver::install'],
}
A setting stored in the JAVA_ARGS
variable. Values are managed individually (you don't need to provide all of them);
Example:
puppetserver::config::java_arg { '-Xms':
value => '4g',
}
Special note on the tmpdir java_arg. The puppet-server installation requires a tmp dir with a mode of 1777 and a tmp folder which is NOT mounted with the noexec parameter. Otherwise the installation will fail with this strange error message:
Caused by: org.jruby.embed.EvalFailedException: (Error) Cannot determine basic system flavour
For more details, see here.
A Puppetserver configuration entry.
Example:
puppetserver::config::puppetserver { 'webserver.conf/webserver/ssl-port':
value => '18140',
}
A Puppetserver bootstrap.cfg entry.
Example:
puppetserver::config::bootstrap { 'puppetlabs.services.ca.certificate-authority-disabled-service/certificate-authority-disabled-service':
ensure => present,
}
This plugin allows to manage gems in the Puppetserver.
Example:
gem { 'hiera-eyaml':
ensure => present,
provider => puppetserver_gem,
}
Please report bugs and feature request using GitHub issue tracker.
For pull requests, it is very much appreciated to check your Puppet manifest with puppet-lint to follow the recommended Puppet style guidelines from the Puppet Labs style guide.
This module was originally authored by Camptocamp. Camptocamp stopped using this module and preferred that Voxpupuli take ownership of the module for future improvement and maintenance. Existing pull requests and issues were transferred over, please fork and continue to contribute here instead of Camptocamp.
Previously: https://github.com/camptocamp/puppet-puppetserver