Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

lib/geoip, cmd/relaypoolsrv, cmd/ursrv: Automatically manage GeoIP updates #9342

Merged
merged 17 commits into from May 18, 2024

Conversation

calmh
Copy link
Member

@calmh calmh commented Jan 13, 2024

This adds a small package geoip which knows how to download and manage the Maxmind GeoLite2 database we use. This removes the need for various scripts to download and manage the geoip database, something that today happens on Docker startup for the relay pool server and using various hand written hacks for the usage reporting server.

The database is downloaded when needed and then refreshed on a best-effort basis weekly.

* main:
  lib/model: Typo in method name (fixes syncthing#9389)
  lib/model: Typo in debug print (fixes syncthing#9386)
  build: Update dependencies (syncthing#9379)
  build(deps): bump actions/cache from 3 to 4 (syncthing#9363)
  lib/api: Improve folder summary event, verbose service (syncthing#9370)
  lib/protocol: Refactor interface (syncthing#9375)
  gui, man, authors: Update docs, translations, and contributors
  lib/fs: Add invalid UTF-8 guards to watcher (fixes syncthing#9369) (syncthing#9372)
  lib/api: Remove remnants of CSRF tokens file mentions (ref syncthing#9284)
  gui, man, authors: Update docs, translations, and contributors
  gui: Remove non-functional HTML from External Versioning tooltip (ref syncthing#8923) (syncthing#9358)
  cmd/ursrv: Add FreeBSD detection  (syncthing#9351)
  cmd/ursrv: Fix Arch detection (syncthing#9350)
  lib/ignore: Optimise ignoring directories for filesystem watcher (fixes syncthing#9339) (syncthing#9340)
  gui, man, authors: Update docs, translations, and contributors
  lib/ignore: Refactor out result type (syncthing#9343)
func (p *Provider) open(ctx context.Context) (*geoip2.Reader, error) {
if p.licenseKey == "" {
return nil, errors.New("open: no license key set")
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't remember, but I'm surprised this is now mandatory?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is...

* main:
  lib/logger: Split STTRACE into list of strings (syncthing#9402)
  gui, man, authors: Update docs, translations, and contributors
* release:
  build: Use Go 1.22.3 at minimum
* main: (45 commits)
  build: Use Go 1.22.3 at minimum
  build: Use Go 1.22.3 at minimum
  gui: Add Hindi (hi) translation template (syncthing#9530)
  gui, man, authors: Update docs, translations, and contributors
  lib/connections: Add syncthing_connections_active metric (fixes syncthing#9527) (syncthing#9528)
  etc: Use 7MiB buffer size (syncthing#9524)
  gui: Fix Firefox bookmark favicon (fixes syncthing#9506) (syncthing#9507)
  gui, man, authors: Update docs, translations, and contributors
  gui, man, authors: Update docs, translations, and contributors
  gui, man, authors: Update docs, translations, and contributors
  lib/nat: Don't crash on empty address list (fixes syncthing#9503) (syncthing#9504)
  lib/db: Drop indexes for outgoing data to force refresh (ref syncthing#9496) (syncthing#9502)
  gui: Fix missing link to device editor for names with superscript (ref syncthing#9472) (syncthing#9494)
  lib/db: Hold update lock while taking snapshot (syncthing#9496)
  build: Update dependencies (syncthing#9497)
  gui, man, authors: Update docs, translations, and contributors
  gui, man, authors: Update docs, translations, and contributors
  Removed no longer relevant Bountysource link (syncthing#9480)
  lib/api: Missing return after HTTP error
  lib/api: Extract session store (syncthing#9425)
  ...
* main:
  gui, man, authors: Update docs, translations, and contributors
@calmh calmh changed the title cmd/relaypoolsrv, cmd/ursrv: Automatically manage GeoIP updates lib/geoip, cmd/relaypoolsrv, cmd/ursrv: Automatically manage GeoIP updates May 16, 2024
Copy link
Member

@AudriusButkevicius AudriusButkevicius left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This no longer allows running without a db (log.Fatal), but whatever.

@calmh
Copy link
Member Author

calmh commented May 18, 2024

Indeed, but we're the only one running it, and it doesn't look great with the map broken, so 🤷

@calmh calmh merged commit ba6ac2f into syncthing:main May 18, 2024
47 checks passed
@calmh calmh added this to the v1.27.8 milestone May 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants