---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.14.0
  name: sriovoperatorconfigs.sriovnetwork.openshift.io
spec:
  group: sriovnetwork.openshift.io
  names:
    kind: SriovOperatorConfig
    listKind: SriovOperatorConfigList
    plural: sriovoperatorconfigs
    singular: sriovoperatorconfig
  scope: Namespaced
  versions:
    - name: v1
      schema:
        openAPIV3Schema:
          description: SriovOperatorConfig is the Schema for the sriovoperatorconfigs
            API
          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: SriovOperatorConfigSpec defines the desired state of SriovOperatorConfig
              properties:
                configDaemonNodeSelector:
                  additionalProperties:
                    type: string
                  description: NodeSelector selects the nodes to be configured
                  type: object
                configurationMode:
                  description: |-
                    Flag to enable the sriov-network-config-daemon to use a systemd service to configure SR-IOV devices on boot
                    Default mode: daemon
                  enum:
                    - daemon
                    - systemd
                  type: string
                disableDrain:
                  description: Flag to disable nodes drain during debugging
                  type: boolean
                disablePlugins:
                  description: DisablePlugins is a list of sriov-network-config-daemon
                    plugins to disable
                  items:
                    description: PluginNameValue defines the plugin name
                    enum:
                      - mellanox
                    type: string
                  type: array
                enableInjector:
                  description: Flag to control whether the network resource injector
                    webhook shall be deployed
                  type: boolean
                enableOperatorWebhook:
                  description: Flag to control whether the operator admission controller
                    webhook shall be deployed
                  type: boolean
                enableOvsOffload:
                  description: Flag to enable OVS hardware offload. Set to 'true' to
                    provision switchdev-configuration.service and enable OpenvSwitch
                    hw-offload on nodes.
                  type: boolean
                featureGates:
                  additionalProperties:
                    type: boolean
                  description: FeatureGates to enable experimental features
                  type: object
                logLevel:
                  description: Flag to control the log verbose level of the operator.
                    Set to '0' to show only the basic logs. And set to '2' to show all
                    the available logs.
                  maximum: 2
                  minimum: 0
                  type: integer
                useCDI:
                  description: Flag to enable Container Device Interface mode for SR-IOV
                    Network Device Plugin
                  type: boolean
              type: object
            status:
              description: SriovOperatorConfigStatus defines the observed state of SriovOperatorConfig
              properties:
                injector:
                  description: Show the runtime status of the network resource injector
                    webhook
                  type: string
                operatorWebhook:
                  description: Show the runtime status of the operator admission controller
                    webhook
                  type: string
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
