@@ -8,19 +8,15 @@ import (
88
99 "github.com/containerd/platforms"
1010 "github.com/docker/buildx/driver"
11- "github.com/docker/buildx/policy"
1211 "github.com/docker/buildx/store"
1312 "github.com/docker/buildx/store/storeutil"
14- "github.com/docker/buildx/util/confutil"
1513 "github.com/docker/buildx/util/dockerutil"
1614 "github.com/docker/buildx/util/imagetools"
1715 "github.com/docker/buildx/util/platformutil"
1816 "github.com/moby/buildkit/client"
1917 "github.com/moby/buildkit/util/grpcerrors"
20- digest "github.com/opencontainers/go-digest"
2118 ocispecs "github.com/opencontainers/image-spec/specs-go/v1"
2219 "github.com/pkg/errors"
23- "github.com/sirupsen/logrus"
2420 "golang.org/x/sync/errgroup"
2521 "google.golang.org/grpc/codes"
2622)
@@ -51,10 +47,11 @@ func (b *Builder) Nodes() []Node {
5147type LoadNodesOption func (* loadNodesOptions )
5248
5349type loadNodesOptions struct {
54- data bool
55- skipImageOpt bool
56- dialMeta map [string ][]string
57- clientOpt []client.ClientOpt
50+ data bool
51+ skipImageOpt bool
52+ dialMeta map [string ][]string
53+ clientOpt []client.ClientOpt
54+ imageVerifier driver.ImageVerifier
5855}
5956
6057func WithData () LoadNodesOption {
@@ -81,6 +78,12 @@ func WithClientOpt(clientOpt ...client.ClientOpt) LoadNodesOption {
8178 }
8279}
8380
81+ func WithImageVerifier (imageVerifier driver.ImageVerifier ) LoadNodesOption {
82+ return func (o * loadNodesOptions ) {
83+ o .imageVerifier = imageVerifier
84+ }
85+ }
86+
8487// LoadNodes loads and returns nodes for this builder.
8588// TODO: this should be a method on a Node object and lazy load data for each driver.
8689func (b * Builder ) LoadNodes (ctx context.Context , opts ... LoadNodesOption ) (_ []Node , err error ) {
@@ -113,19 +116,6 @@ func (b *Builder) LoadNodes(ctx context.Context, opts ...LoadNodesOption) (_ []N
113116 }
114117 }
115118
116- var imageVerifier driver.ImageVerifier
117- if policy .DefaultPolicyEnabled () {
118- pol := policy .DefaultPolicy (policy.Opt {
119- Log : func (_ logrus.Level , msg string ) {
120- logrus .Debug (msg )
121- },
122- VerifierProvider : policy .SignatureVerifier (confutil .NewConfig (b .opts .dockerCli )),
123- })
124- imageVerifier = func (ctx context.Context , ref string , platform * ocispecs.Platform , resolver policy.SourceMetadataResolver ) (digest.Digest , error ) {
125- return pol .CheckSource (ctx , ref , platform , resolver )
126- }
127- }
128-
129119 for i , n := range b .NodeGroup .Nodes {
130120 func (i int , n store.Node ) {
131121 eg .Go (func () error {
@@ -154,7 +144,7 @@ func (b *Builder) LoadNodes(ctx context.Context, opts ...LoadNodesOption) (_ []N
154144 Files : n .Files ,
155145 DriverOpts : n .DriverOpts ,
156146 Auth : imageopt .Auth ,
157- ImageVerifier : imageVerifier ,
147+ ImageVerifier : lno . imageVerifier ,
158148 Platforms : n .Platforms ,
159149 ContextPathHash : b .opts .contextPathHash ,
160150 DialMeta : lno .dialMeta ,
0 commit comments