--- - name: Set OliveTin package Name ansible.builtin.set_fact: olivetin: OliveTin_linux_amd64.{{ 'deb' if ansible_os_family == "Debian" else 'rpm' }} - name: Check for existing OliveTin package ansible.builtin.stat: path: /root/{{ olivetin }} register: olivetin_pkg - name: Download OliveTin Package ansible.builtin.get_url: url: https://github.com/OliveTin/OliveTin/releases/latest/download/{{ olivetin }} dest: /root/{{ olivetin }} when: - olivetin_pkg.stat.exists == False - name: Install OliveTin (Debian) ansible.builtin.apt: deb: /root/{{ olivetin }} state: present when: - ansible_os_family == "Debian" - name: Install OliveTin (Fedora/CentOS) ansible.builtin.dnf: name: /root/{{ olivetin }} state: present disable_gpg_check: True when: - ansible_os_family == "RedHat" - name: Configure OliveTin ansible.builtin.copy: src: config.yaml_{{ ansible_hostname }} dest: /etc/OliveTin/config.yaml owner: root group: root mode: '0644' notify: Restart OliveTin - name: Create OliveTin systemd folder (Debian) ansible.builtin.file: path: /etc/systemd/system/OliveTin.service.d state: directory owner: root group: root mode: '0755' when: - ansible_os_family == "Debian" - name: Apply env var workaround (Debian) ansible.builtin.copy: dest: /etc/systemd/system/OliveTin.service.d/debian-fix.conf owner: root group: root mode: '0644' content: | [Service] Environment=HOME=/root when: - ansible_os_family == "Debian" notify: - Daemon Reload - Restart OliveTin - name: Flush handlers ansible.builtin.meta: flush_handlers - name: Start/Enable OliveTin ansible.builtin.systemd_service: name: OliveTin state: started enabled: yes