3 # ============LICENSE_START===============================================
4 # Copyright (C) 2021-2022 Nordix Foundation. All rights reserved.
5 # ========================================================================
6 # Licensed under the Apache License, Version 2.0 (the "License");
7 # you may not use this file except in compliance with the License.
8 # You may obtain a copy of the License at
10 # http://www.apache.org/licenses/LICENSE-2.0
12 # Unless required by applicable law or agreed to in writing, software
13 # distributed under the License is distributed on an "AS IS" BASIS,
14 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 # See the License for the specific language governing permissions and
16 # limitations under the License.
17 # ============LICENSE_END=================================================
20 # Script to build and start the container
21 # Make sure to run the simulator with the same arg as this script
24 echo "Usage: ./build_and_start.sh duplicate-check|ignore-duplicate ext-srv|ext-srv-secure|ignore-ext-srv"
32 if [ $1 == "duplicate-check" ]; then
34 elif [ $1 == "ignore-duplicate" ]; then
40 if [ $2 == "ext-srv" ]; then
41 URL="http://localhost:9095/a1policy/"
42 elif [ $2 == "ext-srv-secure" ]; then
43 URL="https://localhost:9195/a1policy/"
44 elif [ $2 == "ignore-ext-srv" ]; then
51 if [ ! -z "$URL" ]; then
52 URL_FLAG="-e EXT_SRV_URL=$URL"
55 # Stop and remove container images if they run
57 echo "Stopping A1 simulator image..."
58 docker stop a1StdSimulator > /dev/null 2>&1
59 docker rm -f a1StdSimulator > /dev/null 2>&1
61 echo "Stopping external server image..."
62 docker stop externalserversimulator > /dev/null 2>&1
63 docker rm -f externalserversimulator > /dev/null 2>&1
65 # Initialize path variables for certificate and build operations
78 echo "Building A1 simulator image..."
79 docker build -t a1test .
81 if [ ! -z "$URL" ]; then
83 echo "Building external server image..."
84 docker build -t external_server .
89 # Runs external_server in detached mode
90 # In order to tail logs use:: docker logs -f externalserversimulator
91 if [ ! -z "$URL" ]; then
92 docker run -d --network host --rm -it -p 9095:9095 -p 9195:9195 -e ALLOW_HTTP=true --volume "$dirextsrv/certificate:/usr/src/app/cert" --name externalserversimulator external_server
96 docker run --network host --rm -it -p 8085:8085 -p 8185:8185 -e A1_VERSION=STD_2.0.0 -e ALLOW_HTTP=true -e REMOTE_HOSTS_LOGGING=1 -e DUPLICATE_CHECK=$DUP_CHECK $URL_FLAG --volume "$dirnrtsim/certificate:/usr/src/app/cert" --name a1StdSimulator a1test