Compare commits
2 commits
979757b5a8
...
6a82601ae8
| Author | SHA1 | Date | |
|---|---|---|---|
| 6a82601ae8 | |||
| c78ce034fc |
4 changed files with 16 additions and 14 deletions
|
|
@ -6,6 +6,8 @@ import (
|
||||||
"html/template"
|
"html/template"
|
||||||
"sort"
|
"sort"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
|
sdk "git.happydns.org/checker-sdk-go/checker"
|
||||||
)
|
)
|
||||||
|
|
||||||
// ── HTML report ───────────────────────────────────────────────────────────────
|
// ── HTML report ───────────────────────────────────────────────────────────────
|
||||||
|
|
@ -197,9 +199,9 @@ details[open] > summary::before { transform: rotate(90deg); }
|
||||||
)
|
)
|
||||||
|
|
||||||
// GetHTMLReport implements sdk.CheckerHTMLReporter.
|
// GetHTMLReport implements sdk.CheckerHTMLReporter.
|
||||||
func (p *zonemasterProvider) GetHTMLReport(raw json.RawMessage) (string, error) {
|
func (p *zonemasterProvider) GetHTMLReport(ctx sdk.ReportContext) (string, error) {
|
||||||
var data ZonemasterData
|
var data ZonemasterData
|
||||||
if err := json.Unmarshal(raw, &data); err != nil {
|
if err := json.Unmarshal(ctx.Data(), &data); err != nil {
|
||||||
return "", fmt.Errorf("failed to unmarshal zonemaster results: %w", err)
|
return "", fmt.Errorf("failed to unmarshal zonemaster results: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -44,14 +44,14 @@ func (r *zonemasterRule) ValidateOptions(opts sdk.CheckerOptions) error {
|
||||||
return nil
|
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
|
var data ZonemasterData
|
||||||
if err := obs.Get(ctx, ObservationKeyZonemaster, &data); err != nil {
|
if err := obs.Get(ctx, ObservationKeyZonemaster, &data); err != nil {
|
||||||
return sdk.CheckState{
|
return []sdk.CheckState{{
|
||||||
Status: sdk.StatusError,
|
Status: sdk.StatusError,
|
||||||
Message: fmt.Sprintf("Failed to get Zonemaster data: %v", err),
|
Message: fmt.Sprintf("Failed to get Zonemaster data: %v", err),
|
||||||
Code: "zonemaster_error",
|
Code: "zonemaster_error",
|
||||||
}
|
}}
|
||||||
}
|
}
|
||||||
|
|
||||||
var errorCount, warningCount int
|
var errorCount, warningCount int
|
||||||
|
|
@ -86,27 +86,27 @@ func (r *zonemasterRule) Evaluate(ctx context.Context, obs sdk.ObservationGetter
|
||||||
}
|
}
|
||||||
statusLine += ": " + strings.Join(criticalMsgs[:n], "; ")
|
statusLine += ": " + strings.Join(criticalMsgs[:n], "; ")
|
||||||
}
|
}
|
||||||
return sdk.CheckState{
|
return []sdk.CheckState{{
|
||||||
Status: sdk.StatusCrit,
|
Status: sdk.StatusCrit,
|
||||||
Message: statusLine,
|
Message: statusLine,
|
||||||
Code: "zonemaster_errors",
|
Code: "zonemaster_errors",
|
||||||
Meta: meta,
|
Meta: meta,
|
||||||
}
|
}}
|
||||||
}
|
}
|
||||||
|
|
||||||
if warningCount > 0 {
|
if warningCount > 0 {
|
||||||
return sdk.CheckState{
|
return []sdk.CheckState{{
|
||||||
Status: sdk.StatusWarn,
|
Status: sdk.StatusWarn,
|
||||||
Message: fmt.Sprintf("%d warning(s) found", warningCount),
|
Message: fmt.Sprintf("%d warning(s) found", warningCount),
|
||||||
Code: "zonemaster_warnings",
|
Code: "zonemaster_warnings",
|
||||||
Meta: meta,
|
Meta: meta,
|
||||||
}
|
}}
|
||||||
}
|
}
|
||||||
|
|
||||||
return sdk.CheckState{
|
return []sdk.CheckState{{
|
||||||
Status: sdk.StatusOK,
|
Status: sdk.StatusOK,
|
||||||
Message: fmt.Sprintf("All checks passed (%d checks)", len(data.Results)),
|
Message: fmt.Sprintf("All checks passed (%d checks)", len(data.Results)),
|
||||||
Code: "zonemaster_ok",
|
Code: "zonemaster_ok",
|
||||||
Meta: meta,
|
Meta: meta,
|
||||||
}
|
}}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
2
go.mod
2
go.mod
|
|
@ -2,4 +2,4 @@ module git.happydns.org/checker-zonemaster
|
||||||
|
|
||||||
go 1.25.0
|
go 1.25.0
|
||||||
|
|
||||||
require git.happydns.org/checker-sdk-go v0.0.1
|
require git.happydns.org/checker-sdk-go v1.2.0
|
||||||
|
|
|
||||||
4
go.sum
4
go.sum
|
|
@ -1,2 +1,2 @@
|
||||||
git.happydns.org/checker-sdk-go v0.0.1 h1:4RxCJr73HWKxjOyU/6NJMO8lXJmH0gMLA68EzTqLbQI=
|
git.happydns.org/checker-sdk-go v1.2.0 h1:v4MpKAz0W3PwP+bxx3pya8w893sVH5xTD1of1cc0TV8=
|
||||||
git.happydns.org/checker-sdk-go v0.0.1/go.mod h1:aNAcfYFfbhvH9kJhE0Njp5GX0dQbxdRB0rJ0KvSC5nI=
|
git.happydns.org/checker-sdk-go v1.2.0/go.mod h1:aNAcfYFfbhvH9kJhE0Njp5GX0dQbxdRB0rJ0KvSC5nI=
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue