Merge pull request #1 from alex-phillips/master

fixed nested conditional variables issue
This commit is contained in:
Alex Phillips 2018-09-18 16:18:06 -04:00 committed by GitHub
commit f56641a985
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 51 additions and 43 deletions

View File

@ -2,10 +2,14 @@
. /config/.env
TODAY=$(date +%Y-%m-%d)
INDEX_PREFIX=${INDEX_PREFIX:-diskover-}
INDEX_NAME=${INDEX_NAME:-$INDEX_PREFIX$TODAY}
DISKOVER_OPTS=${DISKOVER_OPTS:-"-d /data -a -i $INDEX_NAME"}
# define array for input values
declare -A DISKOVER_ARRAY
DISKOVER_ARRAY[TODAY]=$(date +%Y-%m-%d)
DISKOVER_ARRAY[INDEX_PREFIX]=${INDEX_PREFIX:-diskover-}
DISKOVER_ARRAY[INDEX_NAME]=${INDEX_NAME:-$INDEX_PREFIX$TODAY}
DISKOVER_ARRAY[DISKOVER_OPTS]=${DISKOVER_OPTS:-"-d /data -a"}
DISKOVER_OPTS="$DISKOVER_OPTS -i $INDEX_NAME"
cd /app/diskover || exit
@ -27,8 +31,8 @@ echo "killing dangling workers..."
/bin/bash /app/diskover/diskover-bot-launcher.sh -k > /dev/null 2>&1
sleep 3
echo "starting workers with following options: $WORKER_OPTS"
/bin/bash /app/diskover/diskover-bot-launcher.sh $WORKER_OPTS
echo "starting workers with following options: ${DISKOVER_ARRAY[WORKER_OPTS]}"
/bin/bash /app/diskover/diskover-bot-launcher.sh ${DISKOVER_ARRAY[WORKER_OPTS]}
echo "starting crawler with following options: $DISKOVER_OPTS"
/usr/bin/python3 ./diskover.py $DISKOVER_OPTS
echo "starting crawler with following options: ${DISKOVER_ARRAY[DISKOVER_OPTS]}"
/usr/bin/python3 ./diskover.py ${DISKOVER_ARRAY[DISKOVER_OPTS]}

View File

