26 lines
1.1 KiB
Docker
26 lines
1.1 KiB
Docker
# CP2A1 — Trusted Gate Evaluator (External Gate Enforcement Foundation)
|
|
# STRICTLY NON-PRODUCTIVE / NO AUTONOMY.
|
|
# Minimaler Container: python:3.12-slim, kein Shell-Zugriff, read-only FS.
|
|
#
|
|
# HINWEIS zum User: Der Evaluator MUSS die root-owned CP1-State-Dateien
|
|
# (/opt/control-plane/state/, root:root 0700/600) lesen. Daher laeuft der
|
|
# Container als root (container-intern, KEIN Host-Root — konsistent mit dem
|
|
# CP2D-Ground-Truth-Muster). Die Härtung erfolgt ueber:
|
|
# --cap-drop ALL --no-new-privileges --read-only --network <internal>
|
|
# RO-State-Mount, kein Docker-Socket, keine Credentials, keine Egress.
|
|
FROM python:3.12-slim
|
|
|
|
ENV PYTHONDONTWRITEBYTECODE=1 \
|
|
PYTHONUNBUFFERED=1
|
|
|
|
WORKDIR /app
|
|
|
|
# Nur die Evaluator-Dateien (kein Build-Artefakt, kein Test-Code im Image)
|
|
COPY gate_evaluator.py /app/gate_evaluator.py
|
|
COPY control_reader.py /app/control_reader.py
|
|
|
|
# Audit-Verzeichnis (eigenes Volume, append-only gegen RQ-Manipulation)
|
|
RUN mkdir -p /audit
|
|
|
|
# Kein Shell-Entrypoint: direkt Python. Kein /bin/sh im CMD.
|
|
ENTRYPOINT ["python3", "/app/gate_evaluator.py"]
|