From 5755baaf009e8c332750baf44048285ae93d74c6 Mon Sep 17 00:00:00 2001 From: Martin Lablans Date: Fri, 28 Oct 2022 10:06:43 +0200 Subject: [PATCH 1/3] Support docker compose as well as docker-compose --- bridgehead | 4 ++-- lib/prerequisites.sh | 8 +++++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/bridgehead b/bridgehead index e1e1d0b..b204383 100755 --- a/bridgehead +++ b/bridgehead @@ -63,10 +63,10 @@ case "$ACTION" in hc_send log "Bridgehead $PROJECT startup: Checking requirements ..." checkRequirements hc_send log "Bridgehead $PROJECT startup: Requirements checked out. Now starting bridgehead ..." - exec docker-compose -f ./$PROJECT/docker-compose.yml $OVERRIDE up --abort-on-container-exit + exec $COMPOSE -f ./$PROJECT/docker-compose.yml $OVERRIDE up --abort-on-container-exit ;; stop) - exec docker-compose -f ./$PROJECT/docker-compose.yml $OVERRIDE down + exec $COMPOSE -f ./$PROJECT/docker-compose.yml $OVERRIDE down ;; update) exec ./lib/update-bridgehead.sh $PROJECT diff --git a/lib/prerequisites.sh b/lib/prerequisites.sh index 2738620..dfd3cdd 100755 --- a/lib/prerequisites.sh +++ b/lib/prerequisites.sh @@ -10,9 +10,15 @@ fi checkOwner . bridgehead || exit 1 checkOwner /etc/bridgehead bridgehead || exit 1 +if [[ "$(docker compose version 2>/dev/null)" == *"Docker Compose version"* ]]; then + COMPOSE="docker compose" +else + COMPOSE="docker-compose" +fi + ## Check if user is a su log INFO "Checking if all prerequisites are met ..." -prerequisites="git docker docker-compose" +prerequisites="git docker $COMPOSE" for prerequisite in $prerequisites; do $prerequisite --version 2>&1 is_available=$? From 2aef5f29c304d157967f21eaefe78301692009c6 Mon Sep 17 00:00:00 2001 From: Martin Lablans Date: Fri, 28 Oct 2022 10:12:21 +0200 Subject: [PATCH 2/3] Move to functions.sh --- bridgehead | 2 ++ lib/functions.sh | 9 +++++++++ lib/prerequisites.sh | 6 ------ 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/bridgehead b/bridgehead index b204383..f18311a 100755 --- a/bridgehead +++ b/bridgehead @@ -58,6 +58,8 @@ if [ -f "$PROJECT/docker-compose.override.yml" ]; then OVERRIDE+=" -f ./$PROJECT/docker-compose.override.yml" fi +detectCompose + case "$ACTION" in start) hc_send log "Bridgehead $PROJECT startup: Checking requirements ..." diff --git a/lib/functions.sh b/lib/functions.sh index e3df4ad..b5a03a0 100755 --- a/lib/functions.sh +++ b/lib/functions.sh @@ -2,6 +2,15 @@ source lib/log.sh +detectCompose() { + if [[ "$(docker compose version 2>/dev/null)" == *"Docker Compose version"* ]]; then + COMPOSE="docker compose" + else + COMPOSE="docker-compose" + # This is intended to fail on startup in the next prereq check. + fi +} + exitIfNotRoot() { if [ "$EUID" -ne 0 ]; then log "ERROR" "Please run as root" diff --git a/lib/prerequisites.sh b/lib/prerequisites.sh index dfd3cdd..d90d50e 100755 --- a/lib/prerequisites.sh +++ b/lib/prerequisites.sh @@ -10,12 +10,6 @@ fi checkOwner . bridgehead || exit 1 checkOwner /etc/bridgehead bridgehead || exit 1 -if [[ "$(docker compose version 2>/dev/null)" == *"Docker Compose version"* ]]; then - COMPOSE="docker compose" -else - COMPOSE="docker-compose" -fi - ## Check if user is a su log INFO "Checking if all prerequisites are met ..." prerequisites="git docker $COMPOSE" From 6293dc65f03c7cedd8b6649013afba9dd9d2ed15 Mon Sep 17 00:00:00 2001 From: Martin Lablans Date: Fri, 28 Oct 2022 10:17:14 +0200 Subject: [PATCH 3/3] Fail in prereqs if compose does not exist --- lib/prerequisites.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/prerequisites.sh b/lib/prerequisites.sh index d90d50e..962c123 100755 --- a/lib/prerequisites.sh +++ b/lib/prerequisites.sh @@ -2,6 +2,8 @@ source lib/functions.sh +detectCompose + if ! id "bridgehead" &>/dev/null; then log ERROR "User bridgehead does not exist. Please consult readme for installation." exit 1