aboutsummaryrefslogtreecommitdiff
path: root/pkg/bindings
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2020-06-03 00:02:20 +0200
committerGitHub <noreply@github.com>2020-06-03 00:02:20 +0200
commit26bb48951fa55924fd4cdb9b2ef72e19a471b959 (patch)
tree202118fd8fe72e215b9795cb8d1f506a69dc62cb /pkg/bindings
parent4632a4b706e94fce7f85e53659dd04484d988ac7 (diff)
parent69020c7040415b532f4fe5aaaacdbd288a67b71e (diff)
downloadpodman-26bb48951fa55924fd4cdb9b2ef72e19a471b959.tar.gz
podman-26bb48951fa55924fd4cdb9b2ef72e19a471b959.tar.bz2
podman-26bb48951fa55924fd4cdb9b2ef72e19a471b959.zip
Merge pull request #6468 from mheon/remote_detached_exec
Enable detached exec for remote
Diffstat (limited to 'pkg/bindings')
-rw-r--r--pkg/bindings/containers/exec.go29
1 files changed, 29 insertions, 0 deletions
diff --git a/pkg/bindings/containers/exec.go b/pkg/bindings/containers/exec.go
index 2aeeae1f8..73cfb5079 100644
--- a/pkg/bindings/containers/exec.go
+++ b/pkg/bindings/containers/exec.go
@@ -1,6 +1,7 @@
package containers
import (
+ "bytes"
"context"
"net/http"
"strings"
@@ -69,3 +70,31 @@ func ExecInspect(ctx context.Context, sessionID string) (*define.InspectExecSess
return respStruct, nil
}
+
+// ExecStart starts (but does not attach to) a given exec session.
+func ExecStart(ctx context.Context, sessionID string) error {
+ conn, err := bindings.GetClient(ctx)
+ if err != nil {
+ return err
+ }
+
+ logrus.Debugf("Starting exec session ID %q", sessionID)
+
+ // We force Detach to true
+ body := struct {
+ Detach bool `json:"Detach"`
+ }{
+ Detach: true,
+ }
+ bodyJSON, err := json.Marshal(body)
+ if err != nil {
+ return err
+ }
+
+ resp, err := conn.DoRequest(bytes.NewReader(bodyJSON), http.MethodPost, "/exec/%s/start", nil, nil, sessionID)
+ if err != nil {
+ return err
+ }
+
+ return resp.Process(nil)
+}