tracksolid_timescale_grafan.../migrations
david kiania 76f6915e61 feat(stack): consolidate 7→4 services (merge pollers, drop pgbouncer/grafana)
Collapse the backend from 7 Coolify services to 4 app services + the DB.

- Merge ingest_movement + ingest_events into a single ingest_worker:
  split each poller's main() into reusable startup_catchup()/register_jobs()
  and drive both from one schedule loop in new ingest_worker_rev.py
  (standalone entrypoints retained for local debug).
- docker-compose.yaml: replace the two poller services with ingest_worker;
  remove the pgbouncer service (dormant; transaction-mode pooling is unsafe
  for the advisory-lock'd v_trips refresher) and the grafana service +
  grafana-data volume (redundant with the FleetOps SPA).
- Add reporting.v_ingest_health (migration 19) + dashboard_api GET
  /health/ingest as the pipeline-freshness surface that replaces Grafana's
  health panels.

webhook_receiver stays isolated so a poller fault can't drop inbound pushes.
timescale_db and db_backup are unchanged.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-10 21:41:05 +03:00
..
02_tracksolid_full_schema_rev.sql chore(repo): reorganize tree into migrations/ data/ legacy/ docs/ 2026-06-01 02:27:30 +03:00
03_webhook_schema_migration.sql chore(repo): reorganize tree into migrations/ data/ legacy/ docs/ 2026-06-01 02:27:30 +03:00
04_bug_fix_migration.sql chore(repo): reorganize tree into migrations/ data/ legacy/ docs/ 2026-06-01 02:27:30 +03:00
05_enhancement_migration.sql chore(repo): reorganize tree into migrations/ data/ legacy/ docs/ 2026-06-01 02:27:30 +03:00
06_business_analytics_migration.sql chore(repo): reorganize tree into migrations/ data/ legacy/ docs/ 2026-06-01 02:27:30 +03:00
07_analytics_views.sql chore(repo): reorganize tree into migrations/ data/ legacy/ docs/ 2026-06-01 02:27:30 +03:00
08_analytics_config.sql chore(repo): reorganize tree into migrations/ data/ legacy/ docs/ 2026-06-01 02:27:30 +03:00
09_trips_enrichment.sql chore(repo): reorganize tree into migrations/ data/ legacy/ docs/ 2026-06-01 02:27:30 +03:00
10_driver_clock_views.sql chore(repo): reorganize tree into migrations/ data/ legacy/ docs/ 2026-06-01 02:27:30 +03:00
10_pgbouncer_auth.sql chore(repo): reorganize tree into migrations/ data/ legacy/ docs/ 2026-06-01 02:27:30 +03:00
11_reporting_schema.sql feat(db): capture reporting.* map-dashboard schema as migration 11 2026-06-05 12:32:44 +03:00
12_drop_ops.sql chore(db): purge unused ops + dwh_gold schemas 2026-06-05 18:11:03 +03:00
13_drop_dwh_gold.sql chore(db): purge unused ops + dwh_gold schemas 2026-06-05 18:11:03 +03:00
14_fleet_segment_and_vehicles_view.sql feat(reporting): fleet segmentation + deduped vehicle roster (migration 14) 2026-06-08 13:54:47 +03:00
15_map_exclude_cost_centres.sql feat(reporting): exclude non-operational vehicles from the live map (migration 15) 2026-06-08 14:18:30 +03:00
16_live_feed_vehicle_type.sql feat(reporting): add vehicle_type + fleet_segment to live map feed (migration 16) 2026-06-08 14:33:21 +03:00
17_fleetops_fuel_view.sql feat(dashboard_api): FleetOps analytics endpoints + fuel view (Phase 3) 2026-06-10 12:12:00 +03:00
18_grant_reporting_ro.sql feat(db): grant grafana_ro read access to reporting.* (Phase 0 role) 2026-06-10 12:24:55 +03:00
19_v_ingest_health.sql feat(stack): consolidate 7→4 services (merge pollers, drop pgbouncer/grafana) 2026-06-10 21:41:05 +03:00