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.
This commit is contained in:
Spike Curtis
2024-01-30 09:58:59 +04:00
committed by GitHub
parent 0eff646c31
commit d3983e4dba
5 changed files with 15 additions and 8 deletions

View File

@ -1,19 +1,21 @@
package tailnet
import (
"io"
"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) (proto.DRPCTailnetClient, error) {
func NewDRPCClient(conn net.Conn, logger slog.Logger) (proto.DRPCTailnetClient, error) {
config := yamux.DefaultConfig()
config.LogOutput = io.Discard
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)