matrix-ntfy: add self-check
This commit is contained in:
parent
85b12b74a7
commit
763586e878
|
@ -1,5 +1,4 @@
|
|||
# TODO
|
||||
|
||||
- Self-check.
|
||||
- Mount the ntfy database to disk so subscriptions persist across restarts.
|
||||
- Authentication?
|
||||
|
|
|
@ -14,3 +14,6 @@ matrix_ntfy_container_http_host_bind_port: ''
|
|||
|
||||
# A list of extra arguments to pass to the container (`docker run` command)
|
||||
matrix_ntfy_container_extra_arguments: []
|
||||
|
||||
# Controls whether the self-check feature should validate SSL certificates.
|
||||
matrix_ntfy_self_check_validate_certificates: true
|
||||
|
|
|
@ -8,3 +8,10 @@
|
|||
tags:
|
||||
- setup-all
|
||||
- setup-ntfy
|
||||
|
||||
- import_tasks: "{{ role_path }}/tasks/self_check.yml"
|
||||
delegate_to: 127.0.0.1
|
||||
become: false
|
||||
when: "run_self_check|bool and matrix_ntfy_enabled|bool"
|
||||
tags:
|
||||
- self-check
|
||||
|
|
25
roles/matrix-ntfy/tasks/self_check.yml
Normal file
25
roles/matrix-ntfy/tasks/self_check.yml
Normal file
|
@ -0,0 +1,25 @@
|
|||
---
|
||||
|
||||
# Query an arbitrary ntfy topic using ntfy's UnifiedPush topic name syntax.
|
||||
# Expect an empty response (because we query 'since=1s').
|
||||
|
||||
- set_fact:
|
||||
matrix_ntfy_url_endpoint_public: "https://{{ matrix_server_fqn_ntfy }}/upSELFCHECK123/json?poll=1&since=1s"
|
||||
|
||||
- name: Check ntfy
|
||||
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
|
||||
|
||||
- name: Fail if ntfy not working
|
||||
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
|
||||
debug:
|
||||
msg: "ntfy at `{{ matrix_server_fqn_ntfy }}` is working (checked endpoint: `{{ matrix_ntfy_url_endpoint_public }}`)"
|
Loading…
Reference in a new issue