mirror of
https://github.com/moby/moby.git
synced 2026-01-11 18:51:37 +00:00
Use the roundtripper during build
The roundtripper is responsible for giving back the build context when it comes from a tar directly. So we add it to the source manager of the containerd worker. Signed-off-by: Djordje Lukic <djordje.lukic@docker.com>
This commit is contained in:
@@ -148,7 +148,7 @@ func newSnapshotterController(ctx context.Context, rt http.RoundTripper, opt Opt
|
||||
}
|
||||
wo.Executor = exec
|
||||
|
||||
w, err := mobyworker.NewContainerdWorker(ctx, wo, opt.Callbacks)
|
||||
w, err := mobyworker.NewContainerdWorker(ctx, wo, opt.Callbacks, rt)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -2,11 +2,14 @@ package worker
|
||||
|
||||
import (
|
||||
"context"
|
||||
nethttp "net/http"
|
||||
|
||||
"github.com/containerd/log"
|
||||
"github.com/docker/docker/builder/builder-next/exporter"
|
||||
"github.com/moby/buildkit/client"
|
||||
bkexporter "github.com/moby/buildkit/exporter"
|
||||
"github.com/moby/buildkit/session"
|
||||
"github.com/moby/buildkit/source/http"
|
||||
"github.com/moby/buildkit/worker/base"
|
||||
)
|
||||
|
||||
@@ -17,11 +20,21 @@ type ContainerdWorker struct {
|
||||
}
|
||||
|
||||
// NewContainerdWorker instantiates a local worker.
|
||||
func NewContainerdWorker(ctx context.Context, wo base.WorkerOpt, callbacks exporter.BuildkitCallbacks) (*ContainerdWorker, error) {
|
||||
func NewContainerdWorker(ctx context.Context, wo base.WorkerOpt, callbacks exporter.BuildkitCallbacks, rt nethttp.RoundTripper) (*ContainerdWorker, error) {
|
||||
bw, err := base.NewWorker(ctx, wo)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
hs, err := http.NewSource(http.Opt{
|
||||
CacheAccessor: bw.CacheManager(),
|
||||
Transport: rt,
|
||||
})
|
||||
if err == nil {
|
||||
bw.SourceManager.Register(hs)
|
||||
} else {
|
||||
log.G(ctx).Warnf("Could not register builder http source: %s", err)
|
||||
}
|
||||
|
||||
return &ContainerdWorker{Worker: bw, callbacks: callbacks}, nil
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user