api/pkg/health/api.go

42 lines
649 B
Go
Raw Normal View History

package health
import (
"errors"
)
type Status uint8
const (
HEALTHY Status = 0
INITIALIZING Status = 1
UNHEALTHY Status = 2
UNKNOWN Status = 3
)
type CheckResult struct {
Status Status
Message string
}
type Result struct {
Status Status
Components map[string]CheckResult
}
type Check func() CheckResult
var (
CheckForComponentAlreadyRegistered = errors.New("a check for the requested component is already registered")
checkerInstance *checker
)
func init() {
checkerInstance = &checker{
componentChecks: map[string]Check{},
}
}
func CheckerInstance() Checker {
return checkerInstance
}