Files
proxmox/docs/02-architecture/IT_PORT_MAP_LAYERS_SPEC.md
defiQUG dbd517b279 Sync workspace: config, docs, scripts, CI, operator rules, and submodule pointers.
- 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
2026-04-12 06:12:20 -07:00

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_names to upstream from API.
  • Read API stub: GET /v1/portmap/joined returns an empty list and implementation: "stub" until collectors exist.