Skip to content

Add a health endpoint that returns an HTTP code based on the internal status #671

@HarleyRossetto

Description

@HarleyRossetto

Is your feature request related to a problem? Please describe.

When establishing monitoring systems for the Relay Proxy application deployments often need to provide custom scripts for parsing the /status endpoints payload, or in larger organisations, configure external systems to handle this parsing. The later can cause issues as you end up spreading detailed configurations for the application across multiple systems/boundaries that may not align with how the rest of the Relay Proxy application is managed (i.e. custom healthcheck parsers live within a org wide observability repository whilst the configs to deploy the relay proxy live in their own repository).
If the Relay Proxy could support additional signal mechanisms, this would reduce the monitoring configurations to just focus on the host/endpoint to call to determine system health.

Describe the solution you'd like

I'd like to see if there is the opportunity to add a new endpoint which varies its HTTP return code based on the applications overall status.

For example a /readyz which returns 200 OK when the internal status handler is statusRelayHealthy and a 503 Service Unavailable when the internal status is statusRelayDegraded.

Describe alternatives you've considered

An alternative would for the existing /status endpoint to return an HTTP code based on the .status field.
This would however affect existing installations which may be undesirable. Additionally, as it the /status return code at all might already be used as a liveness signal.

Is there any appetite to consider additional health endpoints to solve this?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No 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