- Update dbis_core, cross-chain-pmm-lps, explorer-monorepo, metamask-integration, pr-workspace/chains - Omit embedded publish git dirs and empty placeholders from index Made-with: Cursor
1.7 KiB
1.7 KiB
IT port map — layers and BFF join (spec)
Goal: Join public hostname → NPM → LAN IP:port → VMID → node → switch port per SANKOFA_IT_OPERATIONS_CONTROLLER_SPEC.md section 5.
Layers
| Layer | Source of truth (live) | Declared fallback | Notes |
|---|---|---|---|
| Physical | UniFi (XG/switch) + DCIM/NetBox | Spreadsheets | Patch panel refs often manual |
| UDM | UniFi API / controller export | NETWORK_CONFIGURATION_MASTER.md | Port forwards, firewall |
| NPM | NPMplus API (same contract as fleet scripts) | E2E FQDN tables | forward_host, forward_port |
| Proxmox | pct/qm config, vmbr |
ALL_VMIDS + ip-addresses.conf |
VLAN tags on bridges |
BFF join model (target)
{
"public_hostname": "explorer.d-bis.org",
"npm": { "forward_host": "192.168.11.x", "forward_port": 80, "collected_at": "..." },
"lan": { "ip": "192.168.11.x", "vmid": "5000", "node": "r630-02" },
"switch": { "device_id": null, "port": null, "confidence": "missing" }
}
Phase 2 implementation
- Persist Physical port map rows in IT Postgres (see entitlements schema sibling directory for DB conventions).
- Ingest UniFi devices into staging tables; map NPM
domain_namesto upstream from API. - Read API stub:
GET /v1/portmap/joinedreturns an empty list andimplementation: "stub"until collectors exist.