api/pkg/health/api.go
Peter Kurfer 108444e094 Add health API and basic CLI support
- remove plugin API due to incompatibility issues
- add Docker build to GitHub Actions
- add custom container friendly config file
2020-06-15 12:32:18 +02:00

41 lines
649 B
Go

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
}