Missing Licenses
[aaf/authz.git] / auth / docker / agent.sh
1 #!/bin/bash
2 #########
3 #  ============LICENSE_START====================================================
4 #  org.onap.aaf
5 #  ===========================================================================
6 #  Copyright (c) 2017 AT&T Intellectual Property. All rights reserved.
7 #  ===========================================================================
8 #  Licensed under the Apache License, Version 2.0 (the "License");
9 #  you may not use this file except in compliance with the License.
10 #  You may obtain a copy of the License at
11 #
12 #       http://www.apache.org/licenses/LICENSE-2.0
13 #
14 #  Unless required by applicable law or agreed to in writing, software
15 #  distributed under the License is distributed on an "AS IS" BASIS,
16 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 #  See the License for the specific language governing permissions and
18 #  limitations under the License.
19 #  ============LICENSE_END====================================================
20 #
21
22
23 # Fill out "aaf.props" if not filled out already
24 if [ ! -e aaf.props ]; then
25   > ./aaf.props
26 fi
27  
28 . ./aaf.props
29
30 DOCKER=${DOCKER:=docker}
31 CADI_VERSION=${CADI_VERSION:=2.1.7-SNAPSHOT}
32
33 for V in VERSION DOCKER_REPOSITORY AAF_FQDN AAF_FQDN_IP DEPLOY_FQI APP_FQDN APP_FQI VOLUME DRIVER LATITUDE LONGITUDE; do
34    if [ "$(grep $V ./aaf.props)" = "" ]; then
35       unset DEF
36       case $V in
37          DOCKER_REPOSITORY) 
38                 PROMPT="Docker Repo"
39                 DEF=""
40                 ;;
41          AAF_FQDN)   PROMPT="AAF's FQDN";;
42          DEPLOY_FQI) PROMPT="Deployer's FQI";;
43          AAF_FQDN_IP)
44                 # Need AAF_FQDN's IP, because not might not be available in mini-container
45                 PROMPT="AAF FQDN IP"
46                 DEF=$(host $AAF_FQDN | grep "has address" | tail -1 | cut -f 4 -d ' ')
47                 ;;
48          APP_FQI)    PROMPT="App's FQI";; 
49          APP_FQDN)   PROMPT="App's Root FQDN";; 
50          VOLUME)     PROMPT="APP's AAF Configuration Volume";;
51          DRIVER)     PROMPT=$V;DEF=local;;
52          VERSION)    PROMPT="CADI Version";DEF=$CADI_VERSION;;
53          LATITUDE|LONGITUDE) PROMPT="$V of Node";;
54          *)          PROMPT=$V;;
55       esac
56       if [ "$DEF" = "" ]; then
57            PROMPT="$PROMPT: "
58       else 
59            PROMPT="$PROMPT ($DEF): "
60       fi
61       read -p "$PROMPT" VAR 
62       if [ "$VAR" = "" ]; then
63          if [ "$DEF" = "" ]; then
64             echo "agent.sh needs each value queried.  Please start again."
65             exit
66          else
67             VAR=$DEF
68          fi
69       fi
70       echo "$V=$VAR" >> ./aaf.props
71    fi
72 done
73 . ./aaf.props
74
75 # Make sure Container Volume exists
76 if [ "$($DOCKER volume ls | grep ${VOLUME})" = "" ]; then
77   echo -n "Creating Volume: " 
78   $DOCKER volume create -d ${DRIVER} ${VOLUME}
79 fi
80
81 if [ -n "$DOCKER_REPOSITORY" ]; then
82   PREFIX="$DOCKER_REPOSITORY/"
83 else
84   PREFIX=""
85 fi 
86
87 $DOCKER run \
88     -it \
89     --rm \
90     -v "${VOLUME}:/opt/app/osaaf" \
91     --add-host="$AAF_FQDN:$AAF_FQDN_IP" \
92     --env AAF_FQDN=${AAF_FQDN} \
93     --env DEPLOY_FQI=${DEPLOY_FQI} \
94     --env DEPLOY_PASSWORD=${DEPLOY_PASSWORD} \
95     --env APP_FQI=${APP_FQI} \
96     --env APP_FQDN=${APP_FQDN} \
97     --env LATITUDE=${LATITUDE} \
98     --env LONGITUDE=${LONGITUDE} \
99     --name aaf_agent_$USER \
100     "$PREFIX"onap/aaf/aaf_agent:$VERSION \
101     /bin/bash "$@"