Initial commit
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.
This commit is contained in:
commit
7eb0dbddc7
39 changed files with 3324 additions and 0 deletions
17
caldav/types.go
Normal file
17
caldav/types.go
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
// 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
|
||||
Loading…
Add table
Add a link
Reference in a new issue