dragonflight/services/node-agent
ZGaetano b508b203e3 fix(node-agent): reclaim capture port by PORT env, not image-tag regex
Burn test: only 3 of 8 Deltacast ports reached 'receiving'; the rest stuck
'connecting' forever. Root cause was NOT the board (all 8 SDI ports lock +
feed framecache at 60fps — verified 8 live shm cursors). It was orphaned
standby sidecars squatting host ports 7441-7445: new sidecars hit
EADDRINUSE, got zero frames, and getStatus() reported 'connecting' forever.

freeCapturePort() pre-filtered the container list by .Image regex, but after
a wild-dragon-capture:latest rebuild the Docker list API degrades older
containers' .Image to a bare image ID — so the tag regex silently SKIPPED
the exact orphans holding the ports. Now we match by PORT env (survives
rebuilds) and guard with the inspected Config.Image (which keeps the tag),
so a port is always reclaimed before a new sidecar binds. This makes
enable/disable 'just work' across image rebuilds.
2026-06-04 15:15:37 +00:00
..
Dockerfile feat(node-agent): add Dockerfile 2026-05-20 13:47:57 -04:00
index.js fix(node-agent): reclaim capture port by PORT env, not image-tag regex 2026-06-04 15:15:37 +00:00
package.json feat(node-agent): add package.json for cluster heartbeat agent 2026-05-20 13:47:53 -04:00