From 0cdae8b246f32365ee49deab9c1a10dea161a12e Mon Sep 17 00:00:00 2001 From: Victor LABORIE Date: Fri, 27 Oct 2017 11:52:03 +0200 Subject: [PATCH] postfix: split main task into minimal and packmail --- postfix/tasks/main.yml | 144 +------------------------------ postfix/tasks/minimal.yml | 24 ++++++ postfix/tasks/packmail.yml | 111 ++++++++++++++++++++++++ postfix/tasks/slow_transport.yml | 4 + 4 files changed, 143 insertions(+), 140 deletions(-) create mode 100644 postfix/tasks/minimal.yml create mode 100644 postfix/tasks/packmail.yml diff --git a/postfix/tasks/main.yml b/postfix/tasks/main.yml index 628e0eab..714787d6 100644 --- a/postfix/tasks/main.yml +++ b/postfix/tasks/main.yml @@ -1,21 +1,4 @@ -- name: ensure packages are installed - apt: - name: '{{ item }}' - state: present - with_items: - - postfix - - mailgraph - tags: - - postfix - -- name: ensure ldap packages are installed - apt: - name: "postfix-ldap" - state: present - when: postfix_packmail == True - tags: - - postfix - +--- - name: check if main.cf is default shell: grep -v -E "^(myhostname|mydestination|mailbox_command)" /etc/postfix/main.cf | md5sum - changed_when: False @@ -24,130 +7,11 @@ tags: - postfix -- block: +- include: minimal.yml + when: postfix_packmail == False - - name: create minimal main.cf - template: - src: evolinux_main.cf.j2 - dest: /etc/postfix/main.cf - owner: root - group: root - mode: "0644" - force: yes - when: postfix_packmail != True - notify: restart postfix - tags: - - postfix - - - name: create packmail main.cf - template: - src: packmail_main.cf.j2 - dest: /etc/postfix/main.cf - owner: root - group: root - mode: "0644" - force: yes - when: postfix_packmail == True - notify: restart postfix - tags: - - postfix - - when: postfix_force_main_cf == True or - default_main_cf.stdout == "5450c05d65878e99dad696c7c722e511 -" or - default_main_cf.stdout == "30022953f1f61f002bfb72e163ecb27e -" - -- name: deploy packmail master.cf - template: - src: packmail_master.cf.j2 - dest: /etc/postfix/master.cf - mode: "0644" +- include: packmail.yml when: postfix_packmail == True - notify: restart postfix - tags: - - postfix - -- name: copy default filter files - copy: - src: filter - dest: "/etc/postfix/{{ item }}" - force: no - with_items: - - virtual - - client.access - - client.access_local - - header_kill - - header_kill_local - - recipient.access - - recipient.access_local - - sa-blacklist.access - - sender.access - - sender.access_local - - spamd.cidr - when: postfix_packmail == True - register: postfix_copy_filter - tags: - - postfix - -- name: postmap filter files - command: "postmap /etc/postfix/{{ item }}" - with_items: - - virtual - - client.access - - client.access_local - - header_kill - - header_kill_local - - recipient.access - - recipient.access_local - - sa-blacklist.access - - sender.access - - sender.access_local - - spamd.cidr - when: postfix_packmail == True and postfix_copy_filter.changed - tags: - - postfix - -- name: deploy ldap postfix config - template: - src: "{{ item }}.j2" - dest: "/etc/postfix/{{ item }}" - mode: "0644" - with_items: - - virtual_aliases.cf - - virtual_domains.cf - - virtual_mailboxes.cf - when: postfix_packmail == True - notify: restart postfix - tags: - - postfix - -- name: copy spam.sh script - copy: - src: spam.sh - dest: /usr/share/scripts/spam.sh - mode: "0700" - when: postfix_packmail == True - tags: - - postfix - -- name: enable spam.sh cron - lineinfile: - dest: /etc/cron.d/spam - line: "42 * * * * /usr/share/scripts/spam.sh" - create: yes - state: present - mode: "0640" - when: postfix_packmail == True - tags: - - postfix - -- name: update antispam list - command: /usr/share/scripts/spam.sh - changed_when: false - when: postfix_packmail == True - tags: - - postfix - include: slow_transport.yml when: postfix_slow_transport_include - tags: - - postfix diff --git a/postfix/tasks/minimal.yml b/postfix/tasks/minimal.yml new file mode 100644 index 00000000..99b99003 --- /dev/null +++ b/postfix/tasks/minimal.yml @@ -0,0 +1,24 @@ +--- +- name: ensure packages are installed + apt: + name: '{{ item }}' + state: present + with_items: + - postfix + tags: + - postfix + +- name: create minimal main.cf + template: + src: evolinux_main.cf.j2 + dest: /etc/postfix/main.cf + owner: root + group: root + mode: "0644" + force: yes + notify: restart postfix + when: postfix_force_main_cf == True or + default_main_cf.stdout == "5450c05d65878e99dad696c7c722e511 -" or + default_main_cf.stdout == "30022953f1f61f002bfb72e163ecb27e -" + tags: + - postfix diff --git a/postfix/tasks/packmail.yml b/postfix/tasks/packmail.yml new file mode 100644 index 00000000..e485d6b1 --- /dev/null +++ b/postfix/tasks/packmail.yml @@ -0,0 +1,111 @@ +--- +- name: ensure packages are installed + apt: + name: '{{ item }}' + state: present + with_items: + - postfix + - postfix-ldap + - mailgraph + tags: + - postfix + +- name: create packmail main.cf + template: + src: packmail_main.cf.j2 + dest: /etc/postfix/main.cf + owner: root + group: root + mode: "0644" + force: yes + notify: restart postfix + when: postfix_force_main_cf == True or + default_main_cf.stdout == "5450c05d65878e99dad696c7c722e511 -" or + default_main_cf.stdout == "30022953f1f61f002bfb72e163ecb27e -" + tags: + - postfix + +- name: deploy packmail master.cf + template: + src: packmail_master.cf.j2 + dest: /etc/postfix/master.cf + mode: "0644" + notify: restart postfix + tags: + - postfix + +- name: copy default filter files + copy: + src: filter + dest: "/etc/postfix/{{ item }}" + force: no + with_items: + - virtual + - client.access + - client.access_local + - header_kill + - header_kill_local + - recipient.access + - recipient.access_local + - sa-blacklist.access + - sender.access + - sender.access_local + - spamd.cidr + register: postfix_copy_filter + tags: + - postfix + +- name: postmap filter files + command: "postmap /etc/postfix/{{ item }}" + with_items: + - virtual + - client.access + - client.access_local + - header_kill + - header_kill_local + - recipient.access + - recipient.access_local + - sa-blacklist.access + - sender.access + - sender.access_local + - spamd.cidr + when: postfix_copy_filter.changed + tags: + - postfix + +- name: deploy ldap postfix config + template: + src: "{{ item }}.j2" + dest: "/etc/postfix/{{ item }}" + mode: "0644" + with_items: + - virtual_aliases.cf + - virtual_domains.cf + - virtual_mailboxes.cf + notify: restart postfix + tags: + - postfix + +- name: copy spam.sh script + copy: + src: spam.sh + dest: /usr/share/scripts/spam.sh + mode: "0700" + tags: + - postfix + +- name: enable spam.sh cron + lineinfile: + dest: /etc/cron.d/spam + line: "42 * * * * /usr/share/scripts/spam.sh" + create: yes + state: present + mode: "0640" + tags: + - postfix + +- name: update antispam list + command: /usr/share/scripts/spam.sh + changed_when: false + tags: + - postfix diff --git a/postfix/tasks/slow_transport.yml b/postfix/tasks/slow_transport.yml index d5566bdb..2f4cab1e 100644 --- a/postfix/tasks/slow_transport.yml +++ b/postfix/tasks/slow_transport.yml @@ -5,6 +5,8 @@ regexp: "^slow " line: "slow unix - - n - - smtp" notify: restart postfix + tags: + - postfix - name: list of providers for slow transport lineinfile: @@ -21,3 +23,5 @@ - "hotmail.fr slow:" - "hotmail.com slow:" notify: postmap transport + tags: + - postfix