# vim: ft=yaml.ansible --- - name: (Create and) open LUKS containers luks_device: uuid: "{{ item.disk.uuid }}" passphrase: "{{ item.disk.luks_pw }}" name: "{{ item.name }}" type: luks2 state: opened loop: - disk: "{{ secrets.hdd }}" name: "{{ hdd_name }}" - disk: "{{ secrets.ssd }}" name: "{{ ssd_name }}" - name: Create filesystems if they do not exist filesystem: dev: "/dev/mapper/{{ item }}" fstype: ext4 state: present loop: - "{{ hdd_name }}" - "{{ ssd_name }}" - name: Mount filesystems mount: src: "/dev/disk/by-uuid/{{ item.uuid }}" path: "{{ item.path }}" fstype: ext4 fstab: /dev/null state: mounted loop: - uuid: "{{ secrets.hdd.uuid }}" path: "{{ hdd_mount_point }}" - uuid: "{{ secrets.ssd.uuid }}" path: "{{ ssd_mount_point }}" - name: Check if swapfile is mounted shell: "swapon | grep -q '{{ ssd_mount_point }}/swapfile'" ignore_errors: true register: swap_mounted - name: Create swapfile community.general.filesize: path: "{{ ssd_mount_point }}/swapfile" size: 2G blocksize: 512B owner: root mode: u=rw,go= when: swap_mounted is undefined - name: Mount swapfile shell: | mkswap {{ ssd_mount_point }}/swapfile swapon {{ ssd_mount_point }}/swapfile when: swap_mounted is undefined