- 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.
197 lines
5.5 KiB
Markdown
197 lines
5.5 KiB
Markdown
# 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
|
|
|
|
1. **Standard DSv3 Family vCPUs**: Minimum 60 vCPUs (recommended: 150 for auto-scaling headroom)
|
|
|
|
### How to Check Current Quotas
|
|
|
|
```bash
|
|
# 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
|
|
1. Navigate to: https://portal.azure.com
|
|
2. Go to **Subscriptions** → Select subscription `6d3c4263-bba9-497c-8843-eae6c4e87192`
|
|
3. Click **Usage + quotas**
|
|
4. Filter by location: **West Europe**
|
|
5. Search for **Standard DSv3 Family**
|
|
6. Click **Request increase**
|
|
7. Enter new limit: **150 vCPUs** (recommended)
|
|
8. Provide justification: "DeFi Oracle Meta Mainnet production deployment requiring 58+ vCPUs for AKS node pools with auto-scaling capability"
|
|
|
|
#### Option 2: Azure CLI
|
|
```bash
|
|
# 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
|
|
```bash
|
|
# 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`:
|
|
|
|
```hcl
|
|
node_count = {
|
|
system = 3 # Restore from 1
|
|
validators = 4 # Restore from 1
|
|
sentries = 3 # Enable from 0
|
|
rpc = 3 # Enable from 0
|
|
}
|
|
```
|
|
|
|
Then apply:
|
|
```bash
|
|
cd terraform
|
|
terraform apply
|
|
```
|
|
|
|
## Monitoring Quota Usage
|
|
|
|
```bash
|
|
# 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
|
|
|