# Python version 
FROM python:3.7

# configure env
ARG STAGE
ARG TENANT
ARG DATA_LAKE
ARG DATA_LAKE_TYPE
ARG DATA_LAKE_REGION
ARG DATA_LAKE_ROOT_PATH
ARG SNOWFLAKE_USERNAME
ARG SNOWFLAKE_PORT
ARG SNOWFLAKE_WAREHOUSE
ARG SNOWFLAKE_SCHEMA
ARG SNOWFLAKE_APPLICATION
ARG SNOWFLAKE_PASSWORD
ARG SNOWFLAKE_ACCOUNT
ARG SNOWFLAKE_DATABASE

ENV STAGE=$STAGE\
  TENANT=$TENANT\
  DATA_LAKE=$DATA_LAKE \
  DATA_LAKE_REGION=$DATA_LAKE_REGION \
  DATA_LAKE_TYPE=$DATA_LAKE_TYPE \
  DATA_LAKE_ROOT_PATH=$DATA_LAKE_ROOT_PATH \
  SNOWFLAKE_USERNAME=$SNOWFLAKE_USERNAME \
  SNOWFLAKE_PORT=$SNOWFLAKE_PORT \
  SNOWFLAKE_WAREHOUSE=$SNOWFLAKE_WAREHOUSE \
  SNOWFLAKE_SCHEMA=$SNOWFLAKE_SCHEMA \
  SNOWFLAKE_APPLICATION=$SNOWFLAKE_APPLICATION \
  SNOWFLAKE_PASSWORD=$SNOWFLAKE_PASSWORD \
  SNOWFLAKE_ACCOUNT=$SNOWFLAKE_ACCOUNT \
  SNOWFLAKE_DATABASE=$SNOWFLAKE_DATABASE
  
# Copy and install the pacakges you need
COPY requirements.txt requirements.txt
RUN pip install -U pip && pip install -r requirements.txt

# Copy the app.py file and run.sh file
COPY ./app.py /app/app.py
COPY ./run.sh /app/run.sh
WORKDIR /app

RUN useradd demo
USER demo

EXPOSE 8080

ENTRYPOINT ["bash", "run.sh"]
