- 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.
4.4 KiB
4.4 KiB
Quick Start Deployment Guide
This guide provides the fastest path to deploy the DeFi Oracle Meta Mainnet (ChainID 138).
Prerequisites Checklist
Before starting, ensure you have:
- ✅ Azure CLI installed and authenticated
- ✅
.envfile configured with Azure and Cloudflare credentials - ✅ Validator and oracle keys generated
- ✅ Genesis file created
- ✅ Resource providers registered
- ⚠️ Terraform installed (run:
./scripts/setup/install-terraform.sh) - ⚠️ kubectl installed
- ⚠️ Helm 3.x installed
Quick Deployment Steps
Step 1: Install Missing Tools
# Install Terraform (if not installed)
./scripts/setup/install-terraform.sh
# Verify all tools
./scripts/deployment/prepare-all-phases.sh
Step 2: Initialize Terraform
cd terraform
terraform init
Step 3: Review Configuration
# Review terraform.tfvars
cat terraform.tfvars
# Verify naming convention
grep -E "az-p-we" terraform/locals.tf
Step 4: Plan Deployment
terraform plan -out=tfplan
Review the plan carefully:
- Check resource names follow convention:
az-p-we-{resource}-{instance} - Verify region is
westeurope - Review estimated costs
- Check resource counts and sizes
Step 5: Apply Infrastructure
terraform apply tfplan
This will create:
- Resource groups
- Virtual network and subnets
- Network security groups
- Key Vault
- Log Analytics workspace
- AKS cluster and node pools
- Application Gateway
- Storage accounts
⏱️ Estimated time: 20-30 minutes
Step 6: Configure kubectl
# Get AKS credentials
az aks get-credentials \
--resource-group az-p-we-rg-comp-001 \
--name az-p-we-aks-main
# Verify connection
kubectl get nodes
Step 7: Deploy Kubernetes Resources
# Create namespaces
kubectl apply -f k8s/base/namespace.yaml
# Deploy validators
helm install besu-validators ./helm/besu-network \
-f helm/besu-network/values-validators.yaml \
-n besu-network
# Deploy sentries
helm install besu-sentries ./helm/besu-network \
-f helm/besu-network/values-sentries.yaml \
-n besu-network
# Deploy RPC nodes
helm install besu-rpc ./helm/besu-network \
-f helm/besu-network/values-rpc.yaml \
-n besu-network
Step 8: Configure DNS
# Get Application Gateway IP
AGW_IP=$(./scripts/deployment/get-app-gateway-ip.sh)
# Configure Cloudflare DNS
./scripts/deployment/cloudflare-dns.sh \
--zone-id $CLOUDFLARE_ZONE_ID \
--api-token $CLOUDFLARE_API_TOKEN \
--ip $AGW_IP
Step 9: Deploy Contracts
# Set RPC URL (after DNS propagates)
export RPC_URL="https://rpc.d-bis.org"
export PRIVATE_KEY="<your-deployment-key>"
# Deploy contracts
./scripts/deployment/deploy-weth.sh
./scripts/deployment/deploy-multicall.sh
Step 10: Verify Deployment
./scripts/deployment/verify-deployment.sh
Automated Deployment
For a fully automated deployment (after prerequisites):
# Phase 1: Prerequisites (already done)
./scripts/deployment/deploy-phase1.sh
# Phase 2: Terraform setup
./scripts/deployment/deploy-phase2.sh
# Then manually:
cd terraform
terraform init
terraform plan
terraform apply # Requires confirmation
Troubleshooting
Terraform Not Found
./scripts/setup/install-terraform.sh
Azure Authentication Issues
az login
az account show
Resource Provider Not Registered
./scripts/azure/check-azure-prerequisites.sh
Quota Issues
./scripts/azure/check-quotas.sh westeurope
Resource Naming
All resources follow: az-p-we-{resource}-{instance}
Examples:
- AKS:
az-p-we-aks-main - Key Vault:
az-p-we-kv-secrets-001 - VNet:
az-p-we-vnet-main
See docs/configuration/AZURE_NAMING_CONVENTION_3CHAR.md (standard) or docs/configuration/AZURE_NAMING_CONVENTION_2CHAR.md (alternative) for details.
Estimated Costs
Approximate monthly costs (West Europe):
- AKS Cluster: ~$300-500
- VM Nodes (13 nodes): ~$500-800
- Application Gateway: ~$100-200
- Storage: ~$50-100
- Networking: ~$50-100
- Total: ~$1000-1700/month
Use Azure Pricing Calculator for accurate estimates.
Next Steps After Deployment
- Configure monitoring alerts
- Set up backup procedures
- Deploy Blockscout explorer
- Deploy smart contracts
- Submit to Ethereum-Lists
- Configure external integrations
Support
- Documentation:
docs/ - Deployment Order:
docs/DEPLOYMENT_ORDER.md - Status:
docs/DEPLOYMENT_STATUS.md