Compare commits

..

No commits in common. "6a82601ae8b3e78660f667c96bb5698ae68ec77a" and "979757b5a8fc3f167f4b1ccebd88114f89e8600a" have entirely different histories.

4 changed files with 14 additions and 16 deletions

View file

@ -6,8 +6,6 @@ import (
"html/template"
"sort"
"strings"
sdk "git.happydns.org/checker-sdk-go/checker"
)
// ── HTML report ───────────────────────────────────────────────────────────────
@ -199,9 +197,9 @@ details[open] > summary::before { transform: rotate(90deg); }
)
// GetHTMLReport implements sdk.CheckerHTMLReporter.
func (p *zonemasterProvider) GetHTMLReport(ctx sdk.ReportContext) (string, error) {
func (p *zonemasterProvider) GetHTMLReport(raw json.RawMessage) (string, error) {
var data ZonemasterData
if err := json.Unmarshal(ctx.Data(), &data); err != nil {
if err := json.Unmarshal(raw, &data); err != nil {
return "", fmt.Errorf("failed to unmarshal zonemaster results: %w", err)
}

View file

@ -44,14 +44,14 @@ func (r *zonemasterRule) ValidateOptions(opts sdk.CheckerOptions) error {
return nil
}
func (r *zonemasterRule) Evaluate(ctx context.Context, obs sdk.ObservationGetter, opts sdk.CheckerOptions) []sdk.CheckState {
func (r *zonemasterRule) Evaluate(ctx context.Context, obs sdk.ObservationGetter, opts sdk.CheckerOptions) sdk.CheckState {
var data ZonemasterData
if err := obs.Get(ctx, ObservationKeyZonemaster, &data); err != nil {
return []sdk.CheckState{{
return sdk.CheckState{
Status: sdk.StatusError,
Message: fmt.Sprintf("Failed to get Zonemaster data: %v", err),
Code: "zonemaster_error",
}}
}
}
var errorCount, warningCount int
@ -86,27 +86,27 @@ func (r *zonemasterRule) Evaluate(ctx context.Context, obs sdk.ObservationGetter
}
statusLine += ": " + strings.Join(criticalMsgs[:n], "; ")
}
return []sdk.CheckState{{
return sdk.CheckState{
Status: sdk.StatusCrit,
Message: statusLine,
Code: "zonemaster_errors",
Meta: meta,
}}
}
}
if warningCount > 0 {
return []sdk.CheckState{{
return sdk.CheckState{
Status: sdk.StatusWarn,
Message: fmt.Sprintf("%d warning(s) found", warningCount),
Code: "zonemaster_warnings",
Meta: meta,
}}
}
}
return []sdk.CheckState{{
return sdk.CheckState{
Status: sdk.StatusOK,
Message: fmt.Sprintf("All checks passed (%d checks)", len(data.Results)),
Code: "zonemaster_ok",
Meta: meta,
}}
}
}

2
go.mod
View file

@ -2,4 +2,4 @@ module git.happydns.org/checker-zonemaster
go 1.25.0
require git.happydns.org/checker-sdk-go v1.2.0
require git.happydns.org/checker-sdk-go v0.0.1

4
go.sum
View file

@ -1,2 +1,2 @@
git.happydns.org/checker-sdk-go v1.2.0 h1:v4MpKAz0W3PwP+bxx3pya8w893sVH5xTD1of1cc0TV8=
git.happydns.org/checker-sdk-go v1.2.0/go.mod h1:aNAcfYFfbhvH9kJhE0Njp5GX0dQbxdRB0rJ0KvSC5nI=
git.happydns.org/checker-sdk-go v0.0.1 h1:4RxCJr73HWKxjOyU/6NJMO8lXJmH0gMLA68EzTqLbQI=
git.happydns.org/checker-sdk-go v0.0.1/go.mod h1:aNAcfYFfbhvH9kJhE0Njp5GX0dQbxdRB0rJ0KvSC5nI=