diff options
-rw-r--r-- | manifests/init.pp | 38 |
1 files changed, 21 insertions, 17 deletions
diff --git a/manifests/init.pp b/manifests/init.pp index 05707d7..1cef3e6 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -15,30 +15,34 @@ class ikiwiki { mode => 755, } - define instance() { + define instance($ensure = 'present') { file { "/etc/ikiwiki/$name.setup": - ensure => present, + ensure => $ensure, content => template('ikiwiki/ikiwiki.setup.erb'), owner => root, group => root, mode => 644, } - exec { "ikiwiki --setup /etc/ikiwiki/$name.setup": - user => gitosis, - refreshonly => true, - } - - exec { "/usr/local/sbin/ikiwiki-deploy $name": - unless => "/bin/sh -c [ -f '${apache_sites_folder}/${name}_src/index.mdw' ]", - } - - file { [ "${apache_sites_folder}/${name}_src" ]: - ensure => directory, - owner => gitosis, - group => gitosis, - recurse => true, - notify => Exec["ikiwiki --setup /etc/ikiwiki/$name.setup"], + case $ensure { + 'present': { + exec { "ikiwiki --setup /etc/ikiwiki/$name.setup": + user => gitosis, + refreshonly => true, + } + + exec { "/usr/local/sbin/ikiwiki-deploy $name": + unless => "/bin/sh -c [ -f '${apache_sites_folder}/${name}_src/index.mdw' ]", + } + + file { [ "${apache_sites_folder}/${name}_src" ]: + ensure => directory, + owner => gitosis, + group => gitosis, + recurse => true, + notify => Exec["ikiwiki --setup /etc/ikiwiki/$name.setup"], + } + } } } } |