Files
aitbc/docs/ports.md
oib d98b2c7772 Based on the repository's commit message style and the changes in the diff, here's an appropriate commit message:
```
feat: add websocket tests, PoA metrics, marketplace endpoints, and enhanced observability

- Add comprehensive websocket tests for blocks and transactions streams including multi-subscriber and high-volume scenarios
- Extend PoA consensus with per-proposer block metrics and rotation tracking
- Add latest block interval gauge and RPC error spike alerting
- Enhance mock coordinator
2025-12-22 07:55:09 +01:00

2.1 KiB
Raw Blame History

Port Allocation Plan

This document tracks current and planned TCP port assignments across the AITBC devnet stack. Update it whenever new services are introduced or defaults change.

Current Usage

Port Service Location Notes
8080 Blockchain RPC API (FastAPI) apps/blockchain-node/scripts/devnet_up.shpython -m uvicorn aitbc_chain.app:app Exposes REST/WebSocket RPC endpoints for blocks, transactions, receipts.
8090 Mock Coordinator API apps/blockchain-node/scripts/devnet_up.shuvicorn mock_coordinator:app Generates synthetic coordinator/miner telemetry consumed by Grafana dashboards.
9090 Prometheus (planned default) apps/blockchain-node/observability/ (targets to be wired) Scrapes blockchain node + mock coordinator metrics. Ensure firewall allows local-only access.
3000 Grafana (planned default) apps/blockchain-node/observability/grafana-dashboard.json Visualizes metrics dashboards; behind devnet Docker compose or local binary.

Reserved / Planned Ports

  • Coordinator API (production) TBD (8000 suggested). Align with apps/coordinator-api/README.md once the service runs outside mock mode.
  • Marketplace Web Vite dev server defaults to 5173; document overrides when deploying behind nginx.
  • Explorer Web Vite dev server defaults to 4173; ensure it does not collide with other tooling on developer machines.
  • Pool Hub API Reserve 8100 for the FastAPI service when devnet integration begins.

Guidance

  • Avoid reusing the same port across services in devnet scripts to prevent binding conflicts (recent issues occurred when 8080/8090 were already in use).
  • For production-grade environments, place HTTP services behind a reverse proxy (nginx/Traefik) and update this table with the external vs. internal port mapping.
  • When adding new dashboards or exporters, note both the scrape port (Prometheus) and any UI port (Grafana/others).
  • If a port is deprecated, strike it through in this table and add a note describing the migration path.