Documentation
¶
Overview ¶
Package v1 contains API Schema definitions for the clusterpolicy v1 API group +kubebuilder:object:generate=true +groupName=nvidia.com
Index ¶
- Variables
- func ImagePath(spec interface{}) (string, error)
- func ImagePullPolicy(pullPolicy string) corev1.PullPolicy
- type CUDAValidatorSpec
- type ClusterPolicy
- type ClusterPolicyList
- type ClusterPolicySpec
- type ClusterPolicyStatus
- type DCGMExporterSpec
- type DevicePluginSpec
- type DriverLicensingConfigSpec
- type DriverRepoConfigSpec
- type DriverSpec
- type DriverValidatorSpec
- type GPUFeatureDiscoverySpec
- type InitContainerSpec
- type MIGManagerSpec
- type MIGSpec
- type MIGStrategy
- type OperatorSpec
- type PSPSpec
- type PluginValidatorSpec
- type Runtime
- type State
- type ToolkitSpec
- type ToolkitValidatorSpec
- type ValidatorSpec
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "nvidia.com", Version: "v1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
func ImagePullPolicy ¶
func ImagePullPolicy(pullPolicy string) corev1.PullPolicy
ImagePullPolicy sets image pull policy
Types ¶
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 []corev1.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) SetState ¶
func (p *ClusterPolicy) SetState(s State)
SetState sets state 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"`
// 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"`
// 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"`
// PSP defines spec for handling PodSecurityPolicies
PSP PSPSpec `json:"psp,omitempty"`
// Validator defines the spec for operator-validator daemonset
Validator ValidatorSpec `json:"validator,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"`
}
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 DCGMExporterSpec ¶
type DCGMExporterSpec struct {
// DCGM image repository
// +kubebuilder:validation:Optional
Repository string `json:"repository"`
// DCGM image name
// +kubebuilder:validation:Pattern=[a-zA-Z0-9\-]+
Image string `json:"image"`
// DCGM image tag
// +kubebuilder:validation:Optional
Version string `json:"version"`
// 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"`
// Node selector to control the selection of nodes (optional)
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Node Selector"
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:selector:Node"
NodeSelector map[string]string `json:"nodeSelector,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"`
// Optional: Set Node affinity
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Node Affinity"
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:nodeAffinity"
Affinity *corev1.Affinity `json:"affinity,omitempty"`
// Optional: Pod Security Context
PodSecurityContext *corev1.PodSecurityContext `json:"podSecurityContext,omitempty"`
// Optional: Security Context
SecurityContext *corev1.SecurityContext `json:"securityContext,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 *corev1.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 []corev1.EnvVar `json:"env,omitempty"`
// +kubebuilder:validation:Optional
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="PriorityClassName"
PriorityClassName string `json:"priorityClassName,omitempty"`
}
DCGMExporterSpec defines the properties for 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.
type DevicePluginSpec ¶
type DevicePluginSpec struct {
// DevicePlugin image repository
// +kubebuilder:validation:Optional
Repository string `json:"repository"`
// DevicePlugin image name
// +kubebuilder:validation:Pattern=[a-zA-Z0-9\-]+
Image string `json:"image"`
// DevicePlugin image tag
// +kubebuilder:validation:Optional
Version string `json:"version"`
// 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"`
// Node selector to control the selection of nodes (optional)
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Node Selector"
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:selector:Node"
NodeSelector map[string]string `json:"nodeSelector,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"`
// Optional: Set Node affinity
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Node Affinity"
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:nodeAffinity"
Affinity *corev1.Affinity `json:"affinity,omitempty"`
// Optional: Pod Security Context
PodSecurityContext *corev1.PodSecurityContext `json:"podSecurityContext,omitempty"`
// Optional: Security Context
SecurityContext *corev1.SecurityContext `json:"securityContext,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 *corev1.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 []corev1.EnvVar `json:"env,omitempty"`
// +kubebuilder:validation:Optional
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="PriorityClassName"
PriorityClassName string `json:"priorityClassName,omitempty"`
}
DevicePluginSpec defines the properties for 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.
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"`
}
DriverLicensingConfigSpec defines licensing server configuration for 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.
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"`
// +kubebuilder:validation:Optional
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Destination Mount Directory"
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:text"
DestinationDir string `json:"destinationDir,omitempty"`
}
DriverRepoConfigSpec defines custom repo configuration for 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 {
// Enabled indicates if deployment of driver through operator is enabled
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Enable 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"`
// Driver image repository
// +kubebuilder:validation:Optional
Repository string `json:"repository"`
// Driver image name
// +kubebuilder:validation:Pattern=[a-zA-Z0-9\-]+
Image string `json:"image"`
// Driver image tag
// +kubebuilder:validation:Optional
Version string `json:"version"`
// 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"`
// Node selector to control the selection of nodes (optional)
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Node Selector"
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:selector:Node"
NodeSelector map[string]string `json:"nodeSelector,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"`
// Optional: Set Node affinity
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Node Affinity"
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:nodeAffinity"
Affinity *corev1.Affinity `json:"affinity,omitempty"`
// Optional: Pod Security Context
PodSecurityContext *corev1.PodSecurityContext `json:"podSecurityContext,omitempty"`
// Optional: Security Context
SecurityContext *corev1.SecurityContext `json:"securityContext,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 *corev1.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 []corev1.EnvVar `json:"env,omitempty"`
// Optional: Custom repo configuration for driver container
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Custom Repo Configuration For Driver Container"
RepoConfig *DriverRepoConfigSpec `json:"repoConfig,omitempty"`
// Optional: Licensing configuration for vGPU drivers
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Custom Repo Configuration For Driver Container"
LicensingConfig *DriverLicensingConfigSpec `json:"licensingConfig,omitempty"`
// +kubebuilder:validation:Optional
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="PriorityClassName"
PriorityClassName string `json:"priorityClassName,omitempty"`
}
DriverSpec defines the properties for 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) IsDriverEnabled ¶
func (d *DriverSpec) IsDriverEnabled() bool
IsDriverEnabled returns true if driver install is enabled(default) through gpu-operator
func (*DriverSpec) Root ¶
func (d *DriverSpec) Root() string
Root returns root path for driver install
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 []corev1.EnvVar `json:"env,omitempty"`
}
DriverValidatorSpec defines validator spec for driver component
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 GPUFeatureDiscoverySpec ¶
type GPUFeatureDiscoverySpec struct {
// GFD image repository
// +kubebuilder:validation:Optional
Repository string `json:"repository"`
// GFD image name
// +kubebuilder:validation:Pattern=[a-zA-Z0-9\-]+
Image string `json:"image"`
// GFD image tag
// +kubebuilder:validation:Optional
Version string `json:"version"`
// 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"`
// Node selector to control the selection of nodes (optional)
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Node Selector"
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:selector:Node"
NodeSelector map[string]string `json:"nodeSelector,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"`
// Optional: Set Node affinity
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Node affinity"
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:nodeAffinity"
Affinity *corev1.Affinity `json:"affinity,omitempty"`
// Optional: Pod Security Context
PodSecurityContext *corev1.PodSecurityContext `json:"podSecurityContext,omitempty"`
// Optional: Security Context
SecurityContext *corev1.SecurityContext `json:"securityContext,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 *corev1.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 []corev1.EnvVar `json:"env,omitempty"`
// +kubebuilder:validation:Optional
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="PriorityClassName"
PriorityClassName string `json:"priorityClassName,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.
type InitContainerSpec ¶
type InitContainerSpec struct {
Repository string `json:"repository,omitempty"`
// +kubebuilder:validation:Pattern=[a-zA-Z0-9\-]+
Image string `json:"image,omitempty"`
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 MIGManagerSpec ¶
type MIGManagerSpec struct {
// Enabled indicates if deployment of mig-manager is enabled
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Enable 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"`
// mig-manager image repository
// +kubebuilder:validation:Optional
Repository string `json:"repository"`
// mig-manager image name
// +kubebuilder:validation:Pattern=[a-zA-Z0-9\-]+
Image string `json:"image"`
// mig-manager image tag
// +kubebuilder:validation:Optional
Version string `json:"version"`
// 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"`
// Node selector to control the selection of nodes (optional)
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Node Selector"
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:selector:Node"
NodeSelector map[string]string `json:"nodeSelector,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"`
// Optional: Set Node affinity
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Node Affinity"
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:nodeAffinity"
Affinity *corev1.Affinity `json:"affinity,omitempty"`
// Optional: Pod Security Context
PodSecurityContext *corev1.PodSecurityContext `json:"podSecurityContext,omitempty"`
// Optional: Security Context
SecurityContext *corev1.SecurityContext `json:"securityContext,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 *corev1.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 []corev1.EnvVar `json:"env,omitempty"`
// +kubebuilder:validation:Optional
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="PriorityClassName"
PriorityClassName string `json:"priorityClassName,omitempty"`
}
MIGManagerSpec defines the properties for deploying 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) IsMIGManagerEnabled ¶
func (m *MIGManagerSpec) IsMIGManagerEnabled() bool
IsMIGManagerEnabled returns true if mig-manager is enabled(default) through gpu-operator
type MIGSpec ¶
type MIGSpec struct {
// Optional: MIGStrategy to apply for GFD and 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 OperatorSpec ¶
type OperatorSpec struct {
// +kubebuilder:validation:Enum=docker;crio;containerd
DefaultRuntime Runtime `json:"defaultRuntime"`
InitContainer InitContainerSpec `json:"initContainer,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 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 []corev1.EnvVar `json:"env,omitempty"`
}
PluginValidatorSpec defines validator spec for plugin component
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 ToolkitSpec ¶
type ToolkitSpec struct {
// Enabled indicates if deployment of container-toolkit through operator is enabled
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Enable 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"`
// Toolkit image repository
// +kubebuilder:validation:Optional
Repository string `json:"repository"`
// Toolkit image name
// +kubebuilder:validation:Pattern=[a-zA-Z0-9\-]+
Image string `json:"image"`
// Toolkit image tag
// +kubebuilder:validation:Optional
Version string `json:"version"`
// 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"`
// Node selector to control the selection of nodes (optional)
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Node Selector"
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:selector:Node"
NodeSelector map[string]string `json:"nodeSelector,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"`
// Optional: Set Node affinity
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Node Affinity"
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:nodeAffinity"
Affinity *corev1.Affinity `json:"affinity,omitempty"`
// Optional: Pod Security Context
PodSecurityContext *corev1.PodSecurityContext `json:"podSecurityContext,omitempty"`
// Optional: Security Context
SecurityContext *corev1.SecurityContext `json:"securityContext,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 *corev1.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 []corev1.EnvVar `json:"env,omitempty"`
// +kubebuilder:validation:Optional
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="PriorityClassName"
PriorityClassName string `json:"priorityClassName,omitempty"`
}
ToolkitSpec defines the properties for 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) IsToolkitEnabled ¶
func (t *ToolkitSpec) IsToolkitEnabled() bool
IsToolkitEnabled 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 []corev1.EnvVar `json:"env,omitempty"`
}
ToolkitValidatorSpec defines validator spec for toolkit component
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 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"`
// Validator image repository
// +kubebuilder:validation:Optional
Repository string `json:"repository"`
// Validator image name
// +kubebuilder:validation:Pattern=[a-zA-Z0-9\-]+
Image string `json:"image"`
// Validator image tag
// +kubebuilder:validation:Optional
Version string `json:"version"`
// 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"`
// Node selector to control the selection of nodes (optional)
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Node Selector"
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:selector:Node"
NodeSelector map[string]string `json:"nodeSelector,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"`
// Optional: Set Node affinity
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Node Affinity"
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:advanced,urn:alm:descriptor:com.tectonic.ui:nodeAffinity"
Affinity *corev1.Affinity `json:"affinity,omitempty"`
// Optional: Pod Security Context
PodSecurityContext *corev1.PodSecurityContext `json:"podSecurityContext,omitempty"`
// Optional: Security Context
SecurityContext *corev1.SecurityContext `json:"securityContext,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 *corev1.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 []corev1.EnvVar `json:"env,omitempty"`
// +kubebuilder:validation:Optional
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="PriorityClassName"
PriorityClassName string `json:"priorityClassName,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.