2020-10-23 03:32:54 +02:00
|
|
|
|
---
|
|
|
|
|
- name: Install Postfix
|
|
|
|
|
package:
|
|
|
|
|
name: postfix
|
|
|
|
|
state: present
|
|
|
|
|
notify:
|
|
|
|
|
- Restart Postfix
|
|
|
|
|
|
|
|
|
|
- name: Create /usr/local/etc/mail
|
|
|
|
|
file:
|
|
|
|
|
path: /usr/local/etc/mail
|
|
|
|
|
state: directory
|
|
|
|
|
owner: root
|
|
|
|
|
group: wheel
|
|
|
|
|
mode: 0755
|
|
|
|
|
|
|
|
|
|
- name: Install Postfix mailer.conf
|
|
|
|
|
copy:
|
|
|
|
|
dest: /usr/local/etc/mail/mailer.conf
|
|
|
|
|
src: /usr/local/share/postfix/mailer.conf.postfix
|
|
|
|
|
remote_src: yes
|
|
|
|
|
owner: root
|
|
|
|
|
group: wheel
|
|
|
|
|
mode: 0644
|
|
|
|
|
|
|
|
|
|
- name: Disable sendmail
|
|
|
|
|
sysrc:
|
|
|
|
|
name: sendmail_enable
|
|
|
|
|
value: NONE
|
|
|
|
|
|
|
|
|
|
- name: Make sure sendmail is stopped
|
|
|
|
|
service:
|
|
|
|
|
name: sendmail
|
|
|
|
|
state: stopped
|
|
|
|
|
|
|
|
|
|
- name: Disable sendmail periodic tasks
|
|
|
|
|
lineinfile:
|
|
|
|
|
path: /etc/periodic.conf
|
|
|
|
|
owner: root
|
|
|
|
|
group: wheel
|
|
|
|
|
mode: 0444
|
|
|
|
|
regexp: '^{{ item }}='
|
|
|
|
|
line: '{{ item }}="NO"'
|
|
|
|
|
with_items: '{{ sendmail_periodic }}'
|
|
|
|
|
|
|
|
|
|
- name: Add /var/log/postfix to fstab
|
|
|
|
|
mount:
|
|
|
|
|
path: /var/log/postfix
|
|
|
|
|
src: tmpfs
|
|
|
|
|
fstype: tmpfs
|
|
|
|
|
opts: 'rw,size={{ postfix_log_size }},mode={{ postfix_log_mode }},uid={{ postfix_log_uid }},gid={{ postfix_log_gid }},late'
|
|
|
|
|
state: mounted
|
|
|
|
|
|
|
|
|
|
- name: Create Postfix service directories
|
|
|
|
|
file:
|
2022-07-04 02:53:23 +02:00
|
|
|
|
path: '{{ s6_etc_dir }}/service/{{ item }}'
|
2020-10-23 03:32:54 +02:00
|
|
|
|
state: directory
|
|
|
|
|
owner: root
|
|
|
|
|
group: wheel
|
|
|
|
|
mode: 0755
|
|
|
|
|
with_items: '{{ postfix_service_dirs }}'
|
|
|
|
|
|
|
|
|
|
- name: Generate Postfix service scripts
|
|
|
|
|
template:
|
2022-07-04 02:53:23 +02:00
|
|
|
|
dest: '{{ s6_etc_dir }}/service/{{ item }}'
|
2020-10-23 03:32:54 +02:00
|
|
|
|
src: '{{ item }}.j2'
|
|
|
|
|
mode: 0555
|
|
|
|
|
owner: root
|
|
|
|
|
group: wheel
|
|
|
|
|
with_items: '{{ postfix_service_scripts }}'
|
|
|
|
|
notify:
|
|
|
|
|
- Reload s6-rc
|
|
|
|
|
- Restart Postfix
|
|
|
|
|
|
|
|
|
|
- name: Generate Postfix service configuration
|
|
|
|
|
copy:
|
2022-07-04 02:53:23 +02:00
|
|
|
|
dest: '{{ s6_etc_dir }}/service/{{ item.name }}'
|
2020-10-23 03:32:54 +02:00
|
|
|
|
content: '{{ item.content }}'
|
|
|
|
|
mode: 0444
|
|
|
|
|
owner: root
|
|
|
|
|
group: wheel
|
|
|
|
|
loop_control:
|
|
|
|
|
label: '{{ item.name }} = {{ item.content }}'
|
|
|
|
|
notify:
|
|
|
|
|
- Reload s6-rc
|
|
|
|
|
- Restart Postfix
|
|
|
|
|
with_items: '{{ postfix_service_config }}'
|
|
|
|
|
|
|
|
|
|
- name: Generate Postfix maps
|
|
|
|
|
template:
|
|
|
|
|
dest: '/usr/local/etc/postfix/{{ item.name }}'
|
|
|
|
|
src: '{{ item.name }}.j2'
|
|
|
|
|
mode: 0444
|
|
|
|
|
owner: root
|
|
|
|
|
group: wheel
|
|
|
|
|
with_items: '{{ postfix_maps }}'
|
|
|
|
|
notify:
|
|
|
|
|
- Rebuild Postfix maps
|
|
|
|
|
- Reload Postfix
|
|
|
|
|
|
|
|
|
|
- name: Configure Postfix
|
|
|
|
|
postconf:
|
|
|
|
|
name: '{{ item.name }}'
|
|
|
|
|
value: '{{ item.value | default(omit) }}'
|
|
|
|
|
state: '{{ item.state | default(omit) }}'
|
|
|
|
|
with_items: '{{ postfix_config }}'
|
|
|
|
|
notify:
|
|
|
|
|
- Reload Postfix
|
|
|
|
|
|
|
|
|
|
- name: Configure Postfix services
|
|
|
|
|
lineinfile:
|
|
|
|
|
path: /usr/local/etc/postfix/master.cf
|
|
|
|
|
regexp: '^{{ item.name }} +{{ item.type }}'
|
|
|
|
|
value: '{{ item.value }}'
|
|
|
|
|
with_items: '{{ postfix_services }}'
|
|
|
|
|
notify:
|
|
|
|
|
- Restart Postfix
|
|
|
|
|
|
|
|
|
|
- name: Configure per service overrides
|
|
|
|
|
postconf_master:
|
|
|
|
|
name: '{{ item.name }}'
|
|
|
|
|
value: '{{ item.value | default(omit) }}'
|
|
|
|
|
state: '{{ item.state | default(omit) }}'
|
|
|
|
|
with_items: '{{ postfix_params }}'
|
|
|
|
|
notify:
|
|
|
|
|
- Restart Postfix
|
|
|
|
|
|
|
|
|
|
- name: Flush handlers
|
|
|
|
|
meta: flush_handlers
|
|
|
|
|
|
|
|
|
|
- name: Start Postfix
|
2022-07-04 02:53:23 +02:00
|
|
|
|
command: fdmove -c 2 1 s6-rc -l {{ s6_live_dir }} -u -v 2 change postfix
|
2020-10-23 03:32:54 +02:00
|
|
|
|
register: change
|
|
|
|
|
changed_when: change.stdout | length > 0
|
|
|
|
|
|
|
|
|
|
- name: Enable Postfix
|
|
|
|
|
lineinfile:
|
2022-07-04 02:53:23 +02:00
|
|
|
|
path: '{{ s6_etc_dir }}/service/enabled/contents'
|
2020-10-23 03:32:54 +02:00
|
|
|
|
regexp: "^postfix$"
|
|
|
|
|
line: "postfix"
|
|
|
|
|
notify:
|
|
|
|
|
- Reload s6-rc
|
|
|
|
|
|
|
|
|
|
- name: Flush handlers (again)
|
|
|
|
|
meta: flush_handlers
|