# vim: set filetype=yaml.ansible : --- - name: Add zfs when: - zfs_configured is undefined block: - name: Load zfs config ansible.builtin.include_tasks: file: config/zfs.yml - name: Linux based installation when: - ansible_system == 'Linux' block: - name: RedHat based configuration when: - ansible_os_family == 'RedHat' block: - name: Add openzfs gpg_key become: "{{ sys_pkg_become }}" ansible.builtin.rpm_key: key: "{{ zfs.gpg_key }}" fingerprint: "{{ zfs.gpg_fp }}" state: present - name: Enable openzfs repository become: "{{ sys_pkg_become }}" ansible.builtin.dnf: name: "{{ zfs.repo_pkg }}" disable_gpg_check: "{{ zfs.skip_gpg_check }}" state: present - name: Debian configuration when: - ansible_os_family == 'Debian' block: - name: Enable openzfs repository become: "{{ sys_pkg_become }}" ansible.builtin.apt_repository: repo: | deb http://deb.debian.org/debian {{ zfs.release }}-backports main contrib deb-src http://deb.debian.org/debian {{ zfs.release }}-backports main contrib filename: "{{ zfs.release }}-backports" state: present update_cache: false - name: Pin zfs package to backports become: "{{ sys_pkg_become }}" ansible.builtin.copy: dest: /etc/apt/preferences.d/90_zfs state: file mode: '0644' content: | Package: src:zfs-linux Pin: release n={{ zfs.release }}-backports Pin-Priority: 990 - name: Append to pkgs ansible.builtin.set_fact: pkg_sys: "{{ pkg_sys + zfs.deps + zfs.pkgs }}" - name: Append to caskpkgs when: - ansible_os_family == 'Darwin' ansible.builtin.set_fact: pkg_cask: "{{ pkg_cask + ['openzfs'] }}" - name: Set zfs_configured ansible.builtin.set_fact: zfs_configured: true