ansible-roles/smartgears/smartgears-base-image/files/smartgears_run.sh

73 lines
2.1 KiB
Bash
Executable File

#!/bin/bash
####################################################################
#### Written by Daniele Pavia (ENG)
#### configures the container.xml, runs the default tomcat instance
#### and executes the ssh server in foreground to enable ansible
#### provisioning while keeping the container alive
####################################################################
#### let's configure the container
#### if no token is set refuse to run
if [[ -z "$CONTAINER_TOKENS" ]];
then
echo "CONTAINER_TOKENS not set, failed to configure the container. Exiting with errors.";
exit 1
else
OLDIFS=$IFS
IFS=","
read -r -a tokens <<< "$CONTAINER_TOKENS"
for token in ${tokens[@]};
do
sed -i "/<infrastructure>gcube<\/infrastructure>/a \\\t<token>$token<\/token>" container.xml;
done
IFS=$OLDIFS
fi
if [[ -z "$CONTAINER_MODE" ]];
then
echo "CONTAINER_MODE not set, assuming default value.";
else
sed -i "s/<container mode='offline'>/<container mode='$CONTAINER_MODE'>/" container.xml;
fi
if [[ -z "$CONTAINER_HOSTNAME" ]];
then
echo "CONTAINER_HOSTNAME not set, assuming default value.";
else
sed -i "s/<hostname>localhost<\/hostname>/<hostname>$CONTAINER_HOSTNAME<\/hostname>/" container.xml;
fi
if [[ -z "$CONTAINER_PORT" ]];
then
echo "CONTAINER_PORT not set, assuming default value.";
else
sed -i "s/<port>8080<\/port>/<port>$CONTAINER_PORT<\/port>/" container.xml;
fi
if [[ -z "$CONTAINER_INFRASTRUCTURE" ]];
then
echo "CONTAINER_INFRASTRUCTURE not set, assuming default value.";
else
sed -i "s/<infrastructure>gcube<\/infrastructure>/<infrastructure>$CONTAINER_INFRASTRUCTURE<\/infrastructure>/" container.xml;
fi
if [[ $PATCH_COMMON_SCOPES = "1" ]];
then
rm ./lib/common-scope-maps-*;
mv common-scope-maps-patched.jar ./lib/
fi
if [[ $PATCH_COMMON_AUTHORIZATION = "1" ]];
then
rm ./lib/common-authorization-*;
mv common-authorization-patched.jar ./lib/
fi
echo "Container configuration done"
#### let's start tomcat. Ignore its status after the start.
echo "Starting Tomcat7"
service tomcat7 start
echo "Starting ssh server in foreground"
/usr/sbin/sshd -D