New template for all.
[mirror/dsa-puppet.git] / modules / exim / manifests / init.pp
index bd3db80..4d503f1 100644 (file)
@@ -1,8 +1,8 @@
 class exim {
 
-    package { exim4-daemon-heavy: ensure => latest }
+    package { exim4-daemon-heavy: ensure => installed }
 
-    file { 
+    file {
         "/etc/exim4/":
           ensure  => directory,
           owner   => root,
@@ -10,133 +10,125 @@ class exim {
           mode    => 755,
           purge   => true
         ;
-        "/etc/exim4/exim4.conf":
+        "/etc/exim4/ssl":
+          ensure  => directory,
           owner   => root,
-          group   => root,
-          mode    => 644,
-          ensure  => file,
-          source  => [ "puppet:///exim/per-host/$fqdn/exim4.conf",
-                       "puppet:///exim/common/exim4.conf" ],
+          group   => Debian-exim,
+          mode    => 750,
+          purge   => true
+        ;
+        "/etc/exim4/exim4.conf":
+          content => template("exim/eximconf.erb"),
           require => Package["exim4-daemon-heavy"],
           notify  => Exec["exim4 reload"]
+        ;
+        "/etc/exim4/manualroute":
+          require => Package["exim4-daemon-heavy"],
+          source  => [ "puppet:///exim/per-host/$fqdn/manualroute",
+                       "puppet:///exim/common/manualroute" ]
           ;
         "/etc/exim4/blacklist":
-          owner   => root,
-          group   => root,
-          mode    => 644,
-          ensure  => file,
           require => Package["exim4-daemon-heavy"],
           source  => [ "puppet:///exim/per-host/$fqdn/blacklist",
                        "puppet:///exim/common/blacklist" ]
           ;
         "/etc/exim4/callout_users":
-          owner   => root,
-          group   => root,
-          mode    => 644,
-          ensure  => file,
           require => Package["exim4-daemon-heavy"],
           source  => [ "puppet:///exim/per-host/$fqdn/callout_users",
                        "puppet:///exim/common/callout_users" ]
           ;
         "/etc/exim4/grey_users":
-          owner   => root,
-          group   => root,
-          mode    => 644,
-          ensure  => file,
           require => Package["exim4-daemon-heavy"],
           source  => [ "puppet:///exim/per-host/$fqdn/grey_users",
                        "puppet:///exim/common/grey_users" ]
           ;
         "/etc/exim4/helo-check":
-          owner   => root,
-          group   => root,
-          mode    => 644,
-          ensure  => file,
           require => Package["exim4-daemon-heavy"],
           source  => [ "puppet:///exim/per-host/$fqdn/helo-check",
                        "puppet:///exim/common/helo-check" ]
           ;
         "/etc/exim4/locals":
-          owner   => root,
-          group   => root,
-          mode    => 644,
-          ensure  => file,
           require => Package["exim4-daemon-heavy"],
-          source  => [ "puppet:///exim/per-host/$fqdn/locals",
-                       "puppet:///exim/common/locals" ]
+          content => template("exim/locals.erb")
           ;
         "/etc/exim4/localusers":
-          owner   => root,
-          group   => root,
-          mode    => 644,
-          ensure  => file,
           require => Package["exim4-daemon-heavy"],
           source  => [ "puppet:///exim/per-host/$fqdn/localusers",
                        "puppet:///exim/common/localusers" ]
           ;
         "/etc/exim4/rbllist":
-          owner   => root,
-          group   => root,
-          mode    => 644,
-          ensure  => file,
           require => Package["exim4-daemon-heavy"],
           source  => [ "puppet:///exim/per-host/$fqdn/rbllist",
                        "puppet:///exim/common/rbllist" ]
           ;
         "/etc/exim4/rcpthosts":
-          owner   => root,
-          group   => root,
-          mode    => 644,
-          ensure  => file,
           require => Package["exim4-daemon-heavy"],
           source  => [ "puppet:///exim/per-host/$fqdn/rcpthosts",
                        "puppet:///exim/common/rcpthosts" ]
           ;
         "/etc/exim4/rhsbllist":
-          owner   => root,
-          group   => root,
-          mode    => 644,
-          ensure  => file,
           require => Package["exim4-daemon-heavy"],
           source  => [ "puppet:///exim/per-host/$fqdn/rhsbllist",
                        "puppet:///exim/common/rhsbllist" ]
           ;
         "/etc/exim4/virtualdomains":
-          owner   => root,
-          group   => root,
-          mode    => 644,
-          ensure  => file,
           require => Package["exim4-daemon-heavy"],
-          source  => [ "puppet:///exim/per-host/$fqdn/virtualdomains",
-                       "puppet:///exim/common/virtualdomains" ]
+          content => template("exim/virtualdomains.erb")
           ;
         "/etc/exim4/whitelist":
-          owner   => root,
-          group   => root,
-          mode    => 644,
-          ensure  => file,
           require => Package["exim4-daemon-heavy"],
           source  => [ "puppet:///exim/per-host/$fqdn/whitelist",
                        "puppet:///exim/common/whitelist" ]
           ;
         "/etc/logrotate.d/exim4-base":
-          owner   => root,
-          group   => root,
-          mode    => 644,
-          ensure  => file,
           require => Package["exim4-daemon-heavy"],
           source  => [ "puppet:///exim/per-host/$fqdn/logrotate-exim4-base",
                        "puppet:///exim/common/logrotate-exim4-base" ]
           ;
         "/etc/logrotate.d/exim4-paniclog":
-          owner   => root,
-          group   => root,
-          mode    => 644,
-          ensure  => file,
           require => Package["exim4-daemon-heavy"],
           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"),
+          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
+          ;
     }
 
     exec { "exim4 reload":
@@ -145,3 +137,7 @@ class exim {
     }
 }
 
+class eximmx inherits exim {
+    include clamav
+    include postgrey
+}