Make container parameters configurable
[aai/gizmo.git] / src / main / bin / start.sh
1 #!/bin/bash
2
3 BASEDIR="/opt/app/crud-api/"
4 AJSC_HOME="$BASEDIR"
5 AJSC_CONF_HOME="$AJSC_HOME/bundleconfig/"
6
7 # List of ajsc properties which are exposed for modification at deploy time
8 declare -a MODIFY_PROP_LIST=("KEY_STORE_PASSWORD"
9                              "KEY_MANAGER_PASSWORD"
10                              "AJSC_JETTY_ThreadCount_MIN" 
11                              "AJSC_JETTY_ThreadCount_MAX"
12                              "AJSC_JETTY_BLOCKING_QUEUE_SIZE")
13 PROP_LIST_LENGTH=${#MODIFY_PROP_LIST[@]}  
14
15 for (( i=1; i<${PROP_LIST_LENGTH}+1; i++ ));
16 do
17    PROP_NAME=${MODIFY_PROP_LIST[$i-1]}
18    PROP_VALUE=${!PROP_NAME}
19    if [ ! -z "$PROP_VALUE" ]; then
20       sed -i "s/$PROP_NAME.*$/$PROP_NAME=$PROP_VALUE/g" $AJSC_CONF_HOME/etc/sysprops/sys-props.properties
21    fi
22 done
23
24 if [ -z "$CONFIG_HOME" ]; then
25         echo "CONFIG_HOME must be set in order to start up process"
26         exit 1
27 fi
28
29 # Add any spring bean configuration files to the Gizmo deployment
30 if [ -n "$SERVICE_BEANS" ]; then
31         echo "Adding the following dynamic service beans to the deployment: "
32         mkdir -p /tmp/crud-api/v1/conf
33         for f in `ls $SERVICE_BEANS`
34         do
35                 cp $SERVICE_BEANS/$f /tmp/crud-api/v1/conf
36                 echo "Adding dynamic service bean $SERVICE_BEANS/$f"
37         done
38         jar uf /opt/app/crud-api/services/crud-api_v1.zip* -C /tmp/ crud-api
39         rm -rf /tmp/crud-api
40 fi
41
42 CLASSPATH="$AJSC_HOME/lib/*"
43 CLASSPATH="$CLASSPATH:$AJSC_HOME/extJars/"
44 CLASSPATH="$CLASSPATH:$AJSC_HOME/etc/"
45
46 PROPS="-DAJSC_HOME=$AJSC_HOME"
47 PROPS="$PROPS -DAJSC_CONF_HOME=$BASEDIR/bundleconfig/"
48 PROPS="$PROPS -Dlogback.configurationFile=$BASEDIR/bundleconfig/etc/logback.xml"
49 PROPS="$PROPS -DAJSC_SHARED_CONFIG=$AJSC_CONF_HOME"
50 PROPS="$PROPS -DAJSC_SERVICE_NAMESPACE=crud-api"
51 PROPS="$PROPS -DAJSC_SERVICE_VERSION=v1"
52 PROPS="$PROPS -Dserver.port=9520"
53 PROPS="$PROPS -DCONFIG_HOME=$CONFIG_HOME"
54 JVM_MAX_HEAP=${MAX_HEAP:-1024}
55
56 echo $CLASSPATH
57
58 exec java -Xmx${JVM_MAX_HEAP}m $PROPS -classpath $CLASSPATH com.att.ajsc.runner.Runner context=// sslport=9520