swactor/tests/docker/docker-compose.lan-thinkpad.yml
Developer 59845f4059 feat: Docker realization, node binary, docs reorg, and simulation testing
Docker realization (bridging simulation to real TCP):
- NodeDriver (`crates/distribution/src/driver.rs`): bridges DistributedNode
  tick loop to TcpTransport with piggyback-extended wire messages
- swactor-node binary (`crates/node/`): CLI node with --listen, --seed,
  --dashboard-port, --actors flags
- Dockerfile: multi-stage build (rust:1.93-slim → debian:bookworm-slim)
- Docker integration tests (`tests/docker/`): 5-node cluster with 4
  scenarios (convergence, failure detection, actor resolution, rejoin)
- LAN cluster scripts for cross-machine validation
- TCP transport retry-on-stale-connection logic
- /api/distribution REST endpoint on dashboard (feature-gated)
- Piggyback fields (piggyback + from_addr) on Ping/Ack/PingReq messages

Docs reorganization:
- docs/runtime/ — actor-model, runtime, worker-thread, channels
- docs/distribution/ — distribution, swim, kademlia, transport
- docs/diagrams/ — all SVG files
- docs/connectome/ — connectome analysis
- docs/development_history/ — DOCKER_REALIZATION.md, SIMULATION_TESTING.md
- render_docs.sh outputs to docs/diagrams/
- README links updated to new paths

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 07:45:44 +00:00

49 lines
1,009 B
YAML

## LAN cluster — thinkpad side (192.168.1.102)
## Seed is on hpz at 192.168.1.106:7000.
##
## docker compose -f tests/docker/docker-compose.lan-thinkpad.yml up -d --build
services:
node-3:
build:
context: ../..
dockerfile: Dockerfile
network_mode: host
command:
- "--listen"
- "192.168.1.102:7000"
- "--seed"
- "192.168.1.106:7000"
- "--dashboard-port"
- "9093"
- "--actors"
- "2"
node-4:
build:
context: ../..
dockerfile: Dockerfile
network_mode: host
command:
- "--listen"
- "192.168.1.102:7001"
- "--seed"
- "192.168.1.106:7000"
- "--dashboard-port"
- "9094"
- "--actors"
- "2"
node-5:
build:
context: ../..
dockerfile: Dockerfile
network_mode: host
command:
- "--listen"
- "192.168.1.102:7002"
- "--seed"
- "192.168.1.106:7000"
- "--dashboard-port"
- "9095"
- "--actors"
- "2"