Files
Sankofa/docs/smom-dbis-138/smom-dbis-138-project-integration.md

181 lines
4.6 KiB
Markdown
Raw Normal View History

# SMOM-DBIS-138 Project Integration Guide
## Overview
The SMOM-DBIS-138 project is located at `~/projects/smom-dbis-138` and contains the actual blockchain network configuration, contracts, and deployment scripts. This guide explains how to integrate the deployed VMs with the SMOM-DBIS-138 project.
## Project Locations
- **Sankofa Project**: `~/projects/Sankofa` (VM deployment and infrastructure)
- **SMOM-DBIS-138 Project**: `~/projects/smom-dbis-138` (Blockchain network and contracts)
## SMOM-DBIS-138 Project Structure
```
~/projects/smom-dbis-138/
├── scripts/ # Deployment and configuration scripts
├── contracts/ # Smart contracts
├── config/ # Network configuration
├── terraform/ # Infrastructure as code
├── runbooks/ # Operational procedures
├── Makefile # Main build/deploy commands
└── README.md # Project documentation
```
## Integration Steps
### 1. Get VM IP Addresses
From the Sankofa project, get all VM IP addresses:
```bash
cd ~/projects/Sankofa
# Get all VM IPs
for vm in nginx-proxy-vm cloudflare-tunnel-vm \
smom-validator-01 smom-validator-02 smom-validator-03 smom-validator-04 \
smom-sentry-01 smom-sentry-02 smom-sentry-03 smom-sentry-04 \
smom-rpc-node-01 smom-rpc-node-02 smom-rpc-node-03 smom-rpc-node-04 \
smom-services smom-blockscout smom-monitoring smom-management; do
ip=$(kubectl get proxmoxvm $vm -n default -o jsonpath='{.status.ipAddress}' 2>/dev/null)
echo "$vm=$ip"
done > /tmp/smom-vm-ips.txt
```
### 2. Update SMOM-DBIS-138 Configuration
Copy VM IPs to SMOM-DBIS-138 project:
```bash
# Copy IPs to SMOM-DBIS-138 project
cp /tmp/smom-vm-ips.txt ~/projects/smom-dbis-138/config/vm-ips.txt
# Or update .env file
cd ~/projects/smom-dbis-138
# Edit .env with VM IPs
```
### 3. Configure Validators
```bash
cd ~/projects/smom-dbis-138
# Use Makefile commands to configure validators
make help # See available commands
# Example: Deploy validators
# make deploy-validators
```
### 4. Configure Sentries
```bash
cd ~/projects/smom-dbis-138
# Configure sentry nodes
# make deploy-sentries
```
### 5. Configure RPC Nodes
```bash
cd ~/projects/smom-dbis-138
# Configure RPC nodes
# make deploy-rpc-nodes
```
## VM to Component Mapping
### Infrastructure VMs
- **nginx-proxy-vm** → Nginx reverse proxy for SSL/TLS termination
- **cloudflare-tunnel-vm** → Cloudflare Tunnel for public access
### Application VMs
- **smom-validator-01 to 04** → Hyperledger Besu validator nodes
- **smom-sentry-01 to 04** → Sentry nodes (protect validators)
- **smom-rpc-node-01 to 04** → RPC endpoint nodes
- **smom-services** → Application services
- **smom-blockscout** → Blockscout blockchain explorer
- **smom-monitoring** → Prometheus/Grafana monitoring
- **smom-management** → Management and operational tools
## Configuration Files
### SMOM-DBIS-138 Project Files
- `~/projects/smom-dbis-138/config/` - Network configuration
- `~/projects/smom-dbis-138/scripts/` - Deployment scripts
- `~/projects/smom-dbis-138/.env` - Environment variables
### Sankofa Project Files
- `~/projects/Sankofa/examples/production/smom-dbis-138/` - VM manifests
- `~/projects/Sankofa/docs/smom-dbis-138-*.md` - Deployment documentation
## Deployment Workflow
### Phase 1: VM Deployment (Sankofa Project)
```bash
cd ~/projects/Sankofa
kubectl apply -f examples/production/smom-dbis-138/
```
### Phase 2: Network Configuration (SMOM-DBIS-138 Project)
```bash
cd ~/projects/smom-dbis-138
# Update configuration with VM IPs
# Run deployment scripts
make deploy
```
### Phase 3: Verification
```bash
cd ~/projects/Sankofa
./scripts/verify-deployment.sh
cd ~/projects/smom-dbis-138
# Run verification scripts
make verify
```
## Useful Commands
### Get VM Status
```bash
cd ~/projects/Sankofa
kubectl get proxmoxvm -A
```
### SSH to VMs
```bash
# Get IP first
ip=$(kubectl get proxmoxvm smom-validator-01 -n default -o jsonpath='{.status.ipAddress}')
# SSH
ssh admin@$ip
```
### View SMOM-DBIS-138 Documentation
```bash
cd ~/projects/smom-dbis-138
cat README.md
```
## Next Steps
1. **Wait for VMs to be running** (check with `./scripts/verify-deployment.sh`)
2. **Get VM IP addresses** and update SMOM-DBIS-138 configuration
3. **Follow SMOM-DBIS-138 deployment guide** in that project
4. **Configure infrastructure** (Nginx, Cloudflare Tunnel)
5. **Deploy blockchain network** using SMOM-DBIS-138 scripts
## References
- **SMOM-DBIS-138 Project**: `~/projects/smom-dbis-138`
- **Sankofa Deployment Docs**: `~/projects/Sankofa/docs/smom-dbis-138-*.md`
- **SMOM-DBIS-138 README**: `~/projects/smom-dbis-138/README.md`
---
**Last Updated**: 2025-12-08