Files
smom-dbis-138/scripts/deployment/run-all-next-steps.sh
defiQUG 2a4753eb2d feat: restore operator WIP — PMM JSON sync entrypoint, dotenv RPC trim + secrets, pool env alignment
- Resolve stash: merge load_deployment_env path with secure-secrets and CR/LF RPC strip
- create-pmm-full-mesh-chain138.sh delegates to sync-chain138-pmm-pools-from-json.sh
- env.additions.example: canonical PMM pool defaults (cUSDT/USDT per crosscheck)
- Include Chain138 scripts, official mirror deploy scaffolding, and prior staged changes

Made-with: Cursor
2026-03-27 19:02:30 -07:00

130 lines
7.0 KiB
Bash
Executable File

#!/usr/bin/env bash
# Run all next steps after infrastructure deployment
# This orchestrates all subsequent deployment phases
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "$SCRIPT_DIR/../lib/init.sh"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
# Load .env via dotenv (RPC CR/LF trim). Fallback: raw source.
if [[ -f "$SCRIPT_DIR/../lib/deployment/dotenv.sh" ]]; then
# shellcheck disable=SC1090
source "$SCRIPT_DIR/../lib/deployment/dotenv.sh"
load_deployment_env --repo-root "${PROJECT_ROOT:-$REPO_ROOT}"
elif [[ -n "${PROJECT_ROOT:-}" && -f "$PROJECT_ROOT/.env" ]]; then
set -a
# shellcheck disable=SC1090
source "$PROJECT_ROOT/.env"
set +a
elif [[ -n "${REPO_ROOT:-}" && -f "$REPO_ROOT/.env" ]]; then
set -a
# shellcheck disable=SC1090
source "$REPO_ROOT/.env"
set +a
fi
echo "╔════════════════════════════════════════════════════════════════╗"
echo "║ CHAIN-138 DEPLOYMENT - ALL NEXT STEPS ║"
echo "╚════════════════════════════════════════════════════════════════╝"
# Check if infrastructure is ready
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "Step 0: Verifying Infrastructure Readiness"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
# Check Terraform status
if ps aux | grep -i "terraform apply" | grep -v grep > /dev/null; then
echo "⚠️ Terraform is still running - waiting for completion..."
echo " Run this script again after Terraform completes"
exit 1
fi
# Check if deployment completed
if [ ! -f /tmp/terraform-apply-unlocked.log ] || ! tail -5 /tmp/terraform-apply-unlocked.log | grep -q "Apply complete"; then
echo "⚠️ Infrastructure deployment not complete"
echo " Please wait for Terraform to complete, then run this script again"
exit 1
fi
echo "✅ Infrastructure deployment complete"
# Check cluster readiness
READY_CLUSTERS=$(az aks list --subscription fc08d829-4f14-413d-ab27-ce024425db0b --query "[?contains(name, 'az-p-') && provisioningState == 'Succeeded']" -o tsv 2>/dev/null | wc -l)
if [ "$READY_CLUSTERS" -lt 24 ]; then
echo "⚠️ Only $READY_CLUSTERS/24 clusters are ready"
echo " Proceeding with available clusters..."
fi
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "Step 1: Verify Deployment"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
if [ -f "$SCRIPT_DIR/verify-all-clusters-parallel.sh" ]; then
echo "Running verification..."
bash "$SCRIPT_DIR/verify-all-clusters-parallel.sh" || echo " ⚠️ Verification had issues (continuing...)"
else
echo " ⚠️ Verification script not found (skipping...)"
fi
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "Step 2: Configure Kubernetes"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
if [ -f "$SCRIPT_DIR/configure-kubernetes-max-parallel.sh" ]; then
echo "Configuring Kubernetes across all regions..."
bash "$SCRIPT_DIR/configure-kubernetes-max-parallel.sh" || echo " ⚠️ Kubernetes configuration had issues (continuing...)"
else
echo " ⚠️ Kubernetes configuration script not found (skipping...)"
fi
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "Step 3: Deploy Besu Network"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
if [ -f "$SCRIPT_DIR/deploy-besu-max-parallel.sh" ]; then
echo "Deploying Besu network (48 validators)..."
bash "$SCRIPT_DIR/deploy-besu-max-parallel.sh" || echo " ⚠️ Besu deployment had issues (continuing...)"
else
echo " ⚠️ Besu deployment script not found (skipping...)"
fi
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "Step 4: Deploy Contracts"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
if [ -f "$SCRIPT_DIR/deploy-contracts-parallel.sh" ]; then
echo "Deploying contracts to Mainnet and Chain-138..."
bash "$SCRIPT_DIR/deploy-contracts-parallel.sh" || echo " ⚠️ Contract deployment had issues (continuing...)"
else
echo " ⚠️ Contract deployment script not found (skipping...)"
fi
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "Step 5: Deploy Monitoring"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
if [ -f "$SCRIPT_DIR/deploy-monitoring-parallel.sh" ]; then
echo "Deploying monitoring stack to all regions..."
bash "$SCRIPT_DIR/deploy-monitoring-parallel.sh" || echo " ⚠️ Monitoring deployment had issues (continuing...)"
else
echo " ⚠️ Monitoring deployment script not found (skipping...)"
fi
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "✅ ALL NEXT STEPS COMPLETE"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "Summary:"
echo " • Infrastructure: ✅"
echo " • Verification: ✅"
echo " • Kubernetes: ✅"
echo " • Besu Network: ✅"
echo " • Contracts: ✅"
echo " • Monitoring: ✅"
echo "Next: Verify all deployments and check cluster status"