--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.18.0 name: qatdeviceplugins.deviceplugin.intel.com spec: group: deviceplugin.intel.com names: kind: QatDevicePlugin listKind: QatDevicePluginList plural: qatdeviceplugins singular: qatdeviceplugin scope: Cluster versions: - additionalPrinterColumns: - jsonPath: .status.desiredNumberScheduled name: Desired type: integer - jsonPath: .status.numberReady name: Ready type: integer - jsonPath: .spec.nodeSelector name: Node Selector type: string - jsonPath: .metadata.creationTimestamp name: Age type: date name: v1 schema: openAPIV3Schema: description: |- QatDevicePlugin is the Schema for the qatdeviceplugins API. It represents the QAT device plugin responsible for advertising Intel QuickAssist Technology hardware resources to the kubelet. properties: apiVersion: description: |- APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: description: |- Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object spec: description: QatDevicePluginSpec defines the desired state of QatDevicePlugin. properties: dpdkDriver: description: DpdkDriver is a DPDK device driver for configuring the QAT device. enum: - igb_uio - vfio-pci type: string image: description: Image is a container image with QAT device plugin executable. type: string initImage: description: InitImage is a container image with a script that initialize devices. type: string kernelVfDrivers: description: KernelVfDrivers is a list of VF device drivers for the QuickAssist devices in the system. items: description: KernelVfDriver is a VF device driver for QuickAssist devices. enum: - dh895xccvf - c6xxvf - c3xxxvf - d15xxvf - 4xxxvf - 420xxvf - c4xxxvf - 6xxxvf type: string type: array logLevel: description: LogLevel sets the plugin's log level. minimum: 0 type: integer maxNumDevices: description: MaxNumDevices is a maximum number of QAT devices to be provided to the QuickAssist device plugin minimum: 1 type: integer nodeSelector: additionalProperties: type: string description: NodeSelector provides a simple way to constrain device plugin pods to nodes with particular labels. type: object preferredAllocationPolicy: description: |- PreferredAllocationPolicy sets the mode of allocating QAT devices on a node. See documentation for detailed description of the policies. enum: - balanced - packed type: string provisioningConfig: description: ProvisioningConfig is a ConfigMap used to pass the configuration of QAT devices into qat initcontainer. type: string tolerations: description: Specialized nodes (e.g., with accelerators) can be Tainted to make sure unwanted pods are not scheduled on them. Tolerations can be set for the plugin pod to neutralize the Taint. items: description: |- The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator . properties: effect: description: |- Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. type: string key: description: |- Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys. type: string operator: description: |- Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category. type: string tolerationSeconds: description: |- TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system. format: int64 type: integer value: description: |- Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string. type: string type: object type: array type: object status: description: QatDevicePluginStatus defines the observed state of QatDevicePlugin. properties: controlledDaemonSet: description: ControlledDaemoSet references the DaemonSet controlled by the operator. properties: apiVersion: description: API version of the referent. type: string fieldPath: description: |- If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. type: string kind: description: |- Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string name: description: |- Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string namespace: description: |- Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ type: string resourceVersion: description: |- Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency type: string uid: description: |- UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids type: string type: object x-kubernetes-map-type: atomic desiredNumberScheduled: description: |- The total number of nodes that should be running the device plugin pod (including nodes correctly running the device plugin pod). format: int32 type: integer nodeNames: description: The list of Node names where the device plugin pods are running. items: type: string type: array numberReady: description: |- The number of nodes that should be running the device plugin pod and have one or more of the device plugin pod running and ready. format: int32 type: integer required: - desiredNumberScheduled - numberReady type: object type: object served: true storage: true subresources: status: {}