summaryrefslogtreecommitdiff
path: root/pkg/bindings
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/bindings')
-rw-r--r--pkg/bindings/kube/kube.go96
-rw-r--r--pkg/bindings/kube/types.go (renamed from pkg/bindings/play/types.go)8
-rw-r--r--pkg/bindings/kube/types_play_options.go (renamed from pkg/bindings/play/types_kube_options.go)78
-rw-r--r--pkg/bindings/play/play.go88
4 files changed, 148 insertions, 122 deletions
diff --git a/pkg/bindings/kube/kube.go b/pkg/bindings/kube/kube.go
new file mode 100644
index 000000000..b9cc0efa7
--- /dev/null
+++ b/pkg/bindings/kube/kube.go
@@ -0,0 +1,96 @@
+package kube
+
+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/domain/entities"
+ "github.com/sirupsen/logrus"
+)
+
+func Play(ctx context.Context, path string, options *PlayOptions) (*entities.KubePlayReport, error) {
+ f, err := os.Open(path)
+ if err != nil {
+ return nil, err
+ }
+ defer f.Close()
+
+ return PlayWithBody(ctx, f, options)
+}
+
+func PlayWithBody(ctx context.Context, body io.Reader, options *PlayOptions) (*entities.KubePlayReport, error) {
+ var report entities.KubePlayReport
+ if options == nil {
+ options = new(PlayOptions)
+ }
+
+ 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, "/kube/play", 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
+}
+
+func Down(ctx context.Context, path string) (*entities.KubePlayReport, error) {
+ f, err := os.Open(path)
+ if err != nil {
+ return nil, err
+ }
+ defer func() {
+ if err := f.Close(); err != nil {
+ logrus.Warn(err)
+ }
+ }()
+
+ return DownWithBody(ctx, f)
+}
+
+func DownWithBody(ctx context.Context, body io.Reader) (*entities.KubePlayReport, error) {
+ var report entities.KubePlayReport
+ conn, err := bindings.GetClient(ctx)
+ if err != nil {
+ return nil, err
+ }
+
+ response, err := conn.DoRequest(ctx, body, http.MethodDelete, "/kube/play", nil, nil)
+ if err != nil {
+ return nil, err
+ }
+ if err := response.Process(&report); err != nil {
+ return nil, err
+ }
+ return &report, nil
+}
diff --git a/pkg/bindings/play/types.go b/pkg/bindings/kube/types.go
index 5aaa87b8c..783d1912a 100644
--- a/pkg/bindings/play/types.go
+++ b/pkg/bindings/kube/types.go
@@ -1,12 +1,12 @@
-package play
+package kube
import (
"net"
)
-//go:generate go run ../generator/generator.go KubeOptions
-// KubeOptions are optional options for replaying kube YAML files
-type KubeOptions struct {
+//go:generate go run ../generator/generator.go PlayOptions
+// PlayOptions are optional options for replaying kube YAML files
+type PlayOptions struct {
// Annotations - Annotations to add to Pods
Annotations map[string]string
// Authfile - path to an authentication file.
diff --git a/pkg/bindings/play/types_kube_options.go b/pkg/bindings/kube/types_play_options.go
index 54c9a8e74..cdc2e9dd8 100644
--- a/pkg/bindings/play/types_kube_options.go
+++ b/pkg/bindings/kube/types_play_options.go
@@ -1,5 +1,5 @@
// Code generated by go generate; DO NOT EDIT.
-package play
+package kube
import (
"net"
@@ -9,23 +9,23 @@ import (
)
// Changed returns true if named field has been set
-func (o *KubeOptions) Changed(fieldName string) bool {
+func (o *PlayOptions) Changed(fieldName string) bool {
return util.Changed(o, fieldName)
}
// ToParams formats struct fields to be passed to API service
-func (o *KubeOptions) ToParams() (url.Values, error) {
+func (o *PlayOptions) ToParams() (url.Values, error) {
return util.ToParams(o)
}
// WithAnnotations set field Annotations to given value
-func (o *KubeOptions) WithAnnotations(value map[string]string) *KubeOptions {
+func (o *PlayOptions) WithAnnotations(value map[string]string) *PlayOptions {
o.Annotations = value
return o
}
// GetAnnotations returns value of field Annotations
-func (o *KubeOptions) GetAnnotations() map[string]string {
+func (o *PlayOptions) GetAnnotations() map[string]string {
if o.Annotations == nil {
var z map[string]string
return z
@@ -34,13 +34,13 @@ func (o *KubeOptions) GetAnnotations() map[string]string {
}
// WithAuthfile set field Authfile to given value
-func (o *KubeOptions) WithAuthfile(value string) *KubeOptions {
+func (o *PlayOptions) WithAuthfile(value string) *PlayOptions {
o.Authfile = &value
return o
}
// GetAuthfile returns value of field Authfile
-func (o *KubeOptions) GetAuthfile() string {
+func (o *PlayOptions) GetAuthfile() string {
if o.Authfile == nil {
var z string
return z
@@ -49,13 +49,13 @@ func (o *KubeOptions) GetAuthfile() string {
}
// WithCertDir set field CertDir to given value
-func (o *KubeOptions) WithCertDir(value string) *KubeOptions {
+func (o *PlayOptions) WithCertDir(value string) *PlayOptions {
o.CertDir = &value
return o
}
// GetCertDir returns value of field CertDir
-func (o *KubeOptions) GetCertDir() string {
+func (o *PlayOptions) GetCertDir() string {
if o.CertDir == nil {
var z string
return z
@@ -64,13 +64,13 @@ func (o *KubeOptions) GetCertDir() string {
}
// WithUsername set field Username to given value
-func (o *KubeOptions) WithUsername(value string) *KubeOptions {
+func (o *PlayOptions) WithUsername(value string) *PlayOptions {
o.Username = &value
return o
}
// GetUsername returns value of field Username
-func (o *KubeOptions) GetUsername() string {
+func (o *PlayOptions) GetUsername() string {
if o.Username == nil {
var z string
return z
@@ -79,13 +79,13 @@ func (o *KubeOptions) GetUsername() string {
}
// WithPassword set field Password to given value
-func (o *KubeOptions) WithPassword(value string) *KubeOptions {
+func (o *PlayOptions) WithPassword(value string) *PlayOptions {
o.Password = &value
return o
}
// GetPassword returns value of field Password
-func (o *KubeOptions) GetPassword() string {
+func (o *PlayOptions) GetPassword() string {
if o.Password == nil {
var z string
return z
@@ -94,13 +94,13 @@ func (o *KubeOptions) GetPassword() string {
}
// WithNetwork set field Network to given value
-func (o *KubeOptions) WithNetwork(value []string) *KubeOptions {
+func (o *PlayOptions) WithNetwork(value []string) *PlayOptions {
o.Network = &value
return o
}
// GetNetwork returns value of field Network
-func (o *KubeOptions) GetNetwork() []string {
+func (o *PlayOptions) GetNetwork() []string {
if o.Network == nil {
var z []string
return z
@@ -109,13 +109,13 @@ func (o *KubeOptions) GetNetwork() []string {
}
// WithNoHosts set field NoHosts to given value
-func (o *KubeOptions) WithNoHosts(value bool) *KubeOptions {
+func (o *PlayOptions) WithNoHosts(value bool) *PlayOptions {
o.NoHosts = &value
return o
}
// GetNoHosts returns value of field NoHosts
-func (o *KubeOptions) GetNoHosts() bool {
+func (o *PlayOptions) GetNoHosts() bool {
if o.NoHosts == nil {
var z bool
return z
@@ -124,13 +124,13 @@ func (o *KubeOptions) GetNoHosts() bool {
}
// WithQuiet set field Quiet to given value
-func (o *KubeOptions) WithQuiet(value bool) *KubeOptions {
+func (o *PlayOptions) WithQuiet(value bool) *PlayOptions {
o.Quiet = &value
return o
}
// GetQuiet returns value of field Quiet
-func (o *KubeOptions) GetQuiet() bool {
+func (o *PlayOptions) GetQuiet() bool {
if o.Quiet == nil {
var z bool
return z
@@ -139,13 +139,13 @@ func (o *KubeOptions) GetQuiet() bool {
}
// WithSignaturePolicy set field SignaturePolicy to given value
-func (o *KubeOptions) WithSignaturePolicy(value string) *KubeOptions {
+func (o *PlayOptions) WithSignaturePolicy(value string) *PlayOptions {
o.SignaturePolicy = &value
return o
}
// GetSignaturePolicy returns value of field SignaturePolicy
-func (o *KubeOptions) GetSignaturePolicy() string {
+func (o *PlayOptions) GetSignaturePolicy() string {
if o.SignaturePolicy == nil {
var z string
return z
@@ -154,13 +154,13 @@ func (o *KubeOptions) GetSignaturePolicy() string {
}
// WithSkipTLSVerify set field SkipTLSVerify to given value
-func (o *KubeOptions) WithSkipTLSVerify(value bool) *KubeOptions {
+func (o *PlayOptions) WithSkipTLSVerify(value bool) *PlayOptions {
o.SkipTLSVerify = &value
return o
}
// GetSkipTLSVerify returns value of field SkipTLSVerify
-func (o *KubeOptions) GetSkipTLSVerify() bool {
+func (o *PlayOptions) GetSkipTLSVerify() bool {
if o.SkipTLSVerify == nil {
var z bool
return z
@@ -169,13 +169,13 @@ func (o *KubeOptions) GetSkipTLSVerify() bool {
}
// WithSeccompProfileRoot set field SeccompProfileRoot to given value
-func (o *KubeOptions) WithSeccompProfileRoot(value string) *KubeOptions {
+func (o *PlayOptions) WithSeccompProfileRoot(value string) *PlayOptions {
o.SeccompProfileRoot = &value
return o
}
// GetSeccompProfileRoot returns value of field SeccompProfileRoot
-func (o *KubeOptions) GetSeccompProfileRoot() string {
+func (o *PlayOptions) GetSeccompProfileRoot() string {
if o.SeccompProfileRoot == nil {
var z string
return z
@@ -184,13 +184,13 @@ func (o *KubeOptions) GetSeccompProfileRoot() string {
}
// WithStaticIPs set field StaticIPs to given value
-func (o *KubeOptions) WithStaticIPs(value []net.IP) *KubeOptions {
+func (o *PlayOptions) WithStaticIPs(value []net.IP) *PlayOptions {
o.StaticIPs = &value
return o
}
// GetStaticIPs returns value of field StaticIPs
-func (o *KubeOptions) GetStaticIPs() []net.IP {
+func (o *PlayOptions) GetStaticIPs() []net.IP {
if o.StaticIPs == nil {
var z []net.IP
return z
@@ -199,13 +199,13 @@ func (o *KubeOptions) GetStaticIPs() []net.IP {
}
// WithStaticMACs set field StaticMACs to given value
-func (o *KubeOptions) WithStaticMACs(value []net.HardwareAddr) *KubeOptions {
+func (o *PlayOptions) WithStaticMACs(value []net.HardwareAddr) *PlayOptions {
o.StaticMACs = &value
return o
}
// GetStaticMACs returns value of field StaticMACs
-func (o *KubeOptions) GetStaticMACs() []net.HardwareAddr {
+func (o *PlayOptions) GetStaticMACs() []net.HardwareAddr {
if o.StaticMACs == nil {
var z []net.HardwareAddr
return z
@@ -214,13 +214,13 @@ func (o *KubeOptions) GetStaticMACs() []net.HardwareAddr {
}
// WithConfigMaps set field ConfigMaps to given value
-func (o *KubeOptions) WithConfigMaps(value []string) *KubeOptions {
+func (o *PlayOptions) WithConfigMaps(value []string) *PlayOptions {
o.ConfigMaps = &value
return o
}
// GetConfigMaps returns value of field ConfigMaps
-func (o *KubeOptions) GetConfigMaps() []string {
+func (o *PlayOptions) GetConfigMaps() []string {
if o.ConfigMaps == nil {
var z []string
return z
@@ -229,13 +229,13 @@ func (o *KubeOptions) GetConfigMaps() []string {
}
// WithLogDriver set field LogDriver to given value
-func (o *KubeOptions) WithLogDriver(value string) *KubeOptions {
+func (o *PlayOptions) WithLogDriver(value string) *PlayOptions {
o.LogDriver = &value
return o
}
// GetLogDriver returns value of field LogDriver
-func (o *KubeOptions) GetLogDriver() string {
+func (o *PlayOptions) GetLogDriver() string {
if o.LogDriver == nil {
var z string
return z
@@ -244,13 +244,13 @@ func (o *KubeOptions) GetLogDriver() string {
}
// WithLogOptions set field LogOptions to given value
-func (o *KubeOptions) WithLogOptions(value []string) *KubeOptions {
+func (o *PlayOptions) WithLogOptions(value []string) *PlayOptions {
o.LogOptions = &value
return o
}
// GetLogOptions returns value of field LogOptions
-func (o *KubeOptions) GetLogOptions() []string {
+func (o *PlayOptions) GetLogOptions() []string {
if o.LogOptions == nil {
var z []string
return z
@@ -259,13 +259,13 @@ func (o *KubeOptions) GetLogOptions() []string {
}
// WithStart set field Start to given value
-func (o *KubeOptions) WithStart(value bool) *KubeOptions {
+func (o *PlayOptions) WithStart(value bool) *PlayOptions {
o.Start = &value
return o
}
// GetStart returns value of field Start
-func (o *KubeOptions) GetStart() bool {
+func (o *PlayOptions) GetStart() bool {
if o.Start == nil {
var z bool
return z
@@ -274,13 +274,13 @@ func (o *KubeOptions) GetStart() bool {
}
// WithUserns set field Userns to given value
-func (o *KubeOptions) WithUserns(value string) *KubeOptions {
+func (o *PlayOptions) WithUserns(value string) *PlayOptions {
o.Userns = &value
return o
}
// GetUserns returns value of field Userns
-func (o *KubeOptions) GetUserns() string {
+func (o *PlayOptions) GetUserns() string {
if o.Userns == nil {
var z string
return z
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)
}