v1alpha1

package
v0.0.0-...-298fb37 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 3, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

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

Constants

This section is empty.

Variables

View Source
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

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

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

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

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL