github.com/openebs/api@v1.12.0/config/crds/all-crds.yaml (about)

     1  ---
     2  apiVersion: apiextensions.k8s.io/v1beta1
     3  kind: CustomResourceDefinition
     4  metadata:
     5    annotations:
     6      controller-gen.kubebuilder.io/version: v0.2.9
     7    creationTimestamp: null
     8    name: cstorpoolclusters.cstor.openebs.io
     9  spec:
    10    group: cstor.openebs.io
    11    names:
    12      kind: CStorPoolCluster
    13      listKind: CStorPoolClusterList
    14      plural: cstorpoolclusters
    15      singular: cstorpoolcluster
    16    scope: Namespaced
    17    validation:
    18      openAPIV3Schema:
    19        description: CStorPoolCluster describes a CStorPoolCluster custom resource.
    20        properties:
    21          apiVersion:
    22            description: 'APIVersion defines the versioned schema of this representation
    23              of an object. Servers should convert recognized schemas to the latest
    24              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
    25            type: string
    26          kind:
    27            description: 'Kind is a string value representing the REST resource this
    28              object represents. Servers may infer this from the endpoint the client
    29              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
    30            type: string
    31          metadata:
    32            type: object
    33          spec:
    34            description: CStorPoolClusterSpec is the spec for a CStorPoolClusterSpec
    35              resource
    36            properties:
    37              auxResources:
    38                description: AuxResources are the compute resources required by the
    39                  cstor-pool pod side car containers.
    40                properties:
    41                  limits:
    42                    additionalProperties:
    43                      anyOf:
    44                      - type: integer
    45                      - type: string
    46                      pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
    47                      x-kubernetes-int-or-string: true
    48                    description: 'Limits describes the maximum amount of compute resources
    49                      allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
    50                    type: object
    51                  requests:
    52                    additionalProperties:
    53                      anyOf:
    54                      - type: integer
    55                      - type: string
    56                      pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
    57                      x-kubernetes-int-or-string: true
    58                    description: 'Requests describes the minimum amount of compute resources
    59                      required. If Requests is omitted for a container, it defaults
    60                      to Limits if that is explicitly specified, otherwise to an implementation-defined
    61                      value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
    62                    type: object
    63                type: object
    64              pools:
    65                description: Pools is the spec for pools for various nodes where it
    66                  should be created.
    67                items:
    68                  description: PoolSpec is the spec for pool on node where it should
    69                    be created.
    70                  properties:
    71                    dataRaidGroups:
    72                      description: DataRaidGroups is the raid group configuration for
    73                        the given pool.
    74                      items:
    75                        description: RaidGroup contains the details of a raid group
    76                          for the pool
    77                        properties:
    78                          blockDevices:
    79                            items:
    80                              description: CStorPoolInstanceBlockDevice contains the
    81                                details of block devices that constitutes a raid group.
    82                              properties:
    83                                blockDeviceName:
    84                                  description: BlockDeviceName is the name of the block
    85                                    device.
    86                                  type: string
    87                                capacity:
    88                                  description: Capacity is the capacity of the block
    89                                    device. It is system generated
    90                                  format: int64
    91                                  type: integer
    92                                devLink:
    93                                  description: DevLink is the dev link for block devices
    94                                  type: string
    95                              required:
    96                              - blockDeviceName
    97                              - capacity
    98                              - devLink
    99                              type: object
   100                            type: array
   101                        required:
   102                        - blockDevices
   103                        type: object
   104                      type: array
   105                    nodeSelector:
   106                      additionalProperties:
   107                        type: string
   108                      description: NodeSelector is the labels that will be used to select
   109                        a node for pool provisioning. Required field
   110                      type: object
   111                    poolConfig:
   112                      description: PoolConfig is the default pool config that applies
   113                        to the pool on node.
   114                      properties:
   115                        auxResources:
   116                          description: AuxResources are the compute resources required
   117                            by the cstor-pool pod side car containers.
   118                          properties:
   119                            limits:
   120                              additionalProperties:
   121                                anyOf:
   122                                - type: integer
   123                                - type: string
   124                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   125                                x-kubernetes-int-or-string: true
   126                              description: 'Limits describes the maximum amount of compute
   127                                resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
   128                              type: object
   129                            requests:
   130                              additionalProperties:
   131                                anyOf:
   132                                - type: integer
   133                                - type: string
   134                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   135                                x-kubernetes-int-or-string: true
   136                              description: 'Requests describes the minimum amount of
   137                                compute resources required. If Requests is omitted for
   138                                a container, it defaults to Limits if that is explicitly
   139                                specified, otherwise to an implementation-defined value.
   140                                More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
   141                              type: object
   142                          type: object
   143                        compression:
   144                          description: 'Compression to enable compression Optional --
   145                            defaults to off Possible values : lz, off'
   146                          type: string
   147                        dataRaidGroupType:
   148                          description: DataRaidGroupType is the  raid type.
   149                          type: string
   150                        priorityClassName:
   151                          description: PriorityClassName if specified applies to this
   152                            pool pod If left empty, DefaultPriorityClassName is applied.
   153                            (See CStorPoolClusterSpec.DefaultPriorityClassName) If both
   154                            are empty, not priority class is applied.
   155                          type: string
   156                        resources:
   157                          description: Resources are the compute resources required
   158                            by the cstor-pool container.
   159                          properties:
   160                            limits:
   161                              additionalProperties:
   162                                anyOf:
   163                                - type: integer
   164                                - type: string
   165                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   166                                x-kubernetes-int-or-string: true
   167                              description: 'Limits describes the maximum amount of compute
   168                                resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
   169                              type: object
   170                            requests:
   171                              additionalProperties:
   172                                anyOf:
   173                                - type: integer
   174                                - type: string
   175                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   176                                x-kubernetes-int-or-string: true
   177                              description: 'Requests describes the minimum amount of
   178                                compute resources required. If Requests is omitted for
   179                                a container, it defaults to Limits if that is explicitly
   180                                specified, otherwise to an implementation-defined value.
   181                                More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
   182                              type: object
   183                          type: object
   184                        roThresholdLimit:
   185                          description: 'ROThresholdLimit is threshold(percentage base)
   186                            limit for pool read only mode. If ROThresholdLimit(%) amount
   187                            of pool storage is reached then pool will set to readonly.
   188                            NOTE: 1. If ROThresholdLimit is set to 100 then entire    pool
   189                            storage will be used by default it will be set to 85%. 2.
   190                            ROThresholdLimit value will be 0 <= ROThresholdLimit <=
   191                            100.'
   192                          type: integer
   193                        thickProvision:
   194                          description: ThickProvision to enable thick provisioning Optional
   195                            -- defaults to false
   196                          type: boolean
   197                        tolerations:
   198                          description: Tolerations, if specified, the pool pod's tolerations.
   199                          items:
   200                            description: The pod this Toleration is attached to tolerates
   201                              any taint that matches the triple <key,value,effect> using
   202                              the matching operator <operator>.
   203                            properties:
   204                              effect:
   205                                description: Effect indicates the taint effect to match.
   206                                  Empty means match all taint effects. When specified,
   207                                  allowed values are NoSchedule, PreferNoSchedule and
   208                                  NoExecute.
   209                                type: string
   210                              key:
   211                                description: Key is the taint key that the toleration
   212                                  applies to. Empty means match all taint keys. If the
   213                                  key is empty, operator must be Exists; this combination
   214                                  means to match all values and all keys.
   215                                type: string
   216                              operator:
   217                                description: Operator represents a key's relationship
   218                                  to the value. Valid operators are Exists and Equal.
   219                                  Defaults to Equal. Exists is equivalent to wildcard
   220                                  for value, so that a pod can tolerate all taints of
   221                                  a particular category.
   222                                type: string
   223                              tolerationSeconds:
   224                                description: TolerationSeconds represents the period
   225                                  of time the toleration (which must be of effect NoExecute,
   226                                  otherwise this field is ignored) tolerates the taint.
   227                                  By default, it is not set, which means tolerate the
   228                                  taint forever (do not evict). Zero and negative values
   229                                  will be treated as 0 (evict immediately) by the system.
   230                                format: int64
   231                                type: integer
   232                              value:
   233                                description: Value is the taint value the toleration
   234                                  matches to. If the operator is Exists, the value should
   235                                  be empty, otherwise just a regular string.
   236                                type: string
   237                            type: object
   238                          type: array
   239                        writeCacheGroupType:
   240                          description: WriteCacheGroupType is the write cache raid type.
   241                          type: string
   242                      required:
   243                      - auxResources
   244                      - compression
   245                      - dataRaidGroupType
   246                      - priorityClassName
   247                      - resources
   248                      - roThresholdLimit
   249                      - thickProvision
   250                      - tolerations
   251                      - writeCacheGroupType
   252                      type: object
   253                    writeCacheRaidGroups:
   254                      description: WriteCacheRaidGroups is the write cache raid group.
   255                      items:
   256                        description: RaidGroup contains the details of a raid group
   257                          for the pool
   258                        properties:
   259                          blockDevices:
   260                            items:
   261                              description: CStorPoolInstanceBlockDevice contains the
   262                                details of block devices that constitutes a raid group.
   263                              properties:
   264                                blockDeviceName:
   265                                  description: BlockDeviceName is the name of the block
   266                                    device.
   267                                  type: string
   268                                capacity:
   269                                  description: Capacity is the capacity of the block
   270                                    device. It is system generated
   271                                  format: int64
   272                                  type: integer
   273                                devLink:
   274                                  description: DevLink is the dev link for block devices
   275                                  type: string
   276                              required:
   277                              - blockDeviceName
   278                              - capacity
   279                              - devLink
   280                              type: object
   281                            type: array
   282                        required:
   283                        - blockDevices
   284                        type: object
   285                      type: array
   286                  required:
   287                  - dataRaidGroups
   288                  - nodeSelector
   289                  - poolConfig
   290                  - writeCacheRaidGroups
   291                  type: object
   292                type: array
   293              priorityClassName:
   294                description: DefaultPriorityClassName if specified applies to all the
   295                  pool pods in the pool spec if the priorityClass at the pool level
   296                  is not specified.
   297                type: string
   298              resources:
   299                description: DefaultResources are the compute resources required by
   300                  the cstor-pool container. If the resources at PoolConfig is not specified,
   301                  this is written to CSPI PoolConfig.
   302                properties:
   303                  limits:
   304                    additionalProperties:
   305                      anyOf:
   306                      - type: integer
   307                      - type: string
   308                      pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   309                      x-kubernetes-int-or-string: true
   310                    description: 'Limits describes the maximum amount of compute resources
   311                      allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
   312                    type: object
   313                  requests:
   314                    additionalProperties:
   315                      anyOf:
   316                      - type: integer
   317                      - type: string
   318                      pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   319                      x-kubernetes-int-or-string: true
   320                    description: 'Requests describes the minimum amount of compute resources
   321                      required. If Requests is omitted for a container, it defaults
   322                      to Limits if that is explicitly specified, otherwise to an implementation-defined
   323                      value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
   324                    type: object
   325                type: object
   326              tolerations:
   327                description: Tolerations, if specified, are the pool pod's tolerations
   328                  If tolerations at PoolConfig is empty, this is written to CSPI PoolConfig.
   329                items:
   330                  description: The pod this Toleration is attached to tolerates any
   331                    taint that matches the triple <key,value,effect> using the matching
   332                    operator <operator>.
   333                  properties:
   334                    effect:
   335                      description: Effect indicates the taint effect to match. Empty
   336                        means match all taint effects. When specified, allowed values
   337                        are NoSchedule, PreferNoSchedule and NoExecute.
   338                      type: string
   339                    key:
   340                      description: Key is the taint key that the toleration applies
   341                        to. Empty means match all taint keys. If the key is empty, operator
   342                        must be Exists; this combination means to match all values and
   343                        all keys.
   344                      type: string
   345                    operator:
   346                      description: Operator represents a key's relationship to the value.
   347                        Valid operators are Exists and Equal. Defaults to Equal. Exists
   348                        is equivalent to wildcard for value, so that a pod can tolerate
   349                        all taints of a particular category.
   350                      type: string
   351                    tolerationSeconds:
   352                      description: TolerationSeconds represents the period of time the
   353                        toleration (which must be of effect NoExecute, otherwise this
   354                        field is ignored) tolerates the taint. By default, it is not
   355                        set, which means tolerate the taint forever (do not evict).
   356                        Zero and negative values will be treated as 0 (evict immediately)
   357                        by the system.
   358                      format: int64
   359                      type: integer
   360                    value:
   361                      description: Value is the taint value the toleration matches to.
   362                        If the operator is Exists, the value should be empty, otherwise
   363                        just a regular string.
   364                      type: string
   365                  type: object
   366                type: array
   367            required:
   368            - auxResources
   369            - pools
   370            - priorityClassName
   371            - resources
   372            - tolerations
   373            type: object
   374          status:
   375            description: CStorPoolClusterStatus represents the latest available observations
   376              of a CSPC's current state.
   377            properties:
   378              conditions:
   379                description: Current state of CSPC.
   380                items:
   381                  description: CStorPoolClusterCondition describes the state of a CSPC
   382                    at a certain point.
   383                  properties:
   384                    lastTransitionTime:
   385                      description: Last time the condition transitioned from one status
   386                        to another.
   387                      format: date-time
   388                      type: string
   389                    lastUpdateTime:
   390                      description: The last time this condition was updated.
   391                      format: date-time
   392                      type: string
   393                    message:
   394                      description: A human readable message indicating details about
   395                        the transition.
   396                      type: string
   397                    reason:
   398                      description: The reason for the condition's last transition.
   399                      type: string
   400                    status:
   401                      description: Status of the condition, one of True, False, Unknown.
   402                      type: string
   403                    type:
   404                      description: Type of CSPC condition.
   405                      type: string
   406                  required:
   407                  - status
   408                  - type
   409                  type: object
   410                type: array
   411              desiredInstances:
   412                description: DesiredInstances is the number of CSPI(s) that should be
   413                  provisioned.
   414                format: int32
   415                type: integer
   416              healthyInstances:
   417                description: HealthyInstances is the number of CSPI(s) that are healthy.
   418                format: int32
   419                type: integer
   420              provisionedInstances:
   421                description: ProvisionedInstances is the the number of CSPI present
   422                  at the current state.
   423                format: int32
   424                type: integer
   425            required:
   426            - conditions
   427            - desiredInstances
   428            - healthyInstances
   429            - provisionedInstances
   430            type: object
   431          versionDetails:
   432            description: VersionDetails provides the details for upgrade
   433            properties:
   434              autoUpgrade:
   435                description: If AutoUpgrade is set to true then the resource is upgraded
   436                  automatically without any manual steps
   437                type: boolean
   438              desired:
   439                description: Desired is the version that we want to upgrade or the control
   440                  plane version
   441                type: string
   442              status:
   443                description: Status gives the status of reconciliation triggered when
   444                  the desired and current version are not same
   445                properties:
   446                  current:
   447                    description: Current is the version of resource
   448                    type: string
   449                  dependentsUpgraded:
   450                    description: DependentsUpgraded gives the details whether all children
   451                      of a resource are upgraded to desired version or not
   452                    type: boolean
   453                  lastUpdateTime:
   454                    description: LastUpdateTime is the time the status was last  updated
   455                    format: date-time
   456                    type: string
   457                  message:
   458                    description: Message is a human readable message if some error occurs
   459                    type: string
   460                  reason:
   461                    description: Reason is the actual reason for the error state
   462                    type: string
   463                  state:
   464                    description: State is the state of reconciliation
   465                    type: string
   466                required:
   467                - current
   468                - dependentsUpgraded
   469                - state
   470                type: object
   471            required:
   472            - autoUpgrade
   473            - desired
   474            - status
   475            type: object
   476        required:
   477        - spec
   478        - status
   479        - versionDetails
   480        type: object
   481    version: v1
   482    versions:
   483    - name: v1
   484      served: true
   485      storage: true
   486  status:
   487    acceptedNames:
   488      kind: ""
   489      plural: ""
   490    conditions: []
   491    storedVersions: []
   492  
   493  ---
   494  apiVersion: apiextensions.k8s.io/v1beta1
   495  kind: CustomResourceDefinition
   496  metadata:
   497    annotations:
   498      controller-gen.kubebuilder.io/version: v0.2.9
   499    creationTimestamp: null
   500    name: cstorpoolinstances.cstor.openebs.io
   501  spec:
   502    group: cstor.openebs.io
   503    names:
   504      kind: CStorPoolInstance
   505      listKind: CStorPoolInstanceList
   506      plural: cstorpoolinstances
   507      singular: cstorpoolinstance
   508    scope: Namespaced
   509    validation:
   510      openAPIV3Schema:
   511        description: CStorPoolInstance describes a cstor pool instance resource.
   512        properties:
   513          apiVersion:
   514            description: 'APIVersion defines the versioned schema of this representation
   515              of an object. Servers should convert recognized schemas to the latest
   516              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
   517            type: string
   518          kind:
   519            description: 'Kind is a string value representing the REST resource this
   520              object represents. Servers may infer this from the endpoint the client
   521              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
   522            type: string
   523          metadata:
   524            type: object
   525          spec:
   526            description: Spec is the specification of the cstorpoolinstance resource.
   527            properties:
   528              dataRaidGroups:
   529                description: DataRaidGroups is the raid group configuration for the
   530                  given pool.
   531                items:
   532                  description: RaidGroup contains the details of a raid group for the
   533                    pool
   534                  properties:
   535                    blockDevices:
   536                      items:
   537                        description: CStorPoolInstanceBlockDevice contains the details
   538                          of block devices that constitutes a raid group.
   539                        properties:
   540                          blockDeviceName:
   541                            description: BlockDeviceName is the name of the block device.
   542                            type: string
   543                          capacity:
   544                            description: Capacity is the capacity of the block device.
   545                              It is system generated
   546                            format: int64
   547                            type: integer
   548                          devLink:
   549                            description: DevLink is the dev link for block devices
   550                            type: string
   551                        required:
   552                        - blockDeviceName
   553                        - capacity
   554                        - devLink
   555                        type: object
   556                      type: array
   557                  required:
   558                  - blockDevices
   559                  type: object
   560                type: array
   561              hostName:
   562                description: HostName is the name of kubernetes node where the pool
   563                  should be created.
   564                type: string
   565              nodeSelector:
   566                additionalProperties:
   567                  type: string
   568                description: NodeSelector is the labels that will be used to select
   569                  a node for pool provisioning. Required field
   570                type: object
   571              poolConfig:
   572                description: PoolConfig is the default pool config that applies to the
   573                  pool on node.
   574                properties:
   575                  auxResources:
   576                    description: AuxResources are the compute resources required by
   577                      the cstor-pool pod side car containers.
   578                    properties:
   579                      limits:
   580                        additionalProperties:
   581                          anyOf:
   582                          - type: integer
   583                          - type: string
   584                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   585                          x-kubernetes-int-or-string: true
   586                        description: 'Limits describes the maximum amount of compute
   587                          resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
   588                        type: object
   589                      requests:
   590                        additionalProperties:
   591                          anyOf:
   592                          - type: integer
   593                          - type: string
   594                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   595                          x-kubernetes-int-or-string: true
   596                        description: 'Requests describes the minimum amount of compute
   597                          resources required. If Requests is omitted for a container,
   598                          it defaults to Limits if that is explicitly specified, otherwise
   599                          to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
   600                        type: object
   601                    type: object
   602                  compression:
   603                    description: 'Compression to enable compression Optional -- defaults
   604                      to off Possible values : lz, off'
   605                    type: string
   606                  dataRaidGroupType:
   607                    description: DataRaidGroupType is the  raid type.
   608                    type: string
   609                  priorityClassName:
   610                    description: PriorityClassName if specified applies to this pool
   611                      pod If left empty, DefaultPriorityClassName is applied. (See CStorPoolClusterSpec.DefaultPriorityClassName)
   612                      If both are empty, not priority class is applied.
   613                    type: string
   614                  resources:
   615                    description: Resources are the compute resources required by the
   616                      cstor-pool container.
   617                    properties:
   618                      limits:
   619                        additionalProperties:
   620                          anyOf:
   621                          - type: integer
   622                          - type: string
   623                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   624                          x-kubernetes-int-or-string: true
   625                        description: 'Limits describes the maximum amount of compute
   626                          resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
   627                        type: object
   628                      requests:
   629                        additionalProperties:
   630                          anyOf:
   631                          - type: integer
   632                          - type: string
   633                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   634                          x-kubernetes-int-or-string: true
   635                        description: 'Requests describes the minimum amount of compute
   636                          resources required. If Requests is omitted for a container,
   637                          it defaults to Limits if that is explicitly specified, otherwise
   638                          to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
   639                        type: object
   640                    type: object
   641                  roThresholdLimit:
   642                    description: 'ROThresholdLimit is threshold(percentage base) limit
   643                      for pool read only mode. If ROThresholdLimit(%) amount of pool
   644                      storage is reached then pool will set to readonly. NOTE: 1. If
   645                      ROThresholdLimit is set to 100 then entire    pool storage will
   646                      be used by default it will be set to 85%. 2. ROThresholdLimit
   647                      value will be 0 <= ROThresholdLimit <= 100.'
   648                    type: integer
   649                  thickProvision:
   650                    description: ThickProvision to enable thick provisioning Optional
   651                      -- defaults to false
   652                    type: boolean
   653                  tolerations:
   654                    description: Tolerations, if specified, the pool pod's tolerations.
   655                    items:
   656                      description: The pod this Toleration is attached to tolerates
   657                        any taint that matches the triple <key,value,effect> using the
   658                        matching operator <operator>.
   659                      properties:
   660                        effect:
   661                          description: Effect indicates the taint effect to match. Empty
   662                            means match all taint effects. When specified, allowed values
   663                            are NoSchedule, PreferNoSchedule and NoExecute.
   664                          type: string
   665                        key:
   666                          description: Key is the taint key that the toleration applies
   667                            to. Empty means match all taint keys. If the key is empty,
   668                            operator must be Exists; this combination means to match
   669                            all values and all keys.
   670                          type: string
   671                        operator:
   672                          description: Operator represents a key's relationship to the
   673                            value. Valid operators are Exists and Equal. Defaults to
   674                            Equal. Exists is equivalent to wildcard for value, so that
   675                            a pod can tolerate all taints of a particular category.
   676                          type: string
   677                        tolerationSeconds:
   678                          description: TolerationSeconds represents the period of time
   679                            the toleration (which must be of effect NoExecute, otherwise
   680                            this field is ignored) tolerates the taint. By default,
   681                            it is not set, which means tolerate the taint forever (do
   682                            not evict). Zero and negative values will be treated as
   683                            0 (evict immediately) by the system.
   684                          format: int64
   685                          type: integer
   686                        value:
   687                          description: Value is the taint value the toleration matches
   688                            to. If the operator is Exists, the value should be empty,
   689                            otherwise just a regular string.
   690                          type: string
   691                      type: object
   692                    type: array
   693                  writeCacheGroupType:
   694                    description: WriteCacheGroupType is the write cache raid type.
   695                    type: string
   696                required:
   697                - auxResources
   698                - compression
   699                - dataRaidGroupType
   700                - priorityClassName
   701                - resources
   702                - roThresholdLimit
   703                - thickProvision
   704                - tolerations
   705                - writeCacheGroupType
   706                type: object
   707              writeCacheRaidGroups:
   708                description: WriteCacheRaidGroups is the write cache raid group.
   709                items:
   710                  description: RaidGroup contains the details of a raid group for the
   711                    pool
   712                  properties:
   713                    blockDevices:
   714                      items:
   715                        description: CStorPoolInstanceBlockDevice contains the details
   716                          of block devices that constitutes a raid group.
   717                        properties:
   718                          blockDeviceName:
   719                            description: BlockDeviceName is the name of the block device.
   720                            type: string
   721                          capacity:
   722                            description: Capacity is the capacity of the block device.
   723                              It is system generated
   724                            format: int64
   725                            type: integer
   726                          devLink:
   727                            description: DevLink is the dev link for block devices
   728                            type: string
   729                        required:
   730                        - blockDeviceName
   731                        - capacity
   732                        - devLink
   733                        type: object
   734                      type: array
   735                  required:
   736                  - blockDevices
   737                  type: object
   738                type: array
   739            required:
   740            - dataRaidGroups
   741            - hostName
   742            - nodeSelector
   743            - poolConfig
   744            - writeCacheRaidGroups
   745            type: object
   746          status:
   747            description: Status is the possible statuses of the cstorpoolinstance resource.
   748            properties:
   749              capacity:
   750                description: Capacity describes the capacity details of a cstor pool
   751                properties:
   752                  free:
   753                    anyOf:
   754                    - type: integer
   755                    - type: string
   756                    description: Unsed capacity in the pool
   757                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   758                    x-kubernetes-int-or-string: true
   759                  total:
   760                    anyOf:
   761                    - type: integer
   762                    - type: string
   763                    description: Total capacity of the pool, equal to the sum of the
   764                      all data raidgroups
   765                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   766                    x-kubernetes-int-or-string: true
   767                  used:
   768                    anyOf:
   769                    - type: integer
   770                    - type: string
   771                    description: The amount of capacity allocated to all datasets and
   772                      internal metadata
   773                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   774                    x-kubernetes-int-or-string: true
   775                required:
   776                - free
   777                - total
   778                - used
   779                type: object
   780              conditions:
   781                description: Current state of CSPI with details.
   782                items:
   783                  description: CSPIConditionType describes the state of a CSPI at a
   784                    certain point.
   785                  properties:
   786                    lastTransitionTime:
   787                      description: Last time the condition transitioned from one status
   788                        to another.
   789                      format: date-time
   790                      type: string
   791                    lastUpdateTime:
   792                      description: The last time this condition was updated.
   793                      format: date-time
   794                      type: string
   795                    message:
   796                      description: A human readable message indicating details about
   797                        the transition.
   798                      type: string
   799                    reason:
   800                      description: The reason for the condition's last transition.
   801                      type: string
   802                    status:
   803                      description: Status of the condition, one of True, False, Unknown.
   804                      type: string
   805                    type:
   806                      description: Type of CSPC condition.
   807                      type: string
   808                  required:
   809                  - status
   810                  - type
   811                  type: object
   812                type: array
   813              phase:
   814                description: ' The phase of a CStorPool is a simple, high-level summary
   815                  of the pool state on the  node.'
   816                type: string
   817              readOnly:
   818                description: ReadOnly if pool is readOnly or not
   819                type: boolean
   820            required:
   821            - capacity
   822            - phase
   823            - readOnly
   824            type: object
   825          versionDetails:
   826            description: VersionDetails is the openebs version.
   827            properties:
   828              autoUpgrade:
   829                description: If AutoUpgrade is set to true then the resource is upgraded
   830                  automatically without any manual steps
   831                type: boolean
   832              desired:
   833                description: Desired is the version that we want to upgrade or the control
   834                  plane version
   835                type: string
   836              status:
   837                description: Status gives the status of reconciliation triggered when
   838                  the desired and current version are not same
   839                properties:
   840                  current:
   841                    description: Current is the version of resource
   842                    type: string
   843                  dependentsUpgraded:
   844                    description: DependentsUpgraded gives the details whether all children
   845                      of a resource are upgraded to desired version or not
   846                    type: boolean
   847                  lastUpdateTime:
   848                    description: LastUpdateTime is the time the status was last  updated
   849                    format: date-time
   850                    type: string
   851                  message:
   852                    description: Message is a human readable message if some error occurs
   853                    type: string
   854                  reason:
   855                    description: Reason is the actual reason for the error state
   856                    type: string
   857                  state:
   858                    description: State is the state of reconciliation
   859                    type: string
   860                required:
   861                - current
   862                - dependentsUpgraded
   863                - state
   864                type: object
   865            required:
   866            - autoUpgrade
   867            - desired
   868            - status
   869            type: object
   870        required:
   871        - spec
   872        - status
   873        - versionDetails
   874        type: object
   875    version: v1
   876    versions:
   877    - name: v1
   878      served: true
   879      storage: true
   880  status:
   881    acceptedNames:
   882      kind: ""
   883      plural: ""
   884    conditions: []
   885    storedVersions: []
   886  
   887  ---
   888  apiVersion: apiextensions.k8s.io/v1beta1
   889  kind: CustomResourceDefinition
   890  metadata:
   891    annotations:
   892      controller-gen.kubebuilder.io/version: v0.2.9
   893    creationTimestamp: null
   894    name: cstorvolumeconfigs.cstor.openebs.io
   895  spec:
   896    group: cstor.openebs.io
   897    names:
   898      kind: CStorVolumeConfig
   899      listKind: CStorVolumeConfigList
   900      plural: cstorvolumeconfigs
   901      singular: cstorvolumeconfig
   902    scope: Namespaced
   903    validation:
   904      openAPIV3Schema:
   905        description: CStorVolumeConfig describes a cstor volume config resource created
   906          as custom resource. CStorVolumeConfig is a request for creating cstor volume
   907          related resources like deployment, svc etc.
   908        properties:
   909          apiVersion:
   910            description: 'APIVersion defines the versioned schema of this representation
   911              of an object. Servers should convert recognized schemas to the latest
   912              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
   913            type: string
   914          kind:
   915            description: 'Kind is a string value representing the REST resource this
   916              object represents. Servers may infer this from the endpoint the client
   917              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
   918            type: string
   919          metadata:
   920            type: object
   921          publish:
   922            description: Publish contains info related to attachment of a volume to
   923              a node. i.e. NodeId etc.
   924            properties:
   925              nodeId:
   926                description: NodeID contains publish info related to attachment of a
   927                  volume to a node.
   928                type: string
   929            type: object
   930          spec:
   931            description: Spec defines a specification of a cstor volume config required
   932              to provisione cstor volume resources
   933            properties:
   934              capacity:
   935                additionalProperties:
   936                  anyOf:
   937                  - type: integer
   938                  - type: string
   939                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   940                  x-kubernetes-int-or-string: true
   941                description: Capacity represents the actual resources of the underlying
   942                  cstor volume.
   943                type: object
   944              cstorVolumeRef:
   945                description: CStorVolumeRef has the information about where CstorVolumeClaim
   946                  is created from.
   947                properties:
   948                  apiVersion:
   949                    description: API version of the referent.
   950                    type: string
   951                  fieldPath:
   952                    description: 'If referring to a piece of an object instead of an
   953                      entire object, this string should contain a valid JSON/Go field
   954                      access statement, such as desiredState.manifest.containers[2].
   955                      For example, if the object reference is to a container within
   956                      a pod, this would take on a value like: "spec.containers{name}"
   957                      (where "name" refers to the name of the container that triggered
   958                      the event) or if no container name is specified "spec.containers[2]"
   959                      (container with index 2 in this pod). This syntax is chosen only
   960                      to have some well-defined way of referencing a part of an object.
   961                      TODO: this design is not final and this field is subject to change
   962                      in the future.'
   963                    type: string
   964                  kind:
   965                    description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
   966                    type: string
   967                  name:
   968                    description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   969                    type: string
   970                  namespace:
   971                    description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   972                    type: string
   973                  resourceVersion:
   974                    description: 'Specific resourceVersion to which this reference is
   975                      made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
   976                    type: string
   977                  uid:
   978                    description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
   979                    type: string
   980                type: object
   981              cstorVolumeSource:
   982                description: CStorVolumeSource contains the source volumeName@snapShotname
   983                  combaination.  This will be filled only if it is a clone creation.
   984                type: string
   985              policy:
   986                description: Policy contains volume specific required policies target
   987                  and replicas
   988                properties:
   989                  provision:
   990                    description: replicaAffinity is set to true then volume replica
   991                      resources need to be distributed across the pool instances
   992                    properties:
   993                      blockSize:
   994                        description: BlockSize is the logical block size in multiple
   995                          of 512 bytes BlockSize specifies the block size of the volume.
   996                          The blocksize cannot be changed once the volume has been written,
   997                          so it should be set at volume creation time. The default blocksize
   998                          for volumes is 4 Kbytes. Any power of 2 from 512 bytes to
   999                          128 Kbytes is valid.
  1000                        format: int32
  1001                        type: integer
  1002                      replicaAffinity:
  1003                        description: replicaAffinity is set to true then volume replica
  1004                          resources need to be distributed across the cstor pool instances
  1005                          based on the given topology
  1006                        type: boolean
  1007                    required:
  1008                    - blockSize
  1009                    - replicaAffinity
  1010                    type: object
  1011                  replica:
  1012                    description: ReplicaSpec represents configuration related to replicas
  1013                      resources
  1014                    properties:
  1015                      compression:
  1016                        description: The zle compression algorithm compresses runs of
  1017                          zeros.
  1018                        type: string
  1019                      zvolWorkers:
  1020                        description: IOWorkers represents number of threads that executes
  1021                          client IOs
  1022                        type: string
  1023                    type: object
  1024                  replicaPoolInfo:
  1025                    description: 'ReplicaPoolInfo holds the pool information of volume
  1026                      replicas. Ex: If volume is provisioned on which CStor pool volume
  1027                      replicas exist'
  1028                    items:
  1029                      description: ReplicaPoolInfo represents the pool information of
  1030                        volume replica
  1031                      properties:
  1032                        poolName:
  1033                          description: PoolName represents the pool name where volume
  1034                            replica exists
  1035                          type: string
  1036                      required:
  1037                      - poolName
  1038                      type: object
  1039                    type: array
  1040                  target:
  1041                    description: TargetSpec represents configuration related to cstor
  1042                      target and its resources
  1043                    properties:
  1044                      affinity:
  1045                        description: PodAffinity if specified, are the target pod's
  1046                          affinities
  1047                        properties:
  1048                          preferredDuringSchedulingIgnoredDuringExecution:
  1049                            description: The scheduler will prefer to schedule pods
  1050                              to nodes that satisfy the affinity expressions specified
  1051                              by this field, but it may choose a node that violates
  1052                              one or more of the expressions. The node that is most
  1053                              preferred is the one with the greatest sum of weights,
  1054                              i.e. for each node that meets all of the scheduling requirements
  1055                              (resource request, requiredDuringScheduling affinity expressions,
  1056                              etc.), compute a sum by iterating through the elements
  1057                              of this field and adding "weight" to the sum if the node
  1058                              has pods which matches the corresponding podAffinityTerm;
  1059                              the node(s) with the highest sum are the most preferred.
  1060                            items:
  1061                              description: The weights of all of the matched WeightedPodAffinityTerm
  1062                                fields are added per-node to find the most preferred
  1063                                node(s)
  1064                              properties:
  1065                                podAffinityTerm:
  1066                                  description: Required. A pod affinity term, associated
  1067                                    with the corresponding weight.
  1068                                  properties:
  1069                                    labelSelector:
  1070                                      description: A label query over a set of resources,
  1071                                        in this case pods.
  1072                                      properties:
  1073                                        matchExpressions:
  1074                                          description: matchExpressions is a list of
  1075                                            label selector requirements. The requirements
  1076                                            are ANDed.
  1077                                          items:
  1078                                            description: A label selector requirement
  1079                                              is a selector that contains values, a
  1080                                              key, and an operator that relates the
  1081                                              key and values.
  1082                                            properties:
  1083                                              key:
  1084                                                description: key is the label key that
  1085                                                  the selector applies to.
  1086                                                type: string
  1087                                              operator:
  1088                                                description: operator represents a key's
  1089                                                  relationship to a set of values. Valid
  1090                                                  operators are In, NotIn, Exists and
  1091                                                  DoesNotExist.
  1092                                                type: string
  1093                                              values:
  1094                                                description: values is an array of string
  1095                                                  values. If the operator is In or NotIn,
  1096                                                  the values array must be non-empty.
  1097                                                  If the operator is Exists or DoesNotExist,
  1098                                                  the values array must be empty. This
  1099                                                  array is replaced during a strategic
  1100                                                  merge patch.
  1101                                                items:
  1102                                                  type: string
  1103                                                type: array
  1104                                            required:
  1105                                            - key
  1106                                            - operator
  1107                                            type: object
  1108                                          type: array
  1109                                        matchLabels:
  1110                                          additionalProperties:
  1111                                            type: string
  1112                                          description: matchLabels is a map of {key,value}
  1113                                            pairs. A single {key,value} in the matchLabels
  1114                                            map is equivalent to an element of matchExpressions,
  1115                                            whose key field is "key", the operator is
  1116                                            "In", and the values array contains only
  1117                                            "value". The requirements are ANDed.
  1118                                          type: object
  1119                                      type: object
  1120                                    namespaces:
  1121                                      description: namespaces specifies which namespaces
  1122                                        the labelSelector applies to (matches against);
  1123                                        null or empty list means "this pod's namespace"
  1124                                      items:
  1125                                        type: string
  1126                                      type: array
  1127                                    topologyKey:
  1128                                      description: This pod should be co-located (affinity)
  1129                                        or not co-located (anti-affinity) with the pods
  1130                                        matching the labelSelector in the specified
  1131                                        namespaces, where co-located is defined as running
  1132                                        on a node whose value of the label with key
  1133                                        topologyKey matches that of any node on which
  1134                                        any of the selected pods is running. Empty topologyKey
  1135                                        is not allowed.
  1136                                      type: string
  1137                                  required:
  1138                                  - topologyKey
  1139                                  type: object
  1140                                weight:
  1141                                  description: weight associated with matching the corresponding
  1142                                    podAffinityTerm, in the range 1-100.
  1143                                  format: int32
  1144                                  type: integer
  1145                              required:
  1146                              - podAffinityTerm
  1147                              - weight
  1148                              type: object
  1149                            type: array
  1150                          requiredDuringSchedulingIgnoredDuringExecution:
  1151                            description: If the affinity requirements specified by this
  1152                              field are not met at scheduling time, the pod will not
  1153                              be scheduled onto the node. If the affinity requirements
  1154                              specified by this field cease to be met at some point
  1155                              during pod execution (e.g. due to a pod label update),
  1156                              the system may or may not try to eventually evict the
  1157                              pod from its node. When there are multiple elements, the
  1158                              lists of nodes corresponding to each podAffinityTerm are
  1159                              intersected, i.e. all terms must be satisfied.
  1160                            items:
  1161                              description: Defines a set of pods (namely those matching
  1162                                the labelSelector relative to the given namespace(s))
  1163                                that this pod should be co-located (affinity) or not
  1164                                co-located (anti-affinity) with, where co-located is
  1165                                defined as running on a node whose value of the label
  1166                                with key <topologyKey> matches that of any node on which
  1167                                a pod of the set of pods is running
  1168                              properties:
  1169                                labelSelector:
  1170                                  description: A label query over a set of resources,
  1171                                    in this case pods.
  1172                                  properties:
  1173                                    matchExpressions:
  1174                                      description: matchExpressions is a list of label
  1175                                        selector requirements. The requirements are
  1176                                        ANDed.
  1177                                      items:
  1178                                        description: A label selector requirement is
  1179                                          a selector that contains values, a key, and
  1180                                          an operator that relates the key and values.
  1181                                        properties:
  1182                                          key:
  1183                                            description: key is the label key that the
  1184                                              selector applies to.
  1185                                            type: string
  1186                                          operator:
  1187                                            description: operator represents a key's
  1188                                              relationship to a set of values. Valid
  1189                                              operators are In, NotIn, Exists and DoesNotExist.
  1190                                            type: string
  1191                                          values:
  1192                                            description: values is an array of string
  1193                                              values. If the operator is In or NotIn,
  1194                                              the values array must be non-empty. If
  1195                                              the operator is Exists or DoesNotExist,
  1196                                              the values array must be empty. This array
  1197                                              is replaced during a strategic merge patch.
  1198                                            items:
  1199                                              type: string
  1200                                            type: array
  1201                                        required:
  1202                                        - key
  1203                                        - operator
  1204                                        type: object
  1205                                      type: array
  1206                                    matchLabels:
  1207                                      additionalProperties:
  1208                                        type: string
  1209                                      description: matchLabels is a map of {key,value}
  1210                                        pairs. A single {key,value} in the matchLabels
  1211                                        map is equivalent to an element of matchExpressions,
  1212                                        whose key field is "key", the operator is "In",
  1213                                        and the values array contains only "value".
  1214                                        The requirements are ANDed.
  1215                                      type: object
  1216                                  type: object
  1217                                namespaces:
  1218                                  description: namespaces specifies which namespaces
  1219                                    the labelSelector applies to (matches against);
  1220                                    null or empty list means "this pod's namespace"
  1221                                  items:
  1222                                    type: string
  1223                                  type: array
  1224                                topologyKey:
  1225                                  description: This pod should be co-located (affinity)
  1226                                    or not co-located (anti-affinity) with the pods
  1227                                    matching the labelSelector in the specified namespaces,
  1228                                    where co-located is defined as running on a node
  1229                                    whose value of the label with key topologyKey matches
  1230                                    that of any node on which any of the selected pods
  1231                                    is running. Empty topologyKey is not allowed.
  1232                                  type: string
  1233                              required:
  1234                              - topologyKey
  1235                              type: object
  1236                            type: array
  1237                        type: object
  1238                      auxResources:
  1239                        description: AuxResources are the compute resources required
  1240                          by the cstor-target pod side car containers.
  1241                        properties:
  1242                          limits:
  1243                            additionalProperties:
  1244                              anyOf:
  1245                              - type: integer
  1246                              - type: string
  1247                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1248                              x-kubernetes-int-or-string: true
  1249                            description: 'Limits describes the maximum amount of compute
  1250                              resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
  1251                            type: object
  1252                          requests:
  1253                            additionalProperties:
  1254                              anyOf:
  1255                              - type: integer
  1256                              - type: string
  1257                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1258                              x-kubernetes-int-or-string: true
  1259                            description: 'Requests describes the minimum amount of compute
  1260                              resources required. If Requests is omitted for a container,
  1261                              it defaults to Limits if that is explicitly specified,
  1262                              otherwise to an implementation-defined value. More info:
  1263                              https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
  1264                            type: object
  1265                        type: object
  1266                      luWorkers:
  1267                        description: IOWorkers sets the number of threads that are working
  1268                          on above queue
  1269                        format: int64
  1270                        type: integer
  1271                      monitor:
  1272                        description: Monitor enables or disables the target exporter
  1273                          sidecar
  1274                        type: boolean
  1275                      nodeSelector:
  1276                        additionalProperties:
  1277                          type: string
  1278                        description: NodeSelector is the labels that will be used to
  1279                          select a node for target pod scheduleing Required field
  1280                        type: object
  1281                      priorityClassName:
  1282                        description: PriorityClassName if specified applies to this
  1283                          target pod If left empty, no priority class is applied.
  1284                        type: string
  1285                      queueDepth:
  1286                        description: QueueDepth sets the queue size at iSCSI target
  1287                          which limits the ongoing IO count from client
  1288                        type: string
  1289                      replicationFactor:
  1290                        description: ReplicationFactor represents maximum number of
  1291                          replicas that are allowed to connect to the target
  1292                        format: int64
  1293                        type: integer
  1294                      resources:
  1295                        description: Resources are the compute resources required by
  1296                          the cstor-target container.
  1297                        properties:
  1298                          limits:
  1299                            additionalProperties:
  1300                              anyOf:
  1301                              - type: integer
  1302                              - type: string
  1303                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1304                              x-kubernetes-int-or-string: true
  1305                            description: 'Limits describes the maximum amount of compute
  1306                              resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
  1307                            type: object
  1308                          requests:
  1309                            additionalProperties:
  1310                              anyOf:
  1311                              - type: integer
  1312                              - type: string
  1313                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1314                              x-kubernetes-int-or-string: true
  1315                            description: 'Requests describes the minimum amount of compute
  1316                              resources required. If Requests is omitted for a container,
  1317                              it defaults to Limits if that is explicitly specified,
  1318                              otherwise to an implementation-defined value. More info:
  1319                              https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
  1320                            type: object
  1321                        type: object
  1322                      tolerations:
  1323                        description: Tolerations, if specified, are the target pod's
  1324                          tolerations
  1325                        items:
  1326                          description: The pod this Toleration is attached to tolerates
  1327                            any taint that matches the triple <key,value,effect> using
  1328                            the matching operator <operator>.
  1329                          properties:
  1330                            effect:
  1331                              description: Effect indicates the taint effect to match.
  1332                                Empty means match all taint effects. When specified,
  1333                                allowed values are NoSchedule, PreferNoSchedule and
  1334                                NoExecute.
  1335                              type: string
  1336                            key:
  1337                              description: Key is the taint key that the toleration
  1338                                applies to. Empty means match all taint keys. If the
  1339                                key is empty, operator must be Exists; this combination
  1340                                means to match all values and all keys.
  1341                              type: string
  1342                            operator:
  1343                              description: Operator represents a key's relationship
  1344                                to the value. Valid operators are Exists and Equal.
  1345                                Defaults to Equal. Exists is equivalent to wildcard
  1346                                for value, so that a pod can tolerate all taints of
  1347                                a particular category.
  1348                              type: string
  1349                            tolerationSeconds:
  1350                              description: TolerationSeconds represents the period of
  1351                                time the toleration (which must be of effect NoExecute,
  1352                                otherwise this field is ignored) tolerates the taint.
  1353                                By default, it is not set, which means tolerate the
  1354                                taint forever (do not evict). Zero and negative values
  1355                                will be treated as 0 (evict immediately) by the system.
  1356                              format: int64
  1357                              type: integer
  1358                            value:
  1359                              description: Value is the taint value the toleration matches
  1360                                to. If the operator is Exists, the value should be empty,
  1361                                otherwise just a regular string.
  1362                              type: string
  1363                          type: object
  1364                        type: array
  1365                    type: object
  1366                required:
  1367                - provision
  1368                - replica
  1369                - replicaPoolInfo
  1370                - target
  1371                type: object
  1372              provision:
  1373                description: Provision represents the initial volume configuration for
  1374                  the underlying cstor volume based on the persistent volume request
  1375                  by user. Provision properties are immutable
  1376                properties:
  1377                  capacity:
  1378                    additionalProperties:
  1379                      anyOf:
  1380                      - type: integer
  1381                      - type: string
  1382                      pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1383                      x-kubernetes-int-or-string: true
  1384                    description: Capacity represents initial capacity of volume replica
  1385                      required during volume clone operations to maintain some metadata
  1386                      info related to child resources like snapshot, cloned volumes.
  1387                    type: object
  1388                  replicaCount:
  1389                    description: ReplicaCount represents initial cstor volume replica
  1390                      count, its will not be updated later on based on scale up/down
  1391                      operations, only readonly operations and validations.
  1392                    type: integer
  1393                required:
  1394                - capacity
  1395                - replicaCount
  1396                type: object
  1397            required:
  1398            - capacity
  1399            - policy
  1400            - provision
  1401            type: object
  1402          status:
  1403            description: Status represents the current information/status for the cstor
  1404              volume config, populated by the controller.
  1405            properties:
  1406              capacity:
  1407                additionalProperties:
  1408                  anyOf:
  1409                  - type: integer
  1410                  - type: string
  1411                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1412                  x-kubernetes-int-or-string: true
  1413                description: Capacity the actual resources of the underlying volume.
  1414                type: object
  1415              condition:
  1416                items:
  1417                  description: CStorVolumeConfigCondition contains details about state
  1418                    of cstor volume
  1419                  properties:
  1420                    lastProbeTime:
  1421                      description: Last time we probed the condition.
  1422                      format: date-time
  1423                      type: string
  1424                    lastTransitionTime:
  1425                      description: Last time the condition transitioned from one status
  1426                        to another.
  1427                      format: date-time
  1428                      type: string
  1429                    message:
  1430                      description: Human-readable message indicating details about last
  1431                        transition.
  1432                      type: string
  1433                    reason:
  1434                      description: Reason is a brief CamelCase string that describes
  1435                        any failure
  1436                      type: string
  1437                    type:
  1438                      description: Current Condition of cstor volume config. If underlying
  1439                        persistent volume is being resized then the Condition will be
  1440                        set to 'ResizeStarted' etc
  1441                      type: string
  1442                  required:
  1443                  - message
  1444                  - reason
  1445                  - type
  1446                  type: object
  1447                type: array
  1448              phase:
  1449                description: Phase represents the current phase of CStorVolumeConfig.
  1450                type: string
  1451              poolInfo:
  1452                description: PoolInfo represents current pool names where volume replicas
  1453                  exists
  1454                items:
  1455                  type: string
  1456                type: array
  1457            required:
  1458            - phase
  1459            - poolInfo
  1460            type: object
  1461          versionDetails:
  1462            description: VersionDetails provides the details for upgrade
  1463            properties:
  1464              autoUpgrade:
  1465                description: If AutoUpgrade is set to true then the resource is upgraded
  1466                  automatically without any manual steps
  1467                type: boolean
  1468              desired:
  1469                description: Desired is the version that we want to upgrade or the control
  1470                  plane version
  1471                type: string
  1472              status:
  1473                description: Status gives the status of reconciliation triggered when
  1474                  the desired and current version are not same
  1475                properties:
  1476                  current:
  1477                    description: Current is the version of resource
  1478                    type: string
  1479                  dependentsUpgraded:
  1480                    description: DependentsUpgraded gives the details whether all children
  1481                      of a resource are upgraded to desired version or not
  1482                    type: boolean
  1483                  lastUpdateTime:
  1484                    description: LastUpdateTime is the time the status was last  updated
  1485                    format: date-time
  1486                    type: string
  1487                  message:
  1488                    description: Message is a human readable message if some error occurs
  1489                    type: string
  1490                  reason:
  1491                    description: Reason is the actual reason for the error state
  1492                    type: string
  1493                  state:
  1494                    description: State is the state of reconciliation
  1495                    type: string
  1496                required:
  1497                - current
  1498                - dependentsUpgraded
  1499                - state
  1500                type: object
  1501            required:
  1502            - autoUpgrade
  1503            - desired
  1504            - status
  1505            type: object
  1506        required:
  1507        - spec
  1508        - status
  1509        - versionDetails
  1510        type: object
  1511    version: v1
  1512    versions:
  1513    - name: v1
  1514      served: true
  1515      storage: true
  1516  status:
  1517    acceptedNames:
  1518      kind: ""
  1519      plural: ""
  1520    conditions: []
  1521    storedVersions: []
  1522  
  1523  ---
  1524  apiVersion: apiextensions.k8s.io/v1beta1
  1525  kind: CustomResourceDefinition
  1526  metadata:
  1527    annotations:
  1528      controller-gen.kubebuilder.io/version: v0.2.9
  1529    creationTimestamp: null
  1530    name: cstorvolumepolicies.cstor.openebs.io
  1531  spec:
  1532    group: cstor.openebs.io
  1533    names:
  1534      kind: CStorVolumePolicy
  1535      listKind: CStorVolumePolicyList
  1536      plural: cstorvolumepolicies
  1537      singular: cstorvolumepolicy
  1538    scope: Namespaced
  1539    validation:
  1540      openAPIV3Schema:
  1541        description: CStorVolumePolicy describes a configuration required for cstor
  1542          volume resources
  1543        properties:
  1544          apiVersion:
  1545            description: 'APIVersion defines the versioned schema of this representation
  1546              of an object. Servers should convert recognized schemas to the latest
  1547              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  1548            type: string
  1549          kind:
  1550            description: 'Kind is a string value representing the REST resource this
  1551              object represents. Servers may infer this from the endpoint the client
  1552              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  1553            type: string
  1554          metadata:
  1555            type: object
  1556          spec:
  1557            description: Spec defines a configuration info of a cstor volume required
  1558              to provisione cstor volume resources
  1559            properties:
  1560              provision:
  1561                description: replicaAffinity is set to true then volume replica resources
  1562                  need to be distributed across the pool instances
  1563                properties:
  1564                  blockSize:
  1565                    description: BlockSize is the logical block size in multiple of
  1566                      512 bytes BlockSize specifies the block size of the volume. The
  1567                      blocksize cannot be changed once the volume has been written,
  1568                      so it should be set at volume creation time. The default blocksize
  1569                      for volumes is 4 Kbytes. Any power of 2 from 512 bytes to 128
  1570                      Kbytes is valid.
  1571                    format: int32
  1572                    type: integer
  1573                  replicaAffinity:
  1574                    description: replicaAffinity is set to true then volume replica
  1575                      resources need to be distributed across the cstor pool instances
  1576                      based on the given topology
  1577                    type: boolean
  1578                required:
  1579                - blockSize
  1580                - replicaAffinity
  1581                type: object
  1582              replica:
  1583                description: ReplicaSpec represents configuration related to replicas
  1584                  resources
  1585                properties:
  1586                  compression:
  1587                    description: The zle compression algorithm compresses runs of zeros.
  1588                    type: string
  1589                  zvolWorkers:
  1590                    description: IOWorkers represents number of threads that executes
  1591                      client IOs
  1592                    type: string
  1593                type: object
  1594              replicaPoolInfo:
  1595                description: 'ReplicaPoolInfo holds the pool information of volume replicas.
  1596                  Ex: If volume is provisioned on which CStor pool volume replicas exist'
  1597                items:
  1598                  description: ReplicaPoolInfo represents the pool information of volume
  1599                    replica
  1600                  properties:
  1601                    poolName:
  1602                      description: PoolName represents the pool name where volume replica
  1603                        exists
  1604                      type: string
  1605                  required:
  1606                  - poolName
  1607                  type: object
  1608                type: array
  1609              target:
  1610                description: TargetSpec represents configuration related to cstor target
  1611                  and its resources
  1612                properties:
  1613                  affinity:
  1614                    description: PodAffinity if specified, are the target pod's affinities
  1615                    properties:
  1616                      preferredDuringSchedulingIgnoredDuringExecution:
  1617                        description: The scheduler will prefer to schedule pods to nodes
  1618                          that satisfy the affinity expressions specified by this field,
  1619                          but it may choose a node that violates one or more of the
  1620                          expressions. The node that is most preferred is the one with
  1621                          the greatest sum of weights, i.e. for each node that meets
  1622                          all of the scheduling requirements (resource request, requiredDuringScheduling
  1623                          affinity expressions, etc.), compute a sum by iterating through
  1624                          the elements of this field and adding "weight" to the sum
  1625                          if the node has pods which matches the corresponding podAffinityTerm;
  1626                          the node(s) with the highest sum are the most preferred.
  1627                        items:
  1628                          description: The weights of all of the matched WeightedPodAffinityTerm
  1629                            fields are added per-node to find the most preferred node(s)
  1630                          properties:
  1631                            podAffinityTerm:
  1632                              description: Required. A pod affinity term, associated
  1633                                with the corresponding weight.
  1634                              properties:
  1635                                labelSelector:
  1636                                  description: A label query over a set of resources,
  1637                                    in this case pods.
  1638                                  properties:
  1639                                    matchExpressions:
  1640                                      description: matchExpressions is a list of label
  1641                                        selector requirements. The requirements are
  1642                                        ANDed.
  1643                                      items:
  1644                                        description: A label selector requirement is
  1645                                          a selector that contains values, a key, and
  1646                                          an operator that relates the key and values.
  1647                                        properties:
  1648                                          key:
  1649                                            description: key is the label key that the
  1650                                              selector applies to.
  1651                                            type: string
  1652                                          operator:
  1653                                            description: operator represents a key's
  1654                                              relationship to a set of values. Valid
  1655                                              operators are In, NotIn, Exists and DoesNotExist.
  1656                                            type: string
  1657                                          values:
  1658                                            description: values is an array of string
  1659                                              values. If the operator is In or NotIn,
  1660                                              the values array must be non-empty. If
  1661                                              the operator is Exists or DoesNotExist,
  1662                                              the values array must be empty. This array
  1663                                              is replaced during a strategic merge patch.
  1664                                            items:
  1665                                              type: string
  1666                                            type: array
  1667                                        required:
  1668                                        - key
  1669                                        - operator
  1670                                        type: object
  1671                                      type: array
  1672                                    matchLabels:
  1673                                      additionalProperties:
  1674                                        type: string
  1675                                      description: matchLabels is a map of {key,value}
  1676                                        pairs. A single {key,value} in the matchLabels
  1677                                        map is equivalent to an element of matchExpressions,
  1678                                        whose key field is "key", the operator is "In",
  1679                                        and the values array contains only "value".
  1680                                        The requirements are ANDed.
  1681                                      type: object
  1682                                  type: object
  1683                                namespaces:
  1684                                  description: namespaces specifies which namespaces
  1685                                    the labelSelector applies to (matches against);
  1686                                    null or empty list means "this pod's namespace"
  1687                                  items:
  1688                                    type: string
  1689                                  type: array
  1690                                topologyKey:
  1691                                  description: This pod should be co-located (affinity)
  1692                                    or not co-located (anti-affinity) with the pods
  1693                                    matching the labelSelector in the specified namespaces,
  1694                                    where co-located is defined as running on a node
  1695                                    whose value of the label with key topologyKey matches
  1696                                    that of any node on which any of the selected pods
  1697                                    is running. Empty topologyKey is not allowed.
  1698                                  type: string
  1699                              required:
  1700                              - topologyKey
  1701                              type: object
  1702                            weight:
  1703                              description: weight associated with matching the corresponding
  1704                                podAffinityTerm, in the range 1-100.
  1705                              format: int32
  1706                              type: integer
  1707                          required:
  1708                          - podAffinityTerm
  1709                          - weight
  1710                          type: object
  1711                        type: array
  1712                      requiredDuringSchedulingIgnoredDuringExecution:
  1713                        description: If the affinity requirements specified by this
  1714                          field are not met at scheduling time, the pod will not be
  1715                          scheduled onto the node. If the affinity requirements specified
  1716                          by this field cease to be met at some point during pod execution
  1717                          (e.g. due to a pod label update), the system may or may not
  1718                          try to eventually evict the pod from its node. When there
  1719                          are multiple elements, the lists of nodes corresponding to
  1720                          each podAffinityTerm are intersected, i.e. all terms must
  1721                          be satisfied.
  1722                        items:
  1723                          description: Defines a set of pods (namely those matching
  1724                            the labelSelector relative to the given namespace(s)) that
  1725                            this pod should be co-located (affinity) or not co-located
  1726                            (anti-affinity) with, where co-located is defined as running
  1727                            on a node whose value of the label with key <topologyKey>
  1728                            matches that of any node on which a pod of the set of pods
  1729                            is running
  1730                          properties:
  1731                            labelSelector:
  1732                              description: A label query over a set of resources, in
  1733                                this case pods.
  1734                              properties:
  1735                                matchExpressions:
  1736                                  description: matchExpressions is a list of label selector
  1737                                    requirements. The requirements are ANDed.
  1738                                  items:
  1739                                    description: A label selector requirement is a selector
  1740                                      that contains values, a key, and an operator that
  1741                                      relates the key and values.
  1742                                    properties:
  1743                                      key:
  1744                                        description: key is the label key that the selector
  1745                                          applies to.
  1746                                        type: string
  1747                                      operator:
  1748                                        description: operator represents a key's relationship
  1749                                          to a set of values. Valid operators are In,
  1750                                          NotIn, Exists and DoesNotExist.
  1751                                        type: string
  1752                                      values:
  1753                                        description: values is an array of string values.
  1754                                          If the operator is In or NotIn, the values
  1755                                          array must be non-empty. If the operator is
  1756                                          Exists or DoesNotExist, the values array must
  1757                                          be empty. This array is replaced during a
  1758                                          strategic merge patch.
  1759                                        items:
  1760                                          type: string
  1761                                        type: array
  1762                                    required:
  1763                                    - key
  1764                                    - operator
  1765                                    type: object
  1766                                  type: array
  1767                                matchLabels:
  1768                                  additionalProperties:
  1769                                    type: string
  1770                                  description: matchLabels is a map of {key,value} pairs.
  1771                                    A single {key,value} in the matchLabels map is equivalent
  1772                                    to an element of matchExpressions, whose key field
  1773                                    is "key", the operator is "In", and the values array
  1774                                    contains only "value". The requirements are ANDed.
  1775                                  type: object
  1776                              type: object
  1777                            namespaces:
  1778                              description: namespaces specifies which namespaces the
  1779                                labelSelector applies to (matches against); null or
  1780                                empty list means "this pod's namespace"
  1781                              items:
  1782                                type: string
  1783                              type: array
  1784                            topologyKey:
  1785                              description: This pod should be co-located (affinity)
  1786                                or not co-located (anti-affinity) with the pods matching
  1787                                the labelSelector in the specified namespaces, where
  1788                                co-located is defined as running on a node whose value
  1789                                of the label with key topologyKey matches that of any
  1790                                node on which any of the selected pods is running. Empty
  1791                                topologyKey is not allowed.
  1792                              type: string
  1793                          required:
  1794                          - topologyKey
  1795                          type: object
  1796                        type: array
  1797                    type: object
  1798                  auxResources:
  1799                    description: AuxResources are the compute resources required by
  1800                      the cstor-target pod side car containers.
  1801                    properties:
  1802                      limits:
  1803                        additionalProperties:
  1804                          anyOf:
  1805                          - type: integer
  1806                          - type: string
  1807                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1808                          x-kubernetes-int-or-string: true
  1809                        description: 'Limits describes the maximum amount of compute
  1810                          resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
  1811                        type: object
  1812                      requests:
  1813                        additionalProperties:
  1814                          anyOf:
  1815                          - type: integer
  1816                          - type: string
  1817                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1818                          x-kubernetes-int-or-string: true
  1819                        description: 'Requests describes the minimum amount of compute
  1820                          resources required. If Requests is omitted for a container,
  1821                          it defaults to Limits if that is explicitly specified, otherwise
  1822                          to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
  1823                        type: object
  1824                    type: object
  1825                  luWorkers:
  1826                    description: IOWorkers sets the number of threads that are working
  1827                      on above queue
  1828                    format: int64
  1829                    type: integer
  1830                  monitor:
  1831                    description: Monitor enables or disables the target exporter sidecar
  1832                    type: boolean
  1833                  nodeSelector:
  1834                    additionalProperties:
  1835                      type: string
  1836                    description: NodeSelector is the labels that will be used to select
  1837                      a node for target pod scheduleing Required field
  1838                    type: object
  1839                  priorityClassName:
  1840                    description: PriorityClassName if specified applies to this target
  1841                      pod If left empty, no priority class is applied.
  1842                    type: string
  1843                  queueDepth:
  1844                    description: QueueDepth sets the queue size at iSCSI target which
  1845                      limits the ongoing IO count from client
  1846                    type: string
  1847                  replicationFactor:
  1848                    description: ReplicationFactor represents maximum number of replicas
  1849                      that are allowed to connect to the target
  1850                    format: int64
  1851                    type: integer
  1852                  resources:
  1853                    description: Resources are the compute resources required by the
  1854                      cstor-target container.
  1855                    properties:
  1856                      limits:
  1857                        additionalProperties:
  1858                          anyOf:
  1859                          - type: integer
  1860                          - type: string
  1861                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1862                          x-kubernetes-int-or-string: true
  1863                        description: 'Limits describes the maximum amount of compute
  1864                          resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
  1865                        type: object
  1866                      requests:
  1867                        additionalProperties:
  1868                          anyOf:
  1869                          - type: integer
  1870                          - type: string
  1871                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1872                          x-kubernetes-int-or-string: true
  1873                        description: 'Requests describes the minimum amount of compute
  1874                          resources required. If Requests is omitted for a container,
  1875                          it defaults to Limits if that is explicitly specified, otherwise
  1876                          to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
  1877                        type: object
  1878                    type: object
  1879                  tolerations:
  1880                    description: Tolerations, if specified, are the target pod's tolerations
  1881                    items:
  1882                      description: The pod this Toleration is attached to tolerates
  1883                        any taint that matches the triple <key,value,effect> using the
  1884                        matching operator <operator>.
  1885                      properties:
  1886                        effect:
  1887                          description: Effect indicates the taint effect to match. Empty
  1888                            means match all taint effects. When specified, allowed values
  1889                            are NoSchedule, PreferNoSchedule and NoExecute.
  1890                          type: string
  1891                        key:
  1892                          description: Key is the taint key that the toleration applies
  1893                            to. Empty means match all taint keys. If the key is empty,
  1894                            operator must be Exists; this combination means to match
  1895                            all values and all keys.
  1896                          type: string
  1897                        operator:
  1898                          description: Operator represents a key's relationship to the
  1899                            value. Valid operators are Exists and Equal. Defaults to
  1900                            Equal. Exists is equivalent to wildcard for value, so that
  1901                            a pod can tolerate all taints of a particular category.
  1902                          type: string
  1903                        tolerationSeconds:
  1904                          description: TolerationSeconds represents the period of time
  1905                            the toleration (which must be of effect NoExecute, otherwise
  1906                            this field is ignored) tolerates the taint. By default,
  1907                            it is not set, which means tolerate the taint forever (do
  1908                            not evict). Zero and negative values will be treated as
  1909                            0 (evict immediately) by the system.
  1910                          format: int64
  1911                          type: integer
  1912                        value:
  1913                          description: Value is the taint value the toleration matches
  1914                            to. If the operator is Exists, the value should be empty,
  1915                            otherwise just a regular string.
  1916                          type: string
  1917                      type: object
  1918                    type: array
  1919                type: object
  1920            required:
  1921            - provision
  1922            - replica
  1923            - replicaPoolInfo
  1924            - target
  1925            type: object
  1926          status:
  1927            description: CStorVolumePolicyStatus is for handling status of CstorVolumePolicy
  1928            properties:
  1929              phase:
  1930                type: string
  1931            required:
  1932            - phase
  1933            type: object
  1934        required:
  1935        - spec
  1936        - status
  1937        type: object
  1938    version: v1
  1939    versions:
  1940    - name: v1
  1941      served: true
  1942      storage: true
  1943  status:
  1944    acceptedNames:
  1945      kind: ""
  1946      plural: ""
  1947    conditions: []
  1948    storedVersions: []
  1949  
  1950  ---
  1951  apiVersion: apiextensions.k8s.io/v1beta1
  1952  kind: CustomResourceDefinition
  1953  metadata:
  1954    annotations:
  1955      controller-gen.kubebuilder.io/version: v0.2.9
  1956    creationTimestamp: null
  1957    name: cstorvolumereplicas.cstor.openebs.io
  1958  spec:
  1959    group: cstor.openebs.io
  1960    names:
  1961      kind: CStorVolumeReplica
  1962      listKind: CStorVolumeReplicaList
  1963      plural: cstorvolumereplicas
  1964      singular: cstorvolumereplica
  1965    scope: Namespaced
  1966    validation:
  1967      openAPIV3Schema:
  1968        description: CStorVolumeReplica describes a cstor volume resource created as
  1969          custom resource
  1970        properties:
  1971          apiVersion:
  1972            description: 'APIVersion defines the versioned schema of this representation
  1973              of an object. Servers should convert recognized schemas to the latest
  1974              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  1975            type: string
  1976          kind:
  1977            description: 'Kind is a string value representing the REST resource this
  1978              object represents. Servers may infer this from the endpoint the client
  1979              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  1980            type: string
  1981          metadata:
  1982            type: object
  1983          spec:
  1984            description: CStorVolumeReplicaSpec is the spec for a CStorVolumeReplica
  1985              resource
  1986            properties:
  1987              blockSize:
  1988                description: BlockSize is the logical block size in multiple of 512
  1989                  bytes BlockSize specifies the block size of the volume. The blocksize
  1990                  cannot be changed once the volume has been written, so it should be
  1991                  set at volume creation time. The default blocksize for volumes is
  1992                  4 Kbytes. Any power of 2 from 512 bytes to 128 Kbytes is valid.
  1993                format: int32
  1994                type: integer
  1995              capacity:
  1996                description: Represents the actual capacity of the underlying volume
  1997                type: string
  1998              compression:
  1999                description: 'Controls the compression algorithm used for this volumes
  2000                  examples: on|off|gzip|gzip-N|lz4|lzjb|zle'
  2001                type: string
  2002              replicaid:
  2003                description: ReplicaID is unique number to identify the replica
  2004                type: string
  2005              targetIP:
  2006                description: TargetIP represents iscsi target IP through which replica
  2007                  cummunicates IO workloads and other volume operations like snapshot
  2008                  and resize requests
  2009                type: string
  2010              zvolWorkers:
  2011                description: ZvolWorkers represents number of threads that executes
  2012                  client IOs
  2013                type: string
  2014            required:
  2015            - blockSize
  2016            - capacity
  2017            - compression
  2018            - replicaid
  2019            - targetIP
  2020            - zvolWorkers
  2021            type: object
  2022          status:
  2023            description: CStorVolumeReplicaStatus is for handling status of cvr.
  2024            properties:
  2025              capacity:
  2026                description: CStorVolumeCapacityDetails represents capacity info of
  2027                  replica
  2028                properties:
  2029                  total:
  2030                    description: The amount of space consumed by this volume replica
  2031                      and all its descendents
  2032                    type: string
  2033                  used:
  2034                    description: The amount of space that is "logically" accessible
  2035                      by this dataset. The logical space ignores the effect of the compression
  2036                      and copies properties, giving a quantity closer to the amount
  2037                      of data that applications see.  However, it does include space
  2038                      consumed by metadata
  2039                    type: string
  2040                required:
  2041                - total
  2042                - used
  2043                type: object
  2044              lastTransitionTime:
  2045                description: LastTransitionTime refers to the time when the phase changes
  2046                format: date-time
  2047                type: string
  2048              lastUpdateTime:
  2049                description: The last updated time
  2050                format: date-time
  2051                type: string
  2052              message:
  2053                description: A human readable message indicating details about the transition.
  2054                type: string
  2055              pendingSnapshots:
  2056                additionalProperties:
  2057                  description: CStorSnapshotInfo represents the snapshot information
  2058                    related to particular snapshot
  2059                  properties:
  2060                    logicalReferenced:
  2061                      description: LogicalReferenced describes the amount of space that
  2062                        is "logically" accessable by this snapshot. This logical space
  2063                        ignores the effect of the compression and copies properties,
  2064                        giving a quantity closer to the amount of data that application
  2065                        see. It also includes space consumed by metadata.
  2066                      format: int64
  2067                      type: integer
  2068                    used:
  2069                      description: Used is the used bytes for given snapshot
  2070                      format: int64
  2071                      type: integer
  2072                  required:
  2073                  - logicalReferenced
  2074                  - used
  2075                  type: object
  2076                description: PendingSnapshots contains list of pending snapshots that
  2077                  are not yet available on this replica
  2078                type: object
  2079              phase:
  2080                description: CStorVolumeReplicaPhase is to holds different phases of
  2081                  replica
  2082                type: string
  2083              snapshots:
  2084                additionalProperties:
  2085                  description: CStorSnapshotInfo represents the snapshot information
  2086                    related to particular snapshot
  2087                  properties:
  2088                    logicalReferenced:
  2089                      description: LogicalReferenced describes the amount of space that
  2090                        is "logically" accessable by this snapshot. This logical space
  2091                        ignores the effect of the compression and copies properties,
  2092                        giving a quantity closer to the amount of data that application
  2093                        see. It also includes space consumed by metadata.
  2094                      format: int64
  2095                      type: integer
  2096                    used:
  2097                      description: Used is the used bytes for given snapshot
  2098                      format: int64
  2099                      type: integer
  2100                  required:
  2101                  - logicalReferenced
  2102                  - used
  2103                  type: object
  2104                description: Snapshots contains list of snapshots, and their properties,
  2105                  created on CVR
  2106                type: object
  2107            required:
  2108            - capacity
  2109            - phase
  2110            type: object
  2111          versionDetails:
  2112            description: VersionDetails provides the details for upgrade
  2113            properties:
  2114              autoUpgrade:
  2115                description: If AutoUpgrade is set to true then the resource is upgraded
  2116                  automatically without any manual steps
  2117                type: boolean
  2118              desired:
  2119                description: Desired is the version that we want to upgrade or the control
  2120                  plane version
  2121                type: string
  2122              status:
  2123                description: Status gives the status of reconciliation triggered when
  2124                  the desired and current version are not same
  2125                properties:
  2126                  current:
  2127                    description: Current is the version of resource
  2128                    type: string
  2129                  dependentsUpgraded:
  2130                    description: DependentsUpgraded gives the details whether all children
  2131                      of a resource are upgraded to desired version or not
  2132                    type: boolean
  2133                  lastUpdateTime:
  2134                    description: LastUpdateTime is the time the status was last  updated
  2135                    format: date-time
  2136                    type: string
  2137                  message:
  2138                    description: Message is a human readable message if some error occurs
  2139                    type: string
  2140                  reason:
  2141                    description: Reason is the actual reason for the error state
  2142                    type: string
  2143                  state:
  2144                    description: State is the state of reconciliation
  2145                    type: string
  2146                required:
  2147                - current
  2148                - dependentsUpgraded
  2149                - state
  2150                type: object
  2151            required:
  2152            - autoUpgrade
  2153            - desired
  2154            - status
  2155            type: object
  2156        required:
  2157        - spec
  2158        - status
  2159        - versionDetails
  2160        type: object
  2161    version: v1
  2162    versions:
  2163    - name: v1
  2164      served: true
  2165      storage: true
  2166  status:
  2167    acceptedNames:
  2168      kind: ""
  2169      plural: ""
  2170    conditions: []
  2171    storedVersions: []
  2172  
  2173  ---
  2174  apiVersion: apiextensions.k8s.io/v1beta1
  2175  kind: CustomResourceDefinition
  2176  metadata:
  2177    annotations:
  2178      controller-gen.kubebuilder.io/version: v0.2.9
  2179    creationTimestamp: null
  2180    name: cstorvolumes.cstor.openebs.io
  2181  spec:
  2182    group: cstor.openebs.io
  2183    names:
  2184      kind: CStorVolume
  2185      listKind: CStorVolumeList
  2186      plural: cstorvolumes
  2187      singular: cstorvolume
  2188    scope: Namespaced
  2189    validation:
  2190      openAPIV3Schema:
  2191        description: CStorVolume describes a cstor volume resource created as custom
  2192          resource
  2193        properties:
  2194          apiVersion:
  2195            description: 'APIVersion defines the versioned schema of this representation
  2196              of an object. Servers should convert recognized schemas to the latest
  2197              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  2198            type: string
  2199          kind:
  2200            description: 'Kind is a string value representing the REST resource this
  2201              object represents. Servers may infer this from the endpoint the client
  2202              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  2203            type: string
  2204          metadata:
  2205            type: object
  2206          spec:
  2207            description: CStorVolumeSpec is the spec for a CStorVolume resource
  2208            properties:
  2209              capacity:
  2210                anyOf:
  2211                - type: integer
  2212                - type: string
  2213                description: Capacity represents the desired size of the underlying
  2214                  volume.
  2215                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  2216                x-kubernetes-int-or-string: true
  2217              consistencyFactor:
  2218                description: ConsistencyFactor is minimum number of volume replicas
  2219                  i.e. `RF/2 + 1` has to be connected to the target for write operations.
  2220                  Basically more then 50% of replica has to be connected to target.
  2221                type: integer
  2222              desiredReplicationFactor:
  2223                description: DesiredReplicationFactor represents maximum number of replicas
  2224                  that are allowed to connect to the target. Required for scale operations
  2225                type: integer
  2226              iqn:
  2227                description: Target iSCSI Qualified Name.combination of nodeBase
  2228                type: string
  2229              replicaDetails:
  2230                description: ReplicaDetails refers to the trusty replica information
  2231                properties:
  2232                  knownReplicas:
  2233                    additionalProperties:
  2234                      type: string
  2235                    description: KnownReplicas represents the replicas that target can
  2236                      trust to read data
  2237                    type: object
  2238                type: object
  2239              replicationFactor:
  2240                description: ReplicationFactor represents number of volume replica created
  2241                  during volume provisioning connect to the target
  2242                type: integer
  2243              targetIP:
  2244                description: TargetIP IP of the iSCSI target service
  2245                type: string
  2246              targetPort:
  2247                description: iSCSI Target Port typically TCP ports 3260
  2248                type: string
  2249              targetPortal:
  2250                description: iSCSI Target Portal. The Portal is combination of IP:port
  2251                  (typically TCP ports 3260)
  2252                type: string
  2253            required:
  2254            - capacity
  2255            - consistencyFactor
  2256            - desiredReplicationFactor
  2257            - iqn
  2258            - replicationFactor
  2259            - targetIP
  2260            - targetPort
  2261            - targetPortal
  2262            type: object
  2263          status:
  2264            description: CStorVolumeStatus is for handling status of cvr.
  2265            properties:
  2266              capacity:
  2267                anyOf:
  2268                - type: integer
  2269                - type: string
  2270                description: Represents the actual capacity of the underlying volume.
  2271                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  2272                x-kubernetes-int-or-string: true
  2273              conditions:
  2274                description: Current Condition of cstorvolume. If underlying persistent
  2275                  volume is being resized then the Condition will be set to 'ResizePending'.
  2276                items:
  2277                  description: CStorVolumeCondition contains details about state of
  2278                    cstorvolume
  2279                  properties:
  2280                    lastProbeTime:
  2281                      description: Last time we probed the condition.
  2282                      format: date-time
  2283                      type: string
  2284                    lastTransitionTime:
  2285                      description: Last time the condition transitioned from one status
  2286                        to another.
  2287                      format: date-time
  2288                      type: string
  2289                    message:
  2290                      description: Human-readable message indicating details about last
  2291                        transition.
  2292                      type: string
  2293                    reason:
  2294                      description: Unique, this should be a short, machine understandable
  2295                        string that gives the reason for condition's last transition.
  2296                        If it reports "ResizePending" that means the underlying cstorvolume
  2297                        is being resized.
  2298                      type: string
  2299                    status:
  2300                      description: ConditionStatus states in which state condition is
  2301                        present
  2302                      type: string
  2303                    type:
  2304                      description: CStorVolumeConditionType is a valid value of CStorVolumeCondition.Type
  2305                      type: string
  2306                  required:
  2307                  - status
  2308                  - type
  2309                  type: object
  2310                type: array
  2311              lastTransitionTime:
  2312                description: LastTransitionTime refers to the time when the phase changes
  2313                format: date-time
  2314                type: string
  2315              lastUpdateTime:
  2316                description: LastUpdateTime refers to the time when last status updated
  2317                  due to any operations
  2318                format: date-time
  2319                type: string
  2320              message:
  2321                description: A human-readable message indicating details about why the
  2322                  volume is in this state.
  2323                type: string
  2324              phase:
  2325                description: CStorVolumePhase is to hold result of action.
  2326                type: string
  2327              replicaDetails:
  2328                description: ReplicaDetails refers to the trusty replica information
  2329                properties:
  2330                  knownReplicas:
  2331                    additionalProperties:
  2332                      type: string
  2333                    description: KnownReplicas represents the replicas that target can
  2334                      trust to read data
  2335                    type: object
  2336                type: object
  2337              replicaStatuses:
  2338                items:
  2339                  description: ReplicaStatus stores the status of replicas
  2340                  properties:
  2341                    checkpointedIOSeq:
  2342                      description: Represents IO number of replica persisted on the
  2343                        disk
  2344                      type: string
  2345                    inflightRead:
  2346                      description: Ongoing reads I/O from target to replica
  2347                      type: string
  2348                    inflightSync:
  2349                      description: Ongoing sync I/O from target to replica
  2350                      type: string
  2351                    inflightWrite:
  2352                      description: ongoing writes I/O from target to replica
  2353                      type: string
  2354                    mode:
  2355                      description: Mode represents replica status i.e. Healthy, Degraded
  2356                      type: string
  2357                    quorum:
  2358                      description: 'Quorum indicates wheather data wrtitten to the replica
  2359                        is lost or exists. "0" means: data has been lost( might be ephimeral
  2360                        case) and will recostruct data from other Healthy replicas in
  2361                        a write-only mode 1 means: written data is exists on replica'
  2362                      type: string
  2363                    replicaId:
  2364                      description: ID is replica unique identifier
  2365                      type: string
  2366                    upTime:
  2367                      description: time since the replica connected to target
  2368                      type: integer
  2369                  required:
  2370                  - checkpointedIOSeq
  2371                  - inflightRead
  2372                  - inflightSync
  2373                  - inflightWrite
  2374                  - mode
  2375                  - quorum
  2376                  - replicaId
  2377                  - upTime
  2378                  type: object
  2379                type: array
  2380            required:
  2381            - phase
  2382            type: object
  2383          versionDetails:
  2384            description: VersionDetails provides the details for upgrade
  2385            properties:
  2386              autoUpgrade:
  2387                description: If AutoUpgrade is set to true then the resource is upgraded
  2388                  automatically without any manual steps
  2389                type: boolean
  2390              desired:
  2391                description: Desired is the version that we want to upgrade or the control
  2392                  plane version
  2393                type: string
  2394              status:
  2395                description: Status gives the status of reconciliation triggered when
  2396                  the desired and current version are not same
  2397                properties:
  2398                  current:
  2399                    description: Current is the version of resource
  2400                    type: string
  2401                  dependentsUpgraded:
  2402                    description: DependentsUpgraded gives the details whether all children
  2403                      of a resource are upgraded to desired version or not
  2404                    type: boolean
  2405                  lastUpdateTime:
  2406                    description: LastUpdateTime is the time the status was last  updated
  2407                    format: date-time
  2408                    type: string
  2409                  message:
  2410                    description: Message is a human readable message if some error occurs
  2411                    type: string
  2412                  reason:
  2413                    description: Reason is the actual reason for the error state
  2414                    type: string
  2415                  state:
  2416                    description: State is the state of reconciliation
  2417                    type: string
  2418                required:
  2419                - current
  2420                - dependentsUpgraded
  2421                - state
  2422                type: object
  2423            required:
  2424            - autoUpgrade
  2425            - desired
  2426            - status
  2427            type: object
  2428        required:
  2429        - spec
  2430        - status
  2431        - versionDetails
  2432        type: object
  2433    version: v1
  2434    versions:
  2435    - name: v1
  2436      served: true
  2437      storage: true
  2438  status:
  2439    acceptedNames:
  2440      kind: ""
  2441      plural: ""
  2442    conditions: []
  2443    storedVersions: []