--- # tasks file for podman - name: List current quadlets ansible.builtin.find: paths: "{{ podman_user_homedir }}/.config/containers/systemd" become: true register: current_quadlets - name: Extract list of undefined quadlets ansible.builtin.set_fact: podman_quadlets_undefined: >- {{ current_quadlets.files | map(attribute='path') | map('ansible.builtin.basename') | ansible.builtin.difference(podman_qualets_filenames) }} vars: podman_qualets_filenames: "{{ podman_quadlets | map('ansible.builtin.basename') }}" - name: Stop unwanted quadlets ansible.builtin.systemd_service: name: "{{ unit }}" state: stopped daemon_reload: true scope: user become: true become_user: "{{ podman_user }}" loop: "{{ podman_quadlets_undefined }}" loop_control: label: "{{ unit }}" vars: unit: >- {{ item | ansible.builtin.basename | ansible.builtin.regex_replace('\.container$', '.service') | ansible.builtin.regex_replace('\.network$', '-network.service') }} - name: Remove undefined quadlets ansible.builtin.file: path: "{{ podman_user_homedir }}/.config/containers/systemd/{{ item }}" state: absent become: true loop: "{{ podman_quadlets_undefined }}" - name: Deploy quadlets ansible.builtin.template: src: "{{ item }}.j2" dest: "{{ podman_user_homedir }}/.config/containers/systemd/{{ item | ansible.builtin.basename }}" owner: "{{ podman_user }}" group: "{{ podman_user }}" mode: u=rw,g=r,o= become: true loop: "{{ podman_quadlets }}" register: deployed_quadlets notify: Start or restart quadlets