Skip to content
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

Refactor health checks #1941

Closed
sagikazarmark opened this issue Jan 15, 2021 · 0 comments · Fixed by #1980
Closed

Refactor health checks #1941

sagikazarmark opened this issue Jan 15, 2021 · 0 comments · Fixed by #1980

Comments

@sagikazarmark
Copy link
Member

Is your feature request related to a problem?

Since the health check actually relies on the state of underlying storage, it's not suitable for both liveness and readiness check in Kubernetes.

Describe the solution you'd like to see

Add separate liveness and readiness health checks.

Move health checks to the telemetry server, because it's only needed internally.

Liveness check should always just return "ok", readiness check should be what the health check is at the moment.

Consider using go-sundheit (beware that it imports a couple heavy/unnecessary dependencies). It's also in line with #1386 and #1397

Describe alternatives you've considered

Additional context

#853 points out that the current health check causes Dex to fail when the underlying storage is unavailable. Separating liveness and readiness checks would definitely be an improvement, but might not be enough to improve that situation. Although readiness checks should clearly signal when a pod is unable to serve traffic (and in case of a failing/unavailable storage that is the case), Dex is not HA at the moment (there are some GC jobs internally that should not run in parallel), so taking the single pod out of traffic would make Dex become completely unavailable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant