71 lines
2.3 KiB
YAML
71 lines
2.3 KiB
YAML
# 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 zfs to pkg_sys
|
|
ansible.builtin.set_fact:
|
|
pkg_sys: "{{ pkg_sys + zfs.deps + zfs.pkgs }}"
|
|
|
|
- name: Append openzfs to pkg_cask
|
|
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
|