Feature 17 review remediation: commit firewall unit, pin image and deps
F17-001: commit the API box's nestquest-api-firewall.service verbatim as deploy/systemd/nestquest-api-firewall.service (DOCKER-USER RETURN for 10.60.1.33 and 10.60.1.14, then DROP tcp/8080) and make the runbook install it from the repository before exposing the API. F17-002: pin the python:3.12-slim base image by digest in both build stages, pin api/requirements.txt to the exact versions installed in the deployed image (direct deps plus transitive closure), and pin the litestream image by digest in deploy/compose.yaml. Task: e4a7b18b-5dad-4387-90ac-33588c280824 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
+6
-2
@@ -14,12 +14,16 @@
|
||||
# the SQLite database lives on the mounted volume at
|
||||
# /var/lib/nestquest (compose supplies NESTQUEST_DB_PATH pointing
|
||||
# there — configuration is environment-supplied, never baked in).
|
||||
FROM python:3.12-slim AS builder
|
||||
#
|
||||
# Both stages use the same base image pinned by digest, and
|
||||
# api/requirements.txt pins exact versions, so a rebuild reproduces
|
||||
# the deployed image instead of floating to whatever is newest.
|
||||
FROM python:3.12-slim@sha256:2f17fc044b579bab302c2e8054d3a686e2cb9a83de48e70534b94cd8ebbe06a9 AS builder
|
||||
|
||||
COPY api/requirements.txt /tmp/requirements.txt
|
||||
RUN pip install --no-cache-dir --prefix=/install -r /tmp/requirements.txt
|
||||
|
||||
FROM python:3.12-slim
|
||||
FROM python:3.12-slim@sha256:2f17fc044b579bab302c2e8054d3a686e2cb9a83de48e70534b94cd8ebbe06a9
|
||||
|
||||
# The staged dependency install from the builder (no pip, no wheels).
|
||||
COPY --from=builder /install /usr/local
|
||||
|
||||
Reference in New Issue
Block a user