Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the kjobctl.x-k8s.io v1alpha1 API group +kubebuilder:object:generate=true +groupName=kjobctl.x-k8s.io
Index ¶
- Variables
- type ApplicationProfile
- type ApplicationProfileList
- type ApplicationProfileMode
- type ApplicationProfileSpec
- type Flag
- type JobTemplate
- type JobTemplateList
- type JobTemplateSpec
- type RayClusterTemplate
- type RayClusterTemplateList
- type RayClusterTemplateSpec
- type RayJobTemplate
- type RayJobTemplateList
- type RayJobTemplateSpec
- type SupportedMode
- type TemplateReference
- type VolumeBundle
- type VolumeBundleList
- type VolumeBundleReference
- type VolumeBundleSpec
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "kjobctl.x-k8s.io", Version: "v1alpha1"} // SchemeGroupVersion is alias to GroupVersion for client-go libraries. SchemeGroupVersion = GroupVersion // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type ApplicationProfile ¶
type ApplicationProfile struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ApplicationProfileSpec `json:"spec,omitempty"` }
ApplicationProfile is the Schema for the applicationprofiles API
func (*ApplicationProfile) DeepCopy ¶
func (in *ApplicationProfile) DeepCopy() *ApplicationProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationProfile.
func (*ApplicationProfile) DeepCopyInto ¶
func (in *ApplicationProfile) DeepCopyInto(out *ApplicationProfile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ApplicationProfile) DeepCopyObject ¶
func (in *ApplicationProfile) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ApplicationProfileList ¶
type ApplicationProfileList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ApplicationProfile `json:"items"` }
ApplicationProfileList contains a list of ApplicationProfile
func (*ApplicationProfileList) DeepCopy ¶
func (in *ApplicationProfileList) DeepCopy() *ApplicationProfileList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationProfileList.
func (*ApplicationProfileList) DeepCopyInto ¶
func (in *ApplicationProfileList) DeepCopyInto(out *ApplicationProfileList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ApplicationProfileList) DeepCopyObject ¶
func (in *ApplicationProfileList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ApplicationProfileMode ¶
type ApplicationProfileMode string
const ( InteractiveMode ApplicationProfileMode = "Interactive" JobMode ApplicationProfileMode = "Job" RayJobMode ApplicationProfileMode = "RayJob" RayClusterMode ApplicationProfileMode = "RayCluster" SlurmMode ApplicationProfileMode = "Slurm" )
type ApplicationProfileSpec ¶
type ApplicationProfileSpec struct { // +listType=map // +listMapKey=name // +kubebuilder:validation:Required SupportedModes []SupportedMode `json:"supportedModes"` // +optional // +listType=set VolumeBundles []VolumeBundleReference `json:"volumeBundles,omitempty"` }
ApplicationProfileSpec defines the desired state of ApplicationProfile
func (*ApplicationProfileSpec) DeepCopy ¶
func (in *ApplicationProfileSpec) DeepCopy() *ApplicationProfileSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationProfileSpec.
func (*ApplicationProfileSpec) DeepCopyInto ¶
func (in *ApplicationProfileSpec) DeepCopyInto(out *ApplicationProfileSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Flag ¶
type Flag string
+kubebuilder:validation:Enum=cmd;parallelism;completions;replicas;min-replicas;max-replicas;request;localqueue;raycluster;array;cpus-per-task;error;gpus-per-task;input;job-name;mem-per-cpu;mem-per-gpu;mem-per-task;nodes;ntasks;output;partition
const ( CmdFlag Flag = "cmd" ParallelismFlag Flag = "parallelism" CompletionsFlag Flag = "completions" ReplicasFlag Flag = "replicas" MinReplicasFlag Flag = "min-replicas" MaxReplicasFlag Flag = "max-replicas" RequestFlag Flag = "request" LocalQueueFlag Flag = "localqueue" RayClusterFlag Flag = "raycluster" ArrayFlag Flag = "array" CpusPerTaskFlag Flag = "cpus-per-task" ErrorFlag Flag = "error" GpusPerTaskFlag Flag = "gpus-per-task" InputFlag Flag = "input" JobNameFlag Flag = "job-name" MemPerNodeFlag Flag = "mem" MemPerCPUFlag Flag = "mem-per-cpu" MemPerGPUFlag Flag = "mem-per-gpu" MemPerTaskFlag Flag = "mem-per-task" NodesFlag Flag = "nodes" NTasksFlag Flag = "ntasks" OutputFlag Flag = "output" PartitionFlag Flag = "partition" PriorityFlag Flag = "priority" TimeFlag Flag = "time" )
type JobTemplate ¶
type JobTemplate struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Template defines the jobs that will be created from this pod template. // // +kubebuilder:validation:Required Template JobTemplateSpec `json:"template,omitempty"` }
JobTemplate is the Schema for the jobtemplate API
func (*JobTemplate) DeepCopy ¶
func (in *JobTemplate) DeepCopy() *JobTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobTemplate.
func (*JobTemplate) DeepCopyInto ¶
func (in *JobTemplate) DeepCopyInto(out *JobTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*JobTemplate) DeepCopyObject ¶
func (in *JobTemplate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type JobTemplateList ¶
type JobTemplateList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []JobTemplate `json:"items"` }
JobTemplateList contains a list of JobTemplate
func (*JobTemplateList) DeepCopy ¶
func (in *JobTemplateList) DeepCopy() *JobTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobTemplateList.
func (*JobTemplateList) DeepCopyInto ¶
func (in *JobTemplateList) DeepCopyInto(out *JobTemplateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*JobTemplateList) DeepCopyObject ¶
func (in *JobTemplateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type JobTemplateSpec ¶
type JobTemplateSpec struct { // Standard object's metadata. // // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // Specification of the desired behavior of the job. // // +kubebuilder:validation:Required Spec batchv1.JobSpec `json:"spec"` }
JobTemplateSpec describes the data a job should have when created from a template
func (*JobTemplateSpec) DeepCopy ¶
func (in *JobTemplateSpec) DeepCopy() *JobTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobTemplateSpec.
func (*JobTemplateSpec) DeepCopyInto ¶
func (in *JobTemplateSpec) DeepCopyInto(out *JobTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RayClusterTemplate ¶
type RayClusterTemplate struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Template defines rayclusters that will be created from this raycluster template. // // +kubebuilder:validation:Required Template RayClusterTemplateSpec `json:"template,omitempty"` }
RayClusterTemplate is the Schema for the rayclustertemplate API
func (*RayClusterTemplate) DeepCopy ¶
func (in *RayClusterTemplate) DeepCopy() *RayClusterTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RayClusterTemplate.
func (*RayClusterTemplate) DeepCopyInto ¶
func (in *RayClusterTemplate) DeepCopyInto(out *RayClusterTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RayClusterTemplate) DeepCopyObject ¶
func (in *RayClusterTemplate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RayClusterTemplateList ¶
type RayClusterTemplateList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []RayClusterTemplate `json:"items"` }
RayClusterTemplateList contains a list of RayClusterTemplate
func (*RayClusterTemplateList) DeepCopy ¶
func (in *RayClusterTemplateList) DeepCopy() *RayClusterTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RayClusterTemplateList.
func (*RayClusterTemplateList) DeepCopyInto ¶
func (in *RayClusterTemplateList) DeepCopyInto(out *RayClusterTemplateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RayClusterTemplateList) DeepCopyObject ¶
func (in *RayClusterTemplateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RayClusterTemplateSpec ¶
type RayClusterTemplateSpec struct { // Standard object's metadata. // // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // Specification of the desired behavior of the raycluster. // // +kubebuilder:validation:Required Spec rayv1.RayClusterSpec `json:"spec"` }
RayClusterTemplateSpec describes the data a raycluster should have when created from a template
func (*RayClusterTemplateSpec) DeepCopy ¶
func (in *RayClusterTemplateSpec) DeepCopy() *RayClusterTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RayClusterTemplateSpec.
func (*RayClusterTemplateSpec) DeepCopyInto ¶
func (in *RayClusterTemplateSpec) DeepCopyInto(out *RayClusterTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RayJobTemplate ¶
type RayJobTemplate struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Template defines rayjobs that will be created from this rayjob template. // // +kubebuilder:validation:Required Template RayJobTemplateSpec `json:"template,omitempty"` }
RayJobTemplate is the Schema for the rayjobtemplate API
func (*RayJobTemplate) DeepCopy ¶
func (in *RayJobTemplate) DeepCopy() *RayJobTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RayJobTemplate.
func (*RayJobTemplate) DeepCopyInto ¶
func (in *RayJobTemplate) DeepCopyInto(out *RayJobTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RayJobTemplate) DeepCopyObject ¶
func (in *RayJobTemplate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RayJobTemplateList ¶
type RayJobTemplateList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []RayJobTemplate `json:"items"` }
RayJobTemplateList contains a list of RayJobTemplate
func (*RayJobTemplateList) DeepCopy ¶
func (in *RayJobTemplateList) DeepCopy() *RayJobTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RayJobTemplateList.
func (*RayJobTemplateList) DeepCopyInto ¶
func (in *RayJobTemplateList) DeepCopyInto(out *RayJobTemplateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RayJobTemplateList) DeepCopyObject ¶
func (in *RayJobTemplateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RayJobTemplateSpec ¶
type RayJobTemplateSpec struct { // Standard object's metadata. // // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // Specification of the desired behavior of the rayjob. // // +kubebuilder:validation:Required Spec rayv1.RayJobSpec `json:"spec"` }
RayJobTemplateSpec describes the data a rayjob should have when created from a template
func (*RayJobTemplateSpec) DeepCopy ¶
func (in *RayJobTemplateSpec) DeepCopy() *RayJobTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RayJobTemplateSpec.
func (*RayJobTemplateSpec) DeepCopyInto ¶
func (in *RayJobTemplateSpec) DeepCopyInto(out *RayJobTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SupportedMode ¶
type SupportedMode struct { // name determines which template will be used and which object will eventually be created. // Possible values are Interactive, Job, RayJob, RayCluster and Slurm. // // +kubebuilder:validation:Required // +kubebuilder:validation:Enum=Interactive;Job;RayJob;RayCluster;Slurm Name ApplicationProfileMode `json:"name"` // template is the name of the template. // Template type depends on ApplicationProfileMode: // - on Interactive mode it must be v1/PodTemplate // - on Job mode it must be kjobctl.x-k8s.io/v1alpha1/JobTemplate // - on RayJob mode it must be kjobctl.x-k8s.io/v1alpha1/RayJobTemplate // - on RayCluster mode it must be kjobctl.x-k8s.io/v1alpha1/RayClusterTemplate // - on Slurm mode it must be kjobctl.x-k8s.io/v1alpha1/JobTemplate // // +kubebuilder:validation:Required Template TemplateReference `json:"template"` // requiredFlags point which cli flags are required to be passed in order to fill the gaps in the templates. // Possible values are cmd, parallelism, completions, replicas, min-replicas, max-replicas, request, localqueue, and raycluster. // replicas, min-replicas, and max-replicas flags used only for RayJob and RayCluster mode. // The raycluster flag used only for the RayJob mode. // The request flag used only for Interactive and Job modes. // The cmd flag used only for Interactive, Job, and RayJob. // The time and priority flags can be used in all modes. // If the raycluster flag are set, none of localqueue, replicas, min-replicas, or max-replicas can be set. // For the Slurm mode, the possible values are: array, cpus-per-task, error, gpus-per-task, input, job-name, mem, mem-per-cpu, // mem-per-gpu, mem-per-task, nodes, ntasks, output, partition, localqueue. // // cmd and requests values are going to be added only to the first primary container. // // +optional // +listType=set // +kubebuilder:validation:MaxItems=14 RequiredFlags []Flag `json:"requiredFlags,omitempty"` }
+kubebuilder:validation:XValidation:rule="!has(self.requiredFlags) || !('replicas' in self.requiredFlags) || self.name in ['RayJob', 'RayCluster']", message="replicas flag can be used only on RayJob and RayCluster modes" +kubebuilder:validation:XValidation:rule="!has(self.requiredFlags) || !('min-replicas' in self.requiredFlags) || self.name in ['RayJob', 'RayCluster']", message="min-replicas flag can be used only on RayJob and RayCluster modes" +kubebuilder:validation:XValidation:rule="!has(self.requiredFlags) || !('max-replicas' in self.requiredFlags) || self.name in ['RayJob', 'RayCluster']", message="max-replicas flag can be used only on RayJob and RayCluster modes" +kubebuilder:validation:XValidation:rule="!has(self.requiredFlags) || !('request' in self.requiredFlags) || self.name in ['Job', 'Interactive', 'RayJob']", message="request flag can be used only on Job and Interactive modes" +kubebuilder:validation:XValidation:rule="!has(self.requiredFlags) || !('cmd' in self.requiredFlags) || self.name in ['Job', 'Interactive', 'RayJob']", message="cmd flag can be used only on Job, Interactive and RayJob modes" +kubebuilder:validation:XValidation:rule="!has(self.requiredFlags) || !('raycluster' in self.requiredFlags) || self.name == 'RayJob'", message="raycluster flag can be used only on RayJob mode" +kubebuilder:validation:XValidation:rule="!has(self.requiredFlags) || !('raycluster' in self.requiredFlags) || !('localqueue' in self.requiredFlags || 'replicas' in self.requiredFlags || 'min-replicas' in self.requiredFlags || 'max-replicas' in self.requiredFlags)", message="if raycluster flag are set none of localqueue, replicas, min-replicas and max-replicas can be" +kubebuilder:validation:XValidation:rule="!has(self.requiredFlags) || !('array' in self.requiredFlags) || self.name == 'Slurm'", message="array flag can be used only on Slurm mode" +kubebuilder:validation:XValidation:rule="!has(self.requiredFlags) || !('cpus-per-task' in self.requiredFlags) || self.name == 'Slurm'", message="cpus-per-task flag can be used only on Slurm mode" +kubebuilder:validation:XValidation:rule="!has(self.requiredFlags) || !('error' in self.requiredFlags) || self.name == 'Slurm'", message="error flag can be used only on Slurm mode" +kubebuilder:validation:XValidation:rule="!has(self.requiredFlags) || !('gpus-per-task' in self.requiredFlags) || self.name == 'Slurm'", message="gpus-per-task flag can be used only on Slurm mode" +kubebuilder:validation:XValidation:rule="!has(self.requiredFlags) || !('input' in self.requiredFlags) || self.name == 'Slurm'", message="input flag can be used only on Slurm mode" +kubebuilder:validation:XValidation:rule="!has(self.requiredFlags) || !('job-name' in self.requiredFlags) || self.name == 'Slurm'", message="job-name flag can be used only on Slurm mode" +kubebuilder:validation:XValidation:rule="!has(self.requiredFlags) || !('mem' in self.requiredFlags) || self.name == 'Slurm'", message="mem flag can be used only on Slurm mode" +kubebuilder:validation:XValidation:rule="!has(self.requiredFlags) || !('mem-per-cpu' in self.requiredFlags) || self.name == 'Slurm'", message="mem-per-cpu flag can be used only on Slurm mode" +kubebuilder:validation:XValidation:rule="!has(self.requiredFlags) || !('mem-per-gpu' in self.requiredFlags) || self.name == 'Slurm'", message="mem-per-gpu flag can be used only on Slurm mode" +kubebuilder:validation:XValidation:rule="!has(self.requiredFlags) || !('mem-per-task' in self.requiredFlags) || self.name == 'Slurm'", message="mem-per-task flag can be used only on Slurm mode" +kubebuilder:validation:XValidation:rule="!has(self.requiredFlags) || !('nodes' in self.requiredFlags) || self.name == 'Slurm'", message="nodes flag can be used only on Slurm mode" +kubebuilder:validation:XValidation:rule="!has(self.requiredFlags) || !('ntasks' in self.requiredFlags) || self.name == 'Slurm'", message="ntasks flag can be used only on Slurm mode" +kubebuilder:validation:XValidation:rule="!has(self.requiredFlags) || !('output' in self.requiredFlags) || self.name == 'Slurm'", message="output flag can be used only on Slurm mode" +kubebuilder:validation:XValidation:rule="!has(self.requiredFlags) || !('partition' in self.requiredFlags) || self.name == 'Slurm'", message="partition flag can be used only on Slurm mode" +kubebuilder:validation:XValidation:rule="!has(self.requiredFlags) || self.name != 'Slurm' || !('parallelism' in self.requiredFlags)", message="parallelism flag can't be used on Slurm mode" +kubebuilder:validation:XValidation:rule="!has(self.requiredFlags) || self.name != 'Slurm' || !('completions' in self.requiredFlags)", message="completions flag can't be used on Slurm mode"
func (*SupportedMode) DeepCopy ¶
func (in *SupportedMode) DeepCopy() *SupportedMode
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SupportedMode.
func (*SupportedMode) DeepCopyInto ¶
func (in *SupportedMode) DeepCopyInto(out *SupportedMode)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TemplateReference ¶
type TemplateReference string
TemplateReference is the name of the template.
+kubebuilder:validation:MaxLength=253 +kubebuilder:validation:Pattern="^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$"
type VolumeBundle ¶
type VolumeBundle struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec VolumeBundleSpec `json:"spec,omitempty"` }
VolumeBundle is the Schema for the volumebundles API
func (*VolumeBundle) DeepCopy ¶
func (in *VolumeBundle) DeepCopy() *VolumeBundle
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeBundle.
func (*VolumeBundle) DeepCopyInto ¶
func (in *VolumeBundle) DeepCopyInto(out *VolumeBundle)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VolumeBundle) DeepCopyObject ¶
func (in *VolumeBundle) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VolumeBundleList ¶
type VolumeBundleList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []VolumeBundle `json:"items"` }
VolumeBundleList contains a list of VolumeBundle
func (*VolumeBundleList) DeepCopy ¶
func (in *VolumeBundleList) DeepCopy() *VolumeBundleList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeBundleList.
func (*VolumeBundleList) DeepCopyInto ¶
func (in *VolumeBundleList) DeepCopyInto(out *VolumeBundleList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VolumeBundleList) DeepCopyObject ¶
func (in *VolumeBundleList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VolumeBundleReference ¶
type VolumeBundleReference string
VolumeBundleReference is the name of the VolumeBundle.
+kubebuilder:validation:MaxLength=253 +kubebuilder:validation:Pattern="^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$"
type VolumeBundleSpec ¶
type VolumeBundleSpec struct { // volumes is a set of volumes that will be added to all pods of the job. // +listType=map // +listMapKey=name // +kubebuilder:validation:MinItems=1 Volumes []corev1.Volume `json:"volumes"` // containerVolumeMounts is a list of locations in each container of a pod where the volumes will be mounted. // +listType=map // +listMapKey=mountPath // +kubebuilder:validation:MinItems=1 ContainerVolumeMounts []corev1.VolumeMount `json:"containerVolumeMounts"` // envVars are environment variables that refer to absolute paths in the container filesystem. // These key/value pairs will be available in containers as environment variables. // +optional // +listType=map // +listMapKey=name EnvVars []corev1.EnvVar `json:"envVars,omitempty"` }
VolumeBundleSpec defines the desired state of VolumeBundle
func (*VolumeBundleSpec) DeepCopy ¶
func (in *VolumeBundleSpec) DeepCopy() *VolumeBundleSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeBundleSpec.
func (*VolumeBundleSpec) DeepCopyInto ¶
func (in *VolumeBundleSpec) DeepCopyInto(out *VolumeBundleSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.