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). |
||
|---|---|---|
| .. | ||
| advanced | ||
| beginner | ||
| intermediate | ||