[UI] Embed files inside image
[validation.git] / docker / ui / deploy.sh
index 2ff6587..8c9a231 100755 (executable)
@@ -24,7 +24,8 @@ NAME=validation
 TAG_PRE=ui
 TAG_VER=latest
 # Container input parameters
-MARIADB_AKRAINO_PASSWORD=""
+MYSQL_USER="akraino"
+MYSQL_PASSWORD=""
 JENKINS_URL="https://jenkins.akraino.org/"
 JENKINS_USERNAME="demo"
 JENKINS_USER_PASSWORD="demo"
@@ -35,32 +36,15 @@ JENKINS_PROXY=""
 CERTDIR=$(pwd)
 ENCRYPTION_KEY=""
 UI_ADMIN_PASSWORD=""
-UI_AKRAINO_PASSWORD=""
+TRUST_ALL="false"
+USE_NETWORK_HOST="false"
 
-for ARGUMENT in "$@"
-do
-    KEY=$(echo $ARGUMENT | cut -f1 -d=)
-    VALUE=$(echo $ARGUMENT | cut -f2 -d=)
-    case "$KEY" in
-            REGISTRY)              REGISTRY=${VALUE} ;;
-            NAME)    NAME=${VALUE} ;;
-            TAG_PRE)    TAG_PRE=${VALUE} ;;
-            TAG_VER)    TAG_VER=${VALUE} ;;
-            MARIADB_AKRAINO_PASSWORD)    MARIADB_AKRAINO_PASSWORD=${VALUE} ;;
-            JENKINS_URL)    JENKINS_URL=${VALUE} ;;
-            JENKINS_USERNAME)    JENKINS_USERNAME=${VALUE} ;;
-            JENKINS_USER_PASSWORD)    JENKINS_USER_PASSWORD=${VALUE} ;;
-            JENKINS_JOB_NAME)    JENKINS_JOB_NAME=${VALUE} ;;
-            DB_IP_PORT)    DB_IP_PORT=${VALUE} ;;
-            CONTAINER_NAME)    CONTAINER_NAME=${VALUE} ;;
-            NEXUS_PROXY) NEXUS_PROXY=${VALUE} ;;
-            JENKINS_PROXY) JENKINS_PROXY=${VALUE} ;;
-            CERTDIR) CERTDIR=${VALUE} ;;
-            ENCRYPTION_KEY) ENCRYPTION_KEY=${VALUE} ;;
-            UI_ADMIN_PASSWORD) UI_ADMIN_PASSWORD=${VALUE} ;;
-            UI_AKRAINO_PASSWORD) UI_AKRAINO_PASSWORD=${VALUE} ;;
-            *)
-    esac
+while [ $# -gt 0 ]; do
+   if [[ $1 == *"--"* ]]; then
+        v="${1/--/}"
+        declare $v="$2"
+   fi
+   shift
 done
 
 if [ -z "$DB_IP_PORT" ]
@@ -69,9 +53,9 @@ if [ -z "$DB_IP_PORT" ]
     exit 1
 fi
 
-if [ -z "$MARIADB_AKRAINO_PASSWORD" ]
+if [ -z "$MYSQL_PASSWORD" ]
   then
-    echo "ERROR: You must specify the mariadb akraino user password"
+    echo "ERROR: You must specify the mysql user password"
     exit 1
 fi
 
@@ -87,12 +71,13 @@ if [ -z "$UI_ADMIN_PASSWORD" ]
     exit 1
 fi
 
-if [ -z "$UI_AKRAINO_PASSWORD" ]
-  then
-    echo "ERROR: You must specify the UI akraino password"
-    exit 1
-fi
+echo "Note: If there is a password already stored in database, the supplied UI_ADMIN_PASSWORD will be ignored."
 
 IMAGE="$REGISTRY"/"$NAME":"$TAG_PRE"-"$TAG_VER"
-docker run --detach --name $CONTAINER_NAME --network="host" -v "$(pwd)/server.xml:/usr/local/tomcat/conf/server.xml" -v "$CERTDIR/bluval.key:/usr/local/tomcat/bluval.key" -v "$CERTDIR/bluval.crt:/usr/local/tomcat/bluval.crt" -v "$(pwd)/root_index.jsp:/usr/local/tomcat/webapps/ROOT/index.jsp" -e DB_IP_PORT="$DB_IP_PORT" -e MARIADB_AKRAINO_PASSWORD="$MARIADB_AKRAINO_PASSWORD" -e JENKINS_URL="$JENKINS_URL" -e JENKINS_USERNAME="$JENKINS_USERNAME" -e JENKINS_USER_PASSWORD="$JENKINS_USER_PASSWORD" -e JENKINS_JOB_NAME="$JENKINS_JOB_NAME" -e NEXUS_PROXY="$NEXUS_PROXY" -e JENKINS_PROXY="$JENKINS_PROXY" -e ENCRYPTION_KEY="$ENCRYPTION_KEY" -e UI_ADMIN_PASSWORD="$UI_ADMIN_PASSWORD" -e UI_AKRAINO_PASSWORD="$UI_AKRAINO_PASSWORD" $IMAGE
+if [[ $USE_NETWORK_HOST = "true" ]]
+  then
+    docker run --detach --name $CONTAINER_NAME --network="host" -v "$CERTDIR/bluval.key:/usr/local/tomcat/bluval.key" -v "$CERTDIR/bluval.crt:/usr/local/tomcat/bluval.crt" -e DB_IP_PORT="$DB_IP_PORT" -e MYSQL_USER="$MYSQL_USER" -e MYSQL_PASSWORD="$MYSQL_PASSWORD" -e JENKINS_URL="$JENKINS_URL" -e JENKINS_USERNAME="$JENKINS_USERNAME" -e JENKINS_USER_PASSWORD="$JENKINS_USER_PASSWORD" -e JENKINS_JOB_NAME="$JENKINS_JOB_NAME" -e NEXUS_PROXY="$NEXUS_PROXY" -e JENKINS_PROXY="$JENKINS_PROXY" -e ENCRYPTION_KEY="$ENCRYPTION_KEY" -e UI_ADMIN_PASSWORD="$UI_ADMIN_PASSWORD" -e TRUST_ALL="$TRUST_ALL" $IMAGE
+  else
+    docker run --detach --name $CONTAINER_NAME -v "$CERTDIR/bluval.key:/usr/local/tomcat/bluval.key" -v "$CERTDIR/bluval.crt:/usr/local/tomcat/bluval.crt" -e DB_IP_PORT="$DB_IP_PORT" -e MYSQL_USER="$MYSQL_USER" -e MYSQL_PASSWORD="$MYSQL_PASSWORD" -e JENKINS_URL="$JENKINS_URL" -e JENKINS_USERNAME="$JENKINS_USERNAME" -e JENKINS_USER_PASSWORD="$JENKINS_USER_PASSWORD" -e JENKINS_JOB_NAME="$JENKINS_JOB_NAME" -e NEXUS_PROXY="$NEXUS_PROXY" -e JENKINS_PROXY="$JENKINS_PROXY" -e ENCRYPTION_KEY="$ENCRYPTION_KEY" -e UI_ADMIN_PASSWORD="$UI_ADMIN_PASSWORD" -e TRUST_ALL="$TRUST_ALL" $IMAGE
+fi
 sleep 10