• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

rm-hull / dot-block / 28902364175 / 1
62%
main: 62%

Build:
DEFAULT BRANCH: main
Ran 07 Jul 2026 10:14PM UTC
Files 32
Run time 0s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

07 Jul 2026 10:14PM UTC coverage: 61.688% (+0.2%) from 61.499%
28902364175.1

push

github

web-flow
refactor: migrate geolocation lookup to ipinfo.io with MaxMind support (#177)

* refactor: replace IP2Location with MaxMind GeoIP2

Migrated the geoblock service from `ip2location-go` to `geoip2-golang`
to
improve accuracy and support modern MaxMind database formats.

- Updated `GeoData` structure to map standardized country codes and
ASN/ISP info.
- Refactored `geoBlocker` service to use native `net.IP` parsing.
- Updated `metrics` and `dispatcher` tests to reflect the new API
signature.

* refactor: migrate geolocation lookup to MaxMind

- Replaced IP2Location with `maxminddb-golang/v2` for geolocation and
ASN lookups.
- Updated `GeoData` structure to map to MaxMind database fields.
- Added `dns_provider_count` Prometheus metric to track traffic by ASN
and ISP provider.
- Refactored `GeoIpLookup` service for better type safety and
performance.

```mermaid
sequenceDiagram
    participant App as Application
    participant Geo as GeoIpLookup
    participant DB as MaxMind DB
    App->>Geo: GetAll(ipAddress)
    Geo->>DB: Lookup(ipAddress)
    DB-->>Geo: Decoded GeoData
    Geo-->>App: Return GeoData struct
    App->>Metrics: Record Provider/Country
```

* refactor: migrate geolocation lookup to ipinfo.io

- Replaced IP2Location with ipinfo.io for IP geolocation services.
- Updated database downloader, environment variables, and cron schedule
logic.
- Consolidated country and provider metrics to improve observability and
 reduce cardinality.

* Update internal/geoblock/service.go

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* refactor: rename IP2Location config to IPInfo

Updated configuration flags and environment variables to reflect the
migration from IP2Location to ipinfo.io for GeoIP data.

* refactor: update client metrics delimiter

Change the delimiter used in `TopClients` metric keys from a comma (`,`)

to a pipe (`|`) to prevent parsing conflicts with metadata containing
commas (e.g., A... (continued)

1425 of 2310 relevant lines covered (61.69%)

806.22 hits per line

Source Files on job 28902364175.1
  • Tree
  • List 32
  • Changed 5
  • Source Changed 0
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 28902364175
  • 320435d6 on github
  • Prev Job for on main (#28902091158.1)
  • Next Job for on main (#28902701256.1)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc