#!/usr/bin/env bash # Spawn a virtual fab: N secs_gemd equipment instances in one container. # equipment i: HSMS on 5100+i, gRPC on 0.0.0.0:51000+i (docker-network # internal — the localhost default is for real deployments). # Used by the `fab` compose service; interop/virtual_fab.py drives them. set -u cd "$(dirname "${BASH_SOURCE[0]}")/.." N=${FAB_N:-3} PIDS=() trap 'kill "${PIDS[@]}" 2>/dev/null; wait' TERM INT for i in $(seq 0 $((N - 1))); do ./build/secs_gemd \ --port $((5100 + i)) \ --grpc "0.0.0.0:$((51000 + i))" \ --config-dir data \ > "/tmp/gemd-$i.log" 2>&1 & PIDS+=($!) done echo "virtual fab up: $N equipment (HSMS 5100+, gRPC 51000+)" wait