installation_RedHat.yml 1.6 KB

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