A system for getting immediate data from Placer's mysql database into nidus-sync.
- Go 96.4%
- Nix 3.6%
Replace the single-table WATCH_* config with auto-discovery: enumerate
every non-system schema and BASE TABLE, skipping scratch (bak_/csv_/scratch),
geometry, and no-PK tables. Per-table cursor is auto-detected (auto-increment
PK, else first timestamp/datetime column); each table gets its own poller with
independent cursor state, merged into one change stream.
Each change PUTs the full row to /api/placer-mysql-feed/{database}/{table}/{id}
(id = first PK column value), keyed by source column names. path_template and
id_column are removed from the sink config; multi-sink fan-out and per-env
bearer auth are unchanged.
|
||
|---|---|---|
| docs | ||
| .gitignore | ||
| change.go | ||
| config.example.toml | ||
| config.go | ||
| discovery.go | ||
| flake.lock | ||
| flake.nix | ||
| go.mod | ||
| go.sum | ||
| main.go | ||
| poller.go | ||
| sink.go | ||