- Introduced Aggregator.sol for Chainlink-compatible oracle functionality, including round-based updates and access control. - Added OracleWithCCIP.sol to extend Aggregator with CCIP cross-chain messaging capabilities. - Created .gitmodules to include OpenZeppelin contracts as a submodule. - Developed a comprehensive deployment guide in NEXT_STEPS_COMPLETE_GUIDE.md for Phase 2 and smart contract deployment. - Implemented Vite configuration for the orchestration portal, supporting both Vue and React frameworks. - Added server-side logic for the Multi-Cloud Orchestration Portal, including API endpoints for environment management and monitoring. - Created scripts for resource import and usage validation across non-US regions. - Added tests for CCIP error handling and integration to ensure robust functionality. - Included various new files and directories for the orchestration portal and deployment scripts.
68 lines
1.8 KiB
Bash
Executable File
68 lines
1.8 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -e
|
|
|
|
# Region failover script for multi-region deployment
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
source "$SCRIPT_DIR/../lib/init.sh"
|
|
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
|
|
|
PRIMARY_REGION="${PRIMARY_REGION:-eastus}"
|
|
SECONDARY_REGION="${SECONDARY_REGION:-westus}"
|
|
|
|
echo "Region Failover Script"
|
|
echo "======================"
|
|
echo "Primary Region: $PRIMARY_REGION"
|
|
echo "Secondary Region: $SECONDARY_REGION"
|
|
|
|
# Check primary region health
|
|
check_region_health() {
|
|
local region=$1
|
|
echo "Checking health of region: $region"
|
|
|
|
# Check AKS cluster status
|
|
az aks show --resource-group "defi-oracle-mainnet-${region}-rg" \
|
|
--name "defi-oracle-aks-${region}" \
|
|
--query "powerState.code" -o tsv
|
|
|
|
# Check node status
|
|
kubectl get nodes --context "defi-oracle-aks-${region}"
|
|
|
|
# Check pod status
|
|
kubectl get pods -n besu-network --context "defi-oracle-aks-${region}"
|
|
}
|
|
|
|
# Failover to secondary region
|
|
failover_to_secondary() {
|
|
echo "Initiating failover to secondary region: $SECONDARY_REGION"
|
|
|
|
# Scale up secondary region
|
|
echo "Scaling up secondary region..."
|
|
az aks scale --resource-group "defi-oracle-mainnet-${SECONDARY_REGION}-rg" \
|
|
--name "defi-oracle-aks-${SECONDARY_REGION}" \
|
|
--node-count 5
|
|
|
|
# Update DNS/load balancer to point to secondary
|
|
echo "Updating DNS to point to secondary region..."
|
|
# Add DNS update logic here
|
|
|
|
# Verify secondary region is operational
|
|
echo "Verifying secondary region..."
|
|
check_region_health "$SECONDARY_REGION"
|
|
|
|
echo "Failover complete!"
|
|
}
|
|
|
|
# Main
|
|
if [ "$1" == "check" ]; then
|
|
check_region_health "$PRIMARY_REGION"
|
|
check_region_health "$SECONDARY_REGION"
|
|
elif [ "$1" == "failover" ]; then
|
|
failover_to_secondary
|
|
else
|
|
echo "Usage: $0 [check|failover]"
|
|
exit 1
|
|
fi
|
|
|