diff options
author | Daniel J Walsh <dwalsh@redhat.com> | 2021-06-11 06:25:06 -0400 |
---|---|---|
committer | Daniel J Walsh <dwalsh@redhat.com> | 2021-06-11 06:28:28 -0400 |
commit | 3a65ba2fab7a9790a8a9652178929e4290ee76b4 (patch) | |
tree | 4f284fbf8a3210358230b8a39b3445535c10cd49 /pkg/bindings/images | |
parent | a634b2cd5977c60f1907733efe07b61ba36271fb (diff) | |
download | podman-3a65ba2fab7a9790a8a9652178929e4290ee76b4.tar.gz podman-3a65ba2fab7a9790a8a9652178929e4290ee76b4.tar.bz2 podman-3a65ba2fab7a9790a8a9652178929e4290ee76b4.zip |
Add support for podman remote build -f - .
Fixes: https://github.com/containers/podman/issues/10621
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
Diffstat (limited to 'pkg/bindings/images')
-rw-r--r-- | pkg/bindings/images/build.go | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/pkg/bindings/images/build.go b/pkg/bindings/images/build.go index c7d432b16..937d05330 100644 --- a/pkg/bindings/images/build.go +++ b/pkg/bindings/images/build.go @@ -299,6 +299,22 @@ func Build(ctx context.Context, containerFiles []string, options entities.BuildO tarContent := []string{options.ContextDirectory} newContainerFiles := []string{} for _, c := range containerFiles { + if c == "/dev/stdin" { + content, err := ioutil.ReadAll(os.Stdin) + if err != nil { + return nil, err + } + tmpFile, err := ioutil.TempFile("", "build") + if err != nil { + return nil, err + } + defer os.Remove(tmpFile.Name()) // clean up + defer tmpFile.Close() + if _, err := tmpFile.Write(content); err != nil { + return nil, err + } + c = tmpFile.Name() + } containerfile, err := filepath.Abs(c) if err != nil { logrus.Errorf("cannot find absolute path of %v: %v", c, err) |