Files
smom-dbis-138/scripts/key-management/check-keyvault-status.sh
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

91 lines
2.7 KiB
Bash
Executable File

#!/usr/bin/env bash
# Check Key Vault deployment status
# REFACTORED - Uses common libraries
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "$SCRIPT_DIR/../lib/init.sh"
# Initialize
SUBSCRIPTION_ID="$(get_subscription_id)"
ensure_azure_cli || exit 1
set_subscription "$SUBSCRIPTION_ID" || true
log_section "CHECKING KEY VAULT DEPLOYMENT STATUS (36 REGIONS)"
log_info "Subscription: $SUBSCRIPTION_ID"
echo ""
# Expected Key Vault naming pattern: az-p-{region_code}-kv-secrets-001 (with dashes)
# Region codes are standardized to exactly 3 characters
# This matches Resource Group naming: az-p-{code}-rg-sec-001
# Some existing Key Vaults may use: azp{code}kvsecrets001 (legacy, no dashes, old codes)
REGIONS=($(get_all_regions))
log_subsection "KEY VAULT STATUS BY REGION"
EXISTING_COUNT=0
MISSING_COUNT=0
MISSING_REGIONS=()
for region_info in "${REGIONS[@]}"; do
REGION_NAME="${region_info%%:*}"
REGION_CODE="${region_info##*:}"
# Use library function if available, otherwise extract from string
if [ -z "$REGION_CODE" ]; then
REGION_CODE=$(get_region_code "$REGION_NAME")
fi
# Try both naming patterns (standard with dashes, legacy without)
KV_NAME_STANDARD="az-p-${REGION_CODE}-kv-secrets-001" # Standard (with dashes, 3-char code, matches RG)
KV_NAME_LEGACY="azp${REGION_CODE}kvsecrets001" # Legacy (no dashes, may use old codes)
KV_FOUND=""
KV_NAME=""
# Prefer standard naming, but check legacy if standard not found
if az keyvault show --name "$KV_NAME_STANDARD" --query id &> /dev/null; then
KV_FOUND="$KV_NAME_STANDARD"
KV_NAME="$KV_NAME_STANDARD"
elif az keyvault show --name "$KV_NAME_LEGACY" --query id &> /dev/null; then
KV_FOUND="$KV_NAME_LEGACY"
KV_NAME="$KV_NAME_LEGACY"
fi
if [ -n "$KV_FOUND" ]; then
RG=$(az keyvault show --name "$KV_NAME" --query resourceGroup -o tsv 2>/dev/null)
echo "$REGION_NAME: $KV_NAME (RG: $RG)"
((EXISTING_COUNT++))
else
echo "$REGION_NAME: $KV_NAME_STANDARD or $KV_NAME_LEGACY (NOT FOUND)"
((MISSING_COUNT++))
MISSING_REGIONS+=("$REGION_NAME:$REGION_CODE")
fi
done
echo ""
echo "=" | awk '{printf "%-64s\n", ""}'
echo "📊 SUMMARY"
echo "=" | awk '{printf "%-64s\n", ""}'
echo ""
echo "Existing Key Vaults: $EXISTING_COUNT/36"
echo "Missing Key Vaults: $MISSING_COUNT/36"
echo ""
if [ $MISSING_COUNT -gt 0 ]; then
echo "Missing regions:"
for region_info in "${MISSING_REGIONS[@]}"; do
echo "${region_info%%:*}"
done
echo ""
echo "⚠️ Key Vaults need to be deployed via Terraform"
exit 1
else
echo "✅ All Key Vaults are deployed"
exit 0
fi