-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetup.sh
More file actions
62 lines (49 loc) · 1.93 KB
/
setup.sh
File metadata and controls
62 lines (49 loc) · 1.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#!/bin/bash
# =============================================================================
# setup.sh — IACT-db: configura BDs sin instalar (BDs ya instaladas)
# =============================================================================
# Uso cuando MariaDB y PostgreSQL ya están instalados y corriendo:
#
# cp .env.example .env
# sudo bash setup.sh
#
# Ejecuta solo los setup.sh de cada BD (crea BD, usuario, privilegios).
# No instala paquetes del sistema.
# =============================================================================
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$SCRIPT_DIR"
source "${PROJECT_ROOT}/utils/logging.sh"
source "${PROJECT_ROOT}/utils/core.sh"
source "${PROJECT_ROOT}/utils/network.sh"
source "${PROJECT_ROOT}/utils/validation.sh"
source "${PROJECT_ROOT}/utils/database.sh"
ENV_FILE="${PROJECT_ROOT}/.env"
if [[ ! -f "$ENV_FILE" ]]; then
log_error "Archivo .env no encontrado — crea: cp .env.example .env"
exit 1
fi
set -a; source "$ENV_FILE"; set +a
export DB_CHARSET="${DB_CHARSET:-utf8mb4}"
export DB_COLLATION="${DB_COLLATION:-utf8mb4_unicode_ci}"
export MARIADB_HOST="${MARIADB_HOST:-127.0.0.1}"
export MARIADB_PORT="${MARIADB_PORT:-3306}"
export POSTGRES_HOST="${POSTGRES_HOST:-127.0.0.1}"
export POSTGRES_PORT="${POSTGRES_PORT:-5432}"
if ! validate_root; then
log_fatal "Ejecuta con: sudo bash setup.sh"
fi
# Arrancar BDs si no están corriendo
bash "${PROJECT_ROOT}/start.sh" || {
log_error "No se pudieron arrancar las bases de datos"
log_error " Verifica la instalación: bash verify.sh"
exit 1
}
ensure_dir "${PROJECT_ROOT}/logs"
log_header "IACT-db Setup (sin instalación de paquetes)"
log_info "Configurando MariaDB..."
bash "${PROJECT_ROOT}/provisioners/mariadb/setup.sh"
log_info "Configurando PostgreSQL..."
bash "${PROJECT_ROOT}/provisioners/postgres/setup.sh"
log_success "Setup completado"
bash "${PROJECT_ROOT}/verify.sh"