#!/bin/bash echo "starting program.." # wait for pg startup echo "Checking postgres server health.." wait-for-it.sh postgres.authcenter:5432 -t 0 # wait for lb startup echo "Checking postgres server health.." wait-for-it.sh wisecloud.authcenter:5432 -t 0 echo "Checking cas server health.." wait-for-it.sh server.cas:8822 -t 0 echo "Checking redis server health.." wait-for-it.sh redis.redis:7000 -t 0 MODULE_HOME=/opt/wisecloud/authcenter/authcenter_server CONF_FILE=${MODULE_HOME}/etc/authcenter.conf CAS_FILE=${MODULE_HOME}/etc/casclient.ini LOG_DB=${MODULE_HOME}/logsuite/logdb.conf SQL_FILE=${MODULE_HOME}/sql/authcenter.sql REDIS_PASSWORD=`curl http://rancher-metadata/latest/stacks/redis/services/redis/metadata/REDIS_PASSWORD 2>/dev/null` if [ -z "${REDIS_PASSWORD}" ] then REDIS_PASSWORD="123456" fi touch base_encrypt.py ( cat << EOF #!/usr/bin/env python #! -*- coding: utf-8 -*- import base64 import sys def base_encrypt(str): en_str = base64.encodestring(str) print en_str return en_str base_encrypt(sys.argv[1]) EOF ) > base_encrypt.py pg_password=`echo $(python base_encrypt.py ${POSTGRES_PASSWORD})` rm -rf base_encrypt.py sed -i '/BuildTime/aStartTime=' version sed -i "s#user.*#user=${POSTGRES_USER}#" ${CONF_FILE} sed -i "s#pass.*#pass=${pg_password}#" ${CONF_FILE} sed -i "s#password.*#password:${REDIS_PASSWORD}#" ${CAS_FILE} sed -i "s#usrid.*#usrid=${POSTGRES_USER}#" ${LOG_DB} sed -i "s#passwd.*#passwd=${pg_password}#" ${LOG_DB} # insert sql when there is no dbName=authcenter if [ -f "${SQL_FILE}" ] then sleep 5 record_count=`psql -h wisecloud.authcenter -p 5432 "dbname=${POSTGRES_DB} user=${POSTGRES_USER} password=${POSTGRES_PASSWORD}" \ -tc "SELECT value FROM t_authcenter_conf where id='3';" |egrep -v "\-|value|\+" | xargs 2>/dev/null` echo "##### record_count=$record_count" if [ "${record_count}" != "/opt/wisecloud/authcenter/authcenter_server/etc" ]; then echo "Begin to create db ${POSTGRES_DB}.." psql -h wisecloud.authcenter -p 5432 "dbname=postgres user=${POSTGRES_USER} password=${POSTGRES_PASSWORD}" -c "CREATE DATABASE ${POSTGRES_DB}"; [ $? -eq 0 ] && echo "create db ${POSTGRES_DB} success" || echo "warning: create db ${POSTGRES_DB} failed, mybe the db already exist" echo "Begin to import sql file.." sleep 5 psql -h wisecloud.authcenter -p 5432 "dbname=${POSTGRES_DB} user=${POSTGRES_USER} password=${POSTGRES_PASSWORD}" -f ${SQL_FILE} [ $? -eq 0 ] && echo "import ${SQL_FILE} success" || { echo "import ${SQL_FILE} failed"; exit 1 ; } rm -rf ${SQL_FILE} fi fi yes | cp cas_lib/libcas.so.1.1.3 ./libcas.so yes | cp cas_lib/liblogsuite.so.1.1.6 ./liblogsuite.so yes | cp cas_lib/libjson.so ./libjson.so yes | cp cas_lib/libjson.so ./libjson.so yes | cp cas_lib/libhiredis.so ./libhiredis.so.0.13 yes | cp cas_lib/liblicenseClient.so ./liblicenseClient.so cd ${MODULE_HOME} rm -rf /opt/wisecloud/authcenter/run mkdir -p /opt/wisecloud/authcenter/run ./authcenter