As of writing, we've deprecated use of the Enterprise MaxMind database in favor of IPoid (Spur) (T361884: Remove $wgIPInfoGeoIP2EnterprisePath from production config). From T355392: Confirm and update what information IPInfo users should be able to see, Spur's database is missing IPs (see other ticket for details) which could be covered by MaxMind's GeoLite2 databases.
Historically, we decided to prefer MaxMind's location/asn/isp data over Spur but 1. never wrote in fallback functionality and 2. never returned that data from Spur. However now that we no longer use the Enterprise dataset, we might instead choose to prioritize Spur in all cases and fall back to MaxMind's Asn/City databases when Spur lacks the data( specifically, this is happening when Spur is missing the entire IP object as opposed to just the location/organization data, which it flat out isn't passing back).
Acceptance Criteria:
- Confirm that GeoLite2 data is being passed through (the handlers already exist but may not be in use)
- Implement a fallback to MaxMind data when Spur is missing the data (location from City.mmdb, asn from ASN.mmdb)
Bonus Criteria:
- Pass back location/org data from Spur (They're already being saved to the database)
- Implement Spur as a source for these data points in widgets