Rename default endpoints

pull/3380/head
Juan Calderon-Perez 2025-03-29 16:04:53 -04:00 committed by GitHub
parent a6572aff7a
commit 8f5b5f4695
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 37 additions and 31 deletions

View File

@ -45,32 +45,38 @@ After you initiate your [Fiber](https://github.com/gofiber/fiber) app, you can u
```go
// Provide a minimal config for liveness check
app.Get(healthcheck.DefaultLivenessEndpoint, healthcheck.New())
app.Get(healthcheck.LivenessEndpoint, healthcheck.New())
// Provide a minimal config for readiness check
app.Get(healthcheck.DefaultReadinessEndpoint, healthcheck.New())
app.Get(healthcheck.ReadinessEndpoint, healthcheck.New())
// Provide a minimal config for startup check
app.Get(healthcheck.DefaultStartupEndpoint, healthcheck.New())
app.Get(healthcheck.StartupEndpoint, healthcheck.New())
// Provide a minimal config for check with custom endpoint
app.Get("/live", healthcheck.New())
// Or extend your config for customization
app.Get(healthcheck.DefaultLivenessEndpoint, healthcheck.New(healthcheck.Config{
app.Get(healthcheck.LivenessEndpoint, healthcheck.New(healthcheck.Config{
Probe: func(c fiber.Ctx) bool {
return true
},
}))
// And it works the same for readiness, just change the route
app.Get(healthcheck.DefaultReadinessEndpoint, healthcheck.New(healthcheck.Config{
app.Get(healthcheck.ReadinessEndpoint, healthcheck.New(healthcheck.Config{
Probe: func(c fiber.Ctx) bool {
return true
},
}))
// And it works the same for startup, just change the route
app.Get(healthcheck.DefaultStartupEndpoint, healthcheck.New(healthcheck.Config{
app.Get(healthcheck.StartupEndpoint, healthcheck.New(healthcheck.Config{
Probe: func(c fiber.Ctx) bool {
return true
},
}))
// With a custom route and custom probe
app.Get("/live", healthcheck.New(healthcheck.Config{
Probe: func(c fiber.Ctx) bool {
@ -81,7 +87,7 @@ app.Get("/live", healthcheck.New(healthcheck.Config{
// It can also be used with app.All, although it will only respond to requests with the GET method
// in case of calling the route with any method which isn't GET, the return will be 404 Not Found when app.All is used
// and 405 Method Not Allowed when app.Get is used
app.All(healthcheck.DefaultReadinessEndpoint, healthcheck.New(healthcheck.Config{
app.All(healthcheck.ReadinessEndpoint, healthcheck.New(healthcheck.Config{
Probe: func(c fiber.Ctx) bool {
return true
},
@ -117,7 +123,7 @@ type Config struct {
The default configuration used by this middleware is defined as follows:
```go
func defaultProbe(c fiber.Ctx) bool { return true }
func defaultProbe(_ fiber.Ctx) bool { return true }
var ConfigDefault = Config{
Probe: defaultProbe,

View File

@ -1564,18 +1564,18 @@ With the new version, each health check endpoint is configured separately, allow
// after
// Default liveness endpoint configuration
app.Get(healthcheck.DefaultLivenessEndpoint, healthcheck.New(healthcheck.Config{
app.Get(healthcheck.LivenessEndpoint, healthcheck.New(healthcheck.Config{
Probe: func(c fiber.Ctx) bool {
return true
},
}))
// Default readiness endpoint configuration
app.Get(healthcheck.DefaultReadinessEndpoint, healthcheck.New())
app.Get(healthcheck.ReadinessEndpoint, healthcheck.New())
// New default startup endpoint configuration
// Default endpoint is /startupz
app.Get(healthcheck.DefaultStartupEndpoint, healthcheck.New(healthcheck.Config{
app.Get(healthcheck.StartupEndpoint, healthcheck.New(healthcheck.Config{
Probe: func(c fiber.Ctx) bool {
return serviceA.Ready() && serviceB.Ready() && ...
},

View File

@ -22,12 +22,12 @@ type Config struct {
}
const (
DefaultLivenessEndpoint = "/livez"
DefaultReadinessEndpoint = "/readyz"
DefaultStartupEndpoint = "/startupz"
LivenessEndpoint = "/livez"
ReadinessEndpoint = "/readyz"
StartupEndpoint = "/startupz"
)
func defaultProbe(c fiber.Ctx) bool { return true }
func defaultProbe(_ fiber.Ctx) bool { return true }
func defaultConfig(config ...Config) Config {
if len(config) < 1 {

View File

@ -34,9 +34,9 @@ func Test_HealthCheck_Strict_Routing_Default(t *testing.T) {
StrictRouting: true,
})
app.Get(DefaultLivenessEndpoint, New())
app.Get(DefaultReadinessEndpoint, New())
app.Get(DefaultStartupEndpoint, New())
app.Get(LivenessEndpoint, New())
app.Get(ReadinessEndpoint, New())
app.Get(StartupEndpoint, New())
shouldGiveOK(t, app, "/readyz")
shouldGiveOK(t, app, "/livez")
@ -53,9 +53,9 @@ func Test_HealthCheck_Default(t *testing.T) {
t.Parallel()
app := fiber.New()
app.Get(DefaultLivenessEndpoint, New())
app.Get(DefaultReadinessEndpoint, New())
app.Get(DefaultStartupEndpoint, New())
app.Get(LivenessEndpoint, New())
app.Get(ReadinessEndpoint, New())
app.Get(StartupEndpoint, New())
shouldGiveOK(t, app, "/readyz")
shouldGiveOK(t, app, "/livez")
@ -88,7 +88,7 @@ func Test_HealthCheck_Custom(t *testing.T) {
}
},
}))
app.Get(DefaultStartupEndpoint, New(Config{
app.Get(StartupEndpoint, New(Config{
Probe: func(_ fiber.Ctx) bool {
return false
},
@ -170,9 +170,9 @@ func Test_HealthCheck_Next(t *testing.T) {
},
})
app.Get(DefaultLivenessEndpoint, checker)
app.Get(DefaultReadinessEndpoint, checker)
app.Get(DefaultStartupEndpoint, checker)
app.Get(LivenessEndpoint, checker)
app.Get(ReadinessEndpoint, checker)
app.Get(StartupEndpoint, checker)
// This should give not found since there are no other handlers to execute
// so it's like the route isn't defined at all
@ -184,9 +184,9 @@ func Test_HealthCheck_Next(t *testing.T) {
func Benchmark_HealthCheck(b *testing.B) {
app := fiber.New()
app.Get(DefaultLivenessEndpoint, New())
app.Get(DefaultReadinessEndpoint, New())
app.Get(DefaultStartupEndpoint, New())
app.Get(LivenessEndpoint, New())
app.Get(ReadinessEndpoint, New())
app.Get(StartupEndpoint, New())
h := app.Handler()
fctx := &fasthttp.RequestCtx{}
@ -206,9 +206,9 @@ func Benchmark_HealthCheck(b *testing.B) {
func Benchmark_HealthCheck_Parallel(b *testing.B) {
app := fiber.New()
app.Get(DefaultLivenessEndpoint, New())
app.Get(DefaultReadinessEndpoint, New())
app.Get(DefaultStartupEndpoint, New())
app.Get(LivenessEndpoint, New())
app.Get(ReadinessEndpoint, New())
app.Get(StartupEndpoint, New())
h := app.Handler()