add debian.org to manifest and remove a bunch of stuff it depends on
[mirror/dsa-puppet.git] / modules / debian-org / manifests / init.pp
index 262479a..e1871fa 100644 (file)
@@ -17,36 +17,42 @@ define set_alternatives($linkto) {
         }
 }
 
+define linux_module ($ensure) {
+    case $ensure {
+        present: {
+            exec { "append_module_${name}":
+                command => "echo '${name}' >> /etc/modules",
+                unless => "grep -q -F -x '${name}' /etc/modules",
+            }
+        }
+        absent: {
+            exec { "remove_module_${name}":
+                command => "sed -i -e'/^${name}\$/d' /etc/modules",
+                onlyif => "grep -q -F -x '${name}' /etc/modules",
+            }
+        }
+        default: {
+             err("invalid ensure value ${ensure}")
+         }
+    }
+}
+
 
 class debian-org {
     package {
         "apt-utils": ensure => installed;
         "bash-completion": ensure => installed;
-        "bzip2": ensure => installed;
-        "cron": ensure => installed;
-        "csh": ensure => installed;
+        "debian.org": ensure => installed;
         "dnsutils": ensure => installed;
         "dsa-munin-plugins": ensure => installed;
-        "ed": ensure => installed;
-        "gnupg": ensure => installed;
         "klogd": ensure => purged;
-        "ksh": ensure => installed;
         "less": ensure => installed;
         "libfilesystem-ruby1.8": ensure => installed;
-        "libpam-pwdfile": ensure => installed;
-        "locales-all": ensure => installed;
         "mtr-tiny": ensure => installed;
         "nload": ensure => installed;
         "pciutils": ensure => installed;
-        "pdksh": ensure => installed;
         "rsyslog": ensure => purged;
         "sysklogd": ensure => purged;
-        "syslog-ng": ensure => installed;
-        "tcsh": ensure => installed;
-        "userdir-ldap": ensure => installed;
-        "vim": ensure => installed;
-        "zsh": ensure => installed;
-        "logrotate": ensure => installed;
     }
     file {
         "/etc/apt/preferences":
@@ -89,7 +95,7 @@ class debian-org {
             ;
         "/etc/pam.d/common-session":
             require => Package["libpam-pwdfile"],
-            source => "puppet:///modules/debian-org/pam.common-session",
+            content => template("debian-org/pam.common-session.erb"),
             ;
         "/etc/rc.local":
             mode   => 0755,
@@ -97,17 +103,6 @@ class debian-org {
             notify => Exec["rc.local start"],
             ;
     }
-    case $hostname {
-        handel: {
-            file {
-                "/etc/puppet/lib":
-                    ensure  => directory,
-                    source => "puppet:///files/etc/puppet/lib",
-                    recurse => true,
-                    notify  => Exec["puppetmaster restart"];
-             }
-         }
-    }
    
     # set mmap_min_addr to 4096 to mitigate
     # Linux NULL-pointer dereference exploits
@@ -148,9 +143,16 @@ class debian-proliant inherits debian-org {
     package {
         "hpacucli": ensure => installed;
         "hp-health": ensure => installed;
-        "cpqarrayd": ensure => installed;
         "arrayprobe": ensure => installed;
     }
+    case getfromhash($nodeinfo, 'squeeze') {
+        true: {}
+        default: {
+            package {
+                "cpqarrayd": ensure => installed;
+            }
+        }
+    }
     case $debarchitecture {
         "amd64": {
             package { "lib32gcc1": ensure => installed; }
@@ -162,6 +164,19 @@ class debian-proliant inherits debian-org {
             notify  => Exec["apt-get update"];
     }
 }
+
+class debian-radvd inherits debian-org {
+    sysctl {
+        "dsa-accept-ra-default" :
+            key         => "net.ipv6.conf.default.accept_ra",
+            value       => 0,
+    }
+    sysctl {
+        "dsa-accept-ra-all" :
+            key         => "net.ipv6.conf.all.accept_ra",
+            value       => 0,
+    }
+}
 # vim:set et:
 # vim:set sts=4 ts=4:
 # vim:set shiftwidth=4: