--- # --- # Some Checks # --- - name: Check if file '/etc/postfix/relay_domains' exists ansible.builtin.stat: path: /etc/postfix/relay_domains register: relay_domains_actual - name: (copy_files.yml) Get checksum of '/etc/postfix/relay_domains' ansible.builtin.set_fact: relay_domains_sha1: "{{ relay_domains_actual.stat.checksum }}" when: - relay_domains_actual.stat.exists # --- # Copy files - main # --- - name: (copy_files.yml) Copy plain files ansible.builtin.copy: src: "{{ item.src_path }}" dest: "{{ item.dest_path }}" owner: root group: root mode: "0644" loop: "{{ copy_plain_files }}" loop_control: label: "dest: {{ item.name }}" when: - copy_plain_files is defined - copy_plain_files|length > 0 tags: - copy-files - copy-plain-files - name: (copy_files.yml) Copy plain files Postfix (/etc/postfix) ansible.builtin.copy: src: "{{ item.src_path }}" dest: "{{ item.dest_path }}" owner: root group: root mode: "0644" loop: "{{ copy_plain_files_postfix }}" loop_control: label: "dest: {{ item.name }}" when: - inventory_hostname in groups['mail_server'] - copy_plain_files_postfix is defined - copy_plain_files_postfix|length > 0 tags: - copy-files - copy-plain-files notify: "Reload postfwd" - name: (copy_files.yml) Copy host specific plain files Postfix (/etc/postfix) ansible.builtin.copy: src: "{{ item.src_path }}" dest: "{{ item.dest_path }}" owner: root group: root mode: "0644" loop: "{{ copy_plain_files_postfix_host_specific }}" loop_control: label: "dest: {{ item.name }}" when: - inventory_hostname in groups['mail_server'] - copy_plain_files_postfix_host_specific is defined - copy_plain_files_postfix_host_specific|length > 0 tags: - copy-files - copy-plain-files notify: "Reload postfwd" - name: (copy_files.yml) Copy plain files Postfix Firewall (postfwd) ansible.builtin.copy: src: "{{ item.src_path }}" dest: "{{ item.dest_path }}" owner: root group: root mode: "0644" loop: "{{ copy_plain_files_postfwd }}" loop_control: label: "dest: {{ item.name }}" when: - inventory_hostname in groups['mail_server'] - copy_plain_files_postfwd is defined - copy_plain_files_postfwd|length > 0 tags: - copy-files - copy-plain-files notify: "Reload postfwd" - name: (copy_files.yml) Copy host specific plain files Postfix Firewall (postfwd) ansible.builtin.copy: src: "{{ item.src_path }}" dest: "{{ item.dest_path }}" owner: root group: root mode: "0644" loop: "{{ copy_plain_files_postfwd_host_specific }}" loop_control: label: "dest: {{ item.name }}" when: - inventory_hostname in groups['mail_server'] - copy_plain_files_postfwd_host_specific is defined - copy_plain_files_postfwd_host_specific|length > 0 tags: - copy-files - copy-plain-files notify: "Reload postfwd" - name: (copy_files.yml) Copy template files ansible.builtin.template: src: "{{ item.src_path }}" dest: "{{ item.dest_path }}" owner: root group: root mode: "0644" loop: "{{ copy_template_files }}" loop_control: label: "dest: {{ item.name }}" when: - copy_template_files is defined - copy_template_files|length > 0 tags: - copy-files - copy-template-files # --- # Some final tasks # --- - name: Get checksum oif (possible upodated) file '/etc/postfix/relay_domains' exists ansible.builtin.stat: path: /etc/postfix/relay_domains register: relay_domains_new - name: (copy_files.yml) Get checksum of '/etc/postfix/relay_domains' ansible.builtin.set_fact: relay_domains_sha1_new: "{{ relay_domains_new.stat.checksum }}" when: - relay_domains_new.stat.exists - name: (copy_files.yml) Renew database /etc/postfix/relay_domains.db ansible.builtin.command: "/usr/sbin/postmap btree:/etc/postfix/relay_domains" when: - relay_domains_actual.stat.exists - relay_domains_new.stat.exists - relay_domains_actual.stat.checksum != relay_domains_new.stat.checksum notify: "Reload postfwd"