#!/usr/bin/env bash # Check Besu/node health for a given container VMID. Run on Proxmox host. # Usage: ./scripts/health/check-node-health.sh set -euo pipefail VMID="${1:-}" if [ -z "$VMID" ]; then echo "Usage: $0 " exit 1 fi if ! command -v pct >/dev/null 2>&1; then echo "Error: pct not found. Run on Proxmox host." exit 1 fi STATUS=$(pct status "$VMID" 2>/dev/null | awk '{print $2}' || echo "unknown") if [ "$STATUS" != "running" ]; then echo "VMID $VMID: container not running ($STATUS)" exit 0 fi SVC="" for s in besu-validator besu; do if pct exec "$VMID" -- systemctl is-active "$s" 2>/dev/null | grep -q "active"; then SVC="$s" break fi done if [ -n "$SVC" ]; then echo "VMID $VMID: $SVC active" else echo "VMID $VMID: no besu service active (container running)" fi exit 0