summaryrefslogtreecommitdiff
path: root/README.markdown
blob: aca7b721554bfb72281c2e2041152262d4b74552 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
What is it?
===========

A Puppet module that can construct files from fragments.

Please see the comments in the various .pp files for details
as well as posts on my blog at www.devco.net

Released under the Apache 2.0 licence

Usage:
======

If you wanted a /etc/motd file that listed all the major modules
on the machine.  And that would be maintained automatically even
if you just remove the include lines for other modules you could
use code like below, a sample /etc/motd would be:

<pre>
Puppet modules on this server:

    -- Apache
    -- MySQL
</pre>


<pre>
# class to setup basic motd, include on all nodes
class motd {
   concat{"/etc/motd":
      owner => root,
      group => root,
      mode  => 644
   }

   concat::fragment{"motd_header":
      content => "\nPuppet modules on this server:\n\n",
      order   => 1,
   }
}

# used by other modules to register themselves in the motd
define motd::register($content="", $order=10) {
   if $content == "" {
      $body = $name
   } else {
      $body = $content
   }

   concat::fragment{"motd_fragment_$name":
      target  => "/etc/motd",
      content => "    -- $body\n"
   }
}

# a sample apache module
class apache {
   include apache::install, apache::config, apache::service

   motd::register{"Apache": }
}
</pre>

Contact:
========
You can contact me on rip@devco.net or follow my blog at www.devco.net I am also on twitter as ripienaar