main.yml 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. ---
  2. - name: Set OliveTin package Name
  3. ansible.builtin.set_fact:
  4. olivetin: OliveTin_linux_amd64.{{ 'deb' if ansible_os_family == "Debian" else 'rpm' }}
  5. - name: Check for existing OliveTin package
  6. ansible.builtin.stat:
  7. path: /root/{{ olivetin }}
  8. register: olivetin_pkg
  9. - name: Download OliveTin Package
  10. ansible.builtin.get_url:
  11. url: https://github.com/OliveTin/OliveTin/releases/latest/download/{{ olivetin }}
  12. dest: /root/{{ olivetin }}
  13. when:
  14. - olivetin_pkg.stat.exists == False
  15. - name: Install OliveTin (Debian)
  16. ansible.builtin.apt:
  17. deb: /root/{{ olivetin }}
  18. state: present
  19. when:
  20. - ansible_os_family == "Debian"
  21. - name: Install OliveTin (Fedora/CentOS)
  22. ansible.builtin.dnf:
  23. name: /root/{{ olivetin }}
  24. state: present
  25. disable_gpg_check: True
  26. when:
  27. - ansible_os_family == "RedHat"
  28. - name: Configure OliveTin
  29. ansible.builtin.copy:
  30. src: config.yaml_{{ ansible_hostname }}
  31. dest: /etc/OliveTin/config.yaml
  32. owner: root
  33. group: root
  34. mode: '0644'
  35. notify: Restart OliveTin
  36. - name: Create OliveTin systemd folder (Debian)
  37. ansible.builtin.file:
  38. path: /etc/systemd/system/OliveTin.service.d
  39. state: directory
  40. owner: root
  41. group: root
  42. mode: '0755'
  43. when:
  44. - ansible_os_family == "Debian"
  45. - name: Apply env var workaround (Debian)
  46. ansible.builtin.copy:
  47. dest: /etc/systemd/system/OliveTin.service.d/debian-fix.conf
  48. owner: root
  49. group: root
  50. mode: '0644'
  51. content: |
  52. [Service]
  53. Environment=HOME=/root
  54. when:
  55. - ansible_os_family == "Debian"
  56. notify:
  57. - Daemon Reload
  58. - Restart OliveTin
  59. - name: Flush handlers
  60. ansible.builtin.meta: flush_handlers
  61. - name: Start/Enable OliveTin
  62. ansible.builtin.systemd_service:
  63. name: OliveTin
  64. state: started
  65. enabled: yes