-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fabio See merge request brigaud/sw-lsst-eu!1
- Loading branch information
Showing
30 changed files
with
1,174 additions
and
112 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
docs/_build | ||
docs/_static | ||
docs/_templates | ||
utils/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
FROM centos:centos7 | ||
|
||
# | ||
# Install 'fpm' dependencies | ||
# | ||
RUN yum install -q -y ruby-devel gcc make rpm-build rubygems | ||
|
||
# | ||
# Install 'fpm' | ||
# | ||
RUN gem install --no-ri --no-rdoc fpm | ||
|
||
# | ||
# Create non-privileged user | ||
# | ||
ENV username="lsstsw" | ||
RUN useradd --create-home --uid 1000 --user-group --home-dir /home/${username} ${username} | ||
|
||
# | ||
# Add files needed to build the packages | ||
# | ||
WORKDIR /home/${username} | ||
ADD ["buildLinuxPkg.sh", "version.sh", "./"] | ||
ADD ["etc/", "./etc/"] | ||
|
||
ENTRYPOINT /home/${username}/buildLinuxPkg.sh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
Copyright 2018 Fabio Hernandez | ||
|
||
Licensed under the Apache License, Version 2.0 (the "License"); | ||
you may not use this file except in compliance with the License. | ||
You may obtain a copy of the License at | ||
|
||
http://www.apache.org/licenses/LICENSE-2.0 | ||
|
||
Unless required by applicable law or agreed to in writing, software | ||
distributed under the License is distributed on an "AS IS" BASIS, | ||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
See the License for the specific language governing permissions and | ||
limitations under the License. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
UNAME := $(shell uname) | ||
|
||
.PHONY: all | ||
|
||
all: | ||
@echo "Usage: make <pkg | test | clean>" | ||
|
||
|
||
pkg: | ||
ifeq ($(UNAME), Linux) | ||
docker build -t airnandez/sw-lsst-eu . | ||
docker run -it --mount type=bind,source=`pwd`,destination=/scratch --env SCRATCH=/scratch airnandez/sw-lsst-eu | ||
else | ||
bash buildMacOSPkg.sh | ||
endif | ||
|
||
|
||
test: | ||
ifeq ($(UNAME), Linux) | ||
docker run -it --entrypoint /bin/bash airnandez/sw-lsst-eu | ||
endif | ||
|
||
|
||
clean: | ||
@rm -f ./*.deb ./*.rpm |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,111 +1,22 @@ | ||
LSST FRANCE DOCUMENTATION | ||
========================= | ||
# Cloud-based delivery of the LSST science pipelines software | ||
|
||
<br /> | ||
## Overview | ||
This repository contains documentation and tools on how to get the [Large Synoptic Survey Telescope (LSST) science pipelines](https://pipelines.lsst.io) software delivered to your personal computer on demand. | ||
|
||
Introduction | ||
---------- | ||
*** | ||
All the details available at [https://sw.lsst.eu](https://sw.lsst.eu). | ||
|
||
This repository contains LSST documentation sources (reStructuredText file format). | ||
Updating content on this repository automatically generates and publishes online documentation. | ||
## License | ||
|
||
<br /> | ||
Copyright 2018 Fabio Hernandez | ||
|
||
Goals | ||
---------- | ||
*** | ||
Licensed under the Apache License, Version 2.0 (the "License"); | ||
you may not use this file except in compliance with the License. | ||
You may obtain a copy of the License at | ||
|
||
- Manage collaboration between LSST documention's authors | ||
- Generate & Publish LSST Documentation | ||
[http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0) | ||
|
||
<br /> | ||
|
||
Workflow | ||
---------- | ||
*** | ||
|
||
Each author works on his own branch and can see a preview at every push. | ||
Once the author is satisfied, he can merge his branch with the master branch. | ||
The merge in master generates and publishes the official version. | ||
This repository only contains source documentation (.rst files). | ||
Authors must write documentation respecting this format. | ||
More info on the reStructuredText (rst) file format: https://en.wikipedia.org/wiki/ReStructuredText | ||
|
||
![LSST France Software Doc Diagram](lsst-france-sw-diagram.png "LSST France Software Doc Diagram") | ||
|
||
### master branch is the official doc that is pushed online at http://sw.lsst.eu/. | ||
### Documentation generation and uploading is fully automated. | ||
|
||
<br /> | ||
|
||
Instructions | ||
---------- | ||
*** | ||
|
||
**Step1**: clone the repo and create your own branch from master | ||
|
||
```bash | ||
git clone [email protected]:brigaud/sw-lsst-eu.git | ||
cd sw-lsst-eu | ||
git checkout -b <yourbranch> | ||
``` | ||
|
||
**Step2**: create/modify your doc in your branch then push it | ||
|
||
```bash | ||
git add --all | ||
git commit -m "your changes comments" | ||
git push | ||
``` | ||
... wait about a minute and check it out at http://sw.lsst.eu/preview/\<yourbranch\>. | ||
|
||
<br /> | ||
|
||
> **Note:** | ||
> - Each push on your branch will generate a documentation at http://sw.lsst.eu/preview/\<yourbranch\> | ||
> - Useful for preview. | ||
<br /> | ||
|
||
**Step3**: send a merge request to master branch to put documentation in production | ||
<br /><br /> | ||
https://gitlab.in2p3.fr/brigaud/sw-lsst-eu/merge_requests/new?merge_request%5Bsource_branch%5D=\<yourbranch\> | ||
<br /><br /> | ||
An administrator will check your version, fix conflicts and finally merge your branch into master branch.<br /> | ||
This merge will automatically trigger the build process and update the official documentation at http://sw.lsst.eu/. | ||
|
||
<br /> | ||
|
||
> **Note:** | ||
> - Each merge on master branch will generate a documentation at http://sw.lsst.eu | ||
<br /> | ||
|
||
> **Important**: | ||
> - Each time master builds a new official doc, preview folder (i.e http://sw.lsst.eu/preview) is deleted | ||
<br /> | ||
|
||
Recommandations | ||
-------------------- | ||
*** | ||
|
||
All the documentation resides in the "docs" folder. | ||
You can create or delete files and folders in order to create your documentation. | ||
Be sure to update the index.rst file in case you add or delete documentation files or folders in order to access it from the sidebar menu on the website. | ||
|
||
<br /> | ||
|
||
> **Note:** | ||
> - As a community project, it is recommended to work only on parts you've been assigned | ||
> - Keep as much as possible the original tree structure | ||
> - Keep as much as possible your branch up-to-date with respect to master branch (i.e git rebase master <yourbranch>) | ||
<br /> | ||
|
||
Happy doc! | ||
Unless required by applicable law or agreed to in writing, software | ||
distributed under the License is distributed on an "AS IS" BASIS, | ||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
See the License for the specific language governing permissions and | ||
limitations under the License. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
#!/bin/bash | ||
|
||
# | ||
# Import version | ||
# | ||
source 'version.sh' | ||
version=$(pkgVersion) | ||
|
||
# | ||
# Package name | ||
# | ||
packageName="cvmfs-config-lsst" | ||
|
||
# | ||
# Prepare the output directory | ||
# | ||
outputDir=${SCRATCH:-/tmp} | ||
mkdir -p ${outputDir} | ||
|
||
# | ||
# Clean up first | ||
# | ||
rm -f ${outputDir}/${packageName}*.{rpm,deb} | ||
|
||
# | ||
# Build RPM and DEB packages | ||
# | ||
for out in rpm deb; do | ||
fpm --name ${packageName} \ | ||
--version ${version} \ | ||
--depends cvmfs \ | ||
--description "Configuration files for CernVM-FS file system /cvmfs/sw.lsst.eu" \ | ||
--maintainer "Fabio Hernandez ([email protected])" \ | ||
--url "https://sw.lsst.eu" \ | ||
--license "Apache v2.0" \ | ||
--vendor "CNRS / IN2P3 computing center (CC-IN2P3)" \ | ||
--architecture all \ | ||
--output-type ${out} \ | ||
--input-type dir \ | ||
--package ${outputDir} \ | ||
--config-files ./etc \ | ||
./etc | ||
done | ||
|
||
# | ||
# Set file ownership, if necessary | ||
# | ||
userName="lsstsw" | ||
if getent passwd ${userName} > /dev/null 2>&1; then | ||
chown ${userName}:${userName} ${outputDir}/${packageName}*.{rpm,deb} | ||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
#!/bin/bash | ||
|
||
# | ||
# Import version | ||
# | ||
source 'version.sh' | ||
version=$(pkgVersion) | ||
|
||
# | ||
# Package id | ||
# | ||
packageId="eu.lsst.sw.cvmfs.config" | ||
|
||
# | ||
# Package file name | ||
# | ||
packageFileName="sw-lsst-eu-cvmfs-config_${version}.pkg" | ||
|
||
# | ||
# Build the package | ||
# | ||
sudo pkgbuild \ | ||
--root ./etc \ | ||
--identifier ${packageId} \ | ||
--version ${version} \ | ||
--install-location /etc \ | ||
${packageFileName} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
#!/bin/bash | ||
|
||
# | ||
# Usage: bash check.sh | ||
# | ||
# Purpose: test the reachability from this host of the configured HTTP servers | ||
# for CernVM-FS software repository 'sw.lsst.eu', via the configured proxies | ||
# | ||
|
||
if [[ ! -f /etc/cvmfs/domain.d/lsst.eu.conf ]]; then | ||
echo "file /etc/cvmfs/domain.d/lsst.eu.conf could not be found" | ||
exit 1 | ||
fi | ||
|
||
curlCmd=$(command -v curl) | ||
if [[ -z ${curlCmd} ]]; then | ||
echo "command curl not found" | ||
exit 1 | ||
fi | ||
|
||
source /etc/cvmfs/domain.d/lsst.eu.conf | ||
|
||
urls=`echo ${CVMFS_SERVER_URL} | sed -e 's/;/ /g' -e 's|@fqrn@|sw.lsst.eu/.cvmfspublished|g'` | ||
proxies=`echo ${CVMFS_HTTP_PROXY} | sed -e 's/|/ /g' -e 's/;/ /g'` | ||
|
||
rc=0 | ||
for u in ${urls}; do | ||
for p in ${proxies}; do | ||
ok=`${curlCmd} --silent --head --proxy ${p} ${u} | grep "HTTP/1.1 200 OK"` | ||
if [[ -z ${ok} ]]; then | ||
echo "HTTP HEAD request for $u via proxy $p failed" | ||
rc=1 | ||
fi | ||
done | ||
done | ||
|
||
exit $rc |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
#!/bin/bash | ||
|
||
# | ||
# Usage: sudo bash configure.sh | ||
# | ||
# This script configures a CernVM FS client to access the | ||
# LSST software repository /cvmfs/sw.lsst.eu. The CernVM-FS | ||
# client software must be previously installed. | ||
# | ||
|
||
usage() { | ||
echo "Usage: sudo bash configure.sh" | ||
} | ||
|
||
# | ||
# We must run as 'root' | ||
# | ||
if [[ $EUID -ne 0 ]]; then | ||
usage | ||
exit 1 | ||
fi | ||
|
||
# | ||
# Execute 'cvmfs_config setup' | ||
# | ||
cvmfscfg=$(command -v cvmfs_config) | ||
if [[ -z ${cvmfscfg} ]] || [[ ! -x ${cvmfscfg} ]]; then | ||
echo "Could not find CernVM FS configuration command 'cvmfs_config'" | ||
exit 1 | ||
fi | ||
${cvmfscfg} setup | ||
if [ $? -ne 0 ]; then | ||
exit 1 | ||
fi | ||
|
||
# | ||
# Copy configuration files to their destination under | ||
# /etc/cvmfs | ||
# | ||
srcDir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" | ||
destDir='/' | ||
toInstall="etc/cvmfs/domain.d etc/cvmfs/keys/lsst.eu" | ||
for dir in ${toInstall}; do | ||
dest=$(readlink -m ${destDir}/${dir}) | ||
install -d ${dest} | ||
install --backup --compare --mode=u=r,g=r,o=r -D ${srcDir}/${dir}/* ${dest} | ||
done | ||
|
||
# | ||
# Perform system-specific tasks | ||
# | ||
thisOS=`uname` | ||
if [ "$thisOS" == "Linux" ]; then | ||
# Use 'cvmfs_config' to check the configuration | ||
result=`${cvmfscfg} chksetup` | ||
if [ "$result" != "OK" ]; then | ||
echo "There was an error checking your CernVM FS configuration:" | ||
echo $result | ||
exit 1 | ||
fi | ||
elif [ "$thisOS" == "Darwin" ]; then | ||
# On MacOS X, create the mount directory | ||
mkdir -p /cvmfs/sw.lsst.eu | ||
fi | ||
|
||
exit 0 |
Oops, something went wrong.