export CORE_ENTRYPOINT_CONF_VERSION=v5 export MAILMAN_EXTRA_CFG_VERSION=v1 export NGINX_CONF_VERSION=v1 export SETTINGS_LOCAL_VERSION=v2 export WEB_ENTRYPOINT_CONF_VERSION=v1 file_env() { local var="$1" local fileVar="${var}_FILE" local def="${2:-}" if [ "${!var:-}" ] && [ "${!fileVar:-}" ]; then echo >&2 "error: both $var and $fileVar are set (but are exclusive)" exit 1 fi local val="$def" if [ "${!var:-}" ]; then val="${!var}" elif [ "${!fileVar:-}" ]; then val="$(< "${!fileVar}")" fi declare -x -g "$var"="$val" unset "$fileVar" } environment() { file_env "DATABASE_PASSWORD" file_env "HYPERKITTY_API_KEY" file_env "MAILMAN_REST_PASSWORD" file_env "SECRET_KEY" declare -x -g "DATABASE_URL"="postgres://${DATABASE_USER}:${DATABASE_PASSWORD}@${DATABASE_HOST}/${DATABASE_NAME}" } shell() { ## Run a shell with proper environment environment bash $@ } manage() { environment python3 manage.py $@ }