58 lines
2.0 KiB
ObjectPascal
58 lines
2.0 KiB
ObjectPascal
|
# Define puppi::todo
|
||
|
#
|
||
|
# This define creates a basic todo file that simply contains informations
|
||
|
# on how to complete tasks that for time or other reasons could not be
|
||
|
# entirely automated by Puppet.
|
||
|
# The basic idea is to have a quick way to document and check if are completed
|
||
|
# some specific operations that are required to bring a new, puppettized system
|
||
|
# to full operative status.
|
||
|
# This can be useful for cases hard to automate with Puppet:
|
||
|
# - First setup and import of a database needed by an application (module)
|
||
|
# - Installation of a legacy application that involves user interaction
|
||
|
# - Run of any kind of setup/configuration/init command that can't be automated
|
||
|
# It can also be used as a quick reminder on things done by hand and not
|
||
|
# Puppettized for lack of time or skill.
|
||
|
#
|
||
|
# Use the command puppi todo to show the todo present in your node.
|
||
|
# The exit status can be:
|
||
|
# 0 - OK - The task to do has been accomplished because the command specified
|
||
|
# as check_command returns true (exit status 0)
|
||
|
# 1- WARNING - User hasn't specified a check_command to verify if the todo as
|
||
|
# been accomplished, so it can't be notified if the todo has been done
|
||
|
# 2- ERROR - The task to do has not been accomplished becuase the command
|
||
|
# specified as check_command returns an error (exit status different from 0)
|
||
|
#
|
||
|
# == Usage:
|
||
|
# puppi::todo { "cacti_db_install":
|
||
|
# description => "Manual cacti db installation" ,
|
||
|
# }
|
||
|
#
|
||
|
define puppi::todo (
|
||
|
$description = '',
|
||
|
$notes = '',
|
||
|
$check_command = '',
|
||
|
$run = '' ) {
|
||
|
|
||
|
require puppi
|
||
|
require puppi::params
|
||
|
|
||
|
$array_run = is_array($run) ? {
|
||
|
false => $run ? {
|
||
|
'' => [],
|
||
|
default => split($run, ','),
|
||
|
},
|
||
|
default => $run,
|
||
|
}
|
||
|
|
||
|
file { "${puppi::params::tododir}/${name}":
|
||
|
ensure => present,
|
||
|
mode => '0750',
|
||
|
owner => $puppi::params::configfile_owner,
|
||
|
group => $puppi::params::configfile_group,
|
||
|
require => Class['puppi'],
|
||
|
content => template('puppi/todo.erb'),
|
||
|
tag => 'puppi_todo',
|
||
|
}
|
||
|
|
||
|
}
|