--- /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',
+ }
+ }
+
+}