github.com/containers/podman/v4@v4.9.4/pkg/bindings/kube/types.go (about)

     1  package kube
     2  
     3  import (
     4  	"net"
     5  )
     6  
     7  // PlayOptions are optional options for replaying kube YAML files
     8  //
     9  //go:generate go run ../generator/generator.go PlayOptions
    10  type PlayOptions struct {
    11  	// Annotations - Annotations to add to Pods
    12  	Annotations map[string]string
    13  	// Authfile - path to an authentication file.
    14  	Authfile *string
    15  	// CertDir - to a directory containing TLS certifications and keys.
    16  	CertDir *string
    17  	// Username for authenticating against the registry.
    18  	Username *string
    19  	// Password for authenticating against the registry.
    20  	Password *string
    21  	// Network - name of the networks to connect to.
    22  	Network *[]string
    23  	// NoHosts - do not generate /etc/hosts file in pod's containers
    24  	NoHosts *bool
    25  	// Quiet - suppress output when pulling images.
    26  	Quiet *bool
    27  	// SignaturePolicy - path to a signature-policy file.
    28  	SignaturePolicy *string
    29  	// SkipTLSVerify - skip https and certificate validation when
    30  	// contacting container registries.
    31  	SkipTLSVerify *bool `schema:"-"`
    32  	// SeccompProfileRoot - path to a directory containing seccomp
    33  	// profiles.
    34  	SeccompProfileRoot *string
    35  	// StaticIPs - Static IP address used by the pod(s).
    36  	StaticIPs *[]net.IP
    37  	// StaticMACs - Static MAC address used by the pod(s).
    38  	StaticMACs *[]net.HardwareAddr
    39  	// ConfigMaps - slice of pathnames to kubernetes configmap YAMLs.
    40  	ConfigMaps *[]string
    41  	// LogDriver for the container. For example: journald
    42  	LogDriver *string
    43  	// LogOptions for the container. For example: journald
    44  	LogOptions *[]string
    45  	// Replace - replace existing pods and containers
    46  	Replace *bool
    47  	// Start - don't start the pod if false
    48  	Start *bool
    49  	// NoTrunc - use annotations that were not truncated to the
    50  	// Kubernetes maximum of 63 characters
    51  	NoTrunc *bool
    52  	// Userns - define the user namespace to use.
    53  	Userns *string
    54  	// Force - remove volumes on --down
    55  	Force *bool
    56  	// PublishPorts - configure how to expose ports configured inside the K8S YAML file
    57  	PublishPorts []string
    58  	// PublishAllPorts - whether to publish all ports defined in the K8S YAML file
    59  	// (containerPort, hostPort) otherwise only hostPort will be published
    60  	PublishAllPorts *bool
    61  	// Wait - indicates whether to return after having created the pods
    62  	Wait             *bool
    63  	ServiceContainer *bool
    64  }
    65  
    66  // ApplyOptions are optional options for applying kube YAML files to a k8s cluster
    67  //
    68  //go:generate go run ../generator/generator.go ApplyOptions
    69  type ApplyOptions struct {
    70  	// Kubeconfig - path to the cluster's kubeconfig file.
    71  	Kubeconfig *string
    72  	// Namespace - namespace to deploy the workload in on the cluster.
    73  	Namespace *string
    74  	// CACertFile - the path to the CA cert file for the Kubernetes cluster.
    75  	CACertFile *string
    76  	// File - the path to the Kubernetes yaml to deploy.
    77  	File *string
    78  	// Service - creates a service for the container being deployed.
    79  	Service *bool
    80  }
    81  
    82  // DownOptions are optional options for tearing down kube YAML files to a k8s cluster
    83  //
    84  //go:generate go run ../generator/generator.go DownOptions
    85  type DownOptions struct {
    86  	// Force - remove volumes on --down
    87  	Force *bool
    88  }