-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feat: Healthcheck endpoints in deploy #37
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good but we need to add these endpoints to metrics API too
// after the HTTP server starts. | ||
private val livenessEndpoint: PublicEndpoint[Unit, Nothing, Unit, Any] = | ||
infallibleEndpoint.in("health").in("live").get | ||
private val readinessEndpoint: PublicEndpoint[Unit, Nothing, Unit, Any] = |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we need 3 endpoints if all of them do exactly same thing for now?
(I don't have a strong preference) but I think it would make more sense to add more endpoints if and when we need them (we can start with just one)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
one advantage of 3 endpoints is that external users can hook up their startup/readiness/liveness probes to the endpoins and if we want to have different implementation in the future, they just upgrade, no need to change their helmrelease/whatever deployment.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Metrics server needs these too but can be a separate PR.
I don't remember how the startup is done now, but there we can start the http server before the "__consumer_offsets" topic is read until the end (we can still serve topic offsets). I don't have a strong opinion though, let's explore the options and discuss what's best.
5e9802c
to
0f14847
Compare
53f1801
to
161444f
Compare
234977a
to
0b5cf76
Compare
161444f
to
a1d38d4
Compare
Signed-off-by: Jordan Hall <[email protected]>
a1d38d4
to
8e705a2
Compare
Add the following HTTP healthcheck endpoints to the deploy service:
/health/live
/health/ready
/health/startup
Currently, these always return status code 200 (OK), as setup is always completed before HTTP server comes online.