Add cmd support in abra.sh for doing stuff to the web container

This commit is contained in:
Cassowary 2024-04-10 14:52:34 -07:00
parent 8090bf3bc0
commit 4e59191fd7
1 changed files with 42 additions and 0 deletions

42
abra.sh
View File

@ -3,3 +3,45 @@ 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 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 $@
}