Files
cobald-testenv/roles/cobald/templates/cobald.Dockerfile

74 lines
2.5 KiB
Docker

FROM {{ cobald_docker_base_image | default("docker.io/library/centos:7") }}
RUN yum update -y && \
yum install -y python3 git && pip3 install --upgrade pip && \
yum clean all && rm -rf /var/cache/yum
ARG REPOCOBALD=https://github.com/MatterMiners/cobald
ARG REPOTARDIS=https://github.com/MatterMiners/tardis
RUN git clone $REPOCOBALD /usr/local/src/cobald && \
git clone $REPOTARDIS /usr/local/src/tardis
RUN mkdir /etc/cobald /var/log/cobald && \
( getent passwd cobald > /dev/null || \
useradd -m -d /var/lib/cobald --no-log-init --system cobald ) && \
chown cobald:cobald /var/log/cobald
#RUN mkdir /cobald && python3 -m venv /cobald && source /cobald/bin/activate &&\
# pip3 install --upgrade pip && pip3 install cobald
RUN mkdir /usr/local/src/cobaldmodules /usr/local/lib/cobaldmodules && \
ln -s /usr/local/src/cobaldmodules/setup.py \
/usr/local/lib/cobaldmodules/setup.py && \
ln -s /usr/local/src/cobaldmodules/cobaldmodules \
/usr/local/lib/cobaldmodules/cobaldmodules && \
chown cobald:cobald /usr/local/lib/cobaldmodules
RUN pip3 install --editable /usr/local/src/cobald && \
pip3 install --editable /usr/local/src/cobald[contrib]
RUN pip3 install --editable /usr/local/src/tardis&& \
pip3 install --editable /usr/local/src/tardis[contrib]
ENV PYTHONPATH=/usr/local/src/cobaldmodules
# pip3 install --editable .
# pip3 install --editable .[contrib]
# pip3 install --upgrade --editable /etc/cobald/modules/
# su cobald -c "python3 -m cobald.daemon /etc/cobald/config.yaml"
VOLUME /usr/local/src/cobaldmodules
VOLUME /etc/cobald
RUN mkdir -p /usr/local/lib/entrypoints.d/
COPY init-cobaldmodules.sh /usr/local/lib/entrypoints.d/50-init-cobaldmodules.sh
RUN chmod 755 /usr/local/lib/entrypoints.d/50-init-cobaldmodules.sh
COPY start-drone /usr/local/bin/start-drone
COPY 28-sync-container-slurmd /etc/docker-init.d/28-sync-container-slurmd
RUN chmod 755 /usr/local/bin/start-drone /etc/docker-init.d/28-sync-container-slurmd
RUN echo -e "#!/bin/sh\npython3 -m cobald.daemon /etc/cobald/config.yaml" >> /etc/docker-init.d/70-cobald && chmod 755 /etc/docker-init.d/70-cobald
{% if cobald_docker_default_command | default(True) -%}
COPY cobald-entrypoint.sh /usr/local/sbin/cobald-entrypoint.sh
RUN chmod 755 /usr/local/sbin/cobald-entrypoint.sh
ENTRYPOINT [ "/usr/local/sbin/cobald-entrypoint.sh" ]
RUN yum -y install iproute &&\
yum clean all && rm -rf /var/cache/yum
USER cobald
STOPSIGNAL SIGINT
# CMD "python3 -m cobald.daemon /etc/cobald/config.yaml"
CMD /etc/docker-init.d/60-cobald
{%- endif %}