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

All Dockerfile now: Merge multiple 'RUN' commands to slim images size; Replace...

All Dockerfile now: Merge multiple 'RUN' commands to slim images size; Replace 'ADD' with 'COPY' as per best practices;
parent e2936b48
Pipeline #1512121 skipped with stage
*.tar.gz
# clion specific configs
/cmake-build*/
/.idea/
......@@ -24,6 +24,7 @@ COPY eos-docker/xrootd.conf /etc/tmpfiles.d/
COPY eos-docker/xrootd-fwd-proxy.cfg /etc/xrootd/
RUN mkdir /var/tmp/eosxd-cache/ /var/tmp/eosxd-journal/
RUN adduser eos-user
# Docker will aggressively cache the following command, but this is fine, since
......@@ -47,8 +48,8 @@ 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 \
quarkdb grid-hammer davix \
eos-server eos-testkeytab eos-archive eos-client eos-debuginfo eos-fuse eos-fusex eos-test eos-ns-inspect \
davix grid-hammer quarkdb \
eos-archive eos-client eos-debuginfo eos-fuse eos-fusex eos-ns-inspect eos-server eos-test eos-testkeytab \
&& yum clean all
# *************
......@@ -58,7 +59,7 @@ RUN createrepo ${EOSREPODIR} \
# 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 only happens on CC7.
# fails. This happens on CC7 and C8.
RUN yum install -y --nogpg install xrootd-client
# Generate a new forwardable keytab 'eos-test+' to replace the not-forwardable
......@@ -68,8 +69,9 @@ RUN yum install -y --nogpg install xrootd-client
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 \
&& chmod 400 /etc/eos.keytab
# Change owner of /var/spool/xrootd directory to daemon
&& chown daemon:daemon /var/spool/xrootd
RUN chown daemon:daemon /var/spool/xrootd
ENTRYPOINT ["/bin/bash"]
......@@ -4,17 +4,17 @@
# Version 0.2
FROM centos:7
MAINTAINER Elvin Sindrilaru, esindril@cern.ch, CERN 2017
LABEL maintainer="Elvin Sindrilaru, esindril@cern.ch, CERN 2017"
# Add required repositories
ADD el-7/*.repo /etc/yum.repos.d/
COPY el-7/*.repo /etc/yum.repos.d/
# Add helper scripts
ADD image_scripts/*.sh /
COPY image_scripts/*.sh /
# Add configuration files
ADD eos.sysconfig /etc/sysconfig/eos
ADD xrd.cf.* krb5.conf /etc/
COPY eos.sysconfig /etc/sysconfig/eos
COPY xrd.cf.* krb5.conf /etc/
# Install XRootD
ENV XRD_VERSION 4.5.0
......
......@@ -4,22 +4,27 @@
# Version 0.1
FROM centos:7
MAINTAINER Fabio Luchetti faluchet@cern.ch, CERN 2019
LABEL maintainer="Fabio Luchetti faluchet@cern.ch, CERN 2019"
# Add extra repositories
ADD eos-docker/el-7/*.repo /etc/yum.repos.d/
COPY eos-docker/el-7/*.repo /etc/yum.repos.d/
# Add helper scripts
ADD eos-docker/image_scripts/*.sh /
COPY eos-docker/image_scripts/*.sh /
# Add configuration files for EOS instance
ADD eos-docker/eos.sysconfig /etc/sysconfig/eos
ADD eos-docker/xrd.cf.* eos-docker/krb5.conf /etc/
ADD eos-docker/fuse.conf /etc/eos/fuse.mount-1.conf
ADD eos-docker/fuse.conf /etc/eos/fuse.mount-2.conf
ADD eos-docker/fstfmd.dict /var/eos/md/
COPY eos-docker/eos.sysconfig /etc/sysconfig/eos
COPY eos-docker/xrd.cf.* eos-docker/krb5.conf /etc/
COPY eos-docker/fuse.conf /etc/eos/fuse.mount-1.conf
COPY eos-docker/fuse.conf /etc/eos/fuse.mount-2.conf
COPY eos-docker/fstfmd.dict /var/eos/md/
# Add configuration files for forwarding proxy server
COPY eos-docker/xrootd.conf /etc/tmpfiles.d/
COPY eos-docker/xrootd-fwd-proxy.cfg /etc/xrootd/
RUN mkdir /var/tmp/eosxd-cache/ /var/tmp/eosxd-journal/
RUN adduser eos-user
# Docker will aggressively cache the following command, but this is fine, since
......@@ -40,18 +45,20 @@ ENV EOSREPODIR="/repo/eos"
ADD cc7_asan_artifacts ${EOSREPODIR}
# Special packages, must be installed un-cached.
RUN createrepo ${EOSREPODIR}; \
echo -e "[eos-asan-artifacts]\nname=EOS Asan artifacts\nbaseurl=file://${EOSREPODIR}\ngpgcheck=0\nenabled=1\npriority=1" >> /etc/yum.repos.d/eos-artifacts.repo; \
yum install --nogpg --disablerepo="cern*" -y eos-client eos-server eos-test eos-ns-inspect quarkdb \
RUN createrepo ${EOSREPODIR} \
&& echo -e "[eos-asan-artifacts]\nname=EOS Asan artifacts\nbaseurl=file://${EOSREPODIR}\ngpgcheck=0\nenabled=1\npriority=1" >> /etc/yum.repos.d/eos-artifacts.repo \
&& yum -y --nogpg --disablerepo="cern*" install \
quarkdb \
eos-client eos-ns-inspect eos-server eos-test eos-testkeytab \
&& yum clean all
# 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.
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
# Setup keytab permissions
RUN chown daemon:daemon /etc/eos.keytab; \
chmod 400 /etc/eos.keytab
# 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.
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
ENTRYPOINT ["/bin/bash"]
......@@ -4,32 +4,37 @@
# Version 0.1
FROM centos:8
MAINTAINER Mihai Patrascoiu, mihai.patrascoiu@cern.ch, CERN 2020
LABEL maintainer="Mihai Patrascoiu, mihai.patrascoiu@cern.ch, CERN 2020"
# Add extra repositories
ADD eos-docker/el-8/*.repo /etc/yum.repos.d/
COPY eos-docker/el-8/*.repo /etc/yum.repos.d/
# Add helper scripts
ADD eos-docker/image_scripts/*.sh /
COPY eos-docker/image_scripts/*.sh /
# Add configuration files for EOS instance
ADD eos-docker/eos.sysconfig /etc/sysconfig/eos
ADD eos-docker/xrd.cf.* eos-docker/krb5.conf /etc/
ADD eos-docker/fuse.conf /etc/eos/fuse.mount-1.conf
ADD eos-docker/fuse.conf /etc/eos/fuse.mount-2.conf
ADD eos-docker/fstfmd.dict /var/eos/md/
COPY eos-docker/eos.sysconfig /etc/sysconfig/eos
COPY eos-docker/xrd.cf.* eos-docker/krb5.conf /etc/
COPY eos-docker/fuse.conf /etc/eos/fuse.mount-1.conf
COPY eos-docker/fuse.conf /etc/eos/fuse.mount-2.conf
COPY eos-docker/fstfmd.dict /var/eos/md/
# Add configuration files for forwarding proxy server
COPY eos-docker/xrootd.conf /etc/tmpfiles.d/
COPY eos-docker/xrootd-fwd-proxy.cfg /etc/xrootd/
RUN mkdir /var/tmp/eosxd-cache/ /var/tmp/eosxd-journal/
RUN adduser eos-user
# Note: Docker will aggressively cache the following command.
# However, these packages don't change often
RUN dnf -y install epel-release; \
dnf -y --nogpg install \
RUN dnf -y install epel-release \
&& dnf -y --nogpg install \
krb5-server krb5-workstation createrepo initscripts \
rsync sqlite less nano sudo vim at bzip2 git parallel \
rsync sqlite less nano sudo vim bzip2 git parallel \
rpm-build libgfortran libacl-devel perl-Test-Harness \
gcc-c++ gdb cmake automake autoconf libtool \
gcc-c++ gdb cmake automake autoconf libtool at \
&& dnf clean all
# Install EOS from locally created repo
......@@ -54,25 +59,22 @@ RUN createrepo ${EOSREPODIR}; \
# 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.
# fails. This happens on CC7 and C8.
RUN dnf -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.
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
# Setup keytab permissions
RUN chown daemon:daemon /etc/eos.keytab; \
chmod 400 /etc/eos.keytab
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
# The system tests have a strong bias towards nobody having uid=99 guid=99
RUN usermod -u 99 nobody; \
groupmod -g 99 nobody
RUN usermod -u 99 nobody && groupmod -g 99 nobody
ENTRYPOINT ["/bin/bash"]
......@@ -4,22 +4,27 @@
# Version 0.2
FROM centos:7
MAINTAINER Elvin Sindrilaru, esindril@cern.ch, CERN 2017
LABEL maintainer="Elvin Sindrilaru, esindril@cern.ch, CERN 2017"
# Add extra repositories
ADD eos-docker/el-7/*.repo /etc/yum.repos.d/
COPY eos-docker/el-7/*.repo /etc/yum.repos.d/
# Add helper scripts
ADD eos-docker/image_scripts/*.sh /
COPY eos-docker/image_scripts/*.sh /
# Add configuration files for EOS instance
ADD eos-docker/eos.sysconfig /etc/sysconfig/eos
ADD eos-docker/xrd.cf.* eos-docker/krb5.conf /etc/
ADD eos-docker/fuse.conf /etc/eos/fuse.mount-1.conf
ADD eos-docker/fuse.conf /etc/eos/fuse.mount-2.conf
ADD eos-docker/fstfmd.dict /var/eos/md/
COPY eos-docker/eos.sysconfig /etc/sysconfig/eos
COPY eos-docker/xrd.cf.* eos-docker/krb5.conf /etc/
COPY eos-docker/fuse.conf /etc/eos/fuse.mount-1.conf
COPY eos-docker/fuse.conf /etc/eos/fuse.mount-2.conf
COPY eos-docker/fstfmd.dict /var/eos/md/
# Add configuration files for forwarding proxy server
COPY eos-docker/xrootd.conf /etc/tmpfiles.d/
COPY eos-docker/xrootd-fwd-proxy.cfg /etc/xrootd/
RUN mkdir /var/tmp/eosxd-cache/ /var/tmp/eosxd-journal/
RUN adduser eos-user
# Docker will aggressively cache the following command, but this is fine, since
......@@ -31,7 +36,7 @@ RUN yum -y --nogpg install \
git parallel compat-libf2c-34 libgfortran \
gdb gcc-c++ cmake3 libacl-devel perl-Test-Harness \
rpm-build bzip2 automake autoconf libtool sudo vim \
lcov centos-release-scl-rh \
centos-release-scl-rh at lcov \
&& yum clean all
# Install devtoolset-6
......@@ -42,14 +47,13 @@ RUN yum -y --nogpg install devtoolset-6
ENV EOSREPODIR="/repo/eos"
ADD cc7_coverage_artifacts ${EOSREPODIR}
RUN createrepo ${EOSREPODIR}; \
echo -e "[eos-coverage-artifacts]\nname=EOS Coverage artifacts\nbaseurl=file://${EOSREPODIR}\ngpgcheck=0\nenabled=1\npriority=1" >> /etc/yum.repos.d/eos.repo; \
echo -e '[eos-depend]\nname=EOS dependencies\nbaseurl=http://storage-ci.web.cern.ch/storage-ci/eos/citrine-depend/el-7/x86_64/\ngpgcheck=0\nenabled=1\npriority=1\n' >> /etc/yum.repos.d/eos-depend.repo; \
# Special packages, must be installed un-cached.
yum -y --nogpg install quarkdb grid-hammer davix; \
yum -y --nogpg install \
eos-server eos-testkeytab eos-archive eos-client \
eos-fuse eos-fusex eos-debuginfo eos-test eos-coverage \
# Special packages, must be installed un-cached.
RUN createrepo ${EOSREPODIR} \
&& echo -e "[eos-coverage-artifacts]\nname=EOS Coverage artifacts\nbaseurl=file://${EOSREPODIR}\ngpgcheck=0\nenabled=1\npriority=1" >> /etc/yum.repos.d/eos.repo \
&& echo -e '[eos-depend]\nname=EOS dependencies\nbaseurl=http://storage-ci.web.cern.ch/storage-ci/eos/citrine-depend/el-7/x86_64/\ngpgcheck=0\nenabled=1\npriority=1\n' >> /etc/yum.repos.d/eos-depend.repo \
&& yum -y --nogpg install \
davix grid-hammer quarkdb \
eos-archive eos-client eos-fuse eos-fusex eos-debuginfo eos-server eos-test eos-testkeytab eos-coverage \
&& yum clean all
# Setup environment for coverage profiling
......@@ -62,16 +66,16 @@ RUN echo -e "export EOS_COVERAGE_REPORT=1" >> /etc/sysconfig/eos
# Note: the source file location is hardcoded into the ".gcno" files.
# Although there are ways to workaround this with lcovrc settings, the underlying gcov tool used will still throw many warnings.
# For this reason, we prefer to move the source files to the expected location.
RUN mkdir -p /root/rpmbuild/BUILD/; \
cp -r --preserve /usr/src/debug/eos-* /root/rpmbuild/BUILD/
# 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.
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
RUN mkdir -p /root/rpmbuild/BUILD/ \
&& cp -r --preserve /usr/src/debug/eos-* /root/rpmbuild/BUILD/
# Setup keytab permissions
RUN chown daemon:daemon /etc/eos.keytab; \
chmod 400 /etc/eos.keytab
# 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.
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
ENTRYPOINT ["/bin/bash"]
......@@ -4,54 +4,56 @@
# Version 0.2
FROM ubuntu:bionic
MAINTAINER Konstantinos Tsitsimpikos, konstantinos.tsitsimpikos@cern.ch, CERN 2018
LABEL maintainer="Konstantinos Tsitsimpikos, konstantinos.tsitsimpikos@cern.ch, CERN 2018"
RUN apt-get update
# Add helper scripts
ADD eos-docker/image_scripts/*.sh /
COPY eos-docker/image_scripts/*.sh /
# Add configuration files for EOS instance
ADD eos-docker/eos.sysconfig /etc/sysconfig/eos
ADD eos-docker/xrd.cf.* eos-docker/krb5.conf /etc/
ADD eos-docker/fuse.conf /etc/eos/fuse.mount-1.conf
ADD eos-docker/fuse.conf /etc/eos/fuse.mount-2.conf
ADD eos-docker/fstfmd.dict /var/eos/md/
COPY eos-docker/eos.sysconfig /etc/sysconfig/eos
COPY eos-docker/xrd.cf.* eos-docker/krb5.conf /etc/
COPY eos-docker/fuse.conf /etc/eos/fuse.mount-1.conf
COPY eos-docker/fuse.conf /etc/eos/fuse.mount-2.conf
COPY eos-docker/fstfmd.dict /var/eos/md/
RUN mkdir /var/tmp/eosxd-cache/ /var/tmp/eosxd-journal/
RUN adduser eos-user
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get install -y software-properties-common
RUN apt-get install -y --no-install-recommends apt-utils
RUN apt-get install -y build-essential git gdebi-core \
heimdal-servers krb5-kdc krb5-admin-server \
krb5-user libpam-krb5 libpam-ccreds libtool \
nano vim parallel gcc gdb g++ fort77 gfortran-8 perl \
bzip2 automake autoconf wget curl \
cmake createrepo cpio sqlite3 rsync at
RUN apt-get install -y software-properties-common \
&& apt-get install -y --no-install-recommends apt-utils \
&& apt-get install -y build-essential git gdebi-core \
heimdal-servers krb5-kdc krb5-admin-server \
krb5-user libpam-krb5 libpam-ccreds libtool \
nano vim parallel gcc gdb g++ fort77 gfortran-8 perl \
bzip2 automake autoconf wget curl \
cmake createrepo cpio sqlite3 rsync at
# Add XRootd repo
RUN curl -sL http://storage-ci.web.cern.ch/storage-ci/storageci.key | apt-key add - && apt-get update
RUN echo "deb http://storage-ci.web.cern.ch/storage-ci/debian/xrootd bionic release\n# deb-src http://storage-ci.web.cern.ch/storage-ci/debian/xrootd bionic release" >> /etc/apt/sources.list
RUN add-apt-repository 'deb http://storage-ci.web.cern.ch/storage-ci/debian/xrootd bionic release'
RUN curl -sL http://storage-ci.web.cern.ch/storage-ci/storageci.key | apt-key add - \
&& apt-get update \
&& echo "deb http://storage-ci.web.cern.ch/storage-ci/debian/xrootd bionic release\n# deb-src http://storage-ci.web.cern.ch/storage-ci/debian/xrootd bionic release" >> /etc/apt/sources.list \
&& add-apt-repository 'deb http://storage-ci.web.cern.ch/storage-ci/debian/xrootd bionic release'
# Create local repo from eos artifacts
ENV EOSREPODIR="/debs/eos/"
ADD bionic_artifacts ${EOSREPODIR}
RUN cd ${EOSREPODIR}; \
dpkg-scanpackages . > Packages; \
gzip --keep -9 Packages
RUN echo "deb [trusted=yes] file:${EOSREPODIR} ./\n" >> /etc/apt/sources.list
RUN cd ${EOSREPODIR} \
&& dpkg-scanpackages . > Packages \
&& gzip --keep -9 Packages \
&& echo "deb [trusted=yes] file:${EOSREPODIR} ./\n" >> /etc/apt/sources.list
RUN apt-get clean && apt-get update
RUN apt-get install -y eos-client eos-fuse eos-fusex eos-test eos-testkeytab
RUN apt-get clean \
&& apt-get update \
&& apt-get install -y eos-client eos-fuse eos-fusex eos-test eos-testkeytab
# Change persmissions for keytab
RUN chown daemon:daemon /etc/eos.keytab; \
chmod 400 /etc/eos.keytab
RUN chown daemon:daemon /etc/eos.keytab \
&& chmod 400 /etc/eos.keytab
ENV DEBIAN_FRONTEND default
......
......@@ -4,22 +4,27 @@
# Version 0.2
FROM centos:7
MAINTAINER Elvin Sindrilaru, esindril@cern.ch, CERN 2017
LABEL maintainer="Elvin Sindrilaru, esindril@cern.ch, CERN 2017"
# Add extra repositories
ADD eos-docker/el-7/*.repo /etc/yum.repos.d/
COPY eos-docker/el-7/*.repo /etc/yum.repos.d/
# Add helper scripts
ADD eos-docker/image_scripts/*.sh /
COPY eos-docker/image_scripts/*.sh /
# Add configuration files for EOS instance
ADD eos-docker/eos.sysconfig /etc/sysconfig/eos
ADD eos-docker/xrd.cf.* eos-docker/krb5.conf /etc/
ADD eos-docker/fuse.conf /etc/eos/fuse.mount-1.conf
ADD eos-docker/fuse.conf /etc/eos/fuse.mount-2.conf
ADD eos-docker/fstfmd.dict /var/eos/md/
COPY eos-docker/eos.sysconfig /etc/sysconfig/eos
COPY eos-docker/xrd.cf.* eos-docker/krb5.conf /etc/
COPY eos-docker/fuse.conf /etc/eos/fuse.mount-1.conf
COPY eos-docker/fuse.conf /etc/eos/fuse.mount-2.conf
COPY eos-docker/fstfmd.dict /var/eos/md/
# Add configuration files for forwarding proxy server
COPY eos-docker/xrootd.conf /etc/tmpfiles.d/
COPY eos-docker/xrootd-fwd-proxy.cfg /etc/xrootd/
RUN mkdir /var/tmp/eosxd-cache/ /var/tmp/eosxd-journal/
RUN adduser eos-user
# Docker will aggressively cache the following command, but this is fine, since
......@@ -30,34 +35,30 @@ RUN yum -y --nogpg install \
createrepo initscripts less nano \
git parallel compat-libf2c-34 libgfortran \
gdb gcc-c++ cmake3 libacl-devel perl-Test-Harness \
rpm-build bzip2 automake autoconf libtool sudo vim at \
rpm-build bzip2 automake autoconf libtool sudo vim \
at \
&& yum clean all
# Special packages, must be installed un-cached.
RUN yum clean all; \
yum -y --nogpg --enablerepo=xrootd-testing --setopt="eos-depend.exclude=xrootd*" install \
quarkdb grid-hammer davix \
&& yum clean all
# Install new EOS from created repo - the ADD command will reset the docker cache,
# and any commands after that point will be uncached.
ENV EOSREPODIR="/repo/eos"
ADD cc7_xrd_testing_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 --enablerepo=xrootd-testing --setopt="eos-depend.exclude=xrootd*,python2-xrootd*" install \
eos-server eos-testkeytab eos-archive eos-client \
eos-debuginfo eos-fuse eos-fusex eos-test eos-ns-inspect \
# Special packages, must be installed un-cached.
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 --enablerepo=xrootd-testing --setopt="eos-depend.exclude=xrootd*,python2-xrootd*" install \
davix grid-hammer quarkdb \
eos-archive eos-client eos-debuginfo eos-fuse eos-fusex eos-ns-inspect eos-server eos-test eos-testkeytab \
&& yum clean all
# 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.
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
# Setup keytab permissions
RUN chown daemon:daemon /etc/eos.keytab; \
chmod 400 /etc/eos.keytab
# 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.
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
ENTRYPOINT ["/bin/bash"]
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