# Sankofa Services Cutover Instructions **Date:** 2026-01-20 **Status:** ✅ Ready for Cutover --- ## ✅ Pre-Cutover Verification All services have been deployed and are ready for cutover: | Service | VMID | IP | Port | Status | |---------|------|----|------|--------| | PostgreSQL | 7803 | 192.168.11.53 | 5432 | ✅ Running | | Keycloak | 7802 | 192.168.11.52 | 8080 | ✅ Running | | API | 7800 | 192.168.11.50 | 4000 | ✅ Running | | Portal | 7801 | 192.168.11.51 | 3000 | ✅ Running | --- ## 📋 NPMplus Proxy Host Updates Update the following proxy hosts in NPMplus to route traffic to the new Sankofa services: ### Proxy Host 21: `sankofa.nexus` - **Current Target:** 192.168.11.140:80 - **New Target:** 192.168.11.51:3000 - **Service:** Sankofa Portal - **Action:** Update forward hostname/port to `192.168.11.51:3000` ### Proxy Host 22: `www.sankofa.nexus` - **Current Target:** 192.168.11.140:80 - **New Target:** 192.168.11.51:3000 - **Service:** Sankofa Portal - **Action:** Update forward hostname/port to `192.168.11.51:3000` ### Proxy Host 23: `phoenix.sankofa.nexus` - **Current Target:** 192.168.11.140:80 - **New Target:** 192.168.11.50:4000 - **Service:** Sankofa API - **Action:** Update forward hostname/port to `192.168.11.50:4000` ### Proxy Host 24: `www.phoenix.sankofa.nexus` - **Current Target:** 192.168.11.140:80 - **New Target:** 192.168.11.50:4000 - **Service:** Sankofa API - **Action:** Update forward hostname/port to `192.168.11.50:4000` ### Proxy Host 25: `the-order.sankofa.nexus` - **Current Target:** 192.168.11.140:80 - **New Target:** ⚠️ TBD (to be determined) - **Service:** TBD - **Action:** Pending - service to be determined --- ## 🔧 Cutover Steps ### Step 1: Verify Services 1. ✅ Verify PostgreSQL is running: `curl http://192.168.11.53:5432` (connection test) 2. ✅ Verify Keycloak is running: `curl http://192.168.11.52:8080/health/ready` 3. ✅ Verify API is running: `curl http://192.168.11.50:4000/health` 4. ✅ Verify Portal is running: `curl http://192.168.11.51:3000` ### Step 2: Update NPMplus Proxy Hosts 1. Access NPMplus web interface 2. Navigate to Proxy Hosts 3. For each proxy host (21-24): - Edit the proxy host - Update "Forward Hostname / IP" to the new IP - Update "Forward Port" to the new port - Save changes 4. Verify SSL certificates are configured correctly ### Step 3: Verify Routing 1. Test `sankofa.nexus` → Should route to Portal (192.168.11.51:3000) 2. Test `www.sankofa.nexus` → Should route to Portal (192.168.11.51:3000) 3. Test `phoenix.sankofa.nexus` → Should route to API (192.168.11.50:4000) 4. Test `www.phoenix.sankofa.nexus` → Should route to API (192.168.11.50:4000) ### Step 4: End-to-End Testing 1. Test Portal access via domain 2. Test API GraphQL endpoint via domain 3. Test authentication flow 4. Verify all functionality works ### Step 5: Monitor Services 1. Monitor service logs for errors 2. Monitor health endpoints 3. Monitor application functionality 4. Be ready to rollback if needed --- ## 🔄 Rollback Plan If issues occur during cutover: 1. **Immediate Rollback:** - Update NPMplus proxy hosts back to original targets (192.168.11.140:80) - Verify original routing works 2. **Investigate Issues:** - Check service logs - Verify service health - Test connectivity 3. **Fix Issues:** - Resolve any identified problems - Re-test services - Attempt cutover again --- ## 📝 Service Endpoints ### Internal Access - **PostgreSQL:** 192.168.11.53:5432 - **Keycloak:** http://192.168.11.52:8080 - **API:** http://192.168.11.50:4000 - **Portal:** http://192.168.11.51:3000 ### External Access (After Cutover) - **Portal:** https://sankofa.nexus, https://www.sankofa.nexus - **API:** https://phoenix.sankofa.nexus, https://www.phoenix.sankofa.nexus - **GraphQL:** https://phoenix.sankofa.nexus/graphql --- ## ✅ Post-Cutover Checklist - [ ] All proxy hosts updated in NPMplus - [ ] SSL certificates verified - [ ] Portal accessible via `sankofa.nexus` - [ ] API accessible via `phoenix.sankofa.nexus` - [ ] Authentication working - [ ] All services responding to health checks - [ ] No errors in service logs - [ ] End-to-end functionality tested - [ ] Monitoring configured --- **Cutover Ready:** ✅ All services deployed and verified **Next Step:** Update NPMplus proxy hosts and verify routing