6db8684c
cmd/comparesrht: daemon entry point, startup validation, dev stub
Wire the compare.sr.ht daemon on core-go's server.New: it runs crypto.InitCrypto, parses -b/-d/-m/-p, and drives the standard SourceHut warm-shutdown loop (SIGINT). We deliberately skip WithDefaultMiddleware (it demands Postgres/Redis and 401s anonymous viewers) and instead install the web package's documented middleware chain — RealIP, Recoverer, Logger, config.Middleware, authz.Middleware — inside a Group on the anonymous router. validateConfig checks every required key up front (network-key, webhook key, repos root, a git.sr.ht API origin candidate, meta and compare origins) with a single clear fatal, so a misconfiguration fails loudly at startup rather than as a deep panic in config.GetAPI on the first request. A build-and-exec smoke test proves the binary starts against a synthesized config, answers /healthz 200, and exits cleanly on SIGINT in under 15s. Makefile: build ./comparesrht from ./cmd/comparesrht, run-dev binds localhost:5090 against a local config.ini, install ships the binary and static assets. contrib/dev-stub is a stdlib-only fake git.sr.ht GraphQL API returning fixed public repos for local development, and the systemd unit now stops with KillSignal=SIGINT to hit the warm-shutdown path.
bigbes <bigbes@gmail.com> — 2026-07-18 18:26:48 UTC
Commit 6db8684c02e4052483d10f1b233d883e0ccda9f7 —
view raw patch
Parent(s):
71475299
| File | Status | + | − |
|---|---|---|---|
Makefile
|
M | +10 | -9 |
cmd/comparesrht/main.go
|
A | +172 | |
cmd/comparesrht/main_test.go
|
A | +148 | |
contrib/compare-srht.service
|
M | +7 | -1 |
contrib/dev-stub/main.go
|
A | +118 |