phpservermon/puphpet/puppet/modules/puppi/manifests/init.pp

78 lines
2.1 KiB
Puppet

# = 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
}
}