1 |
class postfix { |
2 |
|
3 |
class base { |
4 |
package { postfix: |
5 |
ensure => installed |
6 |
} |
7 |
package { 'nail': |
8 |
ensure => installed |
9 |
} |
10 |
service { postfix: |
11 |
ensure => running, |
12 |
subscribe => [ Package['postfix']], |
13 |
path => "/etc/init.d/postfix" |
14 |
} |
15 |
} |
16 |
|
17 |
file { '/etc/postfix/main.cf': |
18 |
ensure => present, |
19 |
owner => root, |
20 |
group => root, |
21 |
mode => 644, |
22 |
require => Package["postfix"], |
23 |
content => "", |
24 |
notify => [Service['postfix']] |
25 |
} |
26 |
|
27 |
|
28 |
class simple_relay inherits base { |
29 |
file { '/etc/postfix/main.cf': |
30 |
content => template("postfix/simple_relay_main.cf"), |
31 |
} |
32 |
} |
33 |
|
34 |
class smtp_server inherits base { |
35 |
include postgrey |
36 |
include amavis |
37 |
include spamassassin |
38 |
file { '/etc/postfix/main.cf': |
39 |
content => template("postfix/main.cf"), |
40 |
} |
41 |
|
42 |
file { '/etc/postfix/transport_regexp': |
43 |
ensure => present, |
44 |
owner => root, |
45 |
group => root, |
46 |
mode => 644, |
47 |
content => template("postfix/transport_regexp"), |
48 |
} |
49 |
|
50 |
} |
51 |
|
52 |
class primary_smtp inherits smtp_server { |
53 |
file { '/etc/postfix/master.cf': |
54 |
ensure => present, |
55 |
owner => root, |
56 |
group => root, |
57 |
mode => 644, |
58 |
content => template("postfix/primary_master.cf"), |
59 |
} |
60 |
} |
61 |
|
62 |
class secondary_smtp inherits smtp_server { |
63 |
} |
64 |
|
65 |
} |