Prevent gRPC clients from trying to load the server's identity by calling `mtls.NewRemoteServiceIdentity` (which only returns a stub identity) and changing the `NewGrpcClient` function signature to accept a string instead of an Identity.
flag.Parse()
clientId := mtls.DefaultIdentity()
- serverId := mtls.NewServiceIdentity("attest")
- client, err := grpc.NewGrpcClient(ctx, serverId, clientId)
+ client, err := grpc.NewGrpcClient(ctx, "attest", clientId)
if err != nil {
panic(err)
}
logger := log.Default().WithPrefix("BrystonCtlClient")
clientId := mtls.DefaultIdentity()
- serverId := mtls.NewServiceIdentity("bryston_ctl")
- client, err := grpc.NewGrpcClient(ctx, serverId, clientId)
+ client, err := grpc.NewGrpcClient(ctx, "bryston_ctl", clientId)
if err != nil {
logger.Panic(err)
}
logger := log.Default().WithPrefix("EchoClient")
clientId := mtls.DefaultIdentity()
- serverId := mtls.NewServiceIdentity("echo")
- client, err := grpc.NewGrpcClient(ctx, serverId, clientId)
+ client, err := grpc.NewGrpcClient(ctx, "echo", clientId)
if err != nil {
logger.Panic(err)
}
func main() {
var err error
+ mtls.SetDefaultIdentity("echo")
flag.Parse()
var conn *grpc.ClientConn
for {
- client, err := grpc.NewGrpcClient(ctx, mtls.NewServiceIdentity(*serverId), mtls.DefaultIdentity(), opts...)
+ client, err := grpc.NewGrpcClient(ctx, *serverId, mtls.DefaultIdentity(), opts...)
if err != nil {
if *wait && time.Now().Before(deadline) {
log.Default().Warningf("error connecting (%v) retrying in 1s", err)
func (c *clientImpl) grpcClient() (ephs_pb.EphsClient, error) {
var err error
- serverId := mtls.NewRemoteServiceIdentity("ephs")
if c.client == nil {
- c.client, err = grpc.NewGrpcClient(c.defaultCtx, serverId, c.id,
+ c.client, err = grpc.NewGrpcClient(c.defaultCtx, "ephs", c.id,
grpc.WithConnectionFactory(&grpc_common.QUICConnectionFactory{
QUICConfig: ephsQuicConfig.Clone(),
}))
})
}
-func NewGrpcClient(ctx context.Context, serverId, clientId mtls.Identity, opts ...ClientOption) (Client, error) {
+func NewGrpcClient(ctx context.Context, serverId string, clientId mtls.Identity, opts ...ClientOption) (Client, error) {
cl := &client{
ctx: ctx,
- serverId: serverId,
+ serverId: mtls.NewRemoteServiceIdentity(serverId),
clientId: clientId,
connFac: common.NewDefaultConnectionFactory(),
}
}
cl.watcher = &sd.SDWatcher{
- Service: serverId.Name(),
+ Service: cl.serverId.Name(),
EtcdClient: etcdc,
Protocol: sd.ProtocolGRPC,
}