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

[Feature]: Healthcheck #22

Open
1 task done
mrjvs opened this issue Jul 21, 2024 · 2 comments
Open
1 task done

[Feature]: Healthcheck #22

mrjvs opened this issue Jul 21, 2024 · 2 comments
Labels
approved The topic is approved by a developer feature A feature request

Comments

@mrjvs
Copy link
Contributor

mrjvs commented Jul 21, 2024

Checked Existing

  • I have checked the repository for duplicate issues.

What feature do you want to see added?

A way to healthcheck the service.

Why do you want to have this feature?

This is useful in infrastructure automations. It allows automation tooling to determine when a service is ready for connections or when a service is in an unrecoverable state in which it needs to restart.

Any other details to share? (OPTIONAL)

Healthcheck guidelines:

  • A healthcheck endpoint can be two types:
  • A healthcheck should report unhealthy if it hasn't finished initializing yet:
    • Still loading code: unhealthy
    • Loading files from file system: unhealthy
    • Connecting to a third party service: healthy
  • A healthcheck should only report unhealthy after initialisation if it's truly unrecoverable:
    • Deadlocked?: unhealthy
    • Cant reach db: still healthy
    • Can't read any files from disk: unhealthy
    • Note: You may still return the status of third party services, just dont mark it as unhealthy if it fails that check.
  • A good minimal healthcheck would be one that returns healthy if it's done initializing (without counting third party connections)
@mrjvs mrjvs added awaiting-approval Topic has not been approved or denied feature A feature request labels Jul 21, 2024
@jonbarrow
Copy link
Member

Is there a typo here or am I misunderstanding something? You say both:

A healthcheck should report unhealthy if it hasn't finished initializing

and

A healthcheck should only report unhealthy if it's truly unrecoverable

Which are mutually exclusive things

@mrjvs
Copy link
Contributor Author

mrjvs commented Jul 22, 2024

you're right @jonbarrow, I updated the wording a bit. its unhealthy only if it hasnt finished initializing or if its in an unrecoverable state.

@wolfendale wolfendale added approved The topic is approved by a developer and removed awaiting-approval Topic has not been approved or denied labels Jul 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved The topic is approved by a developer feature A feature request
Projects
None yet
Development

No branches or pull requests

3 participants