28
|
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 |
} |