--- # Everything here answers "is DATUM Gateway healthy" and records the answer. The # Uptime Kuma specifics that used to follow — an embedded Python script creating # monitors over the API, a /tmp credentials file, a push-URL file read back and # parsed, and a systemd Environment= rewrite — are gone. Where it reports is now # one variable, healthcheck_push_url. - name: Create DATUM Gateway health check script ansible.builtin.template: src: healthcheck.sh.j2 dest: /usr/local/bin/datum-gateway-healthcheck-push.sh owner: root group: root mode: '0755' validate: "bash -n %s" - name: Create datum-gateway health check systemd service ansible.builtin.template: src: healthcheck.service.j2 dest: /etc/systemd/system/datum-gateway-healthcheck.service owner: root group: root mode: '0644' notify: Restart datum-gateway health check timer - name: Create datum-gateway health check systemd timer ansible.builtin.template: src: healthcheck.timer.j2 dest: /etc/systemd/system/datum-gateway-healthcheck.timer owner: root group: root mode: '0644' notify: Restart datum-gateway health check timer - name: Reload systemd daemon after health check units systemd: daemon_reload: yes # Ungated: enabling a timer is deployment, not monitoring. - name: Enable and restart the datum-gateway health check timer systemd: name: datum-gateway-healthcheck.timer enabled: yes state: restarted daemon_reload: yes # Arms the timer and smoke-tests the check. See roles/bitcoin_knots/README.md for # why restarting the timer alone is not enough with OnBootSec + OnUnitActiveSec. - name: Run the DATUM Gateway health check once to arm the timer command: systemctl start datum-gateway-healthcheck.service changed_when: false