# Local Spark + Delta runtime, so nobody needs Java or Spark installed on their machine.
FROM python:3.11-slim-bookworm
RUN apt-get update && apt-get install -y --no-install-recommends openjdk-17-jre-headless procps \
    && rm -rf /var/lib/apt/lists/*
ENV JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 PYTHONPATH=/app/src PYTHONUNBUFFERED=1
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir --default-timeout=600 --retries 10 -r requirements.txt
# Fetch the Delta jars at build time so pipeline runs do not depend on Maven Central
RUN python -c "from delta import configure_spark_with_delta_pip as c; from pyspark.sql import SparkSession as S; c(S.builder.master('local[1]')).getOrCreate().stop()"
COPY . .
CMD ["sh", "-c", "python -m rxintegrity.ingest && python -m rxintegrity.run_local"]
