Skip to content

Commit 4536571

Browse files
🐛 Updates to socket comms changes (#942)
1 parent e85bc0b commit 4536571

File tree

3 files changed

+19
-7
lines changed

3 files changed

+19
-7
lines changed

external-providers/generic-external-provider/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ RUN go mod edit -replace=github.com/konveyor/analyzer-lsp=/analyzer-lsp && go mo
1414

1515
RUN go build -o generic-external-provider main.go && go install golang.org/x/tools/[email protected]
1616

17-
FROM golang-dep-provider as go-dep-provider
17+
FROM quay.io/konveyor/golang-dependency-provider as go-dep-provider
1818

1919
FROM registry.access.redhat.com/ubi9/ubi-minimal:latest
2020

lsp/base_service_client/base_service_client.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,8 +162,8 @@ func NewLSPServiceClientBase(
162162
return nil, fmt.Errorf("base config unmarshal error: %w", err)
163163
}
164164

165-
if sc.BaseConfig.LspServerPath == "" {
166-
return nil, fmt.Errorf("must provide lspServerPath")
165+
if sc.BaseConfig.LspServerPath == "" && c.RPC == nil {
166+
return nil, fmt.Errorf("must provide lspServerPath when RPC connection is not provided")
167167
}
168168

169169
if sc.BaseConfig.LspServerName == "" {

provider/grpc/provider.go

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
"fmt"
77
"io"
88
"os/exec"
9+
"strings"
910
"time"
1011

1112
"github.com/go-logr/logr"
@@ -304,10 +305,21 @@ func start(ctx context.Context, config provider.Config, log logr.Logger) (*grpc.
304305
}
305306
if config.Address != "" {
306307
if config.CertPath == "" {
307-
conn, err := grpc.NewClient(fmt.Sprintf(config.Address),
308-
grpc.WithDefaultCallOptions(grpc.MaxCallRecvMsgSize(socket.MAX_MESSAGE_SIZE)),
309-
grpc.WithTransportCredentials(insecure.NewCredentials()),
310-
)
308+
var conn *grpc.ClientConn
309+
var err error
310+
311+
if config.UseSocket && strings.HasPrefix(config.Address, "unix://") {
312+
// Use socket connection
313+
// for windows, we will ise passthrough to connect to the socket
314+
// which is defined in the socket/pipe_windows.go file
315+
conn, err = socket.ConnectGRPC(config.Address)
316+
} else {
317+
// Use regular HTTP connection
318+
conn, err = grpc.NewClient(fmt.Sprintf(config.Address),
319+
grpc.WithDefaultCallOptions(grpc.MaxCallRecvMsgSize(socket.MAX_MESSAGE_SIZE)),
320+
grpc.WithTransportCredentials(insecure.NewCredentials()),
321+
)
322+
}
311323
if err != nil {
312324
log.Error(err, "did not connect")
313325
return nil, nil, err

0 commit comments

Comments
 (0)