--- # 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') | # ansible.builtin.regex_replace('\.volume$', '-volume.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.template | default(item) }}.j2" dest: "{{ podman_user_homedir }}/.config/containers/systemd/{{ item.filename | default(item) | ansible.builtin.basename }}" owner: "{{ podman_user }}" group: "{{ podman_user }}" mode: u=rw,g=r,o= become: true loop: "{{ podman_quadlets }}" loop_control: label: "{{ item.filename | default(item) }}" register: deployed_quadlets notify: Start or restart quadlets - name: Flush handlers ansible.builtin.meta: flush_handlers