temporal
temporal copied to clipboard
Expose an HTTP Healthcheck for Temporal server
Is your feature request related to a problem? Please describe. Currently the Temporal services (specifically Frontend I believe) only supports a gRPC healthcheck. Due to infrastructure limitations at our company we can only make HTTP healthchecks.
Describe the solution you'd like Exposing a "/healthcheck" endpoint on the Frontend service so service deployment engines can utilize this endpoint if they can't support gRPC calls.
Describe alternatives you've considered For our use case we were able to find a workaround by having our deployment engines make TCP calls instead, but having an explicit HTTP endpoint would have simplified our onboarding to self hosted Temporal.
One option is to document using TCP if gRPC is unavailable.
If we wanted to add HTTP, would you just need an empty 200
response to this GET request?
GET /healthcheck HTTP/1.1
Yeah documenting using TCP instead would be good.
For the HTTP endpoint our services typically return back a 200
with a JSON response like:
{ "status" : "ok" }
But we could probably make it work with an empty response as well.
For TCP Nomad config, anything helpful I can add beyond this?
service {
check {
type = "tcp"
port = 7233
interval = "10s"
timeout = "2s"
}
I think that's sufficient, thanks Loren!
Is this resolved?
The pending question is whether we’d like to expose an HTTP endpoint as described
On Fri, Aug 19, 2022 at 1:56 PM Yimin Chen @.***> wrote:
Is this resolved?
— Reply to this email directly, view it on GitHub https://github.com/temporalio/temporal/issues/3247#issuecomment-1220954934, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAB5LGDUMPPLJMXFQEE4KFLVZ7DFFANCNFSM566J7BEQ . You are receiving this because you commented.Message ID: @.***>
We found a workaround for our system, but yes the ask is to expose an HTTP endpoint
HTTP API is WIP.