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 }