Major Improvements to abra.sh

This commit is contained in:
Cassowary 2023-10-10 14:18:47 -07:00
parent 673667e2bf
commit d52a8ad910
1 changed files with 87 additions and 56 deletions

63
abra.sh
View File

@ -2,31 +2,62 @@
export ENTRYPOINT_CONF_VERSION=v7
assets() {
set -a OTP_SECRET $(cat /run/secrets/otp_secret)
set -a SECRET_KEY_BASE $(cat /run/secrets/secret_key_base)
set -a DB_PASS $(cat /run/secrets/db_password)
RAILS_ENV=production bundle exec rails assets:precompile
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"
}
setup() {
set -a OTP_SECRET $(cat /run/secrets/otp_secret)
set -a SECRET_KEY_BASE $(cat /run/secrets/secret_key_base)
set -a DB_PASS $(cat /run/secrets/db_password)
environment() {
# for sidekiq service bundle exec env var threading
file_env "OTP_SECRET"
file_env "SECRET_KEY_BASE"
file_env "DB_PASS"
file_env "SMTP_PASSWORD"
file_env "VAPID_PRIVATE_KEY"
RAILS_ENV=production bundle exec rake db:setup
declare -x RAILS_ENV=production
}
admin() {
set -a OTP_SECRET $(cat /run/secrets/otp_secret)
set -a SECRET_KEY_BASE $(cat /run/secrets/secret_key_base)
set -a DB_PASS $(cat /run/secrets/db_password)
RAILS_ENV=production bin/tootctl accounts create "$1" --email "$2" --confirmed --role admin
setup_assets() {
environment
bundle exec rails assets:precompile
}
secrets() {
setup_db() {
environment
bundle exec rake db:setup
}
setup_admin() {
environment
accounts create "$1" --email "$2" --confirmed --role admin
}
shell() {
environment
bash $@
}
generate_secrets() {
## Run this 'local' to generate secrets
docker context use default > /dev/null 2>&1
echo "Generating secrets for new Hometown deployment..."