diff --git a/cmd/docker-buildx/config.go b/cmd/docker-buildx/config.go index 7c7b219..87046d0 100644 --- a/cmd/docker-buildx/config.go +++ b/cmd/docker-buildx/config.go @@ -183,7 +183,7 @@ func settingsFlags(settings *plugin.Settings) []cli.Flag { Usage: "forwards environment variables as custom arguments to the build", Destination: &settings.Build.ArgsEnv, }, - &cli.StringFlag{ + &cli.StringSliceFlag{ Name: "secret", EnvVars: []string{"PLUGIN_SECRET"}, Usage: "sets custom secret argument for the build", diff --git a/plugin/docker.go b/plugin/docker.go index 43ea8d7..25e7202 100644 --- a/plugin/docker.go +++ b/plugin/docker.go @@ -94,8 +94,8 @@ func commandBuild(build Build, dryrun bool) *exec.Cmd { for _, arg := range append(defaultBuildArgs, build.Args.Value()...) { args = append(args, "--build-arg", arg) } - if build.Secret != "" { - args = append(args, "--secret", build.Secret) + for _, secret := range build.Secret.Value() { + args = append(args, "--secret", secret) } for _, host := range build.AddHost.Value() { args = append(args, "--add-host", host) diff --git a/plugin/impl.go b/plugin/impl.go index 9546e0a..5d6af2c 100644 --- a/plugin/impl.go +++ b/plugin/impl.go @@ -69,7 +69,7 @@ type Build struct { Platforms cli.StringSlice // Docker build target platforms Args cli.StringSlice // Docker build args ArgsEnv cli.StringSlice // Docker build args from env - Secret string // Docker build secret + Secret cli.StringSlice // Docker build secret Target string // Docker build target Output string // Docker build output Pull bool // Docker build pull