--- # Query an arbitrary ntfy topic using ntfy's UnifiedPush topic name syntax. # Expect an empty response (because we query 'since=1s'). - ansible.builtin.set_fact: matrix_ntfy_url_endpoint_public: "{{ matrix_ntfy_base_url }}/upSELFCHECK123/json?poll=1&since=1s" - name: Check ntfy ansible.builtin.uri: url: "{{ matrix_ntfy_url_endpoint_public }}" follow_redirects: none validate_certs: "{{ matrix_ntfy_self_check_validate_certificates }}" register: matrix_ntfy_self_check_result check_mode: false ignore_errors: true delegate_to: 127.0.0.1 become: false - name: Fail if ntfy not working ansible.builtin.fail: msg: "Failed checking ntfy is up at `{{ matrix_server_fqn_ntfy }}` (checked endpoint: `{{ matrix_ntfy_url_endpoint_public }}`). Is ntfy running? Is port 443 open in your firewall? Full error: {{ matrix_ntfy_self_check_result }}" when: "matrix_ntfy_self_check_result.failed" - name: Report working ntfy ansible.builtin.debug: msg: "ntfy at `{{ matrix_server_fqn_ntfy }}` is working (checked endpoint: `{{ matrix_ntfy_url_endpoint_public }}`)"