qcrypt-rng / docs /DASHBOARD_MONITORING_PLAN.md
rocRevyAreGoals15's picture
fixing ui
86deab0

Dashboard Integration and Monitoring Implementation Plan

Source: Dashboard + Monitoring Plan (Phase 2 Tasks 3–4) Status: Both tasks COMPLETE (verified 2026-03-23; frontend builds successfully)


Part 1: Dashboard Integration (Task 3)

1.1 API Layer Additions

File: quantum-oracle-ui/src/utils/api.ts

  • Kyber KEM: kemGenerate, kemEncapsulate, kemDecapsulate
  • Oracle Fulfillment: configureFulfillmentChain, createFulfillmentRequest, getFulfillmentStatus, listFulfillmentRequests, getFulfillmentChains, retryFulfillment

File: quantum-oracle-ui/src/types/index.ts β€” KEM and fulfillment response types

1.2 Kyber KEM UI in Protect.tsx

  • Algorithm: KYBER512 / KYBER768 / KYBER1024
  • Flow: Generate keypair β†’ Sender encapsulate β†’ Recipient decapsulate
  • Copy/Download, InfoPopover for workflow explanation

1.3 Expanded PQC Algorithms in Protect.tsx

  • Signatures: DILITHIUM2/3/5, FALCON512/1024, SPHINCS+-SHA2-128f
  • KEM (keys only): KYBER, NTRU, SABER β€” show key gen, link to Kyber KEM section

1.4 Oracle Fulfillment UI in QuantumOracle.tsx

  • Configure Chain (rpc_url, private_key, etc.) β€” security warning
  • Create Request, Status Lookup, List Requests, Retry
  • Collapsible, default collapsed

1.5 Docs Page

  • Add Kyber KEM and Oracle Fulfillment endpoint docs

Part 2: Monitoring (Task 4) β€” COMPLETED

34 Prometheus metrics implemented in app/monitoring/metrics.py across 7 categories: oracle fulfillment (7), PQC operations (6), QRNG generation (4), hardware devices (5), entropy quality (4), API performance (5), system (3). Grafana dashboard and alerting rules in app/monitoring/. All monitoring endpoints active in app/api/v2/endpoints/monitoring.py.


Implementation Order

  1. API layer: KEM + fulfillment methods - Done
  2. Kyber KEM UI in Protect - Done
  3. Expanded PQC dropdown + KEM-only mode - Done
  4. Oracle Fulfillment UI in QuantumOracle - Done
  5. Docs page update - Done

Security Notes

  • Oracle fulfillment: Never use production keys; demo/test only
  • Mask private_key input (type="password")