trails/infrastructure/brouter-host/poi-extract/poi-extract.timer
Ullrich Schäfer e703843b9b
poi-index: extract pipeline (BRouter host) + import job (flagship) + e2e
- poi-extract.sh: PBF download -> osmium tags-filter -> centroid NDJSON +
  manifest, published via the Caddy sidecar at vSwitch-only /poi/*
- osmium-filters.txt + poi-selectors.sql generated from map-core selectors,
  guarded by sync tests so poiCategories stays the single source of truth
- poi-import.sh: checksum verify -> classify into category rows ->
  70% guard (--bootstrap override) -> atomic rename swap; node_exporter
  textfile metric for import outcome
- systemd service+timer units for both halves (monthly, offset)
- cd-infra.yml: ship infrastructure/scripts to the flagship
- e2e: mock /api/pois instead of /api/overpass

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 22:48:32 +02:00

14 lines
457 B
SYSTEMD

# Monthly POI extract. POIs of these categories churn slowly, so monthly data
# is plenty (Organic Maps ships roughly monthly too). Runs early on the 1st;
# the flagship import timer is offset a day later to pull the fresh artifact.
[Unit]
Description=Monthly trails.cool POI extract
[Timer]
OnCalendar=*-*-01 02:00:00
# If the box was down at the scheduled time, run once it's back.
Persistent=true
RandomizedDelaySec=1h
[Install]
WantedBy=timers.target