diff options
author | liamfallon <liam.fallon@est.tech> | 2022-06-29 14:04:09 +0100 |
---|---|---|
committer | liamfallon <liam.fallon@est.tech> | 2022-06-30 14:07:23 +0100 |
commit | 8c8eb415ca57830d462cefbe8d659b3b98b6de7c (patch) | |
tree | 17ba597b4a5a8bfa5dae6251fef4c0494cdee1b7 /models-sim/packages/models-simulator-docker | |
parent | ed439e7e8dafbdd87ace0604dc6230bb9563f995 (diff) |
Fix simulator docker file and startup script
The nmodels-simulator startup script is updated to:
- enable logging
- allow overriding of keystore and truststore
- allow overriding of configuration parameters
- Follow the same conventions as other docker files and startup scripts
- Add labelling
- Provide default configuration
Issue-ID: POLICY-4233
Change-Id: I6c25dc77c510a52ec298883f2534428807b1c253
Signed-off-by: liamfallon <liam.fallon@est.tech>
Diffstat (limited to 'models-sim/packages/models-simulator-docker')
-rw-r--r-- | models-sim/packages/models-simulator-docker/src/main/docker/Dockerfile | 40 | ||||
-rw-r--r-- | models-sim/packages/models-simulator-docker/src/main/docker/simulators.sh | 42 |
2 files changed, 46 insertions, 36 deletions
diff --git a/models-sim/packages/models-simulator-docker/src/main/docker/Dockerfile b/models-sim/packages/models-simulator-docker/src/main/docker/Dockerfile index 50f84d96c..c5832bfd7 100644 --- a/models-sim/packages/models-simulator-docker/src/main/docker/Dockerfile +++ b/models-sim/packages/models-simulator-docker/src/main/docker/Dockerfile @@ -22,11 +22,7 @@ # ============LICENSE_END========================================================= # -# -# Docker file to build an image that runs the simulators -# - -FROM onap/policy-jre-alpine:2.3.1 +FROM onap/policy-jre-alpine:2.4.3 LABEL maintainer="Policy Team" LABEL org.opencontainers.image.title="Policy Models Simulator" @@ -40,30 +36,22 @@ LABEL org.opencontainers.image.revision="${git.commit.id.abbrev}" ARG POLICY_LOGS=/var/log/onap/policy/simulators -ENV POLICY_HOME /opt/app/policy -ENV POLICY_LOGS ${POLICY_LOGS} +ENV POLICY_LOGS=$POLICY_LOGS +ENV POLICY_HOME=$POLICY_HOME/simulators -# Create DMaaP simulator user and group -# Add simulator-specific directories and set ownership as the simulator user -RUN mkdir -p ${POLICY_HOME}/simulators \ - && mkdir -p ${POLICY_HOME}/simulators/bin \ - && mkdir -p ${POLICY_LOGS} \ - && mkdir /packages +RUN mkdir -p $POLICY_HOME $POLICY_LOGS $POLICY_HOME/bin && \ + chown -R policy:policy $POLICY_HOME $POLICY_LOGS && \ + mkdir /packages +COPY /maven/lib/models-simulator.tar.gz /packages -# Unpack the tarball -COPY /maven/* /packages -RUN tar xvfz /packages/models-simulator.tar.gz --directory ${POLICY_HOME}/simulators \ +RUN tar xvfz /packages/models-simulator.tar.gz --directory ${POLICY_HOME} \ && rm /packages/models-simulator.tar.gz -# Ensure everything has the correct permissions -# Copy scripts simulator user area -COPY simulators.sh ${POLICY_HOME}/simulators/bin -RUN find /opt/app -type d -perm 755 \ - && find /opt/app -type f -perm 644 \ - && chmod 755 ${POLICY_HOME}/simulators/bin/* \ - && chown -R policy:policy $POLICY_HOME $POLICY_LOGS +WORKDIR $POLICY_HOME +COPY simulators.sh bin/. -USER policy:policy +RUN chown -R policy:policy * && chmod 755 bin/*.sh && chown -R policy:policy /app -ENV PATH ${POLICY_HOME}/simulators/bin:$PATH -ENTRYPOINT [ "simulators.sh" ] +USER policy +WORKDIR $POLICY_HOME/bin +ENTRYPOINT [ "./simulators.sh" ] diff --git a/models-sim/packages/models-simulator-docker/src/main/docker/simulators.sh b/models-sim/packages/models-simulator-docker/src/main/docker/simulators.sh index fdf680589..3d382a876 100644 --- a/models-sim/packages/models-simulator-docker/src/main/docker/simulators.sh +++ b/models-sim/packages/models-simulator-docker/src/main/docker/simulators.sh @@ -23,21 +23,43 @@ # ============LICENSE_END========================================================= # -if [ -z "$SIMULATOR_HOME" ] -then - SIMULATOR_HOME=${POLICY_HOME}/simulators +KEYSTORE="${KEYSTORE:-$POLICY_HOME/etc/ssl/policy-keystore}" +TRUSTSTORE="${TRUSTSTORE:-$POLICY_HOME/etc/ssl/policy-truststore}" +KEYSTORE_PASSWD="${KEYSTORE_PASSWD:-Pol1cy_0nap}" +TRUSTSTORE_PASSWD="${TRUSTSTORE_PASSWD:-Pol1cy_0nap}" + +if [ "$#" -ge 1 ]; then + CONFIG_FILE=$1 +else + CONFIG_FILE=${CONFIG_FILE} +fi + +if [ -z "$CONFIG_FILE" ]; then + CONFIG_FILE="${POLICY_HOME}/etc/simParameters.json" fi -KEYSTORE="${SIMULATOR_HOME}/etc/ssl/policy-keystore" -KEYSTORE_PASSWD="Pol1cy_0nap" -TRUSTSTORE="${SIMULATOR_HOME}/etc/ssl/policy-truststore" -TRUSTSTORE_PASSWD="Pol1cy_0nap" +echo "Policy simulator config file: $CONFIG_FILE" + +if [ -f "${POLICY_HOME}/etc/mounted/policy-truststore" ]; then + echo "overriding policy-truststore" + cp -f "${POLICY_HOME}"/etc/mounted/policy-truststore "${TRUSTSTORE}" +fi + +if [ -f "${POLICY_HOME}/etc/mounted/policy-keystore" ]; then + echo "overriding policy-keystore" + cp -f "${POLICY_HOME}"/etc/mounted/policy-keystore "${KEYSTORE}" +fi + +if [ -f "${POLICY_HOME}/etc/mounted/logback.xml" ]; then + echo "overriding logback.xml" + cp -f "${POLICY_HOME}"/etc/mounted/logback.xml "${POLICY_HOME}"/etc/ +fi ${JAVA_HOME}/bin/java \ - -cp "${SIMULATOR_HOME}/etc:${SIMULATOR_HOME}/lib/*" \ + -cp "${POLICY_HOME}/etc:${POLICY_HOME}/lib/*" \ + -Dlogging.config="${POLICY_HOME}/etc/logback.xml" \ -Djavax.net.ssl.keyStore="${KEYSTORE}" \ -Djavax.net.ssl.keyStorePassword="${KEYSTORE_PASSWD}" \ -Djavax.net.ssl.trustStore="${TRUSTSTORE}" \ -Djavax.net.ssl.trustStorePassword="${TRUSTSTORE_PASSWD}" \ - org.onap.policy.models.simulators.Main \ - ${SIMULATOR_HOME}/etc/mounted/simParameters.json + org.onap.policy.models.simulators.Main ${CONFIG_FILE} |