FROM 475275892927.dkr.ecr.us-east-1.amazonaws.com/python:3.9-alpine as builder
ARG PACKAGE
COPY . /${PACKAGE}
WORKDIR /${PACKAGE}
USER ${ROOT_USER}
RUN chown -R ${APP_USER}:${APP_GROUP} /${PACKAGE}
USER ${APP_USER}
RUN python3 -m venv venv && \
    source ./venv/bin/activate && \
        cp pip.conf ./venv/ && \
        pip3 install -U pip && \
        pip3 install -e .
RUN source ./venv/bin/activate && \
    zappa package delphi_dev -o delphi_dev-${PACKAGE}.zip && \
    zappa package delphi_qa -o delphi_qa-${PACKAGE}.zip && \
    zappa package delphi_stage -o delphi_stage-${PACKAGE}.zip && \
    zappa package delphi_prod -o delphi_prod-${PACKAGE}.zip

RUN echo $'cd /${PACKAGE}; \n\
        source ./venv/bin/activate; \n\
        zappa status ${STAGE} \
            && zappa update ${STAGE} -z ${STAGE}-${PACKAGE}.zip\
            || zappa deploy ${STAGE} -z ${STAGE}-${PACKAGE}.zip' > /app/entrypoint.sh && \
    chmod +x /app/entrypoint.sh

ENV PACKAGE=${PACKAGE}
ENTRYPOINT ["/bin/sh", "/app/entrypoint.sh"]
# USAGE - set env variable STAGE and run standard entrypoint

