summaryrefslogtreecommitdiffstats
path: root/roles/IMAP/tasks
diff options
context:
space:
mode:
authorGuilhem Moulin <guilhem@fripost.org>2014-07-04 00:37:40 +0200
committerGuilhem Moulin <guilhem@fripost.org>2015-06-07 02:52:24 +0200
commit58e65628313da8990f1e5cb26bfe4e10e128034e (patch)
tree1ca5321944c66304b6afad7acf9dbc37d8f0b4f5 /roles/IMAP/tasks
parent535741b9caaa7b1480d3a6e8290769b1e2e0a55e (diff)
Reload Postfix upon configuration change, but don't restart it.
(Unless a new instance is created, or the master.cf change is modified.) Changing some variables, such as inet_protocols, require a full restart, but most of the time it's overkill.
Diffstat (limited to 'roles/IMAP/tasks')
-rw-r--r--roles/IMAP/tasks/mda.yml8
1 files changed, 3 insertions, 5 deletions
diff --git a/roles/IMAP/tasks/mda.yml b/roles/IMAP/tasks/mda.yml
index a914f17..2d63f0e 100644
--- a/roles/IMAP/tasks/mda.yml
+++ b/roles/IMAP/tasks/mda.yml
@@ -1,34 +1,33 @@
- name: Install Postfix
apt: pkg={{ item }}
with_items:
- postfix
- postfix-ldap
- name: Configure Postfix
template: src=etc/postfix/main.cf.j2
dest=/etc/postfix-{{ postfix_instance[inst].name }}/main.cf
owner=root group=root
mode=0644
- register: r
notify:
- - Restart Postfix
+ - Reload Postfix
- name: Create directory /etc/postfix-.../virtual
file: path=/etc/postfix-{{ postfix_instance[inst].name }}/virtual
state=directory
owner=root group=root
mode=0755
- name: Copy lookup tables
copy: src=etc/postfix/virtual/{{ item }}
dest=/etc/postfix-{{ postfix_instance[inst].name }}/virtual/{{ item }}
owner=root group=root
mode=0644
with_items:
- mailbox_domains.cf
- mailbox.cf
- transport_content_filter.cf
- name: Copy recipient canonical
# no need to reload upon change, as cleanup(8) is short-running
copy: src=etc/postfix/recipient_canonical.pcre
@@ -38,25 +37,24 @@
- name: Build the Postfix relay clientcerts map
sudo: False
# smtpd_tls_fingerprint_digest MUST be sha256!
local_action: shell openssl x509 -in certs/postfix/{{ item }}.pem -noout -fingerprint -sha256 | sed -nr 's/^.*=(.*)/\1 {{ item }}/p'
with_items: groups.MX | difference([inventory_hostname]) | sort
register: relay_clientcerts
changed_when: False
- name: Copy the Postfix relay clientcerts map
template: src=etc/postfix/relay_clientcerts.j2
dest=/etc/postfix-{{ postfix_instance[inst].name }}/relay_clientcerts
owner=root group=root
mode=0644
- name: Compile the Postfix relay clientcerts map
postmap: cmd=postmap src=/etc/postfix-{{ postfix_instance[inst].name }}/relay_clientcerts db=cdb
owner=root group=root
mode=0644
+- meta: flush_handlers
+
- name: Start Postfix
service: name=postfix state=started
- when: not r.changed
-
-- meta: flush_handlers