feat(mesh): drive MeshService through the MeshMonitor HTTP gateway (Phase 2)
CI / build + unit (pull_request) Successful in 1m17s
CI / build + unit (pull_request) Successful in 1m17s
Rewire MeshService off the raw TCP socket + codec onto the Phase-1 MeshMonitorClient contract (HttpMeshMonitorClient in production, FakeMeshMonitorClient in tests): status/messages/nodes/channels/telemetry are polled (15s/1s/30s/5min/60s) instead of streamed, outbound broadcasts and DMs go through client.send(), respond/inject/notifier/command/battery/ weather behavior and all /api/* + MCP endpoint shapes are preserved. The fake TCP bridge is deleted and every consumer spec (mesh service, MCP controller, command auto-responder, battery alerts) now drives the real service through the widened fake client. Docker compose drops MESH_HOST/MESH_PORT and adds the MESHMONITOR_* env (token from .env, self-signed TLS via NODE_TLS_REJECT_UNAUTHORIZED=0). Live smoke against https://meshmonitor.kkhost.pl: getStatus -> {connected:true, myNodeNum:3994646728, longName:'SP8MK Bot', nodeResponsive:true}; getNodes -> 104 nodes. Build green, suite 17 files / 245 tests (baseline 234).
This commit is contained in:
@@ -6,6 +6,10 @@ import { apiReference } from '@scalar/nestjs-api-reference';
|
||||
import * as pkg from '../package.json';
|
||||
import { AppModule } from './app.module.js';
|
||||
|
||||
// the MeshMonitor gateway (https://meshmonitor.kkhost.pl) uses a self-signed certificate — accept it
|
||||
// (compose sets the same variable for the deployed stack; this covers local runs too)
|
||||
process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
|
||||
|
||||
async function bootstrap() {
|
||||
const app = await NestFactory.create<NestExpressApplication>(AppModule);
|
||||
app.enableShutdownHooks();
|
||||
|
||||
Reference in New Issue
Block a user