FROM 086679231553.dkr.ecr.us-east-1.amazonaws.com/docker-parent-images:lambda-python313 AS base

USER root

RUN rm -rf /etc/dnf/vars/releasever && \
    dnf --refresh update -y --releasever=latest && \
    dnf clean all && \
    rm -rf /var/cache/dnf

RUN pip install --upgrade pip setuptools

WORKDIR /var/task

FROM base AS deploy

ARG version
LABEL Version=$version
ENV build_version=$version

# Datadog Lambda extension
COPY --from=public.ecr.aws/datadog/lambda-extension:82 /opt/. /opt/

COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt && \
    pip cache purge

COPY src/ ./src
COPY config.py ./

EXPOSE 8080

ENV DD_LAMBDA_HANDLER=src.app.handler
CMD [ "datadog_lambda.handler.handler" ]

# ---------- Test image ----------
FROM base AS tests

COPY requirements.txt requirements-test.txt ./
RUN pip install --no-cache-dir -r requirements-test.txt && \
    pip cache purge

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

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