Missing Licenses
[aaf/authz.git] / auth / docker / drun.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 # Validate for realtime Cassandra info
22
23 # check if outside Cluster defined... otherwise, set CASS_HOST for using expected Docker based Cass
24 if [ -z "$(grep -e '^CASS_CLUSTER=.*' d.props)" ]; then
25   if [ "$(uname)" = "Darwin" ]; then
26     SED="sed -i .bak"
27   else
28     SED="sed -i"
29   fi
30
31   CASSANDRA_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' aaf_cass)
32   if [ -z "$(grep -e '^CASS_HOST.*' d.props)" ]; then
33     $SED "s/# CASS_HOST=.*/CASS_HOST=cass.aaf.osaaf.org:$CASSANDRA_IP/"  d.props
34   else 
35     $SED "s/CASS_HOST=.*/CASS_HOST=cass.aaf.osaaf.org:$CASSANDRA_IP/"  d.props
36   fi
37   echo "Updated d.props for CASSANDRA Name/IP"
38   grep -e '^CASS_HOST.*' d.props
39 fi
40
41 # Pull in Variables from d.props
42 . ./d.props
43
44 DOCKER=${DOCKER:=docker}
45
46 # Running without params keeps from being TTY
47 bash ./aaf.sh 
48
49 if [ "$1" == "" ]; then
50     AAF_COMPONENTS=$(cat components)
51 else
52     AAF_COMPONENTS="$@"
53 fi
54
55 for AAF_COMPONENT in ${AAF_COMPONENTS}; do
56     LINKS=""
57     CMD_LINE=""
58     PORTMAP=""
59     case "$AAF_COMPONENT" in
60     "service")
61         PORTMAP="8100:8100"
62         LINKS="--link aaf_cass:cassandra "
63         # CASS_HOST is for Container based Cassadra
64         if [ -z "$CASS_HOST" ]; then
65           CMD_LINE="/bin/bash /opt/app/aaf/pod/pod_wait.sh aaf_service sleep 0 cd /opt/app/aaf;bin/service"
66         else
67           CMD_LINE="/bin/bash /opt/app/aaf/pod/pod_wait.sh aaf_service aaf_cass cd /opt/app/aaf;bin/service"
68         fi
69         ;;
70     "locate")
71         PORTMAP="8095:8095"
72         LINKS="--link aaf_cass:cassandra "
73         CMD_LINE="/bin/bash /opt/app/aaf/pod/pod_wait.sh aaf_locate aaf_service cd /opt/app/aaf;bin/locate"
74         ;;
75     "oauth")
76         PORTMAP="8140:8140"
77         LINKS="--link aaf_cass:cassandra "
78         CMD_LINE="/bin/bash /opt/app/aaf/pod/pod_wait.sh aaf_oauth aaf_service cd /opt/app/aaf;bin/oauth"
79         ;;
80     "gui")
81         PORTMAP="8200:8200"
82         LINKS=""
83         CMD_LINE="/bin/bash /opt/app/aaf/pod/pod_wait.sh aaf_gui aaf_locate cd /opt/app/aaf;bin/gui"
84         ;;
85     "cm")
86         PORTMAP="8150:8150"
87         LINKS="--link aaf_cass:cassandra "
88         CMD_LINE="/bin/bash /opt/app/aaf/pod/pod_wait.sh aaf_cm aaf_locate cd /opt/app/aaf;bin/cm"
89         ;;
90     "hello")
91         PORTMAP="8130:8130"
92         LINKS=""
93         CMD_LINE="/bin/bash /opt/app/aaf/pod/pod_wait.sh aaf_hello aaf_locate cd /opt/app/aaf;bin/hello"
94         ;;
95     "fs")
96         PORTMAP="80:8096"
97         LINKS=""
98         CMD_LINE="/bin/bash /opt/app/aaf/pod/pod_wait.sh aaf_fs aaf_locate cd /opt/app/aaf;bin/fs"
99         ;;
100     esac
101
102     echo Starting aaf_$AAF_COMPONENT...
103
104     if [ -n "$AAF_REGISTER_AS" ] && [ "$HOSTNAME" != "$AAF_REGISTER_AS" ]; then
105        AH_ROOT="$HOSTNAME $AAF_REGISTER_AS"
106     else
107        AH_ROOT="$HOSTNAME"
108     fi
109
110     for A in aaf.osaaf.org $AH_ROOT; do 
111        ADD_HOST="$ADD_HOST --add-host=$A:$HOST_IP"
112     done
113
114     if [ ! -z "$LINKS" ] && [[ "$CASS_HOST" =~ ":" ]]; then
115        ADD_HOST="$ADD_HOST --add-host=$CASS_HOST"
116     fi
117     $DOCKER run \
118         -d \
119         --name aaf_$AAF_COMPONENT \
120         --hostname="${AAF_COMPONENT}.aaf.osaaf.org" \
121         $ADD_HOST \
122         ${LINKS} \
123         --env AAF_ENV=${AAF_ENV} \
124         --env AAF_REGISTER_AS=${AAF_REGISTER_AS} \
125         --env LATITUDE=${LATITUDE} \
126         --env LONGITUDE=${LONGITUDE} \
127         --env CASS_HOST=${CASS_HOST} \
128         --env CASSANDRA_CLUSTER=${CASSANDRA_CLUSTER} \
129         --env CASSANDRA_USER=${CASSANDRA_USER} \
130         --env CASSANDRA_PASSWORD=${CASSANDRA_PASSWORD} \
131         --env CASSANDRA_PORT=${CASSANDRA_PORT} \
132         --publish $PORTMAP \
133         -v "aaf_config:$CONF_ROOT_DIR" \
134         -v "aaf_status:/opt/app/aaf/status" \
135         ${PREFIX}${ORG}/${PROJECT}/aaf_${AAF_COMPONENT}:${VERSION} \
136         $CMD_LINE
137 done