- 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.
110 lines
3.3 KiB
Bash
Executable File
110 lines
3.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Complete Phase 2: Foundation Infrastructure
|
|
# This script completes all Phase 2 tasks
|
|
|
|
set -euo pipefail
|
|
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
source "$SCRIPT_DIR/../lib/init.sh"
|
|
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
|
|
|
log() {
|
|
log_success "[✓] $1"
|
|
}
|
|
|
|
error() {
|
|
log_error "[✗] $1"
|
|
exit 1
|
|
}
|
|
|
|
warn() {
|
|
log_warn "[!] $1"
|
|
}
|
|
|
|
info() {
|
|
log_info "[i] $1"
|
|
}
|
|
|
|
section() {
|
|
echo
|
|
log_info "=== $1 ==="
|
|
}
|
|
|
|
section "Phase 2: Foundation Infrastructure - Complete"
|
|
|
|
# 2.1 Terraform Initialization
|
|
section "2.1 Terraform Initialization"
|
|
if [ -f "$PROJECT_ROOT/scripts/deployment/init-terraform.sh" ]; then
|
|
info "Running Terraform initialization..."
|
|
"$PROJECT_ROOT/scripts/deployment/init-terraform.sh"
|
|
else
|
|
warn "Terraform initialization script not found"
|
|
info "Manual steps:"
|
|
info "1. Install Terraform: ./scripts/setup/install-terraform.sh"
|
|
info "2. Configure backend in .env"
|
|
info "3. Run: cd terraform && terraform init"
|
|
fi
|
|
|
|
# 2.2 Terraform Configuration (already done)
|
|
section "2.2 Terraform Configuration"
|
|
if [ -f "$PROJECT_ROOT/terraform/terraform.tfvars" ]; then
|
|
log "terraform.tfvars exists and configured"
|
|
info "Configuration summary:"
|
|
grep -E "^(environment|location|cluster_name|use_well_architected)" "$PROJECT_ROOT/terraform/terraform.tfvars | head -5"
|
|
else
|
|
error "terraform.tfvars not found"
|
|
fi
|
|
|
|
# 2.3 Resource Groups (will be created by Terraform)
|
|
section "2.3 Resource Groups"
|
|
info "Resource groups will be created by Terraform apply"
|
|
info "Expected resource groups (using naming convention):"
|
|
info " - Compute: az-p-we-rg-comp-001"
|
|
info " - Network: az-p-we-rg-net-001 (if using Well-Architected)"
|
|
info " - Storage: az-p-we-rg-stor-001 (if using Well-Architected)"
|
|
info " - Security: az-p-we-rg-sec-001 (if using Well-Architected)"
|
|
|
|
# 2.4 Terraform Planning
|
|
section "2.4 Terraform Planning"
|
|
TERRAFORM_DIR="$PROJECT_ROOT/terraform"
|
|
cd "$TERRAFORM_DIR" || error "Failed to change to terraform directory"
|
|
|
|
if command -v terraform &> /dev/null; then
|
|
if [ -d ".terraform" ]; then
|
|
info "Running terraform plan..."
|
|
if terraform plan -out=tfplan 2>&1 | tee /tmp/terraform-plan.log; then
|
|
log "Terraform plan completed"
|
|
info "Plan saved to: tfplan"
|
|
info "Plan log saved to: /tmp/terraform-plan.log"
|
|
|
|
# Show summary
|
|
info "Plan summary:"
|
|
grep -E "(Plan:|to add|to change|to destroy)" /tmp/terraform-plan.log | tail -5 || true
|
|
|
|
warn "Review the plan before applying"
|
|
info "To apply: terraform apply tfplan"
|
|
else
|
|
error "Terraform plan failed. Check errors above."
|
|
fi
|
|
else
|
|
warn "Terraform not initialized. Run: ./scripts/deployment/init-terraform.sh"
|
|
fi
|
|
else
|
|
warn "Terraform not installed. Run: ./scripts/setup/install-terraform.sh"
|
|
fi
|
|
|
|
section "Phase 2 Summary"
|
|
log "Configuration: ✅ Complete"
|
|
log "Terraform files: ✅ Ready"
|
|
if [ -f "$TERRAFORM_DIR/tfplan" ]; then
|
|
log "Terraform plan: ✅ Generated"
|
|
info "Ready for: terraform apply tfplan"
|
|
else
|
|
warn "Terraform plan: ⏳ Pending"
|
|
info "Run: cd terraform && terraform plan"
|
|
fi
|
|
|
|
info "Next: Phase 3 - Networking Infrastructure (after terraform apply)"
|
|
|