summaryrefslogtreecommitdiffstats
path: root/roles/IMAP
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
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')
-rw-r--r--roles/IMAP/handlers/main.yml3
-rw-r--r--roles/IMAP/tasks/mda.yml8
2 files changed, 3 insertions, 8 deletions
diff --git a/roles/IMAP/handlers/main.yml b/roles/IMAP/handlers/main.yml
index c14468a..46cf1fb 100644
--- a/roles/IMAP/handlers/main.yml
+++ b/roles/IMAP/handlers/main.yml
@@ -1,27 +1,24 @@
---
- name: Restart Dovecot
service: name=dovecot state=restarted
-- name: Restart Postfix
- service: name=postfix state=restarted
-
- name: Reload Postfix
service: name=postfix state=reloaded
- name: Compile Spamassassin rules
sudo_user: debian-spamd
# it might take a while...
command: /usr/bin/sa-compile --quiet
chdir=/var/lib/spamassassin/
- name: Restart Amavis
service: name=amavis state=restarted
- name: Copy SQL tables for spamassassin
copy: src=tmp/spamassassin.sql
dest=/tmp/spamassassin.sql
owner=root group=root
mode=0600
- name: Create SQL tables for spamassassin
# see https://svn.apache.org/repos/asf/spamassassin/trunk/sql/
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