]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - manifests/site.pp
bartok gets ferm
[dsa-puppet.git] / manifests / site.pp
index f3a77fb116149e7710881d66b91310c6cdce4f16..6f50f2486f9b2459d30645680dab2716f6aaa317 100644 (file)
@@ -2,14 +2,92 @@ Package {
     require => File["/etc/apt/apt.conf.d/local-recommends"]
 }
 
+File {
+    owner   => root,
+    group   => root,
+    mode    => 444,
+    ensure  => file,
+}
+
+Exec {
+    path => "/usr/bin:/usr/sbin:/bin:/sbin"
+}
+
 node default {
+    $localinfo = yamlinfo('*', "/etc/puppet/modules/debian-org/misc/local.yaml")
+    $nodeinfo  = nodeinfo($fqdn, "/etc/puppet/modules/debian-org/misc/local.yaml")
+    $hoster    = whohosts($nodeinfo, "/etc/puppet/modules/debian-org/misc/hoster.yaml")
+    $keyinfo   = allnodeinfo("sshRSAHostKey", "ipHostNumber")
+    notice("hoster for ${fqdn} is ${hoster}")
+
+    $mxinfo   = allnodeinfo("mXRecord")
+
     include munin-node
-    include samhain
+    include sudo
+    include ssh
     include debian-org
-    include exim
+    include monit
+    include apt-keys
+    include ntp
 
-    if $raidcontroller == "true" {
-        include debian-proliant
+    include motd
+    include samhain
+
+    case $smartarraycontroller {
+        "true":    { include debian-proliant }
+    }
+    case $kvmdomain {
+        "true":    { package { acpid: ensure => installed } }
+    }
+
+    case $mta {
+        "exim4":   {
+             case extractnodeinfo($nodeinfo, 'heavy_exim') {
+                  true:    { include exim::mx }
+                  default: { include exim }
+             }
+        }
+    }
+
+    case extractnodeinfo($nodeinfo, 'muninmaster') {
+        true: { include munin-node::master }
     }
-}
 
+    case extractnodeinfo($nodeinfo, 'nagiosmaster') {
+        true:    { include nagios::server }
+        default: { include nagios::client }
+    }
+
+    case $apache2 {
+         "true":  {
+              case extractnodeinfo($nodeinfo, 'apache2_security_mirror') {
+                     true:    { include apache2::security_mirror }
+                     default: { include apache2 }
+              }
+         }
+    }
+
+    case extractnodeinfo($nodeinfo, 'buildd') {
+         true:  { include buildd }
+    }
+
+    case $hostname {
+        klecker,ravel,senfl,orff: { include named::secondary }
+        geo1,geo2,geo3:           { include named::geodns }
+        bartok:                   { include named::recursor }
+    }
+
+    case $hostname {
+        logtest01,geo1,geo2,geo3,bartok: { include ferm }
+    }
+
+    case $brokenhosts {
+        "true":    { include hosts }
+    }
+    case $hoster {
+        "ubcece", "darmstadt", "ftcollins", "grnet":  { include resolv }
+    }
+    case $portforwarder_user_exists {
+        "true":    { include portforwarder }
+    }
+}