Try to retire the site module: move sysctl to base
[mirror/dsa-puppet.git] / modules / base / manifests / sysctl.pp
diff --git a/modules/base/manifests/sysctl.pp b/modules/base/manifests/sysctl.pp
new file mode 100644 (file)
index 0000000..3cee048
--- /dev/null
@@ -0,0 +1,21 @@
+define base::sysctl ($key='', $value='', $target='Linux', $ensure = present) {
+       include base::procps
+
+       case $ensure {
+               present: { if ($key == "" or $value == "") { fail ( "Need to provide key and value" )} }
+               absent:  {}
+               default: { fail ( "Unknown ensure value: '$ensure'" ) }
+       }
+
+       if $::kernel == $target {
+               file {
+                       "/etc/sysctl.d/${name}.conf":
+                               ensure  => $ensure,
+                               owner   => root,
+                               group   => root,
+                               mode    => '0644',
+                               content => "${key} = ${value}\n",
+                               notify  => Service['procps']
+               }
+       }
+}