feat: nightly pg_dump sidecar → rustfs fleet-db #10
Loading…
Reference in a new issue
No description provided.
Delete branch "quality-program-2026-04-12"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Adds db_backup sidecar. Dumps tracksolid_db nightly at 02:30 UTC, uploads gzipped to s3://fleet-db/daily/ on rustfs. Keeps 30 days. Requires RUSTFS_ENDPOINT/ACCESS_KEY/SECRET_KEY/BUCKET in Coolify .env before redeploy.
Fleet lives across three Tracksolid sub-accounts: fireside — 63 devices Fireside@HQ — 52 devices Fireside_MSA — 41 devices Previously sync_devices / poll_live_positions / poll_parking only queried a single TARGET_ACCOUNT, so ~64% of the fleet was invisible to the pipeline. Changes: - ts_shared_rev.py: new TARGETS list (env TRACKSOLID_TARGETS, comma-separated; falls back to the single TARGET_ACCOUNT). - ts_shared_rev.py: new get_active_imeis_by_target() helper that groups active IMEIs by their stored account so parking calls can pass the right account param per batch. - ingest_movement_rev.py: sync_devices and poll_live_positions loop over every target and dedupe by IMEI before upserting. poll_parking loops over imeis_by_target so each batch carries the matching account. - CLAUDE.md: FIX-M19 entry. Requires new env var TRACKSOLID_TARGETS="fireside,Fireside@HQ,Fireside_MSA" on the ingest services in Coolify. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>Replace the single BACKUP_HOUR/BACKUP_MINUTE slot with a comma-separated list of UTC times. Scheduler walks all slots and sleeps until the soonest future one, so four daily backups become a one-line env change: BACKUP_TIMES_UTC=02:30,08:30,14:30,20:30 (default) Legacy BACKUP_HOUR/BACKUP_MINUTE still honored as a single slot for backwards compatibility with existing .env files. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>