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). |
||
|---|---|---|
| .. | ||
| backend | ||
| frontend | ||
| infra | ||
| scripts | ||
| .env.example | ||
| .gitignore | ||
| cloudflared.compose.yml | ||
| compose.yml | ||
| dev.compose.yml | ||
| justfile | ||