Files
defiQUG 1fb7266469 Add Oracle Aggregator and CCIP Integration
- 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.
2025-12-12 14:57:48 -08:00

87 lines
2.2 KiB
Bash
Executable File

#!/usr/bin/env bash
# Scale VM Scale Set
# This script scales a VM Scale Set up or down
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "$SCRIPT_DIR/../lib/init.sh"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
# Configuration
RESOURCE_GROUP="${RESOURCE_GROUP:-defi-oracle-mainnet-rg}"
VMSS_NAME="${1:-}"
NEW_CAPACITY="${2:-}"
if [ -z "$VMSS_NAME" ] || [ -z "$NEW_CAPACITY" ]; then
log_error "Error: VMSS name and capacity required"
echo "Usage: $0 <vmss-name> <new-capacity>"
echo "Example:"
echo " $0 besu-rpc-vmss 5"
exit 1
fi
# Validate capacity
if ! [[ "$NEW_CAPACITY" =~ ^[0-9]+$ ]]; then
log_error "Error: Capacity must be a number"
exit 1
fi
if [ "$NEW_CAPACITY" -lt 1 ]; then
log_error "Error: Capacity must be at least 1"
exit 1
fi
log_success "Scaling VMSS: $VMSS_NAME to $NEW_CAPACITY instances"
# Get current capacity
CURRENT_CAPACITY=$(az vmss show --resource-group "$RESOURCE_GROUP" --name "$VMSS_NAME" --query "sku.capacity" -o tsv 2>/dev/null || echo "0")
if [ "$CURRENT_CAPACITY" == "0" ]; then
log_error "Error: VMSS not found: $VMSS_NAME"
exit 1
fi
log_warn "Current capacity: $CURRENT_CAPACITY"
log_warn "New capacity: $NEW_CAPACITY"
if [ "$CURRENT_CAPACITY" -eq "$NEW_CAPACITY" ]; then
log_warn "Capacity is already $NEW_CAPACITY"
exit 0
fi
# Confirm scaling
read -p "Do you want to scale from $CURRENT_CAPACITY to $NEW_CAPACITY? (y/N) " -n 1 -r
echo
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
echo "Scaling cancelled"
exit 0
fi
# Scale VMSS
log_warn "Scaling VMSS..."
az vmss scale \
--resource-group "$RESOURCE_GROUP" \
--name "$VMSS_NAME" \
--new-capacity "$NEW_CAPACITY"
if [ $? -eq 0 ]; then
log_success "✓ VMSS scaled successfully"
# Wait for instances to be ready
log_warn "Waiting for instances to be ready..."
sleep 30
# Check instance status
INSTANCES=$(az vmss list-instances --resource-group "$RESOURCE_GROUP" --name "$VMSS_NAME" --query "[].{Name:name, ProvisioningState:provisioningState}" -o json 2>/dev/null || echo "[]")
echo "$INSTANCES" | jq -r '.[] | "\(.Name): \(.ProvisioningState)"'
else
log_error "✗ Failed to scale VMSS"
exit 1
fi
log_success "Scaling complete!"