fix(ops): pin TiTiler digest, GIST bbox indexes, single uvicorn worker #44

Merged
sirius merged 1 commit from feat/pin-titiler-gist-single-worker into master 2026-09-01 00:51:41 -04:00
Owner

Summary

Pin TiTiler by digest, make the single uvicorn worker explicit, and add PostGIS GIST indexes for events/fires bbox pans.

Changes

  • docker-compose.yml: pin titiler to ghcr.io/developmentseed/titiler:latest@sha256:1809958d063543e3ec858259536002b2de78e9f8f09a22a8d9591bdc2b550b14 (no version tag published).
  • app/main.py: uvicorn.run(..., workers=1) with comment — in-memory WS/pubsub + layer caches.
  • alembic/versions/010_bbox_gist.py: ix_events_geom_gist + ix_fires_geom_gist (keeps existing btree ix_events_location / ix_fires_bbox).

Verify

  • docker compose config | grep titiler → pinned digest.
  • alembic upgrade heads on a local Timescale+PostGIS (localhost/osint-dashboard-pg:test, shared_preload_libraries=timescaledb) applied through 010_bbox_gist; both GIST indexes present alongside btree.
  • pytest tests/test_phase1_guardrails.py 6 passed. Full suite 201 passed after installing project dep h3 (one flaky test_api_fires_json_contract passed on rerun).

Out of scope

Auth, masscan removal, SSRF guards.

## Summary Pin TiTiler by digest, make the single uvicorn worker explicit, and add PostGIS GIST indexes for events/fires bbox pans. ## Changes - `docker-compose.yml`: pin `titiler` to `ghcr.io/developmentseed/titiler:latest@sha256:1809958d063543e3ec858259536002b2de78e9f8f09a22a8d9591bdc2b550b14` (no version tag published). - `app/main.py`: `uvicorn.run(..., workers=1)` with comment — in-memory WS/pubsub + layer caches. - `alembic/versions/010_bbox_gist.py`: `ix_events_geom_gist` + `ix_fires_geom_gist` (keeps existing btree `ix_events_location` / `ix_fires_bbox`). ## Verify - `docker compose config | grep titiler` → pinned digest. - `alembic upgrade heads` on a local Timescale+PostGIS (`localhost/osint-dashboard-pg:test`, `shared_preload_libraries=timescaledb`) applied through `010_bbox_gist`; both GIST indexes present alongside btree. - `pytest tests/test_phase1_guardrails.py` 6 passed. Full suite 201 passed after installing project dep `h3` (one flaky `test_api_fires_json_contract` passed on rerun). ## Out of scope Auth, masscan removal, SSRF guards.
sirius added 1 commit 2026-09-01 00:45:45 -04:00
Pin titiler to the Pi-running digest, make workers=1 explicit for
in-memory WS/layer caches, and add PostGIS GIST indexes for events/fires
bbox pans without dropping the existing btree indexes.
sirius merged commit e8060cf5d1 into master 2026-09-01 00:51:41 -04:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: sirius/osint-dashboard#44
No description provided.