---
- name: Install git
  yum:
    name: git-core
    state: installed

- name: Clone mergerfs repo
  shell:
    cmd: git clone https://github.com/trapexit/mergerfs.git
    chdir: /root
    creates: /root/mergerfs

- name: Query latest mergerfs version
  shell:
    cmd: git tag | sort -V | tail -1
    chdir: /root/mergerfs
  register: mergerfs_version
  changed_when: false

- name: Set mergerfs RPM path
  set_fact:
    mergerfs_rpm: /root/mergerfs/rpmbuild/RPMS/x86_64/mergerfs-{{ mergerfs_version.stdout }}-1.{{ 'el' if ansible_distribution == 'CentOS' else 'fc' }}{{ ansible_distribution_major_version }}.{{ ansible_architecture }}.rpm

- name: Download and build mergerfs
  shell:
    cmd: >
         git checkout {{ mergerfs_version.stdout }} &&
         tools/install-build-pkgs &&
         make rpm
    chdir: /root/mergerfs
    creates: "{{ mergerfs_rpm }}"

- name: Stat mergerfs build folder
  find:
    path: /root/mergerfs/rpmbuild/RPMS/x86_64
  register: mergerfs_build_folder

- name: Install mergerfs
  yum:
    name: "{{ mergerfs_build_folder.files[0].path }}"
    state: installed
    disable_gpg_check: yes
  when:
    - mergerfs_build_folder.files[0].path is defined

         
- name: Install mergerfs-tools prereqs
  package:
    name:
      - python3
      - rsync
    state: present

- name: Install mergerfs-tools
  copy:
    src: "{{ item }}"
    dest: /usr/local/bin/{{ item }}
    owner: root
    group: root
    mode: '0755'
  loop:
    - mergerfs.balance
    - mergerfs.consolidate
    - mergerfs.ctl
    - mergerfs.dedup
    - mergerfs.dup
    - mergerfs.fsck
    - mergerfs.mktrash