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.
37 lines
1,021 B
Makefile
37 lines
1,021 B
Makefile
CHECKER_VERSION ?= custom-build
|
|
GO_LDFLAGS := -X main.Version=$(CHECKER_VERSION)
|
|
|
|
BINARIES := checker-caldav checker-carddav
|
|
PLUGINS := $(addsuffix .so,$(BINARIES))
|
|
|
|
.PHONY: all test clean plugin docker docker-caldav docker-carddav $(BINARIES)
|
|
|
|
all: $(BINARIES)
|
|
|
|
checker-caldav:
|
|
go build -ldflags "$(GO_LDFLAGS)" -o $@ ./cmd/checker-caldav
|
|
|
|
checker-carddav:
|
|
go build -ldflags "$(GO_LDFLAGS)" -o $@ ./cmd/checker-carddav
|
|
|
|
plugin: $(PLUGINS)
|
|
|
|
checker-caldav.so:
|
|
go build -buildmode=plugin -ldflags "$(GO_LDFLAGS)" -o $@ ./plugin/caldav
|
|
|
|
checker-carddav.so:
|
|
go build -buildmode=plugin -ldflags "$(GO_LDFLAGS)" -o $@ ./plugin/carddav
|
|
|
|
test:
|
|
go test ./...
|
|
|
|
docker: docker-caldav docker-carddav
|
|
|
|
docker-caldav:
|
|
docker build --build-arg TARGET=checker-caldav --build-arg CHECKER_VERSION=$(CHECKER_VERSION) -t happydomain/checker-caldav .
|
|
|
|
docker-carddav:
|
|
docker build --build-arg TARGET=checker-carddav --build-arg CHECKER_VERSION=$(CHECKER_VERSION) -t happydomain/checker-carddav .
|
|
|
|
clean:
|
|
rm -f $(BINARIES) $(PLUGINS)
|