--- - name: set rpm_dist ansible.builtin.command: rpm --eval "%{dist}" register: rpm_dist tags: - packages - RedHat - config - name: set zfs repo facts set_fact: zfs_repo_base: https://zfsonlinux.org zfs_gpg_key: https://raw.githubusercontent.com/zfsonlinux/zfsonlinux.github.com/master/zfs-release/RPM-GPG-KEY-openzfs-key2 zfs_gpg_key_fingerprint: 7DC7 299D CF7C 7FD9 CD87 701B A599 FD5E 9DB8 4141 - name: el9+ specific configuration block: - name: set el9+ facts set_fact: rh_release: epel zfs_release: 2-3 when: - ansible_distribution != 'Fedora' # TODO: figure out a better way to identify EPEL based distros # TODO: Alma, rocky, centos, rhel tags: - packages - RedHat - config - name: Fedora specific configuration block: - name: set fedora facts set_fact: rh_release: fedora zfs_release: 2-6 when: ansible_distribution == 'Fedora' when: ansible_distribution == 'Fedora' - name: add openzfs gpg_key ansible.builtin.rpm_key: key: "{{ zfs_gpg_key }}" fingerprint: "{{ zfs_gpg_key_fingerprint }}" state: present become: true tags: - packages - RedHat - name: enable openzfs repository ansible.builtin.dnf: name: "{{ zfs_repo_base }}{{ rh_release }}/zfs-release-{{ zfs_release }}{{ rpm_dist.stdout }}.noarch.rpm" state: "{{ install_state }}" become: true tags: - packages - RedHat - name: append to pkgs set_fact: syspkgs: "{{ syspkgs + [ 'zfs' ] }}" become: true tags: - RedHat - packages