Files
smom-dbis-138/scripts/deployment/check-infrastructure-status.sh

99 lines
3.3 KiB
Bash
Raw Normal View History

#!/usr/bin/env bash
# Check Infrastructure Deployment Status
set -e
cd "$(dirname "$0")/../.."
# Color codes
echo "==================================================================="
echo " CHAIN-138 INFRASTRUCTURE DEPLOYMENT STATUS"
echo "==================================================================="
# Check Azure
log_info "Azure Resources:"
RG_NAME=$(cd terraform && terraform output -raw resource_group_name 2>/dev/null || echo "az-p-we-rg-comp-001")
CLUSTER_NAME=$(cd terraform && terraform output -raw cluster_name 2>/dev/null || echo "az-p-we-aks-main")
if az group show --name "$RG_NAME" &> /dev/null; then
log_success "✅ Resource Group: $RG_NAME"
else
log_error "❌ Resource Group not found: $RG_NAME"
fi
if az aks show --resource-group "$RG_NAME" --name "$CLUSTER_NAME" &> /dev/null; then
log_success "✅ AKS Cluster: $CLUSTER_NAME"
STATUS=$(az aks show --resource-group "$RG_NAME" --name "$CLUSTER_NAME" --query powerState.code -o tsv 2>/dev/null || echo "Unknown")
echo " Power State: $STATUS"
else
log_error "❌ AKS Cluster not found: $CLUSTER_NAME"
fi
# Check Kubernetes
log_info "Kubernetes:"
if kubectl cluster-info &> /dev/null 2>&1; then
log_success "✅ Cluster accessible"
NODES=$(kubectl get nodes --no-headers 2>/dev/null | wc -l)
echo " Nodes: $NODES"
else
log_error "❌ Cluster not accessible"
fi
# Check Namespaces
log_info "Namespaces:"
if kubectl get namespace besu-network &> /dev/null 2>&1; then
log_success "✅ besu-network"
PODS=$(kubectl get pods -n besu-network --no-headers 2>/dev/null | wc -l)
READY=$(kubectl get pods -n besu-network --no-headers 2>/dev/null | grep -c "Running\|Completed" || echo "0")
echo " Pods: $READY/$PODS ready"
else
log_warn "⚠️ besu-network not found"
fi
if kubectl get namespace monitoring &> /dev/null 2>&1; then
log_success "✅ monitoring"
PODS=$(kubectl get pods -n monitoring --no-headers 2>/dev/null | wc -l)
READY=$(kubectl get pods -n monitoring --no-headers 2>/dev/null | grep -c "Running\|Completed" || echo "0")
echo " Pods: $READY/$PODS ready"
else
log_warn "⚠️ monitoring not found"
fi
# Check Helm Releases
log_info "Helm Releases:"
if helm list -n besu-network 2>/dev/null | grep -q besu-validators; then
log_success "✅ besu-validators"
else
log_warn "⚠️ besu-validators not deployed"
fi
if helm list -n besu-network 2>/dev/null | grep -q besu-sentries; then
log_success "✅ besu-sentries"
else
log_warn "⚠️ besu-sentries not deployed"
fi
if helm list -n besu-network 2>/dev/null | grep -q besu-rpc; then
log_success "✅ besu-rpc"
else
log_warn "⚠️ besu-rpc not deployed"
fi
# Check RPC Endpoint
log_info "RPC Endpoint:"
RPC_SVC=$(kubectl get svc -n besu-network -l app=besu-rpc -o jsonpath='{.items[0].metadata.name}' 2>/dev/null || echo "")
if [ -n "$RPC_SVC" ]; then
RPC_IP=$(kubectl get svc -n besu-network "$RPC_SVC" -o jsonpath='{.status.loadBalancer.ingress[0].ip}' 2>/dev/null || echo "")
if [ -n "$RPC_IP" ]; then
log_success "✅ RPC Service: $RPC_SVC"
echo " Endpoint: http://$RPC_IP:8545"
else
log_warn "⚠️ RPC Service exists but IP not assigned"
fi
else
log_warn "⚠️ RPC Service not found"
fi
echo "==================================================================="