- 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.5 KiB
4.5 KiB
Configuration Scripts
This directory contains interactive configuration tools for setting up the Besu network.
Scripts
configure-network.sh
Basic configuration tool wrapper. Runs configure-network.py with proper environment setup.
Usage:
./scripts/configure-network.sh
configure-network.py
Basic interactive configuration tool. Configures:
- Genesis block configuration
- Network configuration
- Besu node configuration
- Deployment configuration (AKS/VM)
- Terraform variables
- Helm values
configure-network-advanced.sh
Advanced configuration tool wrapper. Runs configure-network-advanced.py with proper environment setup.
Usage:
./scripts/configure-network-advanced.sh
configure-network-advanced.py
Advanced interactive configuration tool. Includes all basic features plus:
- Security configuration (Network Policies, RBAC, Pod Security, WAF)
- Key management configuration
- Access control configuration
- Monitoring configuration (Prometheus, Grafana, Loki, Alertmanager)
- Backup configuration
- Oracle publisher configuration
Features
Interactive Prompts
- Input Validation: All inputs are validated (IPs, CIDR, ports, hex values)
- Default Values: Sensible defaults are provided for all fields
- Required Fields: Required fields are clearly marked
- Yes/No Prompts: Simple yes/no questions for boolean options
Generated Files
The configuration tools generate:
config/genesis.json- Genesis block configurationconfig/validators/besu-config.toml- Validator configurationconfig/sentries/besu-config.toml- Sentry configurationconfig/rpc/besu-config.toml- RPC configurationconfig/permissions-nodes.toml- Node permissionsconfig/permissions-accounts.toml- Account permissionsconfig/static-nodes.json- Static nodesterraform/terraform.tfvars- Terraform variableshelm/besu-network/values.yaml- Helm valuesCONFIG_SUMMARY.md- Configuration summary
Backup and Restore
- Automatic Backup: Existing files are automatically backed up to
.config-backup/ - Manual Backup: Use
make config-backupto manually backup - Restore: Use
make config-restoreto restore from backup
Usage Examples
Basic Configuration
# Run basic configuration
./scripts/configure-network.sh
# Or use Makefile
make config
Advanced Configuration
# Run advanced configuration
./scripts/configure-network-advanced.sh
# Or use Makefile
make config-advanced
Validate Configuration
# Validate generated configuration
make config-validate
View Configuration Summary
# View configuration summary
make config-summary
# Or directly
cat CONFIG_SUMMARY.md
Configuration Flow
- Run Configuration Tool: Execute
configure-network.shorconfigure-network-advanced.sh - Answer Prompts: Provide all necessary configuration values
- Review Generated Files: Check generated configuration files
- Generate Validator Keys: Run
generate-validator-keys.sh - Generate Proper Genesis: Run
generate-genesis-proper.shto updateextraData - Deploy Infrastructure: Deploy using Terraform and Kubernetes
Troubleshooting
Python Version
Issue: Python version too old
Solution: Ensure Python 3.8+ is installed
python3 --version
Missing Dependencies
Issue: Import errors
Solution: The scripts use only Python standard library. No additional dependencies required.
Configuration Validation
Issue: Invalid configuration values
Solution:
- Check validation rules in the tool
- Ensure values are in correct format
- Review error messages
Backup Restoration
Issue: Need to restore configuration
Solution:
# Restore from backup
make config-restore
# Or manually
cp -r .config-backup/* .
Best Practices
- Backup First: Always backup before running configuration tool
- Review Generated Files: Review all generated files before deploying
- Validate Configuration: Use validation scripts to verify configuration
- Document Changes: Document any manual changes to configuration files
- Version Control: Commit configuration files to version control
Related Documentation
- Configuration Guide - Detailed configuration guide
- Deployment Guide - Deployment instructions
- Troubleshooting Guide - Troubleshooting guide