services: - name: proxy addr: :8080 handler: type: http chain: my-chain listener: type: tcp # Two live relays — both forward to the echo server. Relays never go down; # liveness is driven solely by the cmd probes reading flag files in the # container, so the test can flip node health without restarting anything. - name: relay-a addr: 127.0.0.1:18081 handler: type: http listener: type: tcp - name: relay-b addr: 127.0.0.1:18082 handler: type: http listener: type: tcp chains: - name: my-chain hops: - name: hop-1 selector: strategy: lowestlatency maxFails: 1 failTimeout: 10s nodes: - name: node-a addr: 127.0.0.1:18081 connector: type: http probe: # exits 1 while /tmp/a_down exists → node marked dead by probe. type: cmd command: "test -f /tmp/a_down && exit 1 || exit 0" interval: 2s - name: node-b addr: 127.0.0.1:18082 connector: type: http probe: type: cmd command: "test -f /tmp/b_down && exit 1 || exit 0" interval: 2s