class exim {
- package { exim4-heavy: ensure => latest }
+ package { exim4-daemon-heavy: ensure => installed }
- file {
- "/etc/exim4/exim4.conf":
+ file {
+ "/etc/exim4/":
+ ensure => directory,
owner => root,
group => root,
- mode => 664,
- source => [ "puppet:///exim/per-host/$fqdn/exim4.conf",
- "puppet:///exim/common/exim4.conf" ]
- require => Package["exim4-heavy"],
- notify => Exec["exim4 reload"],
-
- "/etc/exim4/blacklist":
+ mode => 755,
+ purge => true
+ ;
+ "/etc/exim4/ssl":
+ ensure => directory,
owner => root,
- group => root,
- mode => 664,
- require => Package["exim4-heavy"],
+ 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":
+ require => Package["exim4-daemon-heavy"],
source => [ "puppet:///exim/per-host/$fqdn/blacklist",
- "puppet:///exim/common/" ]
-
+ "puppet:///exim/common/blacklist" ]
+ ;
"/etc/exim4/callout_users":
- owner => root,
- group => root,
- mode => 664,
- require => Package["exim4-heavy"],
+ require => Package["exim4-daemon-heavy"],
source => [ "puppet:///exim/per-host/$fqdn/callout_users",
- "puppet:///exim/common/" ]
-
- "/etc/exim4/exim4.conf":
- owner => root,
- group => root,
- mode => 664,
- require => Package["exim4-heavy"],
- source => [ "puppet:///exim/per-host/$fqdn/exim4.conf",
- "puppet:///exim/common/" ]
-
+ "puppet:///exim/common/callout_users" ]
+ ;
"/etc/exim4/grey_users":
- owner => root,
- group => root,
- mode => 664,
- require => Package["exim4-heavy"],
+ require => Package["exim4-daemon-heavy"],
source => [ "puppet:///exim/per-host/$fqdn/grey_users",
- "puppet:///exim/common/" ]
-
+ "puppet:///exim/common/grey_users" ]
+ ;
"/etc/exim4/helo-check":
- owner => root,
- group => root,
- mode => 664,
- require => Package["exim4-heavy"],
+ require => Package["exim4-daemon-heavy"],
source => [ "puppet:///exim/per-host/$fqdn/helo-check",
- "puppet:///exim/common/" ]
-
+ "puppet:///exim/common/helo-check" ]
+ ;
+ "/etc/exim4/locals":
+ require => Package["exim4-daemon-heavy"],
+ content => template("exim/locals.erb")
+ ;
"/etc/exim4/localusers":
- owner => root,
- group => root,
- mode => 664,
- require => Package["exim4-heavy"],
+ require => Package["exim4-daemon-heavy"],
source => [ "puppet:///exim/per-host/$fqdn/localusers",
- "puppet:///exim/common/" ]
-
+ "puppet:///exim/common/localusers" ]
+ ;
"/etc/exim4/rbllist":
- owner => root,
- group => root,
- mode => 664,
- require => Package["exim4-heavy"],
+ require => Package["exim4-daemon-heavy"],
source => [ "puppet:///exim/per-host/$fqdn/rbllist",
- "puppet:///exim/common/" ]
-
+ "puppet:///exim/common/rbllist" ]
+ ;
"/etc/exim4/rcpthosts":
- owner => root,
- group => root,
- mode => 664,
- require => Package["exim4-heavy"],
+ require => Package["exim4-daemon-heavy"],
source => [ "puppet:///exim/per-host/$fqdn/rcpthosts",
- "puppet:///exim/common/" ]
-
+ "puppet:///exim/common/rcpthosts" ]
+ ;
"/etc/exim4/rhsbllist":
- owner => root,
- group => root,
- mode => 664,
- require => Package["exim4-heavy"],
+ require => Package["exim4-daemon-heavy"],
source => [ "puppet:///exim/per-host/$fqdn/rhsbllist",
- "puppet:///exim/common/" ]
-
+ "puppet:///exim/common/rhsbllist" ]
+ ;
"/etc/exim4/virtualdomains":
- owner => root,
- group => root,
- mode => 664,
- require => Package["exim4-heavy"],
- source => [ "puppet:///exim/per-host/$fqdn/virtualdomains",
- "puppet:///exim/common/" ]
-
+ require => Package["exim4-daemon-heavy"],
+ content => template("exim/virtualdomains.erb")
+ ;
"/etc/exim4/whitelist":
- owner => root,
- group => root,
- mode => 664,
- require => Package["exim4-heavy"],
+ require => Package["exim4-daemon-heavy"],
source => [ "puppet:///exim/per-host/$fqdn/whitelist",
- "puppet:///exim/common/" ]
-
+ "puppet:///exim/common/whitelist" ]
+ ;
+ "/etc/logrotate.d/exim4-base":
+ 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":
+ 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":
- path => "/etc/init.d/",
+ path => "/etc/init.d:/usr/bin:/usr/sbin:/bin:/sbin",
refreshonly => true,
}
}
+class eximmx inherits exim {
+ include clamav
+ include postgrey
+}