diff -r a2342f26c9de -r b0b56e0f8c7f dev/provisioning/modules/puppi/manifests/info/readme.pp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dev/provisioning/modules/puppi/manifests/info/readme.pp Fri Jan 15 15:35:00 2016 +0100 @@ -0,0 +1,69 @@ +# Define puppi::info::readme +# +# This is a puppi info plugin that provides a Readme text which can be +# used to show local info on the managed server and eventually run custom commands. +# +# puppi::info::readme { "myapp": +# description => "Guidelines for myapp setup", +# readme => "myapp/readme.txt" , +# run => "myapp -V", +# } +# +define puppi::info::readme ( + $description = '', + $readme = '', + $autoreadme = 'no', + $run = '', + $source_module = 'undefined', + $templatefile = 'puppi/info/readme.erb' ) { + + require puppi + require puppi::params + + $bool_autoreadme = any2bool($autoreadme) + + file { "${puppi::params::infodir}/${name}": + ensure => present, + mode => '0750', + owner => $puppi::params::configfile_owner, + group => $puppi::params::configfile_group, + require => Class['puppi'], + content => template($templatefile), + tag => 'puppi_info', + } + + $readme_source = $readme ? { + '' => 'puppet:///modules/puppi/info/readme/readme', + default => $readme, + } + + file { "${puppi::params::readmedir}/${name}": + ensure => present, + mode => '0644', + owner => $puppi::params::configfile_owner, + group => $puppi::params::configfile_group, + require => File['puppi_readmedir'], + source => $readme_source, + tag => 'puppi_info', + } + + if $bool_autoreadme == true { + file { "${puppi::params::readmedir}/${name}-custom": + ensure => present, + mode => '0644', + owner => $puppi::params::configfile_owner, + group => $puppi::params::configfile_group, + require => File['puppi_readmedir'], + source => [ + "puppet:///modules/${source_module}/puppi/info/readme/readme-${::hostname}" , + "puppet:///modules/${source_module}/puppi/info/readme/readme-${::role}" , + "puppet:///modules/${source_module}/puppi/info/readme/readme-default" , + "puppet:///modules/puppi/info/readme/readme-${::hostname}" , + "puppet:///modules/puppi/info/readme/readme-${::role}" , + 'puppet:///modules/puppi/info/readme/readme-default' + ], + tag => 'puppi_info', + } + } + +}