Try to retire the site module: move sysctl to base
authorPeter Palfrader <peter@palfrader.org>
Sat, 7 Sep 2019 17:15:46 +0000 (19:15 +0200)
committerPeter Palfrader <peter@palfrader.org>
Sat, 7 Sep 2019 17:15:46 +0000 (19:15 +0200)
modules/base/manifests/procps.pp [new file with mode: 0644]
modules/base/manifests/sysctl.pp [new file with mode: 0644]
modules/debian_org/manifests/init.pp
modules/debian_org/manifests/radvd.pp
modules/huge_mem/manifests/init.pp
modules/site/manifests/init.pp
modules/site/manifests/sysctl.pp [deleted file]

diff --git a/modules/base/manifests/procps.pp b/modules/base/manifests/procps.pp
new file mode 100644 (file)
index 0000000..748c76d
--- /dev/null
@@ -0,0 +1,7 @@
+# This class defines the procps service which is notified by base::sysctl
+class base::procps {
+  service { 'procps':
+    hasstatus => false,
+    status    => '/bin/true',
+  }
+}
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']
+               }
+       }
+}
index 6e0ea31..02c8c7a 100644 (file)
@@ -240,14 +240,14 @@ class debian_org {
 
        # set mmap_min_addr to 4096 to mitigate
        # Linux NULL-pointer dereference exploits
-       site::sysctl { 'mmap_min_addr':
+       base::sysctl { 'mmap_min_addr':
                ensure => absent
        }
-       site::sysctl { 'perf_event_paranoid':
+       base::sysctl { 'perf_event_paranoid':
                key   => 'kernel.perf_event_paranoid',
                value => '2',
        }
-       site::sysctl { 'puppet-vfs_cache_pressure':
+       base::sysctl { 'puppet-vfs_cache_pressure':
                key   => 'vm.vfs_cache_pressure',
                value => '10',
        }
@@ -338,7 +338,7 @@ class debian_org {
 
 
        # https://www.decadent.org.uk/ben/blog/bpf-security-issues-in-debian.html
-       site::sysctl { 'unprivileged_bpf_disabled':
+       base::sysctl { 'unprivileged_bpf_disabled':
                key   => 'kernel.unprivileged_bpf_disabled',
                value => '1',
        }
index 29be0ed..d783b70 100644 (file)
@@ -1,9 +1,9 @@
 class debian_org::radvd {
-       site::sysctl { 'dsa-accept-ra-default':
+       base::sysctl { 'dsa-accept-ra-default':
                key   => 'net.ipv6.conf.default.accept_ra',
                value => 0,
        }
-       site::sysctl { 'dsa-accept-ra-all':
+       base::sysctl { 'dsa-accept-ra-all':
                key   => 'net.ipv6.conf.all.accept_ra',
                value => 0,
        }
index 2cbfc18..9383034 100644 (file)
@@ -3,11 +3,11 @@ class huge_mem {
        # so filtering needs to happen here.
 
        if $::hostname in [grnet-node01,grnet-node02] {
-               site::sysctl { 'puppet-vm_dirty_bytes':
+               base::sysctl { 'puppet-vm_dirty_bytes':
                        key   => 'vm.dirty_bytes',
                        value => '1073741824',
                }
-               site::sysctl { 'puppet-vm_dirty_background_bytes':
+               base::sysctl { 'puppet-vm_dirty_background_bytes':
                        key   => 'vm.dirty_background_bytes',
                        value => '268435456',
                }
index 2f9dc69..dc9b947 100644 (file)
@@ -4,10 +4,4 @@ class site {
        $nodeinfo  = nodeinfo($::fqdn)
        $allnodeinfo = allnodeinfo('sshRSAHostKey ipHostNumber', 'purpose mXRecord physicalHost purpose')
         $roles = hiera('roles')
-
-       service { 'procps':
-               hasstatus   => false,
-               status      => '/bin/true',
-       }
-
 }
diff --git a/modules/site/manifests/sysctl.pp b/modules/site/manifests/sysctl.pp
deleted file mode 100644 (file)
index b9e3434..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-define site::sysctl ($key='', $value='', $target='Linux', $ensure = present) {
-       include site
-       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']
-               }
-       }
-}