aboutsummaryrefslogtreecommitdiff
path: root/pkg/bindings/play/play.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/bindings/play/play.go')
-rw-r--r--pkg/bindings/play/play.go88
1 files changed, 9 insertions, 79 deletions
diff --git a/pkg/bindings/play/play.go b/pkg/bindings/play/play.go
index 0261b0250..d5d649135 100644
--- a/pkg/bindings/play/play.go
+++ b/pkg/bindings/play/play.go
@@ -3,95 +3,25 @@ package play
import (
"context"
"io"
- "net/http"
- "os"
- "strconv"
- "github.com/containers/image/v5/types"
- "github.com/containers/podman/v4/pkg/auth"
- "github.com/containers/podman/v4/pkg/bindings"
+ "github.com/containers/podman/v4/pkg/bindings/kube"
"github.com/containers/podman/v4/pkg/domain/entities"
- "github.com/sirupsen/logrus"
)
-func Kube(ctx context.Context, path string, options *KubeOptions) (*entities.PlayKubeReport, error) {
- f, err := os.Open(path)
- if err != nil {
- return nil, err
- }
- defer f.Close()
+type KubeOptions = kube.PlayOptions
- return KubeWithBody(ctx, f, options)
+func Kube(ctx context.Context, path string, options *KubeOptions) (*entities.PlayKubeReport, error) {
+ return kube.Play(ctx, path, options)
}
func KubeWithBody(ctx context.Context, body io.Reader, options *KubeOptions) (*entities.PlayKubeReport, error) {
- var report entities.PlayKubeReport
- if options == nil {
- options = new(KubeOptions)
- }
-
- conn, err := bindings.GetClient(ctx)
- if err != nil {
- return nil, err
- }
-
- params, err := options.ToParams()
- if err != nil {
- return nil, err
- }
- if options.SkipTLSVerify != nil {
- params.Set("tlsVerify", strconv.FormatBool(options.GetSkipTLSVerify()))
- }
- if options.Start != nil {
- params.Set("start", strconv.FormatBool(options.GetStart()))
- }
-
- header, err := auth.MakeXRegistryAuthHeader(&types.SystemContext{AuthFilePath: options.GetAuthfile()}, options.GetUsername(), options.GetPassword())
- if err != nil {
- return nil, err
- }
-
- response, err := conn.DoRequest(ctx, body, http.MethodPost, "/play/kube", params, header)
- if err != nil {
- return nil, err
- }
- defer response.Body.Close()
-
- if err := response.Process(&report); err != nil {
- return nil, err
- }
-
- return &report, nil
+ return kube.PlayWithBody(ctx, body, options)
}
-func KubeDown(ctx context.Context, path string) (*entities.PlayKubeReport, error) {
- f, err := os.Open(path)
- if err != nil {
- return nil, err
- }
- defer func() {
- if err := f.Close(); err != nil {
- logrus.Warn(err)
- }
- }()
-
- return KubeDownWithBody(ctx, f)
+func Down(ctx context.Context, path string) (*entities.PlayKubeReport, error) {
+ return kube.Down(ctx, path)
}
-func KubeDownWithBody(ctx context.Context, body io.Reader) (*entities.PlayKubeReport, error) {
- var report entities.PlayKubeReport
- conn, err := bindings.GetClient(ctx)
- if err != nil {
- return nil, err
- }
-
- response, err := conn.DoRequest(ctx, body, http.MethodDelete, "/play/kube", nil, nil)
- if err != nil {
- return nil, err
- }
- if err := response.Process(&report); err != nil {
- return nil, err
- }
-
- return &report, nil
+func DownWithBody(ctx context.Context, body io.Reader) (*entities.PlayKubeReport, error) {
+ return kube.DownWithBody(ctx, body)
}