sp-hydra-veil-core/lib/steps/repos.sh

88 lines
No EOL
2.3 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
step_repos() {
print_section "Repositories"
log_step "Cloning repositories & configuring .env" 2 $TOTAL_STEPS
mkdir -p "$HV_BASE"
chmod 700 "$HV_BASE"
_clone_repos
_setup_env
}
_clone_repos() {
for name in essentials cli gui core; do
local url="${REPO_URLS[$name]}"
local branch="${REPO_BRANCHES[$name]}"
local dest="${REPO_DIRS[$name]}"
log_ok "HIJUEPUTA"
if [ -d "$dest" ]; then
log_warn "Repo ya existe: ${dest}"
rm -rf "$dest"
fi
if ! git clone --branch "$branch" "$url" "$dest" 2>&1; then
log_error "git clone FAILED: $name"
log_error " URL: $url"
log_error " Branch: $branch"
log_error " Dest: $dest"
exit 1
fi
chmod 700 "$dest"
log_ok "${name} clonado → ${dest}"
done
}
_setup_env() {
local env_file="$HV_CORE/.env"
local example_file="$HV_CORE/.env.example"
if [ ! -f "$example_file" ]; then
log_error ".env.example no encontrado: ${example_file}"
exit 1
fi
if [ -f "$env_file" ]; then
log_warn ".env ya existe — sobreescribiendo"
fi
echo ""
printf " ${DIM}Fill in the variables. ENTER = leave empty.${RESET}\n"
print_divider
echo ""
select_option \
"APP_ENV — application environment" \
"local development / testing" \
"production production / real domain"
case "$SELECT_RESULT" in
0) _app_env="local" ;;
1) _app_env="production" ;;
*) _app_env="production" ;;
esac
echo ""
printf " ${BCYAN}┌─${RESET} ${BWHITE}SP_API_BASE_URL_PRODUCTION${RESET} ${DIM}e.g. https://fake.simplifiedprivacy.org/api/v1${RESET}\n"
printf " ${BCYAN}${RESET} "
read -r _api_url < /dev/tty
cat > "$env_file" << ENVEOF
APP_ENV=${_app_env}
SP_API_BASE_URL_LOCAL=http://simplifiedprivacy.test/api/v1
SP_API_BASE_URL_PRODUCTION=${_api_url}
HV_CORE_HOME=${HV_CORE}
INSTALL_DIR=${HOME}
CORE_DIR=${HV_CORE}
ENVEOF
chmod 600 "$env_file"
log_ok "APP_ENV=${_app_env}"
[ -n "$_api_url" ] && log_ok "SP_API_BASE_URL_PRODUCTION=${_api_url}" || label_skip "SP_API_BASE_URL_PRODUCTION — vacío"
log_ok "INSTALL_DIR=${HOME}"
log_ok ".env escrito → ${env_file}"
}