ligbox-ops-platform/specs/019-ops-console-active-operations/deploy/scripts/preflight-vm123.sh
Ligbox Spec Hub 3a2c64834b Initial import: ligbox-ops-platform + specs + LAPTOP + obsidian merge (CT130)
Source: VM122 /opt + obsidian-infra + LAPTOP
Hub: CT130 spec-hub 10.10.10.130
2026-06-19 17:26:41 +00:00

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