homelab-ansible/playbooks/nodes/tianji-reporter.yml
2025-07-08 15:07:56 -04:00

63 lines
1.8 KiB
YAML

---
- name: Install Tianji Reporter
# hosts: vms:!apps # Tianji is already installed on apps node
# hosts: "{{ (groups['vms'] + groups['proxies']) | unique }}"
hosts: caddy_external
become: true
vars:
server_url: "http://10.89.0.108:7074"
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: reloaded