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.
This commit is contained in:
174
scripts/README_CONFIGURATION.md
Normal file
174
scripts/README_CONFIGURATION.md
Normal file
@@ -0,0 +1,174 @@
|
||||
# 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
|
||||
|
||||
Reference in New Issue
Block a user