Просмотр исходного кода

matrix-ntfy: add self-check

pull/1918/head
Julian Foad 3 лет назад
Родитель
Сommit
763586e878
4 измененных файлов: 35 добавлений и 1 удалений
  1. +0
    -1
      roles/matrix-ntfy/README.md
  2. +3
    -0
      roles/matrix-ntfy/defaults/main.yml
  3. +7
    -0
      roles/matrix-ntfy/tasks/main.yml
  4. +25
    -0
      roles/matrix-ntfy/tasks/self_check.yml

+ 0
- 1
roles/matrix-ntfy/README.md Просмотреть файл

@@ -1,5 +1,4 @@
# TODO

- Self-check.
- Mount the ntfy database to disk so subscriptions persist across restarts.
- Authentication?

+ 3
- 0
roles/matrix-ntfy/defaults/main.yml Просмотреть файл

@@ -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

+ 7
- 0
roles/matrix-ntfy/tasks/main.yml Просмотреть файл

@@ -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
- 0
roles/matrix-ntfy/tasks/self_check.yml Просмотреть файл

@@ -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 }}`)"

Загрузка…
Отмена
Сохранить