From 172d49be256d6cacce9a5af9c7fd44d59c6cc99b Mon Sep 17 00:00:00 2001 From: Javier Feliz Date: Fri, 4 Jul 2025 02:46:10 -0400 Subject: [PATCH] Bangers only --- playbooks/nodes/apps.yml | 5 ++- playbooks/nodes/tianji-reporter.yml | 60 +++++++++++++++++++++++++++++ roles/apps/tianji/defaults/main.yml | 0 roles/apps/tianji/tasks/main.yml | 20 ++++++++++ 4 files changed, 84 insertions(+), 1 deletion(-) create mode 100644 playbooks/nodes/tianji-reporter.yml create mode 100644 roles/apps/tianji/defaults/main.yml create mode 100644 roles/apps/tianji/tasks/main.yml diff --git a/playbooks/nodes/apps.yml b/playbooks/nodes/apps.yml index b94a01f..fafbd8a 100644 --- a/playbooks/nodes/apps.yml +++ b/playbooks/nodes/apps.yml @@ -14,4 +14,7 @@ port: 7072 - role: apps/erugo vars: - port: 7073 \ No newline at end of file + port: 7073 + - role: apps/tianji + vars: + port: 7074 \ No newline at end of file diff --git a/playbooks/nodes/tianji-reporter.yml b/playbooks/nodes/tianji-reporter.yml new file mode 100644 index 0000000..20de217 --- /dev/null +++ b/playbooks/nodes/tianji-reporter.yml @@ -0,0 +1,60 @@ +--- +- 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 diff --git a/roles/apps/tianji/defaults/main.yml b/roles/apps/tianji/defaults/main.yml new file mode 100644 index 0000000..e69de29 diff --git a/roles/apps/tianji/tasks/main.yml b/roles/apps/tianji/tasks/main.yml new file mode 100644 index 0000000..d546ee9 --- /dev/null +++ b/roles/apps/tianji/tasks/main.yml @@ -0,0 +1,20 @@ +- name: Create app DB + ansible.builtin.include_role: + name: app/database + vars: + app_name: tianji + +- name: Create tianji container + community.docker.docker_container: + name: tianji + image: moonrailgun/tianji + pull: true + state: started + restart_policy: always + ports: + - "{{ port }}:12345" + env: + DATABASE_URL: postgresql://tianji:password@10.89.0.102:5432/tianji + JWT_SECRET: 7RpgjEwcb3lQOjT25sRXYg== + ALLOW_REGISTER: "false" + ALLOW_OPENAPI: "true" \ No newline at end of file