--- - name: Initial setup for rootless podman services include_tasks: setup.yml - name: Create users loop: "{{ services | dict2items }}" loop_control: label: "{{ item.key }}" include_tasks: create_user.yml vars: service_name: "{{ item.key }}" - name: Ensure Btrfs base path exists ansible.builtin.file: path: "{{ btrfs_base_path }}" state: directory mode: '0755' - name: Create Btrfs subvolume loop: "{{ services | dict2items }}" loop_control: label: "{{ item.key }}" include_tasks: create_btrfs_subvolume.yml vars: service_name: "{{ item.key }}" - name: Create service directories loop: "{{ services | dict2items }}" loop_control: label: "{{ item.key }}" include_tasks: create_service_directories.yml when: " item.value.service_directories is defined and item.value.service_directories | length > 0" vars: service_name: "{{ item.key }}" service_directories: "{{ item.value.service_directories }}" - name: Enable linger for the user loop: "{{ services | dict2items }}" loop_control: label: "{{ item.key }}" include_tasks: enable_linger.yml vars: service_name: "{{ item.key }}" - name: Install Secrets loop: "{{ services | dict2items }}" loop_control: label: "{{ item.key }}" include_tasks: secrets.yml vars: service_name: "{{ item.key }}" - name: Copy Quadlet files loop: "{{ services | dict2items }}" loop_control: label: "{{ item.key }}" include_tasks: copy_quadlet_files.yml vars: service_name: "{{ item.key }}" - name: Enable and start main service loop: "{{ services | dict2items }}" loop_control: label: "{{ item.key }}" include_tasks: enable_service.yml vars: service_name: "{{ item.key }}" systemd_service_name: "{{ item.value.systemd_service_name }}" force_systemd_restart: "{{ item.value.force_systemd_restart | default(false) }}"