- Organized 252 files across project - Root directory: 187 → 2 files (98.9% reduction) - Moved configuration guides to docs/04-configuration/ - Moved troubleshooting guides to docs/09-troubleshooting/ - Moved quick start guides to docs/01-getting-started/ - Moved reports to reports/ directory - Archived temporary files - Generated comprehensive reports and documentation - Created maintenance scripts and guides All files organized according to established standards.
207 lines
7.0 KiB
Markdown
207 lines
7.0 KiB
Markdown
# Configuration Decision Tree
|
|
|
|
**Last Updated:** 2025-01-20
|
|
**Document Version:** 1.0
|
|
**Status:** Active Documentation
|
|
|
|
---
|
|
|
|
## Overview
|
|
|
|
This document provides a decision tree to help determine the correct configuration approach based on your requirements.
|
|
|
|
---
|
|
|
|
## Configuration Decision Tree Diagram
|
|
|
|
```mermaid
|
|
flowchart TD
|
|
Start[Configuration Needed] --> WhatService{What Service?}
|
|
|
|
WhatService -->|Network| NetworkConfig[Network Configuration]
|
|
WhatService -->|Blockchain| BlockchainConfig[Blockchain Configuration]
|
|
WhatService -->|Cloudflare| CloudflareConfig[Cloudflare Configuration]
|
|
WhatService -->|Proxmox| ProxmoxConfig[Proxmox Configuration]
|
|
|
|
NetworkConfig --> WhichVLAN{Which VLAN?}
|
|
WhichVLAN -->|Management| VLAN11[VLAN 11: MGMT-LAN<br/>192.168.11.0/24]
|
|
WhichVLAN -->|Besu Validator| VLAN110[VLAN 110: BESU-VAL<br/>10.110.0.0/24]
|
|
WhichVLAN -->|Besu RPC| VLAN112[VLAN 112: BESU-RPC<br/>10.112.0.0/24]
|
|
WhichVLAN -->|CCIP| CCIPVLAN{CCIP Type?}
|
|
CCIPVLAN -->|Commit| VLAN132[VLAN 132: CCIP-COMMIT<br/>10.132.0.0/24]
|
|
CCIPVLAN -->|Execute| VLAN133[VLAN 133: CCIP-EXEC<br/>10.133.0.0/24]
|
|
CCIPVLAN -->|RMN| VLAN134[VLAN 134: CCIP-RMN<br/>10.134.0.0/24]
|
|
|
|
BlockchainConfig --> NodeType{Node Type?}
|
|
NodeType -->|Validator| ValidatorConfig[Validator Config<br/>Discovery: false<br/>Permissioning: true<br/>APIs: ETH,NET,WEB3,QBFT]
|
|
NodeType -->|Sentry| SentryConfig[Sentry Config<br/>Discovery: true<br/>Permissioning: true<br/>APIs: ETH,NET,WEB3]
|
|
NodeType -->|RPC| RPCType{Public or Private?}
|
|
RPCType -->|Public| PublicRPC[Public RPC Config<br/>Discovery: true<br/>Permissioning: false<br/>APIs: ETH,NET,WEB3]
|
|
RPCType -->|Private| PrivateRPC[Private RPC Config<br/>Discovery: false<br/>Permissioning: true<br/>APIs: ETH,NET,WEB3,ADMIN,DEBUG]
|
|
|
|
CloudflareConfig --> TunnelType{Tunnel Type?}
|
|
TunnelType -->|HTTP| HTTPTunnel[HTTP Tunnel<br/>Route to Nginx<br/>192.168.11.21:80]
|
|
TunnelType -->|WebSocket| WSTunnel[WebSocket Tunnel<br/>Direct to RPC Node<br/>192.168.11.252:443]
|
|
|
|
ProxmoxConfig --> ResourceType{Resource Type?}
|
|
ResourceType -->|Container| ContainerConfig[LXC Container<br/>Use pct commands]
|
|
ResourceType -->|VM| VMConfig[Virtual Machine<br/>Use qm commands]
|
|
|
|
VLAN11 --> UseTemplate1[Use Network Template]
|
|
VLAN110 --> UseTemplate2[Use Network Template]
|
|
VLAN112 --> UseTemplate3[Use Network Template]
|
|
VLAN132 --> UseTemplate4[Use Network Template]
|
|
VLAN133 --> UseTemplate5[Use Network Template]
|
|
VLAN134 --> UseTemplate6[Use Network Template]
|
|
|
|
ValidatorConfig --> UseBesuTemplate[Use Besu Template]
|
|
SentryConfig --> UseBesuTemplate
|
|
PublicRPC --> UseBesuTemplate
|
|
PrivateRPC --> UseBesuTemplate
|
|
|
|
HTTPTunnel --> UseCloudflareTemplate[Use Cloudflare Template]
|
|
WSTunnel --> UseCloudflareTemplate
|
|
|
|
ContainerConfig --> UseProxmoxTemplate[Use Proxmox Template]
|
|
VMConfig --> UseProxmoxTemplate
|
|
|
|
UseTemplate1 --> ConfigComplete[Configuration Complete]
|
|
UseTemplate2 --> ConfigComplete
|
|
UseTemplate3 --> ConfigComplete
|
|
UseTemplate4 --> ConfigComplete
|
|
UseTemplate5 --> ConfigComplete
|
|
UseTemplate6 --> ConfigComplete
|
|
UseBesuTemplate --> ConfigComplete
|
|
UseCloudflareTemplate --> ConfigComplete
|
|
UseProxmoxTemplate --> ConfigComplete
|
|
```
|
|
|
|
---
|
|
|
|
## Quick Decision Paths
|
|
|
|
### Path 1: Network Configuration
|
|
|
|
**Question:** Which VLAN do you need?
|
|
|
|
**Decision Tree:**
|
|
```
|
|
Need Management Network? → VLAN 11 (192.168.11.0/24)
|
|
Need Besu Validator Network? → VLAN 110 (10.110.0.0/24)
|
|
Need Besu RPC Network? → VLAN 112 (10.112.0.0/24)
|
|
Need CCIP Network? → Which type?
|
|
├─ Commit → VLAN 132 (10.132.0.0/24)
|
|
├─ Execute → VLAN 133 (10.133.0.0/24)
|
|
└─ RMN → VLAN 134 (10.134.0.0/24)
|
|
```
|
|
|
|
**Template:** Use [PROXMOX_NETWORK_TEMPLATE.conf](../04-configuration/templates/PROXMOX_NETWORK_TEMPLATE.conf)
|
|
|
|
---
|
|
|
|
### Path 2: Blockchain Node Configuration
|
|
|
|
**Question:** What type of Besu node?
|
|
|
|
**Decision Tree:**
|
|
```
|
|
Validator Node? → Discovery: false, Permissioning: true, APIs: ETH,NET,WEB3,QBFT
|
|
Sentry Node? → Discovery: true, Permissioning: true, APIs: ETH,NET,WEB3
|
|
RPC Node? → Public or Private?
|
|
├─ Public → Discovery: true, Permissioning: false, APIs: ETH,NET,WEB3
|
|
└─ Private → Discovery: false, Permissioning: true, APIs: ETH,NET,WEB3,ADMIN,DEBUG
|
|
```
|
|
|
|
**Template:** Use [BESU_NODE_TEMPLATE.toml](../04-configuration/templates/BESU_NODE_TEMPLATE.toml)
|
|
|
|
---
|
|
|
|
### Path 3: Cloudflare Tunnel Configuration
|
|
|
|
**Question:** What type of service?
|
|
|
|
**Decision Tree:**
|
|
```
|
|
HTTP Service? → Route to Central Nginx (192.168.11.21:80)
|
|
WebSocket Service? → Route directly to service (bypass Nginx)
|
|
```
|
|
|
|
**Template:** Use [CLOUDFLARE_TUNNEL_TEMPLATE.yaml](../04-configuration/templates/CLOUDFLARE_TUNNEL_TEMPLATE.yaml)
|
|
|
|
---
|
|
|
|
### Path 4: Router Configuration
|
|
|
|
**Question:** What router configuration needed?
|
|
|
|
**Decision Tree:**
|
|
```
|
|
WAN Configuration? → Configure WAN1/WAN2 interfaces
|
|
VLAN Configuration? → Create VLAN interfaces
|
|
NAT Configuration? → Configure egress NAT pools
|
|
Firewall Configuration? → Set up firewall rules
|
|
```
|
|
|
|
**Template:** Use [ER605_ROUTER_TEMPLATE.yaml](../04-configuration/templates/ER605_ROUTER_TEMPLATE.yaml)
|
|
|
|
---
|
|
|
|
## Configuration Templates Reference
|
|
|
|
| Configuration Type | Template File | Use Case |
|
|
|-------------------|---------------|----------|
|
|
| **ER605 Router** | `ER605_ROUTER_TEMPLATE.yaml` | Router WAN, VLAN, NAT configuration |
|
|
| **Proxmox Network** | `PROXMOX_NETWORK_TEMPLATE.conf` | Proxmox host network bridge configuration |
|
|
| **Cloudflare Tunnel** | `CLOUDFLARE_TUNNEL_TEMPLATE.yaml` | Cloudflare tunnel ingress rules |
|
|
| **Besu Node** | `BESU_NODE_TEMPLATE.toml` | Besu blockchain node configuration |
|
|
|
|
**Template Location:** [../04-configuration/templates/](../04-configuration/templates/)
|
|
|
|
---
|
|
|
|
## Step-by-Step Configuration Guide
|
|
|
|
### Step 1: Identify Requirements
|
|
|
|
**Questions to answer:**
|
|
- What service are you configuring?
|
|
- What network segment is needed?
|
|
- What security level is required?
|
|
- What access level is needed?
|
|
|
|
### Step 2: Select Appropriate Template
|
|
|
|
**Based on requirements:**
|
|
- Choose template from templates directory
|
|
- Review template comments
|
|
- Understand placeholder values
|
|
|
|
### Step 3: Customize Template
|
|
|
|
**Actions:**
|
|
- Replace all `<PLACEHOLDER>` values
|
|
- Adjust configuration for specific needs
|
|
- Verify syntax and format
|
|
|
|
### Step 4: Apply Configuration
|
|
|
|
**Actions:**
|
|
- Backup existing configuration
|
|
- Apply new configuration
|
|
- Test and verify
|
|
- Document changes
|
|
|
|
---
|
|
|
|
## Related Documentation
|
|
|
|
- **[../04-configuration/templates/README.md](../04-configuration/templates/README.md)** ⭐⭐⭐ - Template usage guide
|
|
- **[ER605_ROUTER_CONFIGURATION.md](ER605_ROUTER_CONFIGURATION.md)** ⭐⭐ - Router configuration guide
|
|
- **[CHAIN138_BESU_CONFIGURATION.md](../06-besu/CHAIN138_BESU_CONFIGURATION.md)** ⭐⭐⭐ - Besu configuration guide
|
|
- **[CLOUDFLARE_ROUTING_MASTER.md](../05-network/CLOUDFLARE_ROUTING_MASTER.md)** ⭐⭐⭐ - Cloudflare routing reference
|
|
|
|
---
|
|
|
|
**Last Updated:** 2025-01-20
|
|
**Review Cycle:** Quarterly
|