53 lines
1.4 KiB
YAML
53 lines
1.4 KiB
YAML
#storage_client/tasks/main.yml
|
|
- name: Install required packages
|
|
become: true
|
|
ansible.builtin.dnf:
|
|
name: "{{ item }}"
|
|
state: present
|
|
loop: "{{ base_storage_install_packages }}"
|
|
when: env == "prod"
|
|
|
|
- name: Install mergerfs repo package
|
|
become: true
|
|
ansible.builtin.dnf:
|
|
name: https://github.com/trapexit/mergerfs/releases/download/2.41.1/mergerfs-2.41.1-1.el10.x86_64.rpm
|
|
disable_gpg_check: true
|
|
state: present
|
|
when: env == "prod"
|
|
|
|
- name: Set storage mount directory list
|
|
ansible.builtin.set_fact:
|
|
dir_list: "{{ storage_drives + mergerfs }}"
|
|
when: env == "prod"
|
|
|
|
- name: Ensure storage mount directories exist
|
|
ansible.builtin.import_role:
|
|
name: container_runtime
|
|
tasks_from: directory
|
|
when: env == "prod"
|
|
|
|
- name: Mount filesystem by UUID
|
|
become: true
|
|
ansible.posix.mount:
|
|
path: "{{ item.path }}"
|
|
src: "UUID={{ item.uuid }}"
|
|
fstype: "{{ item.fstype }}"
|
|
opts: "{{ item.opts }}"
|
|
dump: "{{ item.dump }}"
|
|
passno: "{{ item.passno }}"
|
|
state: mounted
|
|
loop: "{{ storage_drives }}"
|
|
when: env == "prod"
|
|
|
|
- name: Mount mergerfs pool
|
|
become: true
|
|
ansible.posix.mount:
|
|
path: "{{ item.path }}"
|
|
src: "{{ item.src_path }}"
|
|
fstype: fuse.mergerfs
|
|
opts: "{{ item.opts }}"
|
|
dump: "{{ item.dump | default('0') }}"
|
|
passno: "{{ item.passno | default('0') }}"
|
|
state: mounted
|
|
loop: "{{ mergerfs }}"
|
|
when: env == "prod" |