--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.9.0 creationTimestamp: null name: polardbxbackups.polardbx.aliyun.com spec: group: polardbx.aliyun.com names: kind: PolarDBXBackup listKind: PolarDBXBackupList plural: polardbxbackups shortNames: - pxcbackup - pxcbackups - pxb singular: polardbxbackup scope: Namespaced versions: - additionalPrinterColumns: - jsonPath: .spec.cluster.name name: CLUSTER type: string - jsonPath: .status.startTime name: START type: string - jsonPath: .status.endTime name: END type: string - jsonPath: .status.latestRecoverableTimestamp name: RESTORE_TIME type: string - jsonPath: .status.phase name: PHASE type: string - jsonPath: .spec.retentionTime name: RETENTION priority: 1 type: string - jsonPath: .metadata.creationTimestamp name: AGE type: date name: v1 schema: openAPIV3Schema: description: PolarDBXBackup is the Scheme for the polardbxbackups API properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object spec: description: PolarDBXBackupSpec defines the desired state of PolarDBXBackup properties: cleanPolicy: default: Retain description: CleanPolicy defines the clean policy when cluster is deleted. Default is Retain. enum: - Retain - Delete - OnFailure type: string cluster: description: Cluster represents the reference of target polardbx cluster to perform the backup action. properties: name: type: string uid: description: UID is a type that holds unique ID values, including UUIDs. Because we don't ONLY use UUIDs, this is an alias to string. Being a type captures intent and helps make sure that UIDs and names do not get conflated. type: string type: object preferredBackupRole: default: follower description: PreferredBackupRole defines the role of node on which backup will happen enum: - leader - follower type: string retentionTime: description: RetentionTime defines the retention time of the backup. The format is the same with metav1.Duration. Must be provided. type: string storageProvider: description: StorageProvider defines the backend storage to store the backup files. properties: sink: description: Sink defines the storage configuration choose to perform backup type: string storageName: description: StorageName defines the storage medium used to perform backup type: string type: object type: object status: description: PolarDBXBackupStatus defines the observed state of PolarDBXBackup properties: backupRootPath: description: BackupRootPath stores the root path of backup set type: string backupSetTimestamp: additionalProperties: format: date-time type: string description: BackupSetTimestamp records timestamp of last event included in tailored binlog per xstore type: object backups: additionalProperties: type: string description: Backups represents the underlying backup objects of xstore. The key is cluster name, and the value is the backup name. type: object clusterSpecSnapshot: description: ClusterSpecSnapshot records the snapshot of polardbx cluster spec properties: config: description: Config defines the configuration of the current cluster. Both dynamic and static configs of CN and DN are included. properties: cdc: description: CDC config properties: envs: additionalProperties: anyOf: - type: integer - type: string x-kubernetes-int-or-string: true type: object type: object cn: description: CN config. properties: coldDataFileStorage: description: ColdDataFileStorage defines the file storage used to store cold data items: properties: engine: description: Engine describes the engine type of file storage pattern: ^(?i)innodb|mrg_myisam|blackhole|myisam|csv|archive|performance_schema|federated|local_disk|s3|oss$ type: string type: object type: array dynamic: additionalProperties: anyOf: - type: integer - type: string x-kubernetes-int-or-string: true type: object enableAuditLog: type: boolean static: default: EnableCoroutine: true properties: AttendHtap: type: boolean EnableCoroutine: default: true type: boolean EnableJvmRemoteDebug: type: boolean EnableReplicaRead: type: boolean RPCProtocolVersion: anyOf: - type: integer - type: string default: 1 enum: - 1 - 2 - "1" - "2" - "" x-kubernetes-int-or-string: true ServerProperties: additionalProperties: anyOf: - type: integer - type: string x-kubernetes-int-or-string: true type: object type: object type: object columnar: description: Columnar config properties: envs: additionalProperties: anyOf: - type: integer - type: string x-kubernetes-int-or-string: true type: object type: object dn: description: DN config. properties: enableAuditLog: type: boolean envs: additionalProperties: anyOf: - type: integer - type: string x-kubernetes-int-or-string: true type: object logDataSeparation: type: boolean logPurgeInterval: type: string mycnfOverwrite: type: string type: object type: object initReadonly: description: InitReadonly is the list of readonly cluster that needs to be created and initialized items: properties: cnReplicas: type: integer extraParams: additionalProperties: anyOf: - type: integer - type: string x-kubernetes-int-or-string: true type: object name: type: string type: object type: array parameterTemplate: description: ParameterTemplate defines the template of parameters used by cn/dn/gms. properties: name: description: parameter template type: string type: object primaryCluster: description: PrimaryCluster is the name of primary cluster of the readonly cluster type: string privileges: description: Privileges defines the extra accounts that should be created while provisioning the cluster. Specifying an item for the default root account will overwrite the default random password with the given one. items: description: PrivilegeItem represents an item for privilege definition. properties: password: description: Password for the account. The operator will generate a random password if not provided. type: string type: default: RW description: Type represents the type of privilege, default is ReadWrite. enum: - RW - RO - DDL - DML - SUPER type: string username: description: Username for the account. type: string type: object type: array protocolVersion: anyOf: - type: integer - type: string description: ProtocolVersion represents the supported MySQL protocols provided by the cluster. Must be either 5 (5.7) or 8 (8.0). Default is operator dependent. enum: - 5 - 8 - "5" - "8" - "5.7" - "8.0" x-kubernetes-int-or-string: true readonly: default: false description: Readonly demonstrates whether the cluster is readonly. Default is false type: boolean restore: description: Restore defines the restore specification. When provided, the operator will create the cluster in restore mode. Restore might fail due to lack of backups silently. properties: backupset: description: BackupSet defines the source of backup set. It works only when PolarDBXBackup object of this BackupSet still exists. type: string binlogSource: description: BinlogSource defines the binlog datasource properties: checksum: description: Checksum defines the binlog file checksum. type: string namespace: description: Namespace defines the source binlog namespace type: string storageProvider: description: StorageProvider defines the source binlog sink properties: sink: description: Sink defines the storage configuration choose to perform backup type: string storageName: description: StorageName defines the storage medium used to perform backup type: string type: object type: object from: description: "From defines the source information, either a running cluster, backup set path or backup selector. \n If PolarDBXRestoreFrom.BackupSetPath provided, restore will be performed using metadata backup in remote storage. It works only when BackupSet is empty and StorageProvider is provided." properties: backupSelector: additionalProperties: type: string description: BackupSelector defines the selector for the backups to be selected. Optional. type: object backupSetPath: description: BackupSetPath defines the location of backup set in remote storage type: string clusterName: description: PolarBDXName defines the polardbx name that this polardbx is restored from. Optional. type: string type: object storageProvider: description: StorageProvider defines storage used to perform backup properties: sink: description: Sink defines the storage configuration choose to perform backup type: string storageName: description: StorageName defines the storage medium used to perform backup type: string type: object syncSpecWithOriginalCluster: default: false description: SyncSpecWithOriginalCluster identifies whether restored cluster should use the same spec as the original cluster. If the field is set to true, spec of original cluster is used; otherwise users have to declare spec manually or use default spec, but replicas of dn will be forced to sync with original cluster now. Default is false type: boolean time: description: Time defines the specified time of the restored data, in the format of 'yyyy-MM-ddTHH:mm:ssZ'. Required. type: string timezone: description: TimeZone defines the specified time zone of the restore time. Default is the location of current cluster. type: string type: object security: description: Security defines the security config of the cluster, like SSL. properties: encodeKey: description: EncodeKey defines the encode key used by the cluster. If not provided, operator will generate a random key. properties: key: description: The key of the secret to select from. Must be a valid secret key. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?' type: string optional: description: Specify whether the Secret or its key must be defined type: boolean required: - key type: object tls: description: TLS defines the TLS config of the access port. properties: generateSelfSigned: description: GenerateSelfSigned represents if let the operator generate and use a self-signed cert. type: boolean secretName: description: SecretName of the TLS config's secret. type: string type: object type: object serviceName: description: ServiceName represents the name of main (access) service of the cluster. It's set to the name of the cluster object when not provided. type: string serviceType: default: ClusterIP description: ServiceType represents the service type of main (access) service of the cluster. Default is ClusterIP. type: string shareGMS: description: ShareGMS represents there's no standalone GMS instance but shares the first DN as the GMS. It's not recommended in production but useful for tests in environments with not so much CPU/memory resources. Default is false. type: boolean topology: description: Topology defines the desired node topology and templates. properties: nodes: default: cn: replicas: 2 template: resources: limits: cpu: 4 memory: 8Gi dn: replicas: 2 template: hostNetwork: true resources: limits: cpu: 4 memory: 8Gi description: Node defines the replicas and template of components of the cluster. properties: cdc: properties: replicas: default: 2 format: int32 minimum: 0 type: integer template: default: resources: limits: cpu: 4 memory: 8Gi properties: hostNetwork: description: HostNetwork mode. type: boolean image: description: Image for CDC. Should be replaced by default value if not present. type: string imagePullPolicy: description: ImagePullPolicy describes a policy for if/when to pull a container image (especially for the engine container). type: string imagePullSecrets: description: ImagePullSecrets represents the secrets for pulling private images. items: description: LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. properties: name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?' type: string type: object type: array resources: default: limits: cpu: 4 memory: 8Gi description: Resources. Default is limits of 4 cpu and 8Gi memory. properties: limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' type: object type: object type: object xReplicas: format: int32 minimum: 0 type: integer type: object cn: default: replicas: 2 template: resources: limits: cpu: 4 memory: 8Gi properties: replicas: default: 2 format: int32 minimum: 0 type: integer template: default: resources: limits: cpu: 4 memory: 8Gi properties: hostNetwork: description: HostNetwork mode. type: boolean image: description: Image for CN. Should be replaced by default value if not present. type: string imagePullPolicy: description: ImagePullPolicy describes a policy for if/when to pull a container image (especially for the engine container). type: string imagePullSecrets: description: ImagePullSecrets represents the secrets for pulling private images. items: description: LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. properties: name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?' type: string type: object type: array resources: default: limits: cpu: 4 memory: 8Gi description: Resources. Default is limits of 4 cpu and 8Gi memory. properties: limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' type: object type: object type: object type: object columnar: properties: replicas: default: 2 format: int32 minimum: 0 type: integer template: default: resources: limits: cpu: 4 memory: 8Gi properties: hostNetwork: description: HostNetwork mode. type: boolean image: description: Image for Columnar. Should be replaced by default value if not present. type: string imagePullPolicy: description: ImagePullPolicy describes a policy for if/when to pull a container image (especially for the engine container). type: string imagePullSecrets: description: ImagePullSecrets represents the secrets for pulling private images. items: description: LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. properties: name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?' type: string type: object type: array resources: default: limits: cpu: 4 memory: 8Gi description: Resources. Default is limits of 4 cpu and 8Gi memory. properties: limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' type: object type: object type: object type: object dn: default: replicas: 2 template: hostNetwork: true resources: limits: cpu: 4 memory: 8Gi properties: replicas: default: 2 format: int32 minimum: 1 type: integer template: default: hostNetwork: true resources: limits: cpu: 4 memory: 8Gi properties: diskQuota: anyOf: - type: integer - type: string description: DiskQuota for xstore. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true engine: description: Engine of xstore. Default is operator dependent. type: string hostNetwork: default: false description: HostNetwork mode. type: boolean image: description: Image for xstore. Should be replaced by default value if not present. type: string imagePullPolicy: description: ImagePullPolicy describes a policy for if/when to pull a container image (especially for the engine container). type: string imagePullSecrets: description: ImagePullSecrets represents the secrets for pulling private images. items: description: LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. properties: name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?' type: string type: object type: array resources: default: limits: cpu: 4 memory: 8Gi description: Resources. Default is limits of 4 cpu and 8Gi memory. properties: limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' type: object limits.io: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true description: ResourceList is a set of (resource name, quantity) pairs. type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' type: object type: object serviceType: default: ClusterIP description: Service type for xstore's service. Useful when needs an external IP. Default is ClusterIP. type: string type: object type: object gms: properties: template: description: Template of GMS xstore. If not provided, the operator will use the template for DN as template for GMS. properties: diskQuota: anyOf: - type: integer - type: string description: DiskQuota for xstore. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true engine: description: Engine of xstore. Default is operator dependent. type: string hostNetwork: default: false description: HostNetwork mode. type: boolean image: description: Image for xstore. Should be replaced by default value if not present. type: string imagePullPolicy: description: ImagePullPolicy describes a policy for if/when to pull a container image (especially for the engine container). type: string imagePullSecrets: description: ImagePullSecrets represents the secrets for pulling private images. items: description: LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. properties: name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?' type: string type: object type: array resources: default: limits: cpu: 4 memory: 8Gi description: Resources. Default is limits of 4 cpu and 8Gi memory. properties: limits: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' type: object limits.io: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true description: ResourceList is a set of (resource name, quantity) pairs. type: object requests: additionalProperties: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' type: object type: object serviceType: default: ClusterIP description: Service type for xstore's service. Useful when needs an external IP. Default is ClusterIP. type: string type: object type: object type: object rules: description: Rules defines the topology rules of components of the cluster. properties: components: properties: cdc: items: properties: name: type: string replicas: anyOf: - type: integer - type: string x-kubernetes-int-or-string: true selector: properties: reference: type: string selector: description: A node selector represents the union of the results of one or more label queries over a set of nodes; that is, it represents the OR of the selectors represented by the node selector terms. properties: nodeSelectorTerms: description: Required. A list of node selector terms. The terms are ORed. items: description: A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm. properties: matchExpressions: description: A list of node selector requirements by node's labels. items: description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: description: The label key that the selector applies to. type: string operator: description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. type: string values: description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. items: type: string type: array required: - key - operator type: object type: array matchFields: description: A list of node selector requirements by node's fields. items: description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: description: The label key that the selector applies to. type: string operator: description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. type: string values: description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. items: type: string type: array required: - key - operator type: object type: array type: object type: array required: - nodeSelectorTerms type: object type: object type: object type: array cn: items: properties: name: type: string replicas: anyOf: - type: integer - type: string x-kubernetes-int-or-string: true selector: properties: reference: type: string selector: description: A node selector represents the union of the results of one or more label queries over a set of nodes; that is, it represents the OR of the selectors represented by the node selector terms. properties: nodeSelectorTerms: description: Required. A list of node selector terms. The terms are ORed. items: description: A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm. properties: matchExpressions: description: A list of node selector requirements by node's labels. items: description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: description: The label key that the selector applies to. type: string operator: description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. type: string values: description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. items: type: string type: array required: - key - operator type: object type: array matchFields: description: A list of node selector requirements by node's fields. items: description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: description: The label key that the selector applies to. type: string operator: description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. type: string values: description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. items: type: string type: array required: - key - operator type: object type: array type: object type: array required: - nodeSelectorTerms type: object type: object type: object type: array columnar: items: properties: name: type: string replicas: anyOf: - type: integer - type: string x-kubernetes-int-or-string: true selector: properties: reference: type: string selector: description: A node selector represents the union of the results of one or more label queries over a set of nodes; that is, it represents the OR of the selectors represented by the node selector terms. properties: nodeSelectorTerms: description: Required. A list of node selector terms. The terms are ORed. items: description: A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm. properties: matchExpressions: description: A list of node selector requirements by node's labels. items: description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: description: The label key that the selector applies to. type: string operator: description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. type: string values: description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. items: type: string type: array required: - key - operator type: object type: array matchFields: description: A list of node selector requirements by node's fields. items: description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: description: The label key that the selector applies to. type: string operator: description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. type: string values: description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. items: type: string type: array required: - key - operator type: object type: array type: object type: array required: - nodeSelectorTerms type: object type: object type: object type: array dn: properties: nodeSets: items: properties: name: type: string replicas: default: 1 format: int32 minimum: 1 type: integer role: enum: - Candidate - Voter - Learner type: string selector: properties: reference: type: string selector: description: A node selector represents the union of the results of one or more label queries over a set of nodes; that is, it represents the OR of the selectors represented by the node selector terms. properties: nodeSelectorTerms: description: Required. A list of node selector terms. The terms are ORed. items: description: A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm. properties: matchExpressions: description: A list of node selector requirements by node's labels. items: description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: description: The label key that the selector applies to. type: string operator: description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. type: string values: description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. items: type: string type: array required: - key - operator type: object type: array matchFields: description: A list of node selector requirements by node's fields. items: description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: description: The label key that the selector applies to. type: string operator: description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. type: string values: description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. items: type: string type: array required: - key - operator type: object type: array type: object type: array required: - nodeSelectorTerms type: object type: object type: object type: array rolling: properties: replicas: format: int32 type: integer selector: properties: reference: type: string selector: description: A node selector represents the union of the results of one or more label queries over a set of nodes; that is, it represents the OR of the selectors represented by the node selector terms. properties: nodeSelectorTerms: description: Required. A list of node selector terms. The terms are ORed. items: description: A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm. properties: matchExpressions: description: A list of node selector requirements by node's labels. items: description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: description: The label key that the selector applies to. type: string operator: description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. type: string values: description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. items: type: string type: array required: - key - operator type: object type: array matchFields: description: A list of node selector requirements by node's fields. items: description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: description: The label key that the selector applies to. type: string operator: description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. type: string values: description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. items: type: string type: array required: - key - operator type: object type: array type: object type: array required: - nodeSelectorTerms type: object type: object type: object type: object gms: properties: nodeSets: items: properties: name: type: string replicas: default: 1 format: int32 minimum: 1 type: integer role: enum: - Candidate - Voter - Learner type: string selector: properties: reference: type: string selector: description: A node selector represents the union of the results of one or more label queries over a set of nodes; that is, it represents the OR of the selectors represented by the node selector terms. properties: nodeSelectorTerms: description: Required. A list of node selector terms. The terms are ORed. items: description: A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm. properties: matchExpressions: description: A list of node selector requirements by node's labels. items: description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: description: The label key that the selector applies to. type: string operator: description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. type: string values: description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. items: type: string type: array required: - key - operator type: object type: array matchFields: description: A list of node selector requirements by node's fields. items: description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: description: The label key that the selector applies to. type: string operator: description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. type: string values: description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. items: type: string type: array required: - key - operator type: object type: array type: object type: array required: - nodeSelectorTerms type: object type: object type: object type: array rolling: properties: replicas: format: int32 type: integer selector: properties: reference: type: string selector: description: A node selector represents the union of the results of one or more label queries over a set of nodes; that is, it represents the OR of the selectors represented by the node selector terms. properties: nodeSelectorTerms: description: Required. A list of node selector terms. The terms are ORed. items: description: A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm. properties: matchExpressions: description: A list of node selector requirements by node's labels. items: description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: description: The label key that the selector applies to. type: string operator: description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. type: string values: description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. items: type: string type: array required: - key - operator type: object type: array matchFields: description: A list of node selector requirements by node's fields. items: description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: description: The label key that the selector applies to. type: string operator: description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. type: string values: description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. items: type: string type: array required: - key - operator type: object type: array type: object type: array required: - nodeSelectorTerms type: object type: object type: object type: object type: object selectors: items: properties: name: type: string nodeSelector: description: A node selector represents the union of the results of one or more label queries over a set of nodes; that is, it represents the OR of the selectors represented by the node selector terms. properties: nodeSelectorTerms: description: Required. A list of node selector terms. The terms are ORed. items: description: A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm. properties: matchExpressions: description: A list of node selector requirements by node's labels. items: description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: description: The label key that the selector applies to. type: string operator: description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. type: string values: description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. items: type: string type: array required: - key - operator type: object type: array matchFields: description: A list of node selector requirements by node's fields. items: description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: description: The label key that the selector applies to. type: string operator: description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. type: string values: description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. items: type: string type: array required: - key - operator type: object type: array type: object type: array required: - nodeSelectorTerms type: object type: object type: array type: object version: description: Version defines the default image version of the all components. Default is empty. If not provided, one should specify the images manually. type: string type: object upgradeStrategy: description: UpgradeStrategy defines the upgrade strategy for stateless nodes. type: string type: object endTime: description: EndTime represents the backup end time. format: date-time type: string heartbeat: description: HeartBeatName represents the heartbeat name of backup. type: string latestRecoverableTimestamp: description: LatestRecoverableTimestamp records the latest timestamp that can recover from current backup set format: date-time type: string phase: description: Phase represents the backup phase. type: string reason: description: Reason represents the reason of failure. type: string startTime: description: StartTime represents the backup start time. format: date-time type: string storageName: description: StorageName represents the kind of Storage type: string xstores: description: XStores represents the backup xstore name. items: type: string type: array type: object type: object served: true storage: true subresources: status: {}