Init DB Using envsubst
[holmes/engine-management.git] / engine-d-standalone / src / main / assembly / bin / run.sh
index 3f3c662..4a528d8 100644 (file)
@@ -1,7 +1,7 @@
-#!/bin/bash
+#!/bin/sh
 
 #
-# Copyright 2017 ZTE Corporation.
+# Copyright 2017-2020 ZTE Corporation.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -25,18 +25,14 @@ JAVA="$JAVA_HOME/bin/java"
 echo @JAVA@ $JAVA
 main_path=$RUNHOME/..
 cd $main_path
-JAVA_OPTS="-Xms50m -Xmx128m"
-port=8312
-#JAVA_OPTS="$JAVA_OPTS -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=$port,server=y,suspend=n"
+JAVA_OPTS="-Xms256m -Xmx1g"
+port=9202
+#JAVA_OPTS="$JAVA_OPTS -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=*:$port,server=y,suspend=n"
 echo @JAVA_OPTS@ $JAVA_OPTS
 
-class_path="$main_path/*:$main_path/lib/*:$main_path/holmes-engine-d.jar"
+class_path="$main_path/lib/*"
 echo @class_path@ $class_path
 
-sed -i "s/activemq.username=.*/activemq.username=activemq/" /home/activemq/apache-activemq-5.9.0/conf/credentials.properties
-sed -i "s/activemq.password=.*/activemq.password=v1/" /home/activemq/apache-activemq-5.9.0/conf/credentials.properties
-/home/activemq/apache-activemq-5.9.0/bin/activemq start
-
 if [ -z ${JDBC_USERNAME} ]; then
     export JDBC_USERNAME=holmes
     echo "No user name is specified for the database. Use the default value \"$JDBC_USERNAME\"."
@@ -52,14 +48,19 @@ if [ -z ${DB_NAME} ]; then
     echo "No database is name is specified. Use the default value \"$DB_NAME\"."
 fi
 
-sed -i "s|url:.*|url: jdbc:postgresql://$URL_JDBC/$DB_NAME|" "$main_path/conf/engine-d.yml"
-sed -i "s|user:.*|user: $JDBC_USERNAME|" "$main_path/conf/engine-d.yml"
-sed -i "s|password:.*|password: $JDBC_PASSWORD|" "$main_path/conf/engine-d.yml"
+# if deployed using helm, use the helm-generated configuration file.
+if [ -d /opt/hemconfig ]; then
+    cp /opt/hemconfig/engine-d.yml "$main_path/conf/engine-d.yml"
+else
+    sed -i "s|url:.*|url: jdbc:postgresql://$URL_JDBC/$DB_NAME|" "$main_path/conf/engine-d.yml"
+    sed -i "s|user:.*|user: $JDBC_USERNAME|" "$main_path/conf/engine-d.yml"
+    sed -i "s|password:.*|password: $JDBC_PASSWORD|" "$main_path/conf/engine-d.yml"
+fi
 
 export SERVICE_IP=`hostname -i`
 echo SERVICE_IP=${SERVICE_IP}
 
-if [ ! -z ${TESTING} ] && [ ${TESTING} == 1 ]; then
+if [ ! -z ${TESTING} -a ${TESTING} = 1 ]; then
     if [ ! -z ${HOST_IP} ]; then
         export HOSTNAME=${HOST_IP}:9102
     else
@@ -67,18 +68,40 @@ if [ ! -z ${TESTING} ] && [ ${TESTING} == 1 ]; then
     fi
 fi
 
-#ActiveMQ IP Configurations
-sed -i "s|brokerIp:.*|brokerIp: $SERVICE_IP|" "$main_path/conf/engine-d.yml"
+export DB_PORT=5432
+if [ ! -z ${URL_JDBC} -a `expr index $URL_JDBC :` != 0 ]; then
+    export DB_PORT="${URL_JDBC##*:}"
+fi
+echo DB_PORT=$DB_PORT
 
-KEY_PATH="$main_path/conf/holmes.keystore"
-KEY_PASSWORD="holmes"
+if [ -z ${ENABLE_ENCRYPT} ]; then
+    export ENABLE_ENCRYPT=true
+fi
+echo ENABLE_ENCRYPT=$ENABLE_ENCRYPT
 
+KEY_PATH="/opt/onap/conf/holmes.keystore"
+KEY_PASSWORD="holmes"
 #HTTPS Configurations
 sed -i "s|keyStorePath:.*|keyStorePath: $KEY_PATH|" "$main_path/conf/engine-d.yml"
 sed -i "s|keyStorePassword:.*|keyStorePassword: $KEY_PASSWORD|" "$main_path/conf/engine-d.yml"
 
+if [ ${ENABLE_ENCRYPT} = true ]; then
+    sed -i "s|type:\s*https\?$|type: https|" "$main_path/conf/engine-d.yml"
+    sed -i "s|#\?keyStorePath|keyStorePath|" "$main_path/conf/engine-d.yml"
+    sed -i "s|#\?keyStorePassword|keyStorePassword|" "$main_path/conf/engine-d.yml"
+    sed -i "s|#\?validateCerts|validateCerts|" "$main_path/conf/engine-d.yml"
+    sed -i "s|#\?validatePeers|validatePeers|" "$main_path/conf/engine-d.yml"
+else
+    sed -i 's|type:\s*https\?$|type: http|' "$main_path/conf/engine-d.yml"
+    sed -i "s|#\?keyStorePath|#keyStorePath|" "$main_path/conf/engine-d.yml"
+    sed -i "s|#\?keyStorePassword|#keyStorePassword|" "$main_path/conf/engine-d.yml"
+    sed -i "s|#\?validateCerts|#validateCerts|" "$main_path/conf/engine-d.yml"
+    sed -i "s|#\?validatePeers|#validatePeers|" "$main_path/conf/engine-d.yml"
+fi
+
 cat "$main_path/conf/engine-d.yml"
 
+${RUNHOME}/initDB.sh "$JDBC_USERNAME" "$JDBC_PASSWORD" "$DB_NAME" "$DB_PORT" "${URL_JDBC%:*}"
 
 "$JAVA" $JAVA_OPTS -classpath "$class_path" org.onap.holmes.engine.EngineDActiveApp server "$main_path/conf/engine-d.yml"