healthchecks
- Wrapper for healthchecks.io
Allows simple signalling of statuses to healthchecks.io.
You need:
- your project's ping key, generated from your project's settings
- one or multiple check slugs
package main
import (
"context"
"log"
health "github.com/stnokott/healthchecks"
)
const (
_pingKey = "mysecretpingkey"
_slug = "foo"
)
func main() {
// create a new project using a ping key
project, err := health.NewProject(_pingKey)
if err != nil {
log.Fatalln(err)
}
// directly ping using a slug
err = project.Success(context.TODO(), _slug)
// ...
// create notifier instance for a slug
notifier := project.Slug(_slug_)
err = notifier.Success(context.TODO())
// ...
}
You need:
- your check's UUID
package main
import (
"context"
"log"
health "github.com/stnokott/healthchecks"
)
const _uuid = "12345678-abcd-1234-5678-999999999999"
func main() {
// create a new check using a UUID
check, err := health.NewUUID(_uuid)
if err != nil {
log.Fatalln(err)
}
// ping
err = check.Success(context.TODO())
// ...
}
Using self-hosted endpoint.
By default, https://hc-ping.com
is used as endpoint.
Use the health.WithURL
option to provide your own host.
// for a project
project, err := health.NewProject(pingKey, health.WithURL("https://example.com"))
// ...
// for a UUID-based check
check, err := health.NewUUID(uuid, health.WithURL("https://example.com"))
// ...