003852fcac5fcf347321d5799b4cf13baa459718
[aai/gizmo.git] / src / main / bin / start.sh
1 #!/bin/sh
2
3 BASEDIR="/opt/app/crud-api/"
4 AJSC_HOME="$BASEDIR"
5 AJSC_CONF_HOME="$AJSC_HOME/bundleconfig/"
6
7 if [ -z "$CONFIG_HOME" ]; then
8         echo "CONFIG_HOME must be set in order to start up process"
9         exit 1
10 fi
11
12 if [ -z "$KEY_STORE_PASSWORD" ]; then
13         echo "KEY_STORE_PASSWORD must be set in order to start up process"
14         exit 1
15 else
16         echo -e "KEY_STORE_PASSWORD=$KEY_STORE_PASSWORD\n" >> $AJSC_CONF_HOME/etc/sysprops/sys-props.properties
17 fi
18
19 if [ -z "$KEY_MANAGER_PASSWORD" ]; then
20         echo "KEY_MANAGER_PASSWORD must be set in order to start up process"
21         exit 1
22 else
23         echo -e "KEY_MANAGER_PASSWORD=$KEY_MANAGER_PASSWORD\n" >> $AJSC_CONF_HOME/etc/sysprops/sys-props.properties
24 fi
25
26 # Add any spring bean configuration files to the Gizmo deployment
27 if [ -n "$SERVICE_BEANS" ]; then
28         echo "Adding the following dynamic service beans to the deployment: "
29         mkdir -p /tmp/crud-api/v1/conf
30         for f in `ls $SERVICE_BEANS`
31         do
32                 cp $SERVICE_BEANS/$f /tmp/crud-api/v1/conf
33                 echo "Adding dynamic service bean $SERVICE_BEANS/$f"
34         done
35         jar uf /opt/app/crud-api/services/crud-api_v1.zip* -C /tmp/ crud-api
36         rm -rf /tmp/crud-api
37 fi
38
39 CLASSPATH="$AJSC_HOME/lib/*"
40 CLASSPATH="$CLASSPATH:$AJSC_HOME/extJars/"
41 CLASSPATH="$CLASSPATH:$AJSC_HOME/etc/"
42
43 # Check to see if the provided implementation exists in the image and add it to the classpath
44 for file in $( find ${BASEDIR}graph-deps/* -maxdepth 0 -type d ); do
45         CURRIMPL=$(echo $file | cut -d"/" -f6)
46         if [ "x$GRAPHIMPL" = "x$CURRIMPL" ]; then
47                 CLASSPATH_GRAPHIMPL=$file
48                 echo "Setting up graph implementation of $GRAPHIMPL"
49         else
50                 SUPPORTED_GRAPHIMPL="$SUPPORTED_GRAPHIMPL $CURRIMPL"
51         fi
52 done
53 if [ -n "$CLASSPATH_GRAPHIMPL" ]; then
54         cp $CLASSPATH_GRAPHIMPL/* $AJSC_HOME/extJars/
55 else
56         echo "Configured graph implementation '$GRAPHIMPL' is not supported. Acceptable implementations are one of: $SUPPORTED_GRAPHIMPL"
57         exit 1
58 fi
59
60 PROPS="-DAJSC_HOME=$AJSC_HOME"
61 PROPS="$PROPS -DAJSC_CONF_HOME=$BASEDIR/bundleconfig/"
62 PROPS="$PROPS -Dlogback.configurationFile=$BASEDIR/bundleconfig/etc/logback.xml"
63 PROPS="$PROPS -DAJSC_SHARED_CONFIG=$AJSC_CONF_HOME"
64 PROPS="$PROPS -DAJSC_SERVICE_NAMESPACE=crud-api"
65 PROPS="$PROPS -DAJSC_SERVICE_VERSION=v1"
66 PROPS="$PROPS -Dserver.port=9520"
67 PROPS="$PROPS -DCONFIG_HOME=$CONFIG_HOME"
68 JVM_MAX_HEAP=${MAX_HEAP:-1024}
69
70 echo $CLASSPATH
71
72 exec java -Xmx${JVM_MAX_HEAP}m $PROPS -classpath $CLASSPATH com.att.ajsc.runner.Runner context=// sslport=9520