Tracksolid deployment with timescale & grafana with backup
Find a file
david kiania 621a30cd81
Some checks are pending
Static Analysis / static (push) Waiting to run
Tests / test (push) Waiting to run
Static Analysis / static (pull_request) Waiting to run
Tests / test (pull_request) Waiting to run
fix(dashboard_api): jsonable_encoder on /health/ingest (datetime serialize)
The ingest-health handler returned reporting.v_ingest_health rows straight to
JSONResponse, but last_run_at is a datetime — json.dumps raised TypeError and the
endpoint fell into its except, always returning {"overall":"unknown","endpoints":[]}.
Every other analytics endpoint already routes through jsonable_encoder; this one
didn't. Surfaced when the prod bridge finally got the /health/ingest route.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 23:57:32 +03:00
.claude feat(dwh): bronze pipeline migrations, runbook, and execution manual 2026-04-25 01:07:53 +03:00
.forgejo/workflows feat: add db_audit health checks, runner, and scheduled Forgejo workflow 2026-04-12 21:40:29 +03:00
administration Add DB connection string to ops manual, add administration notes, remove stale deploy guide 2026-04-10 22:34:56 +03:00
backup feat(dwh): bronze pipeline migrations, runbook, and execution manual 2026-04-25 01:07:53 +03:00
data chore(repo): reorganize tree into migrations/ data/ legacy/ docs/ 2026-06-01 02:27:30 +03:00
db_audit chore(cleanup): purge n8n, Grafana, and DWH references + dead artifacts 2026-06-10 21:41:27 +03:00
docs fix(security,ingest): 260702 audit — secure the stack, correct poller counters 2026-07-02 09:51:02 +03:00
legacy chore(repo): reorganize tree into migrations/ data/ legacy/ docs/ 2026-06-01 02:27:30 +03:00
migrations fix(security,ingest): 260702 audit — secure the stack, correct poller counters 2026-07-02 09:51:02 +03:00
scripts feat(db): dedicated read-only dashboard_ro role + repoint staging 2026-06-10 12:33:53 +03:00
tests fix(security,ingest): 260702 audit — secure the stack, correct poller counters 2026-07-02 09:51:02 +03:00
tools feat(tools): import_drivers_csv reads raw Tracksolid Pro export format 2026-06-25 14:52:11 +03:00
.dockerignore fix(security,ingest): 260702 audit — secure the stack, correct poller counters 2026-07-02 09:51:02 +03:00
.env chore(cleanup): purge n8n, Grafana, and DWH references + dead artifacts 2026-06-10 21:41:27 +03:00
.gitignore docs+tooling: OSM POI export workflow + Shell stations data; graded DQ report 2026-06-08 22:04:49 +03:00
.python-version chore: align .python-version to 3.12.0 (matches Docker image and pyproject.toml) 2026-04-12 21:41:43 +03:00
55_ts_coolify_gemini_prod.code-workspace feat(dwh): bronze pipeline migrations, runbook, and execution manual 2026-04-25 01:07:53 +03:00
audit_device_reconciliation.py feat(analytics): Phase 0 — analytics-config migration and CSV importer rewrite 2026-04-27 23:42:37 +03:00
backfill_trips_enrichment.py feat(trips): add --skip-geocode flag to backfill script 2026-05-01 22:12:07 +03:00
CLAUDE.md fix(reporting): restore live-feed cost-centre exclusion + vehicle_type (migration 20) 2026-06-10 22:36:45 +03:00
dashboard_api_rev.py fix(dashboard_api): jsonable_encoder on /health/ingest (datetime serialize) 2026-07-02 23:57:32 +03:00
deploy_dashboard_api.sh feat(db): split refresher onto REFRESH_DATABASE_URL; prod reads via dashboard_ro 2026-06-10 20:19:40 +03:00
deploy_dashboard_api_staging.sh chore(cleanup): purge n8n, Grafana, and DWH references + dead artifacts 2026-06-10 21:41:27 +03:00
docker-compose.yaml fix(security,ingest): 260702 audit — secure the stack, correct poller counters 2026-07-02 09:51:02 +03:00
Dockerfile fix(security,ingest): 260702 audit — secure the stack, correct poller counters 2026-07-02 09:51:02 +03:00
import_drivers_csv.py chore(repo): reorganize tree into migrations/ data/ legacy/ docs/ 2026-06-01 02:27:30 +03:00
ingest_events_rev.py fix(security,ingest): 260702 audit — secure the stack, correct poller counters 2026-07-02 09:51:02 +03:00
ingest_movement_rev.py fix(security,ingest): 260702 audit — secure the stack, correct poller counters 2026-07-02 09:51:02 +03:00
ingest_worker_rev.py feat(stack): consolidate 7→4 services (merge pollers, drop pgbouncer/grafana) 2026-06-10 21:41:05 +03:00
pyproject.toml fix(security,ingest): 260702 audit — secure the stack, correct poller counters 2026-07-02 09:51:02 +03:00
README.md first commit 2026-04-07 20:41:16 +03:00
run_migrations.py fix(security,ingest): 260702 audit — secure the stack, correct poller counters 2026-07-02 09:51:02 +03:00
run_migrations.sh chore(repo): reorganize tree into migrations/ data/ legacy/ docs/ 2026-06-01 02:27:30 +03:00
shell_stations.csv docs+tooling: OSM POI export workflow + Shell stations data; graded DQ report 2026-06-08 22:04:49 +03:00
shell_stations.geojson docs+tooling: OSM POI export workflow + Shell stations data; graded DQ report 2026-06-08 22:04:49 +03:00
sync_driver_audit.py perf+fix: SAVEPOINT-per-item pollers, batched GPS inserts, parallel detail fetch 2026-04-18 00:33:55 +03:00
ts_shared_rev.py fix(security,ingest): 260702 audit — secure the stack, correct poller counters 2026-07-02 09:51:02 +03:00
uv.lock fix(security,ingest): 260702 audit — secure the stack, correct poller counters 2026-07-02 09:51:02 +03:00
webhook_receiver_rev.py fix(security,ingest): 260702 audit — secure the stack, correct poller counters 2026-07-02 09:51:02 +03:00