changed to unmaintained
[aaf/authz.git] / auth / docker / drun.sh
index 9f77005..86fe598 100644 (file)
 #  limitations under the License.
 #  ============LICENSE_END====================================================
 #
-# Validate for realtime Cassandra info
-
-# check if outside Cluster defined... otherwise, set CASS_HOST for using expected Docker based Cass
-if [ -z "$(grep -e '^CASS_CLUSTER=.*' d.props)" ]; then
-  if [ "$(uname)" = "Darwin" ]; then
-    SED="sed -i .bak"
-  else
-    SED="sed -i"
-  fi
-
-  CASSANDRA_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' aaf_cass)
-  if [ -z "$(grep -e '^CASS_HOST.*' d.props)" ]; then
-    $SED "s/# CASS_HOST=.*/CASS_HOST=cass.aaf.osaaf.org:$CASSANDRA_IP/"  d.props
-  else 
-    $SED "s/CASS_HOST=.*/CASS_HOST=cass.aaf.osaaf.org:$CASSANDRA_IP/"  d.props
-  fi
-  echo "Updated d.props for CASSANDRA Name/IP"
-  grep -e '^CASS_HOST.*' d.props
-fi
-
 # Pull in Variables from d.props
 . ./d.props
 
+CASSANDRA_CLUSTER=${CASSANDRA_CLUSTER:=$CASSANDRA_DOCKER}
+
 DOCKER=${DOCKER:=docker}
 
 # Running without params keeps from being TTY
@@ -52,86 +34,111 @@ else
     AAF_COMPONENTS="$@"
 fi
 
+# All the NORMAL services use common directory
+#  remove this for Hello, which we want non shared
+CONFIG="-v aaf_config:$CONF_ROOT_DIR"
+if [ -n "${DUSER}" ]; then
+  THE_USER="--user $DUSER"
+fi
+IMAGE="${PREFIX}${ORG}/${PROJECT}/aaf_core:${VERSION}"
+
 for AAF_COMPONENT in ${AAF_COMPONENTS}; do
     LINKS=""
     CMD_LINE=""
-    PORTMAP=""
+    PUBLISH=""
     case "$AAF_COMPONENT" in
     "service")
-        PORTMAP="8100:8100"
-        LINKS="--link aaf_cass:cassandra "
-        # CASS_HOST is for Container based Cassadra
-        if [ -z "$CASS_HOST" ]; then
-         CMD_LINE="/bin/bash /opt/app/aaf/pod/pod_wait.sh aaf_service sleep 0 cd /opt/app/aaf;bin/service"
+        PUBLISH="--publish 8100:8100"
+        if [ -z "$CASSANDRA_DOCKER" ]; then
+         CMD_LINE="cd /opt/app/aaf && /bin/bash bin/pod_wait.sh aaf-service && exec bin/service"
         else
-         CMD_LINE="/bin/bash /opt/app/aaf/pod/pod_wait.sh aaf_service aaf_cass cd /opt/app/aaf;bin/service"
+         CMD_LINE="cd /opt/app/aaf && /bin/bash bin/pod_wait.sh aaf-service aaf-cass && exec bin/service"
+          LINKS="--link $CASSANDRA_DOCKER"
+         echo $CASSANDRA_CLUSTER
         fi
         ;;
     "locate")
-        PORTMAP="8095:8095"
-        LINKS="--link aaf_cass:cassandra "
-       CMD_LINE="/bin/bash /opt/app/aaf/pod/pod_wait.sh aaf_locate aaf_service cd /opt/app/aaf;bin/locate"
+        PUBLISH="--publish 8095:8095"
+        LINKS="--link aaf-cass --link aaf-service"
+       CMD_LINE="cd /opt/app/aaf && /bin/bash bin/pod_wait.sh aaf-locate aaf-service && exec bin/locate"
         ;;
     "oauth")
-        PORTMAP="8140:8140"
-        LINKS="--link aaf_cass:cassandra "
-       CMD_LINE="/bin/bash /opt/app/aaf/pod/pod_wait.sh aaf_oauth aaf_service cd /opt/app/aaf;bin/oauth"
-        ;;
-    "gui")
-        PORTMAP="8200:8200"
-        LINKS=""
-       CMD_LINE="/bin/bash /opt/app/aaf/pod/pod_wait.sh aaf_gui aaf_locate cd /opt/app/aaf;bin/gui"
+        PUBLISH="--publish 8140:8140"
+        LINKS="--link aaf-cass --link aaf-service --link aaf-locate"
+       CMD_LINE="cd /opt/app/aaf && /bin/bash bin/pod_wait.sh aaf-oauth aaf-service && exec bin/oauth"
         ;;
     "cm")
-        PORTMAP="8150:8150"
-        LINKS="--link aaf_cass:cassandra "
-       CMD_LINE="/bin/bash /opt/app/aaf/pod/pod_wait.sh aaf_cm aaf_locate cd /opt/app/aaf;bin/cm"
+        PUBLISH="--publish 8150:8150"
+        LINKS="--link aaf-cass --link aaf-service --link aaf-locate --link aaf-oauth"
+       CMD_LINE="cd /opt/app/aaf && /bin/bash bin/pod_wait.sh aaf-cm aaf-locate && exec bin/cm"
         ;;
