dev/provisioning/modules/puppi/manifests/init.pp
author ymh <ymh.work@gmail.com>
Fri, 15 Jan 2016 15:35:00 +0100
changeset 28 b0b56e0f8c7f
permissions -rwxr-xr-x
Add contributor edition - added viaf resolver - improve contributors list display - add update of document objects - propagate update to back office - update back office - add bo-client to back office - setup language initializer - add options mechanism - add language information in language list - add lexvo resolver service + api - add language and lexvo resolver to js app - correct env template - refresh bootstrap - download google font - add version information - update dev virtual machine to centos7 - add a readme + clean folders - add local .env file to start commands

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

}