FROM public.ecr.aws/lambda/python:3.10

ARG PACKAGE
ARG APP

ARG REVISION
ARG BUILDTIME
LABEL REVISION=${REVISION}
LABEL BUILDTIME=${BUILDTIME}
LABEL PACKAGE=${PACKAGE}

ENV PACKAGE=${PACKAGE}
ENV APP=${APP}
ENV AWS_SHARED_CREDENTIALS_FILE=/app/.aws/credentials
ENV AWS_CONFIG_FILE=/app/.aws/config

RUN mkdir -p /root/.config/pip/
COPY pip.conf /root/.config/pip/
COPY .pypirc /root/.config/.pypirc
COPY . /var/task/${APP}/

RUN pip install --upgrade pip setuptools \
    && cd /var/task/${APP} \
    && pip install -r ./requirements/base.pip \
    && pip install -e .

RUN echo $' \
    set -euo pipefail \n \
    env \n \
    cd /var/task/${APP} && zappa update ${STAGE} -d ${IMAGE} || zappa deploy ${STAGE} -d ${IMAGE}' >> /usr/bin/deploy && \
    chmod +x /usr/bin/deploy

CMD ["slz_apple_music_charts_pipeline_configurator.entry.lambda_handler"]
