- 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.
175 lines
4.5 KiB
Markdown
175 lines
4.5 KiB
Markdown
# 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**:
|
|
```bash
|
|
./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**:
|
|
```bash
|
|
./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 configuration
|
|
- `config/validators/besu-config.toml` - Validator configuration
|
|
- `config/sentries/besu-config.toml` - Sentry configuration
|
|
- `config/rpc/besu-config.toml` - RPC configuration
|
|
- `config/permissions-nodes.toml` - Node permissions
|
|
- `config/permissions-accounts.toml` - Account permissions
|
|
- `config/static-nodes.json` - Static nodes
|
|
- `terraform/terraform.tfvars` - Terraform variables
|
|
- `helm/besu-network/values.yaml` - Helm values
|
|
- `CONFIG_SUMMARY.md` - Configuration summary
|
|
|
|
### Backup and Restore
|
|
|
|
- **Automatic Backup**: Existing files are automatically backed up to `.config-backup/`
|
|
- **Manual Backup**: Use `make config-backup` to manually backup
|
|
- **Restore**: Use `make config-restore` to restore from backup
|
|
|
|
## Usage Examples
|
|
|
|
### Basic Configuration
|
|
|
|
```bash
|
|
# Run basic configuration
|
|
./scripts/configure-network.sh
|
|
|
|
# Or use Makefile
|
|
make config
|
|
```
|
|
|
|
### Advanced Configuration
|
|
|
|
```bash
|
|
# Run advanced configuration
|
|
./scripts/configure-network-advanced.sh
|
|
|
|
# Or use Makefile
|
|
make config-advanced
|
|
```
|
|
|
|
### Validate Configuration
|
|
|
|
```bash
|
|
# Validate generated configuration
|
|
make config-validate
|
|
```
|
|
|
|
### View Configuration Summary
|
|
|
|
```bash
|
|
# View configuration summary
|
|
make config-summary
|
|
|
|
# Or directly
|
|
cat CONFIG_SUMMARY.md
|
|
```
|
|
|
|
## Configuration Flow
|
|
|
|
1. **Run Configuration Tool**: Execute `configure-network.sh` or `configure-network-advanced.sh`
|
|
2. **Answer Prompts**: Provide all necessary configuration values
|
|
3. **Review Generated Files**: Check generated configuration files
|
|
4. **Generate Validator Keys**: Run `generate-validator-keys.sh`
|
|
5. **Generate Proper Genesis**: Run `generate-genesis-proper.sh` to update `extraData`
|
|
6. **Deploy Infrastructure**: Deploy using Terraform and Kubernetes
|
|
|
|
## Troubleshooting
|
|
|
|
### Python Version
|
|
|
|
**Issue**: Python version too old
|
|
|
|
**Solution**: Ensure Python 3.8+ is installed
|
|
```bash
|
|
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**:
|
|
```bash
|
|
# Restore from backup
|
|
make config-restore
|
|
|
|
# Or manually
|
|
cp -r .config-backup/* .
|
|
```
|
|
|
|
## Best Practices
|
|
|
|
1. **Backup First**: Always backup before running configuration tool
|
|
2. **Review Generated Files**: Review all generated files before deploying
|
|
3. **Validate Configuration**: Use validation scripts to verify configuration
|
|
4. **Document Changes**: Document any manual changes to configuration files
|
|
5. **Version Control**: Commit configuration files to version control
|
|
|
|
## Related Documentation
|
|
|
|
- [Configuration Guide](../docs/CONFIGURATION_GUIDE.md) - Detailed configuration guide
|
|
- [Deployment Guide](../docs/DEPLOYMENT.md) - Deployment instructions
|
|
- [Troubleshooting Guide](../docs/TROUBLESHOOTING.md) - Troubleshooting guide
|
|
|