Commit fb36f7e1 authored by Fabio Luchetti's avatar Fabio Luchetti
Browse files

Add Dockerfile for a thin image: EOS rpms and deps only

parent f5ab67aa
Pipeline #2524110 skipped with stage
[eos] [eos-commit]
name=EOS Citrine - Commit Version name=EOS __EOS_CODENAME__ - Commit Version
baseurl=http://storage-ci.web.cern.ch/storage-ci/eos/__EOS_CODENAME__/commit/el-7/x86_64/ baseurl=http://storage-ci.web.cern.ch/storage-ci/eos/__EOS_CODENAME__/commit/el-7/x86_64/
gpgcheck=0 gpgcheck=0
enabled=0 enabled=0
priority=2 priority=2
[eos-tag] [eos-tag]
name=EOS Citrine - Tag Version name=EOS __EOS_CODENAME__ - Tag Version
baseurl=http://storage-ci.web.cern.ch/storage-ci/eos/__EOS_CODENAME__/tag/el-7/x86_64/ baseurl=http://storage-ci.web.cern.ch/storage-ci/eos/__EOS_CODENAME__/tag/el-7/x86_64/
gpgcheck=0 gpgcheck=0
enabled=0 enabled=0
priority=4 priority=4
[eos-depend] [eos-depend]
name=EOS Citrine Dependencies name=EOS __EOS_CODENAME__ Dependencies
baseurl=http://storage-ci.web.cern.ch/storage-ci/eos/__EOS_CODENAME__-depend/el-7/x86_64/ baseurl=http://storage-ci.web.cern.ch/storage-ci/eos/__EOS_CODENAME__-depend/el-7/x86_64/
gpgcheck=0 gpgcheck=0
enabled=1 enabled=1
......
#
# Simple EOS Docker file
#
# Version 0.1
FROM centos:7
LABEL maintainer="Fabio Luchetti, fabio.luchetti@cern.ch, CERN 2021"
ARG EOS_CODENAME=citrine
COPY eos-docker/minimal/el-7/eos.repo /etc/yum.repos.d/eos.repo
COPY eos-docker/minimal/el-7/quarkdb.repo /etc/yum.repos.d/quarkdb.repo
RUN sed -i "s|__EOS_CODENAME__|${EOS_CODENAME}|g" /etc/yum.repos.d/eos.repo
# epel-release: for eos dependencies
# createrepo: to make repo out of local dirs in the dockerbuild
RUN yum -y install epel-release createrepo && yum clean all
# Install new EOS from created repo
ENV EOSREPODIR="/repo/eos"
ADD cc7_artifacts ${EOSREPODIR}
RUN createrepo ${EOSREPODIR} \
&& echo -e "[eos-artifacts]\nname=EOS artifacts\nbaseurl=file://${EOSREPODIR}\ngpgcheck=0\nenabled=1\npriority=1" >> /etc/yum.repos.d/eos.repo \
&& yum -y --nogpg install \
eos-archive eos-client eos-fusex eos-ns-inspect \
eos-server eos-test eos-testkeytab davix \
&& yum clean all
RUN if [ "${EOS_CODENAME}" != "diopside" ]; then yum -y --nogpg install quarkdb && yum clean all; fi
# Just install some much needed utility
RUN yum -y install nano redis && yum clean all
# *************
# NOTE: !UGLY!*
# *************
# This is an ugly hack but the FST ofs.tpc config requires /usr/bin/xrdcp
# and this is provided by the xrootd-client package. With EOS having eos-xrootd
# as dependency the xrdcp program is in /opt/eos/xrootd/bin/xrdcp and the
# xrootd-client package is no longer installed and therefore starting the FSTs
# fails. This happens on CC7 and C8.
# @todo review: what about changing the FST ofs.tpc config and point to the eos-xrootd path?
RUN yum install -y --nogpg install xrootd-client
# Generate a new forwardable keytab 'eos-test+' to replace the not-forwardable
# one (installed by the eos-testkeytab package).
# This is useful to deploy EOS on Kubernetes clusters running on CERN's Cloud
# Infrastructure; you can remove these lines if you don't need one.
# @todo review: what about not installing eos-testkeytab at all?
RUN yes | xrdsssadmin -k eos-test del /etc/eos.keytab \
&& yes | xrdsssadmin -u daemon -g daemon -k eos-test+ -n 1234567890123456789 add /etc/eos.keytab \
&& chown daemon:daemon /etc/eos.keytab \
&& chmod 400 /etc/eos.keytab
# Change owner of /var/spool/xrootd directory to daemon
RUN chown daemon:daemon /var/spool/xrootd
ENTRYPOINT ["/bin/bash"]
[eos-__EOS_CODENAME__-depend]
name=EOS __EOS_CODENAME__ Dependencies
baseurl=https://storage-ci.web.cern.ch/storage-ci/eos/__EOS_CODENAME__-depend/el-7/x86_64/
gpgcheck=0
enabled=1
[eos-__EOS_CODENAME__-commit]
name=EOS __EOS_CODENAME__ Commit Version
baseurl=https://storage-ci.web.cern.ch/storage-ci/eos/__EOS_CODENAME__/commit/el-7/x86_64/
gpgcheck=0
enabled=0
[eos-__EOS_CODENAME__-tag-testing]
name=EOS __EOS_CODENAME__ Tag Testing Version
baseurl=https://storage-ci.web.cern.ch/storage-ci/eos/__EOS_CODENAME__/tag/testing/el-7/x86_64/
gpgcheck=0
enabled=0
[eos-__EOS_CODENAME__-tag]
name=EOS __EOS_CODENAME__ Tag Version
baseurl=https://storage-ci.web.cern.ch/storage-ci/eos/__EOS_CODENAME__/tag/el-7/x86_64/
gpgcheck=0
enabled=0
[quarkdb]
name=QuarkDB
baseurl=http://storage-ci.web.cern.ch/storage-ci/quarkdb/tag/el7/x86_64/
gpgcheck=0
enabled=1
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment