358e92397e6aff502adfb87b08d40f036bba0bc3
[aaf/authz.git] / auth / docker / drun.sh
1 #!/bin/bash
2 # Validate for realtime Cassandra info
3
4 # check if outside Cluster defined... otherwise, set CASS_HOST for using expected Docker based Cass
5 if [ -z "$(grep -e '^CASS_CLUSTER=.*' d.props)" ]; then
6   if [ "$(uname)" = "Darwin" ]; then
7     SED="sed -i .bak"
8   else
9     SED="sed -i"
10   fi
11
12   CASSANDRA_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' aaf_cass)
13   if [ -z "$(grep -e '^CASS_HOST.*' d.props)" ]; then
14     $SED "s/# CASS_HOST=.*/CASS_HOST=cass.aaf.osaaf.org:$CASSANDRA_IP/"  d.props
15   else 
16     $SED "s/CASS_HOST=.*/CASS_HOST=cass.aaf.osaaf.org:$CASSANDRA_IP/"  d.props
17   fi
18   echo "Updated d.props for CASSANDRA Name/IP"
19   grep -e '^CASS_HOST.*' d.props
20 fi
21
22 # Pull in Variables from d.props
23 . ./d.props
24
25 DOCKER=${DOCKER:=docker}
26
27 # Running without params keeps from being TTY
28 bash aaf.sh 
29
30 if [ "$1" == "" ]; then
31     AAF_COMPONENTS=$(cat components)
32 else
33     AAF_COMPONENTS="$@"
34 fi
35
36 for AAF_COMPONENT in ${AAF_COMPONENTS}; do
37     case "$AAF_COMPONENT" in
38     "service")
39         PORTMAP="8100:8100"
40         LINKS="--link aaf_cass:cassandra "
41         ;;
42     "locate")
43         PORTMAP="8095:8095"
44         LINKS="--link aaf_cass:cassandra "
45         ;;
46     "oauth")
47         PORTMAP="8140:8140"
48         LINKS="--link aaf_cass:cassandra "
49         ;;
50     "gui")
51         PORTMAP="8200:8200"
52         ;;
53     "cm")
54         PORTMAP="8150:8150"
55         LINKS="--link aaf_cass:cassandra "
56         ;;
57     "hello")
58         PORTMAP="8130:8130"
59         ;;
60     "fs")
61         PORTMAP="80:8096"
62         ;;
63     esac
64
65     echo Starting aaf_$AAF_COMPONENT...
66
67     if [ -n "$AAF_REGISTER_AS" ] && [ "$HOSTNAME" != "$AAF_REGISTER_AS" ]; then
68        AH_ROOT="$HOSTNAME $AAF_REGISTER_AS"
69     else
70        AH_ROOT="$HOSTNAME"
71     fi
72
73     for A in aaf.osaaf.org $AH_ROOT; do 
74        ADD_HOST="$ADD_HOST --add-host=$A:$HOST_IP"
75     done
76
77     if [[ "$CASS_HOST" =~ ":" ]]; then
78        echo "Adding Cassandra Host $CASS_HOST"
79        ADD_HOST="$ADD_HOST --add-host=$CASS_HOST"
80     fi
81     $DOCKER run \
82         -d \
83         --name aaf_$AAF_COMPONENT \
84         --hostname="${AAF_COMPONENT}.aaf.osaaf.org" \
85         $ADD_HOST \
86         ${LINKS} \
87         --env AAF_ENV=${AAF_ENV} \
88         --env AAF_REGISTER_AS=${AAF_REGISTER_AS} \
89         --env LATITUDE=${LATITUDE} \
90         --env LONGITUDE=${LONGITUDE} \
91         --env CASS_HOST=${CASS_HOST} \
92         --env CASSANDRA_CLUSTER=${CASSANDRA_CLUSTER} \
93         --env CASSANDRA_USER=${CASSANDRA_USER} \
94         --env CASSANDRA_PASSWORD=${CASSANDRA_PASSWORD} \
95         --env CASSANDRA_PORT=${CASSANDRA_PORT} \
96         --publish $PORTMAP \
97         -v "aaf_config:$CONF_ROOT_DIR" \
98         ${PREFIX}${ORG}/${PROJECT}/aaf_${AAF_COMPONENT}:${VERSION}
99 done