Respect COMPOSE var to make optional services easier

This commit is contained in:
3wc 2020-09-18 23:42:01 +02:00
parent 4658e3484c
commit 5a646abb12

13
abra
View File

@ -3,6 +3,10 @@
PROGRAM_NAME=$(basename "$0")
ABRA_CONFIG=abra.yml
if [ -z "$COMPOSE" ]; then
COMPOSE="compose.yml"
fi
yml_pattern_exists() {
PATTERN=$1
@ -53,7 +57,7 @@ sub_help() {
echo ""
echo "Subcommands:"
echo " cp SRC_PATH SERVICE:DEST_PATH copy files to a container"
echo " deploy [COMPOSE_FILE] let 'em rip"
echo " deploy let 'em rip"
echo " logs SERVICE [ARGS] tail logs from a deployed service"
echo " run SERVICE CMD run a command in the specified service's container"
echo " run_args SERVICE ARGS CMD run, passing extra args to docker exec"
@ -61,6 +65,8 @@ sub_help() {
echo " ... (custom commands)"
echo ""
echo "Make sure \$STACK_NAME is set using direnv or -a"
echo ""
echo "Runs compose.yml by default, set e.g. COMPOSE=\"compose.yml compose2.yml\" to override"
}
sub_secret_generate(){
@ -112,8 +118,6 @@ sub_run(){
}
sub_deploy (){
COMPOSE=${1:-compose.yml}
echo "About to deploy:"
echo " Compose: $(tput setaf 3)${PWD}/${COMPOSE}$(tput sgr0)"
if [ -n "$DOMAIN" ]; then
@ -129,7 +133,8 @@ sub_deploy (){
* ) return;;
esac
if docker stack deploy -c "$COMPOSE" "$STACK_NAME"; then
# shellcheck disable=SC2086
if docker stack deploy -c ${COMPOSE/ / -c } "$STACK_NAME"; then
if [ -n "$DOMAIN" ]; then
echo "$(tput setaf 2)Yay! App should be available at https://${DOMAIN}$(tput sgr0)"
else