no more profiles

This commit is contained in:
Andrew Hurley 2022-10-27 00:16:38 +11:00
parent 72ad582b17
commit 2da7a74398
1 changed files with 40 additions and 34 deletions

72
vvv.sh
View File

@ -4,11 +4,20 @@
set -u set -u
set -o pipefail set -o pipefail
usage () {
printf "Usage: vvv.sh <project>\n"
printf " project = Compose project folder.\n"
printf " Option r: restore operation\n"
printf " Option d: keep containers down - don't bring back up\n"
}
RESTORE="false" RESTORE="false"
DOWN="false"
OUTPUT="" OUTPUT=""
while getopts ':r' OPT; do while getopts ':rd' OPT; do
case $OPT in case $OPT in
r) RESTORE="true"; OUTPUT="${OUTPUT} Option: RESTORE OPERATION";; r) RESTORE="true"; OUTPUT="${OUTPUT} Option: RESTORE OPERATION";;
d) DOWN="true"; OUTPUT="${OUTPUT} Option: KEEP DOWN";;
\?) usage; exit;; \?) usage; exit;;
esac esac
done done
@ -19,12 +28,6 @@ if [[ $RESTORE == "true" ]] && [[ ! -f docker-restore.sh ]]; then
exit 1 exit 1
fi fi
usage () {
printf "Usage: vvv.sh <project> <profile> [ <profile> ... ]\n"
printf " Project = Compose project folder.\n"
printf " Profile(s) = profiles to stop and then restart after.\n"
}
scripts () { scripts () {
for MODE in backup restore; do for MODE in backup restore; do
FILE="docker-${MODE}.sh" FILE="docker-${MODE}.sh"
@ -56,7 +59,7 @@ scripts () {
done done
} }
if [[ $# -lt 2 ]]; then if [[ $# -lt 1 ]]; then
usage usage
exit 1 exit 1
fi fi
@ -77,39 +80,42 @@ pushd "../${PROJECT}" > /dev/null || exit 1
if [[ ! $RESTORE == "true" ]]; then if [[ ! $RESTORE == "true" ]]; then
scripts scripts
fi fi
shift
for PRO in $@; do COMMAND="sudo docker compose stop"
COMMAND="sudo docker compose --profile=${PRO} stop" printf "${COMMAND}\n"
printf "${COMMAND}\n" ${COMMAND}
${COMMAND} if ! ${COMMAND}; then
if ! ${COMMAND}; then printf "Services 'docker compose stop' error."
printf "Services 'docker compose stop' error." exit 1
exit 1 fi
fi COMMAND="sudo docker compose rm -f"
COMMAND="sudo docker compose --profile=${PRO} rm -f" printf "${COMMAND}\n"
printf "${COMMAND}\n" ${COMMAND}
${COMMAND} if ! ${COMMAND}; then
if ! ${COMMAND}; then printf "Services 'docker compose rm' error."
printf "Services 'docker compose rm' error." exit 1
exit 1 fi
fi
done
if [[ $RESTORE == "true" ]]; then if [[ $RESTORE == "true" ]]; then
"./docker-restore.sh" "./docker-restore.sh"
else else
"./docker-backup.sh" "./docker-backup.sh"
if [[ $DOWN = "false" ]]; then
COMMAND="sudo docker compose up -d"
printf "${COMMAND}\n"
if ! ${COMMAND}; then
printf "Services 'up' error."
exit 1
fi
fi
fi fi
for PRO in $@; do COMMAND="sudo docker compose up -d"
COMMAND="sudo docker compose --profile=${PRO} up -d" printf "${COMMAND}\n"
printf "${COMMAND}\n" if ! ${COMMAND}; then
if ! ${COMMAND}; then printf "Services 'up' error."
printf "Services 'up' error." exit 1
exit 1 fi
fi
done
popd > /dev/null || exit 1 popd > /dev/null || exit 1