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