diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2020-05-06 20:34:13 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-06 20:34:13 +0200 |
commit | 8b5df5b5d97facad5bb84fe4597bf7f0059c09fa (patch) | |
tree | 66296d6b47bc9627053bd0b3dadb07059cf711c6 /pkg/bindings/play/play.go | |
parent | 22bf906e8cc440cb3c33b9eed620ae91f447b269 (diff) | |
parent | f269be3a314a0903bb74a20de0e93b4f274531e6 (diff) | |
download | podman-8b5df5b5d97facad5bb84fe4597bf7f0059c09fa.tar.gz podman-8b5df5b5d97facad5bb84fe4597bf7f0059c09fa.tar.bz2 podman-8b5df5b5d97facad5bb84fe4597bf7f0059c09fa.zip |
Merge pull request #6092 from vrothberg/v2-kube
add {generate,play} kube
Diffstat (limited to 'pkg/bindings/play/play.go')
-rw-r--r-- | pkg/bindings/play/play.go | 42 |
1 files changed, 39 insertions, 3 deletions
diff --git a/pkg/bindings/play/play.go b/pkg/bindings/play/play.go index a6f03cad2..653558a3c 100644 --- a/pkg/bindings/play/play.go +++ b/pkg/bindings/play/play.go @@ -1,7 +1,43 @@ package play -import "github.com/containers/libpod/pkg/bindings" +import ( + "context" + "net/http" + "net/url" + "os" + "strconv" -func PlayKube() error { - return bindings.ErrNotImplemented + "github.com/containers/image/v5/types" + "github.com/containers/libpod/pkg/bindings" + "github.com/containers/libpod/pkg/domain/entities" +) + +func PlayKube(ctx context.Context, path string, options entities.PlayKubeOptions) (*entities.PlayKubeReport, error) { + var report entities.PlayKubeReport + conn, err := bindings.GetClient(ctx) + if err != nil { + return nil, err + } + + f, err := os.Open(path) + if err != nil { + return nil, err + } + defer f.Close() + + params := url.Values{} + params.Set("network", options.Network) + if options.SkipTLSVerify != types.OptionalBoolUndefined { + params.Set("tlsVerify", strconv.FormatBool(options.SkipTLSVerify == types.OptionalBoolTrue)) + } + + response, err := conn.DoRequest(f, http.MethodPost, "/play/kube", params) + if err != nil { + return nil, err + } + if err := response.Process(&report); err != nil { + return nil, err + } + + return &report, nil } |