diff options
author | Daniel J Walsh <dwalsh@redhat.com> | 2021-06-11 06:25:06 -0400 |
---|---|---|
committer | Matthew Heon <mheon@redhat.com> | 2021-06-24 14:08:57 -0400 |
commit | 90805fa39fbd89e343cdbcd0f97edec1bc635a51 (patch) | |
tree | ff9d7524a479870c7f398850635c4374547a2885 /pkg | |
parent | 854c27c0a02f1c2e3d8ebd2473f639e6bd9b5251 (diff) | |
download | podman-90805fa39fbd89e343cdbcd0f97edec1bc635a51.tar.gz podman-90805fa39fbd89e343cdbcd0f97edec1bc635a51.tar.bz2 podman-90805fa39fbd89e343cdbcd0f97edec1bc635a51.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')
-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) |