-    "hello")
-        PORTMAP="8130:8130"
-        LINKS=""
-       CMD_LINE="/bin/bash /opt/app/aaf/pod/pod_wait.sh aaf_hello aaf_locate cd /opt/app/aaf;bin/hello"
+    "gui")
+        PUBLISH="--publish 8200:8200"
+        LINKS="--link aaf-service --link aaf-locate --link aaf-oauth --link aaf-cm"
+       CMD_LINE="cd /opt/app/aaf && /bin/bash bin/pod_wait.sh aaf-gui aaf-locate && exec bin/gui"
         ;;
     "fs")
-        PORTMAP="80:8096"
-        LINKS=""
-       CMD_LINE="/bin/bash /opt/app/aaf/pod/pod_wait.sh aaf_fs aaf_locate cd /opt/app/aaf;bin/fs"
+        PUBLISH="--publish 80:8096"
+        LINKS="--link aaf-locate"
+       CMD_LINE="cd /opt/app/aaf && /bin/bash bin/pod_wait.sh aaf-fs aaf-locate && exec bin/fs"
         ;;
-    esac
+    "hello")
+        LINKS="--link aaf-service --link aaf-locate --link aaf-oauth --link aaf-cm"
+       CONFIG="-v aaf_hello_config:/opt/app/osaaf/local"
 
-    echo Starting aaf_$AAF_COMPONENT...
+       # Since Helm based element have init-containers, take the same approach here.
+        if [ -z "$(docker volume ls | grep aaf_hello_config)" ]; then
+            echo Init Hello Config Container
 
-    if [ -n "$AAF_REGISTER_AS" ] && [ "$HOSTNAME" != "$AAF_REGISTER_AS" ]; then
-       AH_ROOT="$HOSTNAME $AAF_REGISTER_AS"
-    else
-       AH_ROOT="$HOSTNAME"
-    fi
+           echo -n "Creating Volume: "
+            $DOCKER volume create -d local aaf_hello_config
 
-    for A in aaf.osaaf.org $AH_ROOT; do 
-       ADD_HOST="$ADD_HOST --add-host=$A:$HOST_IP"
-    done
+           $DOCKER run --rm --name aaf_hello_config ${LINKS} \
+               $CONFIG \
+               --env AAF_FQDN=$HOSTNAME \
+               --env DEPLOY_FQI=deployer@people.osaaf.org \
+               --env DEPLOY_PASSWORD=demo123456! \
+               --env APP_FQI=aaf@aaf.osaaf.org \
+               --env APP_FQDN=aaf-hello \
+               --env LATITUDE=$LATITUDE \
+               --env LONGITUDE=$LONGITUDE \
+               --env aaf_locator_container_ns=onap \
+               --env aaf_locator_container=docker \
+               $LINKS \
+               "${PREFIX}${ORG}/${PROJECT}/aaf_agent:${VERSION}" \
+               bash -c "bash /opt/app/aaf_config/bin/agent.sh && chown -R ${DUSER}:${DUSER} /opt/app/osaaf/local"
+       fi
 
-    if [ ! -z "$LINKS" ] && [[ "$CASS_HOST" =~ ":" ]]; then
-       ADD_HOST="$ADD_HOST --add-host=$CASS_HOST"
-    fi
-    $DOCKER run \
+        PUBLISH="--publish 8130:8130"
+       #CMD_LINE="cd /opt/app/aaf && /bin/bash bin/pod_wait.sh aaf-hello aaf-locate aaf-cm && sleep 240"
+       CMD_LINE="cd /opt/app/aaf && /bin/bash bin/pod_wait.sh aaf-hello aaf-locate aaf-cm && exec bin/hello"
+       IMAGE="${PREFIX}${ORG}/${PROJECT}/aaf_hello:${VERSION}"
+        ;;
+    esac
+
+    echo Starting aaf-$AAF_COMPONENT...
+
+    $DOCKER run  \
         -d \
-        --name aaf_$AAF_COMPONENT \
-        --hostname="${AAF_COMPONENT}.aaf.osaaf.org" \
-       $ADD_HOST \
+        ${THE_USER} \
+        --name aaf-$AAF_COMPONENT \
         ${LINKS} \
         --env AAF_ENV=${AAF_ENV} \
-        --env AAF_REGISTER_AS=${AAF_REGISTER_AS} \
+        --env aaf_locator_container=docker \
+        --env aaf_locator_container_ns=${NAMESPACE} \
+        --env aaf_locator_fqdn=${HOSTNAME} \
+        --env aaf_locator_public_fqdn=${HOSTNAME} \
+        --env aaf_deployed_version=${VERSION} \
         --env LATITUDE=${LATITUDE} \
         --env LONGITUDE=${LONGITUDE} \
-        --env CASS_HOST=${CASS_HOST} \
         --env CASSANDRA_CLUSTER=${CASSANDRA_CLUSTER} \
         --env CASSANDRA_USER=${CASSANDRA_USER} \
         --env CASSANDRA_PASSWORD=${CASSANDRA_PASSWORD} \
         --env CASSANDRA_PORT=${CASSANDRA_PORT} \
-        --publish $PORTMAP \
-        -v "aaf_config:$CONF_ROOT_DIR" \
         -v "aaf_status:/opt/app/aaf/status" \
-        ${PREFIX}${ORG}/${PROJECT}/aaf_${AAF_COMPONENT}:${VERSION} \
-       $CMD_LINE
+        $PUBLISH \
+       $CONFIG \
+       $IMAGE \
+       /bin/bash -c "$CMD_LINE"
+
 done