diff -r a2342f26c9de -r b0b56e0f8c7f dev/provisioning/modules/puppi/manifests/project.pp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dev/provisioning/modules/puppi/manifests/project.pp Fri Jan 15 15:35:00 2016 +0100 @@ -0,0 +1,100 @@ +# 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}"]; + } + +}