diff -r a2342f26c9de -r b0b56e0f8c7f dev/provisioning/modules/puppi/manifests/init.pp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dev/provisioning/modules/puppi/manifests/init.pp Fri Jan 15 15:35:00 2016 +0100 @@ -0,0 +1,77 @@ +# = Class: puppi +# +# This is Puppi NextGen +# Includes both first generation of Puppi and the +# NextGen developments and modules integration +# +# == Parameters +# +# [*version*] +# Define the Puppi version to use: +# 1 - First generation of Puppi, compatible with old modules +# 2 - NextGen version. Intended to work with NextGen modules +# Default: 1 , for the moment +# +# [*install_dependencies*] +# Set to false if you want to manage the sofware puppi needs +# with your local modules. +# +# [*template*] +# Sets the path to a custom template for /etc/puppi/puppi.conf +# +# [*helpers_class*] +# Name of the class there default helpers are defined +# (Used on in Puppi 2) +# +# [*logs_retention_days*] +# Number of days for retenton of puppi logs. Default 30 +# This option creates a script in /etc/cron.daily that purges +# all the old logs. Set to false or to 0 to remove the purge script. +# +# [*extra_class*] +# Name of the class where extra puppi resources are added +# Here, by default are placed general system commands for +# puppi info, check and log +# +class puppi ( + $version = params_lookup( 'version' ), + $install_dependencies = params_lookup( 'install_dependencies' ), + $template = params_lookup( 'template' ), + $helpers_class = params_lookup( 'helpers_class' ), + $logs_retention_days = params_lookup( 'logs_retention_days' ), + $extra_class = params_lookup( 'extra_class' ) + ) inherits puppi::params { + + $bool_install_dependencies=any2bool($install_dependencies) + + # Manage Version + $puppi_ensure = $puppi::version ? { + '1' => '/usr/sbin/puppi.one', + '2' => '/usr/local/bin/puppi', + } + + file { 'puppi.link': + ensure => $puppi_ensure, + path => '/usr/sbin/puppi', + } + + # Puppi version one is always installed + include puppi::one + + # Puppi 2 gem (still experimental) is installed only when forced + if $puppi::version == '2' { + include puppi::two + } + + # Create Puppi common dirs and scripts + include puppi::skel + + # Include extra resources + include $puppi::extra_class + + # Include some packages needed by Puppi + if $bool_install_dependencies { + include puppi::dependencies + } + +}