Let's try it this way
[mirror/dsa-puppet.git] / modules / exim / manifests / init.pp
index 76a2199..b2c1e71 100644 (file)
@@ -2,6 +2,27 @@ class exim {
 
     package { exim4-daemon-heavy: ensure => installed }
 
+    case $hostname {
+         handel: {
+             file {
+                "/etc/exim4/exim4.conf":
+                  content => template("exim/eximconf.erb"),
+                  require => Package["exim4-daemon-heavy"],
+                  notify  => Exec["exim4 reload"]
+                  ;
+             }
+         }
+         default: {
+             file {
+                "/etc/exim4/exim4.conf":
+                  source  => [ "puppet:///exim/per-host/$fqdn/exim4.conf",
+                               "puppet:///exim/common/exim4.conf" ],
+                  require => Package["exim4-daemon-heavy"],
+                  notify  => Exec["exim4 reload"]
+                  ;
+             }
+         }
+    }
     file {
         "/etc/exim4/":
           ensure  => directory,
@@ -10,11 +31,17 @@ class exim {
           mode    => 755,
           purge   => true
         ;
-        "/etc/exim4/exim4.conf":
-          source  => [ "puppet:///exim/per-host/$fqdn/exim4.conf",
-                       "puppet:///exim/common/exim4.conf" ],
+        "/etc/exim4/ssl":
+          ensure  => directory,
+          owner   => root,
+          group   => Debian-exim,
+          mode    => 750,
+          purge   => true
+        ;
+        "/etc/exim4/manualroute":
           require => Package["exim4-daemon-heavy"],
-          notify  => Exec["exim4 reload"]
+          source  => [ "puppet:///exim/per-host/$fqdn/manualroute",
+                       "puppet:///exim/common/manualroute" ]
           ;
         "/etc/exim4/blacklist":
           require => Package["exim4-daemon-heavy"],
@@ -38,8 +65,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"],
@@ -63,8 +89,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"],
@@ -81,9 +106,44 @@ class exim {
           source  => [ "puppet:///exim/per-host/$fqdn/logrotate-exim4-paniclog",
                        "puppet:///exim/common/logrotate-exim4-paniclog" ]
           ;
+        "/etc/exim4/local-settings.conf":
+          require => Package["exim4-daemon-heavy"],
+          source  => [ "puppet:///exim/per-host/$fqdn/local-settings.conf",
+                       "puppet:///exim/common/local-settings.conf" ],
+          notify  => Exec["exim4 reload"]
+          ;
         "/etc/exim4/local-auto.conf":
           require => Package["exim4-daemon-heavy"],
-          content => template("exim-local-auto.erb")
+          content => template("exim-local-auto.erb"),
+          notify  => Exec["exim4 reload"]
+          ;
+        "/etc/exim4/ssl/thishost.crt":
+          require => Package["exim4-daemon-heavy"],
+          source  => "puppet:///exim/certs/$fqdn.crt",
+          owner   => root,
+          group   => Debian-exim,
+          mode    => 640
+          ;
+        "/etc/exim4/ssl/thishost.key":
+          require => Package["exim4-daemon-heavy"],
+          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
           ;
     }
 
@@ -94,29 +154,6 @@ class exim {
 }
 
 class eximmx inherits exim {
-    package { "clamav-daemon": ensure => latest;
-              "postgrey": ensure => installed;
-    }
-
-    file {
-        "/etc/default/postgrey":
-          source  => "puppet:///exim/common/postgrey-default",
-          require => Package["postgrey"],
-          notify  => Exec["postgrey restart"]
-          ;
-        "/etc/clamav/clamd.conf":
-          source  => "puppet:///exim/common/clamd.conf",
-          require => Package["clamav-daemon"],
-          notify  => Exec["clamav-daemon restart"]
-          ;
-    }
-
-    exec { "clamav-daemon restart":
-        path        => "/etc/init.d:/usr/bin:/usr/sbin:/bin:/sbin",
-        refreshonly => true,
-    }
-    exec { "postgrey restart":
-        path        => "/etc/init.d:/usr/bin:/usr/sbin:/bin:/sbin",
-        refreshonly => true,
-    }
+    include clamav
+    include postgrey
 }