aboutsummaryrefslogtreecommitdiff
path: root/pkg/bindings/images
diff options
context:
space:
mode:
authorDaniel J Walsh <dwalsh@redhat.com>2021-06-11 06:25:06 -0400
committerDaniel J Walsh <dwalsh@redhat.com>2021-06-11 06:28:28 -0400
commit3a65ba2fab7a9790a8a9652178929e4290ee76b4 (patch)
tree4f284fbf8a3210358230b8a39b3445535c10cd49 /pkg/bindings/images
parenta634b2cd5977c60f1907733efe07b61ba36271fb (diff)
downloadpodman-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.go16
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)