summaryrefslogtreecommitdiffstats
path: root/src/main/docker
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/docker')
-rw-r--r--src/main/docker/.dockerignore2
-rw-r--r--src/main/docker/Dockerfile52
-rw-r--r--src/main/docker/startup.sh27
-rw-r--r--src/main/docker/update_config.sh151
4 files changed, 232 insertions, 0 deletions
diff --git a/src/main/docker/.dockerignore b/src/main/docker/.dockerignore
new file mode 100644
index 0000000..1128374
--- /dev/null
+++ b/src/main/docker/.dockerignore
@@ -0,0 +1,2 @@
+*.war
+*.jsonld \ No newline at end of file
diff --git a/src/main/docker/Dockerfile b/src/main/docker/Dockerfile
new file mode 100644
index 0000000..4c2fe1a
--- /dev/null
+++ b/src/main/docker/Dockerfile
@@ -0,0 +1,52 @@
+###
+# ============LICENSE_START=======================================================
+# MODEL LOADER SERVICE
+# ================================================================================
+# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+###
+
+FROM ubuntu:14.04
+ARG jettyrel=9.3.9.v20160517
+ARG jettydist=jetty-distribution-${jettyrel}
+ARG jettybase=/opt/jetty
+
+RUN apt-get update && apt-get --force-yes -y -f install wget
+
+# Install java8
+RUN apt-get install -y software-properties-common
+
+# sudo -E is required to preserve the environment
+# If you remove that line, it will most like freeze at this step
+
+RUN sudo -E add-apt-repository ppa:openjdk-r/ppa && apt-get update && apt-get install -y openjdk-8-jdk
+
+# Setup JAVA_HOME, this is useful for docker commandline
+
+ENV JAVA_HOME usr/lib/jvm/java-8-openjdk-amd64
+RUN export JAVA_HOME
+
+RUN wget http://central.maven.org/maven2/org/eclipse/jetty/jetty-distribution/${jettyrel}/${jettydist}.tar.gz
+RUN gunzip ${jettydist}.tar.gz && tar xvf ${jettydist}.tar
+
+COPY model-loader* $jettydist/webapps/model-loader/
+
+COPY startup.sh update_config.sh ${jettydist}/bin/
+RUN chmod 700 ${jettydist}/bin/startup.sh && chmod 700 ${jettydist}/bin/update_config.sh
+RUN mkdir -p ${jettybase}
+RUN mv ${jettydist} ${jettybase}/${jettydist}
+RUN rm -rf $jettybase/$jettydist/demo-base
+
+CMD /opt/jetty/*/bin/startup.sh
diff --git a/src/main/docker/startup.sh b/src/main/docker/startup.sh
new file mode 100644
index 0000000..22950cd
--- /dev/null
+++ b/src/main/docker/startup.sh
@@ -0,0 +1,27 @@
+###
+# ============LICENSE_START=======================================================
+# MODEL LOADER SERVICE
+# ================================================================================
+# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+###
+
+BIN_DIR=`dirname $0`
+
+echo "Checking environment for configuration options"
+$BIN_DIR/update_config.sh
+
+echo "Starting up model loader..."
+$BIN_DIR/jetty.sh run > /dev/null 2>&1 \ No newline at end of file
diff --git a/src/main/docker/update_config.sh b/src/main/docker/update_config.sh
new file mode 100644
index 0000000..77916ed
--- /dev/null
+++ b/src/main/docker/update_config.sh
@@ -0,0 +1,151 @@
+#!/bin/bash
+
+###
+# ============LICENSE_START=======================================================
+# MODEL LOADER SERVICE
+# ================================================================================
+# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+###
+
+#
+# This script will update the config file, with config values supplied
+# through environment variables, if set
+#
+
+CONFIG_FILE=`dirname $0`/../webapps/model-loader/WEB-INF/classes/model-loader.properties
+
+# Distribution client configuration
+ENVVAR=DISTR_CLIENT_ACTIVE_SERVER_TLS_AUTH
+ENVVALUE=${!ENVVAR}
+ENVVALUE=${ENVVALUE//\//\\/}
+[ -z ${!ENVVAR+x} ] \
+ || sed -i "/ml.distribution.ACTIVE_SERVER_TLS_AUTH/s/.*/ml.distribution.ACTIVE_SERVER_TLS_AUTH=$ENVVALUE/" $CONFIG_FILE;
+
+ENVVAR=DISTR_CLIENT_ASDC_ADDRESS
+ENVVALUE=${!ENVVAR}
+ENVVALUE=${ENVVALUE//\//\\/}
+[ -z ${!ENVVAR+x} ] \
+ || sed -i "/ml.distribution.ASDC_ADDRESS/s/.*/ml.distribution.ASDC_ADDRESS=$ENVVALUE/" $CONFIG_FILE;
+
+ENVVAR=DISTR_CLIENT_CONSUMER_GROUP
+ENVVALUE=${!ENVVAR}
+ENVVALUE=${ENVVALUE//\//\\/}
+[ -z ${!ENVVAR+x} ] \
+ || sed -i "/ml.distribution.CONSUMER_GROUP/s/.*/ml.distribution.CONSUMER_GROUP=$ENVVALUE/" $CONFIG_FILE;
+
+ENVVAR=DISTR_CLIENT_CONSUMER_ID
+ENVVALUE=${!ENVVAR}
+ENVVALUE=${ENVVALUE//\//\\/}
+[ -z ${!ENVVAR+x} ] \
+ || sed -i "/ml.distribution.CONSUMER_ID/s/.*/ml.distribution.CONSUMER_ID=$ENVVALUE/" $CONFIG_FILE;
+
+ENVVAR=DISTR_CLIENT_ENVIRONMENT_NAME
+ENVVALUE=${!ENVVAR}
+ENVVALUE=${ENVVALUE//\//\\/}
+[ -z ${!ENVVAR+x} ] \
+ || sed -i "/ml.distribution.ENVIRONMENT_NAME/s/.*/ml.distribution.ENVIRONMENT_NAME=$ENVVALUE/" $CONFIG_FILE;
+
+ENVVAR=DISTR_CLIENT_KEYSTORE_PASSWORD
+ENVVALUE=${!ENVVAR}
+ENVVALUE=${ENVVALUE//\//\\/}
+[ -z ${!ENVVAR+x} ] \
+ || sed -i "/ml.distribution.KEYSTORE_PASSWORD/s/.*/ml.distribution.KEYSTORE_PASSWORD=$ENVVALUE/" $CONFIG_FILE;
+
+ENVVAR=DISTR_CLIENT_KEYSTORE_FILE
+ENVVALUE=${!ENVVAR}
+ENVVALUE=${ENVVALUE//\//\\/}
+[ -z ${!ENVVAR+x} ] \
+ || sed -i "/ml.distribution.KEYSTORE_FILE/s/.*/ml.distribution.KEYSTORE_FILE=$ENVVALUE/" $CONFIG_FILE;
+
+ENVVAR=DISTR_CLIENT_PASSWORD
+ENVVALUE=${!ENVVAR}
+ENVVALUE=${ENVVALUE//\//\\/}
+[ -z ${!ENVVAR+x} ] \
+ || sed -i "/ml.distribution.PASSWORD/s/.*/ml.distribution.PASSWORD=$ENVVALUE/" $CONFIG_FILE;
+
+ENVVAR=DISTR_CLIENT_POLLING_INTERVAL
+ENVVALUE=${!ENVVAR}
+ENVVALUE=${ENVVALUE//\//\\/}
+[ -z ${!ENVVAR+x} ] \
+ || sed -i "/ml.distribution.POLLING_INTERVAL/s/.*/ml.distribution.POLLING_INTERVAL=$ENVVALUE/" $CONFIG_FILE;
+
+ENVVAR=DISTR_CLIENT_POLLING_TIMEOUT
+ENVVALUE=${!ENVVAR}
+ENVVALUE=${ENVVALUE//\//\\/}
+[ -z ${!ENVVAR+x} ] \
+ || sed -i "/ml.distribution.POLLING_TIMEOUT/s/.*/ml.distribution.POLLING_TIMEOUT=$ENVVALUE/" $CONFIG_FILE;
+
+ENVVAR=DISTR_CLIENT_USER
+ENVVALUE=${!ENVVAR}
+ENVVALUE=${ENVVALUE//\//\\/}
+[ -z ${!ENVVAR+x} ] \
+ || sed -i "/ml.distribution.USER/s/.*/ml.distribution.USER=$ENVVALUE/" $CONFIG_FILE;
+
+ENVVAR=DISTR_CLIENT_ARTIFACT_TYPES
+ENVVALUE=${!ENVVAR}
+ENVVALUE=${ENVVALUE//\//\\/}
+[ -z ${!ENVVAR+x} ] \
+ || sed -i "/ml.distribution.ARTIFACT_TYPES/s/.*/ml.distribution.ARTIFACT_TYPES=$ENVVALUE/" $CONFIG_FILE;
+
+
+# Model Loader Application Server REST Client Configuration
+ENVVAR=APP_SERVER_BASE_URL
+ENVVALUE=${!ENVVAR}
+ENVVALUE=${ENVVALUE//\//\\/}
+[ -z ${!ENVVAR+x} ] \
+ || sed -i "/ml.aai.BASE_URL/s/.*/ml.aai.BASE_URL=$ENVVALUE/" $CONFIG_FILE;
+
+ENVVAR=APP_SERVER_MODEL_URL
+ENVVALUE=${!ENVVAR}
+ENVVALUE=${ENVVALUE//\//\\/}
+[ -z ${!ENVVAR+x} ] \
+ || sed -i "/ml.aai.MODEL_URL/s/.*/ml.aai.MODEL_URL=$ENVVALUE/" $CONFIG_FILE;
+
+ENVVAR=APP_SERVER_NAMED_QUERY_URL
+ENVVALUE=${!ENVVAR}
+ENVVALUE=${ENVVALUE//\//\\/}
+[ -z ${!ENVVAR+x} ] \
+ || sed -i "/ml.aai.NAMED_QUERY_URL/s/.*/ml.aai.NAMED_QUERY_URL=$ENVVALUE/" $CONFIG_FILE;
+
+ENVVAR=APP_SERVER_VNF_IMAGE_URL
+ENVVALUE=${!ENVVAR}
+ENVVALUE=${ENVVALUE//\//\\/}
+[ -z ${!ENVVAR+x} ] \
+ || sed -i "/ml.aai.VNF_IMAGE_URL/s/.*/ml.aai.VNF_IMAGE_URL=$ENVVALUE/" $CONFIG_FILE;
+
+ENVVAR=APP_SERVER_KEYSTORE_FILE
+ENVVALUE=${!ENVVAR}
+ENVVALUE=${ENVVALUE//\//\\/}
+[ -z ${!ENVVAR+x} ] \
+ || sed -i "/ml.aai.KEYSTORE_FILE/s/.*/ml.aai.KEYSTORE_FILE=$ENVVALUE/" $CONFIG_FILE;
+
+ENVVAR=APP_SERVER_KEYSTORE_PASSWORD
+ENVVALUE=${!ENVVAR}
+ENVVALUE=${ENVVALUE//\//\\/}
+[ -z ${!ENVVAR+x} ] \
+ || sed -i "/ml.aai.KEYSTORE_PASSWORD/s/.*/ml.aai.KEYSTORE_PASSWORD=$ENVVALUE/" $CONFIG_FILE;
+
+ENVVAR=APP_SERVER_AUTH_USER
+ENVVALUE=${!ENVVAR}
+ENVVALUE=${ENVVALUE//\//\\/}
+[ -z ${!ENVVAR+x} ] \
+ || sed -i "/ml.aai.AUTH_USER/s/.*/ml.aai.AUTH_USER=$ENVVALUE/" $CONFIG_FILE;
+
+ENVVAR=APP_SERVER_AUTH_PASSWORD
+ENVVALUE=${!ENVVAR}
+ENVVALUE=${ENVVALUE//\//\\/}
+[ -z ${!ENVVAR+x} ] \
+ || sed -i "/ml.aai.AUTH_PASSWORD/s/.*/ml.aai.AUTH_PASSWORD=$ENVVALUE/" $CONFIG_FILE;