--- /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
+ }
+
+}