github.com/1aal/kubeblocks@v0.0.0-20231107070852-e1c03e598921/deploy/helm/crds/apps.kubeblocks.io_opsrequests.yaml (about) 1 apiVersion: apiextensions.k8s.io/v1 2 kind: CustomResourceDefinition 3 metadata: 4 annotations: 5 controller-gen.kubebuilder.io/version: v0.12.1 6 labels: 7 app.kubernetes.io/name: kubeblocks 8 name: opsrequests.apps.kubeblocks.io 9 spec: 10 group: apps.kubeblocks.io 11 names: 12 categories: 13 - kubeblocks 14 - all 15 kind: OpsRequest 16 listKind: OpsRequestList 17 plural: opsrequests 18 shortNames: 19 - ops 20 singular: opsrequest 21 scope: Namespaced 22 versions: 23 - additionalPrinterColumns: 24 - description: Operation request type. 25 jsonPath: .spec.type 26 name: TYPE 27 type: string 28 - description: Operand cluster. 29 jsonPath: .spec.clusterRef 30 name: CLUSTER 31 type: string 32 - description: Operation status phase. 33 jsonPath: .status.phase 34 name: STATUS 35 type: string 36 - description: Operation processing progress. 37 jsonPath: .status.progress 38 name: PROGRESS 39 type: string 40 - jsonPath: .metadata.creationTimestamp 41 name: AGE 42 type: date 43 name: v1alpha1 44 schema: 45 openAPIV3Schema: 46 description: OpsRequest is the Schema for the opsrequests API 47 properties: 48 apiVersion: 49 description: 'APIVersion defines the versioned schema of this representation 50 of an object. Servers should convert recognized schemas to the latest 51 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 52 type: string 53 kind: 54 description: 'Kind is a string value representing the REST resource this 55 object represents. Servers may infer this from the endpoint the client 56 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 57 type: string 58 metadata: 59 type: object 60 spec: 61 description: OpsRequestSpec defines the desired state of OpsRequest 62 properties: 63 backupSpec: 64 description: backupSpec defines how to backup the cluster. 65 properties: 66 backupMethod: 67 description: Backup method name that is defined in backupPolicy. 68 type: string 69 backupName: 70 description: backupName is the name of the backup. 71 type: string 72 backupPolicyName: 73 description: Which backupPolicy is applied to perform this backup 74 type: string 75 deletionPolicy: 76 default: Delete 77 description: deletionPolicy determines whether the backup contents 78 stored in backup repository should be deleted when the backup 79 custom resource is deleted. Supported values are "Retain" and 80 "Delete". "Retain" means that the backup content and its physical 81 snapshot on backup repository are kept. "Delete" means that 82 the backup content and its physical snapshot on backup repository 83 are deleted. 84 enum: 85 - Delete 86 - Retain 87 type: string 88 parentBackupName: 89 description: if backupType is incremental, parentBackupName is 90 required. 91 type: string 92 retentionPeriod: 93 description: "retentionPeriod determines a duration up to which 94 the backup should be kept. Controller will remove all backups 95 that are older than the RetentionPeriod. For example, RetentionPeriod 96 of `30d` will keep only the backups of last 30 days. Sample 97 duration format: - years: \t2y - months: \t6mo - days: \t\t30d 98 - hours: \t12h - minutes: \t30m You can also combine the above 99 durations. For example: 30d12h30m. If not set, the backup will 100 be kept forever." 101 type: string 102 type: object 103 cancel: 104 description: 'cancel defines the action to cancel the Pending/Creating/Running 105 opsRequest, supported types: [VerticalScaling, HorizontalScaling]. 106 once cancel is set to true, this opsRequest will be canceled and 107 modifying this property again will not take effect.' 108 type: boolean 109 clusterRef: 110 description: clusterRef references clusterDefinition. 111 type: string 112 x-kubernetes-validations: 113 - message: forbidden to update spec.clusterRef 114 rule: self == oldSelf 115 expose: 116 description: expose defines services the component needs to expose. 117 items: 118 properties: 119 componentName: 120 description: componentName cluster component name. 121 type: string 122 services: 123 description: Setting the list of services to be exposed. 124 items: 125 properties: 126 annotations: 127 additionalProperties: 128 type: string 129 description: 'If ServiceType is LoadBalancer, cloud provider 130 related parameters can be put here More info: https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer.' 131 type: object 132 name: 133 description: Service name 134 maxLength: 15 135 type: string 136 serviceType: 137 default: ClusterIP 138 description: 'serviceType determines how the Service is 139 exposed. Valid options are ClusterIP, NodePort, and 140 LoadBalancer. "ClusterIP" allocates a cluster-internal 141 IP address for load-balancing to endpoints. Endpoints 142 are determined by the selector or if that is not specified, 143 they are determined by manual construction of an Endpoints 144 object or EndpointSlice objects. If clusterIP is "None", 145 no virtual IP is allocated and the endpoints are published 146 as a set of endpoints rather than a virtual IP. "NodePort" 147 builds on ClusterIP and allocates a port on every node 148 which routes to the same endpoints as the clusterIP. 149 "LoadBalancer" builds on NodePort and creates an external 150 load-balancer (if supported in the current cloud) which 151 routes to the same endpoints as the clusterIP. More 152 info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types.' 153 enum: 154 - ClusterIP 155 - NodePort 156 - LoadBalancer 157 type: string 158 x-kubernetes-preserve-unknown-fields: true 159 required: 160 - name 161 type: object 162 type: array 163 required: 164 - componentName 165 - services 166 type: object 167 type: array 168 x-kubernetes-list-map-keys: 169 - componentName 170 x-kubernetes-list-type: map 171 x-kubernetes-validations: 172 - message: forbidden to update spec.expose 173 rule: self == oldSelf 174 horizontalScaling: 175 description: horizontalScaling defines what component need to horizontal 176 scale the specified replicas. 177 items: 178 description: HorizontalScaling defines the variables of horizontal 179 scaling operation 180 properties: 181 componentName: 182 description: componentName cluster component name. 183 type: string 184 replicas: 185 description: replicas for the workloads. 186 format: int32 187 minimum: 0 188 type: integer 189 required: 190 - componentName 191 - replicas 192 type: object 193 type: array 194 x-kubernetes-list-map-keys: 195 - componentName 196 x-kubernetes-list-type: map 197 x-kubernetes-validations: 198 - message: forbidden to update spec.horizontalScaling 199 rule: self == oldSelf 200 reconfigure: 201 description: reconfigure defines the variables that need to input 202 when updating configuration. 203 properties: 204 componentName: 205 description: componentName cluster component name. 206 type: string 207 configurations: 208 description: configurations defines which components perform the 209 operation. 210 items: 211 properties: 212 keys: 213 description: keys is used to set the parameters to be updated. 214 items: 215 properties: 216 fileContent: 217 description: fileContent indicates the configuration 218 file content. update whole file. 219 type: string 220 key: 221 description: key indicates the key name of ConfigMap. 222 type: string 223 parameters: 224 description: Setting the list of parameters for a 225 single configuration file. update specified the 226 parameters. 227 items: 228 properties: 229 key: 230 description: key is name of the parameter to 231 be updated. 232 type: string 233 value: 234 description: parameter values to be updated. 235 if set nil, the parameter defined by the key 236 field will be deleted from the configuration 237 file. 238 type: string 239 required: 240 - key 241 type: object 242 type: array 243 required: 244 - key 245 type: object 246 minItems: 1 247 type: array 248 x-kubernetes-list-map-keys: 249 - key 250 x-kubernetes-list-type: map 251 name: 252 description: name is a config template name. 253 maxLength: 63 254 pattern: ^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$ 255 type: string 256 policy: 257 description: policy defines the upgrade policy. 258 enum: 259 - simple 260 - parallel 261 - rolling 262 - autoReload 263 - operatorSyncUpdate 264 type: string 265 required: 266 - keys 267 - name 268 type: object 269 minItems: 1 270 type: array 271 x-kubernetes-list-map-keys: 272 - name 273 x-kubernetes-list-type: map 274 required: 275 - componentName 276 - configurations 277 type: object 278 x-kubernetes-validations: 279 - message: forbidden to update spec.reconfigure 280 rule: self == oldSelf 281 - message: Value can not be empty 282 rule: self.configurations.size() > 0 283 restart: 284 description: restart the specified components. 285 items: 286 description: ComponentOps defines the common variables of component 287 scope operations. 288 properties: 289 componentName: 290 description: componentName cluster component name. 291 type: string 292 required: 293 - componentName 294 type: object 295 type: array 296 x-kubernetes-list-map-keys: 297 - componentName 298 x-kubernetes-list-type: map 299 x-kubernetes-validations: 300 - message: forbidden to update spec.restart 301 rule: self == oldSelf 302 restoreFrom: 303 description: cluster RestoreFrom backup or point in time 304 properties: 305 backup: 306 description: use the backup name and component name for restore, 307 support for multiple components' recovery. 308 items: 309 properties: 310 ref: 311 description: specify a reference backup to restore 312 properties: 313 name: 314 description: specified the name 315 type: string 316 namespace: 317 description: specified the namespace 318 type: string 319 type: object 320 type: object 321 type: array 322 pointInTime: 323 description: specified the point in time to recovery 324 properties: 325 ref: 326 description: specify a reference source cluster to restore 327 properties: 328 name: 329 description: specified the name 330 type: string 331 namespace: 332 description: specified the namespace 333 type: string 334 type: object 335 time: 336 description: specify the time point to restore, with UTC as 337 the time zone. 338 format: date-time 339 type: string 340 type: object 341 type: object 342 x-kubernetes-validations: 343 - message: forbidden to update spec.restoreFrom 344 rule: self == oldSelf 345 scriptSpec: 346 description: scriptSpec defines the script to be executed. 347 properties: 348 componentName: 349 description: componentName cluster component name. 350 type: string 351 image: 352 description: exec command with image, by default use the image 353 of kubeblocks-datascript. 354 type: string 355 script: 356 description: script defines the script to be executed. 357 items: 358 type: string 359 type: array 360 x-kubernetes-validations: 361 - message: forbidden to update spec.scriptSpec.script 362 rule: self == oldSelf 363 scriptFrom: 364 description: scriptFrom defines the script to be executed from 365 configMap or secret. 366 properties: 367 configMapRef: 368 description: configMapRef defines the configMap to be executed. 369 items: 370 description: Selects a key from a ConfigMap. 371 properties: 372 key: 373 description: The key to select. 374 type: string 375 name: 376 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 377 TODO: Add other useful fields. apiVersion, kind, uid?' 378 type: string 379 optional: 380 description: Specify whether the ConfigMap or its key 381 must be defined 382 type: boolean 383 required: 384 - key 385 type: object 386 x-kubernetes-map-type: atomic 387 type: array 388 x-kubernetes-validations: 389 - message: forbidden to update spec.scriptSpec.scriptFrom.configMapRef 390 rule: self == oldSelf 391 secretRef: 392 description: secretRef defines the secret to be executed. 393 items: 394 description: SecretKeySelector selects a key of a Secret. 395 properties: 396 key: 397 description: The key of the secret to select from. Must 398 be a valid secret key. 399 type: string 400 name: 401 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 402 TODO: Add other useful fields. apiVersion, kind, uid?' 403 type: string 404 optional: 405 description: Specify whether the Secret or its key must 406 be defined 407 type: boolean 408 required: 409 - key 410 type: object 411 x-kubernetes-map-type: atomic 412 type: array 413 x-kubernetes-validations: 414 - message: forbidden to update spec.scriptSpec.scriptFrom.secretRef 415 rule: self == oldSelf 416 type: object 417 x-kubernetes-validations: 418 - message: forbidden to update spec.scriptSpec.scriptFrom 419 rule: self == oldSelf 420 secret: 421 description: secret defines the secret to be used to execute the 422 script. If not specified, the default cluster root credential 423 secret will be used. 424 properties: 425 name: 426 description: name is the name of the secret. 427 maxLength: 63 428 pattern: ^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$ 429 type: string 430 passwordKey: 431 default: password 432 description: passwordKey field is used to specify the password 433 of the secret. 434 type: string 435 usernameKey: 436 default: username 437 description: usernameKey field is used to specify the username 438 of the secret. 439 type: string 440 required: 441 - name 442 type: object 443 selector: 444 description: KubeBlocks, by default, will execute the script on 445 the primary pod, with role=leader. There are some exceptions, 446 such as Redis, which does not synchronize accounts info between 447 primary and secondary. In this case, we need to execute the 448 script on all pods, matching the selector. selector indicates 449 the components on which the script is executed. 450 properties: 451 matchExpressions: 452 description: matchExpressions is a list of label selector 453 requirements. The requirements are ANDed. 454 items: 455 description: A label selector requirement is a selector 456 that contains values, a key, and an operator that relates 457 the key and values. 458 properties: 459 key: 460 description: key is the label key that the selector 461 applies to. 462 type: string 463 operator: 464 description: operator represents a key's relationship 465 to a set of values. Valid operators are In, NotIn, 466 Exists and DoesNotExist. 467 type: string 468 values: 469 description: values is an array of string values. If 470 the operator is In or NotIn, the values array must 471 be non-empty. If the operator is Exists or DoesNotExist, 472 the values array must be empty. This array is replaced 473 during a strategic merge patch. 474 items: 475 type: string 476 type: array 477 required: 478 - key 479 - operator 480 type: object 481 type: array 482 matchLabels: 483 additionalProperties: 484 type: string 485 description: matchLabels is a map of {key,value} pairs. A 486 single {key,value} in the matchLabels map is equivalent 487 to an element of matchExpressions, whose key field is "key", 488 the operator is "In", and the values array contains only 489 "value". The requirements are ANDed. 490 type: object 491 type: object 492 x-kubernetes-map-type: atomic 493 x-kubernetes-validations: 494 - message: forbidden to update spec.scriptSpec.script.selector 495 rule: self == oldSelf 496 required: 497 - componentName 498 type: object 499 switchover: 500 description: switchover the specified components. 501 items: 502 properties: 503 componentName: 504 description: componentName cluster component name. 505 type: string 506 instanceName: 507 description: instanceName is used to specify the candidate primary 508 or leader instanceName for switchover. If instanceName is 509 set to "*", it means that no specific primary or leader is 510 specified for the switchover, and the switchoverAction defined 511 in clusterDefinition.componentDefs[x].switchoverSpec.withoutCandidate 512 will be executed, It is required that clusterDefinition.componentDefs[x].switchoverSpec.withoutCandidate 513 is not empty. If instanceName is set to a valid instanceName 514 other than "*", it means that a specific candidate primary 515 or leader is specified for the switchover. the value of instanceName 516 can be obtained using `kbcli cluster list-instances`, any 517 other value is invalid. In this case, the `switchoverAction` 518 defined in clusterDefinition.componentDefs[x].switchoverSpec.withCandidate 519 will be executed, and it is required that clusterDefinition.componentDefs[x].switchoverSpec.withCandidate 520 is not empty. 521 type: string 522 required: 523 - componentName 524 - instanceName 525 type: object 526 type: array 527 x-kubernetes-list-map-keys: 528 - componentName 529 x-kubernetes-list-type: map 530 x-kubernetes-validations: 531 - message: forbidden to update spec.switchover 532 rule: self == oldSelf 533 ttlSecondsAfterSucceed: 534 description: ttlSecondsAfterSucceed OpsRequest will be deleted after 535 TTLSecondsAfterSucceed second when OpsRequest.status.phase is Succeed. 536 format: int32 537 type: integer 538 ttlSecondsBeforeAbort: 539 default: 0 540 description: ttlSecondsBeforeAbort OpsRequest will wait at most TTLSecondsBeforeAbort 541 seconds for start-conditions to be met. If not specified, the default 542 value is 0, which means that the start-conditions must be met immediately. 543 format: int32 544 type: integer 545 type: 546 description: type defines the operation type. 547 enum: 548 - Upgrade 549 - VerticalScaling 550 - VolumeExpansion 551 - HorizontalScaling 552 - Restart 553 - Reconfiguring 554 - Start 555 - Stop 556 - Expose 557 - Switchover 558 - DataScript 559 - Backup 560 type: string 561 x-kubernetes-validations: 562 - message: forbidden to update spec.type 563 rule: self == oldSelf 564 upgrade: 565 description: upgrade specifies the cluster version by specifying clusterVersionRef. 566 properties: 567 clusterVersionRef: 568 description: clusterVersionRef references ClusterVersion name. 569 type: string 570 required: 571 - clusterVersionRef 572 type: object 573 x-kubernetes-validations: 574 - message: forbidden to update spec.upgrade 575 rule: self == oldSelf 576 verticalScaling: 577 description: verticalScaling defines what component need to vertical 578 scale the specified compute resources. 579 items: 580 description: VerticalScaling defines the variables that need to 581 input when scaling compute resources. 582 properties: 583 claims: 584 description: "Claims lists the names of resources, defined in 585 spec.resourceClaims, that are used by this container. \n This 586 is an alpha field and requires enabling the DynamicResourceAllocation 587 feature gate. \n This field is immutable. It can only be set 588 for containers." 589 items: 590 description: ResourceClaim references one entry in PodSpec.ResourceClaims. 591 properties: 592 name: 593 description: Name must match the name of one entry in 594 pod.spec.resourceClaims of the Pod where this field 595 is used. It makes that resource available inside a container. 596 type: string 597 required: 598 - name 599 type: object 600 type: array 601 x-kubernetes-list-map-keys: 602 - name 603 x-kubernetes-list-type: map 604 classDefRef: 605 description: classDefRef reference class defined in ComponentClassDefinition. 606 properties: 607 class: 608 description: Class refers to the name of the class that 609 is defined in the ComponentClassDefinition. 610 type: string 611 name: 612 description: Name refers to the name of the ComponentClassDefinition. 613 maxLength: 63 614 pattern: ^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$ 615 type: string 616 required: 617 - class 618 type: object 619 componentName: 620 description: componentName cluster component name. 621 type: string 622 limits: 623 additionalProperties: 624 anyOf: 625 - type: integer 626 - type: string 627 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 628 x-kubernetes-int-or-string: true 629 description: 'Limits describes the maximum amount of compute 630 resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 631 type: object 632 requests: 633 additionalProperties: 634 anyOf: 635 - type: integer 636 - type: string 637 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 638 x-kubernetes-int-or-string: true 639 description: 'Requests describes the minimum amount of compute 640 resources required. If Requests is omitted for a container, 641 it defaults to Limits if that is explicitly specified, otherwise 642 to an implementation-defined value. Requests cannot exceed 643 Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 644 type: object 645 required: 646 - componentName 647 type: object 648 x-kubernetes-preserve-unknown-fields: true 649 type: array 650 x-kubernetes-list-map-keys: 651 - componentName 652 x-kubernetes-list-type: map 653 volumeExpansion: 654 description: volumeExpansion defines what component and volumeClaimTemplate 655 need to expand the specified storage. 656 items: 657 description: VolumeExpansion defines the variables of volume expansion 658 operation. 659 properties: 660 componentName: 661 description: componentName cluster component name. 662 type: string 663 volumeClaimTemplates: 664 description: volumeClaimTemplates specifies the storage size 665 and volumeClaimTemplate name. 666 items: 667 properties: 668 name: 669 description: name references volumeClaimTemplate name 670 from cluster components. 671 type: string 672 storage: 673 anyOf: 674 - type: integer 675 - type: string 676 description: Request storage size. 677 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 678 x-kubernetes-int-or-string: true 679 required: 680 - name 681 - storage 682 type: object 683 type: array 684 x-kubernetes-list-map-keys: 685 - name 686 x-kubernetes-list-type: map 687 required: 688 - componentName 689 - volumeClaimTemplates 690 type: object 691 type: array 692 x-kubernetes-list-map-keys: 693 - componentName 694 x-kubernetes-list-type: map 695 required: 696 - clusterRef 697 - type 698 type: object 699 x-kubernetes-validations: 700 - message: forbidden to cancel the opsRequest which type not in ['VerticalScaling','HorizontalScaling'] 701 rule: 'has(self.cancel) && self.cancel ? (self.type in [''VerticalScaling'', 702 ''HorizontalScaling'']) : true' 703 status: 704 description: OpsRequestStatus defines the observed state of OpsRequest 705 properties: 706 cancelTimestamp: 707 description: CancelTimestamp defines cancel time. 708 format: date-time 709 type: string 710 clusterGeneration: 711 description: ClusterGeneration records the cluster generation after 712 handling the opsRequest action. 713 format: int64 714 type: integer 715 completionTimestamp: 716 description: completionTimestamp defines the OpsRequest completion 717 time. 718 format: date-time 719 type: string 720 components: 721 additionalProperties: 722 properties: 723 lastFailedTime: 724 description: lastFailedTime is the last time the component phase 725 transitioned to Failed or Abnormal. 726 format: date-time 727 type: string 728 message: 729 description: message is a human-readable message indicating 730 details about this operation. 731 maxLength: 32768 732 type: string 733 phase: 734 description: phase describes the component phase, reference 735 Cluster.status.component.phase. 736 enum: 737 - Creating 738 - Running 739 - Updating 740 - Stopping 741 - Stopped 742 - Deleting 743 - Failed 744 - Abnormal 745 type: string 746 progressDetails: 747 description: progressDetails describes the progress details 748 of the component for this operation. 749 items: 750 properties: 751 endTime: 752 description: endTime is the completion time of object 753 processing. 754 format: date-time 755 type: string 756 group: 757 description: group describes which group the current object 758 belongs to. if the objects of a component belong to 759 the same group, we can ignore it. 760 type: string 761 message: 762 description: message is a human readable message indicating 763 details about the object condition. 764 type: string 765 objectKey: 766 description: objectKey is the unique key of the object. 767 type: string 768 startTime: 769 description: startTime is the start time of object processing. 770 format: date-time 771 type: string 772 status: 773 description: status describes the state of processing 774 the object. 775 enum: 776 - Processing 777 - Pending 778 - Failed 779 - Succeed 780 type: string 781 required: 782 - objectKey 783 - status 784 type: object 785 type: array 786 reason: 787 description: reason describes the reason for the component phase. 788 maxLength: 1024 789 type: string 790 workloadType: 791 description: workloadType references workload type of component 792 in ClusterDefinition. 793 enum: 794 - Stateless 795 - Stateful 796 - Consensus 797 - Replication 798 type: string 799 type: object 800 description: components defines the recorded the status information 801 of changed components for operation request. 802 type: object 803 conditions: 804 description: conditions describes opsRequest detail status. 805 items: 806 description: "Condition contains details for one aspect of the current 807 state of this API Resource. --- This struct is intended for direct 808 use as an array at the field path .status.conditions. For example, 809 \n type FooStatus struct{ // Represents the observations of a 810 foo's current state. // Known .status.conditions.type are: \"Available\", 811 \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge 812 // +listType=map // +listMapKey=type Conditions []metav1.Condition 813 `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" 814 protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" 815 properties: 816 lastTransitionTime: 817 description: lastTransitionTime is the last time the condition 818 transitioned from one status to another. This should be when 819 the underlying condition changed. If that is not known, then 820 using the time when the API field changed is acceptable. 821 format: date-time 822 type: string 823 message: 824 description: message is a human readable message indicating 825 details about the transition. This may be an empty string. 826 maxLength: 32768 827 type: string 828 observedGeneration: 829 description: observedGeneration represents the .metadata.generation 830 that the condition was set based upon. For instance, if .metadata.generation 831 is currently 12, but the .status.conditions[x].observedGeneration 832 is 9, the condition is out of date with respect to the current 833 state of the instance. 834 format: int64 835 minimum: 0 836 type: integer 837 reason: 838 description: reason contains a programmatic identifier indicating 839 the reason for the condition's last transition. Producers 840 of specific condition types may define expected values and 841 meanings for this field, and whether the values are considered 842 a guaranteed API. The value should be a CamelCase string. 843 This field may not be empty. 844 maxLength: 1024 845 minLength: 1 846 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ 847 type: string 848 status: 849 description: status of the condition, one of True, False, Unknown. 850 enum: 851 - "True" 852 - "False" 853 - Unknown 854 type: string 855 type: 856 description: type of condition in CamelCase or in foo.example.com/CamelCase. 857 --- Many .condition.type values are consistent across resources 858 like Available, but because arbitrary conditions can be useful 859 (see .node.status.conditions), the ability to deconflict is 860 important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) 861 maxLength: 316 862 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ 863 type: string 864 required: 865 - lastTransitionTime 866 - message 867 - reason 868 - status 869 - type 870 type: object 871 type: array 872 x-kubernetes-list-map-keys: 873 - type 874 x-kubernetes-list-type: map 875 lastConfiguration: 876 description: lastConfiguration records the last configuration before 877 this operation take effected. 878 properties: 879 clusterVersionRef: 880 description: clusterVersionRef references ClusterVersion name. 881 type: string 882 components: 883 additionalProperties: 884 properties: 885 claims: 886 description: "Claims lists the names of resources, defined 887 in spec.resourceClaims, that are used by this container. 888 \n This is an alpha field and requires enabling the DynamicResourceAllocation 889 feature gate. \n This field is immutable. It can only 890 be set for containers." 891 items: 892 description: ResourceClaim references one entry in PodSpec.ResourceClaims. 893 properties: 894 name: 895 description: Name must match the name of one entry 896 in pod.spec.resourceClaims of the Pod where this 897 field is used. It makes that resource available 898 inside a container. 899 type: string 900 required: 901 - name 902 type: object 903 type: array 904 x-kubernetes-list-map-keys: 905 - name 906 x-kubernetes-list-type: map 907 classDefRef: 908 description: classDefRef reference class defined in ComponentClassDefinition. 909 properties: 910 class: 911 description: Class refers to the name of the class that 912 is defined in the ComponentClassDefinition. 913 type: string 914 name: 915 description: Name refers to the name of the ComponentClassDefinition. 916 maxLength: 63 917 pattern: ^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$ 918 type: string 919 required: 920 - class 921 type: object 922 limits: 923 additionalProperties: 924 anyOf: 925 - type: integer 926 - type: string 927 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 928 x-kubernetes-int-or-string: true 929 description: 'Limits describes the maximum amount of compute 930 resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 931 type: object 932 replicas: 933 description: replicas are the last replicas of the component. 934 format: int32 935 type: integer 936 requests: 937 additionalProperties: 938 anyOf: 939 - type: integer 940 - type: string 941 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 942 x-kubernetes-int-or-string: true 943 description: 'Requests describes the minimum amount of compute 944 resources required. If Requests is omitted for a container, 945 it defaults to Limits if that is explicitly specified, 946 otherwise to an implementation-defined value. Requests 947 cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 948 type: object 949 services: 950 description: services records the last services of the component. 951 items: 952 properties: 953 annotations: 954 additionalProperties: 955 type: string 956 description: 'If ServiceType is LoadBalancer, cloud 957 provider related parameters can be put here More 958 info: https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer.' 959 type: object 960 name: 961 description: Service name 962 maxLength: 15 963 type: string 964 serviceType: 965 default: ClusterIP 966 description: 'serviceType determines how the Service 967 is exposed. Valid options are ClusterIP, NodePort, 968 and LoadBalancer. "ClusterIP" allocates a cluster-internal 969 IP address for load-balancing to endpoints. Endpoints 970 are determined by the selector or if that is not 971 specified, they are determined by manual construction 972 of an Endpoints object or EndpointSlice objects. 973 If clusterIP is "None", no virtual IP is allocated 974 and the endpoints are published as a set of endpoints 975 rather than a virtual IP. "NodePort" builds on ClusterIP 976 and allocates a port on every node which routes 977 to the same endpoints as the clusterIP. "LoadBalancer" 978 builds on NodePort and creates an external load-balancer 979 (if supported in the current cloud) which routes 980 to the same endpoints as the clusterIP. More info: 981 https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types.' 982 enum: 983 - ClusterIP 984 - NodePort 985 - LoadBalancer 986 type: string 987 x-kubernetes-preserve-unknown-fields: true 988 required: 989 - name 990 type: object 991 type: array 992 targetResources: 993 additionalProperties: 994 items: 995 type: string 996 type: array 997 description: targetResources records the affecting target 998 resources information for the component. resource key 999 is in list of [pods]. 1000 type: object 1001 volumeClaimTemplates: 1002 description: volumeClaimTemplates records the last volumeClaimTemplates 1003 of the component. 1004 items: 1005 properties: 1006 name: 1007 description: name references volumeClaimTemplate name 1008 from cluster components. 1009 type: string 1010 storage: 1011 anyOf: 1012 - type: integer 1013 - type: string 1014 description: Request storage size. 1015 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 1016 x-kubernetes-int-or-string: true 1017 required: 1018 - name 1019 - storage 1020 type: object 1021 type: array 1022 type: object 1023 x-kubernetes-preserve-unknown-fields: true 1024 description: components records last configuration of the component. 1025 type: object 1026 type: object 1027 phase: 1028 description: phase describes OpsRequest phase. 1029 enum: 1030 - Pending 1031 - Creating 1032 - Running 1033 - Cancelling 1034 - Cancelled 1035 - Failed 1036 - Succeed 1037 type: string 1038 progress: 1039 default: -/- 1040 pattern: ^(\d+|\-)/(\d+|\-)$ 1041 type: string 1042 reconfiguringStatus: 1043 description: reconfiguringStatus defines the status information of 1044 reconfiguring. 1045 properties: 1046 configurationStatus: 1047 description: configurationStatus describes the status of the component 1048 reconfiguring. 1049 items: 1050 properties: 1051 expectedCount: 1052 default: -1 1053 description: expectedCount describes the number of expected 1054 reconfiguring. 1055 format: int32 1056 type: integer 1057 lastAppliedConfiguration: 1058 additionalProperties: 1059 type: string 1060 description: LastAppliedConfiguration describes the last 1061 configuration. 1062 type: object 1063 lastStatus: 1064 description: lastStatus describes the last status for the 1065 reconfiguring controller. 1066 type: string 1067 message: 1068 description: message describes the details about this operation. 1069 type: string 1070 name: 1071 description: name is a config template name. 1072 maxLength: 63 1073 pattern: ^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$ 1074 type: string 1075 status: 1076 description: status describes the current state of the reconfiguring 1077 state machine. 1078 type: string 1079 succeedCount: 1080 default: 0 1081 description: succeedCount describes the number of successful 1082 reconfiguring. 1083 format: int32 1084 type: integer 1085 updatePolicy: 1086 description: updatePolicy describes the policy of reconfiguring. 1087 enum: 1088 - simple 1089 - parallel 1090 - rolling 1091 - autoReload 1092 - operatorSyncUpdate 1093 type: string 1094 updatedParameters: 1095 description: updatedParameters describes the updated parameters. 1096 properties: 1097 addedKeys: 1098 additionalProperties: 1099 type: string 1100 description: addedKeys describes the key added. 1101 type: object 1102 deletedKeys: 1103 additionalProperties: 1104 type: string 1105 description: deletedKeys describes the key deleted. 1106 type: object 1107 updatedKeys: 1108 additionalProperties: 1109 type: string 1110 description: updatedKeys describes the key updated. 1111 type: object 1112 type: object 1113 required: 1114 - name 1115 type: object 1116 minItems: 1 1117 type: array 1118 x-kubernetes-list-map-keys: 1119 - name 1120 x-kubernetes-list-type: map 1121 required: 1122 - configurationStatus 1123 type: object 1124 startTimestamp: 1125 description: startTimestamp The time when the OpsRequest started processing. 1126 format: date-time 1127 type: string 1128 required: 1129 - progress 1130 type: object 1131 type: object 1132 served: true 1133 storage: true 1134 subresources: 1135 status: {}