feat(agent): add metadata to stream
ci-agent / build (push) Failing after 1m31s

This commit is contained in:
2026-04-04 02:47:50 +03:00
parent ce73e915ca
commit edb1458806
+6 -3
View File
@@ -13,26 +13,30 @@ import (
"golang.org/x/sync/errgroup"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials"
"google.golang.org/grpc/metadata"
)
type CommanderClient struct {
cmder *commander.Commander
wg *sync.WaitGroup
id string
}
func New(
cmder *commander.Commander,
wg *sync.WaitGroup,
id string,
) CommanderClient {
return CommanderClient{cmder, wg}
return CommanderClient{cmder, wg, id}
}
func (self *CommanderClient) HandleCommands(ctx context.Context, srvAddr string, tc credentials.TransportCredentials) error {
cli, err := grpc.NewClient(srvAddr, grpc.WithTransportCredentials(tc))
if err != nil {
return fmt.Errorf("Failed to connect to gRPC: %w", err)
}
ccli := proto.NewCommanderClient(cli)
bidi, err := ccli.Stream(ctx)
bidi, err := ccli.Stream(metadata.NewOutgoingContext(ctx, metadata.MD{"agentid": []string{self.id}}))
if err != nil {
return err
}
@@ -56,7 +60,6 @@ func (self *CommanderClient) recv(bidi grpc.BidiStreamingClient[proto.FinishedCo
}
self.wg.Go(func() {
func() error {
fc, err := self.cmder.Execute(msg)
if err != nil {
return err