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