Files
smom-dbis-138/docs/deployment/VM_DEPLOYMENT_QUICKSTART.md
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

2.2 KiB

VM Deployment Quickstart

Prerequisites

  • Azure CLI installed and configured
  • Terraform >= 1.0
  • SSH key pair
  • Azure subscription

Quick Deployment

1. Configure Variables

# Copy example file
cp terraform/terraform.tfvars.vm.example terraform/terraform.tfvars.vm

# Edit with your values
export SSH_PUBLIC_KEY=$(cat ~/.ssh/id_rsa.pub)
cat > terraform/terraform.tfvars.vm <<EOF
vm_deployment_enabled = true
vm_regions = ["eastus"]
validator_vm_count = 2
sentry_vm_count = 2
rpc_vm_count = 2
use_vmss = false
ssh_public_key = "$SSH_PUBLIC_KEY"
vm_size_validator = "Standard_D4s_v3"
vm_size_sentry = "Standard_D4s_v3"
vm_size_rpc = "Standard_D8s_v3"
EOF

2. Deploy Infrastructure

cd terraform
terraform init
terraform plan -var-file=terraform.tfvars.vm -var="vm_deployment_enabled=true"
terraform apply -var-file=terraform.tfvars.vm -var="vm_deployment_enabled=true"

3. Verify Deployment

# Get VM IPs
terraform output vm_rpc_public_ips

# Check VM status
az vm list --resource-group defi-oracle-mainnet-rg --show-details

# SSH into VM
ssh besuadmin@<vm-ip>

# Check Besu container
docker ps
docker logs besu-validator-0

4. Test RPC Endpoint

# Test RPC endpoint
curl -X POST -H "Content-Type: application/json" \
  --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' \
  http://<rpc-vm-ip>:8545

Multi-Region Deployment

# Update terraform.tfvars.vm
vm_regions = ["eastus", "westus", "westeurope"]

# Apply
terraform apply -var-file=terraform.tfvars.vm

VM Scale Sets

# Update terraform.tfvars.vm
use_vmss = true

# Apply
terraform apply -var-file=terraform.tfvars.vm

Management

Monitor VMs

./scripts/vm-deployment/monitor-vm.sh

Update Configuration

./scripts/vm-deployment/update-vm-config.sh <vm-ip> validator config/validators/besu-config.toml

Backup Data

./scripts/vm-deployment/backup-vm.sh <vm-ip>

Restore Data

./scripts/vm-deployment/restore-vm.sh <vm-ip> <backup-file>

Troubleshooting

See VM Deployment Guide for detailed troubleshooting.

Next Steps

  • Configure monitoring
  • Setup backups
  • Configure alerts
  • Deploy contracts
  • Test network