2025-12-21 22:32:09 -08:00
|
|
|
# Deployment Readiness Checklist
|
|
|
|
|
|
2026-02-12 15:46:57 -08:00
|
|
|
**Last Updated:** 2026-01-31
|
|
|
|
|
**Document Version:** 1.0
|
|
|
|
|
**Status:** Active Documentation
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
2025-12-21 22:32:09 -08:00
|
|
|
**Target:** ml110-01 (192.168.11.10)
|
|
|
|
|
**Status:** ✅ **READY FOR DEPLOYMENT**
|
|
|
|
|
**Date:** $(date)
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## ✅ Pre-Deployment Validation
|
|
|
|
|
|
|
|
|
|
### System Prerequisites
|
|
|
|
|
- [x] Node.js 16+ installed (v22.21.1) ✅
|
|
|
|
|
- [x] pnpm 8+ installed (10.24.0) ✅
|
|
|
|
|
- [x] Git installed (2.43.0) ✅
|
|
|
|
|
- [x] Required tools (curl, jq, bash) ✅
|
|
|
|
|
|
|
|
|
|
### Workspace Setup
|
|
|
|
|
- [x] Project structure organized ✅
|
|
|
|
|
- [x] All submodules initialized ✅
|
|
|
|
|
- [x] All dependencies installed ✅
|
|
|
|
|
- [x] Scripts directory organized ✅
|
|
|
|
|
- [x] Documentation organized ✅
|
|
|
|
|
|
|
|
|
|
### Configuration
|
|
|
|
|
- [x] `.env` file configured ✅
|
|
|
|
|
- [x] PROXMOX_HOST set (192.168.11.10) ✅
|
|
|
|
|
- [x] PROXMOX_USER set (root@pam) ✅
|
|
|
|
|
- [x] PROXMOX_TOKEN_NAME set (mcp-server) ✅
|
|
|
|
|
- [x] PROXMOX_TOKEN_VALUE configured ✅
|
|
|
|
|
- [x] API connection verified ✅
|
|
|
|
|
- [x] Deployment configs created ✅
|
|
|
|
|
|
|
|
|
|
### Validation Results
|
|
|
|
|
- [x] Prerequisites: 32/32 passing (100%) ✅
|
|
|
|
|
- [x] Deployment validation: 41/41 passing (100%) ✅
|
|
|
|
|
- [x] API connection: Working (Proxmox 9.1.1) ✅
|
|
|
|
|
- [x] Storage accessible ✅
|
|
|
|
|
- [x] Templates accessible ✅
|
|
|
|
|
- [x] No VMID conflicts ✅
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
2026-01-06 01:46:25 -08:00
|
|
|
## Deployment Decision Tree
|
|
|
|
|
|
|
|
|
|
```mermaid
|
|
|
|
|
flowchart TD
|
|
|
|
|
Start[New Deployment?] --> EnvType{Environment Type?}
|
|
|
|
|
|
|
|
|
|
EnvType -->|Production| ProdCheck{Production Ready?}
|
|
|
|
|
EnvType -->|Staging| StagingDeploy[Staging Deployment]
|
|
|
|
|
EnvType -->|Development| DevDeploy[Development Deployment]
|
|
|
|
|
|
|
|
|
|
ProdCheck -->|No| PrepProd[Prepare Production<br/>Review Checklist<br/>Verify Resources]
|
|
|
|
|
ProdCheck -->|Yes| ProdDeploy[Production Deployment]
|
|
|
|
|
PrepProd --> ProdDeploy
|
|
|
|
|
|
|
|
|
|
ProdDeploy --> WhichComponents{Which Components?}
|
|
|
|
|
StagingDeploy --> WhichComponents
|
|
|
|
|
DevDeploy --> WhichComponents
|
|
|
|
|
|
|
|
|
|
WhichComponents -->|Full Stack| FullDeploy[Deploy Full Stack<br/>Validators, Sentries, RPC,<br/>Services, Monitoring]
|
|
|
|
|
WhichComponents -->|Besu Only| BesuDeploy[Deploy Besu Network<br/>Validators, Sentries, RPC]
|
|
|
|
|
WhichComponents -->|CCIP Only| CCIPDeploy[Deploy CCIP Fleet<br/>Commit, Execute, RMN]
|
|
|
|
|
WhichComponents -->|Services Only| ServicesDeploy[Deploy Services<br/>Blockscout, Cacti, etc.]
|
|
|
|
|
|
|
|
|
|
FullDeploy --> ValidateDeploy[Validate Deployment]
|
|
|
|
|
BesuDeploy --> ValidateDeploy
|
|
|
|
|
CCIPDeploy --> ValidateDeploy
|
|
|
|
|
ServicesDeploy --> ValidateDeploy
|
|
|
|
|
|
|
|
|
|
ValidateDeploy --> DeployComplete[Deployment Complete]
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
2025-12-21 22:32:09 -08:00
|
|
|
## 🚀 Deployment Steps
|
|
|
|
|
|
|
|
|
|
### Step 1: Review Configuration
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
# Review deployment configuration
|
|
|
|
|
cat smom-dbis-138-proxmox/config/proxmox.conf
|
|
|
|
|
cat smom-dbis-138-proxmox/config/network.conf
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**Key Settings:**
|
|
|
|
|
- Target Node: Auto-detected from Proxmox
|
|
|
|
|
- Storage: local-lvm (or configured storage)
|
|
|
|
|
- Network: 10.3.1.0/24
|
|
|
|
|
- VMID Ranges: Configured (106-153)
|
|
|
|
|
|
|
|
|
|
### Step 2: Verify Resources
|
|
|
|
|
|
|
|
|
|
**Estimated Requirements:**
|
|
|
|
|
- Memory: ~96GB
|
|
|
|
|
- Disk: ~1.35TB
|
|
|
|
|
- CPU: ~42 cores (can be shared)
|
|
|
|
|
|
|
|
|
|
**Current Status:**
|
|
|
|
|
- Check available resources on ml110-01
|
|
|
|
|
- Ensure sufficient capacity for deployment
|
|
|
|
|
|
|
|
|
|
### Step 3: Run Deployment
|
|
|
|
|
|
|
|
|
|
**Option A: Deploy Everything (Recommended)**
|
|
|
|
|
```bash
|
|
|
|
|
cd smom-dbis-138-proxmox
|
|
|
|
|
sudo ./scripts/deployment/deploy-all.sh
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**Option B: Deploy Step-by-Step**
|
|
|
|
|
```bash
|
|
|
|
|
cd smom-dbis-138-proxmox
|
|
|
|
|
|
|
|
|
|
# 1. Deploy Besu nodes
|
|
|
|
|
sudo ./scripts/deployment/deploy-besu-nodes.sh
|
|
|
|
|
|
|
|
|
|
# 2. Deploy services
|
|
|
|
|
sudo ./scripts/deployment/deploy-services.sh
|
|
|
|
|
|
|
|
|
|
# 3. Deploy Hyperledger services
|
|
|
|
|
sudo ./scripts/deployment/deploy-hyperledger-services.sh
|
|
|
|
|
|
|
|
|
|
# 4. Deploy monitoring
|
|
|
|
|
sudo ./scripts/deployment/deploy-monitoring.sh
|
|
|
|
|
|
|
|
|
|
# 5. Deploy explorer
|
|
|
|
|
sudo ./scripts/deployment/deploy-explorer.sh
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### Step 4: Post-Deployment
|
|
|
|
|
|
|
|
|
|
After containers are created:
|
|
|
|
|
|
|
|
|
|
1. **Copy Configuration Files**
|
|
|
|
|
```bash
|
|
|
|
|
# Copy genesis.json and configs to containers
|
|
|
|
|
# (Adjust paths as needed)
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
2. **Copy Validator Keys**
|
|
|
|
|
```bash
|
|
|
|
|
# Copy keys to validator containers only
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
3. **Update Static Nodes**
|
|
|
|
|
```bash
|
|
|
|
|
./scripts/network/update-static-nodes.sh
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
4. **Start Services**
|
|
|
|
|
```bash
|
|
|
|
|
# Start Besu services in containers
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
5. **Verify Deployment**
|
|
|
|
|
```bash
|
|
|
|
|
# Check container status
|
|
|
|
|
# Verify network connectivity
|
|
|
|
|
# Test RPC endpoints
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 📋 Deployment Components
|
|
|
|
|
|
|
|
|
|
### Phase 1: Blockchain Core (Besu)
|
|
|
|
|
- **Validators** (VMID 106-109): 4 nodes
|
|
|
|
|
- **Sentries** (VMID 110-114): 3 nodes
|
|
|
|
|
- **RPC Nodes** (VMID 115-119): 3 nodes
|
|
|
|
|
|
|
|
|
|
### Phase 2: Services
|
|
|
|
|
- **Oracle Publisher** (VMID 120)
|
|
|
|
|
- **CCIP Monitor** (VMID 121)
|
|
|
|
|
- **Keeper** (VMID 122)
|
|
|
|
|
- **Financial Tokenization** (VMID 123)
|
|
|
|
|
|
|
|
|
|
### Phase 3: Hyperledger Services
|
|
|
|
|
- **Firefly** (VMID 150)
|
|
|
|
|
- **Cacti** (VMID 151)
|
|
|
|
|
- **Fabric** (VMID 152) - Optional
|
|
|
|
|
- **Indy** (VMID 153) - Optional
|
|
|
|
|
|
|
|
|
|
### Phase 4: Monitoring
|
|
|
|
|
- **Monitoring Stack** (VMID 130)
|
|
|
|
|
|
|
|
|
|
### Phase 5: Explorer
|
|
|
|
|
- **Blockscout** (VMID 140)
|
|
|
|
|
|
|
|
|
|
**Total Containers:** ~20-25 containers
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## ⚠️ Important Notes
|
|
|
|
|
|
|
|
|
|
### Resource Considerations
|
|
|
|
|
- Memory warning: Estimated ~96GB needed, verify available capacity
|
|
|
|
|
- Disk space: ~1.35TB estimated, ensure sufficient storage
|
|
|
|
|
- CPU: Can be shared, but ensure adequate cores
|
|
|
|
|
|
|
|
|
|
### Network Configuration
|
|
|
|
|
- Subnet: 10.3.1.0/24
|
|
|
|
|
- Gateway: 10.3.1.1
|
|
|
|
|
- VLANs: Configured per node type
|
|
|
|
|
|
|
|
|
|
### Security
|
|
|
|
|
- API token configured and working
|
|
|
|
|
- Containers will be created with proper permissions
|
|
|
|
|
- Network isolation via VLANs
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 🔍 Verification Commands
|
|
|
|
|
|
|
|
|
|
### Check Deployment Status
|
|
|
|
|
```bash
|
|
|
|
|
# List all containers
|
|
|
|
|
pct list
|
|
|
|
|
|
|
|
|
|
# Check specific container
|
|
|
|
|
pct status <vmid>
|
|
|
|
|
|
|
|
|
|
# View container config
|
|
|
|
|
pct config <vmid>
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### Test Connectivity
|
|
|
|
|
```bash
|
|
|
|
|
# Test RPC endpoint
|
|
|
|
|
curl -X POST http://10.3.1.40:8545 \
|
|
|
|
|
-H "Content-Type: application/json" \
|
|
|
|
|
-d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### Monitor Resources
|
|
|
|
|
```bash
|
|
|
|
|
# Check node resources
|
|
|
|
|
pvesh get /nodes/<node>/status
|
|
|
|
|
|
|
|
|
|
# Check storage
|
|
|
|
|
pvesh get /nodes/<node>/storage
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 📊 Deployment Timeline
|
|
|
|
|
|
|
|
|
|
**Estimated Time:**
|
|
|
|
|
- Besu nodes: ~30-60 minutes
|
|
|
|
|
- Services: ~15-30 minutes
|
|
|
|
|
- Hyperledger: ~30-45 minutes
|
|
|
|
|
- Monitoring: ~15-20 minutes
|
|
|
|
|
- Explorer: ~20-30 minutes
|
|
|
|
|
- **Total: ~2-3 hours** (depending on resources)
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 🆘 Troubleshooting
|
|
|
|
|
|
|
|
|
|
### If Deployment Fails
|
|
|
|
|
|
|
|
|
|
1. **Check Logs**
|
|
|
|
|
```bash
|
|
|
|
|
tail -f smom-dbis-138-proxmox/logs/deployment-*.log
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
2. **Verify Resources**
|
|
|
|
|
```bash
|
|
|
|
|
./scripts/validate-ml110-deployment.sh
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
3. **Check API Connection**
|
|
|
|
|
```bash
|
|
|
|
|
./scripts/test-connection.sh
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
4. **Review Configuration**
|
|
|
|
|
```bash
|
|
|
|
|
cat smom-dbis-138-proxmox/config/proxmox.conf
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## ✅ Final Checklist
|
|
|
|
|
|
|
|
|
|
Before starting deployment:
|
|
|
|
|
|
|
|
|
|
- [x] All prerequisites met
|
|
|
|
|
- [x] Configuration reviewed
|
|
|
|
|
- [x] Resources verified
|
|
|
|
|
- [x] API connection working
|
|
|
|
|
- [x] Storage accessible
|
|
|
|
|
- [x] Templates available
|
|
|
|
|
- [x] No VMID conflicts
|
|
|
|
|
- [ ] Backup plan in place (recommended)
|
|
|
|
|
- [ ] Deployment window scheduled (if production)
|
|
|
|
|
- [ ] Team notified (if applicable)
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 🎯 Ready to Deploy
|
|
|
|
|
|
|
|
|
|
**Status:** ✅ **ALL SYSTEMS GO**
|
|
|
|
|
|
|
|
|
|
All validations passed. The system is ready for deployment to ml110-01.
|
|
|
|
|
|
|
|
|
|
**Next Command:**
|
|
|
|
|
```bash
|
|
|
|
|
cd smom-dbis-138-proxmox && sudo ./scripts/deployment/deploy-all.sh
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
**Last Updated:** $(date)
|
|
|
|
|
**Validation Status:** ✅ Complete
|
|
|
|
|
**Deployment Status:** ✅ Ready
|
|
|
|
|
|