From bb047f1665d63b84d4f18005c938dafc502bc1fd Mon Sep 17 00:00:00 2001 From: Micah Date: Tue, 24 May 2016 10:19:40 -0400 Subject: Squashed 'puppet/modules/sysctl/' content from commit 975852b git-subtree-dir: puppet/modules/sysctl git-subtree-split: 975852b7acc1125b4cd9d4d490b9abd8d31217e6 --- README | 20 ++++++++++++++++++++ manifests/config.pp | 18 ++++++++++++++++++ manifests/init.pp | 10 ++++++++++ 3 files changed, 48 insertions(+) create mode 100644 README create mode 100644 manifests/config.pp create mode 100644 manifests/init.pp diff --git a/README b/README new file mode 100644 index 00000000..a3980f70 --- /dev/null +++ b/README @@ -0,0 +1,20 @@ +sysctl module +------------- + +This puppet module handles the setting of variables in sysctl.conf, its +a simple module that utilizes the puppet augeas built-in type and the +sysctl binary. You must have the augeas ruby libraries installed to +use this type. + +You can set a value and a comment for that value using this module, +some examples: + +sysctl::config { "vm.mmap_min_addr": + value => 32768, + comment => "Never mmap into the first 32k of memory", +} + +sysctl::config { "fs.file-max": + value => 65536, + comment => "Maximum number of filehandles", +} diff --git a/manifests/config.pp b/manifests/config.pp new file mode 100644 index 00000000..79ddd295 --- /dev/null +++ b/manifests/config.pp @@ -0,0 +1,18 @@ +define sysctl::config ($value, $comment) { + + include sysctl + + augeas { "sysctl_${name}": + context => '/files/etc/sysctl.conf', + changes => [ "set ${name} ${value}", "insert #comment before ${name}", + "set #comment[last()] '${comment}'" ], + onlyif => "get ${name} != ${value}", + notify => Exec["sysctl_${name}"], + } + + exec { "sysctl_${name}": + command => '/sbin/sysctl -p', + subscribe => File['/etc/sysctl.conf'], + refreshonly => true, + } +} diff --git a/manifests/init.pp b/manifests/init.pp new file mode 100644 index 00000000..43d9299e --- /dev/null +++ b/manifests/init.pp @@ -0,0 +1,10 @@ +class sysctl { + + file { '/etc/sysctl.conf': + ensure => present, + mode => '0644', + owner => root, + group => root + } +} + -- cgit v1.2.3