78 lines
2.1 KiB
Puppet
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
|
|
}
|
|
|
|
}
|