---

- set_fact:
    matrix_client_hydrogen_url_endpoint_public: "https://{{ matrix_server_fqn_hydrogen }}"

- name: Check Hydrogen
  uri:
    url: "{{ matrix_client_hydrogen_url_endpoint_public }}"
    follow_redirects: none
    validate_certs: "{{ matrix_client_hydrogen_self_check_validate_certificates }}"
  register: matrix_client_hydrogen_self_check_result
  check_mode: no
  ignore_errors: true

- name: Fail if Hydrogen not working
  fail:
    msg: "Failed checking Hydrogen is up at `{{ matrix_server_fqn_hydrogen }}` (checked endpoint: `{{ matrix_client_hydrogen_url_endpoint_public }}`). Is Hydrogen running? Is port 443 open in your firewall? Full error: {{ matrix_client_hydrogen_self_check_result }}"
  when: "matrix_client_hydrogen_self_check_result.failed or 'json' not in matrix_client_hydrogen_self_check_result"

- name: Report working Hydrogen
  debug:
    msg: "Hydrogen at `{{ matrix_server_fqn_hydrogen }}` is working (checked endpoint: `{{ matrix_client_hydrogen_url_endpoint_public }}`)"