Validate the federation tester URI placeholder, escape the domain, set a client timeout, cap the response body, and ship CA certificates in the scratch image so HTTPS calls succeed. Sort hosts, connection reports, and errors when rendering so output is deterministic, and deduplicate TLS problems. Drop the deprecated aggregate Rule() and add tests for collection and rules.
25 lines
971 B
Go
25 lines
971 B
Go
// Command plugin is the happyDomain plugin entrypoint for the matrix checker.
|
|
//
|
|
// It is built as a Go plugin (`go build -buildmode=plugin`) and loaded at
|
|
// runtime by happyDomain.
|
|
package main
|
|
|
|
import (
|
|
matrix "git.happydns.org/checker-matrix/checker"
|
|
sdk "git.happydns.org/checker-sdk-go/checker"
|
|
)
|
|
|
|
// Version is the plugin's version. It defaults to "custom-build" and is
|
|
// meant to be overridden by the CI at link time:
|
|
//
|
|
// go build -buildmode=plugin -ldflags "-X main.Version=1.2.3" -o checker-matrix.so ./plugin
|
|
var Version = "custom-build"
|
|
|
|
// NewCheckerPlugin is the symbol resolved by happyDomain when loading the
|
|
// .so file. It returns the checker definition and the observation provider
|
|
// that the host will register in its global registries.
|
|
func NewCheckerPlugin() (*sdk.CheckerDefinition, sdk.ObservationProvider, error) {
|
|
matrix.Version = Version
|
|
prvd := matrix.Provider()
|
|
return prvd.(sdk.CheckerDefinitionProvider).Definition(), prvd, nil
|
|
}
|