]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - modules/exim/manifests/init.pp
this should virtually work
[dsa-puppet.git] / modules / exim / manifests / init.pp
index 2233da945c951ddca165bdf3e0201105fc422773..858527909dc16ff7f79be6a33b13cbaf563eadb1 100644 (file)
@@ -1,4 +1,13 @@
 class exim {
+    activate_munin_check {
+            "ps_exim4": script => "ps_";
+            "exim_mailqueue":;
+            "exim_mailstats":;
+            "postfix_mailqueue":  ensure => absent;
+            "postfix_mailstats":  ensure => absent;
+            "postfix_mailvolume": ensure => absent;
+    }
+
 
     package { exim4-daemon-heavy: ensure => installed }
 
@@ -10,18 +19,44 @@ class exim {
           mode    => 755,
           purge   => true
         ;
+        "/etc/exim4/Git":
+          ensure  => directory,
+          purge   => true,
+          force   => true,
+          recurse => true,
+          source  => "puppet:///files/empty/"
+        ;
+        "/etc/exim4/conf.d":
+          ensure  => directory,
+          purge   => true,
+          force   => true,
+          recurse => true,
+          source  => "puppet:///files/empty/"
+        ;
         "/etc/exim4/ssl":
           ensure  => directory,
           owner   => root,
           group   => Debian-exim,
           mode    => 750,
+          require => Package["exim4-daemon-heavy"],
           purge   => true
         ;
+        "/etc/mailname":
+          content => template("exim/mailname.erb"),
+        ;
         "/etc/exim4/exim4.conf":
-          source  => [ "puppet:///exim/per-host/$fqdn/exim4.conf",
-                       "puppet:///exim/common/exim4.conf" ],
+          content => template("exim/eximconf.erb"),
           require => Package["exim4-daemon-heavy"],
           notify  => Exec["exim4 reload"]
+        ;
+        "/etc/exim4/manualroute":
+          require => Package["exim4-daemon-heavy"],
+          content => template("exim/manualroute.erb")
+          ;
+        "/etc/exim4/host_blacklist":
+          require => Package["exim4-daemon-heavy"],
+          source  => [ "puppet:///exim/per-host/$fqdn/host_blacklist",
+                       "puppet:///exim/common/host_blacklist" ]
           ;
         "/etc/exim4/blacklist":
           require => Package["exim4-daemon-heavy"],
@@ -45,8 +80,7 @@ class exim {
           ;
         "/etc/exim4/locals":
           require => Package["exim4-daemon-heavy"],
-          source  => [ "puppet:///exim/per-host/$fqdn/locals",
-                       "puppet:///exim/common/locals" ]
+          content => template("exim/locals.erb")
           ;
         "/etc/exim4/localusers":
           require => Package["exim4-daemon-heavy"],
@@ -58,11 +92,6 @@ class exim {
           source  => [ "puppet:///exim/per-host/$fqdn/rbllist",
                        "puppet:///exim/common/rbllist" ]
           ;
-        "/etc/exim4/rcpthosts":
-          require => Package["exim4-daemon-heavy"],
-          source  => [ "puppet:///exim/per-host/$fqdn/rcpthosts",
-                       "puppet:///exim/common/rcpthosts" ]
-          ;
         "/etc/exim4/rhsbllist":
           require => Package["exim4-daemon-heavy"],
           source  => [ "puppet:///exim/per-host/$fqdn/rhsbllist",
@@ -70,8 +99,7 @@ class exim {
           ;
         "/etc/exim4/virtualdomains":
           require => Package["exim4-daemon-heavy"],
-          source  => [ "puppet:///exim/per-host/$fqdn/virtualdomains",
-                       "puppet:///exim/common/virtualdomains" ]
+          content => template("exim/virtualdomains.erb")
           ;
         "/etc/exim4/whitelist":
           require => Package["exim4-daemon-heavy"],
@@ -88,23 +116,39 @@ class exim {
           source  => [ "puppet:///exim/per-host/$fqdn/logrotate-exim4-paniclog",
                        "puppet:///exim/common/logrotate-exim4-paniclog" ]
           ;
-        "/etc/exim4/local-auto.conf":
-          require => Package["exim4-daemon-heavy"],
-          content => template("exim-local-auto.erb")
-          ;
         "/etc/exim4/ssl/thishost.crt":
           require => Package["exim4-daemon-heavy"],
-          source  => "puppet:///exim/certs/$fqdn.crt"
+          source  => "puppet:///exim/certs/$fqdn.crt",
           owner   => root,
           group   => Debian-exim,
-          mode    => 640,
+          mode    => 640
           ;
         "/etc/exim4/ssl/thishost.key":
           require => Package["exim4-daemon-heavy"],
-          source  => "puppet:///exim/certs/$fqdn.key"
+          source  => "puppet:///exim/certs/$fqdn.key",
+          owner   => root,
+          group   => Debian-exim,
+          mode    => 640
+          ;
+        "/etc/exim4/ssl/ca.crt":
+          require => Package["exim4-daemon-heavy"],
+          source  => "puppet:///exim/certs/ca.crt",
+          owner   => root,
+          group   => Debian-exim,
+          mode    => 640
+          ;
+        "/etc/exim4/ssl/ca.crl":
+          require => Package["exim4-daemon-heavy"],
+          source  => "puppet:///exim/certs/ca.crl",
           owner   => root,
           group   => Debian-exim,
-          mode    => 640,
+          mode    => 640
+          ;
+        "/var/log/exim4":
+          mode    => 2750,
+          ensure  => directory,
+          owner   => Debian-exim,
+          group   => maillog
           ;
     }
 
@@ -112,9 +156,9 @@ class exim {
         path        => "/etc/init.d:/usr/bin:/usr/sbin:/bin:/sbin",
         refreshonly => true,
     }
-}
-
-class eximmx inherits exim {
-    include clamav
-    include postgrey
+    @ferm::rule { "dsa-exim":
+            domain          => "(ip ip6)",
+            description     => "Allow smtp access",
+            rule            => "proto tcp mod state state (NEW) dport (25) ACCEPT"
+    }
 }