- 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.
298 lines
4.6 KiB
Markdown
298 lines
4.6 KiB
Markdown
# Makefile Usage Guide
|
|
|
|
**Last Updated**: 2025-01-27
|
|
**Status**: Active
|
|
|
|
This guide explains how to use the Makefile for common project tasks.
|
|
|
|
## Table of Contents
|
|
|
|
- [Overview](#overview)
|
|
- [Prerequisites](#prerequisites)
|
|
- [Common Targets](#common-targets)
|
|
- [Deployment Targets](#deployment-targets)
|
|
- [Development Targets](#development-targets)
|
|
- [Monitoring Targets](#monitoring-targets)
|
|
- [Maintenance Targets](#maintenance-targets)
|
|
- [Examples](#examples)
|
|
|
|
## Overview
|
|
|
|
The project includes a comprehensive Makefile with targets for deployment, development, monitoring, and maintenance tasks.
|
|
|
|
## Prerequisites
|
|
|
|
- Make installed
|
|
- Azure CLI (for deployment targets)
|
|
- Terraform (for infrastructure targets)
|
|
- kubectl (for Kubernetes targets)
|
|
- Foundry (for contract targets)
|
|
|
|
## Common Targets
|
|
|
|
### Help
|
|
|
|
```bash
|
|
make help
|
|
```
|
|
|
|
Displays all available targets and their descriptions.
|
|
|
|
## Deployment Targets
|
|
|
|
### Full Deployment
|
|
|
|
```bash
|
|
# Deploy everything (infrastructure, k8s, contracts, DNS)
|
|
make deploy-all
|
|
```
|
|
|
|
### Infrastructure Deployment
|
|
|
|
```bash
|
|
# Deploy Azure infrastructure only
|
|
make deploy-infra
|
|
```
|
|
|
|
### Kubernetes Deployment
|
|
|
|
```bash
|
|
# Deploy Kubernetes resources only
|
|
make deploy-k8s
|
|
```
|
|
|
|
### Contract Deployment
|
|
|
|
```bash
|
|
# Deploy contracts only
|
|
make deploy-contracts
|
|
```
|
|
|
|
### WETH Deployment
|
|
|
|
```bash
|
|
# Deploy WETH9 contract
|
|
make deploy-weth
|
|
|
|
# Deploy WETH10 contract
|
|
make deploy-weth10
|
|
|
|
# Deploy all WETH contracts and CCIP bridges
|
|
make deploy-weth-ccip
|
|
```
|
|
|
|
### CCIP Bridge Deployment
|
|
|
|
```bash
|
|
# Deploy CCIPWETH9Bridge
|
|
make deploy-ccip-weth9-bridge
|
|
|
|
# Deploy CCIPWETH10Bridge
|
|
make deploy-ccip-weth10-bridge
|
|
```
|
|
|
|
### Blockscout Deployment
|
|
|
|
```bash
|
|
# Deploy Blockscout explorer
|
|
make deploy-blockscout
|
|
```
|
|
|
|
### DNS Configuration
|
|
|
|
```bash
|
|
# Configure Cloudflare DNS
|
|
make deploy-dns
|
|
```
|
|
|
|
## Development Targets
|
|
|
|
### Compile Contracts
|
|
|
|
```bash
|
|
# Compile and test contracts
|
|
make contracts
|
|
```
|
|
|
|
### Run Tests
|
|
|
|
```bash
|
|
# Run all tests
|
|
make test
|
|
```
|
|
|
|
### Generate Keys
|
|
|
|
```bash
|
|
# Generate validator and oracle keys
|
|
make keys
|
|
```
|
|
|
|
### Generate Genesis
|
|
|
|
```bash
|
|
# Generate genesis file
|
|
make genesis
|
|
```
|
|
|
|
## Monitoring Targets
|
|
|
|
### Monitor Deployment
|
|
|
|
```bash
|
|
# Monitor deployment status (consolidated)
|
|
make monitor
|
|
|
|
# Continuous deployment monitoring
|
|
make monitor-continuous
|
|
|
|
# Deployment dashboard view
|
|
make monitor-dashboard
|
|
```
|
|
|
|
## Maintenance Targets
|
|
|
|
### Key Vault Management
|
|
|
|
```bash
|
|
# Deploy all Key Vaults
|
|
make keyvaults
|
|
|
|
# Check Key Vault deployment status
|
|
make keyvaults-status
|
|
|
|
# Grant Key Vault permissions
|
|
make keyvaults-permissions
|
|
|
|
# Store validator keys in Key Vaults
|
|
make keyvaults-store-keys
|
|
|
|
# Run complete Key Vault setup
|
|
make keyvaults-complete
|
|
```
|
|
|
|
### Azure Resource Management
|
|
|
|
```bash
|
|
# List all Azure resources
|
|
make azure-list-resources
|
|
|
|
# Check Azure resource naming conventions
|
|
make azure-check-naming
|
|
|
|
# Authenticate with Azure CLI
|
|
make azure-login
|
|
```
|
|
|
|
### Cost Management
|
|
|
|
```bash
|
|
# Calculate deployment costs
|
|
make calculate-costs
|
|
```
|
|
|
|
### Verification
|
|
|
|
```bash
|
|
# Verify deployment
|
|
make verify
|
|
```
|
|
|
|
### Cleanup
|
|
|
|
```bash
|
|
# Clean up temporary files
|
|
make clean
|
|
```
|
|
|
|
## Parallel Deployment
|
|
|
|
```bash
|
|
# Parallel deployment (infrastructure)
|
|
make deploy-parallel
|
|
```
|
|
|
|
## Examples
|
|
|
|
### Complete Deployment Workflow
|
|
|
|
```bash
|
|
# 1. Authenticate with Azure
|
|
make azure-login
|
|
|
|
# 2. Deploy infrastructure
|
|
make deploy-infra
|
|
|
|
# 3. Deploy Kubernetes resources
|
|
make deploy-k8s
|
|
|
|
# 4. Deploy contracts
|
|
make deploy-contracts
|
|
|
|
# 5. Configure DNS
|
|
make deploy-dns
|
|
|
|
# 6. Verify deployment
|
|
make verify
|
|
|
|
# 7. Monitor status
|
|
make monitor
|
|
```
|
|
|
|
### Development Workflow
|
|
|
|
```bash
|
|
# 1. Generate keys
|
|
make keys
|
|
|
|
# 2. Generate genesis
|
|
make genesis
|
|
|
|
# 3. Compile contracts
|
|
make contracts
|
|
|
|
# 4. Run tests
|
|
make test
|
|
```
|
|
|
|
### WETH Deployment Workflow
|
|
|
|
```bash
|
|
# Deploy WETH9 and WETH10 with CCIP bridges
|
|
make deploy-weth-ccip
|
|
|
|
# Or deploy individually
|
|
make deploy-weth
|
|
make deploy-weth10
|
|
make deploy-ccip-weth9-bridge
|
|
make deploy-ccip-weth10-bridge
|
|
```
|
|
|
|
## Target Categories
|
|
|
|
### Deployment
|
|
- `deploy`, `deploy-all`, `deploy-infra`, `deploy-k8s`
|
|
- `deploy-contracts`, `deploy-blockscout`, `deploy-dns`
|
|
- `deploy-weth`, `deploy-weth10`, `deploy-weth-ccip`
|
|
- `deploy-ccip-weth9-bridge`, `deploy-ccip-weth10-bridge`
|
|
|
|
### Development
|
|
- `contracts`, `test`, `keys`, `genesis`
|
|
|
|
### Monitoring
|
|
- `monitor`, `monitor-continuous`, `monitor-dashboard`
|
|
|
|
### Maintenance
|
|
- `keyvaults*`, `azure-*`, `calculate-costs`, `verify`, `clean`
|
|
|
|
## Related Documentation
|
|
|
|
- [Deployment Guide](../deployment/DEPLOYMENT.md)
|
|
- [Deployment Quick Start](../DEPLOYMENT_QUICK_START.md)
|
|
- [Configuration Index](../configuration/CONFIGURATION_INDEX.md)
|
|
|
|
---
|
|
|
|
**Last Updated**: 2025-01-27
|
|
|