---
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: {}