class sysctl { # root exploit fix, see http://wiki.debian.org/mmap_min_addr # TODO: remove in the future or use a sysctl puppet module file { "/etc/sysctl.d/mmap_min_addr.conf": owner => "root", group => "root", mode => 0644, ensure => present, content => "vm.mmap_min_addr = 4096\n", } # see http://www.linux-vserver.org/Frequently_Asked_Questions file { "/etc/sysctl.d/net.ipv4.conf.all.promote_secondaries.conf": owner => "root", group => "root", mode => 0644, ensure => present, content => "net.ipv4.conf.all.promote_secondaries = 1\n", } exec { "/etc/init.d/procps restart": subscribe => File["/etc/sysctl.d/mmap_min_addr.conf", "/etc/sysctl.d/net.ipv4.conf.all.promote_secondaries.conf"], refreshonly => true, } $printk_levels = '3 4 1 3' file { "/etc/sysctl.d/kernel.printk.conf": owner => "root", group => "root", mode => 0644, ensure => present, content => "kernel.printk = ${printk_levels}\n", } exec { "/bin/echo '${printk_levels}' > /proc/sys/kernel/printk": subscribe => File["/etc/sysctl.d/kernel.printk.conf"], refreshonly => true, } } class sysctl::appliance($kernel_panic = hiera('nodo::sysctl::appliance', '20')) { file { "/etc/sysctl.d/kernel.panic.conf": owner => "root", group => "root", mode => 0644, ensure => present, content => "kernel.panic = ${kernel_panic}\n", } exec { "/bin/echo '${kernel_panic}' > /proc/sys/kernel/panic": subscribe => File["/etc/sysctl.d/kernel.panic.conf"], refreshonly => true, } }