--- - name: Install Tianji Reporter hosts: vms:!apps # Tianji is already installed on apps node become: true vars: server_url: "https://tianji.thegrind.dev" workspace_id: "clnzoxcy10001vy2ohi4obbi0" tasks: - name: Ensure curl and wget are installed (Debian) ansible.builtin.apt: name: - curl - wget update_cache: true - name: Create install directory ansible.builtin.file: path: /usr/local/tianji/reporter state: directory mode: '0755' - name: Check if Tianji reporter binary already exists stat: path: /usr/local/tianji/reporter/tianji-reporter register: tianji_binary - name: Download Tianji reporter binary ansible.builtin.get_url: url: "https://github.com/msgbyte/tianji/releases/latest/download/tianji-reporter-linux-amd64" dest: /usr/local/tianji/reporter/tianji-reporter mode: '0755' when: not tianji_binary.stat.exists - name: Create systemd service ansible.builtin.copy: dest: /usr/lib/systemd/system/tianji-reporter.service content: | [Unit] Description=Tianji-Reporter Documentation=https://github.com/msgbyte/tianji After=network.target [Service] ExecStart=/usr/local/tianji/reporter/tianji-reporter --url "{{ server_url }}" --workspace "{{ workspace_id }}" ExecReload=/bin/kill -HUP $MAINPID Restart=on-failure [Install] WantedBy=multi-user.target mode: '0644' - name: Reload systemd ansible.builtin.systemd: daemon_reload: true - name: Enable and start Tianji reporter ansible.builtin.systemd: name: tianji-reporter enabled: true state: started