feat(role): Initial commit

This commit is contained in:
2025-04-03 00:12:58 +02:00
parent 3e9b2ba91a
commit cf55d8b20e
11 changed files with 299 additions and 2 deletions

View File

@@ -0,0 +1,28 @@
# SPDX-License-Identifier: MIT
- name: 'Check if ZFS functional'
register: 'genvm_archlinux_zfs_pacman_cache_os_has_functional_zfs'
changed_when: false
failed_when: false
ansible.builtin.shell: |
zpool list
- name: 'If ZFS functional check if pacman cache dataset exists'
when: 'genvm_archlinux_zfs_pacman_cache_os_has_functional_zfs.rc == 0'
register: 'genvm_archlinux_zfs_pacman_cache_zfs_has_pacman_cache_dataset'
changed_when: false
failed_when: false
ansible.builtin.shell: |
zfs list zpool/data/var/cache/pacman/pkg
- name: 'If no pacman cache dataset exists create dataset'
when: 'genvm_archlinux_zfs_pacman_cache_zfs_has_pacman_cache_dataset.rc > 0'
register: 'genvm_archlinux_zfs_pacman_cache_pacman_cache_dir_was_temp_moved'
changed_when: 'genvm_archlinux_zfs_pacman_cache_pacman_cache_dir_was_temp_moved.rc == 0'
ansible.builtin.shell: |
mv '/var/cache/pacman/pkg'{,'.bak'} && \
if ! zfs list zpool/data/var &>/dev/null; then zfs create -o canmount=off zpool/data/var; fi && \
if ! zfs list zpool/data/var/cache &>/dev/null; then zfs create -o canmount=off zpool/data/var/cache; fi && \
if ! zfs list zpool/data/var/cache/pacman &>/dev/null; then zfs create -o canmount=off zpool/data/var/cache/pacman; fi && \
zfs create zpool/data/var/cache/pacman/pkg && \
rsync -a --remove-source-files '/var/cache/pacman/pkg'{'.bak',}'/' && \
find '/var/cache/pacman/pkg.bak' -type d -empty -delete