modules:
  # This module is for general HTTP checks, which accepts also redirects (30x) but no auth
  http_2xx:
    prober: http
    timeout: 5s
    http:
      valid_status_codes: [200, 201, 202, 204, 301, 302, 307, 308] 
      method: GET
      follow_redirects: true
      fail_if_ssl: false
      fail_if_not_ssl: false
      preferred_ip_protocol: "ip4"

  # This module is for the Keep API, which requires auth and accepts also redirects (30x) 
  http_keep_api:
    prober: http
    timeout: 5s
    http:
      valid_status_codes: [200, 201, 202, 204]
      method: GET
      headers:
        x-api-key: "585af6cc-5c07-427f-966f-a263473ad402"
      follow_redirects: true
      fail_if_ssl: false
      fail_if_not_ssl: false
      preferred_ip_protocol: "ip4"

  # This module is for the Keep UI, which accepts also redirects and auth (30x, 401, 403)
  http_keep_ui:
    prober: http
    timeout: 5s
    http:
      valid_status_codes: [200, 201, 202, 204, 301, 302, 307, 308, 401, 403]
      method: GET
      follow_redirects: false
      fail_if_ssl: false
      fail_if_not_ssl: false
      preferred_ip_protocol: "ip4"

  # This module is for the Keep database (postgres), which accepts also redirects and auth (30x, 401, 403)
  tcp_connect:
    prober: tcp
    timeout: 5s
    tcp:
      preferred_ip_protocol: "ip4"