github.com/openebs/api@v1.12.0/config/crds/bases/cstor.openebs.io_cstorpoolclusters.yaml (about)

     1  
     2  ---
     3  apiVersion: apiextensions.k8s.io/v1beta1
     4  kind: CustomResourceDefinition
     5  metadata:
     6    annotations:
     7      controller-gen.kubebuilder.io/version: v0.2.9
     8    creationTimestamp: null
     9    name: cstorpoolclusters.cstor.openebs.io
    10  spec:
    11    group: cstor.openebs.io
    12    names:
    13      kind: CStorPoolCluster
    14      listKind: CStorPoolClusterList
    15      plural: cstorpoolclusters
    16      singular: cstorpoolcluster
    17    scope: Namespaced
    18    validation:
    19      openAPIV3Schema:
    20        description: CStorPoolCluster describes a CStorPoolCluster custom resource.
    21        properties:
    22          apiVersion:
    23            description: 'APIVersion defines the versioned schema of this representation
    24              of an object. Servers should convert recognized schemas to the latest
    25              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
    26            type: string
    27          kind:
    28            description: 'Kind is a string value representing the REST resource this
    29              object represents. Servers may infer this from the endpoint the client
    30              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
    31            type: string
    32          metadata:
    33            type: object
    34          spec:
    35            description: CStorPoolClusterSpec is the spec for a CStorPoolClusterSpec
    36              resource
    37            properties:
    38              auxResources:
    39                description: AuxResources are the compute resources required by the
    40                  cstor-pool pod side car containers.
    41                properties:
    42                  limits:
    43                    additionalProperties:
    44                      anyOf:
    45                      - type: integer
    46                      - type: string
    47                      pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
    48                      x-kubernetes-int-or-string: true
    49                    description: 'Limits describes the maximum amount of compute resources
    50                      allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
    51                    type: object
    52                  requests:
    53                    additionalProperties:
    54                      anyOf:
    55                      - type: integer
    56                      - type: string
    57                      pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
    58                      x-kubernetes-int-or-string: true
    59                    description: 'Requests describes the minimum amount of compute resources
    60                      required. If Requests is omitted for a container, it defaults
    61                      to Limits if that is explicitly specified, otherwise to an implementation-defined
    62                      value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
    63                    type: object
    64                type: object
    65              pools:
    66                description: Pools is the spec for pools for various nodes where it
    67                  should be created.
    68                items:
    69                  description: PoolSpec is the spec for pool on node where it should
    70                    be created.
    71                  properties:
    72                    dataRaidGroups:
    73                      description: DataRaidGroups is the raid group configuration for
    74                        the given pool.
    75                      items:
    76                        description: RaidGroup contains the details of a raid group
    77                          for the pool
    78                        properties:
    79                          blockDevices:
    80                            items:
    81                              description: CStorPoolInstanceBlockDevice contains the
    82                                details of block devices that constitutes a raid group.
    83                              properties:
    84                                blockDeviceName:
    85                                  description: BlockDeviceName is the name of the block
    86                                    device.
    87                                  type: string
    88                                capacity:
    89                                  description: Capacity is the capacity of the block
    90                                    device. It is system generated
    91                                  format: int64
    92                                  type: integer
    93                                devLink:
    94                                  description: DevLink is the dev link for block devices
    95                                  type: string
    96                              required:
    97                              - blockDeviceName
    98                              - capacity
    99                              - devLink
   100                              type: object
   101                            type: array
   102                        required:
   103                        - blockDevices
   104                        type: object
   105                      type: array
   106                    nodeSelector:
   107                      additionalProperties:
   108                        type: string
   109                      description: NodeSelector is the labels that will be used to select
   110                        a node for pool provisioning. Required field
   111                      type: object
   112                    poolConfig:
   113                      description: PoolConfig is the default pool config that applies
   114                        to the pool on node.
   115                      properties:
   116                        auxResources:
   117                          description: AuxResources are the compute resources required
   118                            by the cstor-pool pod side car containers.
   119                          properties:
   120                            limits:
   121                              additionalProperties:
   122                                anyOf:
   123                                - type: integer
   124                                - type: string
   125                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   126                                x-kubernetes-int-or-string: true
   127                              description: 'Limits describes the maximum amount of compute
   128                                resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
   129                              type: object
   130                            requests:
   131                              additionalProperties:
   132                                anyOf:
   133                                - type: integer
   134                                - type: string
   135                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   136                                x-kubernetes-int-or-string: true
   137                              description: 'Requests describes the minimum amount of
   138                                compute resources required. If Requests is omitted for
   139                                a container, it defaults to Limits if that is explicitly
   140                                specified, otherwise to an implementation-defined value.
   141                                More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
   142                              type: object
   143                          type: object
   144                        compression:
   145                          description: 'Compression to enable compression Optional --
   146                            defaults to off Possible values : lz, off'
   147                          type: string
   148                        dataRaidGroupType:
   149                          description: DataRaidGroupType is the  raid type.
   150                          type: string
   151                        priorityClassName:
   152                          description: PriorityClassName if specified applies to this
   153                            pool pod If left empty, DefaultPriorityClassName is applied.
   154                            (See CStorPoolClusterSpec.DefaultPriorityClassName) If both
   155                            are empty, not priority class is applied.
   156                          type: string
   157                        resources:
   158                          description: Resources are the compute resources required
   159                            by the cstor-pool container.
   160                          properties:
   161                            limits:
   162                              additionalProperties:
   163                                anyOf:
   164                                - type: integer
   165                                - type: string
   166                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   167                                x-kubernetes-int-or-string: true
   168                              description: 'Limits describes the maximum amount of compute
   169                                resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
   170                              type: object
   171                            requests:
   172                              additionalProperties:
   173                                anyOf:
   174                                - type: integer
   175                                - type: string
   176                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   177                                x-kubernetes-int-or-string: true
   178                              description: 'Requests describes the minimum amount of
   179                                compute resources required. If Requests is omitted for
   180                                a container, it defaults to Limits if that is explicitly
   181                                specified, otherwise to an implementation-defined value.
   182                                More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
   183                              type: object
   184                          type: object
   185                        roThresholdLimit:
   186                          description: 'ROThresholdLimit is threshold(percentage base)
   187                            limit for pool read only mode. If ROThresholdLimit(%) amount
   188                            of pool storage is reached then pool will set to readonly.
   189                            NOTE: 1. If ROThresholdLimit is set to 100 then entire    pool
   190                            storage will be used by default it will be set to 85%. 2.
   191                            ROThresholdLimit value will be 0 <= ROThresholdLimit <=
   192                            100.'
   193                          type: integer
   194                        thickProvision:
   195                          description: ThickProvision to enable thick provisioning Optional
   196                            -- defaults to false
   197                          type: boolean
   198                        tolerations:
   199                          description: Tolerations, if specified, the pool pod's tolerations.
   200                          items:
   201                            description: The pod this Toleration is attached to tolerates
   202                              any taint that matches the triple <key,value,effect> using
   203                              the matching operator <operator>.
   204                            properties:
   205                              effect:
   206                                description: Effect indicates the taint effect to match.
   207                                  Empty means match all taint effects. When specified,
   208                                  allowed values are NoSchedule, PreferNoSchedule and
   209                                  NoExecute.
   210                                type: string
   211                              key:
   212                                description: Key is the taint key that the toleration
   213                                  applies to. Empty means match all taint keys. If the
   214                                  key is empty, operator must be Exists; this combination
   215                                  means to match all values and all keys.
   216                                type: string
   217                              operator:
   218                                description: Operator represents a key's relationship
   219                                  to the value. Valid operators are Exists and Equal.
   220                                  Defaults to Equal. Exists is equivalent to wildcard
   221                                  for value, so that a pod can tolerate all taints of
   222                                  a particular category.
   223                                type: string
   224                              tolerationSeconds:
   225                                description: TolerationSeconds represents the period
   226                                  of time the toleration (which must be of effect NoExecute,
   227                                  otherwise this field is ignored) tolerates the taint.
   228                                  By default, it is not set, which means tolerate the
   229                                  taint forever (do not evict). Zero and negative values
   230                                  will be treated as 0 (evict immediately) by the system.
   231                                format: int64
   232                                type: integer
   233                              value:
   234                                description: Value is the taint value the toleration
   235                                  matches to. If the operator is Exists, the value should
   236                                  be empty, otherwise just a regular string.
   237                                type: string
   238                            type: object
   239                          type: array
   240                        writeCacheGroupType:
   241                          description: WriteCacheGroupType is the write cache raid type.
   242                          type: string
   243                      required:
   244                      - auxResources
   245                      - compression
   246                      - dataRaidGroupType
   247                      - priorityClassName
   248                      - resources
   249                      - roThresholdLimit
   250                      - thickProvision
   251                      - tolerations
   252                      - writeCacheGroupType
   253                      type: object
   254                    writeCacheRaidGroups:
   255                      description: WriteCacheRaidGroups is the write cache raid group.
   256                      items:
   257                        description: RaidGroup contains the details of a raid group
   258                          for the pool
   259                        properties:
   260                          blockDevices:
   261                            items:
   262                              description: CStorPoolInstanceBlockDevice contains the
   263                                details of block devices that constitutes a raid group.
   264                              properties:
   265                                blockDeviceName:
   266                                  description: BlockDeviceName is the name of the block
   267                                    device.
   268                                  type: string
   269                                capacity:
   270                                  description: Capacity is the capacity of the block
   271                                    device. It is system generated
   272                                  format: int64
   273                                  type: integer
   274                                devLink:
   275                                  description: DevLink is the dev link for block devices
   276                                  type: string
   277                              required:
   278                              - blockDeviceName
   279                              - capacity
   280                              - devLink
   281                              type: object
   282                            type: array
   283                        required:
   284                        - blockDevices
   285                        type: object
   286                      type: array
   287                  required:
   288                  - dataRaidGroups
   289                  - nodeSelector
   290                  - poolConfig
   291                  - writeCacheRaidGroups
   292                  type: object
   293                type: array
   294              priorityClassName:
   295                description: DefaultPriorityClassName if specified applies to all the
   296                  pool pods in the pool spec if the priorityClass at the pool level
   297                  is not specified.
   298                type: string
   299              resources:
   300                description: DefaultResources are the compute resources required by
   301                  the cstor-pool container. If the resources at PoolConfig is not specified,
   302                  this is written to CSPI PoolConfig.
   303                properties:
   304                  limits:
   305                    additionalProperties:
   306                      anyOf:
   307                      - type: integer
   308                      - type: string
   309                      pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   310                      x-kubernetes-int-or-string: true
   311                    description: 'Limits describes the maximum amount of compute resources
   312                      allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
   313                    type: object
   314                  requests:
   315                    additionalProperties:
   316                      anyOf:
   317                      - type: integer
   318                      - type: string
   319                      pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   320                      x-kubernetes-int-or-string: true
   321                    description: 'Requests describes the minimum amount of compute resources
   322                      required. If Requests is omitted for a container, it defaults
   323                      to Limits if that is explicitly specified, otherwise to an implementation-defined
   324                      value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
   325                    type: object
   326                type: object
   327              tolerations:
   328                description: Tolerations, if specified, are the pool pod's tolerations
   329                  If tolerations at PoolConfig is empty, this is written to CSPI PoolConfig.
   330                items:
   331                  description: The pod this Toleration is attached to tolerates any
   332                    taint that matches the triple <key,value,effect> using the matching
   333                    operator <operator>.
   334                  properties:
   335                    effect:
   336                      description: Effect indicates the taint effect to match. Empty
   337                        means match all taint effects. When specified, allowed values
   338                        are NoSchedule, PreferNoSchedule and NoExecute.
   339                      type: string
   340                    key:
   341                      description: Key is the taint key that the toleration applies
   342                        to. Empty means match all taint keys. If the key is empty, operator
   343                        must be Exists; this combination means to match all values and
   344                        all keys.
   345                      type: string
   346                    operator:
   347                      description: Operator represents a key's relationship to the value.
   348                        Valid operators are Exists and Equal. Defaults to Equal. Exists
   349                        is equivalent to wildcard for value, so that a pod can tolerate
   350                        all taints of a particular category.
   351                      type: string
   352                    tolerationSeconds:
   353                      description: TolerationSeconds represents the period of time the
   354                        toleration (which must be of effect NoExecute, otherwise this
   355                        field is ignored) tolerates the taint. By default, it is not
   356                        set, which means tolerate the taint forever (do not evict).
   357                        Zero and negative values will be treated as 0 (evict immediately)
   358                        by the system.
   359                      format: int64
   360                      type: integer
   361                    value:
   362                      description: Value is the taint value the toleration matches to.
   363                        If the operator is Exists, the value should be empty, otherwise
   364                        just a regular string.
   365                      type: string
   366                  type: object
   367                type: array
   368            required:
   369            - auxResources
   370            - pools
   371            - priorityClassName
   372            - resources
   373            - tolerations
   374            type: object
   375          status:
   376            description: CStorPoolClusterStatus represents the latest available observations
   377              of a CSPC's current state.
   378            properties:
   379              conditions:
   380                description: Current state of CSPC.
   381                items:
   382                  description: CStorPoolClusterCondition describes the state of a CSPC
   383                    at a certain point.
   384                  properties:
   385                    lastTransitionTime:
   386                      description: Last time the condition transitioned from one status
   387                        to another.
   388                      format: date-time
   389                      type: string
   390                    lastUpdateTime:
   391                      description: The last time this condition was updated.
   392                      format: date-time
   393                      type: string
   394                    message:
   395                      description: A human readable message indicating details about
   396                        the transition.
   397                      type: string
   398                    reason:
   399                      description: The reason for the condition's last transition.
   400                      type: string
   401                    status:
   402                      description: Status of the condition, one of True, False, Unknown.
   403                      type: string
   404                    type:
   405                      description: Type of CSPC condition.
   406                      type: string
   407                  required:
   408                  - status
   409                  - type
   410                  type: object
   411                type: array
   412              desiredInstances:
   413                description: DesiredInstances is the number of CSPI(s) that should be
   414                  provisioned.
   415                format: int32
   416                type: integer
   417              healthyInstances:
   418                description: HealthyInstances is the number of CSPI(s) that are healthy.
   419                format: int32
   420                type: integer
   421              provisionedInstances:
   422                description: ProvisionedInstances is the the number of CSPI present
   423                  at the current state.
   424                format: int32
   425                type: integer
   426            required:
   427            - conditions
   428            - desiredInstances
   429            - healthyInstances
   430            - provisionedInstances
   431            type: object
   432          versionDetails:
   433            description: VersionDetails provides the details for upgrade
   434            properties:
   435              autoUpgrade:
   436                description: If AutoUpgrade is set to true then the resource is upgraded
   437                  automatically without any manual steps
   438                type: boolean
   439              desired:
   440                description: Desired is the version that we want to upgrade or the control
   441                  plane version
   442                type: string
   443              status:
   444                description: Status gives the status of reconciliation triggered when
   445                  the desired and current version are not same
   446                properties:
   447                  current:
   448                    description: Current is the version of resource
   449                    type: string
   450                  dependentsUpgraded:
   451                    description: DependentsUpgraded gives the details whether all children
   452                      of a resource are upgraded to desired version or not
   453                    type: boolean
   454                  lastUpdateTime:
   455                    description: LastUpdateTime is the time the status was last  updated
   456                    format: date-time
   457                    type: string
   458                  message:
   459                    description: Message is a human readable message if some error occurs
   460                    type: string
   461                  reason:
   462                    description: Reason is the actual reason for the error state
   463                    type: string
   464                  state:
   465                    description: State is the state of reconciliation
   466                    type: string
   467                required:
   468                - current
   469                - dependentsUpgraded
   470                - state
   471                type: object
   472            required:
   473            - autoUpgrade
   474            - desired
   475            - status
   476            type: object
   477        required:
   478        - spec
   479        - status
   480        - versionDetails
   481        type: object
   482    version: v1
   483    versions:
   484    - name: v1
   485      served: true
   486      storage: true
   487  status:
   488    acceptedNames:
   489      kind: ""
   490      plural: ""
   491    conditions: []
   492    storedVersions: []