modules:
  vaultwarden_http:
    prober: http
    timeout: 5s
    http:
      preferred_ip_protocol: "ip4"
      valid_status_codes: [200, 302, 401]  # 401 is expected for unauthenticated requests
      headers:
        User-Agent: "Vaultwarden-Monitor/1.0"
      fail_if_ssl: false
      fail_if_not_ssl: false

  vaultwarden_api:
    prober: http
    timeout: 10s
    http:
      preferred_ip_protocol: "ip4"
      valid_status_codes: [200, 401, 403]  # API endpoints
      headers:
        User-Agent: "Vaultwarden-API-Monitor/1.0"
        Accept: "application/json"
      fail_if_ssl: false
      fail_if_not_ssl: false

  vaultwarden_login:
    prober: http
    timeout: 15s
    http:
      preferred_ip_protocol: "ip4"
      valid_status_codes: [200, 302, 401]
      method: POST
      headers:
        User-Agent: "Vaultwarden-Login-Monitor/1.0"
        Content-Type: "application/json"
      body: '{"email":"test@example.com","password":"test"}'
      fail_if_ssl: false
      fail_if_not_ssl: false

  vaultwarden_websocket:
    prober: http
    timeout: 5s
    http:
      preferred_ip_protocol: "ip4"
      valid_status_codes: [101, 200, 302]  # 101 for WebSocket upgrade
      headers:
        User-Agent: "Vaultwarden-WebSocket-Monitor/1.0"
        Upgrade: "websocket"
        Connection: "Upgrade"
      fail_if_ssl: false
      fail_if_not_ssl: false
