- 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.
5.5 KiB
5.5 KiB
Azure Quota Requirements for DeFi Oracle Meta Mainnet
Subscription Information
Subscription ID: 6d3c4263-bba9-497c-8843-eae6c4e87192
Region: westeurope (West Europe)
Current Status: Limited by vCPU quota
Current Quota Status
Available vCPUs: 4 (insufficient for full deployment)
Required vCPUs: 52+ (for full production deployment)
Detailed Quota Requirements
VM Size Specifications
| VM Size | vCPUs | RAM (GB) | Used For |
|---|---|---|---|
| Standard_D2s_v3 | 2 | 8 | System nodes |
| Standard_D4s_v3 | 4 | 16 | Validators, Sentries |
| Standard_D8s_v3 | 8 | 32 | RPC nodes |
Full Production Deployment Requirements
System Node Pool
- VM Size: Standard_D2s_v3 (2 vCPUs each)
- Node Count: 3 nodes
- Total vCPUs: 6 vCPUs
- Auto-scaling: 2-5 nodes (4-10 vCPUs max)
Validators Node Pool
- VM Size: Standard_D4s_v3 (4 vCPUs each)
- Node Count: 4 nodes
- Total vCPUs: 16 vCPUs
- Auto-scaling: Disabled (fixed count)
Sentries Node Pool
- VM Size: Standard_D4s_v3 (4 vCPUs each)
- Node Count: 3 nodes
- Total vCPUs: 12 vCPUs
- Auto-scaling: 2-5 nodes (8-20 vCPUs max)
RPC Node Pool
- VM Size: Standard_D8s_v3 (8 vCPUs each)
- Node Count: 3 nodes
- Total vCPUs: 24 vCPUs
- Auto-scaling: 2-10 nodes (16-80 vCPUs max)
Total vCPU Requirements
| Scenario | Minimum vCPUs | Maximum vCPUs |
|---|---|---|
| Baseline (no auto-scaling) | 58 vCPUs | 58 vCPUs |
| With auto-scaling (max) | 58 vCPUs | 130 vCPUs |
Additional Resource Requirements
Application Gateway
- SKU: WAF_v2
- Capacity: 2 instances
- vCPUs: ~4 vCPUs (managed service)
Storage Accounts
- Backup Storage: Standard_LRS (no vCPU requirement)
- Shared Storage: Standard_LRS (no vCPU requirement)
Key Vault
- Tier: Standard (no vCPU requirement)
Log Analytics Workspace
- SKU: PerGB2018 (no vCPU requirement)
Current Deployment (Quota-Constrained)
Due to quota limitations, the current deployment uses:
| Node Pool | Nodes | vCPUs | Status |
|---|---|---|---|
| System | 1 | 2 | ✅ Deployed |
| Validators | 1 | 4 | ✅ Deployed |
| Sentries | 0 | 0 | ❌ Disabled (needs 12+ vCPUs) |
| RPC | 0 | 0 | ❌ Disabled (needs 24+ vCPUs) |
| Total | 2 | 6 | Limited |
Quota Increase Request
Required Quota Increases
- Standard DSv3 Family vCPUs: Minimum 60 vCPUs (recommended: 150 for auto-scaling headroom)
How to Check Current Quotas
# Check current vCPU quotas for West Europe
az vm list-usage --location westeurope --output table
# Check specific VM family quotas
az quota show \
--scope subscriptions/6d3c4263-bba9-497c-8843-eae6c4e87192 \
--resource-name "standardDSv3Family" \
--location westeurope \
--query "{currentValue:properties.currentValue, limit:properties.limit}" \
--output table
How to Request Quota Increase
Option 1: Azure Portal
- Navigate to: https://portal.azure.com
- Go to Subscriptions → Select subscription
6d3c4263-bba9-497c-8843-eae6c4e87192 - Click Usage + quotas
- Filter by location: West Europe
- Search for Standard DSv3 Family
- Click Request increase
- Enter new limit: 150 vCPUs (recommended)
- Provide justification: "DeFi Oracle Meta Mainnet production deployment requiring 58+ vCPUs for AKS node pools with auto-scaling capability"
Option 2: Azure CLI
# Create quota increase request
az quota update \
--scope subscriptions/6d3c4263-bba9-497c-8843-eae6c4e87192 \
--resource-name "standardDSv3Family" \
--location westeurope \
--limit 150
Option 3: REST API
# Get subscription ID
SUBSCRIPTION_ID="6d3c4263-bba9-497c-8843-eae6c4e87192"
LOCATION="westeurope"
QUOTA_NAME="standardDSv3Family"
NEW_LIMIT=150
# Note: Quota increases typically require approval via Azure Portal
# This is a reference for the API endpoint
curl -X PUT \
"https://management.azure.com/subscriptions/${SUBSCRIPTION_ID}/providers/Microsoft.Compute/locations/${LOCATION}/quotas/${QUOTA_NAME}?api-version=2021-07-01" \
-H "Authorization: Bearer $(az account get-access-token --query accessToken -o tsv)" \
-H "Content-Type: application/json" \
-d "{\"properties\":{\"limit\":${NEW_LIMIT}}}"
Recommended Quota Limits
For production deployment with auto-scaling:
| Resource | Recommended Limit | Minimum Required |
|---|---|---|
| Standard DSv3 Family vCPUs | 150 | 60 |
| AKS Clusters | 10 | 1 |
| Public IP Addresses | 20 | 5 |
| Load Balancers | 20 | 2 |
| Network Security Groups | 50 | 10 |
| Storage Accounts | 100 | 5 |
After Quota Increase
Once quota is increased, update terraform/terraform.tfvars:
node_count = {
system = 3 # Restore from 1
validators = 4 # Restore from 1
sentries = 3 # Enable from 0
rpc = 3 # Enable from 0
}
Then apply:
cd terraform
terraform apply
Monitoring Quota Usage
# Check current usage
az vm list-usage --location westeurope --output table
# Monitor quota usage over time
az monitor metrics list \
--resource /subscriptions/6d3c4263-bba9-497c-8843-eae6c4e87192 \
--metric "QuotaUsage" \
--location westeurope
Support Contacts
- Azure Support: https://portal.azure.com/#blade/Microsoft_Azure_Support/HelpAndSupportBlade
- Quota Increase Requests: Typically approved within 24-48 hours
- Emergency Quota: Contact Azure Support for expedited requests