flexready
#
AboutA common occurence when writing services is the need to determine the health of some or all of the attached resources your service might be using.
Using flexready
this can be done easily by configuring an endpoint to serve the result of a set of a CheckerFunc functions which you provide.
#
Installgo get github.com/go-flexible/flexready
#
ConfigurationThe readiness server can be configured through the environment to match setup in the infrastructure.
FLEX_READYSRV_ADDR
default:0.0.0.0:3674
FLEX_READYSRV_LIVENESS_PATH
default:/live
FLEX_READYSRV_READINESS_PATH
default:/ready
#
Example// Prepare your readyserver.readysrv := flexready.New(flexready.Checks{ "redis": func() error { return redisCheck(nil) }, "cockroachdb": func() error { return cockroachCheck(nil) },}, flexready.WithAddress(":9999"))
// Run it, or better yet, let `flex` run it for you!_ = readysrv.Run(context.Background())
// Liveness endpoint: http://localhost:9999/live// Readiness endpoint: http://localhost:9999/ready