Compare commits
No commits in common. "master" and "r5.9.0" have entirely different histories.
|
@ -2,6 +2,3 @@ target
|
|||
.classpath
|
||||
.project
|
||||
.settings
|
||||
/.DS_Store
|
||||
/bin/
|
||||
/package-lock.json
|
||||
|
|
1
.project
1
.project
|
@ -3,7 +3,6 @@
|
|||
<name>smartgears-distribution</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
<project>common-service</project>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
|
|
31
CHANGELOG.md
31
CHANGELOG.md
|
@ -2,55 +2,36 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
|
|||
|
||||
# Changelog for Smartgears Distribution
|
||||
|
||||
## [v4.0.0]
|
||||
|
||||
- Moving to smartgears-4.0.0
|
||||
|
||||
## [v3.4.5] - 2022-03-29
|
||||
|
||||
- Fixes issue [#23075]
|
||||
|
||||
|
||||
## [v3.4.4] - 2022-03-23
|
||||
|
||||
- Solved issue on policy check
|
||||
|
||||
|
||||
## [v3.4.3] - 2022-01-19
|
||||
|
||||
- Enabled policy check on smartgears
|
||||
- Container configuration for test added
|
||||
|
||||
- enabled policy check on smartgears
|
||||
- container configuration for test added
|
||||
|
||||
## [v3.4.2] - 2021-11-08
|
||||
|
||||
- common-smartgrears library updated
|
||||
|
||||
|
||||
## [v3.4.1] - 2021-06-25
|
||||
|
||||
- Released to have and up-to-date distribution
|
||||
|
||||
|
||||
## [v3.4.0] - 2020-05-25
|
||||
|
||||
- Released to have and up-to-date distribution
|
||||
|
||||
|
||||
## [v3.3.0] - 2021-04-16
|
||||
## [v3.3.0]
|
||||
|
||||
- Accounting-lib inherited dependency has been upgraded to 4.1.0
|
||||
|
||||
|
||||
## [v3.2.0] - 2021-02-01
|
||||
## [v3.2.0]
|
||||
|
||||
- clean-container script uses proxy
|
||||
|
||||
|
||||
## [v3.1.0] - 2021-01-15
|
||||
## [v3.1.0]
|
||||
|
||||
- Upgraded gcube-smartgears-bom to version 2.1.0
|
||||
|
||||
|
||||
## [v3.0.0] - 2020-11-11
|
||||
|
||||
- Switched JSON management to gcube-jackson [#19283]
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
for current platform:
|
||||
docker build -t smartgears-distribution:4.0.0-SNAPSHOT-java11-tomcat9 .
|
||||
|
||||
for multiple platforms:
|
||||
docker build -t smartgears-distribution:4.0.0-SNAPSHOT-java11-tomcat9 --platform=linux/amd64,linux/arm64,linux/arm/v7 .
|
24
Dockerfile
24
Dockerfile
|
@ -1,22 +1,12 @@
|
|||
ARG JAVA_VERSION=11
|
||||
|
||||
FROM tomcat:10.1.19-jdk${JAVA_VERSION}-temurin-jammy
|
||||
ARG SMARTGEARS_VERSION=""
|
||||
ENV FILENAME=smartgears-distribution-${SMARTGEARS_VERSION}
|
||||
|
||||
COPY ./target/${FILENAME}.tar.gz /smartgears-distro.tar.gz
|
||||
FROM tomcat:8.5.47-jdk8-openjdk
|
||||
ARG nexuspath
|
||||
ARG filename
|
||||
ARG version
|
||||
WORKDIR /
|
||||
# all file and folder in etc/config are moved to the smartgears applications configuration directory
|
||||
# for specific application configuration ( configuration file for app with contextPath "contextPath" must be placed in /etc/config/contextPath)
|
||||
RUN mkdir -p /etc/config
|
||||
RUN curl -k $nexuspath/$filename.tar.gz --output /smartgears-distro.tar.gz
|
||||
RUN tar zxvf /smartgears-distro.tar.gz
|
||||
RUN rm /smartgears-distro.tar.gz
|
||||
RUN export CATALINA_HOME=/usr/local/tomcat
|
||||
RUN ln -s /usr/local/tomcat tomcat
|
||||
RUN mv smartgears-distribution-$SMARTGEARS_VERSION smartgears-distribution
|
||||
RUN mv smartgears-distribution-$version smartgears-distribution
|
||||
ENV GHN_HOME=./smartgears-distribution
|
||||
RUN ./smartgears-distribution/install -s tomcat
|
||||
COPY tomcat_files/startContainer.sh /startContainer.sh
|
||||
RUN chmod +x /startContainer.sh
|
||||
ENTRYPOINT ["/startContainer.sh"]
|
||||
CMD ["catalina.sh","run"]
|
||||
|
||||
|
|
26
FUNDING.md
26
FUNDING.md
|
@ -1,26 +0,0 @@
|
|||
# Acknowledgments
|
||||
|
||||
The projects leading to this software have received funding from a series of European Union programmes including:
|
||||
|
||||
- the Sixth Framework Programme for Research and Technological Development
|
||||
- [DILIGENT](https://cordis.europa.eu/project/id/004260) (grant no. 004260).
|
||||
- the Seventh Framework Programme for research, technological development and demonstration
|
||||
- [D4Science](https://cordis.europa.eu/project/id/212488) (grant no. 212488);
|
||||
- [D4Science-II](https://cordis.europa.eu/project/id/239019) (grant no.239019);
|
||||
- [ENVRI](https://cordis.europa.eu/project/id/283465) (grant no. 283465);
|
||||
- [iMarine](https://cordis.europa.eu/project/id/283644) (grant no. 283644);
|
||||
- [EUBrazilOpenBio](https://cordis.europa.eu/project/id/288754) (grant no. 288754).
|
||||
- the H2020 research and innovation programme
|
||||
- [SoBigData](https://cordis.europa.eu/project/id/654024) (grant no. 654024);
|
||||
- [PARTHENOS](https://cordis.europa.eu/project/id/654119) (grant no. 654119);
|
||||
- [EGI-Engage](https://cordis.europa.eu/project/id/654142) (grant no. 654142);
|
||||
- [ENVRI PLUS](https://cordis.europa.eu/project/id/654182) (grant no. 654182);
|
||||
- [BlueBRIDGE](https://cordis.europa.eu/project/id/675680) (grant no. 675680);
|
||||
- [PerformFISH](https://cordis.europa.eu/project/id/727610) (grant no. 727610);
|
||||
- [AGINFRA PLUS](https://cordis.europa.eu/project/id/731001) (grant no. 731001);
|
||||
- [DESIRA](https://cordis.europa.eu/project/id/818194) (grant no. 818194);
|
||||
- [ARIADNEplus](https://cordis.europa.eu/project/id/823914) (grant no. 823914);
|
||||
- [RISIS 2](https://cordis.europa.eu/project/id/824091) (grant no. 824091);
|
||||
- [EOSC-Pillar](https://cordis.europa.eu/project/id/857650) (grant no. 857650);
|
||||
- [Blue Cloud](https://cordis.europa.eu/project/id/862409) (grant no. 862409);
|
||||
- [SoBigData-PlusPlus](https://cordis.europa.eu/project/id/871042) (grant no. 871042);
|
24
README.md
24
README.md
|
@ -6,8 +6,6 @@ A set of gCube library which empower a servlet container (e.g. tomcat) with a se
|
|||
- authorization
|
||||
- accounting
|
||||
|
||||
## Structure of the project
|
||||
|
||||
|
||||
## Built With
|
||||
|
||||
|
@ -57,6 +55,26 @@ open-source software toolkit used for building and operating Hybrid Data
|
|||
Infrastructures enabling the dynamic deployment of Virtual Research Environments
|
||||
by favouring the realisation of reuse oriented policies.
|
||||
|
||||
The projects leading to this software have received funding from a series of European Union programmes see [FUNDING.md](FUNDING.md)
|
||||
The projects leading to this software have received funding from a series of European Union programmes including:
|
||||
|
||||
- the Sixth Framework Programme for Research and Technological Development
|
||||
- DILIGENT (grant no. 004260).
|
||||
- the Seventh Framework Programme for research, technological development and demonstration
|
||||
- D4Science (grant no. 212488);
|
||||
- D4Science-II (grant no.239019);
|
||||
- ENVRI (grant no. 283465);
|
||||
- iMarine(grant no. 283644);
|
||||
- EUBrazilOpenBio (grant no. 288754).
|
||||
- the H2020 research and innovation programme
|
||||
- SoBigData (grant no. 654024);
|
||||
- PARTHENOS (grant no. 654119);
|
||||
- EGIEngage (grant no. 654142);
|
||||
- ENVRIplus (grant no. 654182);
|
||||
- BlueBRIDGE (grant no. 675680);
|
||||
- PerformFish (grant no. 727610);
|
||||
- AGINFRAplus (grant no. 731001);
|
||||
- DESIRA (grant no. 818194);
|
||||
- ARIADNEplus (grant no. 823914);
|
||||
- RISIS2 (grant no. 824091);
|
||||
|
||||
|
||||
|
|
|
@ -1,115 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
ACCEPTED_JAVA_VERSIONS=(11 17)
|
||||
|
||||
NAME=smartgears-distribution
|
||||
SMARTGEARS_VERSION=$(mvn org.apache.maven.plugins:maven-help-plugin:3.2.0:evaluate -Dexpression=project.version -q -DforceStdout)
|
||||
echo $SMARTGEARS_VERSION
|
||||
JAVA_VERSION=11
|
||||
TOMCAT_VERSION=10.1.19
|
||||
PUSH_DOCKER=false
|
||||
PUSH_HARBOR=false
|
||||
LOGIN_HARBOR=false
|
||||
MULTI_PLATFORM=false
|
||||
|
||||
################################################################################
|
||||
# Help #
|
||||
################################################################################
|
||||
Help()
|
||||
{
|
||||
# Display Help
|
||||
echo "build and create docker image form smartgears distribution"
|
||||
echo
|
||||
echo "Syntax: buildDistribution [-g arg] [-j arg] [-p|u|h]"
|
||||
echo "options:"
|
||||
echo "-g arg specifies the maven [g]oal {package, install, deploy etc} default is package."
|
||||
echo "-j arg specify [j]ava version (default is 11)"
|
||||
echo " accepted version are: ${ACCEPTED_JAVA_VERSIONS[@]}"
|
||||
echo "-m build docker image for [m]ultiple platform (must be suppported by local docker agent)"
|
||||
echo "-p [p]ush image to d4science harbor (with login already done, or -l to login)"
|
||||
echo "-l [l]ogin to d4science harbor"
|
||||
echo "-u p[u]sh image to dockerhub (with docker login already done)"
|
||||
echo "-h Print this [h]elp."
|
||||
echo
|
||||
echo "to build a multiplatform image and push on d4science harbor"
|
||||
echo " ./buildDistribution.sh -m -l -p"
|
||||
}
|
||||
|
||||
################################################################################
|
||||
################################################################################
|
||||
# Main program #
|
||||
################################################################################
|
||||
################################################################################
|
||||
|
||||
|
||||
|
||||
while getopts g:muplj:h flag
|
||||
do
|
||||
case "${flag}" in
|
||||
g) GOAL=${OPTARG};;
|
||||
m) MULTI_PLATFORM=true ;;
|
||||
u) PUSH_DOCKER=true ;;
|
||||
p) PUSH_HARBOR=true ;;
|
||||
l) LOGIN_HARBOR=true ;;
|
||||
j) if [[ ${ACCEPTED_JAVA_VERSIONS[@]} =~ ${OPTARG} ]]
|
||||
then JAVA_VERSION=${OPTARG};
|
||||
else echo "Invalid java version" && echo "accepted version are: ${ACCEPTED_JAVA_VERSIONS[@]}" && exit 1;
|
||||
fi;;
|
||||
h) Help
|
||||
exit 0;;
|
||||
*) echo "Invalid option"
|
||||
exit 1;;
|
||||
esac
|
||||
done
|
||||
|
||||
IMAGE_VERSION=${SMARTGEARS_VERSION}-java${JAVA_VERSION}-tomcat${TOMCAT_VERSION}
|
||||
|
||||
BUILD_NAME=$NAME:$IMAGE_VERSION
|
||||
|
||||
echo "BUILD_NAME=$BUILD_NAME"
|
||||
|
||||
if [ ${LOGIN_HARBOR} = true ];
|
||||
then
|
||||
./loginHarborHub.sh
|
||||
fi
|
||||
|
||||
if [ -z $GOAL ];
|
||||
then
|
||||
mvn clean package;
|
||||
else
|
||||
mvn clean ${GOAL};
|
||||
fi
|
||||
|
||||
if [ $MULTI_PLATFORM ];
|
||||
then
|
||||
echo "build multiplatform"
|
||||
docker build -t $BUILD_NAME --build-arg="JAVA_VERSION=${JAVA_VERSION}" --build-arg="SMARTGEARS_VERSION=${SMARTGEARS_VERSION}" --platform=linux/amd64,linux/arm64,linux/arm/v7 .;
|
||||
else
|
||||
echo "build single platform"
|
||||
docker build -t $BUILD_NAME --build-arg="JAVA_VERSION=${JAVA_VERSION}" --build-arg="SMARTGEARS_VERSION=${SMARTGEARS_VERSION}" . ;
|
||||
fi
|
||||
|
||||
echo ">>> generated docker image ${IMAGE_VERSION}"
|
||||
|
||||
|
||||
if [ ${PUSH_DOCKER} = true ];
|
||||
then
|
||||
DOCKER_NAME=d4science/$BUILD_NAME
|
||||
docker tag $BUILD_NAME $DOCKER_NAME;
|
||||
docker push $DOCKER_NAME;
|
||||
echo ">>> pushed on dockerhub the image $DOCKER_NAME"
|
||||
fi
|
||||
|
||||
|
||||
|
||||
if [ ${PUSH_HARBOR} = true ];
|
||||
then
|
||||
HARBOR_NAME=harbor.d4science.org/gcube/$BUILD_NAME
|
||||
echo ">>> PUSHING on harbor.d4science.org the image $HARBOR_NAME"
|
||||
docker tag $BUILD_NAME $HARBOR_NAME;
|
||||
docker push $HARBOR_NAME;
|
||||
echo ">>> pushed on harbor.dev.d4science.org the image $HARBOR_NAME"
|
||||
fi
|
||||
|
|
@ -0,0 +1,62 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE xml>
|
||||
<ReleaseNotes>
|
||||
<Changeset component="org.gcube.distribution.smartgears-distribution.2-2-3" date="${buildDate}">
|
||||
<Change>Fixed gxHTTP dependecy to allow ETICs to build the component</Change>
|
||||
</Changeset>
|
||||
<Changeset component="org.gcube.distribution.smartgears-distribution.2-2-2" date="2018-12-11">
|
||||
<Change>Using gcube-bom and gcube-smartgears-bom instead of maven-smartgears-bom</Change>
|
||||
</Changeset>
|
||||
<Changeset component="org.gcube.distribution.smartgears-distribution.2-2-1" date="2017-02-15">
|
||||
<Change>Fixed changelog</Change>
|
||||
</Changeset>
|
||||
<Changeset component="org.gcube.distribution.smartgears-distribution.2-2-0" date="2017-02-15">
|
||||
<Change>Changed log level from FATAL to ERROR #9708</Change>
|
||||
<Change>Added document-store-lib-accounting-service in place of document-store-lib-couchbase</Change>
|
||||
</Changeset>
|
||||
<Changeset component="org.gcube.distribution.smartgears-distribution.2-1-3" date="2017-10-09">
|
||||
<Change>Added logback 1.11 to support Time and Size rolling of logs</Change>
|
||||
</Changeset>
|
||||
<Changeset component="org.gcube.distribution.smartgears-distribution.2-1-2" date="2017-05-02">
|
||||
<Change>common-smartgear-utils re-adedd to the distribution</Change>
|
||||
</Changeset>
|
||||
<Changeset component="org.gcube.distribution.smartgears-distribution.2-1-0" date="2017-02-01">
|
||||
<Change>Fixed distro files</Change>
|
||||
<Change>Added data-transfer service as part of the distribution</Change>
|
||||
</Changeset>
|
||||
<Changeset component="org.gcube.distribution.smartgears-distribution.2-0-0" date="2016-02-08">
|
||||
<Change>Added new Authorization Mechanism based on token</Change>
|
||||
</Changeset>
|
||||
<Changeset component="org.gcube.distribution.smartgears-distribution.1-2-6" date="2016-01-08">
|
||||
<Change>smartgears-distribution 1.2.6: set default log level to WARN (refs #2145)</Change>
|
||||
<Change>smartgears-distribution 1.2.6: distribution field on monitor is missing when a smartgears node is upgraded (refs #1268)</Change>
|
||||
</Changeset>
|
||||
<Changeset component="org.gcube.distribution.smartgears-distribution.1-2-5" date="2015-07-31">
|
||||
<Change>Added smartgear-distribution (this project) version on ghn profile.</Change>
|
||||
<Change>Added accounting and authorization libs</Change>
|
||||
</Changeset>
|
||||
<Changeset component="org.gcube.distribution.smartgears-distribution.1-2-4" date="2015-07-22">
|
||||
<Change>Added possibility to use WEB_CONTAINER_HOME to specify the container folder. This environment variable has priority over CATALINA_HOME in the install script.</Change>
|
||||
</Changeset>
|
||||
<Changeset component="org.gcube.distribution.smartgears-distribution.1-2-3" date="2015-06-18">
|
||||
<Change>Stripped version from name of the included war</Change>
|
||||
</Changeset>
|
||||
<Changeset component="org.gcube.distribution.smartgears-distribution.1-2-2" date="2015-04-28">
|
||||
<Change>Moved libs and war directories under target to make mvn clean properly working. The generated tar.gz remain the same</Change>
|
||||
</Changeset>
|
||||
<Changeset component="org.gcube.distribution.smartgears-distribution.1-2-1" date="2015-04-15">
|
||||
<Change>smartgear-distribution-bundle version is published on ghn profile</Change>
|
||||
</Changeset>
|
||||
<Changeset component="org.gcube.distribution.smartgears-distribution.1-2-0" date="2014-04-04">
|
||||
<Change>included smartgears-utils</Change>
|
||||
<Change>upgraded clean scripts to clean the IS</Change>
|
||||
<Change>added symlink for shared libs</Change>
|
||||
</Changeset>
|
||||
<Changeset component="org.gcube.distribution.smartgears-distribution.1-1-0" date="2014-01-31">
|
||||
<Change>JAVA 7 Release</Change>
|
||||
<Change>Included wHN manager service</Change>
|
||||
</Changeset>
|
||||
<Changeset component="org.gcube.distribution.smartgears-distribution.1-0-0" date="2013-10-24">
|
||||
<Change>First Release</Change>
|
||||
</Changeset>
|
||||
</ReleaseNotes>
|
|
@ -34,7 +34,7 @@ while getopts ":d:s:g:a:xh" opt; do
|
|||
a) apps=$OPTARG;;
|
||||
x) dryrun="true";;
|
||||
h) showhelp
|
||||
exit 0 ;;
|
||||
exit 0 ;;
|
||||
:) echo -e "\nERROR:option -$OPTARG requires an argument." >&2 ;
|
||||
showhelp;
|
||||
echo -e "\naborting.\n"
|
||||
|
@ -46,10 +46,8 @@ while getopts ":d:s:g:a:xh" opt; do
|
|||
esac
|
||||
done
|
||||
|
||||
if [ -z "$ghnhome" ]
|
||||
then
|
||||
if [ -z "$GHN_HOME" ]
|
||||
then
|
||||
if [ -z "$ghnhome" ]; then
|
||||
if [ -z "$GHN_HOME" ]; then
|
||||
echo -e "\nERROR:please specify the gHN directory (-g) or define the GHN_HOME env var." >&2
|
||||
showhelp
|
||||
echo -e "\naborting.\n"
|
||||
|
@ -58,22 +56,17 @@ then
|
|||
ghnhome=$GHN_HOME
|
||||
fi
|
||||
fi
|
||||
if [ ! -d "$ghnhome" ]
|
||||
then
|
||||
if [ -z "$dryrun" ]
|
||||
then
|
||||
if [ ! -d "$ghnhome" ]; then
|
||||
if [ -z "$dryrun" ]; then
|
||||
mkdir $ghnhome
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
#tomcat target
|
||||
if [ "$shared" = "tomcat" ]
|
||||
then
|
||||
if [ -z "$CATALINA_HOME" ]
|
||||
then
|
||||
if [ -z "$WEB_CONTAINER_HOME" ]
|
||||
then
|
||||
if [ "$shared" = "tomcat" ]; then
|
||||
if [ -z "$CATALINA_HOME" ]; then
|
||||
if [ -z "$WEB_CONTAINER_HOME" ] ; then
|
||||
echo -e "\nERROR: both CATALINA_HOME and WEB_CONTAINER_HOME are undefined." >&2
|
||||
showhelp
|
||||
echo -e "\naborting.\n"
|
||||
|
@ -87,8 +80,7 @@ then
|
|||
fi
|
||||
|
||||
#shared is set
|
||||
if [ -z "$shared" ]
|
||||
then
|
||||
if [ -z "$shared" ]; then
|
||||
echo -e "\nERROR: shared directory is undefined (-s)." >&2
|
||||
showhelp
|
||||
echo -e "\naborting.\n"
|
||||
|
@ -96,29 +88,25 @@ then
|
|||
fi
|
||||
|
||||
#shared exists and is a directory
|
||||
if [ ! -d "$shared" ]
|
||||
then
|
||||
if [ ! -d "$shared" ]; then
|
||||
echo -e "\nERROR: shared folder does not exist or is not a directory, aborting." >&2
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
#shared exists and is a directory
|
||||
if [ ! -d "$apps" ]
|
||||
then
|
||||
if [ ! -d "$apps" ]; then
|
||||
echo -e "\nERROR: apps folder does not exist or is not a directory, aborting." >&2
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
#distrolibs exists and is a directory
|
||||
if [ ! -d "$distrolibs" ]
|
||||
then
|
||||
if [ ! -d "$distrolibs" ]; then
|
||||
echo -e "\nERROR: distro libs does not exist or is not a directory, aborting."
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
#distroapps exists and is a directory
|
||||
if [ ! -d "$distroapps" ]
|
||||
then
|
||||
if [ ! -d "$distroapps" ]; then
|
||||
echo -e "\nERROR: distro apps does not exist or is not a directory, aborting."
|
||||
exit 1;
|
||||
fi
|
||||
|
@ -131,99 +119,89 @@ echo -e " target app directory = $(cd $(dirname $apps); pwd)/$(basename $apps
|
|||
shopt -s nullglob
|
||||
|
||||
#uninstall libraries
|
||||
if [ -f $shared/$liblist ]
|
||||
then
|
||||
if [ -f $shared/$liblist ]; then
|
||||
echo -e "\nuninstalling existing libraries \c"
|
||||
while read line
|
||||
do
|
||||
if [ -z "$dryrun" ]
|
||||
then
|
||||
while read line; do
|
||||
if [ -z "$dryrun" ]; then
|
||||
rm $shared/$line
|
||||
fi
|
||||
echo -n "."
|
||||
sleep .01
|
||||
done < $shared/$liblist
|
||||
|
||||
if [ -z "$dryrun" ]
|
||||
then
|
||||
done < $shared/$liblist
|
||||
if [ -z "$dryrun" ]; then
|
||||
rm $shared/$liblist
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
#uninstall apps
|
||||
if [ -f $shared/$applist ]
|
||||
then
|
||||
if [ -f $shared/$applist ]; then
|
||||
echo -e "\nuninstalling existing apps \c"
|
||||
while read line
|
||||
do
|
||||
if [ -z "$dryrun" ]
|
||||
then
|
||||
while read line; do
|
||||
if [ -z "$dryrun" ]; then
|
||||
rm $apps/$line
|
||||
folder=${line:0:-4}
|
||||
if [ ! -z "$folder" ]
|
||||
then
|
||||
if [ ! -z "$folder" ]; then
|
||||
rm -rf $apps/$folder
|
||||
fi
|
||||
fi
|
||||
|
||||
echo -n "."
|
||||
sleep .01
|
||||
done < $shared/$applist
|
||||
|
||||
if [ -z "$dryrun" ]
|
||||
then
|
||||
done < $shared/$applist
|
||||
if [ -z "$dryrun" ]; then
|
||||
rm $shared/$applist
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
#install libraries
|
||||
echo -e "\ninstalling components \c"
|
||||
for f in $distrolibs/*.*;
|
||||
do
|
||||
if [ -z "$dryrun" ]
|
||||
then
|
||||
do
|
||||
if [ -z "$dryrun" ]; then
|
||||
cp $f $shared/
|
||||
basename $f | sed -r 's/[0-9]{1,2}.[0-9]{1,2}(.[0-9]{1,2})?(-SNAPSHOT)?(-[0-9]{1,2}.[0-9]{1,2}(.[0-9]{1,2})?-[0-9]{4,8})?/*/' >> $shared/$liblist
|
||||
fi
|
||||
|
||||
echo -n "."
|
||||
sleep .01
|
||||
done
|
||||
done
|
||||
|
||||
|
||||
#install apps
|
||||
echo -e "\ninstalling applications \c"
|
||||
for f in $distroapps/*;
|
||||
do
|
||||
if [ -z "$dryrun" ]
|
||||
then
|
||||
do
|
||||
if [ -z "$dryrun" ]; then
|
||||
cp $f $apps/
|
||||
basename $f >> $shared/$applist
|
||||
fi
|
||||
echo -n "."
|
||||
sleep .01
|
||||
done
|
||||
done
|
||||
|
||||
#install scripts
|
||||
echo -e "\ninstalling scripts \c"
|
||||
if [ ! -d "$ghnhome/scripts" ]
|
||||
then
|
||||
if [ -z "$dryrun" ]
|
||||
then
|
||||
if [ ! -d "$ghnhome/scripts" ]; then
|
||||
if [ -z "$dryrun" ]; then
|
||||
mkdir $ghnhome/scripts
|
||||
fi
|
||||
fi
|
||||
|
||||
for f in $distroscripts/*;
|
||||
do
|
||||
if [ -z "$dryrun" ]
|
||||
then
|
||||
do
|
||||
if [ -z "$dryrun" ]; then
|
||||
cp $f $ghnhome/scripts/
|
||||
fi
|
||||
|
||||
echo -n "."
|
||||
sleep .01
|
||||
done
|
||||
done
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#install config
|
||||
function escape_slashes {
|
||||
|
@ -242,23 +220,26 @@ function change_line {
|
|||
|
||||
function replace_property {
|
||||
local PROPERTY=$1
|
||||
local NEW_LINE=$(sed -n "/${PROPERTY}/p" $distro/container.ini)
|
||||
change_line "${PROPERTY}" "${NEW_LINE}" $ghnhome/container.ini
|
||||
#local OLD_LINE=$(sed -n "/${PROPERTY}/p" $ghnhome/container.xml)
|
||||
local NEW_LINE=$(sed -n "/${PROPERTY}/p" $distro/container.xml)
|
||||
#echo "Replacing property ${PROPERTY}:"
|
||||
#echo $OLD_LINE
|
||||
#echo $NEW_LINE
|
||||
change_line "${PROPERTY}" "${NEW_LINE}" $ghnhome/container.xml
|
||||
#echo "done."
|
||||
}
|
||||
|
||||
echo -e "\ninstalling configuration \c"
|
||||
if [ ! -s "$ghnhome/container.ini" ]
|
||||
then
|
||||
if [ -z "$dryrun" ]
|
||||
then
|
||||
cp $distro/container.ini $ghnhome/
|
||||
if [ ! -s "$ghnhome/container.xml" ]; then
|
||||
if [ -z "$dryrun" ]; then
|
||||
cp $distro/container.xml $ghnhome/
|
||||
fi
|
||||
echo -n "."
|
||||
sleep .01
|
||||
else
|
||||
if [ -z "$dryrun" ]; then
|
||||
#echo "Creating a backup copy of $ghnhome/container.ini"
|
||||
cp $ghnhome/container.ini $ghnhome/container.ini.bck
|
||||
#echo "Creating a backup copy of $ghnhome/container.xml"
|
||||
cp $ghnhome/container.xml $ghnhome/container.xml.bck
|
||||
|
||||
## Please note the ' at the end of SmartGearsDistribution property
|
||||
## the ' is needed to exactly math the property otherwise also
|
||||
|
@ -268,13 +249,10 @@ else
|
|||
replace_property $property
|
||||
done
|
||||
fi
|
||||
|
||||
echo -n "."
|
||||
sleep .01
|
||||
fi
|
||||
|
||||
if [ -z "$dryrun" ]
|
||||
then
|
||||
if [ -z "$dryrun" ]; then
|
||||
cat $distro/logback.xml | sed "s|\${LOGFILE}|$ghnhome|" > $shared/logback.xml
|
||||
echo -n "."
|
||||
sleep .01
|
||||
|
@ -282,13 +260,11 @@ fi
|
|||
|
||||
#creating the symlink to shared and apps folder
|
||||
|
||||
if [ -z "$dryrun" ]
|
||||
then
|
||||
if [ -z "$dryrun" ]; then
|
||||
ln -s $shared $ghnhome/lib
|
||||
fi
|
||||
|
||||
if [ -z "$dryrun" ]
|
||||
then
|
||||
if [ -z "$dryrun" ]; then
|
||||
ln -s $apps $ghnhome/apps
|
||||
fi
|
||||
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
|
||||
<configuration scan="true" debug="false">
|
||||
|
||||
<appender name="FILE"
|
||||
|
|
|
@ -1,41 +0,0 @@
|
|||
[node]
|
||||
; mandatory
|
||||
; optional fields: mode (=online), publicationFrequencyInSeconds (=60), authorizeChildrenContext (=false)
|
||||
mode = offline
|
||||
hostname = localhost
|
||||
protocol = http
|
||||
port = 8080
|
||||
infrastructure = gcube
|
||||
authorizeChildrenContext = true
|
||||
publicationFrequencyInSeconds = 60
|
||||
|
||||
[properties]
|
||||
; not mandatory
|
||||
SmartGearsDistribution = ${project.version}
|
||||
SmartGearsDistributionBundle = UnBundled
|
||||
|
||||
[site]
|
||||
; mandatory
|
||||
country = it
|
||||
location = rome
|
||||
|
||||
;[proxy]
|
||||
; not mandatory
|
||||
;protocol = https
|
||||
;hostname = proxy
|
||||
;port = 80
|
||||
|
||||
|
||||
[authorization]
|
||||
; mandatory
|
||||
; optional fields: provider factory (=org.gcube.smartgears.security.defaults.DefaultAuthorizationProviderFactory)
|
||||
factory = org.gcube.smartgears.security.defaults.DefaultAuthorizationProviderFactory
|
||||
factory.endpoint = https://accounts.dev.d4science.org/auth/realms/d4science/protocol/openid-connect/token
|
||||
credentials.class = org.gcube.smartgears.security.SimpleCredentials
|
||||
credentials.clientID = testClient
|
||||
credentials.secret = testSecret
|
||||
|
||||
;[persistence]
|
||||
; not mandatory (default is LocalPersistence writing in the ghn home)
|
||||
;class = utils.PersistenceWriterTest
|
||||
;location = /tmp
|
|
@ -0,0 +1,41 @@
|
|||
<container mode='offline'>
|
||||
|
||||
<hostname>localhost</hostname>
|
||||
<port>8080</port>
|
||||
<infrastructure>gcube</infrastructure>
|
||||
|
||||
<!--
|
||||
Add container tokens generated via portal for this host and port.
|
||||
-->
|
||||
<!--
|
||||
<token>token1</token>
|
||||
<token>token2</token>
|
||||
-->
|
||||
|
||||
<!--
|
||||
this tag enables authorize calls to this container also on VRE belonging to start tokens
|
||||
-->
|
||||
<!-- <authorizeChildrenContext>true</authorizeChildrenContext> -->
|
||||
|
||||
<site>
|
||||
<country>it</country>
|
||||
<location>rome</location>
|
||||
<latitude>41.9000</latitude>
|
||||
<longitude>12.5000</longitude>
|
||||
</site>
|
||||
|
||||
<property name='SmartGearsDistribution' value='${project.version}' />
|
||||
<property name='SmartGearsDistributionBundle' value='UnBundled' />
|
||||
|
||||
<!--
|
||||
Add your own property value here. This values will be published on
|
||||
GHN porfile in /Profile/GHNDescription/RunTimeEnv/ tag.
|
||||
-->
|
||||
<!--
|
||||
<property name='prop1' value='val1' />
|
||||
<property name='prop2' value='val2' />
|
||||
-->
|
||||
|
||||
<publication-frequency>60</publication-frequency>
|
||||
|
||||
</container>
|
|
@ -21,12 +21,6 @@
|
|||
<fileMode>755</fileMode>
|
||||
<filtered>true</filtered>
|
||||
</fileSet>
|
||||
<fileSet>
|
||||
<outputDirectory>/config/apps</outputDirectory>
|
||||
<directory>${distroDirectory}/config/apps</directory>
|
||||
<useDefaultExcludes>true</useDefaultExcludes>
|
||||
<fileMode>755</fileMode>
|
||||
</fileSet>
|
||||
<fileSet>
|
||||
<directory>${distroDirectory}/contents</directory>
|
||||
<outputDirectory>/</outputDirectory>
|
||||
|
@ -53,8 +47,8 @@
|
|||
</fileSets>
|
||||
<files>
|
||||
<file>
|
||||
<source>${distroDirectory}/contents/samplecontainer.ini</source>
|
||||
<destName>container.ini</destName>
|
||||
<source>${distroDirectory}/contents/samplecontainer.xml</source>
|
||||
<destName>container.xml</destName>
|
||||
<filtered>true</filtered>
|
||||
</file>
|
||||
</files>
|
||||
|
|
|
@ -1,13 +0,0 @@
|
|||
#!/bin/bash
|
||||
REGISTRY_URL="harbor.d4science.org"
|
||||
#USERNAME="alfredo.oliviero"
|
||||
echo "to obtain Harbor username and CLI secret:"
|
||||
echo "https://harbor.dev.d4science.org/ -> user profile -> CLI secret"
|
||||
|
||||
read -p "username:" USERNAME
|
||||
|
||||
echo ""
|
||||
|
||||
read -s -p "CLI secret:" ACCESS_TOKEN
|
||||
echo "$ACCESS_TOKEN" | docker login $REGISTRY_URL -u $USERNAME --password-stdin
|
||||
unset ACCESS_TOKEN
|
68
pom.xml
68
pom.xml
|
@ -1,44 +1,50 @@
|
|||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<artifactId>maven-parent</artifactId>
|
||||
<groupId>org.gcube.tools</groupId>
|
||||
<version>1.2.0</version>
|
||||
<version>1.1.0</version>
|
||||
</parent>
|
||||
|
||||
<groupId>org.gcube.distribution</groupId>
|
||||
<artifactId>smartgears-distribution</artifactId>
|
||||
<version>4.0.0</version>
|
||||
<version>3.4.3</version>
|
||||
<packaging>pom</packaging>
|
||||
<name>A distribution for the SmartGears Framework</name>
|
||||
|
||||
<properties>
|
||||
<distroDirectory>distro</distroDirectory>
|
||||
<wiki>https://wiki.gcube-system.org/gcube/SmartGears</wiki>
|
||||
</properties>
|
||||
|
||||
<scm>
|
||||
<connection>
|
||||
scm:git:https://code-repo.d4science.org/gCubeSystem/${project.artifactId}.git</connection>
|
||||
<developerConnection>
|
||||
scm:git:https://code-repo.d4science.org/gCubeSystem/${project.artifactId}.git</developerConnection>
|
||||
<connection>scm:git:https://code-repo.d4science.org/gCubeSystem/${project.artifactId}.git</connection>
|
||||
<developerConnection>scm:git:https://code-repo.d4science.org/gCubeSystem/${project.artifactId}.git</developerConnection>
|
||||
<url>https://code-repo.d4science.org/gCubeSystem/${project.artifactId}</url>
|
||||
</scm>
|
||||
|
||||
<dependencyManagement>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.gcube.distribution</groupId>
|
||||
<artifactId>gcube-smartgears-bom</artifactId>
|
||||
<version>4.0.0</version>
|
||||
<version>2.1.0</version>
|
||||
<type>pom</type>
|
||||
<scope>import</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.gcube.core</groupId>
|
||||
<artifactId>common-smartgears</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.gcube.core</groupId>
|
||||
<artifactId>common-smartgears-utils</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.gcube.common</groupId>
|
||||
<artifactId>gxHTTP</artifactId>
|
||||
|
@ -47,7 +53,6 @@
|
|||
<groupId>org.gcube.core</groupId>
|
||||
<artifactId>common-encryption</artifactId>
|
||||
</dependency>
|
||||
<!--
|
||||
<dependency>
|
||||
<groupId>org.gcube.information-system</groupId>
|
||||
<artifactId>information-system-model</artifactId>
|
||||
|
@ -56,36 +61,18 @@
|
|||
<groupId>org.gcube.resource-management</groupId>
|
||||
<artifactId>gcube-model</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.gcube.information-system</groupId>
|
||||
<artifactId>resource-registry-client</artifactId>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.gcube.common</groupId>
|
||||
<artifactId>common-utility-sg3</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.gcube.information-system</groupId>
|
||||
<artifactId>resource-registry-publisher</artifactId>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.gcube.common</groupId>
|
||||
<artifactId>common-utility-sg3</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.gcube.common</groupId>
|
||||
<artifactId>common-utility-sg4</artifactId>
|
||||
</dependency>
|
||||
-->
|
||||
<dependency>
|
||||
<groupId>org.gcube.data.publishing</groupId>
|
||||
<artifactId>document-store-lib-accounting-service</artifactId>
|
||||
<version>[2.0.0,3.0.0-SNAPSHOT)</version>
|
||||
<version>[2.0.0, 3.0.0-SNAPSHOT)</version>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
@ -96,25 +83,20 @@
|
|||
<dependency>
|
||||
<groupId>org.gcube.core</groupId>
|
||||
<artifactId>common-smartgears</artifactId>
|
||||
<version>[4.0.0-SNAPSHOT,5.0.0-SNAPSHOT)</version>
|
||||
<version>[3.0.0,4.0.0-SNAPSHOT)</version>
|
||||
<classifier>probe</classifier>
|
||||
<type>war</type>
|
||||
</dependency>
|
||||
<!-- publisher connectors -->
|
||||
<dependency>
|
||||
<groupId>org.gcube.common.core</groupId>
|
||||
<artifactId>legacy-is-publisher-connector</artifactId>
|
||||
</dependency>
|
||||
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-api</artifactId>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.gcube.resourcemanagement</groupId>
|
||||
<artifactId>whn-manager</artifactId>
|
||||
<version>[3.0.0-SNAPSHOT,4.0.0-SNAPSHOT)</version>
|
||||
<version>[2.0.0,3.0.0-SNAPSHOT)</version>
|
||||
<type>war</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.gcube.data.transfer</groupId>
|
||||
<artifactId>data-transfer-service</artifactId>
|
||||
<version>[2.0.0,3.0.0-SNAPSHOT)</version>
|
||||
<type>war</type>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
@ -155,6 +137,8 @@
|
|||
<stripVersion>true</stripVersion>
|
||||
</configuration>
|
||||
</execution>
|
||||
|
||||
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
|
|
|
@ -1,22 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
logs=/etc/logback.xml
|
||||
container=/etc/container.ini
|
||||
configfolder=/etc/config
|
||||
|
||||
if [ -f "$logs" ]; then
|
||||
cp $logs /tomcat/lib
|
||||
fi
|
||||
|
||||
if [ -f "$container" ]; then
|
||||
cp $container /smartgears-distribution
|
||||
fi
|
||||
|
||||
if [ -d "$configfolder" ] && ! [ -z "$(ls -A $configfolder)" ]; then
|
||||
echo "config folder exists and is not empty"
|
||||
cp -R $configfolder/* /smartgears-distribution/config/apps/
|
||||
fi
|
||||
|
||||
exec "$@"
|
||||
|
||||
|
Loading…
Reference in New Issue