- name: User journal-postfix ansible.builtin.user: name: journal-postfix group: systemd-journal state: present system: true uid: 420 create_home: false home: /srv/journal-postfix password: '!' password_lock: true comment: created by ansible role journal-postfix - name: Directories /srv/journal-postfix, /etc/journal-postfix ansible.builtin.file: path: "{{ item }}" state: directory owner: journal-postfix group: systemd-journal mode: "0755" loop: - /srv/journal-postfix - /etc/journal-postfix - name: Install dependencies ansible.builtin.apt: name: python3-psycopg2,python3-systemd,python3-yaml state: present update_cache: true install_recommends: false - name: Files in /srv/journal-postfix ansible.builtin.copy: src: "srv/{{ item }}" dest: "/srv/journal-postfix/{{ item }}" owner: journal-postfix group: systemd-journal mode: "0644" force: true loop: - run.py - settings.py - sources.py - parser.py - storage.py - storage_setup.py - README.md - setup.cfg - name: Make some files executable ansible.builtin.file: path: "{{ item }}" mode: "0755" loop: - /srv/journal-postfix/run.py - /srv/journal-postfix/settings.py - name: Determine whether to startup ansible.builtin.set_fact: startup: >- {{ (mailserver.postgresql.host is defined and mailserver.postgresql.port is defined and mailserver.postgresql.dbname is defined and mailserver.postgresql.username is defined and mailserver.postgresql.password is defined) | bool }} - name: File /etc/journal-postfix/main.yml ansible.builtin.template: src: main.yml dest: /etc/journal-postfix/main.yml owner: journal-postfix group: systemd-journal mode: "0600" force: false - name: File journal-postfix.service ansible.builtin.copy: src: journal-postfix.service dest: /etc/systemd/system/journal-postfix.service owner: root group: root mode: "0644" force: true - name: Enable systemd unit journal-postfix.service ansible.builtin.systemd: enabled: true daemon_reload: true name: journal-postfix.service - name: Restart systemd unit journal-postfix.service ansible.builtin.systemd: state: restarted name: journal-postfix.service when: startup