Coder Social home page Coder Social logo

`health` link relation about rfc-healthcheck HOT 10 OPEN

inadarei avatar inadarei commented on June 14, 2024
`health` link relation

from rfc-healthcheck.

Comments (10)

dret avatar dret commented on June 14, 2024 2

from rfc-healthcheck.

dret avatar dret commented on June 14, 2024

from rfc-healthcheck.

inadarei avatar inadarei commented on June 14, 2024

Yeap, I think Erik's "status" link rel would be the one. We should reference it somehow from this spec.

from rfc-healthcheck.

inadarei avatar inadarei commented on June 14, 2024

@todo: reference status link rel from the spec.

from rfc-healthcheck.

mogsie avatar mogsie commented on June 14, 2024

Have you considered using well-known URIs (with associated registry) and include a registration for a well known URI /.well-known/health ?

from rfc-healthcheck.

inadarei avatar inadarei commented on June 14, 2024

Since the RFC defines content format and not the address (e.g. in Kubernetes the format would be used by two endpoints for liveness checks and readiness checks), these kind of things may only be defined in an FAQ section of the RFC as the additional suggestions.

That said, speaking of well-known URIs specifically, the spec has been standard for over 8 years but I personally haven't seen it in common usage. Is it just me? What are some prominent usages of well-known URIs that you know?

from rfc-healthcheck.

mogsie avatar mogsie commented on June 14, 2024

Off the top of my head ACME Challenges stands out as the one big success story. The well-known registry itself has numerous entries, so presumably it's being used, but like with ACME challenges, in places where we don't notice.

Registering a .well-known name is just a nice way of "getting out of the way" of the primary namespace of the host, and might ease discoverability by way of a management server simply ask GET /.well-known/health without having to discover the resource URI; an origin is enough. Either it gets an application/health+json document, or it doesn't.

from rfc-healthcheck.

dret avatar dret commented on June 14, 2024

from rfc-healthcheck.

mogsie avatar mogsie commented on June 14, 2024

I am not arguing against using links to discover the health of a system, because I do recognise that an API might want to link to a health resource to allow clients of that API to react accordingly. (For example, api.example.com might have a link to health.example.com/api to report on the API's health.)

However, I also see situations where you have a large set of heterogeneous components (e.g. APIs, web pages, caches) that might have little in common when it comes to media types (home documents), but that might all (because of an internal service policy) expose some notion of health using application/health+json. Having to go through some home document to look for the health resource seems wasteful, since these various services might have different "home documents", some might not even have room for a home document that supports a link with this relation.

If this spec registered health in the well-known registry, it could make it a lot easier to deploy health checks to a lot of components where linking does not make sense.

from rfc-healthcheck.

dret avatar dret commented on June 14, 2024

from rfc-healthcheck.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.