From 166891e2811db4df1f512b92fd662751fb84ed2b Mon Sep 17 00:00:00 2001 From: "R.I.Pienaar" Date: Wed, 12 May 2010 16:35:46 +0100 Subject: update README with a sample --- README | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/README b/README index bfa262f..f69ce92 100644 --- a/README +++ b/README @@ -5,6 +5,55 @@ 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: + +Puppet modules on this server: + + -- Apache + -- MySQL + + +# 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": } +} + + KNOWN ISSUES: - In 0.24.8 you will see inintended notifies, if you build a file in a run, the next run will also see it as changed. This is due -- cgit v1.2.3