FROM python:3.8.13

# [usage:]
# docker builld -t tacker-monitoring-test .
# docker run -v ${PWD}/src:/work/src -v ${PWD}/rules:/etc/prometheus/rules -p 55555:55555 -p 50022:22 -e TEST_REMOTE_URI="<<tacker_uri>>" -it tacker-monitoring-test
#
# [api:]
# curl -X POST http://<<this_tool's_url>>:55555/v2/tenant_id/servers/server_id/alarms -d '{"fault_action": "http://<<tacker_uri>>", "fault_id": "2222"}' -i
# curl -X DELETE http://<<this_tool's_url>>:55555/v2/tenant_id/servers/server_id/alarms/<<alarm_id>> -i

ARG PROXY
ENV http_proxy ${PROXY}
ENV https_proxy ${PROXY}
ENV HTTP_PROXY ${PROXY}
ENV HTTPS_PROXY ${PROXY}

USER root
RUN useradd -m user
RUN if [ ! -z "${MS_UID}" -a "${MS_UID}" -ge 1000 ] ;\
         then usermod -u ${MS_UID} user ;\
         else usermod -u 1000 user ; \
    fi

# SSH server
RUN apt-get update && \
    apt-get install -y --no-install-recommends openssh-server && \
    rm -rf /var/lib/apt/lists/* && \
    echo "root:root" | chpasswd && \
    sed -i "s/#PermitRootLogin prohibit-password/PermitRootLogin yes/" /etc/ssh/sshd_config

RUN pip install --upgrade pip
COPY requirements.txt /tmp/requirements.txt
RUN pip install --default-timeout=1000 --no-cache-dir -r /tmp/requirements.txt
COPY entrypoint.sh /tmp/entrypoint.sh
RUN mkdir -p /work/src && chmod 777 /work/src
RUN mkdir -p /etc/prometheus/rules && chmod 777 /etc/prometheus/rules

EXPOSE 55555
EXPOSE 22

#USER user
WORKDIR /work
RUN chown "user:user" /tmp/entrypoint.sh
RUN chmod +x /tmp/entrypoint.sh
CMD [ "/tmp/entrypoint.sh" ]