diff --git a/server/internal/services/consoleproxy.go b/server/internal/services/consoleproxy.go index d2ee18e..4e7717c 100644 --- a/server/internal/services/consoleproxy.go +++ b/server/internal/services/consoleproxy.go @@ -176,6 +176,14 @@ func ClaimProxyStream(instanceID, serverID, proxyID string) (*proxy.Session, err }) addr := proxyAddr{Host: proxyAdvertiseHost(), Port: sess.Port()} + + // Logged on the success path, not just on failure. The address guacd is + // about to be sent to is chosen per pod (POD_IP), so when a console fails + // for some replicas and not others this line is the difference between + // seeing which one answered and inferring it from silence. + log.Printf("proxy %s (server %s): relay bound on %s:%d, node %s", + proxyID, serverID, addr.Host, addr.Port, bus.NodeID()) + if _, err := bus.Publish(ctx, bus.ProxyAddrChannel+proxyID, addr); err != nil { // Nobody will ever dial this listener, so it is closed now rather than // left to sit out its rendezvous timeout.