CalDAV and CardDAV checkers sharing a single Go module. Discovery follows RFC 6764 (/.well-known + SRV/TXT), authenticated probes cover principal, home-set, collections and a minimal REPORT query on top of go-webdav. Common shape in internal/dav/; CalDAV adds a scheduling rule. Surfaces its context URL (and each secure-SRV target) as TLS endpoints via the EndpointDiscoverer interface, so the dedicated TLS checker can pick them up without re-parsing observations. HTML report foregrounds common misconfigs (well-known returning 200, missing SRV, plaintext-only SRV, missing DAV capability, skipped auth phase) as action-item callouts before the full phase breakdown.
17 lines
703 B
Go
17 lines
703 B
Go
// Package checker (imported as caldav by the standalone binary) implements
|
|
// the CalDAV compliance and health checker for happyDomain.
|
|
//
|
|
// It is deliberately kept thin: discovery, OPTIONS, PROPFIND, and reporting
|
|
// helpers live in git.happydns.org/checker-dav/internal/dav, so this package
|
|
// only wires the CalDAV-specific options, collect pipeline, rules, and HTML
|
|
// report together.
|
|
package caldav
|
|
|
|
import "git.happydns.org/checker-dav/internal/dav"
|
|
|
|
// ObservationKey identifies CalDAV observations in happyDomain's store.
|
|
const ObservationKey = "caldav"
|
|
|
|
// Data is the persisted observation shape. Callers read it back via
|
|
// obs.Get(ctx, ObservationKey, &Data).
|
|
type Data = dav.Observation
|