@ -1,21 +1,25 @@
#!/usr/bin/with-contenv bash
# set default values for variables
REDIS_HOST=${REDIS_HOST:-redis}
REDIS_PORT=${REDIS_PORT:-6379}
ES_HOST=${ES_HOST:-elasticsearch}
ES_PORT=${ES_PORT:-9200}
ES_USER=${ES_USER:-elastic}
ES_PASS=${ES_PASS:-changeme}
declare -A DISKOVER_CONF
DISKOVER_CONF[REDIS_HOST]=${REDIS_HOST:-redis}
DISKOVER_CONF[REDIS_PORT]=${REDIS_PORT:-6379}
DISKOVER_CONF[ES_HOST]=${ES_HOST:-elasticsearch}
DISKOVER_CONF[ES_PORT]=${ES_PORT:-9200}
DISKOVER_CONF[ES_USER]=${ES_USER:-elastic}
DISKOVER_CONF[ES_PASS]=${ES_PASS:-changeme}
DISKOVER_CONF[RUN_ON_START]=${RUN_ON_START:-false}
DISKOVER_CONF[USE_CRON]=${USE_CRON:-false}
# persist env variables
if [ ! -f "/config/.env" ]; then
echo "export REDIS_HOST="$REDIS_HOST"
export REDIS_PORT="$REDIS_PORT"
export ES_HOST="$ES_HOST"
export ES_PORT="$ES_PORT"
export ES_USER="$ES_USER"
export ES_PASS="$ES_PASS"" > /config/.env
# sed in values or skip if value not set
for KEY in "${!DISKOVER_CONF[@]}"; do \
if [[ ${DISKOVER_CONF[$KEY]} == "" ]]; then \
:
else echo "export $KEY=${DISKOVER_CONF[$KEY]}" >> /config/.env
fi
done
fi
if [ ! -f "/etc/profile.d/diskover.sh" ]; then
@ -28,12 +32,12 @@ mkdir -p \
if [ ! -f "/config/diskover.cfg" ]; then
mv /defaults/diskover.cfg /config/diskover.cfg
sed -i 's|{{REDIS_HOST}}|'$REDIS_HOST'|g' /config/diskover.cfg
sed -i 's|{{REDIS_PORT}}|'$REDIS_PORT'|g' /config/diskover.cfg
sed -i 's|{{ES_HOST}}|'$ES_HOST'|g' /config/diskover.cfg
sed -i 's|{{ES_PORT}}|'$ES_PORT'|g' /config/diskover.cfg
sed -i 's|{{ES_USER}}|'$ES_USER'|g' /config/diskover.cfg
sed -i 's|{{ES_PASS}}|'$ES_PASS'|g' /config/diskover.cfg
for KEY in "${!DISKOVER_CONF[@]}"; do \
if [[ ${DISKOVER_CONF[$KEY]} == "" ]]; then \
:
else sed -i 's|{{'$KEY'}}|'${DISKOVER_CONF[$KEY]}'|g' /config/diskover.cfg
fi
done
fi
if [ ! -f "/app/diskover/diskover.cfg" ]; then
@ -46,7 +50,7 @@ fi
# import user crontabs
rm /etc/crontabs/*
if [ $USE_CRON ]; then
if [ ${DISKOVER_CONF[USE_CRON]} == true ]; then
cp /config/crontabs/* /etc/crontabs/
fi
@ -57,13 +61,11 @@ chown -R abc:abc \
/app/diskover \
/config
# sleep to allow time for elasticsearch to start
cd /app/diskover || exit
# run initial retrieval
if [ $RUN_ON_START ]; then
sleep 10
if [ ${DISKOVER_CONF[RUN_ON_START]} == true ]; then
echo "Initial run of dispatcher in progress"
# sleep to allow time for elasticsearch to start
sleep 10
exec \
s6-setuidgid abc /app/dispatcher.sh >> /config/log/diskover/dispatcher.log 2>&1 &
fi

View File

@ -6,17 +6,18 @@ if [ $DISABLE_WEB ]; then
fi
# set default values for variables
ES_HOST=${ES_HOST:-elasticsearch}
ES_PORT=${ES_PORT:-9200}
ES_USER=${ES_USER:-elastic}
ES_PASS=${ES_PASS:-changeme}
declare -A WEB_CONF
WEB_CONF[ES_HOST]=${ES_HOST:-elasticsearch}
WEB_CONF[ES_PORT]=${ES_PORT:-9200}
WEB_CONF[ES_USER]=${ES_USER:-elastic}
WEB_CONF[ES_PASS]=${ES_PASS:-changeme}
if [ ! -f "/config/Constants.php" ]; then
cp /app/diskover-web/src/diskover/Constants.php.sample /config/Constants.php
sed -i "s|ES_HOST = 'localhost'|ES_HOST = '"$ES_HOST"'|g" /config/Constants.php
sed -i "s|ES_PORT = 9200|ES_PORT = "$ES_PORT"|g" /config/Constants.php
sed -i "s|ES_USER = ''|ES_USER = '"$ES_USER"'|g" /config/Constants.php
sed -i "s|ES_PASS = ''|ES_PASS = '"$ES_PASS"'|g" /config/Constants.php
sed -i "s|ES_HOST = 'localhost'|ES_HOST = '"${WEB_CONF[ES_HOST]}"'|g" /config/Constants.php
sed -i "s|ES_PORT = 9200|ES_PORT = "${WEB_CONF[ES_PORT]}"|g" /config/Constants.php
sed -i "s|ES_USER = ''|ES_USER = '"${WEB_CONF[ES_USER]}"'|g" /config/Constants.php
sed -i "s|ES_PASS = ''|ES_PASS = '"${WEB_CONF[ES_PASS]}"'|g" /config/Constants.php
sed -i "s|ENABLE_SOCKET_CLIENT = FALSE|ENABLE_SOCKET_CLIENT = true|g" /config/Constants.php
sed -i "s|SOCKET_LISTENER_HOST = '127.0.0.1'|SOCKET_LISTENER_HOST = 'diskover'|g" /config/Constants.php
fi

View File

@ -1,7 +1,8 @@
#!/usr/bin/with-contenv bash
REDIS_HOST=${REDIS_HOST:-redis}
REDIS_PORT=${REDIS_PORT:-6379}
declare -A REDIS_CONF
REDIS_CONF[REDIS_HOST]=${REDIS_HOST:-redis}
REDIS_CONF[REDIS_PORT]=${REDIS_PORT:-6379}
exec \
s6-setuidgid abc /usr/bin/rq-dashboard -H $REDIS_HOST -P $REDIS_PORT
s6-setuidgid abc /usr/bin/rq-dashboard -H ${REDIS_CONF[REDIS_HOST]} -P ${REDIS_CONF[REDIS_PORT]}