Skip to content

Commit a4eb914

Browse files
committed
feat(usgs-nims): Phase C NIMS imagery publisher — bootstrap, publisher, Docker
- bootstrap_usgs_nims.py: Pattern A companion datastreams on existing water systems - 1 procedure, 8 imagery datastreams, 10 deployments (root + group + 8 leaves) - usgs_nims_publisher.py: polls NIMS /listFiles API, filename-based dedup - constructs overlay/thumb/720px S3 URLs, extracts timestamps from filenames - cameras.json enriched with live NIMS API data (12+ fields per camera) - Dockerfile with 900s default interval - Bootstrap verified: 19/19 resources created on server - Publisher verified: 8/8 cameras publishing successfully
1 parent 7063d77 commit a4eb914

5 files changed

Lines changed: 1082 additions & 24 deletions

File tree

publishers/usgs_nims/Dockerfile

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
FROM python:3.12-slim
2+
3+
WORKDIR /app
4+
5+
# Install dependencies (no additional pip packages needed beyond stdlib)
6+
RUN pip install --no-cache-dir git+https://github.com/OS4CSAPI/OSHConnect-Python.git
7+
8+
# Copy publisher framework + USGS NIMS publisher
9+
COPY publishers/ /app/publishers/
10+
11+
# Default: 15min cadence (matches typical NIMS refresh intervals)
12+
ENV OSH_ADDRESS=os4csapi-osh.duckdns.org
13+
ENV OSH_PORT=443
14+
ENV OSH_USER=os4csapi
15+
ENV OSH_PASS=ogc134mm
16+
# Optional: USGS API key for higher rate limits
17+
# ENV USGS_API_KEY=
18+
19+
ENTRYPOINT ["python", "-m", "publishers.usgs_nims.usgs_nims_publisher"]
20+
CMD ["--interval", "900"]

publishers/usgs_nims/__init__.py

Whitespace-only changes.

0 commit comments

Comments
 (0)