/puppet-puppetserver

Puppet module for puppetserver

Primary LanguageRubyApache License 2.0Apache-2.0

Puppetserver

Puppet Forge Version Puppet Forge Downloads Build Status Puppet Forge Endorsement Gemnasium Donated by Camptocamp

Overview

The puppetserver module allows you to easily manage Puppetserver with Puppet.

Usage

Simple usage

class { 'puppetserver::repository': } ->
class { 'puppetserver': }

Tuning configuration parameters

class { 'puppetserver::repository': } ->
class { 'puppetserver':
  config => {
    'java_args'     => {
      'xms'         => '4g',
      'xmx'         => '6g',
      'maxpermsize' => '512m',
      'tmpdir'      => '/tmp',
    },

    'webserver'  => {
      'ssl-port' => '18140',
    },
  },
}

Classes

puppetserver

The main class to install a Puppet Server.

puppetserver::hiera::eyaml

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'],
}

Definitions

puppetserver::config::java_arg

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.

puppetserver::config::puppetserver

A Puppetserver configuration entry.

Example:

puppetserver::config::puppetserver { 'webserver.conf/webserver/ssl-port':
  value   => '18140',
}

puppetserver::config::bootstrap

A Puppetserver bootstrap.cfg entry.

Example:

puppetserver::config::bootstrap { 'puppetlabs.services.ca.certificate-authority-disabled-service/certificate-authority-disabled-service':
  ensure => present,
}

Providers

puppetserver_gem

This plugin allows to manage gems in the Puppetserver.

Example:

gem { 'hiera-eyaml':
  ensure   => present,
  provider => puppetserver_gem,
}

Contributing

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.

Transfer Notice

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