]> gitweb.fluxo.info Git - puppet-common.git/commitdiff
first steps with the common module
authordavid <david@f03ff2f1-f02d-0410-970d-b9634babeaa1>
Mon, 25 Jun 2007 07:31:47 +0000 (07:31 +0000)
committerdavid <david@f03ff2f1-f02d-0410-970d-b9634babeaa1>
Mon, 25 Jun 2007 07:31:47 +0000 (07:31 +0000)
git-svn-id: http://club.black.co.at:82/svn/manifests/trunk@53 f03ff2f1-f02d-0410-970d-b9634babeaa1

manifests/defines/line.pp [new file with mode: 0644]
manifests/init.pp

diff --git a/manifests/defines/line.pp b/manifests/defines/line.pp
new file mode 100644 (file)
index 0000000..2d2e886
--- /dev/null
@@ -0,0 +1,27 @@
+# common/manifests/defines/line.pp -- a trivial puppet lined
+# Copyright (C) 2007 David Schmitt <david@schmitt.edv-bus.at>
+# See LICENSE for the full license granted to you.
+
+# Usage:
+# line { description:
+#      file => "filename",
+#      line => "content",
+#      ensure => {absent,present}
+# }
+define line($file, $line, $ensure) {
+       case $ensure {
+               default : { err ( "unknown ensure value $ensure" ) }
+               present: {
+                       exec { "/bin/echo '$line' >> '$file'":
+                               unless => "/bin/grep -Fx '$line' '$file'"
+                       }
+               }
+               absent: {
+                       exec { "/usr/bin/perl -ni -e 'print unless /^\\Q$line\\E$/' '$file'":
+                               onlyif => "/bin/grep -Fx '$line' '$file'"
+                       }
+               }
+       }
+}
+
+
index 0a572994652111c0170f4d9c8a20f526b232774e..90dae0ea6aaa088a6f7db677e338974a6414f5d5 100644 (file)
@@ -2,11 +2,16 @@
 # Copyright (C) 2007 David Schmitt <david@schmitt.edv-bus.at>
 # See LICENSE for the full license granted to you.
 
-# Module programmers can use /var/lib/puppet/modules/$modulename to 
-# save module-local data, e.g. for constructing config files
 file {
+       # Module programmers can use /var/lib/puppet/modules/$modulename to save
+       # module-local data, e.g. for constructing config files
        "/var/lib/puppet/modules":
                ensure => directory,
                mode => 0755, owner => root, group => root;
+       # prepare directories to drop various puppet enhancements
+       [ "$rubysitedir/puppet", "$rubysitedir/facter" ]:
+               ensure => directory, 
+               mode => 0755, owner => root, group => root;
 }
 
+import "defines/*.pp"