101 lines
3.0 KiB
Puppet
101 lines
3.0 KiB
Puppet
# Define puppi::project
|
|
#
|
|
# This define creates and configures a Puppi project
|
|
# You must use different puppi::deploy and puppi::rollback defines
|
|
# to to build up the commands list
|
|
#
|
|
define puppi::project (
|
|
$enable = true ) {
|
|
|
|
require puppi::params
|
|
|
|
$ensure = any2bool($enable) ? {
|
|
false => 'absent',
|
|
default => 'directory',
|
|
}
|
|
|
|
$ensurefile = bool2ensure($enable)
|
|
|
|
# Create Project subdirs
|
|
file {
|
|
"${puppi::params::projectsdir}/${name}":
|
|
ensure => $ensure,
|
|
mode => '0755',
|
|
owner => $puppi::params::configfile_owner,
|
|
group => $puppi::params::configfile_group,
|
|
force => true;
|
|
|
|
"${puppi::params::projectsdir}/${name}/check":
|
|
ensure => $ensure,
|
|
mode => '0755',
|
|
owner => $puppi::params::configfile_owner,
|
|
group => $puppi::params::configfile_group,
|
|
force => true,
|
|
recurse => true,
|
|
purge => true,
|
|
require => File["${puppi::params::projectsdir}/${name}"];
|
|
|
|
"${puppi::params::projectsdir}/${name}/rollback":
|
|
ensure => $ensure,
|
|
mode => '0755',
|
|
owner => $puppi::params::configfile_owner,
|
|
group => $puppi::params::configfile_group,
|
|
force => true,
|
|
recurse => true,
|
|
purge => true,
|
|
require => File["${puppi::params::projectsdir}/${name}"];
|
|
|
|
"${puppi::params::projectsdir}/${name}/deploy":
|
|
ensure => $ensure,
|
|
mode => '0755',
|
|
owner => $puppi::params::configfile_owner,
|
|
group => $puppi::params::configfile_group,
|
|
force => true,
|
|
recurse => true,
|
|
purge => true,
|
|
require => File["${puppi::params::projectsdir}/${name}"];
|
|
|
|
"${puppi::params::projectsdir}/${name}/initialize":
|
|
ensure => $ensure,
|
|
mode => '0755',
|
|
owner => $puppi::params::configfile_owner,
|
|
group => $puppi::params::configfile_group,
|
|
force => true,
|
|
recurse => true,
|
|
purge => true,
|
|
require => File["${puppi::params::projectsdir}/${name}"];
|
|
|
|
"${puppi::params::projectsdir}/${name}/configure":
|
|
ensure => $ensure,
|
|
mode => '0755',
|
|
owner => $puppi::params::configfile_owner,
|
|
group => $puppi::params::configfile_group,
|
|
force => true,
|
|
recurse => true,
|
|
purge => true,
|
|
require => File["${puppi::params::projectsdir}/${name}"];
|
|
|
|
"${puppi::params::projectsdir}/${name}/report":
|
|
ensure => $ensure,
|
|
mode => '0755',
|
|
owner => $puppi::params::configfile_owner,
|
|
group => $puppi::params::configfile_group,
|
|
force => true,
|
|
recurse => true,
|
|
purge => true,
|
|
require => File["${puppi::params::projectsdir}/${name}"];
|
|
}
|
|
|
|
# Create Project configuration file
|
|
file {
|
|
"${puppi::params::projectsdir}/${name}/config":
|
|
ensure => $ensurefile,
|
|
content => template('puppi/project/config.erb'),
|
|
mode => '0644',
|
|
owner => $puppi::params::configfile_owner,
|
|
group => $puppi::params::configfile_group,
|
|
require => File["${puppi::params::projectsdir}/${name}"];
|
|
}
|
|
|
|
}
|