diff --git a/manage.sh b/manage.sh index 1811b4a..db8daba 100755 --- a/manage.sh +++ b/manage.sh @@ -33,8 +33,8 @@ die() { exit 1 } -if ((BASH_VERSINFO[0] < 5 || - (BASH_VERSINFO[0] == 5 && BASH_VERSINFO[1] < 1))); then +if ((BASH_VERSINFO[0] < 5 || (\ + BASH_VERSINFO[0] == 5 && BASH_VERSINFO[1] < 1))); then die "Bash 5.1 or newer is required" fi @@ -57,28 +57,34 @@ usage() { cat < default -> after, + reversed for stop/down. A failed stage skips all remaining stages. + +Config: $CONFIG_FILE EOF } @@ -590,16 +596,23 @@ acquire_lock() { die "another manage.sh operation is already running" } -load_config -discover_stacks -validate_config_stacks -build_execution_stages - ACTION="${1:-}" TARGET="${2:-}" [[ $# -le 2 ]] || die "too many arguments" +case "$ACTION" in +help | -h | --help) + usage + exit 0 + ;; +esac + +load_config +discover_stacks +validate_config_stacks +build_execution_stages + case "$ACTION" in up | start | stop | restart | down | pull | update) acquire_lock @@ -634,9 +647,6 @@ list) [[ -z "$TARGET" ]] || die "list does not accept a stack name" list_stacks ;; -help | -h | --help) - usage - ;; *) usage exit 1