github.com/openebs/api@v1.12.0/config/crds/bases/cstor.openebs.io_cstorpoolinstances.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: cstorpoolinstances.cstor.openebs.io
    10  spec:
    11    group: cstor.openebs.io
    12    names:
    13      kind: CStorPoolInstance
    14      listKind: CStorPoolInstanceList
    15      plural: cstorpoolinstances
    16      singular: cstorpoolinstance
    17    scope: Namespaced
    18    validation:
    19      openAPIV3Schema:
    20        description: CStorPoolInstance describes a cstor pool instance 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: Spec is the specification of the cstorpoolinstance resource.
    36            properties:
    37              dataRaidGroups:
    38                description: DataRaidGroups is the raid group configuration for the
    39                  given pool.
    40                items:
    41                  description: RaidGroup contains the details of a raid group for the
    42                    pool
    43                  properties:
    44                    blockDevices:
    45                      items:
    46                        description: CStorPoolInstanceBlockDevice contains the details
    47                          of block devices that constitutes a raid group.
    48                        properties:
    49                          blockDeviceName:
    50                            description: BlockDeviceName is the name of the block device.
    51                            type: string
    52                          capacity:
    53                            description: Capacity is the capacity of the block device.
    54                              It is system generated
    55                            format: int64
    56                            type: integer
    57                          devLink:
    58                            description: DevLink is the dev link for block devices
    59                            type: string
    60                        required:
    61                        - blockDeviceName
    62                        - capacity
    63                        - devLink
    64                        type: object
    65                      type: array
    66                  required:
    67                  - blockDevices
    68                  type: object
    69                type: array
    70              hostName:
    71                description: HostName is the name of kubernetes node where the pool
    72                  should be created.
    73                type: string
    74              nodeSelector:
    75                additionalProperties:
    76                  type: string
    77                description: NodeSelector is the labels that will be used to select
    78                  a node for pool provisioning. Required field
    79                type: object
    80              poolConfig:
    81                description: PoolConfig is the default pool config that applies to the
    82                  pool on node.
    83                properties:
    84                  auxResources:
    85                    description: AuxResources are the compute resources required by
    86                      the cstor-pool pod side car containers.
    87                    properties:
    88                      limits:
    89                        additionalProperties:
    90                          anyOf:
    91                          - type: integer
    92                          - type: string
    93                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
    94                          x-kubernetes-int-or-string: true
    95                        description: 'Limits describes the maximum amount of compute
    96                          resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
    97                        type: object
    98                      requests:
    99                        additionalProperties:
   100                          anyOf:
   101                          - type: integer
   102                          - type: string
   103                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   104                          x-kubernetes-int-or-string: true
   105                        description: 'Requests describes the minimum amount of compute
   106                          resources required. If Requests is omitted for a container,
   107                          it defaults to Limits if that is explicitly specified, otherwise
   108                          to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
   109                        type: object
   110                    type: object
   111                  compression:
   112                    description: 'Compression to enable compression Optional -- defaults
   113                      to off Possible values : lz, off'
   114                    type: string
   115                  dataRaidGroupType:
   116                    description: DataRaidGroupType is the  raid type.
   117                    type: string
   118                  priorityClassName:
   119                    description: PriorityClassName if specified applies to this pool
   120                      pod If left empty, DefaultPriorityClassName is applied. (See CStorPoolClusterSpec.DefaultPriorityClassName)
   121                      If both are empty, not priority class is applied.
   122                    type: string
   123                  resources:
   124                    description: Resources are the compute resources required by the
   125                      cstor-pool container.
   126                    properties:
   127                      limits:
   128                        additionalProperties:
   129                          anyOf:
   130                          - type: integer
   131                          - type: string
   132                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   133                          x-kubernetes-int-or-string: true
   134                        description: 'Limits describes the maximum amount of compute
   135                          resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
   136                        type: object
   137                      requests:
   138                        additionalProperties:
   139                          anyOf:
   140                          - type: integer
   141                          - type: string
   142                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   143                          x-kubernetes-int-or-string: true
   144                        description: 'Requests describes the minimum amount of compute
   145                          resources required. If Requests is omitted for a container,
   146                          it defaults to Limits if that is explicitly specified, otherwise
   147                          to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
   148                        type: object
   149                    type: object
   150                  roThresholdLimit:
   151                    description: 'ROThresholdLimit is threshold(percentage base) limit
   152                      for pool read only mode. If ROThresholdLimit(%) amount of pool
   153                      storage is reached then pool will set to readonly. NOTE: 1. If
   154                      ROThresholdLimit is set to 100 then entire    pool storage will
   155                      be used by default it will be set to 85%. 2. ROThresholdLimit
   156                      value will be 0 <= ROThresholdLimit <= 100.'
   157                    type: integer
   158                  thickProvision:
   159                    description: ThickProvision to enable thick provisioning Optional
   160                      -- defaults to false
   161                    type: boolean
   162                  tolerations:
   163                    description: Tolerations, if specified, the pool pod's tolerations.
   164                    items:
   165                      description: The pod this Toleration is attached to tolerates
   166                        any taint that matches the triple <key,value,effect> using the
   167                        matching operator <operator>.
   168                      properties:
   169                        effect:
   170                          description: Effect indicates the taint effect to match. Empty
   171                            means match all taint effects. When specified, allowed values
   172                            are NoSchedule, PreferNoSchedule and NoExecute.
   173                          type: string
   174                        key:
   175                          description: Key is the taint key that the toleration applies
   176                            to. Empty means match all taint keys. If the key is empty,
   177                            operator must be Exists; this combination means to match
   178                            all values and all keys.
   179                          type: string
   180                        operator:
   181                          description: Operator represents a key's relationship to the
   182                            value. Valid operators are Exists and Equal. Defaults to
   183                            Equal. Exists is equivalent to wildcard for value, so that
   184                            a pod can tolerate all taints of a particular category.
   185                          type: string
   186                        tolerationSeconds:
   187                          description: TolerationSeconds represents the period of time
   188                            the toleration (which must be of effect NoExecute, otherwise
   189                            this field is ignored) tolerates the taint. By default,
   190                            it is not set, which means tolerate the taint forever (do
   191                            not evict). Zero and negative values will be treated as
   192                            0 (evict immediately) by the system.
   193                          format: int64
   194                          type: integer
   195                        value:
   196                          description: Value is the taint value the toleration matches
   197                            to. If the operator is Exists, the value should be empty,
   198                            otherwise just a regular string.
   199                          type: string
   200                      type: object
   201                    type: array
   202                  writeCacheGroupType:
   203                    description: WriteCacheGroupType is the write cache raid type.
   204                    type: string
   205                required:
   206                - auxResources
   207                - compression
   208                - dataRaidGroupType
   209                - priorityClassName
   210                - resources
   211                - roThresholdLimit
   212                - thickProvision
   213                - tolerations
   214                - writeCacheGroupType
   215                type: object
   216              writeCacheRaidGroups:
   217                description: WriteCacheRaidGroups is the write cache raid group.
   218                items:
   219                  description: RaidGroup contains the details of a raid group for the
   220                    pool
   221                  properties:
   222                    blockDevices:
   223                      items:
   224                        description: CStorPoolInstanceBlockDevice contains the details
   225                          of block devices that constitutes a raid group.
   226                        properties:
   227                          blockDeviceName:
   228                            description: BlockDeviceName is the name of the block device.
   229                            type: string
   230                          capacity:
   231                            description: Capacity is the capacity of the block device.
   232                              It is system generated
   233                            format: int64
   234                            type: integer
   235                          devLink:
   236                            description: DevLink is the dev link for block devices
   237                            type: string
   238                        required:
   239                        - blockDeviceName
   240                        - capacity
   241                        - devLink
   242                        type: object
   243                      type: array
   244                  required:
   245                  - blockDevices
   246                  type: object
   247                type: array
   248            required:
   249            - dataRaidGroups
   250            - hostName
   251            - nodeSelector
   252            - poolConfig
   253            - writeCacheRaidGroups
   254            type: object
   255          status:
   256            description: Status is the possible statuses of the cstorpoolinstance resource.
   257            properties:
   258              capacity:
   259                description: Capacity describes the capacity details of a cstor pool
   260                properties:
   261                  free:
   262                    anyOf:
   263                    - type: integer
   264                    - type: string
   265                    description: Unsed capacity in the pool
   266                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   267                    x-kubernetes-int-or-string: true
   268                  total:
   269                    anyOf:
   270                    - type: integer
   271                    - type: string
   272                    description: Total capacity of the pool, equal to the sum of the
   273                      all data raidgroups
   274                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   275                    x-kubernetes-int-or-string: true
   276                  used:
   277                    anyOf:
   278                    - type: integer
   279                    - type: string
   280                    description: The amount of capacity allocated to all datasets and
   281                      internal metadata
   282                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   283                    x-kubernetes-int-or-string: true
   284                required:
   285                - free
   286                - total
   287                - used
   288                type: object
   289              conditions:
   290                description: Current state of CSPI with details.
   291                items:
   292                  description: CSPIConditionType describes the state of a CSPI at a
   293                    certain point.
   294                  properties:
   295                    lastTransitionTime:
   296                      description: Last time the condition transitioned from one status
   297                        to another.
   298                      format: date-time
   299                      type: string
   300                    lastUpdateTime:
   301                      description: The last time this condition was updated.
   302                      format: date-time
   303                      type: string
   304                    message:
   305                      description: A human readable message indicating details about
   306                        the transition.
   307                      type: string
   308                    reason:
   309                      description: The reason for the condition's last transition.
   310                      type: string
   311                    status:
   312                      description: Status of the condition, one of True, False, Unknown.
   313                      type: string
   314                    type:
   315                      description: Type of CSPC condition.
   316                      type: string
   317                  required:
   318                  - status
   319                  - type
   320                  type: object
   321                type: array
   322              phase:
   323                description: ' The phase of a CStorPool is a simple, high-level summary
   324                  of the pool state on the  node.'
   325                type: string
   326              readOnly:
   327                description: ReadOnly if pool is readOnly or not
   328                type: boolean
   329            required:
   330            - capacity
   331            - phase
   332            - readOnly
   333            type: object
   334          versionDetails:
   335            description: VersionDetails is the openebs version.
   336            properties:
   337              autoUpgrade:
   338                description: If AutoUpgrade is set to true then the resource is upgraded
   339                  automatically without any manual steps
   340                type: boolean
   341              desired:
   342                description: Desired is the version that we want to upgrade or the control
   343                  plane version
   344                type: string
   345              status:
   346                description: Status gives the status of reconciliation triggered when
   347                  the desired and current version are not same
   348                properties:
   349                  current:
   350                    description: Current is the version of resource
   351                    type: string
   352                  dependentsUpgraded:
   353                    description: DependentsUpgraded gives the details whether all children
   354                      of a resource are upgraded to desired version or not
   355                    type: boolean
   356                  lastUpdateTime:
   357                    description: LastUpdateTime is the time the status was last  updated
   358                    format: date-time
   359                    type: string
   360                  message:
   361                    description: Message is a human readable message if some error occurs
   362                    type: string
   363                  reason:
   364                    description: Reason is the actual reason for the error state
   365                    type: string
   366                  state:
   367                    description: State is the state of reconciliation
   368                    type: string
   369                required:
   370                - current
   371                - dependentsUpgraded
   372                - state
   373                type: object
   374            required:
   375            - autoUpgrade
   376            - desired
   377            - status
   378            type: object
   379        required:
   380        - spec
   381        - status
   382        - versionDetails
   383        type: object
   384    version: v1
   385    versions:
   386    - name: v1
   387      served: true
   388      storage: true
   389  status:
   390    acceptedNames:
   391      kind: ""
   392      plural: ""
   393    conditions: []
   394    storedVersions: []