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: []