#!/bin/bash set -e : ${BARBICAN_DB_USER:=barbican} : ${BARBICAN_DB_NAME:=barbican} : ${KEYSTONE_AUTH_PROTOCOL:=http} : ${BARBICAN_KEYSTONE_USER:=barbican} : ${ADMIN_TENANT_NAME:=admin} if ! [ "$KEYSTONE_ADMIN_TOKEN" ]; then echo "*** Missing KEYSTONE_ADMIN_TOKEN" >&2 exit 1 fi if ! [ "$DB_ROOT_PASSWORD" ]; then echo "*** Missing DB_ROOT_PASSWORD" >&2 exit 1 fi if ! [ "$BARBICAN_DB_PASSWORD" ]; then BARBICAN_DB_PASSWORD=$(openssl rand -hex 15) export BARBICAN_DB_PASSWORD fi mysql -h ${MARIADB_SERVICE_HOST} -u root -p"${DB_ROOT_PASSWORD}" mysql < /dev/null 2>&1 || /bin/keystone user-create --name ${BARBICAN_KEYSTONE_USER} --pass ${BARBICAN_ADMIN_PASSWORD} keystone role-get observer > /dev/null 2>&1 || /bin/keystone role-create --name observer keystone role-get creator > /dev/null 2>&1 || /bin/keystone role-create --name creator keystone user-get ${BARBICAN_KEYSTONE_USER} > /dev/null 2>&1 || /bin/keystone user-role-add --user ${BARBICAN_KEYSTONE_USER} --role admin --tenant ${ADMIN_TENANT_NAME} # launch Barbican using uwsgi exec uwsgi --master --emperor /etc/barbican/vassals