--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.9.2 creationTimestamp: null 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 - c4xxxvf 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 type: object status: description: 'QatDevicePluginStatus defines the observed state of QatDevicePlugin. TODO(rojkov): consider code deduplication with GpuDevicePluginStatus.' 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. TODO: this design is not final and this field is subject to change in the future.' 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: {}