From 528f0ff22264e1428bcfa9686e3fc0aa550fee69 Mon Sep 17 00:00:00 2001 From: seanly liu Date: Wed, 21 Jun 2023 06:40:14 +0000 Subject: [PATCH] Add --secret argument Signed-off-by: seanly liu --- file/file.go | 5 +++++ main.go | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/file/file.go b/file/file.go index 9f9cdc9..762b59c 100644 --- a/file/file.go +++ b/file/file.go @@ -40,6 +40,7 @@ type Dapperfile struct { NoContext bool MountSuffix string Target string + Secret string } func Lookup(file string) (*Dapperfile, error) { @@ -249,6 +250,10 @@ func (d *Dapperfile) build(args []string, copy bool) (string, error) { buildArgs = append(buildArgs, "--target", d.Target) } + if d.Secret != "" { + buildArgs = append(buildArgs, "--secret", d.Secret) + } + for _, v := range d.Args { buildArgs = append(buildArgs, "--build-arg", v) } diff --git a/main.go b/main.go index fcc619b..92d4f59 100644 --- a/main.go +++ b/main.go @@ -97,6 +97,10 @@ func main() { Name: "target", Usage: "The multistage build target to use", }, + cli.StringFlag{ + Name: "secret", + Usage: " Secret to expose to the build (format: id=mysecret[,src=/local/secret])", + }, } app.Action = func(c *cli.Context) { exit(run(c)) @@ -131,6 +135,7 @@ func run(c *cli.Context) error { dapperFile.NoContext = c.Bool("no-context") dapperFile.MountSuffix = c.String("mount-suffix") dapperFile.Target = c.String("target") + dapperFile.Secret = c.String("secret") if shell { return dapperFile.Shell(c.Args())