Skip to content

Connection test should verify every HTTP method ServicePulse uses against the ServiceControl API #3028

@ramonsmits

Description

@ramonsmits

Describe the suggested improvement

Is your improvement related to a problem? Please describe.

A customer's reverse proxy blocked HEAD and DELETE. The existing connection test only exercises GET, so it reported a healthy connection while core ServicePulse operations (count queries, message/group deletion) silently failed at runtime. The diagnostic that exists specifically to catch broken connectivity gave a green light on a broken setup.

Describe the suggested solution

Extend the connection test to probe each HTTP method ServicePulse depends on — GET, POST, PUT, PATCH, DELETE, HEAD, and the CORS preflight OPTIONS — against the ServiceControl API, and report per-method results.
Requirements:

  • Run from the browser, over the exact request path real traffic takes, so proxy method-filtering and CORS preflight failures are actually caught. A server-side probe defeats the purpose.
  • Non-destructive. Add a dedicated diagnostic endpoint on ServiceControl (e.g. /diagnostics/http-methods) that accepts each verb and echoes back the method it received. No probing of real resources, no side effects, no "just DELETE something and hope."
  • Per-method, actionable output. Report which verb failed and how (network error vs. proxy 405/403 vs. CORS preflight rejection vs. timeout), not a single pass/fail.
  • Apply to both the ServiceControl and Monitoring API connections, since they can sit behind different proxy rules.

Describe alternatives you've considered

Document the required HTTP methods and let operators configure their proxy.

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions