Documentation
¶
Overview ¶
Package v1 contains API Schema definitions for the clusterpolicy v1 API group +kubebuilder:object:generate=true +groupName=nvidia.com
Index ¶
- Constants
- Variables
- func ImagePath(spec interface{}) (string, error)
- func ImagePullPolicy(pullPolicy string) corev1.PullPolicy
- type CCManagerSpec
- type CDIConfigSpec
- type CUDAValidatorSpec
- type ClusterPolicy
- type ClusterPolicyList
- type ClusterPolicySpec
- type ClusterPolicyStatus
- type ContainerProbeSpec
- type DCGMExporterMetricsConfig
- type DCGMExporterServiceMonitorConfig
- type DCGMExporterSpec
- type DCGMSpec
- type DaemonsetsSpec
- type DevicePluginConfig
- type DevicePluginSpec
- type DriverCertConfigSpec
- type DriverLicensingConfigSpec
- type DriverManagerSpec
- type DriverRepoConfigSpec
- type DriverSpec
- type DriverValidatorSpec
- type EnvVar
- type GDRCopySpec
- type GPUDirectRDMASpec
- type GPUDirectStorageSpec
- type GPUFeatureDiscoverySpec
- type HostPathsSpec
- type InitContainerSpec
- type KataManagerSpec
- type KernelModuleConfigSpec
- type MIGGPUClientsConfigSpec
- type MIGManagerSpec
- type MIGPartedConfigSpec
- type MIGSpec
- type MIGStrategy
- type MPSConfig
- type NodeStatusExporterSpec
- type OperatorSpec
- type PSASpec
- type PSPSpec
- type PluginValidatorSpec
- type ResourceRequirements
- type RollingUpdateSpec
- type Runtime
- type RuntimeClass
- type SandboxDevicePluginSpec
- type SandboxWorkloadsSpec
- type State
- type ToolkitSpec
- type ToolkitValidatorSpec
- type VFIOManagerSpec
- type VFIOPCIValidatorSpec
- type VGPUDeviceManagerSpec
- type VGPUDevicesConfigSpec
- type VGPUDevicesValidatorSpec
- type VGPUManagerSpec
- type VGPUManagerValidatorSpec
- type ValidatorSpec
- type VirtualTopologyConfigSpec
Constants ¶
const (
ClusterPolicyCRDName = "ClusterPolicy"
)
Variables ¶
var ( // SchemeGroupVersion is group version used to register these objects SchemeGroupVersion = schema.GroupVersion{Group: "nvidia.com", Version: "v1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
func ImagePullPolicy ¶
func ImagePullPolicy(pullPolicy string) corev1.PullPolicy
ImagePullPolicy sets image pull policy
Types ¶
type CCManagerSpec ¶
type CCManagerSpec struct { // Enabled indicates if deployment of CC Manager is enabled // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Enable CC Manager deployment through GPU Operator" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch" Enabled *bool `json:"enabled,omitempty"` // Default CC mode setting for compatible GPUs on the node // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Default CC mode setting for all CC-capable GPUs" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:text" // +kubebuilder:validation:Enum=on;off;devtools DefaultMode string `json:"defaultMode,omitempty"` // CC Manager image repository // +kubebuilder:validation:Optional Repository string `json:"repository,omitempty"` // CC Manager image name // +kubebuilder:validation:Pattern=[a-zA-Z0-9\-]+ Image string `json:"image,omitempty"` // CC Manager image tag // +kubebuilder:validation:Optional Version string `json:"version,omitempty"` // Image pull policy // +kubebuilder:validation:Optional // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Image Pull Policy" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:imagePullPolicy" ImagePullPolicy string `json:"imagePullPolicy,omitempty"` // Image pull secrets // +kubebuilder:validation:Optional // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Image pull secrets" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:io.kubernetes:Secret" ImagePullSecrets []string `json:"imagePullSecrets,omitempty"` // Optional: Define resources requests and limits for each pod // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Resource Requirements" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:resourceRequirements" Resources *ResourceRequirements `json:"resources,omitempty"` // Optional: List of arguments // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Arguments" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:text" Args []string `json:"args,omitempty"` // Optional: List of environment variables // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Environment Variables" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:text" Env []EnvVar `json:"env,omitempty"` }
CCManagerSpec defines the properties for deploying Confidential Containers (CC) manager
func (*CCManagerSpec) DeepCopy ¶
func (in *CCManagerSpec) DeepCopy() *CCManagerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CCManagerSpec.
func (*CCManagerSpec) DeepCopyInto ¶
func (in *CCManagerSpec) DeepCopyInto(out *CCManagerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CCManagerSpec) IsEnabled ¶
func (c *CCManagerSpec) IsEnabled() bool
IsEnabled returns true if CC Manager is enabled for configuring CC mode on compatible GPUs on the node
type CDIConfigSpec ¶
type CDIConfigSpec struct { // Enabled indicates whether CDI can be used to make GPUs accessible to containers. // +kubebuilder:validation:Optional // +kubebuilder:default=false // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Enable CDI as a mechanism for making GPUs accessible to containers" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch" Enabled *bool `json:"enabled,omitempty"` // Default indicates whether to use CDI as the default mechanism for providing GPU access to containers. // +kubebuilder:validation:Optional // +kubebuilder:default=false // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Configure CDI as the default mechanism for making GPUs accessible to containers" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch" Default *bool `json:"default,omitempty"` }
CDIConfigSpec defines how the Container Device Interface is used in the cluster.
func (*CDIConfigSpec) DeepCopy ¶
func (in *CDIConfigSpec) DeepCopy() *CDIConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CDIConfigSpec.
func (*CDIConfigSpec) DeepCopyInto ¶
func (in *CDIConfigSpec) DeepCopyInto(out *CDIConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CDIConfigSpec) IsDefault ¶
func (c *CDIConfigSpec) IsDefault() bool
IsDefault returns true if CDI is enabled as the default mechanism for providing GPU access to containers
func (*CDIConfigSpec) IsEnabled ¶
func (c *CDIConfigSpec) IsEnabled() bool
IsEnabled returns true if CDI is enabled as a mechanism for providing GPU access to containers
type CUDAValidatorSpec ¶
type CUDAValidatorSpec struct { // Optional: List of environment variables // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Environment Variables" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:text" Env []EnvVar `json:"env,omitempty"` }
CUDAValidatorSpec defines validator spec for CUDA validation workload pod
func (*CUDAValidatorSpec) DeepCopy ¶
func (in *CUDAValidatorSpec) DeepCopy() *CUDAValidatorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CUDAValidatorSpec.
func (*CUDAValidatorSpec) DeepCopyInto ¶
func (in *CUDAValidatorSpec) DeepCopyInto(out *CUDAValidatorSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterPolicy ¶
type ClusterPolicy struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ClusterPolicySpec `json:"spec,omitempty"` Status ClusterPolicyStatus `json:"status,omitempty"` }
ClusterPolicy is the Schema for the clusterpolicies API
func (*ClusterPolicy) DeepCopy ¶
func (in *ClusterPolicy) DeepCopy() *ClusterPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterPolicy.
func (*ClusterPolicy) DeepCopyInto ¶
func (in *ClusterPolicy) DeepCopyInto(out *ClusterPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterPolicy) DeepCopyObject ¶
func (in *ClusterPolicy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ClusterPolicy) SetStatus ¶
func (p *ClusterPolicy) SetStatus(s State, ns string)
SetStatus sets state and namespace of ClusterPolicy instance
type ClusterPolicyList ¶
type ClusterPolicyList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ClusterPolicy `json:"items"` }
ClusterPolicyList contains a list of ClusterPolicy
func (*ClusterPolicyList) DeepCopy ¶
func (in *ClusterPolicyList) DeepCopy() *ClusterPolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterPolicyList.
func (*ClusterPolicyList) DeepCopyInto ¶
func (in *ClusterPolicyList) DeepCopyInto(out *ClusterPolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterPolicyList) DeepCopyObject ¶
func (in *ClusterPolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterPolicySpec ¶
type ClusterPolicySpec struct { // Operator component spec Operator OperatorSpec `json:"operator"` // Daemonset defines common configuration for all Daemonsets Daemonsets DaemonsetsSpec `json:"daemonsets"` // Driver component spec Driver DriverSpec `json:"driver"` // Toolkit component spec Toolkit ToolkitSpec `json:"toolkit"` // DevicePlugin component spec DevicePlugin DevicePluginSpec `json:"devicePlugin"` // DCGMExporter spec DCGMExporter DCGMExporterSpec `json:"dcgmExporter"` // DCGM component spec DCGM DCGMSpec `json:"dcgm"` // NodeStatusExporter spec NodeStatusExporter NodeStatusExporterSpec `json:"nodeStatusExporter"` // GPUFeatureDiscovery spec GPUFeatureDiscovery GPUFeatureDiscoverySpec `json:"gfd"` // MIG spec MIG MIGSpec `json:"mig,omitempty"` // MIGManager for configuration to deploy MIG Manager MIGManager MIGManagerSpec `json:"migManager,omitempty"` // Deprecated: Pod Security Policies are no longer supported. Please use PodSecurityAdmission instead // PSP defines spec for handling PodSecurityPolicies PSP PSPSpec `json:"psp,omitempty"` // PSA defines spec for PodSecurityAdmission configuration PSA PSASpec `json:"psa,omitempty"` // Validator defines the spec for operator-validator daemonset Validator ValidatorSpec `json:"validator,omitempty"` // GPUDirectStorage defines the spec for GDS components(Experimental) GPUDirectStorage *GPUDirectStorageSpec `json:"gds,omitempty"` // GDRCopy component spec GDRCopy *GDRCopySpec `json:"gdrcopy,omitempty"` // SandboxWorkloads defines the spec for handling sandbox workloads (i.e. Virtual Machines) SandboxWorkloads SandboxWorkloadsSpec `json:"sandboxWorkloads,omitempty"` // VFIOManager for configuration to deploy VFIO-PCI Manager VFIOManager VFIOManagerSpec `json:"vfioManager,omitempty"` // SandboxDevicePlugin component spec SandboxDevicePlugin SandboxDevicePluginSpec `json:"sandboxDevicePlugin,omitempty"` // VGPUManager component spec VGPUManager VGPUManagerSpec `json:"vgpuManager,omitempty"` // VGPUDeviceManager spec VGPUDeviceManager VGPUDeviceManagerSpec `json:"vgpuDeviceManager,omitempty"` // CDI configures how the Container Device Interface is used in the cluster CDI CDIConfigSpec `json:"cdi,omitempty"` // KataManager component spec KataManager KataManagerSpec `json:"kataManager,omitempty"` // CCManager component spec CCManager CCManagerSpec `json:"ccManager,omitempty"` // HostPaths defines various paths on the host needed by GPU Operator components HostPaths HostPathsSpec `json:"hostPaths,omitempty"` }
ClusterPolicySpec defines the desired state of ClusterPolicy
func (*ClusterPolicySpec) DeepCopy ¶
func (in *ClusterPolicySpec) DeepCopy() *ClusterPolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterPolicySpec.
func (*ClusterPolicySpec) DeepCopyInto ¶
func (in *ClusterPolicySpec) DeepCopyInto(out *ClusterPolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterPolicyStatus ¶
type ClusterPolicyStatus struct { // +kubebuilder:validation:Enum=ignored;ready;notReady // State indicates status of ClusterPolicy State State `json:"state"` // Namespace indicates a namespace in which the operator is installed Namespace string `json:"namespace,omitempty"` // Conditions is a list of conditions representing the ClusterPolicy's current state. Conditions []metav1.Condition `json:"conditions,omitempty"` }
ClusterPolicyStatus defines the observed state of ClusterPolicy
func (*ClusterPolicyStatus) DeepCopy ¶
func (in *ClusterPolicyStatus) DeepCopy() *ClusterPolicyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterPolicyStatus.
func (*ClusterPolicyStatus) DeepCopyInto ¶
func (in *ClusterPolicyStatus) DeepCopyInto(out *ClusterPolicyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ContainerProbeSpec ¶
type ContainerProbeSpec struct { // Number of seconds after the container has started before liveness probes are initiated. // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes // +kubebuilder:validation:Optional InitialDelaySeconds int32 `json:"initialDelaySeconds,omitempty"` // Number of seconds after which the probe times out. // Defaults to 1 second. Minimum value is 1. // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes // +kubebuilder:validation:Optional // +kubebuilder:validation:Minimum=1 TimeoutSeconds int32 `json:"timeoutSeconds,omitempty"` // How often (in seconds) to perform the probe. // Default to 10 seconds. Minimum value is 1. // +kubebuilder:validation:Optional // +kubebuilder:validation:Minimum=1 PeriodSeconds int32 `json:"periodSeconds,omitempty"` // Minimum consecutive successes for the probe to be considered successful after having failed. // Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. // +kubebuilder:validation:Optional // +kubebuilder:validation:Minimum=1 SuccessThreshold int32 `json:"successThreshold,omitempty"` // Minimum consecutive failures for the probe to be considered failed after having succeeded. // Defaults to 3. Minimum value is 1. // +kubebuilder:validation:Optional // +kubebuilder:validation:Minimum=1 FailureThreshold int32 `json:"failureThreshold,omitempty"` }
ContainerProbeSpec defines the properties for configuring container probes
func (*ContainerProbeSpec) DeepCopy ¶
func (in *ContainerProbeSpec) DeepCopy() *ContainerProbeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerProbeSpec.
func (*ContainerProbeSpec) DeepCopyInto ¶
func (in *ContainerProbeSpec) DeepCopyInto(out *ContainerProbeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DCGMExporterMetricsConfig ¶
type DCGMExporterMetricsConfig struct { // ConfigMap name with file dcgm-metrics.csv for metrics to be collected by NVIDIA DCGM Exporter // +kubebuilder:validation:Optional // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="ConfigMap name with file dcgm-metrics.csv" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:text" Name string `json:"name,omitempty"` }
DCGMExporterMetricsConfig defines metrics to be collected by NVIDIA DCGM Exporter
func (*DCGMExporterMetricsConfig) DeepCopy ¶
func (in *DCGMExporterMetricsConfig) DeepCopy() *DCGMExporterMetricsConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DCGMExporterMetricsConfig.
func (*DCGMExporterMetricsConfig) DeepCopyInto ¶
func (in *DCGMExporterMetricsConfig) DeepCopyInto(out *DCGMExporterMetricsConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DCGMExporterServiceMonitorConfig ¶
type DCGMExporterServiceMonitorConfig struct { // Enabled indicates if ServiceMonitor is deployed for NVIDIA DCGM Exporter // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Enable deployment of NVIDIA DCGM Exporter ServiceMonitor" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch" Enabled *bool `json:"enabled,omitempty"` // Interval which metrics should be scraped from NVIDIA DCGM Exporter. If not specified Prometheus’ global scrape interval is used. // Supported units: y, w, d, h, m, s, ms // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Interval which metrics should be scraped from NVDIA DCGM Exporter" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:text" Interval promv1.Duration `json:"interval,omitempty"` // HonorLabels chooses the metric’s labels on collisions with target labels. // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Choose the metric's label on collisions with target labels" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch" HonorLabels *bool `json:"honorLabels,omitempty"` // AdditionalLabels to add to ServiceMonitor instance for NVIDIA DCGM Exporter // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Additional labels to add to ServiceMonitor instance for NVIDIA DCGM Exporter" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:text" AdditionalLabels map[string]string `json:"additionalLabels,omitempty"` // Relabelings allows to rewrite labels on metric sets for NVIDIA DCGM Exporter // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Relabelings allows to rewrite labels on metric sets for NVIDIA DCGM Exporter" Relabelings []*promv1.RelabelConfig `json:"relabelings,omitempty"` }
DCGMExporterServiceMonitorConfig defines configuration options for the ServiceMonitor deployed for DCGM Exporter
func (*DCGMExporterServiceMonitorConfig) DeepCopy ¶
func (in *DCGMExporterServiceMonitorConfig) DeepCopy() *DCGMExporterServiceMonitorConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DCGMExporterServiceMonitorConfig.
func (*DCGMExporterServiceMonitorConfig) DeepCopyInto ¶
func (in *DCGMExporterServiceMonitorConfig) DeepCopyInto(out *DCGMExporterServiceMonitorConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DCGMExporterServiceMonitorConfig) IsEnabled ¶
func (sm *DCGMExporterServiceMonitorConfig) IsEnabled() bool
IsEnabled returns true if ServiceMonitor for DCGM Exporter is enabled through gpu-operator
type DCGMExporterSpec ¶
type DCGMExporterSpec struct { // Enabled indicates if deployment of NVIDIA DCGM Exporter through operator is enabled // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Enable NVIDIA DCGM Exporter deployment through GPU Operator" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch" Enabled *bool `json:"enabled,omitempty"` // NVIDIA DCGM Exporter image repository // +kubebuilder:validation:Optional Repository string `json:"repository,omitempty"` // NVIDIA DCGM Exporter image name // +kubebuilder:validation:Pattern=[a-zA-Z0-9\-]+ Image string `json:"image,omitempty"` // NVIDIA DCGM Exporter image tag // +kubebuilder:validation:Optional Version string `json:"version,omitempty"` // Image pull policy // +kubebuilder:validation:Optional // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Image Pull Policy" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:imagePullPolicy" ImagePullPolicy string `json:"imagePullPolicy,omitempty"` // Image pull secrets // +kubebuilder:validation:Optional // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Image pull secrets" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:io.kubernetes:Secret" ImagePullSecrets []string `json:"imagePullSecrets,omitempty"` // Optional: Define resources requests and limits for each pod // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Resource Requirements" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:resourceRequirements" Resources *ResourceRequirements `json:"resources,omitempty"` // Optional: List of arguments // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Arguments" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:text" Args []string `json:"args,omitempty"` // Optional: List of environment variables // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Environment Variables" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:text" Env []EnvVar `json:"env,omitempty"` // Optional: Custom metrics configuration for NVIDIA DCGM Exporter // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Custom Metrics Configuration For DCGM Exporter" MetricsConfig *DCGMExporterMetricsConfig `json:"config,omitempty"` // Optional: ServiceMonitor configuration for NVIDIA DCGM Exporter // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="ServiceMonitor configuration for NVIDIA DCGM Exporter" ServiceMonitor *DCGMExporterServiceMonitorConfig `json:"serviceMonitor,omitempty"` }
DCGMExporterSpec defines the properties for NVIDIA DCGM Exporter deployment
func (*DCGMExporterSpec) DeepCopy ¶
func (in *DCGMExporterSpec) DeepCopy() *DCGMExporterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DCGMExporterSpec.
func (*DCGMExporterSpec) DeepCopyInto ¶
func (in *DCGMExporterSpec) DeepCopyInto(out *DCGMExporterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DCGMExporterSpec) IsEnabled ¶
func (e *DCGMExporterSpec) IsEnabled() bool
IsEnabled returns true if dcgm-exporter is enabled(default) through gpu-operator
type DCGMSpec ¶
type DCGMSpec struct { // Enabled indicates if deployment of NVIDIA DCGM Hostengine as a separate pod is enabled. // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Enable NVIDIA DCGM hostengine as a separate Pod" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch" Enabled *bool `json:"enabled,omitempty"` // NVIDIA DCGM image repository // +kubebuilder:validation:Optional Repository string `json:"repository,omitempty"` // NVIDIA DCGM image name // +kubebuilder:validation:Pattern=[a-zA-Z0-9\-]+ Image string `json:"image,omitempty"` // NVIDIA DCGM image tag // +kubebuilder:validation:Optional Version string `json:"version,omitempty"` // Image pull policy // +kubebuilder:validation:Optional // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Image Pull Policy" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:imagePullPolicy" ImagePullPolicy string `json:"imagePullPolicy,omitempty"` // Image pull secrets // +kubebuilder:validation:Optional // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Image pull secrets" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:io.kubernetes:Secret" ImagePullSecrets []string `json:"imagePullSecrets,omitempty"` // Optional: Define resources requests and limits for each pod // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Resource Requirements" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:resourceRequirements" Resources *ResourceRequirements `json:"resources,omitempty"` // Optional: List of arguments // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Arguments" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:text" Args []string `json:"args,omitempty"` // Optional: List of environment variables // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Environment Variables" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:text" Env []EnvVar `json:"env,omitempty"` // Deprecated: HostPort represents host port that needs to be bound for DCGM engine (Default: 5555) // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Host port to bind for DCGM engine" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:number" HostPort int32 `json:"hostPort,omitempty"` }
DCGMSpec defines the properties for NVIDIA DCGM deployment
func (*DCGMSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DCGMSpec.
func (*DCGMSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DaemonsetsSpec ¶
type DaemonsetsSpec struct { // Optional: Map of string keys and values that can be used to organize and categorize // (scope and select) objects. May match selectors of replication controllers // and services. Labels map[string]string `json:"labels,omitempty"` // Optional: Annotations is an unstructured key value map stored with a resource that may be // set by external tools to store and retrieve arbitrary metadata. They are not // queryable and should be preserved when modifying objects. Annotations map[string]string `json:"annotations,omitempty"` // Optional: Set tolerations // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Tolerations" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:io.kubernetes:Tolerations" Tolerations []corev1.Toleration `json:"tolerations,omitempty"` // +kubebuilder:validation:Optional // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="PriorityClassName" PriorityClassName string `json:"priorityClassName,omitempty"` // +kubebuilder:validation:Optional // +kubebuilder:default=RollingUpdate // +kubebuilder:validation:Enum=RollingUpdate;OnDelete // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="UpdateStrategy for all Daemonsets" UpdateStrategy string `json:"updateStrategy,omitempty"` // Optional: Configuration for rolling update of all DaemonSet pods // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Rolling update configuration for all DaemonSet pods" RollingUpdate *RollingUpdateSpec `json:"rollingUpdate,omitempty"` }
DaemonsetsSpec indicates common configuration for all Daemonsets managed by GPU Operator
func (*DaemonsetsSpec) DeepCopy ¶
func (in *DaemonsetsSpec) DeepCopy() *DaemonsetsSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DaemonsetsSpec.
func (*DaemonsetsSpec) DeepCopyInto ¶
func (in *DaemonsetsSpec) DeepCopyInto(out *DaemonsetsSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DevicePluginConfig ¶
type DevicePluginConfig struct { // ConfigMap name for NVIDIA Device Plugin config including shared config between plugin and GFD // +kubebuilder:validation:Optional // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="ConfigMap name for NVIDIA Device Plugin including shared config between plugin and GFD" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:text" Name string `json:"name,omitempty"` // Default config name within the ConfigMap for the NVIDIA Device Plugin config // +kubebuilder:validation:Optional // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Default config name within the ConfigMap for the NVIDIA Device Plugin config" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:text" Default string `json:"default,omitempty"` }
DevicePluginConfig defines ConfigMap name for NVIDIA Device Plugin config
func (*DevicePluginConfig) DeepCopy ¶
func (in *DevicePluginConfig) DeepCopy() *DevicePluginConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DevicePluginConfig.
func (*DevicePluginConfig) DeepCopyInto ¶
func (in *DevicePluginConfig) DeepCopyInto(out *DevicePluginConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DevicePluginSpec ¶
type DevicePluginSpec struct { // Enabled indicates if deployment of NVIDIA Device Plugin through operator is enabled // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Enable NVIDIA Device Plugin deployment through GPU Operator" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch" Enabled *bool `json:"enabled,omitempty"` // NVIDIA Device Plugin image repository // +kubebuilder:validation:Optional Repository string `json:"repository,omitempty"` // NVIDIA Device Plugin image name // +kubebuilder:validation:Pattern=[a-zA-Z0-9\-]+ Image string `json:"image,omitempty"` // NVIDIA Device Plugin image tag // +kubebuilder:validation:Optional Version string `json:"version,omitempty"` // Image pull policy // +kubebuilder:validation:Optional // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Image Pull Policy" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:imagePullPolicy" ImagePullPolicy string `json:"imagePullPolicy,omitempty"` // Image pull secrets // +kubebuilder:validation:Optional // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Image pull secrets" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:io.kubernetes:Secret" ImagePullSecrets []string `json:"imagePullSecrets,omitempty"` // Optional: Define resources requests and limits for each pod // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Resource Requirements" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:resourceRequirements" Resources *ResourceRequirements `json:"resources,omitempty"` // Optional: List of arguments // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Arguments" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:text" Args []string `json:"args,omitempty"` // Optional: List of environment variables // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Environment Variables" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:text" Env []EnvVar `json:"env,omitempty"` // Optional: Configuration for the NVIDIA Device Plugin via the ConfigMap // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Configuration for the NVIDIA Device Plugin via the ConfigMap" Config *DevicePluginConfig `json:"config,omitempty"` // Optional: MPS related configuration for the NVIDIA Device Plugin // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="MPS related configuration for the NVIDIA Device Plugin" MPS *MPSConfig `json:"mps,omitempty"` }
DevicePluginSpec defines the properties for NVIDIA Device Plugin deployment
func (*DevicePluginSpec) DeepCopy ¶
func (in *DevicePluginSpec) DeepCopy() *DevicePluginSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DevicePluginSpec.
func (*DevicePluginSpec) DeepCopyInto ¶
func (in *DevicePluginSpec) DeepCopyInto(out *DevicePluginSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DevicePluginSpec) IsEnabled ¶
func (p *DevicePluginSpec) IsEnabled() bool
IsEnabled returns true if device-plugin is enabled(default) through gpu-operator
type DriverCertConfigSpec ¶
type DriverCertConfigSpec struct { // +kubebuilder:validation:Optional // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="ConfigMap Name" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:text" Name string `json:"name,omitempty"` }
DriverCertConfigSpec defines custom certificates configuration for NVIDIA Driver container
func (*DriverCertConfigSpec) DeepCopy ¶
func (in *DriverCertConfigSpec) DeepCopy() *DriverCertConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DriverCertConfigSpec.
func (*DriverCertConfigSpec) DeepCopyInto ¶
func (in *DriverCertConfigSpec) DeepCopyInto(out *DriverCertConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DriverLicensingConfigSpec ¶
type DriverLicensingConfigSpec struct { // +kubebuilder:validation:Optional // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="ConfigMap Name" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:text" ConfigMapName string `json:"configMapName,omitempty"` // NLSEnabled indicates if NVIDIA Licensing System is used for licensing. // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Enable NVIDIA Licensing System licensing" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch" NLSEnabled *bool `json:"nlsEnabled,omitempty"` }
DriverLicensingConfigSpec defines licensing server configuration for NVIDIA Driver container
func (*DriverLicensingConfigSpec) DeepCopy ¶
func (in *DriverLicensingConfigSpec) DeepCopy() *DriverLicensingConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DriverLicensingConfigSpec.
func (*DriverLicensingConfigSpec) DeepCopyInto ¶
func (in *DriverLicensingConfigSpec) DeepCopyInto(out *DriverLicensingConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DriverLicensingConfigSpec) IsNLSEnabled ¶
func (l *DriverLicensingConfigSpec) IsNLSEnabled() bool
IsNLSEnabled returns true if NLS should be used for licensing the driver
type DriverManagerSpec ¶
type DriverManagerSpec struct { // Repository represents Driver Managerrepository path Repository string `json:"repository,omitempty"` // Image represents NVIDIA Driver Manager image name // +kubebuilder:validation:Pattern=[a-zA-Z0-9\-]+ Image string `json:"image,omitempty"` // Version represents NVIDIA Driver Manager image tag(version) Version string `json:"version,omitempty"` // Image pull policy // +kubebuilder:validation:Optional ImagePullPolicy string `json:"imagePullPolicy,omitempty"` // Image pull secrets // +kubebuilder:validation:Optional // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Image pull secrets" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:io.kubernetes:Secret" ImagePullSecrets []string `json:"imagePullSecrets,omitempty"` // Optional: List of environment variables // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Environment Variables" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:text" Env []EnvVar `json:"env,omitempty"` }
DriverManagerSpec describes configuration for NVIDIA Driver Manager(initContainer)
func (*DriverManagerSpec) DeepCopy ¶
func (in *DriverManagerSpec) DeepCopy() *DriverManagerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DriverManagerSpec.
func (*DriverManagerSpec) DeepCopyInto ¶
func (in *DriverManagerSpec) DeepCopyInto(out *DriverManagerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DriverRepoConfigSpec ¶
type DriverRepoConfigSpec struct { // +kubebuilder:validation:Optional // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="ConfigMap Name" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:text" ConfigMapName string `json:"configMapName,omitempty"` }
DriverRepoConfigSpec defines custom repo configuration for NVIDIA Driver container
func (*DriverRepoConfigSpec) DeepCopy ¶
func (in *DriverRepoConfigSpec) DeepCopy() *DriverRepoConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DriverRepoConfigSpec.
func (*DriverRepoConfigSpec) DeepCopyInto ¶
func (in *DriverRepoConfigSpec) DeepCopyInto(out *DriverRepoConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DriverSpec ¶
type DriverSpec struct { // UseNvidiaDriverCRD indicates if the deployment of NVIDIA Driver is managed by the NVIDIADriver CRD type // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Enable NVIDIA Driver deployment through NVIDIADriver CRD type" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch" UseNvidiaDriverCRD *bool `json:"useNvidiaDriverCRD,omitempty"` // UsePrecompiled indicates if deployment of NVIDIA Driver using pre-compiled modules is enabled // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Enable NVIDIA Driver deployment using pre-compiled modules" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch" UsePrecompiled *bool `json:"usePrecompiled,omitempty"` // Deprecated: This field is no longer honored by the gpu-operator. Please use KernelModuleType instead. // UseOpenKernelModules indicates if the open GPU kernel modules should be used // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Enable use of open GPU kernel modules" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch,urn:alm:descriptor:com.tectonic.ui:hidden" UseOpenKernelModules *bool `json:"useOpenKernelModules,omitempty"` // KernelModuleType represents the type of driver kernel modules to be used when installing the GPU driver. // Accepted values are auto, proprietary and open. NOTE: If auto is chosen, it means that the recommended kernel module // type is chosen based on the GPU devices on the host and the driver branch used // +kubebuilder:validation:Enum=auto;open;proprietary // +kubebuilder:default=auto // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Kernel Module Type" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.description="Kernel Module Type" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:select:auto,urn:alm:descriptor:com.tectonic.ui:select:open,urn:alm:descriptor:com.tectonic.ui:select:proprietary" KernelModuleType string `json:"kernelModuleType,omitempty"` // Enabled indicates if deployment of NVIDIA Driver through operator is enabled // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Enable NVIDIA Driver deployment through GPU Operator" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch" Enabled *bool `json:"enabled,omitempty"` // NVIDIA Driver container startup probe settings StartupProbe *ContainerProbeSpec `json:"startupProbe,omitempty"` // NVIDIA Driver container liveness probe settings LivenessProbe *ContainerProbeSpec `json:"livenessProbe,omitempty"` // NVIDIA Driver container readiness probe settings ReadinessProbe *ContainerProbeSpec `json:"readinessProbe,omitempty"` GPUDirectRDMA *GPUDirectRDMASpec `json:"rdma,omitempty"` // Driver auto-upgrade settings UpgradePolicy *upgrade_v1alpha1.DriverUpgradePolicySpec `json:"upgradePolicy,omitempty"` // NVIDIA Driver image repository // +kubebuilder:validation:Optional Repository string `json:"repository,omitempty"` // NVIDIA Driver image name // +kubebuilder:validation:Pattern=[a-zA-Z0-9\-]+ Image string `json:"image,omitempty"` // NVIDIA Driver image tag // +kubebuilder:validation:Optional Version string `json:"version,omitempty"` // Image pull policy // +kubebuilder:validation:Optional // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Image Pull Policy" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:imagePullPolicy" ImagePullPolicy string `json:"imagePullPolicy,omitempty"` // Image pull secrets // +kubebuilder:validation:Optional // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Image pull secrets" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:io.kubernetes:Secret" ImagePullSecrets []string `json:"imagePullSecrets,omitempty"` // Manager represents configuration for NVIDIA Driver Manager initContainer Manager DriverManagerSpec `json:"manager,omitempty"` // Optional: Define resources requests and limits for each pod // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Resource Requirements" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:resourceRequirements" Resources *ResourceRequirements `json:"resources,omitempty"` // Optional: List of arguments // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Arguments" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:text" Args []string `json:"args,omitempty"` // Optional: List of environment variables // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Environment Variables" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:text" Env []EnvVar `json:"env,omitempty"` // Optional: Custom repo configuration for NVIDIA Driver container // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Custom Repo Configuration For NVIDIA Driver Container" RepoConfig *DriverRepoConfigSpec `json:"repoConfig,omitempty"` // Optional: Custom certificates configuration for NVIDIA Driver container // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Custom Certificates Configuration For NVIDIA Driver Container" CertConfig *DriverCertConfigSpec `json:"certConfig,omitempty"` // Optional: Licensing configuration for NVIDIA vGPU licensing // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Licensing Configuration For NVIDIA vGPU Driver Container" LicensingConfig *DriverLicensingConfigSpec `json:"licensingConfig,omitempty"` // Optional: Virtual Topology Daemon configuration for NVIDIA vGPU drivers // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Custom Virtual Topology Daemon Configuration For vGPU Driver Container" VirtualTopology *VirtualTopologyConfigSpec `json:"virtualTopology,omitempty"` // Optional: Kernel module configuration parameters for the NVIDIA Driver // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Kernel module configuration parameters for the NVIDIA driver" KernelModuleConfig *KernelModuleConfigSpec `json:"kernelModuleConfig,omitempty"` }
DriverSpec defines the properties for NVIDIA Driver deployment
func (*DriverSpec) DeepCopy ¶
func (in *DriverSpec) DeepCopy() *DriverSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DriverSpec.
func (*DriverSpec) DeepCopyInto ¶
func (in *DriverSpec) DeepCopyInto(out *DriverSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DriverSpec) IsEnabled ¶
func (d *DriverSpec) IsEnabled() bool
IsEnabled returns true if driver install is enabled(default) through gpu-operator
func (*DriverSpec) OpenKernelModulesEnabled ¶
func (d *DriverSpec) OpenKernelModulesEnabled() bool
OpenKernelModulesEnabled returns true if driver install is enabled using open GPU kernel modules
func (*DriverSpec) UseNvdiaDriverCRDType ¶
func (d *DriverSpec) UseNvdiaDriverCRDType() bool
UseNvdiaDriverCRDType returns true if the driver installation is managed by NVIDIADriver CRD type
func (*DriverSpec) UsePrecompiledDrivers ¶
func (d *DriverSpec) UsePrecompiledDrivers() bool
UsePrecompiledDrivers returns true if driver install is enabled using pre-compiled modules
type DriverValidatorSpec ¶
type DriverValidatorSpec struct { // Optional: List of environment variables // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Environment Variables" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:text" Env []EnvVar `json:"env,omitempty"` }
DriverValidatorSpec defines validator spec for NVIDIA Driver validation
func (*DriverValidatorSpec) DeepCopy ¶
func (in *DriverValidatorSpec) DeepCopy() *DriverValidatorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DriverValidatorSpec.
func (*DriverValidatorSpec) DeepCopyInto ¶
func (in *DriverValidatorSpec) DeepCopyInto(out *DriverValidatorSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnvVar ¶
type EnvVar struct { // Name of the environment variable. Name string `json:"name"` // Value of the environment variable. Value string `json:"value,omitempty"` }
EnvVar represents an environment variable present in a Container.
func (*EnvVar) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvVar.
func (*EnvVar) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GDRCopySpec ¶
type GDRCopySpec struct { // Enabled indicates if GDRCopy is enabled through GPU Operator // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Enable GDRCopy through GPU operator" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch" Enabled *bool `json:"enabled,omitempty"` // NVIDIA GDRCopy driver image repository // +kubebuilder:validation:Optional Repository string `json:"repository,omitempty"` // NVIDIA GDRCopy driver image name // +kubebuilder:validation:Pattern=[a-zA-Z0-9\-]+ Image string `json:"image,omitempty"` // NVIDIA GDRCopy driver image tag // +kubebuilder:validation:Optional Version string `json:"version,omitempty"` // Image pull policy // +kubebuilder:validation:Optional // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Image Pull Policy" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:imagePullPolicy" ImagePullPolicy string `json:"imagePullPolicy,omitempty"` // Image pull secrets // +kubebuilder:validation:Optional // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Image pull secrets" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:io.kubernetes:Secret" ImagePullSecrets []string `json:"imagePullSecrets,omitempty"` // Optional: List of arguments // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Arguments" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:text" Args []string `json:"args,omitempty"` // Optional: List of environment variables // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Environment Variables" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:text" Env []EnvVar `json:"env,omitempty"` }
GDRCopySpec defines the properties for NVIDIA GDRCopy driver (gdrdrv) deployment
func (*GDRCopySpec) DeepCopy ¶
func (in *GDRCopySpec) DeepCopy() *GDRCopySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GDRCopySpec.
func (*GDRCopySpec) DeepCopyInto ¶
func (in *GDRCopySpec) DeepCopyInto(out *GDRCopySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GDRCopySpec) IsEnabled ¶
func (gdrcopy *GDRCopySpec) IsEnabled() bool
IsEnabled returns true if GDRCopy is enabled through gpu-operator
type GPUDirectRDMASpec ¶
type GPUDirectRDMASpec struct { // Enabled indicates if GPUDirect RDMA is enabled through GPU operator // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Enable GPUDirect RDMA through GPU operator" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch" Enabled *bool `json:"enabled,omitempty"` // UseHostMOFED indicates to use MOFED drivers directly installed on the host to enable GPUDirect RDMA // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Use MOFED drivers directly installed on the host to enable GPUDirect RDMA" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch" UseHostMOFED *bool `json:"useHostMofed,omitempty"` }
GPUDirectRDMASpec defines the properties for nvidia-peermem deployment
func (*GPUDirectRDMASpec) DeepCopy ¶
func (in *GPUDirectRDMASpec) DeepCopy() *GPUDirectRDMASpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GPUDirectRDMASpec.
func (*GPUDirectRDMASpec) DeepCopyInto ¶
func (in *GPUDirectRDMASpec) DeepCopyInto(out *GPUDirectRDMASpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GPUDirectRDMASpec) IsEnabled ¶
func (g *GPUDirectRDMASpec) IsEnabled() bool
IsEnabled returns true if GPUDirect RDMA are enabled through gpu-operator
func (*GPUDirectRDMASpec) IsHostMOFED ¶
func (g *GPUDirectRDMASpec) IsHostMOFED() bool
IsHostMOFED returns true if GPUDirect RDMA is enabled through MOFED installed on the host
type GPUDirectStorageSpec ¶
type GPUDirectStorageSpec struct { // Enabled indicates if GPUDirect Storage is enabled through GPU operator // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Enable GPUDirect Storage through GPU operator" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch" Enabled *bool `json:"enabled,omitempty"` // NVIDIA GPUDirect Storage Driver image repository // +kubebuilder:validation:Optional Repository string `json:"repository,omitempty"` // NVIDIA GPUDirect Storage Driver image name // +kubebuilder:validation:Pattern=[a-zA-Z0-9\-]+ Image string `json:"image,omitempty"` // NVIDIA GPUDirect Storage Driver image tag // +kubebuilder:validation:Optional Version string `json:"version,omitempty"` // Image pull policy // +kubebuilder:validation:Optional // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Image Pull Policy" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:imagePullPolicy" ImagePullPolicy string `json:"imagePullPolicy,omitempty"` // Image pull secrets // +kubebuilder:validation:Optional // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Image pull secrets" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:io.kubernetes:Secret" ImagePullSecrets []string `json:"imagePullSecrets,omitempty"` // Optional: List of arguments // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Arguments" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:text" Args []string `json:"args,omitempty"` // Optional: List of environment variables // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Environment Variables" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:text" Env []EnvVar `json:"env,omitempty"` }
GPUDirectStorageSpec defines the properties for NVIDIA GPUDirect Storage Driver deployment(Experimental)
func (*GPUDirectStorageSpec) DeepCopy ¶
func (in *GPUDirectStorageSpec) DeepCopy() *GPUDirectStorageSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GPUDirectStorageSpec.
func (*GPUDirectStorageSpec) DeepCopyInto ¶
func (in *GPUDirectStorageSpec) DeepCopyInto(out *GPUDirectStorageSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GPUDirectStorageSpec) IsEnabled ¶
func (gds *GPUDirectStorageSpec) IsEnabled() bool
IsEnabled returns true if GPUDirect Storage are enabled through gpu-operator
type GPUFeatureDiscoverySpec ¶
type GPUFeatureDiscoverySpec struct { // Enabled indicates if deployment of GPU Feature Discovery Plugin is enabled. // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Enable GPU Feature Discovery Plugin deployment through GPU Operator" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch" Enabled *bool `json:"enabled,omitempty"` // GFD image repository // +kubebuilder:validation:Optional Repository string `json:"repository,omitempty"` // GFD image name // +kubebuilder:validation:Pattern=[a-zA-Z0-9\-]+ Image string `json:"image,omitempty"` // GFD image tag // +kubebuilder:validation:Optional Version string `json:"version,omitempty"` // Image pull policy // +kubebuilder:validation:Optional // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Image Pull Policy" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:imagePullPolicy" ImagePullPolicy string `json:"imagePullPolicy,omitempty"` // Image pull secrets // +kubebuilder:validation:Optional // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Image pull secrets" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:io.kubernetes:Secret" ImagePullSecrets []string `json:"imagePullSecrets,omitempty"` // Optional: Define resources requests and limits for each pod // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Resource Requirements" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:resourceRequirements" Resources *ResourceRequirements `json:"resources,omitempty"` // Optional: List of arguments // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Arguments" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:text" Args []string `json:"args,omitempty"` // Optional: List of environment variables // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Environment Variables" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:text" Env []EnvVar `json:"env,omitempty"` }
GPUFeatureDiscoverySpec defines the properties for GPU Feature Discovery Plugin
func (*GPUFeatureDiscoverySpec) DeepCopy ¶
func (in *GPUFeatureDiscoverySpec) DeepCopy() *GPUFeatureDiscoverySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GPUFeatureDiscoverySpec.
func (*GPUFeatureDiscoverySpec) DeepCopyInto ¶
func (in *GPUFeatureDiscoverySpec) DeepCopyInto(out *GPUFeatureDiscoverySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GPUFeatureDiscoverySpec) IsEnabled ¶
func (g *GPUFeatureDiscoverySpec) IsEnabled() bool
IsEnabled returns true if gpu-feature-discovery is enabled(default) through gpu-operator
type HostPathsSpec ¶
type HostPathsSpec struct { // RootFS represents the path to the root filesystem of the host. // This is used by components that need to interact with the host filesystem // and as such this must be a chroot-able filesystem. // Examples include the MIG Manager and Toolkit Container which may need to // stop, start, or restart systemd services. RootFS string `json:"rootFS,omitempty"` // DriverInstallDir represents the root at which driver files including libraries, // config files, and executables can be found. DriverInstallDir string `json:"driverInstallDir,omitempty"` }
HostPathsSpec defines various paths on the host needed by GPU Operator components
func (*HostPathsSpec) DeepCopy ¶
func (in *HostPathsSpec) DeepCopy() *HostPathsSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostPathsSpec.
func (*HostPathsSpec) DeepCopyInto ¶
func (in *HostPathsSpec) DeepCopyInto(out *HostPathsSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InitContainerSpec ¶
type InitContainerSpec struct { // Repository represents image repository path Repository string `json:"repository,omitempty"` // Image represents image name // +kubebuilder:validation:Pattern=[a-zA-Z0-9\-]+ Image string `json:"image,omitempty"` // Version represents image tag(version) Version string `json:"version,omitempty"` // Image pull policy // +kubebuilder:validation:Optional ImagePullPolicy string `json:"imagePullPolicy,omitempty"` // Image pull secrets // +kubebuilder:validation:Optional // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Image pull secrets" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:io.kubernetes:Secret" ImagePullSecrets []string `json:"imagePullSecrets,omitempty"` }
InitContainerSpec describes configuration for initContainer image used with all components
func (*InitContainerSpec) DeepCopy ¶
func (in *InitContainerSpec) DeepCopy() *InitContainerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InitContainerSpec.
func (*InitContainerSpec) DeepCopyInto ¶
func (in *InitContainerSpec) DeepCopyInto(out *InitContainerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KataManagerSpec ¶
type KataManagerSpec struct { // Enabled indicates if deployment of Kata Manager is enabled // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Enable Kata Manager deployment through GPU Operator" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch" Enabled *bool `json:"enabled,omitempty"` // Kata Manager config // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Kata Manager configuration" Config *kata_v1alpha1.Config `json:"config,omitempty"` // Kata Manager image repository // +kubebuilder:validation:Optional Repository string `json:"repository,omitempty"` // Kata Manager image name // +kubebuilder:validation:Pattern=[a-zA-Z0-9\-]+ Image string `json:"image,omitempty"` // Kata Manager image tag // +kubebuilder:validation:Optional Version string `json:"version,omitempty"` // Image pull policy // +kubebuilder:validation:Optional // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Image Pull Policy" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:imagePullPolicy" ImagePullPolicy string `json:"imagePullPolicy,omitempty"` // Image pull secrets // +kubebuilder:validation:Optional // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Image pull secrets" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:io.kubernetes:Secret" ImagePullSecrets []string `json:"imagePullSecrets,omitempty"` // Optional: Define resources requests and limits for each pod // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Resource Requirements" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:resourceRequirements" Resources *ResourceRequirements `json:"resources,omitempty"` // Optional: List of arguments // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Arguments" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:text" Args []string `json:"args,omitempty"` // Optional: List of environment variables // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Environment Variables" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:text" Env []EnvVar `json:"env,omitempty"` }
KataManagerSpec defines the configuration for the kata-manager which prepares NVIDIA-specific kata runtimes
func (*KataManagerSpec) DeepCopy ¶
func (in *KataManagerSpec) DeepCopy() *KataManagerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KataManagerSpec.
func (*KataManagerSpec) DeepCopyInto ¶
func (in *KataManagerSpec) DeepCopyInto(out *KataManagerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KataManagerSpec) IsEnabled ¶
func (k *KataManagerSpec) IsEnabled() bool
IsEnabled returns true if Kata Manager is enabled
type KernelModuleConfigSpec ¶
type KernelModuleConfigSpec struct { // +kubebuilder:validation:Optional // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="ConfigMap Name" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:text" Name string `json:"name,omitempty"` }
KernelModuleConfigSpec defines custom configuration parameters for the NVIDIA Driver
func (*KernelModuleConfigSpec) DeepCopy ¶
func (in *KernelModuleConfigSpec) DeepCopy() *KernelModuleConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KernelModuleConfigSpec.
func (*KernelModuleConfigSpec) DeepCopyInto ¶
func (in *KernelModuleConfigSpec) DeepCopyInto(out *KernelModuleConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MIGGPUClientsConfigSpec ¶
type MIGGPUClientsConfigSpec struct { // ConfigMap name // +kubebuilder:validation:Optional // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="ConfigMap Name" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:text" Name string `json:"name,omitempty"` }
MIGGPUClientsConfigSpec defines custom gpu-clients config for NVIDIA MIG Manager container
func (*MIGGPUClientsConfigSpec) DeepCopy ¶
func (in *MIGGPUClientsConfigSpec) DeepCopy() *MIGGPUClientsConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MIGGPUClientsConfigSpec.
func (*MIGGPUClientsConfigSpec) DeepCopyInto ¶
func (in *MIGGPUClientsConfigSpec) DeepCopyInto(out *MIGGPUClientsConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MIGManagerSpec ¶
type MIGManagerSpec struct { // Enabled indicates if deployment of NVIDIA MIG Manager is enabled // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Enable NVIDIA MIG Manager deployment through GPU Operator" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch" Enabled *bool `json:"enabled,omitempty"` // NVIDIA MIG Manager image repository // +kubebuilder:validation:Optional Repository string `json:"repository,omitempty"` // NVIDIA MIG Manager image name // +kubebuilder:validation:Pattern=[a-zA-Z0-9\-]+ Image string `json:"image,omitempty"` // NVIDIA MIG Manager image tag // +kubebuilder:validation:Optional Version string `json:"version,omitempty"` // Image pull policy // +kubebuilder:validation:Optional // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Image Pull Policy" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:imagePullPolicy" ImagePullPolicy string `json:"imagePullPolicy,omitempty"` // Image pull secrets // +kubebuilder:validation:Optional // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Image pull secrets" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:io.kubernetes:Secret" ImagePullSecrets []string `json:"imagePullSecrets,omitempty"` // Optional: Define resources requests and limits for each pod // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Resource Requirements" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:resourceRequirements" Resources *ResourceRequirements `json:"resources,omitempty"` // Optional: List of arguments // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Arguments" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:text" Args []string `json:"args,omitempty"` // Optional: List of environment variables // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Environment Variables" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:text" Env []EnvVar `json:"env,omitempty"` // Optional: Custom mig-parted configuration for NVIDIA MIG Manager container // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Custom mig-parted configuration for NVIDIA MIG Manager container" Config *MIGPartedConfigSpec `json:"config,omitempty"` // Optional: Custom gpu-clients configuration for NVIDIA MIG Manager container // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Custom gpu-clients configuration for NVIDIA MIG Manager container" GPUClientsConfig *MIGGPUClientsConfigSpec `json:"gpuClientsConfig,omitempty"` }
MIGManagerSpec defines the properties for deploying NVIDIA MIG Manager
func (*MIGManagerSpec) DeepCopy ¶
func (in *MIGManagerSpec) DeepCopy() *MIGManagerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MIGManagerSpec.
func (*MIGManagerSpec) DeepCopyInto ¶
func (in *MIGManagerSpec) DeepCopyInto(out *MIGManagerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MIGManagerSpec) IsEnabled ¶
func (m *MIGManagerSpec) IsEnabled() bool
IsEnabled returns true if mig-manager is enabled(default) through gpu-operator
type MIGPartedConfigSpec ¶
type MIGPartedConfigSpec struct { // ConfigMap name // +kubebuilder:validation:Optional // +kubebuilder:default=default-mig-parted-config // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="ConfigMap Name" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:text" Name string `json:"name,omitempty"` // Default MIG config to be applied on the node, when there is no config specified with the node label nvidia.com/mig.config // +kubebuilder:validation:Optional // +kubebuilder:default=all-disabled // +kubebuilder:validation:Enum=all-disabled;"" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Default MIG config" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:text" Default string `json:"default,omitempty"` }
MIGPartedConfigSpec defines custom mig-parted config for NVIDIA MIG Manager container
func (*MIGPartedConfigSpec) DeepCopy ¶
func (in *MIGPartedConfigSpec) DeepCopy() *MIGPartedConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MIGPartedConfigSpec.
func (*MIGPartedConfigSpec) DeepCopyInto ¶
func (in *MIGPartedConfigSpec) DeepCopyInto(out *MIGPartedConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MIGSpec ¶
type MIGSpec struct { // Optional: MIGStrategy to apply for GFD and NVIDIA Device Plugin // +kubebuilder:validation:Enum=none;single;mixed Strategy MIGStrategy `json:"strategy,omitempty"` }
MIGSpec defines the configuration for MIG support
func (*MIGSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MIGSpec.
func (*MIGSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MIGStrategy ¶
type MIGStrategy string
MIGStrategy indicates MIG mode
const ( // MIGStrategyNone indicates MIG mode disabled. MIGStrategyNone MIGStrategy = "none" // MIGStrategySingle indicates Single MIG mode MIGStrategySingle MIGStrategy = "single" // MIGStrategyMixed indicates Mixed MIG mode MIGStrategyMixed MIGStrategy = "mixed" )
Constants representing different MIG strategies.
type MPSConfig ¶
type MPSConfig struct { // Root defines the MPS root path on the host // +kubebuilder:validation:Optional // +kubebuilder:default=/run/nvidia/mps // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="MPS root path on the host" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:text" Root string `json:"root,omitempty"` }
MPSConfig defines MPS related configuration for the NVIDIA Device Plugin
func (*MPSConfig) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MPSConfig.
func (*MPSConfig) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeStatusExporterSpec ¶
type NodeStatusExporterSpec struct { // Enabled indicates if deployment of Node Status Exporter is enabled. // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Enable Node Status Exporter deployment through GPU Operator" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch" Enabled *bool `json:"enabled,omitempty"` // Node Status Exporterimage repository // +kubebuilder:validation:Optional Repository string `json:"repository,omitempty"` // Node Status Exporter image name // +kubebuilder:validation:Pattern=[a-zA-Z0-9\-]+ Image string `json:"image,omitempty"` // Node Status Exporterimage tag // +kubebuilder:validation:Optional Version string `json:"version,omitempty"` // Image pull policy // +kubebuilder:validation:Optional // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Image Pull Policy" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:imagePullPolicy" ImagePullPolicy string `json:"imagePullPolicy,omitempty"` // Image pull secrets // +kubebuilder:validation:Optional // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Image pull secrets" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:io.kubernetes:Secret" ImagePullSecrets []string `json:"imagePullSecrets,omitempty"` // Optional: Define resources requests and limits for each pod // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Resource Requirements" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:resourceRequirements" Resources *ResourceRequirements `json:"resources,omitempty"` // Optional: List of arguments // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Arguments" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:text" Args []string `json:"args,omitempty"` // Optional: List of environment variables // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Environment Variables" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:text" Env []EnvVar `json:"env,omitempty"` }
NodeStatusExporterSpec defines the properties for node-status-exporter state
func (*NodeStatusExporterSpec) DeepCopy ¶
func (in *NodeStatusExporterSpec) DeepCopy() *NodeStatusExporterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeStatusExporterSpec.
func (*NodeStatusExporterSpec) DeepCopyInto ¶
func (in *NodeStatusExporterSpec) DeepCopyInto(out *NodeStatusExporterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NodeStatusExporterSpec) IsEnabled ¶
func (m *NodeStatusExporterSpec) IsEnabled() bool
IsEnabled returns true if node-status-exporter is enabled through gpu-operator
type OperatorSpec ¶
type OperatorSpec struct { // +kubebuilder:validation:Enum=docker;crio;containerd // +kubebuilder:default=docker DefaultRuntime Runtime `json:"defaultRuntime"` // +kubebuilder:default=nvidia RuntimeClass string `json:"runtimeClass,omitempty"` InitContainer InitContainerSpec `json:"initContainer,omitempty"` // Optional: Map of string keys and values that can be used to organize and categorize // (scope and select) objects. May match selectors of replication controllers // and services. Labels map[string]string `json:"labels,omitempty"` // Optional: Annotations is an unstructured key value map stored with a resource that may be // set by external tools to store and retrieve arbitrary metadata. They are not // queryable and should be preserved when modifying objects. Annotations map[string]string `json:"annotations,omitempty"` // UseOpenShiftDriverToolkit indicates if DriverToolkit image should be used on OpenShift to build and install driver modules // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="On OpenShift, enable DriverToolkit image to build and install driver modules" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch" UseOpenShiftDriverToolkit *bool `json:"use_ocp_driver_toolkit,omitempty"` }
OperatorSpec describes configuration options for the operator
func (*OperatorSpec) DeepCopy ¶
func (in *OperatorSpec) DeepCopy() *OperatorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperatorSpec.
func (*OperatorSpec) DeepCopyInto ¶
func (in *OperatorSpec) DeepCopyInto(out *OperatorSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PSASpec ¶
type PSASpec struct { // Enabled indicates if PodSecurityAdmission configuration needs to be enabled for all Pods Enabled *bool `json:"enabled,omitempty"` }
PSASpec describes configuration for PodSecurityAdmission to apply for all Pods
func (*PSASpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PSASpec.
func (*PSASpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PSPSpec ¶
type PSPSpec struct { // Enabled indicates if PodSecurityPolicies needs to be enabled for all Pods Enabled *bool `json:"enabled,omitempty"` }
PSPSpec describes configuration for PodSecurityPolicies to apply for all Pods
func (*PSPSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PSPSpec.
func (*PSPSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PluginValidatorSpec ¶
type PluginValidatorSpec struct { // Optional: List of environment variables // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Environment Variables" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:text" Env []EnvVar `json:"env,omitempty"` }
PluginValidatorSpec defines validator spec for NVIDIA Device Plugin
func (*PluginValidatorSpec) DeepCopy ¶
func (in *PluginValidatorSpec) DeepCopy() *PluginValidatorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PluginValidatorSpec.
func (*PluginValidatorSpec) DeepCopyInto ¶
func (in *PluginValidatorSpec) DeepCopyInto(out *PluginValidatorSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceRequirements ¶
type ResourceRequirements struct { // Limits describes the maximum amount of compute resources allowed. // More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ // +optional Limits corev1.ResourceList `json:"limits,omitempty"` // Requests describes the minimum amount of compute resources required. // If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, // otherwise to an implementation-defined value. Requests cannot exceed Limits. // More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ // +optional Requests corev1.ResourceList `json:"requests,omitempty"` }
ResourceRequirements describes the compute resource requirements.
func (*ResourceRequirements) DeepCopy ¶
func (in *ResourceRequirements) DeepCopy() *ResourceRequirements
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceRequirements.
func (*ResourceRequirements) DeepCopyInto ¶
func (in *ResourceRequirements) DeepCopyInto(out *ResourceRequirements)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RollingUpdateSpec ¶
type RollingUpdateSpec struct { // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Maximum number of nodes to simultaneously apply Daemonset pod updates on. Default 1" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:text" MaxUnavailable string `json:"maxUnavailable,omitempty"` }
RollingUpdateSpec defines configuration for the rolling update of all DaemonSet pods
func (*RollingUpdateSpec) DeepCopy ¶
func (in *RollingUpdateSpec) DeepCopy() *RollingUpdateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RollingUpdateSpec.
func (*RollingUpdateSpec) DeepCopyInto ¶
func (in *RollingUpdateSpec) DeepCopyInto(out *RollingUpdateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RuntimeClass ¶
type RuntimeClass string
RuntimeClass defines the runtime class to use for GPU-enabled pods
type SandboxDevicePluginSpec ¶
type SandboxDevicePluginSpec struct { // Enabled indicates if deployment of NVIDIA Sandbox Device Plugin through operator is enabled // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Enable NVIDIA Sandbox Device Plugin deployment through GPU Operator" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch" Enabled *bool `json:"enabled,omitempty"` // NVIDIA Sandbox Device Plugin image repository // +kubebuilder:validation:Optional Repository string `json:"repository,omitempty"` // NVIDIA Sandbox Device Plugin image name // +kubebuilder:validation:Pattern=[a-zA-Z0-9\-]+ Image string `json:"image,omitempty"` // NVIDIA Sandbox Device Plugin image tag // +kubebuilder:validation:Optional Version string `json:"version,omitempty"` // Image pull policy // +kubebuilder:validation:Optional // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Image Pull Policy" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:imagePullPolicy" ImagePullPolicy string `json:"imagePullPolicy,omitempty"` // Image pull secrets // +kubebuilder:validation:Optional // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Image pull secrets" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:io.kubernetes:Secret" ImagePullSecrets []string `json:"imagePullSecrets,omitempty"` // Optional: Define resources requests and limits for each pod // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Resource Requirements" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:resourceRequirements" Resources *ResourceRequirements `json:"resources,omitempty"` // Optional: List of arguments // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Arguments" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:text" Args []string `json:"args,omitempty"` // Optional: List of environment variables // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Environment Variables" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:text" Env []EnvVar `json:"env,omitempty"` }
SandboxDevicePluginSpec defines the properties for the NVIDIA Sandbox Device Plugin deployment
func (*SandboxDevicePluginSpec) DeepCopy ¶
func (in *SandboxDevicePluginSpec) DeepCopy() *SandboxDevicePluginSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SandboxDevicePluginSpec.
func (*SandboxDevicePluginSpec) DeepCopyInto ¶
func (in *SandboxDevicePluginSpec) DeepCopyInto(out *SandboxDevicePluginSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SandboxDevicePluginSpec) IsEnabled ¶
func (s *SandboxDevicePluginSpec) IsEnabled() bool
IsEnabled returns true if the sandbox device plugin is enabled through gpu-operator
type SandboxWorkloadsSpec ¶
type SandboxWorkloadsSpec struct { // Enabled indicates if the GPU Operator should manage additional operands required // for sandbox workloads (i.e. VFIO Manager, vGPU Manager, and additional device plugins) Enabled *bool `json:"enabled,omitempty"` // DefaultWorkload indicates the default GPU workload type to configure // worker nodes in the cluster for // +kubebuilder:validation:Enum=container;vm-passthrough;vm-vgpu // +kubebuilder:default=container DefaultWorkload string `json:"defaultWorkload,omitempty"` }
SandboxWorkloadsSpec describes configuration for handling sandbox workloads (i.e. Virtual Machines)
func (*SandboxWorkloadsSpec) DeepCopy ¶
func (in *SandboxWorkloadsSpec) DeepCopy() *SandboxWorkloadsSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SandboxWorkloadsSpec.
func (*SandboxWorkloadsSpec) DeepCopyInto ¶
func (in *SandboxWorkloadsSpec) DeepCopyInto(out *SandboxWorkloadsSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SandboxWorkloadsSpec) IsEnabled ¶
func (s *SandboxWorkloadsSpec) IsEnabled() bool
IsEnabled returns true if the cluster intends to run GPU accelerated workloads in sandboxed environments (VMs).
type State ¶
type State string
State indicates state of GPU operator components
const ( // Ignored indicates duplicate ClusterPolicy instances and rest are ignored. Ignored State = "ignored" // Ready indicates all components of ClusterPolicy are ready Ready State = "ready" // NotReady indicates some/all components of ClusterPolicy are not ready NotReady State = "notReady" // Disabled indicates if the state is disabled Disabled State = "disabled" )
type ToolkitSpec ¶
type ToolkitSpec struct { // Enabled indicates if deployment of NVIDIA Container Toolkit through operator is enabled // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Enable NVIDIA Container Toolkit deployment through GPU Operator" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch" Enabled *bool `json:"enabled,omitempty"` // NVIDIA Container Toolkit image repository // +kubebuilder:validation:Optional Repository string `json:"repository,omitempty"` // NVIDIA Container Toolkit image name // +kubebuilder:validation:Pattern=[a-zA-Z0-9\-]+ Image string `json:"image,omitempty"` // NVIDIA Container Toolkit image tag // +kubebuilder:validation:Optional Version string `json:"version,omitempty"` // Image pull policy // +kubebuilder:validation:Optional // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Image Pull Policy" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:imagePullPolicy" ImagePullPolicy string `json:"imagePullPolicy,omitempty"` // Image pull secrets // +kubebuilder:validation:Optional // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Image pull secrets" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:io.kubernetes:Secret" ImagePullSecrets []string `json:"imagePullSecrets,omitempty"` // Optional: Define resources requests and limits for each pod // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Resource Requirements" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:resourceRequirements" Resources *ResourceRequirements `json:"resources,omitempty"` // Optional: List of arguments // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Arguments" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:text" Args []string `json:"args,omitempty"` // Optional: List of environment variables // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Environment Variables" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:text" Env []EnvVar `json:"env,omitempty"` // Toolkit install directory on the host // +kubebuilder:validation:Optional // +kubebuilder:default=/usr/local/nvidia // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Toolkit install directory on the host" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:text" InstallDir string `json:"installDir,omitempty"` }
ToolkitSpec defines the properties for NVIDIA Container Toolkit deployment
func (*ToolkitSpec) DeepCopy ¶
func (in *ToolkitSpec) DeepCopy() *ToolkitSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ToolkitSpec.
func (*ToolkitSpec) DeepCopyInto ¶
func (in *ToolkitSpec) DeepCopyInto(out *ToolkitSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ToolkitSpec) IsEnabled ¶
func (t *ToolkitSpec) IsEnabled() bool
IsEnabled returns true if container-toolkit install is enabled(default) through gpu-operator
type ToolkitValidatorSpec ¶
type ToolkitValidatorSpec struct { // Optional: List of environment variables // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Environment Variables" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:text" Env []EnvVar `json:"env,omitempty"` }
ToolkitValidatorSpec defines validator spec for NVIDIA Container Toolkit
func (*ToolkitValidatorSpec) DeepCopy ¶
func (in *ToolkitValidatorSpec) DeepCopy() *ToolkitValidatorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ToolkitValidatorSpec.
func (*ToolkitValidatorSpec) DeepCopyInto ¶
func (in *ToolkitValidatorSpec) DeepCopyInto(out *ToolkitValidatorSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VFIOManagerSpec ¶
type VFIOManagerSpec struct { // Enabled indicates if deployment of VFIO Manager is enabled // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Enable VFIO Manager deployment through GPU Operator" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch" Enabled *bool `json:"enabled,omitempty"` // VFIO Manager image repository // +kubebuilder:validation:Optional Repository string `json:"repository,omitempty"` // VFIO Manager image name // +kubebuilder:validation:Pattern=[a-zA-Z0-9\-]+ Image string `json:"image,omitempty"` // VFIO Manager image tag // +kubebuilder:validation:Optional Version string `json:"version,omitempty"` // Image pull policy // +kubebuilder:validation:Optional // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Image Pull Policy" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:imagePullPolicy" ImagePullPolicy string `json:"imagePullPolicy,omitempty"` // Image pull secrets // +kubebuilder:validation:Optional // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Image pull secrets" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:io.kubernetes:Secret" ImagePullSecrets []string `json:"imagePullSecrets,omitempty"` // Optional: Define resources requests and limits for each pod // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Resource Requirements" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:resourceRequirements" Resources *ResourceRequirements `json:"resources,omitempty"` // Optional: List of arguments // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Arguments" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:text" Args []string `json:"args,omitempty"` // Optional: List of environment variables // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Environment Variables" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:text" Env []EnvVar `json:"env,omitempty"` // DriverManager represents configuration for NVIDIA Driver Manager DriverManager DriverManagerSpec `json:"driverManager,omitempty"` }
VFIOManagerSpec defines the properties for deploying VFIO-PCI manager
func (*VFIOManagerSpec) DeepCopy ¶
func (in *VFIOManagerSpec) DeepCopy() *VFIOManagerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VFIOManagerSpec.
func (*VFIOManagerSpec) DeepCopyInto ¶
func (in *VFIOManagerSpec) DeepCopyInto(out *VFIOManagerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VFIOManagerSpec) IsEnabled ¶
func (v *VFIOManagerSpec) IsEnabled() bool
IsEnabled returns true if VFIO-PCI Manager install is enabled through gpu-operator
type VFIOPCIValidatorSpec ¶
type VFIOPCIValidatorSpec struct { // Optional: List of environment variables // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Environment Variables" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:text" Env []EnvVar `json:"env,omitempty"` }
VFIOPCIValidatorSpec defines validator spec for NVIDIA VFIO-PCI device validation
func (*VFIOPCIValidatorSpec) DeepCopy ¶
func (in *VFIOPCIValidatorSpec) DeepCopy() *VFIOPCIValidatorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VFIOPCIValidatorSpec.
func (*VFIOPCIValidatorSpec) DeepCopyInto ¶
func (in *VFIOPCIValidatorSpec) DeepCopyInto(out *VFIOPCIValidatorSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VGPUDeviceManagerSpec ¶
type VGPUDeviceManagerSpec struct { // Enabled indicates if deployment of NVIDIA vGPU Device Manager is enabled // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Enable NVIDIA vGPU Device Manager deployment through GPU Operator" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch" Enabled *bool `json:"enabled,omitempty"` // NVIDIA vGPU Device Manager image repository // +kubebuilder:validation:Optional Repository string `json:"repository,omitempty"` // NVIDIA vGPU Device Manager image name // +kubebuilder:validation:Pattern=[a-zA-Z0-9\-]+ Image string `json:"image,omitempty"` // NVIDIA vGPU Device Manager image tag // +kubebuilder:validation:Optional Version string `json:"version,omitempty"` // Image pull policy // +kubebuilder:validation:Optional // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Image Pull Policy" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:imagePullPolicy" ImagePullPolicy string `json:"imagePullPolicy,omitempty"` // Image pull secrets // +kubebuilder:validation:Optional // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Image pull secrets" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:io.kubernetes:Secret" ImagePullSecrets []string `json:"imagePullSecrets,omitempty"` // Optional: Define resources requests and limits for each pod // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Resource Requirements" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:resourceRequirements" Resources *ResourceRequirements `json:"resources,omitempty"` // Optional: List of arguments // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Arguments" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:text" Args []string `json:"args,omitempty"` // Optional: List of environment variables // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Environment Variables" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:text" Env []EnvVar `json:"env,omitempty"` // NVIDIA vGPU devices configuration for NVIDIA vGPU Device Manager container // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="NVIDIA vGPU devices configuration for NVIDIA vGPU Device Manager container" Config *VGPUDevicesConfigSpec `json:"config,omitempty"` }
VGPUDeviceManagerSpec defines the properties for deploying NVIDIA vGPU Device Manager
func (*VGPUDeviceManagerSpec) DeepCopy ¶
func (in *VGPUDeviceManagerSpec) DeepCopy() *VGPUDeviceManagerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VGPUDeviceManagerSpec.
func (*VGPUDeviceManagerSpec) DeepCopyInto ¶
func (in *VGPUDeviceManagerSpec) DeepCopyInto(out *VGPUDeviceManagerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VGPUDeviceManagerSpec) IsEnabled ¶
func (v *VGPUDeviceManagerSpec) IsEnabled() bool
IsEnabled returns true if vGPU Device Manager is enabled through gpu-operator
type VGPUDevicesConfigSpec ¶
type VGPUDevicesConfigSpec struct { // ConfigMap name // +kubebuilder:validation:Optional // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="ConfigMap Name" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:text" Name string `json:"name,omitempty"` // Default config name within the ConfigMap // +kubebuilder:validation:Optional // +kubebuilder:default=default // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Default config name within the ConfigMap for the NVIDIA vGPU devices config" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:text" Default string `json:"default,omitempty"` }
VGPUDevicesConfigSpec defines vGPU devices configuration for NVIDIA vGPU Device Manager container
func (*VGPUDevicesConfigSpec) DeepCopy ¶
func (in *VGPUDevicesConfigSpec) DeepCopy() *VGPUDevicesConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VGPUDevicesConfigSpec.
func (*VGPUDevicesConfigSpec) DeepCopyInto ¶
func (in *VGPUDevicesConfigSpec) DeepCopyInto(out *VGPUDevicesConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VGPUDevicesValidatorSpec ¶
type VGPUDevicesValidatorSpec struct { // Optional: List of environment variables // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Environment Variables" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:text" Env []EnvVar `json:"env,omitempty"` }
VGPUDevicesValidatorSpec defines validator spec for NVIDIA vGPU device validator
func (*VGPUDevicesValidatorSpec) DeepCopy ¶
func (in *VGPUDevicesValidatorSpec) DeepCopy() *VGPUDevicesValidatorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VGPUDevicesValidatorSpec.
func (*VGPUDevicesValidatorSpec) DeepCopyInto ¶
func (in *VGPUDevicesValidatorSpec) DeepCopyInto(out *VGPUDevicesValidatorSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VGPUManagerSpec ¶
type VGPUManagerSpec struct { // Enabled indicates if deployment of NVIDIA vGPU Manager through operator is enabled // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Enable vgpu host driver deployment through GPU Operator" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch" Enabled *bool `json:"enabled,omitempty"` // NVIDIA vGPU Manager image repository // +kubebuilder:validation:Optional Repository string `json:"repository,omitempty"` // NVIDIA vGPU Manager image name // +kubebuilder:validation:Pattern=[a-zA-Z0-9\-]+ Image string `json:"image,omitempty"` // NVIDIA vGPU Manager image tag // +kubebuilder:validation:Optional Version string `json:"version,omitempty"` // Image pull policy // +kubebuilder:validation:Optional // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Image Pull Policy" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:imagePullPolicy" ImagePullPolicy string `json:"imagePullPolicy,omitempty"` // Image pull secrets // +kubebuilder:validation:Optional // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Image pull secrets" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:io.kubernetes:Secret" ImagePullSecrets []string `json:"imagePullSecrets,omitempty"` // Optional: Define resources requests and limits for each pod // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Resource Requirements" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:resourceRequirements" Resources *ResourceRequirements `json:"resources,omitempty"` // Optional: List of arguments // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Arguments" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:text" Args []string `json:"args,omitempty"` // Optional: List of environment variables // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Environment Variables" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:text" Env []EnvVar `json:"env,omitempty"` // DriverManager represents configuration for NVIDIA Driver Manager initContainer DriverManager DriverManagerSpec `json:"driverManager,omitempty"` }
VGPUManagerSpec defines the properties for the NVIDIA vGPU Manager deployment
func (*VGPUManagerSpec) DeepCopy ¶
func (in *VGPUManagerSpec) DeepCopy() *VGPUManagerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VGPUManagerSpec.
func (*VGPUManagerSpec) DeepCopyInto ¶
func (in *VGPUManagerSpec) DeepCopyInto(out *VGPUManagerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VGPUManagerSpec) IsEnabled ¶
func (d *VGPUManagerSpec) IsEnabled() bool
IsEnabled returns true if vGPU Manager install is enabled through gpu-operator
type VGPUManagerValidatorSpec ¶
type VGPUManagerValidatorSpec struct { // Optional: List of environment variables // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Environment Variables" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:text" Env []EnvVar `json:"env,omitempty"` }
VGPUManagerValidatorSpec defines validator spec for NVIDIA vGPU Manager
func (*VGPUManagerValidatorSpec) DeepCopy ¶
func (in *VGPUManagerValidatorSpec) DeepCopy() *VGPUManagerValidatorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VGPUManagerValidatorSpec.
func (*VGPUManagerValidatorSpec) DeepCopyInto ¶
func (in *VGPUManagerValidatorSpec) DeepCopyInto(out *VGPUManagerValidatorSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ValidatorSpec ¶
type ValidatorSpec struct { // Plugin validator spec Plugin PluginValidatorSpec `json:"plugin,omitempty"` // Toolkit validator spec Toolkit ToolkitValidatorSpec `json:"toolkit,omitempty"` // Toolkit validator spec Driver DriverValidatorSpec `json:"driver,omitempty"` // CUDA validator spec CUDA CUDAValidatorSpec `json:"cuda,omitempty"` // VfioPCI validator spec VFIOPCI VFIOPCIValidatorSpec `json:"vfioPCI,omitempty"` // VGPUManager validator spec VGPUManager VGPUManagerValidatorSpec `json:"vgpuManager,omitempty"` // VGPUDevices validator spec VGPUDevices VGPUDevicesValidatorSpec `json:"vgpuDevices,omitempty"` // Validator image repository // +kubebuilder:validation:Optional Repository string `json:"repository,omitempty"` // Validator image name // +kubebuilder:validation:Pattern=[a-zA-Z0-9\-]+ Image string `json:"image,omitempty"` // Validator image tag // +kubebuilder:validation:Optional Version string `json:"version,omitempty"` // Image pull policy // +kubebuilder:validation:Optional // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Image Pull Policy" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:imagePullPolicy" ImagePullPolicy string `json:"imagePullPolicy,omitempty"` // Image pull secrets // +kubebuilder:validation:Optional // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Image pull secrets" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:io.kubernetes:Secret" ImagePullSecrets []string `json:"imagePullSecrets,omitempty"` // Optional: Define resources requests and limits for each pod // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Resource Requirements" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:resourceRequirements" Resources *ResourceRequirements `json:"resources,omitempty"` // Optional: List of arguments // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Arguments" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:text" Args []string `json:"args,omitempty"` // Optional: List of environment variables // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Environment Variables" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:text" Env []EnvVar `json:"env,omitempty"` }
ValidatorSpec describes configuration options for validation pod
func (*ValidatorSpec) DeepCopy ¶
func (in *ValidatorSpec) DeepCopy() *ValidatorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValidatorSpec.
func (*ValidatorSpec) DeepCopyInto ¶
func (in *ValidatorSpec) DeepCopyInto(out *ValidatorSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualTopologyConfigSpec ¶
type VirtualTopologyConfigSpec struct { // Optional: Config name representing virtual topology daemon configuration file nvidia-topologyd.conf // +kubebuilder:validation:Optional // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="ConfigMap Name" // +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:text" Config string `json:"config,omitempty"` }
VirtualTopologyConfigSpec defines virtual topology daemon configuration with NVIDIA vGPU
func (*VirtualTopologyConfigSpec) DeepCopy ¶
func (in *VirtualTopologyConfigSpec) DeepCopy() *VirtualTopologyConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualTopologyConfigSpec.
func (*VirtualTopologyConfigSpec) DeepCopyInto ¶
func (in *VirtualTopologyConfigSpec) DeepCopyInto(out *VirtualTopologyConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.