Files
bikoret/deploy/docker/Dockerfile.korban_processor
T
Scott KarpandClaude Opus 4.6 2f1205eef1 Bake L1 Torah into container images, simplify K8s deployment
L1 (29MB, 5860 files) is read-only and immutable — it belongs
inside the image, not on a separate volume. The scroll is sealed
in the aron. It ships with the vessel.

- All 4 Dockerfiles: COPY l1/ /mnt/torah/ in runtime stage
- deployment.yaml: Removed L1 PVC volume and all L1 volumeMounts
- deployment.yaml: Added imagePullSecrets for registry auth
- deployment.yaml: Manna uses emptyDir (kohen writes via kubectl cp)
- No CSI driver needed — eliminates Exoscale block storage dependency

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-01 13:16:31 -04:00

41 lines
1.2 KiB
Docker

# Shorashim Korban Processor — Python offering protocol
# Construction spec §1.1: Python 3.12.2
# Processes korbanot (model outputs) through the offering protocol
FROM python:3.12.2-slim AS build
WORKDIR /app
# Install build deps
RUN pip install --no-cache-dir poetry-core
# Copy project files
COPY korban_processor/pyproject.toml ./
COPY korban_processor/src/ src/
COPY korban_processor/test/ test/
# Install dependencies
RUN pip install --no-cache-dir pydantic==2.6.1 httpx==0.27.0 pyswip==0.2.10 hebrew-tokenizer==2.3.0
# === RUNTIME STAGE ===
FROM python:3.12.2-slim
RUN useradd --create-home --shell /bin/bash shorashim
USER shorashim
WORKDIR /home/shorashim/korban_processor
COPY --from=build --chown=shorashim:shorashim /app/ ./
COPY --from=build /usr/local/lib/python3.12/site-packages/ /usr/local/lib/python3.12/site-packages/
ENV PYTHONPATH=/home/shorashim/korban_processor/src
# L1 Torah filesystem — baked into the image
COPY --chown=shorashim:shorashim l1/ /mnt/torah/
ENV L1_MOUNT_POINT=/mnt/torah
# The korban processor is invoked by the vav_pipeline
# In Phase 5, it will also expose an HTTP endpoint for external model integration
CMD ["python", "-m", "korban_processor"]