47 lines
1.2 KiB
Bash
Executable file
47 lines
1.2 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
# Preflight VM123 — validar antes de deploy Ligbox Ops Console (Docker)
|
|
# Uso: ./scripts/preflight-vm123.sh [PORTA]
|
|
set -euo pipefail
|
|
|
|
PORT="${1:-8100}"
|
|
BIND="${CONSOLE_BIND:-127.0.0.1}"
|
|
FAIL=0
|
|
|
|
echo "=== Ligbox Ops Console — Preflight VM123 ==="
|
|
echo "Data: $(date -Iseconds)"
|
|
echo "Porta alvo: ${BIND}:${PORT}"
|
|
echo
|
|
|
|
check() {
|
|
local label="$1"
|
|
local cmd="$2"
|
|
echo -n "[$label] "
|
|
if eval "$cmd" >/dev/null 2>&1; then
|
|
echo "OK"
|
|
else
|
|
echo "FALHOU"
|
|
FAIL=1
|
|
fi
|
|
}
|
|
|
|
check "docker" "docker info"
|
|
check "porta_livre" "! ss -tlnp | grep -q ':${PORT} '"
|
|
check "disco_opt" "test \"\$(df /opt --output=avail | tail -1 | tr -d ' ')\" -gt 5000000"
|
|
check "api_vm122" "curl -sf --connect-timeout 5 http://10.10.10.122:8080/api/health"
|
|
|
|
echo
|
|
echo "--- Containers Docker existentes (não alterar) ---"
|
|
docker ps --format 'table {{.Names}}\t{{.Status}}\t{{.Ports}}' 2>/dev/null || true
|
|
|
|
echo
|
|
echo "--- Portas em escuta (top 20) ---"
|
|
ss -tlnp 2>/dev/null | head -20 || true
|
|
|
|
echo
|
|
if [[ "$FAIL" -eq 0 ]]; then
|
|
echo "RESULTADO: APROVADO para deploy em ${BIND}:${PORT}"
|
|
exit 0
|
|
else
|
|
echo "RESULTADO: BLOQUEADO — corrigir itens FALHOU antes do docker compose up"
|
|
exit 1
|
|
fi
|