@@ -86,7 +86,7 @@ func filterPrefix(opts map[string]string, pfx string) map[string]string {
86
86
return m
87
87
}
88
88
89
- func (gf * gatewayFrontend ) Solve (ctx context.Context , llbBridge frontend.FrontendLLBBridge , opts map [string ]string , inputs map [string ]* opspb.Definition , sid string , sm * session.Manager ) (* frontend.Result , error ) {
89
+ func (gf * gatewayFrontend ) Solve (ctx context.Context , llbBridge frontend.FrontendLLBBridge , exec executor. Executor , opts map [string ]string , inputs map [string ]* opspb.Definition , sid string , sm * session.Manager ) (* frontend.Result , error ) {
90
90
source , ok := opts [keySource ]
91
91
if ! ok {
92
92
return nil , errors .Errorf ("no source specified for gateway" )
@@ -141,7 +141,7 @@ func (gf *gatewayFrontend) Solve(ctx context.Context, llbBridge frontend.Fronten
141
141
}
142
142
}
143
143
} else {
144
- c , err := forwarder .LLBBridgeToGatewayClient (ctx , llbBridge , opts , inputs , gf .workers , sid , sm )
144
+ c , err := forwarder .LLBBridgeToGatewayClient (ctx , llbBridge , exec , opts , inputs , gf .workers , sid , sm )
145
145
if err != nil {
146
146
return nil , err
147
147
}
@@ -281,18 +281,13 @@ func (gf *gatewayFrontend) Solve(ctx context.Context, llbBridge frontend.Fronten
281
281
}
282
282
}
283
283
284
- lbf , ctx , err := serveLLBBridgeForwarder (ctx , llbBridge , gf .workers , inputs , sid , sm )
284
+ lbf , ctx , err := serveLLBBridgeForwarder (ctx , llbBridge , exec , gf .workers , inputs , sid , sm )
285
285
defer lbf .conn .Close () //nolint
286
286
if err != nil {
287
287
return nil , err
288
288
}
289
289
defer lbf .Discard ()
290
290
291
- w , err := gf .workers .GetDefault ()
292
- if err != nil {
293
- return nil , err
294
- }
295
-
296
291
mdmnt , release , err := metadataMount (frontendDef )
297
292
if err != nil {
298
293
return nil , err
@@ -305,7 +300,7 @@ func (gf *gatewayFrontend) Solve(ctx context.Context, llbBridge frontend.Fronten
305
300
mnts = append (mnts , * mdmnt )
306
301
}
307
302
308
- _ , err = w . Executor () .Run (ctx , "" , container .MountWithSession (rootFS , session .NewGroup (sid )), mnts , executor.ProcessInfo {Meta : meta , Stdin : lbf .Stdin , Stdout : lbf .Stdout , Stderr : os .Stderr }, nil )
303
+ _ , err = exec .Run (ctx , "" , container .MountWithSession (rootFS , session .NewGroup (sid )), mnts , executor.ProcessInfo {Meta : meta , Stdin : lbf .Stdin , Stdout : lbf .Stdout , Stderr : os .Stderr }, nil )
309
304
if err != nil {
310
305
if errdefs .IsCanceled (ctx , err ) && lbf .isErrServerClosed {
311
306
err = errors .Errorf ("frontend grpc server closed unexpectedly" )
@@ -434,11 +429,11 @@ func (lbf *llbBridgeForwarder) Result() (*frontend.Result, error) {
434
429
return lbf .result , nil
435
430
}
436
431
437
- func NewBridgeForwarder (ctx context.Context , llbBridge frontend.FrontendLLBBridge , workers worker.Infos , inputs map [string ]* opspb.Definition , sid string , sm * session.Manager ) LLBBridgeForwarder {
438
- return newBridgeForwarder (ctx , llbBridge , workers , inputs , sid , sm )
432
+ func NewBridgeForwarder (ctx context.Context , llbBridge frontend.FrontendLLBBridge , exec executor. Executor , workers worker.Infos , inputs map [string ]* opspb.Definition , sid string , sm * session.Manager ) LLBBridgeForwarder {
433
+ return newBridgeForwarder (ctx , llbBridge , exec , workers , inputs , sid , sm )
439
434
}
440
435
441
- func newBridgeForwarder (ctx context.Context , llbBridge frontend.FrontendLLBBridge , workers worker.Infos , inputs map [string ]* opspb.Definition , sid string , sm * session.Manager ) * llbBridgeForwarder {
436
+ func newBridgeForwarder (ctx context.Context , llbBridge frontend.FrontendLLBBridge , exec executor. Executor , workers worker.Infos , inputs map [string ]* opspb.Definition , sid string , sm * session.Manager ) * llbBridgeForwarder {
442
437
lbf := & llbBridgeForwarder {
443
438
callCtx : ctx ,
444
439
llbBridge : llbBridge ,
@@ -451,13 +446,14 @@ func newBridgeForwarder(ctx context.Context, llbBridge frontend.FrontendLLBBridg
451
446
sid : sid ,
452
447
sm : sm ,
453
448
ctrs : map [string ]gwclient.Container {},
449
+ executor : exec ,
454
450
}
455
451
return lbf
456
452
}
457
453
458
- func serveLLBBridgeForwarder (ctx context.Context , llbBridge frontend.FrontendLLBBridge , workers worker.Infos , inputs map [string ]* opspb.Definition , sid string , sm * session.Manager ) (* llbBridgeForwarder , context.Context , error ) {
454
+ func serveLLBBridgeForwarder (ctx context.Context , llbBridge frontend.FrontendLLBBridge , exec executor. Executor , workers worker.Infos , inputs map [string ]* opspb.Definition , sid string , sm * session.Manager ) (* llbBridgeForwarder , context.Context , error ) {
459
455
ctx , cancel := context .WithCancel (ctx )
460
- lbf := newBridgeForwarder (ctx , llbBridge , workers , inputs , sid , sm )
456
+ lbf := newBridgeForwarder (ctx , llbBridge , exec , workers , inputs , sid , sm )
461
457
server := grpc .NewServer (grpc .UnaryInterceptor (grpcerrors .UnaryServerInterceptor ), grpc .StreamInterceptor (grpcerrors .StreamServerInterceptor ))
462
458
grpc_health_v1 .RegisterHealthServer (server , health .NewServer ())
463
459
pb .RegisterLLBBridgeServer (server , lbf )
@@ -552,6 +548,7 @@ type llbBridgeForwarder struct {
552
548
isErrServerClosed bool
553
549
sid string
554
550
sm * session.Manager
551
+ executor executor.Executor
555
552
* pipe
556
553
ctrs map [string ]gwclient.Container
557
554
ctrsMu sync.Mutex
@@ -1042,7 +1039,7 @@ func (lbf *llbBridgeForwarder) NewContainer(ctx context.Context, in *pb.NewConta
1042
1039
// and we want the context to live for the duration of the container.
1043
1040
group := session .NewGroup (lbf .sid )
1044
1041
1045
- w , err := lbf .workers .GetDefault ()
1042
+ cm , err := lbf .workers .DefaultCacheManager ()
1046
1043
if err != nil {
1047
1044
return nil , stack .Enable (err )
1048
1045
}
@@ -1052,7 +1049,7 @@ func (lbf *llbBridgeForwarder) NewContainer(ctx context.Context, in *pb.NewConta
1052
1049
return nil , stack .Enable (err )
1053
1050
}
1054
1051
1055
- ctr , err := container .NewContainer (context .Background (), w , lbf .sm , group , ctrReq )
1052
+ ctr , err := container .NewContainer (context .Background (), cm , lbf . executor , lbf .sm , group , ctrReq )
1056
1053
if err != nil {
1057
1054
return nil , stack .Enable (err )
1058
1055
}
0 commit comments