---
- name: Install postfix
  apt:
    update_cache: true
    name:
      - postfix
  register: apt_result
  retries: 3
  until: apt_result is succeeded

- name: Deploy postfix configuration
  template:
    src: postfix/{{ item }}.j2
    dest: /etc/postfix/{{ item }}
    mode: 0644
    owner: root
    group: root
  loop:
    - main.cf
    - master.cf
    - transport
    - mime_header_checks
    - recipient_access
    - sender_login_maps
    - postscreen_access.cidr
    - sasl/smtpd.conf
    - client_checks
  notify:
    - generate postmaps

- name: Make sure let's encrypt renewal-hooks exists
  file:
    path: /etc/letsencrypt/renewal-hooks/deploy
    state: directory
  when: not ansible_check_mode

- name: Reload postfix after certificate renewal
  template:
    src: letsencrypt/renewal-hooks/deploy/reload-postfix.sh.j2
    dest: /etc/letsencrypt/renewal-hooks/deploy/reload-postfix.sh
    mode: 0755

- name: Indicate role in motd
  template:
    src: update-motd.d/05-postfix.j2
    dest: /etc/update-motd.d/05-postfix
    mode: 0755