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 endpoints to be more intuitive #580

Closed
4 of 6 tasks
Demonsthere opened this issue Aug 9, 2022 · 1 comment
Closed
4 of 6 tasks

Refactor health endpoints to be more intuitive #580

Demonsthere opened this issue Aug 9, 2022 · 1 comment
Labels
feat New feature or request. stale Feedback from one or more authors is required to proceed.

Comments

@Demonsthere
Copy link
Contributor

Preflight checklist

Describe your problem

Currently all Ory components expose 2 main health endpoints: /ready and /alive. Their naming convention corresponds, and is used in k8s probes: readinessProbe and livenessProbes, which causes an issue, as what the endpoints return is actually different:

  • the /ready endpoint:
// Check readiness status
//
// This endpoint returns a 200 status code when the HTTP server is up running and the environment dependencies (e.g.
// the database) are responsive as well.
  • the alive endpoint:
// Check alive status
//
// This endpoint returns a 200 status code when the HTTP server is up running.
// This status does currently not include checks whether the database connection is working.

Describe your ideal solution

The endpoints correspond better to the probes, or are more flexible (by adding more specific endpoints like /health/ready/db and follow the pattern:

/alive - responds with error when the applications is in a state that would require it to be restarted (dropped connection to db, which cannot be reestablished, some fatal error occurred)

/ready - responds with error, when the application is not ready to serve requests yet (migration is not ready, some other pre-requisite has not yet occurred). This check should suggest that the application is starting up, and should not yet serve clients, but it is not an error state that would require it to be restarted.

Workarounds or alternatives

Creating custom logic on application management level which would allow for the described solution, but without modifying the applications itself . Imho we should do it in the source code itself

Version

current

Additional Context

No response

@github-actions
Copy link

Hello contributors!

I am marking this issue as stale as it has not received any engagement from the community or maintainers for a year. That does not imply that the issue has no merit! If you feel strongly about this issue

  • open a PR referencing and resolving the issue;
  • leave a comment on it and discuss ideas on how you could contribute towards resolving it;
  • leave a comment and describe in detail why this issue is critical for your use case;
  • open a new issue with updated details and a plan for resolving the issue.

Throughout its lifetime, Ory has received over 10.000 issues and PRs. To sustain that growth, we need to prioritize and focus on issues that are important to the community. A good indication of importance, and thus priority, is activity on a topic.

Unfortunately, burnout has become a topic of concern amongst open-source projects.

It can lead to severe personal and health issues as well as opening catastrophic attack vectors.

The motivation for this automation is to help prioritize issues in the backlog and not ignore, reject, or belittle anyone.

If this issue was marked as stale erroneously you can exempt it by adding the backlog label, assigning someone, or setting a milestone for it.

Thank you for your understanding and to anyone who participated in the conversation! And as written above, please do participate in the conversation if this topic is important to you!

Thank you 🙏✌️

@github-actions github-actions bot added the stale Feedback from one or more authors is required to proceed. label Aug 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feat New feature or request. stale Feedback from one or more authors is required to proceed.
Projects
None yet
Development

No branches or pull requests

1 participant