FROM amazon/aws-lambda-python:3.12.2025.11.23.13-x86_64

ARG CACHE_BUSTER=0

# Force OS security update and install necessary build dependencies (like for librdkafka)
# The CACHE_BUSTER forces this layer to run fresh, ensuring current patches.
RUN echo "Running security update for build $CACHE_BUSTER" && \
    dnf update -y && \
    dnf install -y gcc python3-devel zlib-devel librdkafka-devel && \
    dnf clean all || \
    (dnf install -y gcc python3-devel zlib-devel && dnf clean all && echo "Librdkafka failed to install, skipping.")

COPY requirements.txt requirements-test.txt ./
# Pin pip to 25.2 to fix CVE-2025-8869 and install required dependencies
RUN pip install --upgrade pip==25.2 && \
    pip install -r requirements-test.txt --no-cache-dir

COPY config.py lint-and-test.sh docker-compose.yaml .flake8 ./
COPY src/ ./src
COPY tests/ ./tests

ENTRYPOINT [ "/var/task/lint-and-test.sh" ]
