Cybersecurity-Projects/PROJECTS/beginner/canary-token-generator/backend/cmd
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
..
builddocxtemplate feat(canary): docx generator (zip-patch INCLUDEPICTURE) 2026-05-13 03:14:12 -04:00
buildpdftemplate feat(canary): pdf template (binary blob + build helper) 2026-05-13 13:54:06 -04:00
canary feat(canary): wire geoip into main with NopService fallback 2026-05-17 05:24:29 -04:00