github basnijholt/compose-farm v1.27.3

3 hours ago

Bug fixes

  • No more random SSH resets on hosts with many stacks. Commands run in parallel with one SSH connection per stack, so cf check, cf up --all and friends could start dozens of handshakes at once against the same host. sshd drops unauthenticated connections past MaxStartups (10:30:100 by default), which showed up as random SSH error: [Errno 104] Connection reset by peer / Connection lost failures. compose-farm now keeps at most 8 handshakes in flight per sshd (address and port). The cap covers only the handshake, so long-running commands such as cf logs -f across all stacks still run side by side.
  • A dead host still fails quickly. When a host times out or has no route, the commands queued behind the first batch of connects fail right away with the same error instead of each waiting out the timeout in turn. A slow or briefly flaky but reachable host is never cut off, and ConnectTimeout from ~/.ssh/config applies as before.

A host whose sshd is socket-activated (for example NixOS with services.openssh.startWhenNeeded) also has a limit on the socket (MaxConnections=64 by default), which counts every open connection; raise it there if you run more stacks than that on one host.

Full changelog: v1.27.2...v1.27.3

Don't miss a new compose-farm release

NewReleases is sending notifications on new releases.