diff --git a/ansible/group_vars/all/main.yml b/ansible/group_vars/all/main.yml index 952df93..36d35f8 100644 --- a/ansible/group_vars/all/main.yml +++ b/ansible/group_vars/all/main.yml @@ -2,3 +2,8 @@ new_user: counterweight ssh_port: 22 allow_ssh_from: "any" root_domain: contrapeso.xyz + +# Uptime Kuma was decommissioned on 2026-09-11. The monitoring blocks in the +# playbooks are kept deliberately — the check logic is meant to be rewired to +# whatever replaces it. This flag keeps them inert until then. See archive/uptime_kuma/. +uptime_kuma_enabled: false diff --git a/ansible/infra_vars.yml b/ansible/infra_vars.yml index 952df93..36d35f8 100644 --- a/ansible/infra_vars.yml +++ b/ansible/infra_vars.yml @@ -2,3 +2,8 @@ new_user: counterweight ssh_port: 22 allow_ssh_from: "any" root_domain: contrapeso.xyz + +# Uptime Kuma was decommissioned on 2026-09-11. The monitoring blocks in the +# playbooks are kept deliberately — the check logic is meant to be rewired to +# whatever replaces it. This flag keeps them inert until then. See archive/uptime_kuma/. +uptime_kuma_enabled: false diff --git a/ansible/services/bitcoin-knots/deploy_bitcoin_knots_playbook.yml b/ansible/services/bitcoin-knots/deploy_bitcoin_knots_playbook.yml index f84d627..fcc02b4 100644 --- a/ansible/services/bitcoin-knots/deploy_bitcoin_knots_playbook.yml +++ b/ansible/services/bitcoin-knots/deploy_bitcoin_knots_playbook.yml @@ -439,7 +439,18 @@ debug: msg: "Bitcoin Knots RPC is {{ 'available' if rpc_check.status == 200 else 'not yet available' }}" + # ═════════════════════════════════════════════════════════════════════════ + # DEPRECATED — Uptime Kuma was decommissioned on 2026-09-11. + # + # Every task below is inert: uptime_kuma_enabled is false in + # group_vars/all/main.yml, so they all skip and the deployment above still + # runs normally. Kept because the health-check logic is the durable part — + # when a replacement exists, rewire the push transport and flip the flag. + # + # What was being monitored: archive/uptime_kuma/MONITORS.md + # ═════════════════════════════════════════════════════════════════════════ - name: Create Bitcoin Knots health check and push script + when: uptime_kuma_enabled | default(false) copy: dest: /usr/local/bin/bitcoin-knots-healthcheck-push.sh content: | @@ -534,6 +545,7 @@ mode: '0644' - name: Create systemd service for Bitcoin Knots health check + when: uptime_kuma_enabled | default(false) copy: dest: /etc/systemd/system/bitcoin-knots-healthcheck.service content: | @@ -566,6 +578,7 @@ state: started - name: Create Uptime Kuma push monitor setup script for Bitcoin Knots + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no copy: @@ -655,6 +668,7 @@ mode: '0755' - name: Create temporary config for monitor setup + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no copy: @@ -667,6 +681,7 @@ mode: '0644' - name: Run Uptime Kuma push monitor setup + when: uptime_kuma_enabled | default(false) command: python3 /tmp/setup_bitcoin_knots_monitor.py delegate_to: localhost become: no @@ -707,6 +722,7 @@ when: uptime_kuma_push_url | default('') != '' - name: Clean up temporary files + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no file: @@ -718,6 +734,7 @@ handlers: - name: Restart bitcoind + when: uptime_kuma_enabled | default(false) systemd: name: bitcoind state: restarted @@ -794,6 +811,7 @@ ignore_errors: yes - name: Display public endpoint + when: uptime_kuma_enabled | default(false) debug: msg: "Bitcoin P2P public endpoint: {{ ansible_host }}:{{ bitcoin_p2p_port }}" @@ -801,6 +819,7 @@ # Uptime Kuma TCP Monitor for Public P2P # =========================================== - name: Create Uptime Kuma TCP monitor setup script for Bitcoin P2P + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no copy: @@ -873,6 +892,7 @@ mode: '0755' - name: Create temporary config for TCP monitor setup + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no copy: @@ -887,6 +907,7 @@ mode: '0644' - name: Run Uptime Kuma TCP monitor setup + when: uptime_kuma_enabled | default(false) command: python3 /tmp/setup_bitcoin_p2p_tcp_monitor.py delegate_to: localhost become: no @@ -900,6 +921,7 @@ when: tcp_monitor_setup.stdout is defined - name: Clean up TCP monitor temporary files + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no file: diff --git a/ansible/services/datum-gateway/deploy_datum_gateway_playbook.yml b/ansible/services/datum-gateway/deploy_datum_gateway_playbook.yml index 5fa360c..3fa36d4 100644 --- a/ansible/services/datum-gateway/deploy_datum_gateway_playbook.yml +++ b/ansible/services/datum-gateway/deploy_datum_gateway_playbook.yml @@ -206,7 +206,18 @@ # =========================================== # Health Check Script + Systemd Timer # =========================================== + # ═════════════════════════════════════════════════════════════════════════ + # DEPRECATED — Uptime Kuma was decommissioned on 2026-09-11. + # + # Every task below is inert: uptime_kuma_enabled is false in + # group_vars/all/main.yml, so they all skip and the deployment above still + # runs normally. Kept because the health-check logic is the durable part — + # when a replacement exists, rewire the push transport and flip the flag. + # + # What was being monitored: archive/uptime_kuma/MONITORS.md + # ═════════════════════════════════════════════════════════════════════════ - name: Create DATUM Gateway health check script + when: uptime_kuma_enabled | default(false) copy: dest: /usr/local/bin/datum-gateway-healthcheck-push.sh content: | @@ -287,6 +298,7 @@ daemon_reload: yes - name: Enable and start datum-gateway health check timer + when: uptime_kuma_enabled | default(false) systemd: name: datum-gateway-healthcheck.timer enabled: yes @@ -296,6 +308,7 @@ # Uptime Kuma Push Monitor Setup # =========================================== - name: Create Uptime Kuma push monitor setup script for DATUM Gateway + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no copy: @@ -396,6 +409,7 @@ mode: "0755" - name: Create temporary config for push monitor setup + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no copy: @@ -408,6 +422,7 @@ mode: "0644" - name: Run Uptime Kuma push monitor setup + when: uptime_kuma_enabled | default(false) command: python3 /tmp/setup_datum_gateway_monitor.py delegate_to: localhost become: no @@ -421,6 +436,7 @@ when: monitor_setup.stdout is defined - name: Read push URL from file + when: uptime_kuma_enabled | default(false) slurp: src: /tmp/datum_gateway_push_url.txt delegate_to: localhost @@ -442,6 +458,7 @@ notify: Restart datum-gateway health check timer - name: Clean up temporary files + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no file: @@ -460,6 +477,7 @@ daemon_reload: yes - name: Restart datum-gateway health check timer + when: uptime_kuma_enabled | default(false) systemd: name: datum-gateway-healthcheck.timer state: restarted @@ -539,6 +557,7 @@ msg: "{{ caddy_reload.stdout_lines + caddy_reload.stderr_lines }}" - name: Display DATUM Gateway dashboard URL + when: uptime_kuma_enabled | default(false) debug: msg: "DATUM Gateway dashboard: https://{{ datum_gateway_domain }}" @@ -546,6 +565,7 @@ # Uptime Kuma HTTP Monitor for Public Dashboard # =========================================== - name: Create Uptime Kuma HTTP monitor setup script for DATUM dashboard + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no copy: @@ -621,6 +641,7 @@ mode: "0755" - name: Create temporary config for HTTP monitor + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no copy: @@ -634,6 +655,7 @@ mode: "0644" - name: Run Uptime Kuma HTTP monitor setup + when: uptime_kuma_enabled | default(false) command: python3 /tmp/setup_datum_http_monitor.py delegate_to: localhost become: no @@ -647,6 +669,7 @@ when: http_monitor_setup.stdout is defined - name: Clean up HTTP monitor temporary files + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no file: @@ -733,6 +756,7 @@ ignore_errors: yes - name: Display public Stratum endpoint + when: uptime_kuma_enabled | default(false) debug: msg: "DATUM Stratum public endpoint: {{ ansible_host }}:{{ datum_gateway_stratum_port }}" @@ -740,6 +764,7 @@ # Uptime Kuma TCP Monitor for Public Stratum # =========================================== - name: Create Uptime Kuma TCP monitor setup script for Stratum + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no copy: @@ -816,6 +841,7 @@ mode: "0755" - name: Create temporary config for Stratum TCP monitor + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no copy: @@ -830,6 +856,7 @@ mode: "0644" - name: Run Uptime Kuma TCP monitor setup + when: uptime_kuma_enabled | default(false) command: python3 /tmp/setup_datum_stratum_tcp_monitor.py delegate_to: localhost become: no @@ -843,6 +870,7 @@ when: tcp_monitor_setup.stdout is defined - name: Clean up Stratum TCP monitor temporary files + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no file: diff --git a/ansible/services/forgejo-runner/deploy_forgejo_runner_playbook.yml b/ansible/services/forgejo-runner/deploy_forgejo_runner_playbook.yml index d94f73c..bdc8428 100644 --- a/ansible/services/forgejo-runner/deploy_forgejo_runner_playbook.yml +++ b/ansible/services/forgejo-runner/deploy_forgejo_runner_playbook.yml @@ -147,7 +147,18 @@ register: runner_active changed_when: false + # ═════════════════════════════════════════════════════════════════════════ + # DEPRECATED — Uptime Kuma was decommissioned on 2026-09-11. + # + # Every task below is inert: uptime_kuma_enabled is false in + # group_vars/all/main.yml, so they all skip and the deployment above still + # runs normally. Kept because the health-check logic is the durable part — + # when a replacement exists, rewire the push transport and flip the flag. + # + # What was being monitored: archive/uptime_kuma/MONITORS.md + # ═════════════════════════════════════════════════════════════════════════ - name: Assert runner is running + when: uptime_kuma_enabled | default(false) assert: that: - runner_active.stdout == "active" @@ -155,6 +166,7 @@ # ── 10. Set up Uptime Kuma push monitor ──────────────────────────── - name: Create Uptime Kuma push monitor setup script + when: uptime_kuma_enabled | default(false) copy: dest: /tmp/setup_forgejo_runner_monitor.py content: | @@ -238,6 +250,7 @@ become: no - name: Run Uptime Kuma push monitor setup + when: uptime_kuma_enabled | default(false) command: > {{ ansible_playbook_python }} /tmp/setup_forgejo_runner_monitor.py @@ -256,10 +269,12 @@ changed_when: false - name: Parse monitor setup result + when: uptime_kuma_enabled | default(false) set_fact: monitor_info_parsed: "{{ monitor_setup_result.stdout | from_json }}" - name: Set push URL + when: uptime_kuma_enabled | default(false) set_fact: uptime_kuma_push_url: "{{ uptime_kuma_api_url }}/api/push/{{ monitor_info_parsed.push_token }}" @@ -272,6 +287,7 @@ mode: '0755' - name: Create forgejo-runner healthcheck script + when: uptime_kuma_enabled | default(false) copy: dest: "{{ healthcheck_script_path }}" content: | @@ -385,6 +401,7 @@ Timeout: {{ healthcheck_timeout_seconds }}s - name: Clean up temporary monitor setup script + when: uptime_kuma_enabled | default(false) file: path: /tmp/setup_forgejo_runner_monitor.py state: absent diff --git a/ansible/services/forgejo/deploy_forgejo_playbook.yml b/ansible/services/forgejo/deploy_forgejo_playbook.yml index ff865de..acb1473 100644 --- a/ansible/services/forgejo/deploy_forgejo_playbook.yml +++ b/ansible/services/forgejo/deploy_forgejo_playbook.yml @@ -118,7 +118,18 @@ - name: Reload Caddy to apply new config command: systemctl reload caddy + # ═════════════════════════════════════════════════════════════════════════ + # DEPRECATED — Uptime Kuma was decommissioned on 2026-09-11. + # + # Every task below is inert: uptime_kuma_enabled is false in + # group_vars/all/main.yml, so they all skip and the deployment above still + # runs normally. Kept because the health-check logic is the durable part — + # when a replacement exists, rewire the push transport and flip the flag. + # + # What was being monitored: archive/uptime_kuma/MONITORS.md + # ═════════════════════════════════════════════════════════════════════════ - name: Create Uptime Kuma monitor setup script for Forgejo + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no copy: @@ -193,6 +204,7 @@ mode: '0755' - name: Create temporary config for monitor setup + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no copy: @@ -206,6 +218,7 @@ mode: '0644' - name: Run Uptime Kuma monitor setup + when: uptime_kuma_enabled | default(false) command: python3 /tmp/setup_forgejo_monitor.py delegate_to: localhost become: no @@ -214,6 +227,7 @@ ignore_errors: yes - name: Clean up temporary files + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no file: diff --git a/ansible/services/fulcrum/deploy_fulcrum_playbook.yml b/ansible/services/fulcrum/deploy_fulcrum_playbook.yml index 6b17280..a1548a7 100644 --- a/ansible/services/fulcrum/deploy_fulcrum_playbook.yml +++ b/ansible/services/fulcrum/deploy_fulcrum_playbook.yml @@ -259,7 +259,18 @@ debug: msg: "Fulcrum service is {{ 'running' if fulcrum_service_status.status.ActiveState == 'active' else 'not running' }}" + # ═════════════════════════════════════════════════════════════════════════ + # DEPRECATED — Uptime Kuma was decommissioned on 2026-09-11. + # + # Every task below is inert: uptime_kuma_enabled is false in + # group_vars/all/main.yml, so they all skip and the deployment above still + # runs normally. Kept because the health-check logic is the durable part — + # when a replacement exists, rewire the push transport and flip the flag. + # + # What was being monitored: archive/uptime_kuma/MONITORS.md + # ═════════════════════════════════════════════════════════════════════════ - name: Create Fulcrum health check and push script + when: uptime_kuma_enabled | default(false) copy: dest: /usr/local/bin/fulcrum-healthcheck-push.sh content: | @@ -332,6 +343,7 @@ mode: '0644' - name: Create systemd service for Fulcrum health check + when: uptime_kuma_enabled | default(false) copy: dest: /etc/systemd/system/fulcrum-healthcheck.service content: | @@ -364,6 +376,7 @@ state: started - name: Create Uptime Kuma push monitor setup script for Fulcrum + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no copy: @@ -453,6 +466,7 @@ mode: '0755' - name: Create temporary config for monitor setup + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no copy: @@ -465,6 +479,7 @@ mode: '0644' - name: Run Uptime Kuma push monitor setup + when: uptime_kuma_enabled | default(false) command: python3 /tmp/setup_fulcrum_monitor.py delegate_to: localhost become: no @@ -505,6 +520,7 @@ when: uptime_kuma_push_url | default('') != '' - name: Clean up temporary files + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no file: @@ -518,6 +534,7 @@ handlers: - name: Restart fulcrum + when: uptime_kuma_enabled | default(false) systemd: name: fulcrum state: restarted @@ -593,6 +610,7 @@ ignore_errors: yes - name: Display public endpoint + when: uptime_kuma_enabled | default(false) debug: msg: "Fulcrum SSL public endpoint: {{ ansible_host }}:{{ fulcrum_ssl_port }}" @@ -600,6 +618,7 @@ # Uptime Kuma TCP Monitor for Public SSL Port # =========================================== - name: Create Uptime Kuma TCP monitor setup script for Fulcrum SSL + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no copy: @@ -672,6 +691,7 @@ mode: '0755' - name: Create temporary config for TCP monitor setup + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no copy: @@ -686,6 +706,7 @@ mode: '0644' - name: Run Uptime Kuma TCP monitor setup + when: uptime_kuma_enabled | default(false) command: python3 /tmp/setup_fulcrum_ssl_tcp_monitor.py delegate_to: localhost become: no @@ -699,6 +720,7 @@ when: tcp_monitor_setup.stdout is defined - name: Clean up TCP monitor temporary files + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no file: diff --git a/ansible/services/headscale/deploy_headscale_playbook.yml b/ansible/services/headscale/deploy_headscale_playbook.yml index 7ed81ed..61ba22e 100644 --- a/ansible/services/headscale/deploy_headscale_playbook.yml +++ b/ansible/services/headscale/deploy_headscale_playbook.yml @@ -264,7 +264,18 @@ become: yes command: systemctl reload caddy + # ═════════════════════════════════════════════════════════════════════════ + # DEPRECATED — Uptime Kuma was decommissioned on 2026-09-11. + # + # Every task below is inert: uptime_kuma_enabled is false in + # group_vars/all/main.yml, so they all skip and the deployment above still + # runs normally. Kept because the health-check logic is the durable part — + # when a replacement exists, rewire the push transport and flip the flag. + # + # What was being monitored: archive/uptime_kuma/MONITORS.md + # ═════════════════════════════════════════════════════════════════════════ - name: Create Uptime Kuma monitor setup script for Headscale + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no copy: @@ -339,6 +350,7 @@ mode: '0755' - name: Create temporary config for monitor setup + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no copy: @@ -352,6 +364,7 @@ mode: '0644' - name: Run Uptime Kuma monitor setup + when: uptime_kuma_enabled | default(false) command: python3 /tmp/setup_headscale_monitor.py delegate_to: localhost become: no @@ -360,6 +373,7 @@ ignore_errors: yes - name: Clean up temporary files + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no file: diff --git a/ansible/services/lnbits/deploy_lnbits_playbook.yml b/ansible/services/lnbits/deploy_lnbits_playbook.yml index 6df63f5..d596052 100644 --- a/ansible/services/lnbits/deploy_lnbits_playbook.yml +++ b/ansible/services/lnbits/deploy_lnbits_playbook.yml @@ -181,7 +181,18 @@ - name: Reload Caddy to apply new config command: systemctl reload caddy + # ═════════════════════════════════════════════════════════════════════════ + # DEPRECATED — Uptime Kuma was decommissioned on 2026-09-11. + # + # Every task below is inert: uptime_kuma_enabled is false in + # group_vars/all/main.yml, so they all skip and the deployment above still + # runs normally. Kept because the health-check logic is the durable part — + # when a replacement exists, rewire the push transport and flip the flag. + # + # What was being monitored: archive/uptime_kuma/MONITORS.md + # ═════════════════════════════════════════════════════════════════════════ - name: Create Uptime Kuma monitor setup script for LNBits + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no copy: @@ -256,6 +267,7 @@ mode: '0755' - name: Create temporary config for monitor setup + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no copy: @@ -269,6 +281,7 @@ mode: '0644' - name: Run Uptime Kuma monitor setup + when: uptime_kuma_enabled | default(false) command: python3 /tmp/setup_lnbits_monitor.py delegate_to: localhost become: no @@ -277,6 +290,7 @@ ignore_errors: yes - name: Clean up temporary files + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no file: diff --git a/ansible/services/memos/deploy_memos_playbook.yml b/ansible/services/memos/deploy_memos_playbook.yml index a823135..5ab254e 100644 --- a/ansible/services/memos/deploy_memos_playbook.yml +++ b/ansible/services/memos/deploy_memos_playbook.yml @@ -139,7 +139,18 @@ msg: "Memos is running on port {{ memos_port }}. Access via Tailscale at http://{{ memos_tailscale_hostname }}:{{ memos_port }}" handlers: + # ═════════════════════════════════════════════════════════════════════════ + # DEPRECATED — Uptime Kuma was decommissioned on 2026-09-11. + # + # Every task below is inert: uptime_kuma_enabled is false in + # group_vars/all/main.yml, so they all skip and the deployment above still + # runs normally. Kept because the health-check logic is the durable part — + # when a replacement exists, rewire the push transport and flip the flag. + # + # What was being monitored: archive/uptime_kuma/MONITORS.md + # ═════════════════════════════════════════════════════════════════════════ - name: Restart memos + when: uptime_kuma_enabled | default(false) systemd: name: memos state: restarted @@ -196,6 +207,7 @@ command: systemctl reload caddy - name: Create Uptime Kuma monitor setup script for Memos + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no copy: @@ -275,6 +287,7 @@ mode: '0755' - name: Create temporary config for monitor setup + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no copy: @@ -288,6 +301,7 @@ mode: '0644' - name: Run Uptime Kuma monitor setup + when: uptime_kuma_enabled | default(false) command: python3 /tmp/setup_memos_monitor.py delegate_to: localhost become: no @@ -296,6 +310,7 @@ ignore_errors: yes - name: Clean up temporary files + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no file: diff --git a/ansible/services/mempool/deploy_mempool_playbook.yml b/ansible/services/mempool/deploy_mempool_playbook.yml index c0fe51d..1dfea1b 100644 --- a/ansible/services/mempool/deploy_mempool_playbook.yml +++ b/ansible/services/mempool/deploy_mempool_playbook.yml @@ -226,7 +226,18 @@ delay: 5 ignore_errors: yes + # ═════════════════════════════════════════════════════════════════════════ + # DEPRECATED — Uptime Kuma was decommissioned on 2026-09-11. + # + # Every task below is inert: uptime_kuma_enabled is false in + # group_vars/all/main.yml, so they all skip and the deployment above still + # runs normally. Kept because the health-check logic is the durable part — + # when a replacement exists, rewire the push transport and flip the flag. + # + # What was being monitored: archive/uptime_kuma/MONITORS.md + # ═════════════════════════════════════════════════════════════════════════ - name: Display deployment status + when: uptime_kuma_enabled | default(false) debug: msg: - "Mempool deployment complete!" @@ -239,6 +250,7 @@ # Health Check Scripts for Uptime Kuma Push Monitors # =========================================== - name: Create Mempool MariaDB health check script + when: uptime_kuma_enabled | default(false) copy: dest: /usr/local/bin/mempool-mariadb-healthcheck-push.sh content: | @@ -273,6 +285,7 @@ mode: '0755' - name: Create Mempool backend health check script + when: uptime_kuma_enabled | default(false) copy: dest: /usr/local/bin/mempool-backend-healthcheck-push.sh content: | @@ -307,6 +320,7 @@ mode: '0755' - name: Create Mempool frontend health check script + when: uptime_kuma_enabled | default(false) copy: dest: /usr/local/bin/mempool-frontend-healthcheck-push.sh content: | @@ -396,6 +410,7 @@ daemon_reload: yes - name: Enable and start health check timers + when: uptime_kuma_enabled | default(false) systemd: name: "mempool-{{ item }}-healthcheck.timer" enabled: yes @@ -409,6 +424,7 @@ # Uptime Kuma Push Monitor Setup # =========================================== - name: Create Uptime Kuma push monitor setup script for Mempool + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no copy: @@ -492,6 +508,7 @@ mode: '0755' - name: Create temporary config for monitor setup + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no copy: @@ -507,6 +524,7 @@ mode: '0644' - name: Run Uptime Kuma push monitor setup + when: uptime_kuma_enabled | default(false) command: python3 /tmp/setup_mempool_monitors.py delegate_to: localhost become: no @@ -520,6 +538,7 @@ when: monitor_setup.stdout is defined - name: Read push URLs from file + when: uptime_kuma_enabled | default(false) slurp: src: /tmp/mempool_push_urls.yml delegate_to: localhost @@ -573,6 +592,7 @@ when: push_urls is defined - name: Clean up temporary files + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no file: @@ -637,6 +657,7 @@ state: reloaded - name: Display Mempool URL + when: uptime_kuma_enabled | default(false) debug: msg: "Mempool is now available at https://{{ mempool_domain }}" @@ -644,6 +665,7 @@ # Uptime Kuma HTTP Monitor for Public Endpoint # =========================================== - name: Create Uptime Kuma HTTP monitor setup script for Mempool + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no copy: @@ -714,6 +736,7 @@ mode: '0755' - name: Create temporary config for HTTP monitor setup + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no copy: @@ -727,6 +750,7 @@ mode: '0644' - name: Run Uptime Kuma HTTP monitor setup + when: uptime_kuma_enabled | default(false) command: python3 /tmp/setup_mempool_http_monitor.py delegate_to: localhost become: no @@ -740,6 +764,7 @@ when: http_monitor_setup.stdout is defined - name: Clean up HTTP monitor temporary files + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no file: diff --git a/ansible/services/ntfy-emergency-app/deploy_ntfy_emergency_app_playbook.yml b/ansible/services/ntfy-emergency-app/deploy_ntfy_emergency_app_playbook.yml index a04d6af..a8d97a6 100644 --- a/ansible/services/ntfy-emergency-app/deploy_ntfy_emergency_app_playbook.yml +++ b/ansible/services/ntfy-emergency-app/deploy_ntfy_emergency_app_playbook.yml @@ -79,7 +79,18 @@ - name: Reload Caddy to apply new config command: systemctl reload caddy + # ═════════════════════════════════════════════════════════════════════════ + # DEPRECATED — Uptime Kuma was decommissioned on 2026-09-11. + # + # Every task below is inert: uptime_kuma_enabled is false in + # group_vars/all/main.yml, so they all skip and the deployment above still + # runs normally. Kept because the health-check logic is the durable part — + # when a replacement exists, rewire the push transport and flip the flag. + # + # What was being monitored: archive/uptime_kuma/MONITORS.md + # ═════════════════════════════════════════════════════════════════════════ - name: Create Uptime Kuma monitor setup script for ntfy-emergency-app + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no copy: @@ -159,6 +170,7 @@ mode: '0755' - name: Create temporary config for monitor setup + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no copy: @@ -172,6 +184,7 @@ mode: '0644' - name: Run Uptime Kuma monitor setup + when: uptime_kuma_enabled | default(false) command: python3 /tmp/setup_ntfy_emergency_app_monitor.py delegate_to: localhost become: no @@ -180,6 +193,7 @@ ignore_errors: yes - name: Clean up temporary files + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no file: diff --git a/ansible/services/personal-blog/deploy_personal_blog_playbook.yml b/ansible/services/personal-blog/deploy_personal_blog_playbook.yml index 63bbae5..af7a1f3 100644 --- a/ansible/services/personal-blog/deploy_personal_blog_playbook.yml +++ b/ansible/services/personal-blog/deploy_personal_blog_playbook.yml @@ -82,7 +82,18 @@ - name: Reload Caddy to apply new config command: systemctl reload caddy + # ═════════════════════════════════════════════════════════════════════════ + # DEPRECATED — Uptime Kuma was decommissioned on 2026-09-11. + # + # Every task below is inert: uptime_kuma_enabled is false in + # group_vars/all/main.yml, so they all skip and the deployment above still + # runs normally. Kept because the health-check logic is the durable part — + # when a replacement exists, rewire the push transport and flip the flag. + # + # What was being monitored: archive/uptime_kuma/MONITORS.md + # ═════════════════════════════════════════════════════════════════════════ - name: Create Uptime Kuma monitor setup script for Personal Blog + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no copy: @@ -157,6 +168,7 @@ mode: '0755' - name: Create temporary config for monitor setup + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no copy: @@ -170,6 +182,7 @@ mode: '0644' - name: Run Uptime Kuma monitor setup + when: uptime_kuma_enabled | default(false) command: python3 /tmp/setup_personal_blog_monitor.py delegate_to: localhost become: no @@ -178,6 +191,7 @@ ignore_errors: yes - name: Clean up temporary files + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no file: diff --git a/ansible/services/phoenixd/deploy_phoenixd_playbook.yml b/ansible/services/phoenixd/deploy_phoenixd_playbook.yml index 9e465eb..f20ecdc 100644 --- a/ansible/services/phoenixd/deploy_phoenixd_playbook.yml +++ b/ansible/services/phoenixd/deploy_phoenixd_playbook.yml @@ -253,7 +253,18 @@ # =========================================== # Health Check Script + Systemd Timer # =========================================== + # ═════════════════════════════════════════════════════════════════════════ + # DEPRECATED — Uptime Kuma was decommissioned on 2026-09-11. + # + # Every task below is inert: uptime_kuma_enabled is false in + # group_vars/all/main.yml, so they all skip and the deployment above still + # runs normally. Kept because the health-check logic is the durable part — + # when a replacement exists, rewire the push transport and flip the flag. + # + # What was being monitored: archive/uptime_kuma/MONITORS.md + # ═════════════════════════════════════════════════════════════════════════ - name: Create phoenixd health check script + when: uptime_kuma_enabled | default(false) copy: dest: "{{ phoenixd_healthcheck_script_path }}" content: | @@ -340,6 +351,7 @@ daemon_reload: yes - name: Enable and start phoenixd health check timer + when: uptime_kuma_enabled | default(false) systemd: name: "{{ phoenixd_healthcheck_service_name }}.timer" enabled: yes @@ -349,6 +361,7 @@ # Uptime Kuma Push Monitor Setup # =========================================== - name: Create Uptime Kuma push monitor setup script for phoenixd + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no copy: @@ -443,6 +456,7 @@ mode: "0755" - name: Create temporary config for push monitor setup + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no copy: @@ -455,6 +469,7 @@ mode: "0644" - name: Run Uptime Kuma push monitor setup + when: uptime_kuma_enabled | default(false) command: python3 /tmp/setup_phoenixd_monitor.py delegate_to: localhost become: no @@ -468,6 +483,7 @@ when: monitor_setup.stdout is defined - name: Read push URL from file + when: uptime_kuma_enabled | default(false) slurp: src: /tmp/phoenixd_push_url.txt delegate_to: localhost @@ -489,6 +505,7 @@ notify: Restart phoenixd health check timer - name: Clean up temporary files + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no file: diff --git a/ansible/services/vaultwarden/deploy_vaultwarden_playbook.yml b/ansible/services/vaultwarden/deploy_vaultwarden_playbook.yml index 65f1f64..9868d13 100644 --- a/ansible/services/vaultwarden/deploy_vaultwarden_playbook.yml +++ b/ansible/services/vaultwarden/deploy_vaultwarden_playbook.yml @@ -111,7 +111,18 @@ - name: Reload Caddy to apply new config command: systemctl reload caddy + # ═════════════════════════════════════════════════════════════════════════ + # DEPRECATED — Uptime Kuma was decommissioned on 2026-09-11. + # + # Every task below is inert: uptime_kuma_enabled is false in + # group_vars/all/main.yml, so they all skip and the deployment above still + # runs normally. Kept because the health-check logic is the durable part — + # when a replacement exists, rewire the push transport and flip the flag. + # + # What was being monitored: archive/uptime_kuma/MONITORS.md + # ═════════════════════════════════════════════════════════════════════════ - name: Create Uptime Kuma monitor setup script for Vaultwarden + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no copy: @@ -191,6 +202,7 @@ mode: '0755' - name: Create temporary config for monitor setup + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no copy: @@ -204,6 +216,7 @@ mode: '0644' - name: Run Uptime Kuma monitor setup + when: uptime_kuma_enabled | default(false) command: python3 /tmp/setup_vaultwarden_monitor.py delegate_to: localhost become: no @@ -212,6 +225,7 @@ ignore_errors: yes - name: Clean up temporary files + when: uptime_kuma_enabled | default(false) delegate_to: localhost become: no file: