installation_RedHat.yml 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. ---
  2. - name: Check if mergerfs is installed
  3. shell:
  4. cmd: rpm -q mergerfs
  5. register: mergerfs_check
  6. - name: Query latest mergerfs version
  7. uri:
  8. url: "https://api.github.com/repos/trapexit/mergerfs/releases/latest"
  9. return_content: yes
  10. headers:
  11. Accept: "application/vnd.github.v3+json"
  12. register: mergerfs_pkgs
  13. when:
  14. - '"mergerfs" not in mergerfs_check.stdout'
  15. - name: Create search string for finding correct package
  16. set_fact:
  17. pkg_info: "{{ 'el' if ansible_distribution == 'CentOS' else 'fc' }}{{ansible_distribution_major_version }}.{{ ansible_architecture }}.rpm"
  18. changed_when: false
  19. when:
  20. - '"mergerfs" not in mergerfs_check.stdout'
  21. - name: Find correct package
  22. set_fact:
  23. mergerfs_pkg_url: "{{ item }}"
  24. when:
  25. - pkg_info in item
  26. loop: "{{ mergerfs_pkgs.json.assets | map(attribute='browser_download_url') | list }}"
  27. when:
  28. - '"mergerfs" not in mergerfs_check.stdout'
  29. - name: Install mergerfs
  30. yum:
  31. name: "{{ mergerfs_pkg_url }}"
  32. state: installed
  33. disable_gpg_check: yes
  34. when:
  35. - '"mergerfs" not in mergerfs_check.stdout'
  36. - name: Install mergerfs-tools prereqs
  37. package:
  38. name:
  39. - python3
  40. - rsync
  41. state: present
  42. - name: Install mergerfs-tools
  43. copy:
  44. src: "{{ item }}"
  45. dest: /usr/local/bin/{{ item }}
  46. owner: root
  47. group: root
  48. mode: '0755'
  49. loop:
  50. - mergerfs.balance
  51. - mergerfs.consolidate
  52. - mergerfs.ctl
  53. - mergerfs.dedup
  54. - mergerfs.dup
  55. - mergerfs.fsck
  56. - mergerfs.mktrash