Files
smom-dbis-138/docs/guides/MAKEFILE_USAGE.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

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