mirror of
https://github.com/hanzo-fi/stack.git
synced 2026-10-30 20:34:43 +00:00
25 lines
832 B
Go
25 lines
832 B
Go
package grpc
|
|
|
|
import (
|
|
"context"
|
|
|
|
membershipgrpc "github.com/formancehq/stack/components/agent/internal/grpc/generated"
|
|
sharedlogging "github.com/formancehq/stack/libs/go-libs/logging"
|
|
"go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc"
|
|
"google.golang.org/grpc"
|
|
)
|
|
|
|
func Connect(ctx context.Context, addr string, opts ...grpc.DialOption) (membershipgrpc.ServerClient, error) {
|
|
sharedlogging.FromContext(ctx).Infof("Connect to GRPC server at %s", addr)
|
|
opts = append(opts,
|
|
grpc.WithUnaryInterceptor(otelgrpc.UnaryClientInterceptor()),
|
|
grpc.WithStreamInterceptor(otelgrpc.StreamClientInterceptor()),
|
|
)
|
|
conn, err := grpc.Dial(addr, opts...)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
sharedlogging.FromContext(ctx).Info("Connected to GRPC server!")
|
|
return membershipgrpc.NewServerClient(conn), nil
|
|
}
|