# Sankofa Services Cutover - Execution Log **Date:** 2026-01-20 **Status:** 🔄 **CUTOVER IN PROGRESS** --- ## 📋 Cutover Steps ### Step 1: Update NPMplus Proxy Hosts **Target Proxy Hosts:** | Proxy Host ID | Domain | Current Target | New Target | Status | |---------------|--------|----------------|------------|--------| | 21 | `sankofa.nexus` | 192.168.11.140:80 | 192.168.11.51:3000 | 🔄 In Progress | | 22 | `www.sankofa.nexus` | 192.168.11.140:80 | 192.168.11.51:3000 | 🔄 In Progress | | 23 | `phoenix.sankofa.nexus` | 192.168.11.140:80 | 192.168.11.50:4000 | 🔄 In Progress | | 24 | `www.phoenix.sankofa.nexus` | 192.168.11.140:80 | 192.168.11.50:4000 | 🔄 In Progress | **Update Method:** NPMplus API via script `scripts/update-sankofa-npmplus-proxy-hosts.sh` **Script Log:** `/tmp/npmplus-cutover.log` --- ### Step 2: Verify Proxy Host Updates **Verification:** Check each proxy host configuration via NPMplus API **Expected Results:** - Proxy Host 21: `forward_host: 192.168.11.51`, `forward_port: 3000` - Proxy Host 22: `forward_host: 192.168.11.51`, `forward_port: 3000` - Proxy Host 23: `forward_host: 192.168.11.50`, `forward_port: 4000` - Proxy Host 24: `forward_host: 192.168.11.50`, `forward_port: 4000` --- ### Step 3: Test Internal Connectivity **Test from NPMplus container to Sankofa services:** 1. **API (192.168.11.50:4000):** - Test: `curl -I http://192.168.11.50:4000/health` - Expected: HTTP 200 OK 2. **Portal (192.168.11.51:3000):** - Test: `curl -I http://192.168.11.51:3000` - Expected: HTTP 200 OK 3. **Keycloak (192.168.11.52:8080):** - Test: `curl -I http://192.168.11.52:8080/health/ready` - Expected: HTTP 200 OK --- ### Step 4: Verify SSL Certificates **Check SSL certificates for all domains:** - `sankofa.nexus` - `www.sankofa.nexus` - `phoenix.sankofa.nexus` - `www.phoenix.sankofa.nexus` **Expected:** Valid SSL certificates with appropriate expiration dates --- ### Step 5: Test End-to-End Routing **Test domain routing:** 1. **Portal Domain:** - Test: `curl -I -H "Host: sankofa.nexus" http://NPMplus-IP:80` - Expected: Routes to Portal (192.168.11.51:3000) 2. **API Domain:** - Test: `curl -I -H "Host: phoenix.sankofa.nexus" http://NPMplus-IP:80/health` - Expected: Routes to API (192.168.11.50:4000) --- ### Step 6: Monitor Services **Monitor after cutover:** - Service logs for errors - Health endpoints - Application functionality - User access via domains --- ## 🔄 Current Status **Cutover Status:** 🔄 In Progress **Last Updated:** 2026-01-20