Your browser sucks, JavaScript disabled! Gunnar's console needs JavaScript and WebAssembly. Git over SSH on port 2222 does not.

nordisk/korp-collectors

.nornir/collectors/README.md

Per-collector designs

Each collector gets its own design doc here, following the daemon architecture in ../collectors-daemon-design.md (Config trait + State trait + a never-ending jera daemon job, on/off in Settings, green/off in the infra matrix).

osm-cut is the reference implementor (done). WAVE 1 (osm-admin · dcat · pxweb) is adopted — the first three warehouse-sink (Iceberg) daemons, proving the pattern is generic over both sink kinds (S3 bucket AND Iceberg table). The rest are the mechanical follow-on (build order §11).

Status

collector family sink design
osm-cut geo/OSM the packed region cut on disk (a–g) ✅ osm-cut.md
osm-admin geo/OSM Iceberg ✅ osm-admin.md — WAVE 1 (admin boundaries)
dcat statistics Iceberg ✅ dcat.md — WAVE 1 (DCAT-AP-SE crawl)
pxweb statistics Iceberg ✅ pxweb.md — WAVE 1 (PxWeb / JSON-stat2)
polisen-events public-sector Iceberg ✅ polisen-events.md — WAVE 2 b6
smhi-weather environment Iceberg ✅ smhi-weather.md — WAVE 2 b6
trafikverket-trainpos transport Iceberg ✅ trafikverket-trainpos.md — WAVE 2 b6 (POST XML)
sdmx · usgs · nordpool statistics/energy Iceberg ✅ WAVE 2 b1 (iceberg_daemons.rs)
openaq · erddap · wfs environment/geo Iceberg ✅ WAVE 2 b2
energy-charts · rss · entsoe{,-day-ahead,-generation} energy Iceberg ✅ WAVE 2 b3
gtfs-rt-vehicles · gtfs-stops transport Iceberg ✅ WAVE 2 b4
worldbank · gbif · eea-wise-water statistics/env Iceberg ✅ WAVE 2 b5
gribnc · rest · mainframe presets generic Iceberg ⬜ TODO

The rule

No collector ships without: (a) a Config trait impl (Settings toggle + custom config), (b) a State trait impl (state machine + a Facet for the matrix expand), (c) a design doc here, (d) tests, and — where it does heavy parallel work — (e) an all-cores gatling bencher. "empty is RED" (ragnarok): a collector that produces nothing while enabled is a loud failure, not a silent green.