Files
coder/tailnet/client.go
Spike Curtis d3983e4dba feat: add logging to client tailnet yamux (#11908)
Adds logging to yamux when used for tailnet client connections, e.g. CLI and wsproxy.  This could be useful for debugging connection issues with tailnet v2 API.
2024-01-30 09:58:59 +04:00

25 lines
621 B
Go

package tailnet
import (
"context"
"net"
"github.com/hashicorp/yamux"
"golang.org/x/xerrors"
"cdr.dev/slog"
"github.com/coder/coder/v2/codersdk/drpc"
"github.com/coder/coder/v2/tailnet/proto"
)
func NewDRPCClient(conn net.Conn, logger slog.Logger) (proto.DRPCTailnetClient, error) {
config := yamux.DefaultConfig()
config.LogOutput = nil
config.Logger = slog.Stdlib(context.Background(), logger, slog.LevelInfo)
session, err := yamux.Client(conn, config)
if err != nil {
return nil, xerrors.Errorf("multiplex client: %w", err)
}
return proto.NewDRPCTailnetClient(drpc.MultiplexedConn(session)), nil
}