docs(web): complete deployment table for portal, blockscout.defi-oracle.io

- Replace TBD rows with portal 7801 typical upstream + sync script ref
- admin/dash: intent + explicit non-pinned VMID until NPM inventory
- blockscout.defi-oracle.io: VMID 5000 / .140:80 per routing docs, not canonical 138 brand
- Table footnote + doc version 1.5

Made-with: Cursor
This commit is contained in:
defiQUG
2026-03-28 00:08:15 -07:00
parent c3219c0a0c
commit 918dc3e75b

View File

@@ -1,7 +1,7 @@
# Web Properties — Ground Truth & Validation
**Last Updated:** 2026-03-27
**Document Version:** 1.3
**Document Version:** 1.5
**Status:** Active Documentation
---
@@ -181,6 +181,20 @@ This document reconciles **expected intent**, **current deployment state**, and
---
## 8b. public-2138.defi-oracle.io & rpc.public-2138.defi-oracle.io (testnet)
**Role:** Public explorer UI and JSON-RPC for **Defi Oracle Meta Testnet** (chain ID **2138**, hex `0x85a`). Not the Chain 138 explorer (`explorer.d-bis.org`).
### Intended function
- Explorer: `https://public-2138.defi-oracle.io` (per `pr-workspace/chains/_data/chains/eip155-2138.json`)
- RPC: `https://rpc.public-2138.defi-oracle.io`, `wss://rpc.public-2138.defi-oracle.io`
### References
- `docs/04-configuration/CHAIN2138_WALLET_CONFIG_VALIDATION.md`
- `docs/testnet/DEFI_ORACLE_META_TESTNET_2138_RUNBOOK.md`
---
## Canonical Alignment Summary
| Domain | Purpose | Public web | Auth model | Canonical |
@@ -195,6 +209,8 @@ This document reconciles **expected intent**, **current deployment state**, and
| portal.sankofa.nexus | Client services + marketplace | No | SSO | ✅ |
| dash.sankofa.nexus | Systems / operator admin | No | IP + system auth + MFA | ✅ |
| explorer.d-bis.org | ChainID 138 Explorer | Yes | No | ✅ |
| public-2138.defi-oracle.io | ChainID 2138 Testnet Explorer | Yes | No | ⚠️ Per chainlist |
| rpc.public-2138.defi-oracle.io | ChainID 2138 JSON-RPC | API | No | ⚠️ Per chainlist |
| blockscout.defi-oracle.io | Generic Explorer | Yes | No | ❌ |
---
@@ -302,11 +318,13 @@ Backend (typical):
| **The Order (edge)** | the-order.sankofa.nexus | 10210 → 7801 | 192.168.11.39:80 → .51:3000 | 80 → 3000 | ✅ Active | HAProxy then portal; see §2b |
| **Sankofa Studio** | studio.sankofa.nexus | 7805 | 192.168.11.72 | 8000 | ✅ Active | `/studio/` |
| **Keycloak IdP** | keycloak.sankofa.nexus | 7802 | (see ALL_VMIDS) | 8080 | ✅ Active | IdP + `/admin` |
| **Client admin (SSO)** | admin.sankofa.nexus | ⚠️ TBD | ⚠️ TBD | ⚠️ TBD | Target hostname | SSO |
| **Client portal (SSO)** | portal.sankofa.nexus | ⚠️ TBD | ⚠️ TBD | ⚠️ TBD | Target hostname | SSO |
| **Operator dash** | dash.sankofa.nexus | ⚠️ TBD | ⚠️ TBD | ⚠️ TBD | Target hostname | IP + MFA |
| **Client admin (SSO)** | admin.sankofa.nexus | — | — | — | 🔶 **Intent** — NPM + app upstream not pinned in VM inventory; may share portal stack (**7801**) until split (see §4, Open Decisions §4) | SSO |
| **Client portal (SSO)** | portal.sankofa.nexus | **7801** (typical) | 192.168.11.51 | 3000 | ✅ **Active** when NPM routes this hostname to the Sankofa portal stack; `NEXTAUTH_URL` / public OIDC URL per `scripts/deployment/sync-sankofa-portal-7801.sh` | SSO |
| **Operator dash** | dash.sankofa.nexus | — | — | — | 🔶 **Intent** — IP allowlist + system auth + MFA; **VMID/IP not fixed** in this matrix until NPM/upstream is wired (see §6) | IP + MFA |
| **SolaceScanScout** | explorer.d-bis.org | 5000 | 192.168.11.140 | 80/4000 | ✅ Active | Public |
| **Blockscout** | blockscout.defi-oracle.io | ⚠️ TBD | ⚠️ TBD | ⚠️ TBD | ⚠️ Separate | Public |
| **Blockscout (generic hostname)** | blockscout.defi-oracle.io | **5000** | 192.168.11.140 | **80** (TLS at NPM) | ✅ **Active** when NPM proxies here; **same class** of Blockscout UI as §7 but **not** canonical **SolaceScanScout / Chain 138** branding (see §8) | Public |
**Table notes:** `admin` / `dash` rows stay **non-numeric** on VMID until inventory and NPM proxy rows are authoritative in [ALL_VMIDS_ENDPOINTS.md](../04-configuration/ALL_VMIDS_ENDPOINTS.md) and your NPM export. **`blockscout.defi-oracle.io`** has been documented in routing summaries as terminating on **VMID 5000** (`192.168.11.140:80`); confirm live NPM if behavior differs.
---