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