# See the License for the specific language governing permissions and
# limitations under the License.
+set -ex
+
# Container name
CONTAINER_NAME="akraino-validation-ui"
# Image data
TAG_PRE=ui
TAG_VER=latest
# Container input parameters
-MARIADB_AKRAINO_PASSWORD=""
-JENKINS_URL=""
-JENKINS_USERNAME=""
-JENKINS_USER_PASSWORD=""
-JENKINS_JOB_NAME=""
+MYSQL_USER="akraino"
+MYSQL_PASSWORD=""
+JENKINS_URL="https://jenkins.akraino.org/"
+JENKINS_USERNAME="demo"
+JENKINS_USER_PASSWORD="demo"
+JENKINS_JOB_NAME="validation"
DB_IP_PORT=""
NEXUS_PROXY=""
JENKINS_PROXY=""
+CERTDIR=$(pwd)
+ENCRYPTION_KEY=""
+UI_ADMIN_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} ;;
- *)
- esac
+while [ $# -gt 0 ]; do
+ if [[ $1 == *"--"* ]]; then
+ v="${1/--/}"
+ declare $v="$2"
+ fi
+ shift
done
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
-if [ -z "$JENKINS_URL" ]
+if [ -z "$ENCRYPTION_KEY" ]
then
- echo "ERROR: You must specify the Jenkins Url"
+ echo "ERROR: You must specify the encryption key"
exit 1
fi
-if [ -z "$JENKINS_USERNAME" ]
+if [ -z "$UI_ADMIN_PASSWORD" ]
then
- echo "ERROR: You must specify the Jenkins username"
+ echo "ERROR: You must specify the UI admin password"
exit 1
fi
-if [ -z "$JENKINS_USER_PASSWORD" ]
- then
- echo "ERROR: You must specify the Jenkins user password"
- exit 1
-fi
+echo "Note: If there is a password already stored in database, the supplied UI_ADMIN_PASSWORD will be ignored."
-if [ -z "$JENKINS_JOB_NAME" ]
+IMAGE="$REGISTRY"/"$NAME":"$TAG_PRE"-"$TAG_VER"
+if [[ $USE_NETWORK_HOST = "true" ]]
then
- echo "ERROR: You must specify the Jenkins job name"
- exit 1
+ 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 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 "$(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 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
-
-IMAGE="$REGISTRY"/"$NAME":"$TAG_PRE"-"$TAG_VER"
-docker run --detach --name $CONTAINER_NAME --network="host" -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" $IMAGE
sleep 10