diff --git a/Dockerfile b/Dockerfile index 9c9b3c8d1f8b3741e6c669acb33c269c2dd53edb..79e8fcb8d3c7037f84c0a43997e457086e5dbf72 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,14 +7,19 @@ ENV PULSAR_CONFIG_CONDA_PREFIX /usr/local ADD ./requirements.txt /pulsar/ RUN apt-get update \ - # build dependencies - && apt-get install -y --no-install-recommends gcc python-setuptools python-dev python-pip \ - \ - # Install pulsar python requirements + # Install CVMFS client + && apt-get install -y --no-install-recommends lsb-release wget \ + && wget https://ecsft.cern.ch/dist/cvmfs/cvmfs-release/cvmfs-release-latest_all.deb \ + && dpkg -i cvmfs-release-latest_all.deb \ + && rm -f cvmfs-release-latest_all.deb \ + # Install packages + && apt-get update \ + && apt-get install -y --no-install-recommends gcc python-setuptools \ + python-dev python-pip cvmfs cvmfs-config-default \ + # Install Pulsar Python requirements && pip install --no-cache-dir -r /pulsar/requirements.txt \ - \ # Remove build deps and cleanup - && apt-get -y remove curl bzip2 python-dev gcc \ + && apt-get -y remove python-dev gcc wget lsb-release \ && apt-get -y autoremove \ && apt-get autoclean \ && rm -rf /var/lib/apt/lists/* /var/log/dpkg.log @@ -26,19 +31,20 @@ RUN adduser --disabled-password --gecos '' pulsar \ # Set working directory to /pulsar/ WORKDIR /pulsar/ -# Add files to /pulsar/ +# Add files to the image ADD . /pulsar - -# Change ownership to pulsar +# Change ownership to pulsar & configure CVMFS RUN python setup.py install \ && pulsar-config --auto_conda --host 0.0.0.0 \ && chown -R pulsar:pulsar /pulsar \ - && chmod +x /usr/local/bin/pulsar - -# Switch to new, lower-privilege user -USER pulsar + && chmod +x /usr/local/bin/pulsar \ + && cp /pulsar/docker/cvmfs/default.local /etc/cvmfs/ \ + && cp /pulsar/docker/cvmfs/galaxyproject.org.conf /etc/cvmfs/domain.d/ \ + && cp /pulsar/docker/cvmfs/data.galaxyproject.org.pub /etc/cvmfs/keys/ -# pulsar will listen on this port +# Pulsar will listen on this port EXPOSE 8913 -CMD /usr/local/bin/pulsar +# Must run CVMFS setup otherwise autofs does not get configured nor automount +# starts. Then switch to less-priviledged user for running Pulsar. +CMD /usr/bin/cvmfs_config setup; su pulsar -c "/usr/local/bin/pulsar" diff --git a/docker/cvmfs/data.galaxyproject.org.pub b/docker/cvmfs/data.galaxyproject.org.pub new file mode 100644 index 0000000000000000000000000000000000000000..0fb04da66ba165fca5f78c13105ab25faa231b51 --- /dev/null +++ b/docker/cvmfs/data.galaxyproject.org.pub @@ -0,0 +1,9 @@ +-----BEGIN PUBLIC KEY----- +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5LHQuKWzcX5iBbCGsXGt +6CRi9+a9cKZG4UlX/lJukEJ+3dSxVDWJs88PSdLk+E25494oU56hB8YeVq+W8AQE +3LWx2K2ruRjEAI2o8sRgs/IbafjZ7cBuERzqj3Tn5qUIBFoKUMWMSIiWTQe2Sfnj +GzfDoswr5TTk7aH/FIXUjLnLGGCOzPtUC244IhHARzu86bWYxQJUw0/kZl5wVGcH +maSgr39h1xPst0Vx1keJ95AH0wqxPbCcyBGtF1L6HQlLidmoIDqcCQpLsGJJEoOs +NVNhhcb66OJHah5ppI1N3cZehdaKyr1XcF9eedwLFTvuiwTn6qMmttT/tHX7rcxT +owIDAQAB +-----END PUBLIC KEY----- diff --git a/docker/cvmfs/default.local b/docker/cvmfs/default.local new file mode 100644 index 0000000000000000000000000000000000000000..799bb97d76f8e4fc0d87aa547d1868248b196c6c --- /dev/null +++ b/docker/cvmfs/default.local @@ -0,0 +1,5 @@ +CVMFS_REPOSITORIES="data.galaxyproject.org" +CVMFS_HTTP_PROXY="DIRECT" +CVMFS_QUOTA_LIMIT="10000" +CVMFS_CACHE_BASE="/tmp/cvmfs/cache" +CVMFS_USE_GEOAPI=yes diff --git a/docker/cvmfs/galaxyproject.org.conf b/docker/cvmfs/galaxyproject.org.conf new file mode 100644 index 0000000000000000000000000000000000000000..5512248df3b9c1bf9c88c11635ddc10d5451d934 --- /dev/null +++ b/docker/cvmfs/galaxyproject.org.conf @@ -0,0 +1 @@ +CVMFS_SERVER_URL="http://cvmfs1-psu0.galaxyproject.org/cvmfs/@fqrn@;http://cvmfs1-iu0.galaxyproject.org/cvmfs/@fqrn@;http://cvmfs1-tacc0.galaxyproject.org/cvmfs/@fqrn@;http://cvmfs1-mel0.gvl.org.au/cvmfs/@fqrn@"