Until now the six machine alerts came from a health message passing to the controller. The report is now kept in the engine's declared state `health`, key `<node>`, created by the grants part as `acts` is. Only this node's engine writes it, after comparing it on every look and only when what it says changed; it is read first after a restart. It carries: - the network parts (machine-network; network-rewritten through the resolver file part's writer and owner); - the tunnel's peers, each seen within five minutes or not (network-unreachable); - the failed units no module owns (machine-units); - the accounts marked relogin needed (relogin-needed); - the directories used as found (directory-used-as-found). The streaks and the time of the look are left out, so a look alone writes nothing. A peer is reported seen or not, never its handshake time, so a renewed handshake writes nothing. The layout is internal/link's (NodeHealth) until it moves into mesh-sdk. Pins mesh-sdk 58a8324. Tests: - rows in TestOnTheHubAnyFreshPeerIsAHealthyTunnel: the peers, and a change only when one is seen or lost; - a case in TestAHealthStatementIsSaidOnTheLinkOpenNow: what the report takes, and one write per change across a restart; - the manifest's states in TestTheManifestConsumesTheBackupEvent.
23 lines
672 B
AMPL
23 lines
672 B
AMPL
module github.com/novox/mesh-host
|
|
|
|
go 1.26.0
|
|
|
|
require (
|
|
git.novox.be/novox/mesh-sdk/go v0.1.14-0.20261029215315-58a83249c80b
|
|
github.com/nats-io/nats-server/v2 v2.11.17
|
|
github.com/nats-io/nats.go v1.54.0
|
|
golang.org/x/crypto v0.57.0
|
|
golang.org/x/sys v0.48.0
|
|
)
|
|
|
|
require (
|
|
github.com/antithesishq/antithesis-sdk-go v0.7.0-default-no-op // indirect
|
|
github.com/google/go-tpm v0.9.8 // indirect
|
|
github.com/klauspost/compress v1.20.0 // indirect
|
|
github.com/minio/highwayhash v1.0.4 // indirect
|
|
github.com/nats-io/jwt/v2 v2.8.1 // indirect
|
|
github.com/nats-io/nkeys v0.4.16 // indirect
|
|
github.com/nats-io/nuid v1.0.1 // indirect
|
|
golang.org/x/time v0.15.0 // indirect
|
|
)
|