|
1 # Define puppi::info::readme |
|
2 # |
|
3 # This is a puppi info plugin that provides a Readme text which can be |
|
4 # used to show local info on the managed server and eventually run custom commands. |
|
5 # |
|
6 # puppi::info::readme { "myapp": |
|
7 # description => "Guidelines for myapp setup", |
|
8 # readme => "myapp/readme.txt" , |
|
9 # run => "myapp -V", |
|
10 # } |
|
11 # |
|
12 define puppi::info::readme ( |
|
13 $description = '', |
|
14 $readme = '', |
|
15 $autoreadme = 'no', |
|
16 $run = '', |
|
17 $source_module = 'undefined', |
|
18 $templatefile = 'puppi/info/readme.erb' ) { |
|
19 |
|
20 require puppi |
|
21 require puppi::params |
|
22 |
|
23 $bool_autoreadme = any2bool($autoreadme) |
|
24 |
|
25 file { "${puppi::params::infodir}/${name}": |
|
26 ensure => present, |
|
27 mode => '0750', |
|
28 owner => $puppi::params::configfile_owner, |
|
29 group => $puppi::params::configfile_group, |
|
30 require => Class['puppi'], |
|
31 content => template($templatefile), |
|
32 tag => 'puppi_info', |
|
33 } |
|
34 |
|
35 $readme_source = $readme ? { |
|
36 '' => 'puppet:///modules/puppi/info/readme/readme', |
|
37 default => $readme, |
|
38 } |
|
39 |
|
40 file { "${puppi::params::readmedir}/${name}": |
|
41 ensure => present, |
|
42 mode => '0644', |
|
43 owner => $puppi::params::configfile_owner, |
|
44 group => $puppi::params::configfile_group, |
|
45 require => File['puppi_readmedir'], |
|
46 source => $readme_source, |
|
47 tag => 'puppi_info', |
|
48 } |
|
49 |
|
50 if $bool_autoreadme == true { |
|
51 file { "${puppi::params::readmedir}/${name}-custom": |
|
52 ensure => present, |
|
53 mode => '0644', |
|
54 owner => $puppi::params::configfile_owner, |
|
55 group => $puppi::params::configfile_group, |
|
56 require => File['puppi_readmedir'], |
|
57 source => [ |
|
58 "puppet:///modules/${source_module}/puppi/info/readme/readme-${::hostname}" , |
|
59 "puppet:///modules/${source_module}/puppi/info/readme/readme-${::role}" , |
|
60 "puppet:///modules/${source_module}/puppi/info/readme/readme-default" , |
|
61 "puppet:///modules/puppi/info/readme/readme-${::hostname}" , |
|
62 "puppet:///modules/puppi/info/readme/readme-${::role}" , |
|
63 'puppet:///modules/puppi/info/readme/readme-default' |
|
64 ], |
|
65 tag => 'puppi_info', |
|
66 } |
|
67 } |
|
68 |
|
69 } |