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