Files
proxmox/docs/03-deployment/DEPLOYMENT_READINESS.md
defiQUG cb47cce074 Complete markdown files cleanup and organization
- 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.
2026-01-06 01:46:25 -08:00

7.0 KiB

Deployment Readiness Checklist

Target: ml110-01 (192.168.11.10)
Status: READY FOR DEPLOYMENT
Date: $(date)


Pre-Deployment Validation

System Prerequisites

  • Node.js 16+ installed (v22.21.1)
  • pnpm 8+ installed (10.24.0)
  • Git installed (2.43.0)
  • Required tools (curl, jq, bash)

Workspace Setup

  • Project structure organized
  • All submodules initialized
  • All dependencies installed
  • Scripts directory organized
  • Documentation organized

Configuration

  • .env file configured
  • PROXMOX_HOST set (192.168.11.10)
  • PROXMOX_USER set (root@pam)
  • PROXMOX_TOKEN_NAME set (mcp-server)
  • PROXMOX_TOKEN_VALUE configured
  • API connection verified
  • Deployment configs created

Validation Results

  • Prerequisites: 32/32 passing (100%)
  • Deployment validation: 41/41 passing (100%)
  • API connection: Working (Proxmox 9.1.1)
  • Storage accessible
  • Templates accessible
  • No VMID conflicts

Deployment Decision Tree

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]

🚀 Deployment Steps

Step 1: Review Configuration

# 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)

cd smom-dbis-138-proxmox
sudo ./scripts/deployment/deploy-all.sh

Option B: Deploy Step-by-Step

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

    # Copy genesis.json and configs to containers
    # (Adjust paths as needed)
    
  2. Copy Validator Keys

    # Copy keys to validator containers only
    
  3. Update Static Nodes

    ./scripts/network/update-static-nodes.sh
    
  4. Start Services

    # Start Besu services in containers
    
  5. Verify Deployment

    # 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

# List all containers
pct list

# Check specific container
pct status <vmid>

# View container config
pct config <vmid>

Test Connectivity

# 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

# 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

    tail -f smom-dbis-138-proxmox/logs/deployment-*.log
    
  2. Verify Resources

    ./scripts/validate-ml110-deployment.sh
    
  3. Check API Connection

    ./scripts/test-connection.sh
    
  4. Review Configuration

    cat smom-dbis-138-proxmox/config/proxmox.conf
    

Final Checklist

Before starting deployment:

  • All prerequisites met
  • Configuration reviewed
  • Resources verified
  • API connection working
  • Storage accessible
  • Templates available
  • 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:

cd smom-dbis-138-proxmox && sudo ./scripts/deployment/deploy-all.sh

Last Updated: $(date)
Validation Status: Complete
Deployment Status: Ready