]> git.donarmstrong.com Git - dsa-puppet.git/blob - modules/exim/manifests/init.pp
a few more munin plugins, although I dislike the placement of the spamassassin one
[dsa-puppet.git] / modules / exim / manifests / init.pp
1 class exim {
2     activate_munin_check {
3             "ps_exim4": script => "ps_";
4             "exim_mailqueue":;
5             "exim_mailstats":;
6             "postfix_mailqueue":  ensure => absent;
7             "postfix_mailstats":  ensure => absent;
8             "postfix_mailvolume": ensure => absent;
9     }
10
11
12     package { exim4-daemon-heavy: ensure => installed }
13
14     file {
15         "/etc/exim4/":
16           ensure  => directory,
17           owner   => root,
18           group   => root,
19           mode    => 755,
20           purge   => true
21         ;
22         "/etc/exim4/ssl":
23           ensure  => directory,
24           owner   => root,
25           group   => Debian-exim,
26           mode    => 750,
27           require => Package["exim4-daemon-heavy"],
28           purge   => true
29         ;
30         "/etc/mailname":
31           content => template("exim/mailname.erb"),
32         ;
33         "/etc/exim4/exim4.conf":
34           content => template("exim/eximconf.erb"),
35           require => Package["exim4-daemon-heavy"],
36           notify  => Exec["exim4 reload"]
37         ;
38         "/etc/exim4/manualroute":
39           require => Package["exim4-daemon-heavy"],
40           content => template("exim/manualroute.erb")
41           ;
42         "/etc/exim4/host_blacklist":
43           require => Package["exim4-daemon-heavy"],
44           source  => [ "puppet:///exim/per-host/$fqdn/host_blacklist",
45                        "puppet:///exim/common/host_blacklist" ]
46           ;
47         "/etc/exim4/blacklist":
48           require => Package["exim4-daemon-heavy"],
49           source  => [ "puppet:///exim/per-host/$fqdn/blacklist",
50                        "puppet:///exim/common/blacklist" ]
51           ;
52         "/etc/exim4/callout_users":
53           require => Package["exim4-daemon-heavy"],
54           source  => [ "puppet:///exim/per-host/$fqdn/callout_users",
55                        "puppet:///exim/common/callout_users" ]
56           ;
57         "/etc/exim4/grey_users":
58           require => Package["exim4-daemon-heavy"],
59           source  => [ "puppet:///exim/per-host/$fqdn/grey_users",
60                        "puppet:///exim/common/grey_users" ]
61           ;
62         "/etc/exim4/helo-check":
63           require => Package["exim4-daemon-heavy"],
64           source  => [ "puppet:///exim/per-host/$fqdn/helo-check",
65                        "puppet:///exim/common/helo-check" ]
66           ;
67         "/etc/exim4/locals":
68           require => Package["exim4-daemon-heavy"],
69           content => template("exim/locals.erb")
70           ;
71         "/etc/exim4/localusers":
72           require => Package["exim4-daemon-heavy"],
73           source  => [ "puppet:///exim/per-host/$fqdn/localusers",
74                        "puppet:///exim/common/localusers" ]
75           ;
76         "/etc/exim4/rbllist":
77           require => Package["exim4-daemon-heavy"],
78           source  => [ "puppet:///exim/per-host/$fqdn/rbllist",
79                        "puppet:///exim/common/rbllist" ]
80           ;
81         "/etc/exim4/rcpthosts":
82           require => Package["exim4-daemon-heavy"],
83           source  => [ "puppet:///exim/per-host/$fqdn/rcpthosts",
84                        "puppet:///exim/common/rcpthosts" ]
85           ;
86         "/etc/exim4/rhsbllist":
87           require => Package["exim4-daemon-heavy"],
88           source  => [ "puppet:///exim/per-host/$fqdn/rhsbllist",
89                        "puppet:///exim/common/rhsbllist" ]
90           ;
91         "/etc/exim4/virtualdomains":
92           require => Package["exim4-daemon-heavy"],
93           content => template("exim/virtualdomains.erb")
94           ;
95         "/etc/exim4/whitelist":
96           require => Package["exim4-daemon-heavy"],
97           source  => [ "puppet:///exim/per-host/$fqdn/whitelist",
98                        "puppet:///exim/common/whitelist" ]
99           ;
100         "/etc/logrotate.d/exim4-base":
101           require => Package["exim4-daemon-heavy"],
102           source  => [ "puppet:///exim/per-host/$fqdn/logrotate-exim4-base",
103                        "puppet:///exim/common/logrotate-exim4-base" ]
104           ;
105         "/etc/logrotate.d/exim4-paniclog":
106           require => Package["exim4-daemon-heavy"],
107           source  => [ "puppet:///exim/per-host/$fqdn/logrotate-exim4-paniclog",
108                        "puppet:///exim/common/logrotate-exim4-paniclog" ]
109           ;
110         "/etc/exim4/local-auto.conf":
111           require => Package["exim4-daemon-heavy"],
112           content => template("exim-local-auto.erb"),
113           notify  => Exec["exim4 reload"]
114           ;
115         "/etc/exim4/ssl/thishost.crt":
116           require => Package["exim4-daemon-heavy"],
117           source  => "puppet:///exim/certs/$fqdn.crt",
118           owner   => root,
119           group   => Debian-exim,
120           mode    => 640
121           ;
122         "/etc/exim4/ssl/thishost.key":
123           require => Package["exim4-daemon-heavy"],
124           source  => "puppet:///exim/certs/$fqdn.key",
125           owner   => root,
126           group   => Debian-exim,
127           mode    => 640
128           ;
129         "/etc/exim4/ssl/ca.crt":
130           require => Package["exim4-daemon-heavy"],
131           source  => "puppet:///exim/certs/ca.crt",
132           owner   => root,
133           group   => Debian-exim,
134           mode    => 640
135           ;
136         "/etc/exim4/ssl/ca.crl":
137           require => Package["exim4-daemon-heavy"],
138           source  => "puppet:///exim/certs/ca.crl",
139           owner   => root,
140           group   => Debian-exim,
141           mode    => 640
142           ;
143     }
144
145     exec { "exim4 reload":
146         path        => "/etc/init.d:/usr/bin:/usr/sbin:/bin:/sbin",
147         refreshonly => true,
148     }
149 }