No description
- Go 100%
Adds HealthResponse carrying inflight count, total requests, 1/5/15-min EWMA load averages, uptime, and NumCPU so a scheduler can pick the least busy worker. A background sampler updates the load averages every 5s, stopped by a new idempotent Close method. Work endpoints (/collect, /evaluate, /report) are wrapped with a trackWork middleware; /health and /definition are excluded so polling traffic does not pollute the signal. |
||
|---|---|---|
| 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.