From 5925d6c046e4fe9cab8c4471ae955163a14dbe1a Mon Sep 17 00:00:00 2001 From: Alexander Barton Date: Wed, 17 May 2017 20:11:40 +0200 Subject: [PATCH] postfix: Configure a satellite system and use debconf MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Don’t mangle the generated main.cf file. --- roles/postfix/defaults/main.yml | 7 ++ roles/postfix/tasks/main.yml | 140 +++++++++++++++++++++++--------- 2 files changed, 108 insertions(+), 39 deletions(-) diff --git a/roles/postfix/defaults/main.yml b/roles/postfix/defaults/main.yml index 081ea61..3f5f3be 100644 --- a/roles/postfix/defaults/main.yml +++ b/roles/postfix/defaults/main.yml @@ -1,6 +1,13 @@ --- # defaults file for postfix +postfix_destinations: "{{ inventory_hostname}}, localhost" postfix_interfaces: "all" +postfix_local_networks: "127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128" +postfix_mailbox_limit: "0" postfix_mailname: "{{ inventory_hostname }}" +postfix_protocols: "all" +postfix_recipient_delim: "+" +postfix_root_address: "" +postfix_sync_updates: "false" smtp_relay_host: "" diff --git a/roles/postfix/tasks/main.yml b/roles/postfix/tasks/main.yml index 039380c..6acc786 100644 --- a/roles/postfix/tasks/main.yml +++ b/roles/postfix/tasks/main.yml @@ -1,8 +1,7 @@ --- # postfix tasks -# Set Debconf to not configure Postfix at all: -- name: configure debconf(1) to not configure Postfix +- name: 'debconf(1): configure Postfix as "Satellite system"' tags: - debconf - mail @@ -10,9 +9,108 @@ debconf: > name=postfix question=postfix/main_mailer_type - value="No configuration" + value="Satellite system" vtype=select +- name: 'debconf(1): set system mail name' + tags: + - debconf + - mail + - postfix + debconf: > + name=postfix + question=postfix/mailname + value="{{ postfix_mailname }}" + vtype=string + +- name: 'debconf(1): set SMTP relay host' + tags: + - debconf + - mail + - postfix + debconf: > + name=postfix + question=postfix/relayhost + value="{{ smtp_relay_host }}" + vtype=string + +- name: 'debconf(1): set root and postmaster recipient' + tags: + - debconf + - mail + - postfix + debconf: > + name=postfix + question=postfix/root_address + value="{{ postfix_root_address }}" + vtype=string + +- name: 'debconf(1): set other destinations to accept mail for' + tags: + - debconf + - mail + - postfix + debconf: > + name=postfix + question=postfix/destinations + value="{{ postfix_destinations }}" + vtype=string + +- name: 'debconf(1): set local networks' + tags: + - debconf + - mail + - postfix + debconf: > + name=postfix + question=postfix/mynetworks + value="{{ postfix_local_networks }}" + vtype=string + +- name: 'debconf(1): set mailbox size limit' + tags: + - debconf + - mail + - postfix + debconf: > + name=postfix + question=postfix/mailbox_limit + value="{{ postfix_mailbox_limit }}" + vtype=string + +- name: 'debconf(1): set local address extension character' + tags: + - debconf + - mail + - postfix + debconf: > + name=postfix + question=postfix/recipient_delim + value="{{ postfix_recipient_delim }}" + vtype=string + +- name: 'debconf(1): set internet protocols to use' + tags: + - debconf + - mail + - postfix + debconf: > + name=postfix + question=postfix/protocols + value="{{ postfix_protocols }}" + vtype=string + +- name: 'debconf(1): configure synchronous updates on mail queue' + tags: + - debconf + - mail + - postfix + debconf: > + name=postfix + question=postfix/chattr + value="{{ postfix_sync_updates }}" + vtype=boolean + - name: install "postfix" package tags: - mail @@ -49,31 +147,6 @@ notify: - restart "postfix" -- name: set Posfix "myhostname" - tags: - - mail - - postfix - lineinfile: > - dest=/etc/postfix/main.cf - group=root - line="myhostname = {{ postfix_mailname }}" - mode=0644 - owner=root - regexp="^myhostname" - notify: - - restart "postfix" - -- name: set Posfix "mydestination" - tags: - - mail - - postfix - lineinfile: > - dest=/etc/postfix/main.cf - line="mydestination = {{ postfix_mailname }}, localhost" - regexp="^mydestination" - notify: - - restart "postfix" - - name: set Posfix "inet_interfaces" tags: - mail @@ -85,17 +158,6 @@ notify: - restart "postfix" -- name: set Posfix "relayhost" - tags: - - mail - - postfix - lineinfile: > - dest=/etc/postfix/main.cf - line="relayhost = {{ smtp_relay_host }}" - regexp="^relayhost" - notify: - - restart "postfix" - - name: ensure service "postfix" is enabled and started tags: - mail -- 2.39.2