Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # 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
# for free to join this conversation on GitHub. Already have an account? # 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