Puppet Class: puppi

Inherits:
puppi::params
Defined in:
manifests/init.pp

Overview

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

Parameters:

  • version (Any) (defaults to: params_lookup( 'version' ))
  • install_dependencies (Any) (defaults to: params_lookup( 'install_dependencies' ))
  • template (Any) (defaults to: params_lookup( 'template' ))
  • helpers_class (Any) (defaults to: params_lookup( 'helpers_class' ))
  • logs_retention_days (Any) (defaults to: params_lookup( 'logs_retention_days' ))
  • extra_class (Any) (defaults to: params_lookup( 'extra_class' ))


36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# File 'manifests/init.pp', line 36

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
  }

}