Aleksandra Maciaga | 6def597 | 2020-02-20 09:42:03 +0100 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | # |
Bogumil Zebek | 78bc8f3 | 2020-02-27 07:39:38 +0100 | [diff] [blame] | 3 | # Copyright 2020 Nokia. |
Aleksandra Maciaga | 6def597 | 2020-02-20 09:42:03 +0100 | [diff] [blame] | 4 | # |
| 5 | # Licensed under the Apache License, Version 2.0 (the "License"); |
| 6 | # you may not use this file except in compliance with the License. |
| 7 | # You may obtain a copy of the License at |
| 8 | # |
| 9 | # http://www.apache.org/licenses/LICENSE-2.0 |
| 10 | # |
| 11 | # Unless required by applicable law or agreed to in writing, software |
| 12 | # distributed under the License is distributed on an "AS IS" BASIS, |
| 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 14 | # See the License for the specific language governing permissions and |
| 15 | # limitations under the License. |
| 16 | # |
| 17 | |
Bogumil Zebek | 78bc8f3 | 2020-02-27 07:39:38 +0100 | [diff] [blame] | 18 | # ------------------------------------ |
Aleksandra Maciaga | 93f9ea4 | 2020-03-03 13:38:58 +0100 | [diff] [blame] | 19 | # Resolve path to script's directory and cmp servers configuration |
Bogumil Zebek | 78bc8f3 | 2020-02-27 07:39:38 +0100 | [diff] [blame] | 20 | |
| 21 | SCRIPT=`realpath $0` |
| 22 | CURRENT_WORKDIR_PATH=`dirname $SCRIPT` |
Aleksandra Maciaga | 93f9ea4 | 2020-03-03 13:38:58 +0100 | [diff] [blame] | 23 | PROJECT_DIRECTORY="plans/aaf/certservice" |
Bogumil Zebek | 78bc8f3 | 2020-02-27 07:39:38 +0100 | [diff] [blame] | 24 | |
Aleksandra Maciaga | 7a5e3f6 | 2020-03-03 12:35:16 +0100 | [diff] [blame] | 25 | SCRIPTS_DIRECTORY="scripts" |
Aleksandra Maciaga | 93f9ea4 | 2020-03-03 13:38:58 +0100 | [diff] [blame] | 26 | |
| 27 | JENKINS_SCRIPTS_PATH="$CURRENT_WORKDIR_PATH/$PROJECT_DIRECTORY/$SCRIPTS_DIRECTORY" |
| 28 | LOCAL_SCRIPTS_PATH="$CURRENT_WORKDIR_PATH/$SCRIPTS_DIRECTORY" |
| 29 | |
| 30 | if test -d "$JENKINS_SCRIPTS_PATH"; then |
| 31 | SCRIPTS_PATH=$JENKINS_SCRIPTS_PATH |
| 32 | else test -f "$LOCAL_SCRIPTS_PATH"; |
| 33 | SCRIPTS_PATH=$LOCAL_SCRIPTS_PATH |
Aleksandra Maciaga | 7a5e3f6 | 2020-03-03 12:35:16 +0100 | [diff] [blame] | 34 | fi |
| 35 | echo "Use scripts from: $SCRIPTS_PATH" |
| 36 | |
Bogumil Zebek | 78bc8f3 | 2020-02-27 07:39:38 +0100 | [diff] [blame] | 37 | CONFIGURATION_FILE="cmpServers.json" |
Aleksandra Maciaga | 93f9ea4 | 2020-03-03 13:38:58 +0100 | [diff] [blame] | 38 | |
| 39 | JENKINS_CONFIGURATION_PATH="$CURRENT_WORKDIR_PATH/$PROJECT_DIRECTORY/$CONFIGURATION_FILE" |
| 40 | LOCAL_CONFIGURATION_PATH="$CURRENT_WORKDIR_PATH/$CONFIGURATION_FILE" |
| 41 | |
| 42 | if test -f "$JENKINS_CONFIGURATION_PATH"; then |
| 43 | CONFIGURATION_PATH="$JENKINS_CONFIGURATION_PATH" |
| 44 | else test -f "$LOCAL_CONFIGURATION_PATH"; |
| 45 | CONFIGURATION_PATH=$LOCAL_CONFIGURATION_PATH |
Bogumil Zebek | 78bc8f3 | 2020-02-27 07:39:38 +0100 | [diff] [blame] | 46 | fi |
| 47 | echo "Use configuration from: $CONFIGURATION_PATH" |
Aleksandra Maciaga | 7a5e3f6 | 2020-03-03 12:35:16 +0100 | [diff] [blame] | 48 | |
Bogumil Zebek | 78bc8f3 | 2020-02-27 07:39:38 +0100 | [diff] [blame] | 49 | # ------------------------------------- |
| 50 | |
Aleksandra Maciaga | 7a5e3f6 | 2020-03-03 12:35:16 +0100 | [diff] [blame] | 51 | export CONFIGURATION_PATH=${CONFIGURATION_PATH} |
| 52 | export SCRIPTS_PATH=${SCRIPTS_PATH} |
| 53 | |
| 54 | docker-compose up -d |
Aleksandra Maciaga | 6def597 | 2020-02-20 09:42:03 +0100 | [diff] [blame] | 55 | |
Aleksandra Maciaga | 7ce0799 | 2020-03-09 10:01:12 +0100 | [diff] [blame] | 56 | AAFCERT_IP='none' |
Aleksandra Maciaga | 6def597 | 2020-02-20 09:42:03 +0100 | [diff] [blame] | 57 | # Wait container ready |
Aleksandra Maciaga | 7ce0799 | 2020-03-09 10:01:12 +0100 | [diff] [blame] | 58 | for i in {1..9} |
| 59 | do |
| 60 | AAFCERT_IP=`get-instance-ip.sh aafcert` |
| 61 | RESP_CODE=$(curl -I -s -o /dev/null -w "%{http_code}" http://${AAFCERT_IP}:8080/actuator/health) |
| 62 | if [[ "$RESP_CODE" == '200' ]]; then |
| 63 | echo 'AAF Cert Service is ready' |
| 64 | export AAFCERT_IP=${AAFCERT_IP} |
| 65 | docker exec aafcert-ejbca /opt/primekey/scripts/ejbca-configuration.sh |
| 66 | break |
| 67 | fi |
| 68 | echo 'Waiting for AAF Cert Service to start up...' |
| 69 | sleep 30s |
| 70 | done |
Aleksandra Maciaga | 6def597 | 2020-02-20 09:42:03 +0100 | [diff] [blame] | 71 | |
Aleksandra Maciaga | 7ce0799 | 2020-03-09 10:01:12 +0100 | [diff] [blame] | 72 | if [[ $AAFCERT_IP == 'none' ] || [ $AAFCERT_IP == '' ]]; then |
| 73 | echo "AAF Cert Service is not ready!" |
| 74 | exit 1 # Return error code |
| 75 | fi |