---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.12.1
    operatorframework.io/installed-alongside-d8b38aeca10346cc: openshift-local-storage/local-storage-operator.v4.19.0-202510142112
  creationTimestamp: "2025-10-27T12:41:06Z"
  generation: 1
  labels:
    olm.managed: "true"
    operators.coreos.com/local-storage-operator.openshift-local-storage: ""
  managedFields:
  - apiVersion: apiextensions.k8s.io/v1
    fieldsType: FieldsV1
    fieldsV1:
      f:metadata:
        f:annotations:
          .: {}
          f:controller-gen.kubebuilder.io/version: {}
          f:operatorframework.io/installed-alongside-d8b38aeca10346cc: {}
        f:labels:
          .: {}
          f:olm.managed: {}
      f:spec:
        f:conversion:
          .: {}
          f:strategy: {}
        f:group: {}
        f:names:
          f:kind: {}
          f:listKind: {}
          f:plural: {}
          f:singular: {}
        f:scope: {}
        f:versions: {}
    manager: catalog
    operation: Update
    time: "2025-10-27T12:41:06Z"
  - apiVersion: apiextensions.k8s.io/v1
    fieldsType: FieldsV1
    fieldsV1:
      f:status:
        f:acceptedNames:
          f:kind: {}
          f:listKind: {}
          f:plural: {}
          f:singular: {}
        f:conditions:
          k:{"type":"Established"}:
            .: {}
            f:lastTransitionTime: {}
            f:message: {}
            f:reason: {}
            f:status: {}
            f:type: {}
          k:{"type":"NamesAccepted"}:
            .: {}
            f:lastTransitionTime: {}
            f:message: {}
            f:reason: {}
            f:status: {}
            f:type: {}
    manager: kube-apiserver
    operation: Update
    subresource: status
    time: "2025-10-27T12:41:06Z"
  - apiVersion: apiextensions.k8s.io/v1
    fieldsType: FieldsV1
    fieldsV1:
      f:metadata:
        f:labels:
          f:operators.coreos.com/local-storage-operator.openshift-local-storage: {}
    manager: olm
    operation: Update
    time: "2025-10-27T12:41:18Z"
  name: localvolumediscoveries.local.storage.openshift.io
  resourceVersion: "52312"
  uid: 5ca4e153-855a-4b43-a0c5-c12b67908044
spec:
  conversion:
    strategy: None
  group: local.storage.openshift.io
  names:
    kind: LocalVolumeDiscovery
    listKind: LocalVolumeDiscoveryList
    plural: localvolumediscoveries
    singular: localvolumediscovery
  scope: Namespaced
  versions:
  - name: v1alpha1
    schema:
      openAPIV3Schema:
        description: LocalVolumeDiscovery is the Schema for the localvolumediscoveries
          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: LocalVolumeDiscoverySpec defines the desired state of LocalVolumeDiscovery
            properties:
              nodeSelector:
                description: Nodes on which the automatic detection policies must
                  run.
                properties:
                  nodeSelectorTerms:
                    description: Required. A list of node selector terms. The terms
                      are ORed.
                    items:
                      description: A null or empty node selector term matches no objects.
                        The requirements of them are ANDed. The TopologySelectorTerm
                        type implements a subset of the NodeSelectorTerm.
                      properties:
                        matchExpressions:
                          description: A list of node selector requirements by node's
                            labels.
                          items:
                            description: A node selector requirement is a selector
                              that contains values, a key, and an operator that relates
                              the key and values.
                            properties:
                              key:
                                description: The label key that the selector applies
                                  to.
                                type: string
                              operator:
                                description: Represents a key's relationship to a
                                  set of values. Valid operators are In, NotIn, Exists,
                                  DoesNotExist. Gt, and Lt.
                                type: string
                              values:
                                description: An array of string values. If the operator
                                  is In or NotIn, the values array must be non-empty.
                                  If the operator is Exists or DoesNotExist, the values
                                  array must be empty. If the operator is Gt or Lt,
                                  the values array must have a single element, which
                                  will be interpreted as an integer. This array is
                                  replaced during a strategic merge patch.
                                items:
                                  type: string
                                type: array
                            required:
                            - key
                            - operator
                            type: object
                          type: array
                        matchFields:
                          description: A list of node selector requirements by node's
                            fields.
                          items:
                            description: A node selector requirement is a selector
                              that contains values, a key, and an operator that relates
                              the key and values.
                            properties:
                              key:
                                description: The label key that the selector applies
                                  to.
                                type: string
                              operator:
                                description: Represents a key's relationship to a
                                  set of values. Valid operators are In, NotIn, Exists,
                                  DoesNotExist. Gt, and Lt.
                                type: string
                              values:
                                description: An array of string values. If the operator
                                  is In or NotIn, the values array must be non-empty.
                                  If the operator is Exists or DoesNotExist, the values
                                  array must be empty. If the operator is Gt or Lt,
                                  the values array must have a single element, which
                                  will be interpreted as an integer. This array is
                                  replaced during a strategic merge patch.
                                items:
                                  type: string
                                type: array
                            required:
                            - key
                            - operator
                            type: object
                          type: array
                      type: object
                      x-kubernetes-map-type: atomic
                    type: array
                required:
                - nodeSelectorTerms
                type: object
                x-kubernetes-map-type: atomic
              tolerations:
                description: If specified tolerations is the list of toleration that
                  is passed to the LocalVolumeDiscovery Daemon
                items:
                  description: The pod this Toleration is attached to tolerates any
                    taint that matches the triple <key,value,effect> using the matching
                    operator <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: LocalVolumeDiscoveryStatus defines the observed state of
              LocalVolumeDiscovery
            properties:
              conditions:
                description: Conditions are the list of conditions and their status.
                items:
                  description: OperatorCondition is just the standard condition fields.
                  properties:
                    lastTransitionTime:
                      format: date-time
                      type: string
                    message:
                      type: string
                    reason:
                      type: string
                    status:
                      type: string
                    type:
                      type: string
                  required:
                  - type
                  type: object
                type: array
              observedGeneration:
                description: observedGeneration is the last generation change the
                  operator has dealt with
                format: int64
                type: integer
              phase:
                description: Phase represents the current phase of discovery process
                  This is used by the OLM UI to provide status information to the
                  user
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: LocalVolumeDiscovery
    listKind: LocalVolumeDiscoveryList
    plural: localvolumediscoveries
    singular: localvolumediscovery
  conditions:
  - lastTransitionTime: "2025-10-27T12:41:06Z"
    message: no conflicts found
    reason: NoConflicts
    status: "True"
    type: NamesAccepted
  - lastTransitionTime: "2025-10-27T12:41:06Z"
    message: the initial names have been accepted
    reason: InitialNamesAccepted
    status: "True"
    type: Established
  storedVersions:
  - v1alpha1
