// SPDX-License-Identifier: GPL-2.0-only package main import ( "flag" "log" dnsviz "git.happydns.org/checker-dnsviz/checker" "git.happydns.org/checker-dnsviz/internal/collect" "git.happydns.org/checker-sdk-go/checker/server" ) // Version is overridden at link time: -ldflags "-X main.Version=1.2.3". var Version = "custom-build" var ( listenAddr = flag.String("listen", ":8080", "HTTP listen address") dnsvizBin = flag.String("dnsviz-bin", "dnsviz", "Path to the dnsviz CLI used by `probe` and `grok`") extraProbeArgs = flag.String("extra-probe-args", "-A", "Whitespace-separated arguments appended to `dnsviz probe`") trustAnchorsFile = flag.String("trust-anchors-file", "", "BIND DNSKEY file passed to `dnsviz grok -t`. Empty falls back to /usr/share/dnssec-root/trusted-key.key (alpine `dnssec-root` package) when present.") ) func main() { flag.Parse() dnsviz.Version = Version col := &collect.Collector{ Bin: *dnsvizBin, ExtraArgs: *extraProbeArgs, TrustAnchorsFile: *trustAnchorsFile, } srv := server.New(dnsviz.Provider(col.Collect)) if err := srv.ListenAndServe(*listenAddr); err != nil { log.Fatalf("server error: %v", err) } }