mirror of
https://github.com/deadcxap/init_scripts.git
synced 2026-07-02 05:43:40 +03:00
fix: copy hidden role files
This commit is contained in:
@@ -255,7 +255,7 @@ EOF"
|
|||||||
|
|
||||||
setup_role() {
|
setup_role() {
|
||||||
[[ -z "$ROLE" ]] && return
|
[[ -z "$ROLE" ]] && return
|
||||||
local TEMP_DIR ROLE_SRC ROLE_TARGET INIT_SCRIPT REPO_URL ROLE_URL
|
local TEMP_DIR ROLE_SRC REPO_URL ROLE_URL service_dir service_name target_dir init_script
|
||||||
REPO_URL="https://github.com/deadcxap/init_scripts.git"
|
REPO_URL="https://github.com/deadcxap/init_scripts.git"
|
||||||
ROLE_URL="https://api.github.com/repos/deadcxap/init_scripts/contents/$ROLE"
|
ROLE_URL="https://api.github.com/repos/deadcxap/init_scripts/contents/$ROLE"
|
||||||
log "Checking role $ROLE exists in repository"
|
log "Checking role $ROLE exists in repository"
|
||||||
@@ -283,18 +283,22 @@ setup_role() {
|
|||||||
run "Cleaning up role repository" rm -rf "$TEMP_DIR"
|
run "Cleaning up role repository" rm -rf "$TEMP_DIR"
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
run "Copying role files" cp -r "$ROLE_SRC" /opt/
|
run "Copying role files" cp -r "$ROLE_SRC"/. /opt/
|
||||||
ROLE_TARGET="/opt/$ROLE"
|
for service_dir in "$ROLE_SRC"/*; do
|
||||||
run "Setting ownership for $ROLE_TARGET" chown -R "$USERNAME:$USERNAME" "$ROLE_TARGET"
|
[ -d "$service_dir" ] || continue
|
||||||
INIT_SCRIPT="$ROLE_TARGET/init.sh"
|
service_name="$(basename "$service_dir")"
|
||||||
if [[ -f "$INIT_SCRIPT" ]]; then
|
target_dir="/opt/$service_name"
|
||||||
run "Running init.sh for $ROLE" bash "$INIT_SCRIPT"
|
run "Setting ownership for $target_dir" chown -R "$USERNAME:$USERNAME" "$target_dir"
|
||||||
run "Checking $ROLE stack" bash -c "cd '$ROLE_TARGET' && docker compose ps | grep -q 'Up'"
|
init_script="$target_dir/init.sh"
|
||||||
run "Removing init.sh for $ROLE" rm -f "$INIT_SCRIPT"
|
if [[ -f "$init_script" ]]; then
|
||||||
|
run "Running init.sh for $service_name" bash "$init_script"
|
||||||
|
run "Checking $service_name stack" bash -c "cd \"$target_dir\" && docker compose ps | grep -q 'Up'"
|
||||||
|
run "Removing init.sh for $service_name" rm -f "$init_script"
|
||||||
else
|
else
|
||||||
log "WARN: init.sh not found in $ROLE_TARGET, skipping"
|
log "WARN: init.sh not found in $target_dir, skipping"
|
||||||
SUMMARY+=("init.sh for $ROLE: MISSING")
|
SUMMARY+=("init.sh for $service_name: MISSING")
|
||||||
fi
|
fi
|
||||||
|
done
|
||||||
run "Cleaning up role repository" rm -rf "$TEMP_DIR"
|
run "Cleaning up role repository" rm -rf "$TEMP_DIR"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user