Sirius DevOps
69a30115cc
Add open IP camera discovery scraper (OSINT map)
...
build-and-deploy / build (push) Failing after 5s
- camera_scraper: public-directory-only discovery (Insecam-style HTML +
plain-text lists), hard private-range guard (fail closed), per-host
rate limiting, Nominatim geocoding at <=1 req/s, TTL'd local snapshot
cache, sha256 url_hash dedupe with Postgres upsert
- cameras table (migration 002) + /api/cameras?bbox= + snapshot endpoint
with cache passthrough in main.py
- run_camera_service: long-running cycle worker following NATS->ingester
pattern; publishes events.camera for shared ingester
- docker-compose camera-service profile, .env.example knobs
Verified E2E against TimescaleDB+PostGIS: private-range entries dropped,
dedupe across cycles holds, bbox query returns expected rows.
2026-08-24 14:54:51 -04:00