diff --git a/RebuildBdd/bootstrap-target-host.sh b/RebuildBdd/bootstrap-target-host.sh index 64379f3..72e69e5 100755 --- a/RebuildBdd/bootstrap-target-host.sh +++ b/RebuildBdd/bootstrap-target-host.sh @@ -318,28 +318,28 @@ ssh "${SSH_OPTS[@]}" "$REMOTE" "$REMOTE_SETUP_CMD" \ TMP_ENV_FILE="$(mktemp)" cat >"$TMP_ENV_FILE" <"$TARGET_FILE" </dev/null || true)" +LOCAL_REPO_SUBDIR_DEFAULT="" + +if [[ -n "$GIT_TOPLEVEL" && "$SCRIPT_DIR" == "$GIT_TOPLEVEL"/* ]]; then + LOCAL_REPO_SUBDIR_DEFAULT="${SCRIPT_DIR#"$GIT_TOPLEVEL"/}" +fi GLOBAL_ENV_FILE="${GLOBAL_ENV_FILE:-$GLOBAL_ENV_FILE_DEFAULT}" TARGETS_DIR="${TARGETS_DIR:-$TARGETS_DIR_DEFAULT}" @@ -160,6 +166,7 @@ TARGET_SSH_KEY="${TARGET_BOOTSTRAP_SSH_KEY:-}" TARGET_REPO_URL="${TARGET_REPO_URL:-${GLOBAL_REPO_URL:-}}" TARGET_REPO_BRANCH="${TARGET_REPO_BRANCH:-${GLOBAL_REPO_BRANCH:-main}}" TARGET_REPO_DIR="${TARGET_REPO_DIR:-}" +TARGET_REPO_SUBDIR="${TARGET_REPO_SUBDIR:-$LOCAL_REPO_SUBDIR_DEFAULT}" TARGET_ENV_FILE="${TARGET_ENV_FILE:-}" TARGET_ENABLE_BOOTSTRAP="${TARGET_ENABLE_BOOTSTRAP:-${GLOBAL_ENABLE_BOOTSTRAP:-yes}}" @@ -175,6 +182,14 @@ TARGET_ENABLE_BOOTSTRAP="${TARGET_ENABLE_BOOTSTRAP:-${GLOBAL_ENABLE_BOOTSTRAP:-y [[ -n "$TARGET_REPO_DIR" ]] || fail "TARGET_REPO_DIR manquante" [[ -n "$TARGET_ENV_FILE" ]] || fail "TARGET_ENV_FILE manquante" +TARGET_REPO_SUBDIR="${TARGET_REPO_SUBDIR#/}" +TARGET_REPO_SUBDIR="${TARGET_REPO_SUBDIR%/}" + +TARGET_SCRIPT_DIR="$TARGET_REPO_DIR" +if [[ -n "$TARGET_REPO_SUBDIR" && "$TARGET_REPO_DIR" != */"$TARGET_REPO_SUBDIR" ]]; then + TARGET_SCRIPT_DIR="${TARGET_REPO_DIR}/${TARGET_REPO_SUBDIR}" +fi + TARGET_ENABLE_BOOTSTRAP="$(to_bool_yes_no "$TARGET_ENABLE_BOOTSTRAP")" || fail "TARGET_ENABLE_BOOTSTRAP invalide" BOOTSTRAP_SCRIPT_LOCAL="${SCRIPT_DIR}/bootstrap-target-host.sh" @@ -248,16 +263,16 @@ SSH_OPTS=( ssh "${SSH_OPTS[@]}" "${TARGET_USER}@${TARGET_HOST}" "exit 0" >/dev/null 2>&1 \ || fail "connexion SSH impossible vers la cible ${TARGET_USER}@${TARGET_HOST}" -TARGET_CORE_SCRIPT="${TARGET_REPO_DIR}/rebuild-bdd-core.sh" +TARGET_CORE_SCRIPT="${TARGET_SCRIPT_DIR}/rebuild-bdd-core.sh" REMOTE_BOOTSTRAP_CMD=" set -euo pipefail -REPO_DIR=$(shell_quote "$TARGET_REPO_DIR") +REPO_DIR=$(shell_quote "$TARGET_SCRIPT_DIR") REPO_URL=$(shell_quote "$TARGET_REPO_URL") REPO_BRANCH=$(shell_quote "$TARGET_REPO_BRANCH") CORE_SCRIPT=$(shell_quote "$TARGET_CORE_SCRIPT") -PRECHECK_SCRIPT=$(shell_quote "${TARGET_REPO_DIR}/Checkup/check-target-readiness.sh") +PRECHECK_SCRIPT=$(shell_quote "${TARGET_SCRIPT_DIR}/Checkup/check-target-readiness.sh") TARGET_ENV_FILE=$(shell_quote "$TARGET_ENV_FILE") REQUESTED_DB=$(shell_quote "$REQUESTED_DB") ALLOW_OVERWRITE=$(shell_quote "$ALLOW_OVERWRITE") @@ -319,4 +334,4 @@ exec \"\$CORE_SCRIPT\" \ --json-only " -ssh "${SSH_OPTS[@]}" "${TARGET_USER}@${TARGET_HOST}" "$REMOTE_BOOTSTRAP_CMD" \ No newline at end of file +ssh "${SSH_OPTS[@]}" "${TARGET_USER}@${TARGET_HOST}" "$REMOTE_BOOTSTRAP_CMD"