blob: 9de0eaad628e6a2f32edb6e23c178d10d3529229 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
- name: Install Postfix
apt: pkg={{ item }}
with_items:
# That one is nicer than GNU mailutils' mailx(1)
- heirloom-mailx
- postfix
- postfix-cdb
- postfix-pcre
- name: Create Postfix instances
postmulti: instance={{ postfix_instance[item].name }}
group={{ postfix_instance[item].group | default('') }}
register: r1
with_items: postfix_instance.keys() | intersect(group_names) | list
notify:
- Restart Postfix
- name: Define dynamic maps for children instances
# main.cf and master.cf are configured in dedicated roles, though
file: src=../postfix/dynamicmaps.cf
dest=/etc/postfix-{{ postfix_instance[item].name }}/dynamicmaps.cf
owner=root group=root state=link
register: r2
with_items: postfix_instance.keys() | intersect(group_names) | list
notify:
- Restart Postfix
- name: Configure Postfix (1)
copy: src=etc/postfix/{{ item }}
dest=/etc/postfix/{{ item }}
owner=root group=root
mode=0644
register: r3
with_items:
- master.cf
- generic.pcre
notify:
- Reload Postfix
- name: Configure Postfix (2)
template: src=etc/postfix/main.cf.j2
dest=/etc/postfix/main.cf
owner=root group=root
mode=0644
register: r4
notify:
- Restart Postfix
- name: Update the static local Postfix database
postmap: cmd=postalias src=/etc/aliases db=cdb
owner=root group=root
mode=0644
# We're using CDB
- name: Delete /etc/aliases.db
file: path=/etc/aliases.db state=absent
- name: Start Postfix
service: name=postfix state=started
when: not (r1.changed or r2.changed or r3.changed or r4.changed)
- meta: flush_handlers
|