pass caller context by metadata to daemon

This commit is contained in:
shatoboar
2022-05-20 16:59:53 +02:00
parent 77e58295e7
commit 252f92c029
17 changed files with 209 additions and 147 deletions

View File

@@ -3,10 +3,12 @@ package cmd
import (
"context"
"fmt"
"time"
"github.com/skratchdot/open-golang/open"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/metadata"
gstatus "google.golang.org/grpc/status"
"time"
"github.com/netbirdio/netbird/util"
@@ -66,6 +68,10 @@ var loginCmd = &cobra.Command{
err = WithBackOff(func() error {
var backOffErr error
md := metadata.New(map[string]string{"caller": "cli"})
ctx = metadata.NewOutgoingContext(ctx, md)
loginResp, backOffErr = client.Login(ctx, &loginRequest)
if s, ok := gstatus.FromError(backOffErr); ok && (s.Code() == codes.InvalidArgument ||
s.Code() == codes.PermissionDenied ||

View File

@@ -114,7 +114,7 @@ func FlagNameToEnvVar(f string) string {
return prefix + upper
}
// DialClientGRPCServer returns client connection to the dameno server.
// DialClientGRPCServer returns client connection to the daemon server.
func DialClientGRPCServer(ctx context.Context, addr string) (*grpc.ClientConn, error) {
ctx, cancel := context.WithTimeout(ctx, time.Second*3)
defer cancel()