Skip to content

Commit 3898cd5

Browse files
committed
config: fix file/folder ownership
Signed-off-by: CrazyMax <[email protected]>
1 parent 1de3325 commit 3898cd5

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+2512
-121
lines changed

build/build.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -151,11 +151,11 @@ func toRepoOnly(in string) (string, error) {
151151
return strings.Join(out, ","), nil
152152
}
153153

154-
func Build(ctx context.Context, nodes []builder.Node, opts map[string]Options, docker *dockerutil.Client, configDir string, w progress.Writer) (resp map[string]*client.SolveResponse, err error) {
155-
return BuildWithResultHandler(ctx, nodes, opts, docker, configDir, w, nil)
154+
func Build(ctx context.Context, nodes []builder.Node, opts map[string]Options, docker *dockerutil.Client, cfg *confutil.Config, w progress.Writer) (resp map[string]*client.SolveResponse, err error) {
155+
return BuildWithResultHandler(ctx, nodes, opts, docker, cfg, w, nil)
156156
}
157157

158-
func BuildWithResultHandler(ctx context.Context, nodes []builder.Node, opts map[string]Options, docker *dockerutil.Client, configDir string, w progress.Writer, resultHandleFunc func(driverIndex int, rCtx *ResultHandle)) (resp map[string]*client.SolveResponse, err error) {
158+
func BuildWithResultHandler(ctx context.Context, nodes []builder.Node, opts map[string]Options, docker *dockerutil.Client, cfg *confutil.Config, w progress.Writer, resultHandleFunc func(driverIndex int, rCtx *ResultHandle)) (resp map[string]*client.SolveResponse, err error) {
159159
if len(nodes) == 0 {
160160
return nil, errors.Errorf("driver required for build")
161161
}
@@ -234,12 +234,12 @@ func BuildWithResultHandler(ctx context.Context, nodes []builder.Node, opts map[
234234
return nil, err
235235
}
236236
localOpt := opt
237-
so, release, err := toSolveOpt(ctx, np.Node(), multiDriver, &localOpt, gatewayOpts, configDir, w, docker)
237+
so, release, err := toSolveOpt(ctx, np.Node(), multiDriver, &localOpt, gatewayOpts, cfg, w, docker)
238238
opts[k] = localOpt
239239
if err != nil {
240240
return nil, err
241241
}
242-
if err := saveLocalState(so, k, opt, np.Node(), configDir); err != nil {
242+
if err := saveLocalState(so, k, opt, np.Node(), cfg); err != nil {
243243
return nil, err
244244
}
245245
addGitAttrs(so)

build/localstate.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,11 @@ import (
55

66
"github.com/docker/buildx/builder"
77
"github.com/docker/buildx/localstate"
8+
"github.com/docker/buildx/util/confutil"
89
"github.com/moby/buildkit/client"
910
)
1011

11-
func saveLocalState(so *client.SolveOpt, target string, opts Options, node builder.Node, configDir string) error {
12+
func saveLocalState(so *client.SolveOpt, target string, opts Options, node builder.Node, cfg *confutil.Config) error {
1213
var err error
1314
if so.Ref == "" {
1415
return nil
@@ -30,7 +31,7 @@ func saveLocalState(so *client.SolveOpt, target string, opts Options, node build
3031
if lp == "" && dp == "" {
3132
return nil
3233
}
33-
l, err := localstate.New(configDir)
34+
l, err := localstate.New(cfg)
3435
if err != nil {
3536
return err
3637
}

build/opt.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ import (
3535
"github.com/tonistiigi/fsutil"
3636
)
3737

38-
func toSolveOpt(ctx context.Context, node builder.Node, multiDriver bool, opt *Options, bopts gateway.BuildOpts, configDir string, pw progress.Writer, docker *dockerutil.Client) (_ *client.SolveOpt, release func(), err error) {
38+
func toSolveOpt(ctx context.Context, node builder.Node, multiDriver bool, opt *Options, bopts gateway.BuildOpts, cfg *confutil.Config, pw progress.Writer, docker *dockerutil.Client) (_ *client.SolveOpt, release func(), err error) {
3939
nodeDriver := node.Driver
4040
defers := make([]func(), 0, 2)
4141
releaseF := func() {
@@ -271,7 +271,7 @@ func toSolveOpt(ctx context.Context, node builder.Node, multiDriver bool, opt *O
271271

272272
// add node identifier to shared key if one was specified
273273
if so.SharedKey != "" {
274-
so.SharedKey += ":" + confutil.TryNodeIdentifier(configDir)
274+
so.SharedKey += ":" + cfg.TryNodeIdentifier()
275275
}
276276

277277
if opt.Pull {

builder/builder.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -439,7 +439,7 @@ func Create(ctx context.Context, txn *store.Txn, dockerCli command.Cli, opts Cre
439439
if buildkitdConfigFile == "" {
440440
// if buildkit daemon config is not provided, check if the default one
441441
// is available and use it
442-
if f, ok := confutil.DefaultConfigFile(dockerCli); ok {
442+
if f, ok := confutil.NewConfig(dockerCli).BuildKitConfigFile(); ok {
443443
buildkitdConfigFile = f
444444
}
445445
}
@@ -584,7 +584,7 @@ func Leave(ctx context.Context, txn *store.Txn, dockerCli command.Cli, opts Leav
584584
return err
585585
}
586586

587-
ls, err := localstate.New(confutil.ConfigDir(dockerCli))
587+
ls, err := localstate.New(confutil.NewConfig(dockerCli))
588588
if err != nil {
589589
return err
590590
}

commands/bake.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ func runBake(ctx context.Context, dockerCli command.Cli, targets []string, in ba
265265
}
266266

267267
done := timeBuildCommand(mp, attributes)
268-
resp, retErr := build.Build(ctx, nodes, bo, dockerutil.NewClient(dockerCli), confutil.ConfigDir(dockerCli), printer)
268+
resp, retErr := build.Build(ctx, nodes, bo, dockerutil.NewClient(dockerCli), confutil.NewConfig(dockerCli), printer)
269269
if err := printer.Wait(); retErr == nil {
270270
retErr = err
271271
}
@@ -470,7 +470,7 @@ func saveLocalStateGroup(dockerCli command.Cli, in bakeOptions, targets []string
470470
refs = append(refs, b.Ref)
471471
bo[k] = b
472472
}
473-
l, err := localstate.New(confutil.ConfigDir(dockerCli))
473+
l, err := localstate.New(confutil.NewConfig(dockerCli))
474474
if err != nil {
475475
return err
476476
}
@@ -621,7 +621,7 @@ func bakeMetricAttributes(dockerCli command.Cli, driverType, url, cmdContext str
621621
commandNameAttribute.String("bake"),
622622
attribute.Stringer(string(commandOptionsHash), &bakeOptionsHash{
623623
bakeOptions: options,
624-
configDir: confutil.ConfigDir(dockerCli),
624+
cfg: confutil.NewConfig(dockerCli),
625625
url: url,
626626
cmdContext: cmdContext,
627627
targets: targets,
@@ -633,7 +633,7 @@ func bakeMetricAttributes(dockerCli command.Cli, driverType, url, cmdContext str
633633

634634
type bakeOptionsHash struct {
635635
*bakeOptions
636-
configDir string
636+
cfg *confutil.Config
637637
url string
638638
cmdContext string
639639
targets []string
@@ -657,7 +657,7 @@ func (o *bakeOptionsHash) String() string {
657657

658658
joinedFiles := strings.Join(files, ",")
659659
joinedTargets := strings.Join(targets, ",")
660-
salt := confutil.TryNodeIdentifier(o.configDir)
660+
salt := o.cfg.TryNodeIdentifier()
661661

662662
h := sha256.New()
663663
for _, s := range []string{url, cmdContext, joinedFiles, joinedTargets, salt} {

commands/build.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,7 @@ func buildMetricAttributes(dockerCli command.Cli, driverType string, options *bu
238238
commandNameAttribute.String("build"),
239239
attribute.Stringer(string(commandOptionsHash), &buildOptionsHash{
240240
buildOptions: options,
241-
configDir: confutil.ConfigDir(dockerCli),
241+
cfg: confutil.NewConfig(dockerCli),
242242
}),
243243
driverNameAttribute.String(options.builder),
244244
driverTypeAttribute.String(driverType),
@@ -250,7 +250,7 @@ func buildMetricAttributes(dockerCli command.Cli, driverType string, options *bu
250250
// the fmt.Stringer interface.
251251
type buildOptionsHash struct {
252252
*buildOptions
253-
configDir string
253+
cfg *confutil.Config
254254
result string
255255
resultOnce sync.Once
256256
}
@@ -267,7 +267,7 @@ func (o *buildOptionsHash) String() string {
267267
if contextPath != "-" && osutil.IsLocalDir(contextPath) {
268268
contextPath = osutil.ToAbs(contextPath)
269269
}
270-
salt := confutil.TryNodeIdentifier(o.configDir)
270+
salt := o.cfg.TryNodeIdentifier()
271271

272272
h := sha256.New()
273273
for _, s := range []string{target, contextPath, dockerfile, salt} {

controller/build/build.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -214,15 +214,15 @@ func buildTargets(ctx context.Context, dockerCli command.Cli, nodes []builder.No
214214
if generateResult {
215215
var mu sync.Mutex
216216
var idx int
217-
resp, err = build.BuildWithResultHandler(ctx, nodes, opts, dockerutil.NewClient(dockerCli), confutil.ConfigDir(dockerCli), progress, func(driverIndex int, gotRes *build.ResultHandle) {
217+
resp, err = build.BuildWithResultHandler(ctx, nodes, opts, dockerutil.NewClient(dockerCli), confutil.NewConfig(dockerCli), progress, func(driverIndex int, gotRes *build.ResultHandle) {
218218
mu.Lock()
219219
defer mu.Unlock()
220220
if res == nil || driverIndex < idx {
221221
idx, res = driverIndex, gotRes
222222
}
223223
})
224224
} else {
225-
resp, err = build.Build(ctx, nodes, opts, dockerutil.NewClient(dockerCli), confutil.ConfigDir(dockerCli), progress)
225+
resp, err = build.Build(ctx, nodes, opts, dockerutil.NewClient(dockerCli), confutil.NewConfig(dockerCli), progress)
226226
}
227227
if err != nil {
228228
return nil, res, err

controller/remote/controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,7 @@ func prepareRootDir(dockerCli command.Cli, config *serverConfig) (string, error)
258258
}
259259

260260
func rootDataDir(dockerCli command.Cli) string {
261-
return filepath.Join(confutil.ConfigDir(dockerCli), "controller")
261+
return filepath.Join(confutil.NewConfig(dockerCli).Dir(), "controller")
262262
}
263263

264264
func newBuildxClientAndCheck(ctx context.Context, addr string) (*Client, error) {

go.mod

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,7 @@ require (
147147
github.com/secure-systems-lab/go-securesystemslib v0.4.0 // indirect
148148
github.com/shibumi/go-pathspec v1.3.0 // indirect
149149
github.com/theupdateframework/notary v0.7.0 // indirect
150+
github.com/tonistiigi/dchapes-mode v0.0.0-20241001053921-ca0759fec205 // indirect
150151
github.com/tonistiigi/units v0.0.0-20180711220420-6950e57a87ea // indirect
151152
github.com/tonistiigi/vt100 v0.0.0-20240514184818-90bafcd6abab // indirect
152153
github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect

go.sum

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -439,6 +439,8 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT
439439
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
440440
github.com/theupdateframework/notary v0.7.0 h1:QyagRZ7wlSpjT5N2qQAh/pN+DVqgekv4DzbAiAiEL3c=
441441
github.com/theupdateframework/notary v0.7.0/go.mod h1:c9DRxcmhHmVLDay4/2fUYdISnHqbFDGRSlXPO0AhYWw=
442+
github.com/tonistiigi/dchapes-mode v0.0.0-20241001053921-ca0759fec205 h1:eUk79E1w8yMtXeHSzjKorxuC8qJOnyXQnLaJehxpJaI=
443+
github.com/tonistiigi/dchapes-mode v0.0.0-20241001053921-ca0759fec205/go.mod h1:3Iuxbr0P7D3zUzBMAZB+ois3h/et0shEz0qApgHYGpY=
442444
github.com/tonistiigi/fsutil v0.0.0-20241003195857-3f140a1299b0 h1:H9++AiQUqjwrOMA/DOpWhxWp3JLyyT+MN4sRPbMmwoY=
443445
github.com/tonistiigi/fsutil v0.0.0-20241003195857-3f140a1299b0/go.mod h1:Dl/9oEjK7IqnjAm21Okx/XIxUCFJzvh+XdVHUlBwXTw=
444446
github.com/tonistiigi/go-csvvalue v0.0.0-20240710180619-ddb21b71c0b4 h1:7I5c2Ig/5FgqkYOh/N87NzoyI9U15qUPXhDD8uCupv8=

0 commit comments

Comments
 (0)