Cybersecurity-Projects/PROJECTS/beginner/canary-token-generator
CarterPerez-dev 0e5ce63dc8 feat(canary): wire geoip into main with NopService fallback
openGeoIP opens cfg.GeoIP.Path and returns a (Lookuper, closer)
pair; on open failure (missing/unreadable mmdb) it returns
geoip.NopService() and a no-op closer so the rest of the wire-up
sees a consistent non-nil interface and the binary stays healthy
in environments without a MaxMind license. buildEventStack now
accepts a geoip.Lookuper and threads it into event.ServiceConfig.

Close is deferred in run() so the mmdb file handle releases on
graceful shutdown; a close-error is logged at warn (not fatal).
2026-05-17 05:24:29 -04:00
..
backend feat(canary): wire geoip into main with NopService fallback 2026-05-17 05:24:29 -04:00
frontend fix(canary-phase1): clear all post-phase-1 audit observations + header normalization 2026-05-10 06:15:26 -04:00
infra fix(canary-phase1): clear all post-phase-1 audit observations + header normalization 2026-05-10 06:15:26 -04:00
scripts fix(canary-phase1): clear all post-phase-1 audit observations + header normalization 2026-05-10 06:15:26 -04:00
.env.example fix(canary-phase0): address audit findings before phase rollup 2026-05-10 05:37:32 -04:00
.gitignore chore(canary): expand project .gitignore for Go + Node + secrets 2026-05-10 05:13:19 -04:00
cloudflared.compose.yml fix(canary-phase0): address audit findings before phase rollup 2026-05-10 05:37:32 -04:00
compose.yml fix(canary-phase1): clear all post-phase-1 audit observations + header normalization 2026-05-10 06:15:26 -04:00
dev.compose.yml fix(canary-phase1): clear all post-phase-1 audit observations + header normalization 2026-05-10 06:15:26 -04:00
justfile feat(canary): unified Justfile with frontend + backend + compose groups 2026-05-10 05:25:27 -04:00