FROM python:3.12.12
MAINTAINER Komal Thareja<komal.thareja@gmail.com>

RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
VOLUME ["/usr/src/app"]

EXPOSE 11000

RUN python3 -m venv /opt/venv
ENV PATH="/opt/venv/bin:$PATH"

RUN apt-get update
RUN apt-get install cron -y

COPY fabric_cf /usr/src/app/fabric_cf
COPY pyproject.toml /usr/src/app/
COPY README.md /usr/src/app/
COPY LICENSE /usr/src/app/
COPY tools/audit.py /usr/src/app/
COPY tools/export.py /usr/src/app/
COPY tools/export.py /usr/src/app/
COPY tools/install.sh /usr/src/app/

RUN pip install .
RUN mkdir -p "/etc/fabric/message_bus/schema"
RUN mkdir -p "/etc/fabric/actor/config"
RUN mkdir -p "/var/log/actor"
RUN cp /opt/venv/lib/python3.12/site-packages/fabric_mb/message_bus/schema/*.avsc /etc/fabric/message_bus/schema

RUN echo "0 2 * * * root /opt/venv/bin/python /usr/src/app/audit.py -f /etc/fabric/actor/config/config.yaml -d 30 -c slices -o remove" >> /etc/crontab
RUN echo "0/15 * * * * root /opt/venv/bin/python /usr/src/app/audit.py -f /etc/fabric/actor/config/config.yaml -d 30 -c slivers -o close" >> /etc/crontab
RUN service cron reload
RUN service cron restart

ENTRYPOINT ["sh"]
CMD ["tail", "-f", "/dev/null"]
