28
|
1 |
# = Class: puppi |
|
2 |
# |
|
3 |
# This is Puppi NextGen |
|
4 |
# Includes both first generation of Puppi and the |
|
5 |
# NextGen developments and modules integration |
|
6 |
# |
|
7 |
# == Parameters |
|
8 |
# |
|
9 |
# [*version*] |
|
10 |
# Define the Puppi version to use: |
|
11 |
# 1 - First generation of Puppi, compatible with old modules |
|
12 |
# 2 - NextGen version. Intended to work with NextGen modules |
|
13 |
# Default: 1 , for the moment |
|
14 |
# |
|
15 |
# [*install_dependencies*] |
|
16 |
# Set to false if you want to manage the sofware puppi needs |
|
17 |
# with your local modules. |
|
18 |
# |
|
19 |
# [*template*] |
|
20 |
# Sets the path to a custom template for /etc/puppi/puppi.conf |
|
21 |
# |
|
22 |
# [*helpers_class*] |
|
23 |
# Name of the class there default helpers are defined |
|
24 |
# (Used on in Puppi 2) |
|
25 |
# |
|
26 |
# [*logs_retention_days*] |
|
27 |
# Number of days for retenton of puppi logs. Default 30 |
|
28 |
# This option creates a script in /etc/cron.daily that purges |
|
29 |
# all the old logs. Set to false or to 0 to remove the purge script. |
|
30 |
# |
|
31 |
# [*extra_class*] |
|
32 |
# Name of the class where extra puppi resources are added |
|
33 |
# Here, by default are placed general system commands for |
|
34 |
# puppi info, check and log |
|
35 |
# |
|
36 |
class puppi ( |
|
37 |
$version = params_lookup( 'version' ), |
|
38 |
$install_dependencies = params_lookup( 'install_dependencies' ), |
|
39 |
$template = params_lookup( 'template' ), |
|
40 |
$helpers_class = params_lookup( 'helpers_class' ), |
|
41 |
$logs_retention_days = params_lookup( 'logs_retention_days' ), |
|
42 |
$extra_class = params_lookup( 'extra_class' ) |
|
43 |
) inherits puppi::params { |
|
44 |
|
|
45 |
$bool_install_dependencies=any2bool($install_dependencies) |
|
46 |
|
|
47 |
# Manage Version |
|
48 |
$puppi_ensure = $puppi::version ? { |
|
49 |
'1' => '/usr/sbin/puppi.one', |
|
50 |
'2' => '/usr/local/bin/puppi', |
|
51 |
} |
|
52 |
|
|
53 |
file { 'puppi.link': |
|
54 |
ensure => $puppi_ensure, |
|
55 |
path => '/usr/sbin/puppi', |
|
56 |
} |
|
57 |
|
|
58 |
# Puppi version one is always installed |
|
59 |
include puppi::one |
|
60 |
|
|
61 |
# Puppi 2 gem (still experimental) is installed only when forced |
|
62 |
if $puppi::version == '2' { |
|
63 |
include puppi::two |
|
64 |
} |
|
65 |
|
|
66 |
# Create Puppi common dirs and scripts |
|
67 |
include puppi::skel |
|
68 |
|
|
69 |
# Include extra resources |
|
70 |
include $puppi::extra_class |
|
71 |
|
|
72 |
# Include some packages needed by Puppi |
|
73 |
if $bool_install_dependencies { |
|
74 |
include puppi::dependencies |
|
75 |
} |
|
76 |
|
|
77 |
} |