main.yml 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  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
  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. - name: Apply env var workaround
  44. ansible.builtin.copy:
  45. dest: /etc/systemd/system/OliveTin.service.d/env-home-fix.conf
  46. owner: root
  47. group: root
  48. mode: '0644'
  49. content: |
  50. [Service]
  51. Environment=HOME=/root
  52. notify:
  53. - Daemon Reload
  54. - Restart OliveTin
  55. - name: Flush handlers
  56. ansible.builtin.meta: flush_handlers
  57. - name: Start/Enable OliveTin
  58. ansible.builtin.systemd_service:
  59. name: OliveTin
  60. state: started
  61. enabled: yes