No description
- Go 100%
Make StatusUnknown the zero value (0) so an uninitialized CheckState
reads as "no signal yet" rather than as healthy. Push StatusOK and
StatusInfo to negative values so the natural int ordering matches
severity ordering: aggregators can simply take max() to compute the
worst status, and Unknown correctly sits above OK/Info but below Warn.
Status now (un)marshals as its string name ("OK", "WARN", ...) so the
wire format is stable across any future renumbering. UnmarshalJSON
still accepts raw ints for backward compatibility with older snapshots
and clients.
|
||
|---|---|---|
| checker | ||
| go.mod | ||
| LICENSE | ||
| NOTICE | ||
| README.md | ||
checker-sdk-go
Public Go SDK for writing happyDomain checker plugins.
This module provides the stable types, helpers, and HTTP server scaffolding that all checker plugins need, independent of the happyDomain server itself.
Why a separate module?
The happyDomain server is licensed under AGPL-3.0 (with a commercial option). If checkers had to import the server's internal packages, every checker, even trivial ones, would inherit those licensing constraints.
This SDK is released under the Apache License 2.0, so:
- You can write a checker plugin under any license you want (MIT, Apache, proprietary, AGPL, whatever fits your needs).
- A plugin built against this SDK is not a derivative work of happyDomain.
- happyDomain itself depends on this SDK (as an Apache-licensed dependency, which is compatible with AGPL).
Installation
go get git.happydns.org/checker-sdk-go/checker
Getting started
See checker-dummy for a fully working, documented template.