giskard / hf.sh
inoki-giskard's picture
Add requirements for demo Space external worker
fe45df8
raw
history blame
1.25 kB
#!/bin/bash
echo "Initializing datadir..."
# Create dir if not existed in HF persistent storage
if [ ! -d "${GSK_HOME}" ]
then
# Create HOME
mkdir -p "${GSK_HOME}"
# Create frontend run dir
mkdir -p "${GSK_HOME}/run/nginx"
fi
if [ ! -z "${GISKARD_LICENSE}" ]
then
# Use new license if env set
echo "${GISKARD_LICENSE}" > "${GISKARD_HOME}/license.lic"
# TODO: Backend raises exception if license is not parsable
fi
echo "Detecting demo Giskard Space..."
if [ ! -z "${SPACE_ID}" ] && [ "${DEMO_SPACE_ID}" == "${SPACE_ID}" ]
then
# Generate GISKARD_DEFAULT_API_KEY in demo space instead of set from Secrets
export GISKARD_DEFAULT_API_KEY=gsk-$(cat /dev/urandom | tr -dc '[:alpha:]' | fold -w ${1:-28} | head -n 1)
# Append demo worker supervisord item to conf
echo """
[program:demo_worker]
stdout_logfile=/dev/fd/1
stdout_logfile_maxbytes=0
autorestart=true
redirect_stderr=true
startsecs=0
startretries=5000
command=/bin/bash -c 'pip install -r ${GSK_DIST_PATH}/requirements.txt && python -m giskard.cli worker start -u \"http://localhost:9000\" -k \"\$GISKARD_DEFAULT_API_KEY\"; sleep 5'
""" >> "${GSK_DIST_PATH}/supervisord.conf"
fi
echo "Starting supervisord..."
exec supervisord -c "${GSK_DIST_PATH}/supervisord.conf"