diff --git a/packages/system/mariadb-operator/charts/mariadb-operator/Chart.lock b/packages/system/mariadb-operator/charts/mariadb-operator/Chart.lock index 87621a9d..6b08db06 100644 --- a/packages/system/mariadb-operator/charts/mariadb-operator/Chart.lock +++ b/packages/system/mariadb-operator/charts/mariadb-operator/Chart.lock @@ -1,6 +1,6 @@ dependencies: - name: mariadb-operator-crds repository: file://../mariadb-operator-crds - version: 0.38.1 -digest: sha256:0f2ff90b83955a060f581b7db4a0c746338ae3a50d9766877c346c7f61d74cde -generated: "2025-04-15T16:54:07.813989419Z" + version: 25.10.2 +digest: sha256:01b102dbdb92970e38346df382ed3e5cd93d02a3b642029e94320256c9bfad42 +generated: "2025-10-28T11:29:04.951947063Z" diff --git a/packages/system/mariadb-operator/charts/mariadb-operator/Chart.yaml b/packages/system/mariadb-operator/charts/mariadb-operator/Chart.yaml index 02668b41..63049cc8 100644 --- a/packages/system/mariadb-operator/charts/mariadb-operator/Chart.yaml +++ b/packages/system/mariadb-operator/charts/mariadb-operator/Chart.yaml @@ -1,10 +1,10 @@ apiVersion: v2 -appVersion: 0.38.1 +appVersion: 25.10.2 dependencies: - condition: crds.enabled name: mariadb-operator-crds repository: file://../mariadb-operator-crds - version: 0.38.1 + version: 25.10.2 description: Run and operate MariaDB in a cloud native way home: https://github.com/mariadb-operator/mariadb-operator icon: https://mariadb-operator.github.io/mariadb-operator/assets/mariadb_profile.svg @@ -21,4 +21,4 @@ maintainers: name: mmontes11 name: mariadb-operator type: application -version: 0.38.1 +version: 25.10.2 diff --git a/packages/system/mariadb-operator/charts/mariadb-operator/README.md b/packages/system/mariadb-operator/charts/mariadb-operator/README.md index 7d1f14da..3a9c1df8 100644 --- a/packages/system/mariadb-operator/charts/mariadb-operator/README.md +++ b/packages/system/mariadb-operator/charts/mariadb-operator/README.md @@ -2,7 +2,7 @@ [//]: # (README.md generated by gotmpl. DO NOT EDIT.) -![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![Version: 0.38.1](https://img.shields.io/badge/Version-0.38.1-informational?style=flat-square) ![AppVersion: 0.38.1](https://img.shields.io/badge/AppVersion-0.38.1-informational?style=flat-square) +![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![Version: 25.10.2](https://img.shields.io/badge/Version-25.10.2-informational?style=flat-square) ![AppVersion: 25.10.2](https://img.shields.io/badge/AppVersion-25.10.2-informational?style=flat-square) Run and operate MariaDB in a cloud native way @@ -16,7 +16,7 @@ helm install mariadb-operator-crds mariadb-operator/mariadb-operator-crds helm install mariadb-operator mariadb-operator/mariadb-operator ``` -Refer to the [helm documentation](https://github.com/mariadb-operator/mariadb-operator/blob/main/docs/HELM.md) for further detail. +Refer to the [helm documentation](https://github.com/mariadb-operator/mariadb-operator/blob/main/docs/helm.md) for further detail. ## Values @@ -60,14 +60,15 @@ Refer to the [helm documentation](https://github.com/mariadb-operator/mariadb-op | certController.tolerations | list | `[]` | Tolerations to add to cert-controller container | | certController.topologySpreadConstraints | list | `[]` | topologySpreadConstraints to add to cert-controller container | | clusterName | string | `"cluster.local"` | Cluster DNS name | -| config | object | `{"exporterImage":"prom/mysqld-exporter:v0.15.1","exporterMaxscaleImage":"docker-registry2.mariadb.com/mariadb/maxscale-prometheus-exporter-ubi:v0.0.1","galeraLibPath":"/usr/lib/galera/libgalera_smm.so","mariadbDefaultVersion":"11.4","mariadbImage":"docker-registry1.mariadb.com/library/mariadb:11.4.5","maxscaleImage":"docker-registry2.mariadb.com/mariadb/maxscale:23.08.5"}` | Operator configuration | +| config | object | `{"exporterImage":"prom/mysqld-exporter:v0.15.1","exporterMaxscaleImage":"docker-registry2.mariadb.com/mariadb/maxscale-prometheus-exporter-ubi:v0.0.1","galeraLibPath":"/usr/lib/galera/libgalera_smm.so","mariadbDefaultVersion":"11.8","mariadbImage":"docker-registry1.mariadb.com/library/mariadb:11.8.2","mariadbImageName":"docker-registry1.mariadb.com/library/mariadb","maxscaleImage":"docker-registry2.mariadb.com/mariadb/maxscale:23.08.5"}` | Operator configuration | | config.exporterImage | string | `"prom/mysqld-exporter:v0.15.1"` | Default MariaDB exporter image | | config.exporterMaxscaleImage | string | `"docker-registry2.mariadb.com/mariadb/maxscale-prometheus-exporter-ubi:v0.0.1"` | Default MaxScale exporter image | | config.galeraLibPath | string | `"/usr/lib/galera/libgalera_smm.so"` | Galera library path to be used with MariaDB Galera | -| config.mariadbDefaultVersion | string | `"11.4"` | Default MariaDB version to be used when unable to infer it via image tag | -| config.mariadbImage | string | `"docker-registry1.mariadb.com/library/mariadb:11.4.5"` | Default MariaDB image | +| config.mariadbDefaultVersion | string | `"11.8"` | Default MariaDB version to be used when unable to infer it via image tag | +| config.mariadbImage | string | `"docker-registry1.mariadb.com/library/mariadb:11.8.2"` | Default MariaDB image | +| config.mariadbImageName | string | `"docker-registry1.mariadb.com/library/mariadb"` | Default MariaDB image name | | config.maxscaleImage | string | `"docker-registry2.mariadb.com/mariadb/maxscale:23.08.5"` | Default MaxScale image | -| crds | object | `{"enabled":false}` | - CRDs | +| crds | object | `{"enabled":false}` | CRDs | | crds.enabled | bool | `false` | Whether the helm chart should create and update the CRDs. It is false by default, which implies that the CRDs must be managed independently with the mariadb-operator-crds helm chart. **WARNING** This should only be set to true during the initial deployment. If this chart manages the CRDs and is later uninstalled, all MariaDB instances will be DELETED. | | currentNamespaceOnly | bool | `false` | Whether the operator should watch CRDs only in its own namespace or not. | | extrArgs | list | `[]` | Extra arguments to be passed to the controller entrypoint | diff --git a/packages/system/mariadb-operator/charts/mariadb-operator/README.md.gotmpl b/packages/system/mariadb-operator/charts/mariadb-operator/README.md.gotmpl index 952c9169..234cebd1 100644 --- a/packages/system/mariadb-operator/charts/mariadb-operator/README.md.gotmpl +++ b/packages/system/mariadb-operator/charts/mariadb-operator/README.md.gotmpl @@ -17,6 +17,6 @@ helm install mariadb-operator-crds mariadb-operator/mariadb-operator-crds helm install mariadb-operator mariadb-operator/mariadb-operator ``` -Refer to the [helm documentation](https://github.com/mariadb-operator/mariadb-operator/blob/main/docs/HELM.md) for further detail. +Refer to the [helm documentation](https://github.com/mariadb-operator/mariadb-operator/blob/main/docs/helm.md) for further detail. {{ template "chart.valuesSection" . }} diff --git a/packages/system/mariadb-operator/charts/mariadb-operator/charts/mariadb-operator-crds/Chart.yaml b/packages/system/mariadb-operator/charts/mariadb-operator/charts/mariadb-operator-crds/Chart.yaml index 834b22e9..0af1271a 100644 --- a/packages/system/mariadb-operator/charts/mariadb-operator/charts/mariadb-operator-crds/Chart.yaml +++ b/packages/system/mariadb-operator/charts/mariadb-operator/charts/mariadb-operator-crds/Chart.yaml @@ -16,4 +16,4 @@ maintainers: name: mmontes11 name: mariadb-operator-crds type: application -version: 0.38.1 +version: 25.10.2 diff --git a/packages/system/mariadb-operator/charts/mariadb-operator/charts/mariadb-operator-crds/templates/crds.yaml b/packages/system/mariadb-operator/charts/mariadb-operator/charts/mariadb-operator-crds/templates/crds.yaml index 27a9ab9e..66a3a953 100644 --- a/packages/system/mariadb-operator/charts/mariadb-operator/charts/mariadb-operator-crds/templates/crds.yaml +++ b/packages/system/mariadb-operator/charts/mariadb-operator/charts/mariadb-operator-crds/templates/crds.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.2 + controller-gen.kubebuilder.io/version: v0.18.0 name: backups.k8s.mariadb.com spec: group: k8s.mariadb.com @@ -63,18 +63,18 @@ spec: Make sure you have at least as many Nodes available as the replicas to not end up with unscheduled Pods. type: boolean nodeAffinity: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeaffinity-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeaffinity-v1-core' properties: preferredDuringSchedulingIgnoredDuringExecution: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#preferredschedulingterm-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#preferredschedulingterm-v1-core' properties: preference: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorterm-v1-core' properties: matchExpressions: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core' properties: key: type: string @@ -96,7 +96,7 @@ spec: x-kubernetes-list-type: atomic matchFields: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core' properties: key: type: string @@ -127,15 +127,15 @@ spec: type: array x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselector-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselector-v1-core' properties: nodeSelectorTerms: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorterm-v1-core' properties: matchExpressions: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core' properties: key: type: string @@ -157,7 +157,7 @@ spec: x-kubernetes-list-type: atomic matchFields: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core' properties: key: type: string @@ -185,22 +185,22 @@ spec: type: object type: object podAntiAffinity: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podantiaffinity-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podantiaffinity-v1-core.' properties: preferredDuringSchedulingIgnoredDuringExecution: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#weightedpodaffinityterm-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#weightedpodaffinityterm-v1-core.' properties: podAffinityTerm: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podaffinityterm-v1-core.' properties: labelSelector: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselector-v1-meta' properties: matchExpressions: items: description: 'Refer to the Kubernetes docs: - https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta' + https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselectorrequirement-v1-meta' properties: key: type: string @@ -241,14 +241,14 @@ spec: x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podaffinityterm-v1-core.' properties: labelSelector: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselector-v1-meta' properties: matchExpressions: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselectorrequirement-v1-meta' properties: key: type: string @@ -321,7 +321,7 @@ spec: description: ImagePullSecrets is the list of pull Secrets to be used to pull the image. items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#localobjectreference-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#localobjectreference-v1-core.' properties: name: default: "" @@ -351,6 +351,9 @@ spec: mariaDbRef: description: MariaDBRef is a reference to a MariaDB object. properties: + kind: + description: Kind of the referent. + type: string name: type: string namespace: @@ -483,7 +486,7 @@ spec: description: PriorityClassName to be used in the Pod. type: string resources: - description: Resouces describes the compute resource requirements. + description: Resources describes the compute resource requirements. properties: limits: additionalProperties: @@ -669,14 +672,14 @@ spec: description: Volume is a Kubernetes volume specification. properties: csi: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#csivolumesource-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#csivolumesource-v1-core.' properties: driver: type: string fsType: type: string nodePublishSecretRef: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#localobjectreference-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#localobjectreference-v1-core.' properties: name: default: "" @@ -692,7 +695,7 @@ spec: - driver type: object emptyDir: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#emptydirvolumesource-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#emptydirvolumesource-v1-core.' properties: medium: description: StorageMedium defines ways that storage can @@ -706,7 +709,7 @@ spec: x-kubernetes-int-or-string: true type: object hostPath: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#hostpathvolumesource-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#hostpathvolumesource-v1-core' properties: path: type: string @@ -716,7 +719,7 @@ spec: - path type: object nfs: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nfsvolumesource-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nfsvolumesource-v1-core.' properties: path: type: string @@ -729,7 +732,7 @@ spec: - server type: object persistentVolumeClaim: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#persistentvolumeclaimvolumesource-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#persistentvolumeclaimvolumesource-v1-core.' properties: claimName: type: string @@ -920,14 +923,14 @@ spec: description: Volume is a Kubernetes volume specification. properties: csi: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#csivolumesource-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#csivolumesource-v1-core.' properties: driver: type: string fsType: type: string nodePublishSecretRef: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#localobjectreference-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#localobjectreference-v1-core.' properties: name: default: "" @@ -943,7 +946,7 @@ spec: - driver type: object emptyDir: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#emptydirvolumesource-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#emptydirvolumesource-v1-core.' properties: medium: description: StorageMedium defines ways that storage can @@ -957,7 +960,7 @@ spec: x-kubernetes-int-or-string: true type: object hostPath: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#hostpathvolumesource-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#hostpathvolumesource-v1-core' properties: path: type: string @@ -967,7 +970,7 @@ spec: - path type: object nfs: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nfsvolumesource-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nfsvolumesource-v1-core.' properties: path: type: string @@ -980,7 +983,7 @@ spec: - server type: object persistentVolumeClaim: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#persistentvolumeclaimvolumesource-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#persistentvolumeclaimvolumesource-v1-core.' properties: claimName: type: string @@ -1115,7 +1118,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.2 + controller-gen.kubebuilder.io/version: v0.18.0 name: connections.k8s.mariadb.com spec: group: k8s.mariadb.com @@ -1189,6 +1192,9 @@ spec: description: MariaDBRef is a reference to the MariaDB to connect to. Either MariaDBRef or MaxScaleRef must be provided. properties: + kind: + description: Kind of the referent. + type: string name: type: string namespace: @@ -1366,7 +1372,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.2 + controller-gen.kubebuilder.io/version: v0.18.0 name: databases.k8s.mariadb.com spec: group: k8s.mariadb.com @@ -1445,6 +1451,9 @@ spec: mariaDbRef: description: MariaDBRef is a reference to a MariaDB object. properties: + kind: + description: Kind of the referent. + type: string name: type: string namespace: @@ -1540,7 +1549,374 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.2 + controller-gen.kubebuilder.io/version: v0.18.0 + name: externalmariadbs.k8s.mariadb.com +spec: + group: k8s.mariadb.com + names: + kind: ExternalMariaDB + listKind: ExternalMariaDBList + plural: externalmariadbs + shortNames: + - emdb + singular: externalmariadb + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=="Ready")].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=="Ready")].message + name: Status + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: ExternalMariaDB is the Schema for the external MariaDBs API. + It is used to define external MariaDB server. + 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: ExternalMariaDBSpec defines the desired state of an External + MariaDB + properties: + connection: + description: Connection defines a template to configure a Connection + for the external MariaDB. + properties: + healthCheck: + description: HealthCheck to be used in the Connection. + properties: + interval: + description: Interval used to perform health checks. + type: string + retryInterval: + description: RetryInterval is the interval used to perform + health check retries. + type: string + type: object + params: + additionalProperties: + type: string + description: Params to be used in the Connection. + type: object + port: + description: Port to connect to. If not provided, it defaults + to the MariaDB port or to the first MaxScale listener. + format: int32 + type: integer + secretName: + description: SecretName to be used in the Connection. + type: string + secretTemplate: + description: SecretTemplate to be used in the Connection. + properties: + databaseKey: + description: DatabaseKey to be used in the Secret. + type: string + format: + description: Format to be used in the Secret. + type: string + hostKey: + description: HostKey to be used in the Secret. + type: string + key: + description: Key to be used in the Secret. + type: string + metadata: + description: Metadata to be added to the Secret object. + properties: + annotations: + additionalProperties: + type: string + description: Annotations to be added to children resources. + type: object + labels: + additionalProperties: + type: string + description: Labels to be added to children resources. + type: object + type: object + passwordKey: + description: PasswordKey to be used in the Secret. + type: string + portKey: + description: PortKey to be used in the Secret. + type: string + usernameKey: + description: UsernameKey to be used in the Secret. + type: string + type: object + serviceName: + description: ServiceName to be used in the Connection. + type: string + type: object + host: + description: Hostname of the external MariaDB. + type: string + image: + description: |- + Image name to be used to perform operations on the external MariaDB, for example, for taking backups. + The supported format is `:`. Only MariaDB official images are supported. + If not provided, the MariaDB image version be inferred by the operator in runtime. The default MariaDB image will be used in this case, + type: string + imagePullPolicy: + description: ImagePullPolicy is the image pull policy. One of `Always`, + `Never` or `IfNotPresent`. If not defined, it defaults to `IfNotPresent`. + enum: + - Always + - Never + - IfNotPresent + type: string + imagePullSecrets: + description: ImagePullSecrets is the list of pull Secrets to be used + to pull the image. + items: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#localobjectreference-v1-core.' + properties: + name: + default: "" + type: string + type: object + type: array + inheritMetadata: + description: InheritMetadata defines the metadata to be inherited + by children resources. + properties: + annotations: + additionalProperties: + type: string + description: Annotations to be added to children resources. + type: object + labels: + additionalProperties: + type: string + description: Labels to be added to children resources. + type: object + type: object + passwordSecretKeyRef: + description: PasswordSecretKeyRef is a reference to the password to + connect to the external MariaDB. + properties: + key: + type: string + name: + default: "" + type: string + required: + - key + type: object + x-kubernetes-map-type: atomic + port: + default: 3306 + description: Port of the external MariaDB. + format: int32 + type: integer + tls: + description: TLS defines the PKI to be used with the external MariaDB. + properties: + clientCASecretRef: + description: |- + ClientCASecretRef is a reference to a Secret containing the client certificate authority keypair. It is used to establish trust and issue client certificates. + One of: + - Secret containing both the 'ca.crt' and 'ca.key' keys. This allows you to bring your own CA to Kubernetes to issue certificates. + - Secret containing only the 'ca.crt' in order to establish trust. In this case, either clientCertSecretRef or clientCertIssuerRef fields must be provided. + If not provided, a self-signed CA will be provisioned to issue the client certificate. + properties: + name: + default: "" + type: string + type: object + clientCertIssuerRef: + description: |- + ClientCertIssuerRef is a reference to a cert-manager issuer object used to issue the client certificate. cert-manager must be installed previously in the cluster. + It is mutually exclusive with clientCertSecretRef. + By default, the Secret field 'ca.crt' provisioned by cert-manager will be added to the trust chain. A custom trust bundle may be specified via clientCASecretRef. + properties: + group: + description: Group of the resource being referred to. + type: string + kind: + description: Kind of the resource being referred to. + type: string + name: + description: Name of the resource being referred to. + type: string + required: + - name + type: object + clientCertSecretRef: + description: |- + ClientCertSecretRef is a reference to a TLS Secret containing the client certificate. + It is mutually exclusive with clientCertIssuerRef. + properties: + name: + default: "" + type: string + type: object + enabled: + description: |- + Enabled indicates whether TLS is enabled, determining if certificates should be issued and mounted to the MariaDB instance. + It is enabled by default. + type: boolean + galeraSSTEnabled: + description: |- + GaleraSSTEnabled determines whether Galera SST connections should use TLS. + It disabled by default. + type: boolean + required: + description: |- + Required specifies whether TLS must be enforced for all connections. + User TLS requirements take precedence over this. + It disabled by default. + type: boolean + serverCASecretRef: + description: |- + ServerCASecretRef is a reference to a Secret containing the server certificate authority keypair. It is used to establish trust and issue server certificates. + One of: + - Secret containing both the 'ca.crt' and 'ca.key' keys. This allows you to bring your own CA to Kubernetes to issue certificates. + - Secret containing only the 'ca.crt' in order to establish trust. In this case, either serverCertSecretRef or serverCertIssuerRef must be provided. + If not provided, a self-signed CA will be provisioned to issue the server certificate. + properties: + name: + default: "" + type: string + type: object + serverCertIssuerRef: + description: |- + ServerCertIssuerRef is a reference to a cert-manager issuer object used to issue the server certificate. cert-manager must be installed previously in the cluster. + It is mutually exclusive with serverCertSecretRef. + By default, the Secret field 'ca.crt' provisioned by cert-manager will be added to the trust chain. A custom trust bundle may be specified via serverCASecretRef. + properties: + group: + description: Group of the resource being referred to. + type: string + kind: + description: Kind of the resource being referred to. + type: string + name: + description: Name of the resource being referred to. + type: string + required: + - name + type: object + serverCertSecretRef: + description: |- + ServerCertSecretRef is a reference to a TLS Secret containing the server certificate. + It is mutually exclusive with serverCertIssuerRef. + properties: + name: + default: "" + type: string + type: object + type: object + username: + description: Username is the username to connect to the external MariaDB. + type: string + required: + - host + - username + type: object + status: + description: ExternalMariaDBStatus defines the observed state of MariaDB + properties: + conditions: + description: Conditions for the ExternalMariadb object. + items: + description: Condition contains details for one aspect of the current + state of this API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + maxLength: 316 + 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])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + isGaleraEnabled: + description: IsGaleraEnabled indicates that the external MariaDb has + Galera enabled. + type: boolean + version: + description: Version of the external MariaDB server. + type: string + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.18.0 name: grants.k8s.mariadb.com spec: group: k8s.mariadb.com @@ -1626,6 +2002,9 @@ spec: mariaDbRef: description: MariaDBRef is a reference to a MariaDB object. properties: + kind: + description: Kind of the referent. + type: string name: type: string namespace: @@ -1720,6 +2099,13 @@ spec: - type type: object type: array + currentPrivileges: + description: |- + CurrentPrivileges is the list of current privileges used in the Grant. + It allows to detect the divergence from the desired privileges. + items: + type: string + type: array type: object type: object served: true @@ -1731,7 +2117,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.2 + controller-gen.kubebuilder.io/version: v0.18.0 name: mariadbs.k8s.mariadb.com spec: group: k8s.mariadb.com @@ -1795,18 +2181,18 @@ spec: Make sure you have at least as many Nodes available as the replicas to not end up with unscheduled Pods. type: boolean nodeAffinity: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeaffinity-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeaffinity-v1-core' properties: preferredDuringSchedulingIgnoredDuringExecution: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#preferredschedulingterm-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#preferredschedulingterm-v1-core' properties: preference: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorterm-v1-core' properties: matchExpressions: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core' properties: key: type: string @@ -1828,7 +2214,7 @@ spec: x-kubernetes-list-type: atomic matchFields: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core' properties: key: type: string @@ -1859,15 +2245,15 @@ spec: type: array x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselector-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselector-v1-core' properties: nodeSelectorTerms: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorterm-v1-core' properties: matchExpressions: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core' properties: key: type: string @@ -1889,7 +2275,7 @@ spec: x-kubernetes-list-type: atomic matchFields: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core' properties: key: type: string @@ -1917,22 +2303,22 @@ spec: type: object type: object podAntiAffinity: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podantiaffinity-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podantiaffinity-v1-core.' properties: preferredDuringSchedulingIgnoredDuringExecution: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#weightedpodaffinityterm-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#weightedpodaffinityterm-v1-core.' properties: podAffinityTerm: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podaffinityterm-v1-core.' properties: labelSelector: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselector-v1-meta' properties: matchExpressions: items: description: 'Refer to the Kubernetes docs: - https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta' + https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselectorrequirement-v1-meta' properties: key: type: string @@ -1973,14 +2359,14 @@ spec: x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podaffinityterm-v1-core.' properties: labelSelector: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselector-v1-meta' properties: matchExpressions: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselectorrequirement-v1-meta' properties: key: type: string @@ -2022,17 +2408,30 @@ spec: bootstrapFrom: description: BootstrapFrom defines a source to bootstrap from. properties: + backupContentType: + description: |- + BackupContentType is the backup content type available in the source to bootstrap from. + It is inferred based on the BackupRef and VolumeSnapshotRef fields. If inference is not possible, it defaults to Logical. + Set this field explicitly when using physical backups from S3 or Volume sources. + enum: + - Logical + - Physical + type: string backupRef: - description: BackupRef is a reference to a Backup object. It has - priority over S3 and Volume. + description: |- + BackupRef is reference to a backup object. If the Kind is not specified, a logical Backup is assumed. + This field takes precedence over S3 and Volume sources. properties: + kind: + description: Kind of the referent. + type: string name: - default: "" + description: Name of the referent. type: string type: object restoreJob: description: RestoreJob defines additional properties for the - Job used to perform the Restore. + Job used to perform the restoration. properties: affinity: description: Affinity to be used in the Pod. @@ -2043,20 +2442,20 @@ spec: Make sure you have at least as many Nodes available as the replicas to not end up with unscheduled Pods. type: boolean nodeAffinity: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeaffinity-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeaffinity-v1-core' properties: preferredDuringSchedulingIgnoredDuringExecution: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#preferredschedulingterm-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#preferredschedulingterm-v1-core' properties: preference: description: 'Refer to the Kubernetes docs: - https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core' + https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorterm-v1-core' properties: matchExpressions: items: description: 'Refer to the Kubernetes - docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core' + docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core' properties: key: type: string @@ -2079,7 +2478,7 @@ spec: matchFields: items: description: 'Refer to the Kubernetes - docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core' + docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core' properties: key: type: string @@ -2110,17 +2509,17 @@ spec: type: array x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselector-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselector-v1-core' properties: nodeSelectorTerms: items: description: 'Refer to the Kubernetes docs: - https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core' + https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorterm-v1-core' properties: matchExpressions: items: description: 'Refer to the Kubernetes - docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core' + docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core' properties: key: type: string @@ -2143,7 +2542,7 @@ spec: matchFields: items: description: 'Refer to the Kubernetes - docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core' + docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core' properties: key: type: string @@ -2171,24 +2570,24 @@ spec: type: object type: object podAntiAffinity: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podantiaffinity-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podantiaffinity-v1-core.' properties: preferredDuringSchedulingIgnoredDuringExecution: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#weightedpodaffinityterm-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#weightedpodaffinityterm-v1-core.' properties: podAffinityTerm: description: 'Refer to the Kubernetes docs: - https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core.' + https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podaffinityterm-v1-core.' properties: labelSelector: description: 'Refer to the Kubernetes docs: - https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta' + https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselector-v1-meta' properties: matchExpressions: items: description: 'Refer to the Kubernetes - docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta' + docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselectorrequirement-v1-meta' properties: key: type: string @@ -2230,16 +2629,16 @@ spec: x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podaffinityterm-v1-core.' properties: labelSelector: description: 'Refer to the Kubernetes docs: - https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta' + https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselector-v1-meta' properties: matchExpressions: items: description: 'Refer to the Kubernetes - docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta' + docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselectorrequirement-v1-meta' properties: key: type: string @@ -2293,8 +2692,13 @@ spec: description: Labels to be added to children resources. type: object type: object + nodeSelector: + additionalProperties: + type: string + description: NodeSelector to be used in the Pod. + type: object resources: - description: Resouces describes the compute resource requirements. + description: Resources describes the compute resource requirements. properties: limits: additionalProperties: @@ -2317,10 +2721,50 @@ spec: quantity) pairs. type: object type: object + tolerations: + description: Tolerations to be used in the Pod. + items: + description: |- + The pod this Toleration is attached to tolerates any taint that matches + the triple using the matching operator . + properties: + effect: + description: |- + Effect indicates the taint effect to match. Empty means match all taint effects. + When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. + type: string + key: + description: |- + Key is the taint key that the toleration applies to. Empty means match all taint keys. + If the key is empty, operator must be Exists; this combination means to match all values and all keys. + type: string + operator: + description: |- + Operator represents a key's relationship to the value. + Valid operators are Exists and Equal. Defaults to Equal. + Exists is equivalent to wildcard for value, so that a pod can + tolerate all taints of a particular category. + type: string + tolerationSeconds: + description: |- + TolerationSeconds represents the period of time the toleration (which must be + of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, + it is not set, which means tolerate the taint forever (do not evict). Zero and + negative values will be treated as 0 (evict immediately) by the system. + format: int64 + type: integer + value: + description: |- + Value is the taint value the toleration matches to. + If the operator is Exists, the value should be empty, otherwise just a regular string. + type: string + type: object + type: array type: object s3: - description: S3 defines the configuration to restore backups from - a S3 compatible storage. It has priority over Volume. + description: |- + S3 defines the configuration to restore backups from a S3 compatible storage. + This field takes precedence over the Volume source. properties: accessKeyIdSecretKeyRef: description: AccessKeyIdSecretKeyRef is a reference to a Secret @@ -2405,7 +2849,7 @@ spec: stagingStorage: description: |- StagingStorage defines the temporary storage used to keep external backups (i.e. S3) while they are being processed. - It defaults to an emptyDir volume, meaning that the backups will be temporarily stored in the node where the Restore Job is scheduled. + It defaults to an emptyDir volume, meaning that the backups will be temporarily stored in the node where the Job is scheduled. properties: persistentVolumeClaim: description: PersistentVolumeClaim is a Kubernetes PVC specification. @@ -2500,14 +2944,14 @@ spec: description: Volume is a Kubernetes volume specification. properties: csi: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#csivolumesource-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#csivolumesource-v1-core.' properties: driver: type: string fsType: type: string nodePublishSecretRef: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#localobjectreference-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#localobjectreference-v1-core.' properties: name: default: "" @@ -2523,7 +2967,7 @@ spec: - driver type: object emptyDir: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#emptydirvolumesource-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#emptydirvolumesource-v1-core.' properties: medium: description: StorageMedium defines ways that storage @@ -2537,7 +2981,7 @@ spec: x-kubernetes-int-or-string: true type: object hostPath: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#hostpathvolumesource-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#hostpathvolumesource-v1-core' properties: path: type: string @@ -2547,7 +2991,7 @@ spec: - path type: object nfs: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nfsvolumesource-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nfsvolumesource-v1-core.' properties: path: type: string @@ -2560,7 +3004,7 @@ spec: - server type: object persistentVolumeClaim: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#persistentvolumeclaimvolumesource-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#persistentvolumeclaimvolumesource-v1-core.' properties: claimName: type: string @@ -2582,14 +3026,14 @@ spec: a backup. properties: csi: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#csivolumesource-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#csivolumesource-v1-core.' properties: driver: type: string fsType: type: string nodePublishSecretRef: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#localobjectreference-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#localobjectreference-v1-core.' properties: name: default: "" @@ -2605,7 +3049,7 @@ spec: - driver type: object emptyDir: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#emptydirvolumesource-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#emptydirvolumesource-v1-core.' properties: medium: description: StorageMedium defines ways that storage can @@ -2619,7 +3063,7 @@ spec: x-kubernetes-int-or-string: true type: object hostPath: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#hostpathvolumesource-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#hostpathvolumesource-v1-core' properties: path: type: string @@ -2629,7 +3073,7 @@ spec: - path type: object nfs: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nfsvolumesource-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nfsvolumesource-v1-core.' properties: path: type: string @@ -2642,7 +3086,7 @@ spec: - server type: object persistentVolumeClaim: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#persistentvolumeclaimvolumesource-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#persistentvolumeclaimvolumesource-v1-core.' properties: claimName: type: string @@ -2652,6 +3096,15 @@ spec: - claimName type: object type: object + volumeSnapshotRef: + description: |- + VolumeSnapshotRef is a reference to a VolumeSnapshot object. + This field takes precedence over S3 and Volume sources. + properties: + name: + default: "" + type: string + type: object type: object command: description: Command to be used in the Container. @@ -2738,7 +3191,7 @@ spec: description: Env represents the environment variables to be injected in a container. items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#envvarsource-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#envvarsource-v1-core.' properties: name: description: Name of the environment variable. Must be a C_IDENTIFIER. @@ -2746,10 +3199,10 @@ spec: value: type: string valueFrom: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#envvarsource-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#envvarsource-v1-core.' properties: configMapKeyRef: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#configmapkeyselector-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#configmapkeyselector-v1-core.' properties: key: type: string @@ -2761,7 +3214,7 @@ spec: type: object x-kubernetes-map-type: atomic fieldRef: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#objectfieldselector-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#objectfieldselector-v1-core.' properties: apiVersion: type: string @@ -2772,7 +3225,7 @@ spec: type: object x-kubernetes-map-type: atomic secretKeyRef: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#secretkeyselector-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#secretkeyselector-v1-core.' properties: key: type: string @@ -2792,10 +3245,10 @@ spec: description: EnvFrom represents the references (via ConfigMap and Secrets) to environment variables to be injected in the container. items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#envfromsource-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#envfromsource-v1-core.' properties: configMapRef: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#localobjectreference-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#localobjectreference-v1-core.' properties: name: default: "" @@ -2804,7 +3257,7 @@ spec: prefix: type: string secretRef: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#localobjectreference-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#localobjectreference-v1-core.' properties: name: default: "" @@ -2816,8 +3269,7 @@ spec: description: Replication configures high availability via Galera. properties: agent: - description: GaleraAgent is a sidecar agent that co-operates with - mariadb-operator. + description: Agent is a sidecar agent that co-operates with mariadb-operator. properties: args: description: Args to be used in the Container. @@ -2862,7 +3314,7 @@ spec: description: Env represents the environment variables to be injected in a container. items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#envvarsource-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#envvarsource-v1-core.' properties: name: description: Name of the environment variable. Must @@ -2871,10 +3323,10 @@ spec: value: type: string valueFrom: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#envvarsource-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#envvarsource-v1-core.' properties: configMapKeyRef: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#configmapkeyselector-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#configmapkeyselector-v1-core.' properties: key: type: string @@ -2886,7 +3338,7 @@ spec: type: object x-kubernetes-map-type: atomic fieldRef: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#objectfieldselector-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#objectfieldselector-v1-core.' properties: apiVersion: type: string @@ -2897,7 +3349,7 @@ spec: type: object x-kubernetes-map-type: atomic secretKeyRef: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#secretkeyselector-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#secretkeyselector-v1-core.' properties: key: type: string @@ -2918,10 +3370,10 @@ spec: and Secrets) to environment variables to be injected in the container. items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#envfromsource-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#envfromsource-v1-core.' properties: configMapRef: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#localobjectreference-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#localobjectreference-v1-core.' properties: name: default: "" @@ -2930,7 +3382,7 @@ spec: prefix: type: string secretRef: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#localobjectreference-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#localobjectreference-v1-core.' properties: name: default: "" @@ -2972,7 +3424,7 @@ spec: description: LivenessProbe to be used in the Container. properties: exec: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#execaction-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#execaction-v1-core.' properties: command: items: @@ -2984,7 +3436,7 @@ spec: format: int32 type: integer httpGet: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#httpgetaction-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#httpgetaction-v1-core.' properties: host: type: string @@ -3012,7 +3464,7 @@ spec: format: int32 type: integer tcpSocket: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#tcpsocketaction-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#tcpsocketaction-v1-core.' properties: host: type: string @@ -3042,7 +3494,7 @@ spec: description: ReadinessProbe to be used in the Container. properties: exec: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#execaction-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#execaction-v1-core.' properties: command: items: @@ -3054,7 +3506,7 @@ spec: format: int32 type: integer httpGet: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#httpgetaction-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#httpgetaction-v1-core.' properties: host: type: string @@ -3082,7 +3534,7 @@ spec: format: int32 type: integer tcpSocket: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#tcpsocketaction-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#tcpsocketaction-v1-core.' properties: host: type: string @@ -3099,7 +3551,7 @@ spec: type: integer type: object resources: - description: Resouces describes the compute resource requirements. + description: Resources describes the compute resource requirements. properties: limits: additionalProperties: @@ -3166,7 +3618,7 @@ spec: description: StartupProbe to be used in the Container. properties: exec: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#execaction-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#execaction-v1-core.' properties: command: items: @@ -3178,7 +3630,7 @@ spec: format: int32 type: integer httpGet: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#httpgetaction-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#httpgetaction-v1-core.' properties: host: type: string @@ -3206,7 +3658,7 @@ spec: format: int32 type: integer tcpSocket: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#tcpsocketaction-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#tcpsocketaction-v1-core.' properties: host: type: string @@ -3225,7 +3677,7 @@ spec: volumeMounts: description: VolumeMounts to be used in the Container. items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#volumemount-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#volumemount-v1-core.' properties: mountPath: type: string @@ -3387,7 +3839,7 @@ spec: description: Env represents the environment variables to be injected in a container. items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#envvarsource-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#envvarsource-v1-core.' properties: name: description: Name of the environment variable. Must @@ -3396,10 +3848,10 @@ spec: value: type: string valueFrom: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#envvarsource-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#envvarsource-v1-core.' properties: configMapKeyRef: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#configmapkeyselector-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#configmapkeyselector-v1-core.' properties: key: type: string @@ -3411,7 +3863,7 @@ spec: type: object x-kubernetes-map-type: atomic fieldRef: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#objectfieldselector-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#objectfieldselector-v1-core.' properties: apiVersion: type: string @@ -3422,7 +3874,7 @@ spec: type: object x-kubernetes-map-type: atomic secretKeyRef: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#secretkeyselector-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#secretkeyselector-v1-core.' properties: key: type: string @@ -3443,10 +3895,10 @@ spec: and Secrets) to environment variables to be injected in the container. items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#envfromsource-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#envfromsource-v1-core.' properties: configMapRef: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#localobjectreference-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#localobjectreference-v1-core.' properties: name: default: "" @@ -3455,7 +3907,7 @@ spec: prefix: type: string secretRef: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#localobjectreference-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#localobjectreference-v1-core.' properties: name: default: "" @@ -3480,7 +3932,7 @@ spec: description: LivenessProbe to be used in the Container. properties: exec: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#execaction-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#execaction-v1-core.' properties: command: items: @@ -3492,7 +3944,7 @@ spec: format: int32 type: integer httpGet: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#httpgetaction-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#httpgetaction-v1-core.' properties: host: type: string @@ -3520,7 +3972,7 @@ spec: format: int32 type: integer tcpSocket: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#tcpsocketaction-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#tcpsocketaction-v1-core.' properties: host: type: string @@ -3540,7 +3992,7 @@ spec: description: ReadinessProbe to be used in the Container. properties: exec: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#execaction-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#execaction-v1-core.' properties: command: items: @@ -3552,7 +4004,7 @@ spec: format: int32 type: integer httpGet: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#httpgetaction-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#httpgetaction-v1-core.' properties: host: type: string @@ -3580,7 +4032,7 @@ spec: format: int32 type: integer tcpSocket: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#tcpsocketaction-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#tcpsocketaction-v1-core.' properties: host: type: string @@ -3597,7 +4049,7 @@ spec: type: integer type: object resources: - description: Resouces describes the compute resource requirements. + description: Resources describes the compute resource requirements. properties: limits: additionalProperties: @@ -3664,7 +4116,7 @@ spec: description: StartupProbe to be used in the Container. properties: exec: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#execaction-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#execaction-v1-core.' properties: command: items: @@ -3676,7 +4128,7 @@ spec: format: int32 type: integer httpGet: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#httpgetaction-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#httpgetaction-v1-core.' properties: host: type: string @@ -3704,7 +4156,7 @@ spec: format: int32 type: integer tcpSocket: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#tcpsocketaction-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#tcpsocketaction-v1-core.' properties: host: type: string @@ -3723,7 +4175,7 @@ spec: volumeMounts: description: VolumeMounts to be used in the Container. items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#volumemount-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#volumemount-v1-core.' properties: mountPath: type: string @@ -3762,7 +4214,7 @@ spec: type: object type: object resources: - description: Resouces describes the compute resource requirements. + description: Resources describes the compute resource requirements. properties: limits: additionalProperties: @@ -3790,10 +4242,10 @@ spec: description: Primary is the Galera configuration for the primary node. properties: - automaticFailover: - description: AutomaticFailover indicates whether the operator - should automatically update PodIndex to perform an automatic - primary failover. + autoFailover: + description: AutoFailover indicates whether the operator should + automatically update PodIndex to perform an automatic primary + failover. type: boolean podIndex: description: PodIndex is the StatefulSet index of the primary @@ -3871,7 +4323,8 @@ spec: It defaults to true. type: boolean resources: - description: Resouces describes the compute resource requirements. + description: Resources describes the compute resource + requirements. properties: limits: additionalProperties: @@ -3947,7 +4400,7 @@ spec: description: ImagePullSecrets is the list of pull Secrets to be used to pull the image. items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#localobjectreference-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#localobjectreference-v1-core.' properties: name: default: "" @@ -3988,7 +4441,7 @@ spec: description: Env represents the environment variables to be injected in a container. items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#envvarsource-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#envvarsource-v1-core.' properties: name: description: Name of the environment variable. Must be @@ -3997,10 +4450,10 @@ spec: value: type: string valueFrom: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#envvarsource-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#envvarsource-v1-core.' properties: configMapKeyRef: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#configmapkeyselector-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#configmapkeyselector-v1-core.' properties: key: type: string @@ -4012,7 +4465,7 @@ spec: type: object x-kubernetes-map-type: atomic fieldRef: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#objectfieldselector-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#objectfieldselector-v1-core.' properties: apiVersion: type: string @@ -4023,7 +4476,7 @@ spec: type: object x-kubernetes-map-type: atomic secretKeyRef: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#secretkeyselector-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#secretkeyselector-v1-core.' properties: key: type: string @@ -4056,7 +4509,7 @@ spec: description: Name to be given to the container. type: string resources: - description: Resouces describes the compute resource requirements. + description: Resources describes the compute resource requirements. properties: limits: additionalProperties: @@ -4082,7 +4535,7 @@ spec: volumeMounts: description: VolumeMounts to be used in the Container. items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#volumemount-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#volumemount-v1-core.' properties: mountPath: type: string @@ -4106,7 +4559,7 @@ spec: description: LivenessProbe to be used in the Container. properties: exec: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#execaction-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#execaction-v1-core.' properties: command: items: @@ -4118,7 +4571,7 @@ spec: format: int32 type: integer httpGet: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#httpgetaction-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#httpgetaction-v1-core.' properties: host: type: string @@ -4146,7 +4599,7 @@ spec: format: int32 type: integer tcpSocket: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#tcpsocketaction-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#tcpsocketaction-v1-core.' properties: host: type: string @@ -4248,9 +4701,9 @@ spec: It only supports MariaDBs specified via spec.mariaDbRef. type: boolean metricsPasswordSecretKeyRef: - description: |- - MetricsPasswordSecretKeyRef is Secret key reference to the metrics password to call the admib REST API. It is defaulted if metrics are enabled. - If the referred Secret is labeled with "k8s.mariadb.com/watch", updates may be performed to the Secret in order to update the password. + description: MetricsPasswordSecretKeyRef is Secret key reference + to the metrics password to call the admib REST API. It is + defaulted if metrics are enabled. properties: generate: default: false @@ -4698,21 +5151,21 @@ spec: Make sure you have at least as many Nodes available as the replicas to not end up with unscheduled Pods. type: boolean nodeAffinity: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeaffinity-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeaffinity-v1-core' properties: preferredDuringSchedulingIgnoredDuringExecution: items: description: 'Refer to the Kubernetes docs: - https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#preferredschedulingterm-v1-core' + https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#preferredschedulingterm-v1-core' properties: preference: description: 'Refer to the Kubernetes docs: - https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core' + https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorterm-v1-core' properties: matchExpressions: items: description: 'Refer to the Kubernetes - docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core' + docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core' properties: key: type: string @@ -4735,7 +5188,7 @@ spec: matchFields: items: description: 'Refer to the Kubernetes - docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core' + docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core' properties: key: type: string @@ -4766,17 +5219,17 @@ spec: type: array x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselector-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselector-v1-core' properties: nodeSelectorTerms: items: description: 'Refer to the Kubernetes docs: - https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core' + https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorterm-v1-core' properties: matchExpressions: items: description: 'Refer to the Kubernetes - docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core' + docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core' properties: key: type: string @@ -4799,7 +5252,7 @@ spec: matchFields: items: description: 'Refer to the Kubernetes - docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core' + docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core' properties: key: type: string @@ -4827,25 +5280,25 @@ spec: type: object type: object podAntiAffinity: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podantiaffinity-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podantiaffinity-v1-core.' properties: preferredDuringSchedulingIgnoredDuringExecution: items: description: 'Refer to the Kubernetes docs: - https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#weightedpodaffinityterm-v1-core.' + https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#weightedpodaffinityterm-v1-core.' properties: podAffinityTerm: description: 'Refer to the Kubernetes docs: - https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core.' + https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podaffinityterm-v1-core.' properties: labelSelector: description: 'Refer to the Kubernetes - docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta' + docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselector-v1-meta' properties: matchExpressions: items: description: 'Refer to the Kubernetes - docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta' + docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselectorrequirement-v1-meta' properties: key: type: string @@ -4888,16 +5341,16 @@ spec: requiredDuringSchedulingIgnoredDuringExecution: items: description: 'Refer to the Kubernetes docs: - https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core.' + https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podaffinityterm-v1-core.' properties: labelSelector: description: 'Refer to the Kubernetes docs: - https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta' + https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselector-v1-meta' properties: matchExpressions: items: description: 'Refer to the Kubernetes - docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta' + docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselectorrequirement-v1-meta' properties: key: type: string @@ -4955,7 +5408,7 @@ spec: description: ImagePullSecrets is the list of pull Secrets to be used to pull the image. items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#localobjectreference-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#localobjectreference-v1-core.' properties: name: default: "" @@ -5085,7 +5538,8 @@ spec: description: PriorityClassName to be used in the Pod. type: string resources: - description: Resouces describes the compute resource requirements. + description: Resources describes the compute resource + requirements. properties: limits: additionalProperties: @@ -5237,7 +5691,7 @@ spec: Params defines extra parameters to pass to the monitor. Any parameter supported by MaxScale may be specified here. See reference: https://mariadb.com/kb/en/mariadb-maxscale-2308-common-monitor-parameters/. - Monitor specific parameter are also suported: + Monitor specific parameter are also supported: https://mariadb.com/kb/en/mariadb-maxscale-2308-galera-monitor/#galera-monitor-optional-parameters. https://mariadb.com/kb/en/mariadb-maxscale-2308-mariadb-monitor/#configuration. type: object @@ -5326,7 +5780,7 @@ spec: Params defines extra parameters to pass to the service. Any parameter supported by MaxScale may be specified here. See reference: https://mariadb.com/kb/en/mariadb-maxscale-2308-mariadb-maxscale-configuration-guide/#service_1. - Router specific parameter are also suported: + Router specific parameter are also supported: https://mariadb.com/kb/en/mariadb-maxscale-2308-readwritesplit/#configuration. https://mariadb.com/kb/en/mariadb-maxscale-2308-readconnroute/#configuration. type: object @@ -5533,20 +5987,20 @@ spec: Make sure you have at least as many Nodes available as the replicas to not end up with unscheduled Pods. type: boolean nodeAffinity: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeaffinity-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeaffinity-v1-core' properties: preferredDuringSchedulingIgnoredDuringExecution: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#preferredschedulingterm-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#preferredschedulingterm-v1-core' properties: preference: description: 'Refer to the Kubernetes docs: - https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core' + https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorterm-v1-core' properties: matchExpressions: items: description: 'Refer to the Kubernetes - docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core' + docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core' properties: key: type: string @@ -5569,7 +6023,7 @@ spec: matchFields: items: description: 'Refer to the Kubernetes - docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core' + docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core' properties: key: type: string @@ -5600,17 +6054,17 @@ spec: type: array x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselector-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselector-v1-core' properties: nodeSelectorTerms: items: description: 'Refer to the Kubernetes docs: - https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core' + https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorterm-v1-core' properties: matchExpressions: items: description: 'Refer to the Kubernetes - docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core' + docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core' properties: key: type: string @@ -5633,7 +6087,7 @@ spec: matchFields: items: description: 'Refer to the Kubernetes - docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core' + docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core' properties: key: type: string @@ -5661,24 +6115,24 @@ spec: type: object type: object podAntiAffinity: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podantiaffinity-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podantiaffinity-v1-core.' properties: preferredDuringSchedulingIgnoredDuringExecution: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#weightedpodaffinityterm-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#weightedpodaffinityterm-v1-core.' properties: podAffinityTerm: description: 'Refer to the Kubernetes docs: - https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core.' + https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podaffinityterm-v1-core.' properties: labelSelector: description: 'Refer to the Kubernetes docs: - https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta' + https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselector-v1-meta' properties: matchExpressions: items: description: 'Refer to the Kubernetes - docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta' + docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselectorrequirement-v1-meta' properties: key: type: string @@ -5720,16 +6174,16 @@ spec: x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podaffinityterm-v1-core.' properties: labelSelector: description: 'Refer to the Kubernetes docs: - https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta' + https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselector-v1-meta' properties: matchExpressions: items: description: 'Refer to the Kubernetes - docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta' + docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselectorrequirement-v1-meta' properties: key: type: string @@ -5786,7 +6240,7 @@ spec: description: ImagePullSecrets is the list of pull Secrets to be used to pull the image. items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#localobjectreference-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#localobjectreference-v1-core.' properties: name: default: "" @@ -5915,7 +6369,7 @@ spec: description: PriorityClassName to be used in the Pod. type: string resources: - description: Resouces describes the compute resource requirements. + description: Resources describes the compute resource requirements. properties: limits: additionalProperties: @@ -6408,7 +6862,7 @@ spec: description: ReadinessProbe to be used in the Container. properties: exec: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#execaction-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#execaction-v1-core.' properties: command: items: @@ -6420,7 +6874,7 @@ spec: format: int32 type: integer httpGet: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#httpgetaction-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#httpgetaction-v1-core.' properties: host: type: string @@ -6448,7 +6902,7 @@ spec: format: int32 type: integer tcpSocket: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#tcpsocketaction-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#tcpsocketaction-v1-core.' properties: host: type: string @@ -6478,52 +6932,1245 @@ spec: This feature is still in alpha, use Galera if you are looking for a more production-ready HA. properties: + agent: + description: Agent is a sidecar agent that runs in the MariaDB + Pod and co-operates with mariadb-operator. + properties: + args: + description: Args to be used in the Container. + items: + type: string + type: array + basicAuth: + description: BasicAuth to be used by the agent container + properties: + enabled: + description: Enabled is a flag to enable BasicAuth + type: boolean + passwordSecretKeyRef: + description: PasswordSecretKeyRef to be used for basic + authentication + properties: + generate: + default: false + description: Generate indicates whether the Secret + should be generated if the Secret referenced is + not present. + type: boolean + key: + type: string + name: + default: "" + type: string + required: + - key + type: object + x-kubernetes-map-type: atomic + username: + description: Username to be used for basic authentication + type: string + type: object + command: + description: Command to be used in the Container. + items: + type: string + type: array + env: + description: Env represents the environment variables to be + injected in a container. + items: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#envvarsource-v1-core.' + properties: + name: + description: Name of the environment variable. Must + be a C_IDENTIFIER. + type: string + value: + type: string + valueFrom: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#envvarsource-v1-core.' + properties: + configMapKeyRef: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#configmapkeyselector-v1-core.' + properties: + key: + type: string + name: + default: "" + type: string + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#objectfieldselector-v1-core.' + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#secretkeyselector-v1-core.' + properties: + key: + type: string + name: + default: "" + type: string + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + envFrom: + description: EnvFrom represents the references (via ConfigMap + and Secrets) to environment variables to be injected in + the container. + items: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#envfromsource-v1-core.' + properties: + configMapRef: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#localobjectreference-v1-core.' + properties: + name: + default: "" + type: string + type: object + prefix: + type: string + secretRef: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#localobjectreference-v1-core.' + properties: + name: + default: "" + type: string + type: object + type: object + type: array + gracefulShutdownTimeout: + description: GracefulShutdownTimeout is the time we give to + the agent container in order to gracefully terminate in-flight + requests. + type: string + image: + description: Image name to be used by the MariaDB instances. + The supported format is `:`. + type: string + imagePullPolicy: + description: ImagePullPolicy is the image pull policy. One + of `Always`, `Never` or `IfNotPresent`. If not defined, + it defaults to `IfNotPresent`. + enum: + - Always + - Never + - IfNotPresent + type: string + kubernetesAuth: + description: KubernetesAuth to be used by the agent container + properties: + authDelegatorRoleName: + description: |- + AuthDelegatorRoleName is the name of the ClusterRoleBinding that is associated with the "system:auth-delegator" ClusterRole. + It is necessary for creating TokenReview objects in order for the agent to validate the service account token. + type: string + enabled: + description: Enabled is a flag to enable KubernetesAuth + type: boolean + type: object + livenessProbe: + description: LivenessProbe to be used in the Container. + properties: + exec: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#execaction-v1-core.' + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + httpGet: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#httpgetaction-v1-core.' + properties: + host: + type: string + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + description: URIScheme identifies the scheme used + for connection to a host for Get actions + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#tcpsocketaction-v1-core.' + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + timeoutSeconds: + format: int32 + type: integer + type: object + port: + description: Port where the agent will be listening for API + connections. + format: int32 + type: integer + probePort: + description: Port where the agent will be listening for probe + connections. + format: int32 + type: integer + readinessProbe: + description: ReadinessProbe to be used in the Container. + properties: + exec: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#execaction-v1-core.' + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + httpGet: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#httpgetaction-v1-core.' + properties: + host: + type: string + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + description: URIScheme identifies the scheme used + for connection to a host for Get actions + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#tcpsocketaction-v1-core.' + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + timeoutSeconds: + format: int32 + type: integer + type: object + resources: + description: Resources describes the compute resource requirements. + 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: 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: ResourceList is a set of (resource name, + quantity) pairs. + type: object + type: object + securityContext: + description: SecurityContext holds security configuration + that will be applied to a container. + properties: + allowPrivilegeEscalation: + type: boolean + capabilities: + description: Adds and removes POSIX capabilities from + running containers. + properties: + add: + description: Added capabilities + items: + description: Capability represent POSIX capabilities + type + type: string + type: array + x-kubernetes-list-type: atomic + drop: + description: Removed capabilities + items: + description: Capability represent POSIX capabilities + type + type: string + type: array + x-kubernetes-list-type: atomic + type: object + privileged: + type: boolean + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + type: object + startupProbe: + description: StartupProbe to be used in the Container. + properties: + exec: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#execaction-v1-core.' + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + httpGet: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#httpgetaction-v1-core.' + properties: + host: + type: string + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + description: URIScheme identifies the scheme used + for connection to a host for Get actions + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#tcpsocketaction-v1-core.' + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + timeoutSeconds: + format: int32 + type: integer + type: object + volumeMounts: + description: VolumeMounts to be used in the Container. + items: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#volumemount-v1-core.' + properties: + mountPath: + type: string + name: + description: This must match the Name of a Volume. + type: string + readOnly: + type: boolean + subPath: + type: string + required: + - mountPath + - name + type: object + type: array + type: object enabled: - description: Enabled is a flag to enable Replication. + description: Enabled is a flag to enable replication. type: boolean + gtidStrictMode: + description: |- + GtidStrictMode determines whether the GTID strict mode is enabled. + See: https://mariadb.com/docs/server/ha-and-performance/standard-replication/gtid#gtid_strict_mode. + It is enabled by default. + type: boolean + initContainer: + description: InitContainer is an init container that runs in the + MariaDB Pod and co-operates with mariadb-operator. + properties: + args: + description: Args to be used in the Container. + items: + type: string + type: array + command: + description: Command to be used in the Container. + items: + type: string + type: array + env: + description: Env represents the environment variables to be + injected in a container. + items: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#envvarsource-v1-core.' + properties: + name: + description: Name of the environment variable. Must + be a C_IDENTIFIER. + type: string + value: + type: string + valueFrom: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#envvarsource-v1-core.' + properties: + configMapKeyRef: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#configmapkeyselector-v1-core.' + properties: + key: + type: string + name: + default: "" + type: string + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#objectfieldselector-v1-core.' + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#secretkeyselector-v1-core.' + properties: + key: + type: string + name: + default: "" + type: string + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + envFrom: + description: EnvFrom represents the references (via ConfigMap + and Secrets) to environment variables to be injected in + the container. + items: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#envfromsource-v1-core.' + properties: + configMapRef: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#localobjectreference-v1-core.' + properties: + name: + default: "" + type: string + type: object + prefix: + type: string + secretRef: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#localobjectreference-v1-core.' + properties: + name: + default: "" + type: string + type: object + type: object + type: array + image: + description: Image name to be used by the MariaDB instances. + The supported format is `:`. + type: string + imagePullPolicy: + description: ImagePullPolicy is the image pull policy. One + of `Always`, `Never` or `IfNotPresent`. If not defined, + it defaults to `IfNotPresent`. + enum: + - Always + - Never + - IfNotPresent + type: string + livenessProbe: + description: LivenessProbe to be used in the Container. + properties: + exec: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#execaction-v1-core.' + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + httpGet: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#httpgetaction-v1-core.' + properties: + host: + type: string + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + description: URIScheme identifies the scheme used + for connection to a host for Get actions + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#tcpsocketaction-v1-core.' + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + timeoutSeconds: + format: int32 + type: integer + type: object + readinessProbe: + description: ReadinessProbe to be used in the Container. + properties: + exec: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#execaction-v1-core.' + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + httpGet: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#httpgetaction-v1-core.' + properties: + host: + type: string + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + description: URIScheme identifies the scheme used + for connection to a host for Get actions + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#tcpsocketaction-v1-core.' + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + timeoutSeconds: + format: int32 + type: integer + type: object + resources: + description: Resources describes the compute resource requirements. + 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: 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: ResourceList is a set of (resource name, + quantity) pairs. + type: object + type: object + securityContext: + description: SecurityContext holds security configuration + that will be applied to a container. + properties: + allowPrivilegeEscalation: + type: boolean + capabilities: + description: Adds and removes POSIX capabilities from + running containers. + properties: + add: + description: Added capabilities + items: + description: Capability represent POSIX capabilities + type + type: string + type: array + x-kubernetes-list-type: atomic + drop: + description: Removed capabilities + items: + description: Capability represent POSIX capabilities + type + type: string + type: array + x-kubernetes-list-type: atomic + type: object + privileged: + type: boolean + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + type: object + startupProbe: + description: StartupProbe to be used in the Container. + properties: + exec: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#execaction-v1-core.' + properties: + command: + items: + type: string + type: array + x-kubernetes-list-type: atomic + type: object + failureThreshold: + format: int32 + type: integer + httpGet: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#httpgetaction-v1-core.' + properties: + host: + type: string + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + description: URIScheme identifies the scheme used + for connection to a host for Get actions + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#tcpsocketaction-v1-core.' + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + timeoutSeconds: + format: int32 + type: integer + type: object + volumeMounts: + description: VolumeMounts to be used in the Container. + items: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#volumemount-v1-core.' + properties: + mountPath: + type: string + name: + description: This must match the Name of a Volume. + type: string + readOnly: + type: boolean + subPath: + type: string + required: + - mountPath + - name + type: object + type: array + required: + - image + type: object primary: description: Primary is the replication configuration for the primary node. properties: - automaticFailover: - description: AutomaticFailover indicates whether the operator - should automatically update PodIndex to perform an automatic - primary failover. + autoFailover: + description: |- + AutoFailover indicates whether the operator should automatically update PodIndex to perform an automatic primary failover. + It is enabled by default. type: boolean + autoFailoverDelay: + description: |- + AutoFailoverDelay indicates the duration before performing an automatic primary failover. + By default, no extra delay is added. + type: string podIndex: description: PodIndex is the StatefulSet index of the primary node. The user may change this field to perform a manual switchover. type: integer type: object - probesEnabled: - description: |- - ProbesEnabled indicates to use replication specific liveness and readiness probes. - This probes check that the primary can receive queries and that the replica has the replication thread running. - type: boolean replica: description: ReplicaReplication is the replication configuration for the replica nodes. properties: - connectionRetries: - description: ConnectionRetries to be used when the replica - connects to the primary. + bootstrapFrom: + description: |- + ReplicaBootstrapFrom defines the data sources used to bootstrap new replicas. + This will be used as part of the scaling out and recovery operations, when new replicas are created. + If not provided, scale out and recovery operations will return an error. + properties: + physicalBackupTemplateRef: + description: |- + PhysicalBackupTemplateRef is a reference to a PhysicalBackup object that will be used as template to create a new PhysicalBackup object + used synchronize the data from an up to date replica to the new replica to be bootstrapped. + properties: + name: + default: "" + type: string + type: object + restoreJob: + description: RestoreJob defines additional properties + for the Job used to perform the restoration. + properties: + affinity: + description: Affinity to be used in the Pod. + properties: + antiAffinityEnabled: + description: |- + AntiAffinityEnabled configures PodAntiAffinity so each Pod is scheduled in a different Node, enabling HA. + Make sure you have at least as many Nodes available as the replicas to not end up with unscheduled Pods. + type: boolean + nodeAffinity: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeaffinity-v1-core' + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + description: 'Refer to the Kubernetes docs: + https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#preferredschedulingterm-v1-core' + properties: + preference: + description: 'Refer to the Kubernetes + docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorterm-v1-core' + properties: + matchExpressions: + items: + description: 'Refer to the Kubernetes + docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core' + properties: + key: + type: string + operator: + description: |- + A node selector operator is the set of operators that can be used in + a node selector requirement. + type: string + values: + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchFields: + items: + description: 'Refer to the Kubernetes + docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core' + properties: + key: + type: string + operator: + description: |- + A node selector operator is the set of operators that can be used in + a node selector requirement. + type: string + values: + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + type: object + weight: + format: int32 + type: integer + required: + - preference + - weight + type: object + type: array + x-kubernetes-list-type: atomic + requiredDuringSchedulingIgnoredDuringExecution: + description: 'Refer to the Kubernetes docs: + https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselector-v1-core' + properties: + nodeSelectorTerms: + items: + description: 'Refer to the Kubernetes + docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorterm-v1-core' + properties: + matchExpressions: + items: + description: 'Refer to the Kubernetes + docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core' + properties: + key: + type: string + operator: + description: |- + A node selector operator is the set of operators that can be used in + a node selector requirement. + type: string + values: + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchFields: + items: + description: 'Refer to the Kubernetes + docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core' + properties: + key: + type: string + operator: + description: |- + A node selector operator is the set of operators that can be used in + a node selector requirement. + type: string + values: + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + type: object + type: array + x-kubernetes-list-type: atomic + required: + - nodeSelectorTerms + type: object + type: object + podAntiAffinity: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podantiaffinity-v1-core.' + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + description: 'Refer to the Kubernetes docs: + https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#weightedpodaffinityterm-v1-core.' + properties: + podAffinityTerm: + description: 'Refer to the Kubernetes + docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podaffinityterm-v1-core.' + properties: + labelSelector: + description: 'Refer to the Kubernetes + docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselector-v1-meta' + properties: + matchExpressions: + items: + description: 'Refer to the + Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselectorrequirement-v1-meta' + properties: + key: + type: string + operator: + description: A label selector + operator is the set + of operators that can + be used in a selector + requirement. + type: string + values: + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + type: object + type: object + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + x-kubernetes-list-type: atomic + requiredDuringSchedulingIgnoredDuringExecution: + items: + description: 'Refer to the Kubernetes docs: + https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podaffinityterm-v1-core.' + properties: + labelSelector: + description: 'Refer to the Kubernetes + docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselector-v1-meta' + properties: + matchExpressions: + items: + description: 'Refer to the Kubernetes + docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselectorrequirement-v1-meta' + properties: + key: + type: string + operator: + description: A label selector + operator is the set of operators + that can be used in a selector + requirement. + type: string + values: + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + type: object + type: object + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + x-kubernetes-list-type: atomic + type: object + type: object + args: + description: Args to be used in the Container. + items: + type: string + type: array + metadata: + description: Metadata defines additional metadata + for the bootstrap Jobs. + properties: + annotations: + additionalProperties: + type: string + description: Annotations to be added to children + resources. + type: object + labels: + additionalProperties: + type: string + description: Labels to be added to children resources. + type: object + type: object + nodeSelector: + additionalProperties: + type: string + description: NodeSelector to be used in the Pod. + type: object + resources: + description: Resources describes the compute resource + requirements. + 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: 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: ResourceList is a set of (resource + name, quantity) pairs. + type: object + type: object + tolerations: + description: Tolerations to be used in the Pod. + items: + description: |- + The pod this Toleration is attached to tolerates any taint that matches + the triple using the matching operator . + properties: + effect: + description: |- + Effect indicates the taint effect to match. Empty means match all taint effects. + When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. + type: string + key: + description: |- + Key is the taint key that the toleration applies to. Empty means match all taint keys. + If the key is empty, operator must be Exists; this combination means to match all values and all keys. + type: string + operator: + description: |- + Operator represents a key's relationship to the value. + Valid operators are Exists and Equal. Defaults to Equal. + Exists is equivalent to wildcard for value, so that a pod can + tolerate all taints of a particular category. + type: string + tolerationSeconds: + description: |- + TolerationSeconds represents the period of time the toleration (which must be + of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, + it is not set, which means tolerate the taint forever (do not evict). Zero and + negative values will be treated as 0 (evict immediately) by the system. + format: int64 + type: integer + value: + description: |- + Value is the taint value the toleration matches to. + If the operator is Exists, the value should be empty, otherwise just a regular string. + type: string + type: object + type: array + type: object + required: + - physicalBackupTemplateRef + type: object + connectionRetrySeconds: + description: |- + ConnectionRetrySeconds is the number of seconds that the replica will wait between connection retries. + See: https://mariadb.com/docs/server/reference/sql-statements/administrative-sql-statements/replication-statements/change-master-to#master_connect_retry. type: integer - connectionTimeout: - description: ConnectionTimeout to be used when the replica - connects to the primary. - type: string gtid: description: |- - Gtid indicates which Global Transaction ID should be used when connecting a replica to the master. - See: https://mariadb.com/kb/en/gtid/#using-current_pos-vs-slave_pos. + Gtid indicates which Global Transaction ID (GTID) position mode should be used when connecting a replica to the master. + By default, CurrentPos is used. + See: https://mariadb.com/docs/server/reference/sql-statements/administrative-sql-statements/replication-statements/change-master-to#master_use_gtid. enum: - CurrentPos - SlavePos type: string + maxLagSeconds: + description: |- + MaxLagSeconds is the maximum number of seconds that replicas are allowed to lag behind the primary. + If a replica exceeds this threshold, it is marked as not ready and read queries will no longer be forwarded to it. + If not provided, it defaults to 0, which means that replicas are not allowed to lag behind the primary (recommended). + Lagged replicas will not be taken into account as candidates for the new primary during failover, + and they will block other operations, such as switchover and upgrade. + This field is not taken into account by MaxScale, you can define the maximum lag as router parameters. + See: https://mariadb.com/docs/maxscale/reference/maxscale-routers/maxscale-readwritesplit#max_replication_lag. + type: integer + recovery: + description: |- + ReplicaRecovery defines how the replicas should be recovered after they enter an error state. + This process deletes data from faulty replicas and recreates them using the source defined in the bootstrapFrom field. + It is disabled by default, and it requires the bootstrapFrom field to be set. + properties: + enabled: + description: Enabled is a flag to enable replica recovery. + type: boolean + errorDurationThreshold: + description: |- + ErrorDurationThreshold defines the time duration after which, if a replica continues to report errors, + the operator will initiate the recovery process for that replica. + This threshold applies only to error codes not identified as recoverable by the operator. + Errors identified as recoverable will trigger the recovery process immediately. + It defaults to 5 minutes. + type: string + required: + - enabled + type: object replPasswordSecretKeyRef: - description: ReplPasswordSecretKeyRef provides a reference - to the Secret to use as password for the replication user. + description: |- + ReplPasswordSecretKeyRef provides a reference to the Secret to use as password for the replication user. + By default, a random password will be generated. properties: generate: default: false @@ -6541,27 +8188,51 @@ spec: x-kubernetes-map-type: atomic syncTimeout: description: |- - SyncTimeout defines the timeout for a replica to be synced with the primary when performing a primary switchover. - If the timeout is reached, the replica GTID will be reset and the switchover will continue. - type: string - waitPoint: - description: |- - WaitPoint defines whether the transaction should wait for ACK before committing to the storage engine. - More info: https://mariadb.com/kb/en/semisynchronous-replication/#rpl_semi_sync_master_wait_point. - enum: - - AfterSync - - AfterCommit + SyncTimeout defines the timeout for the synchronization phase during switchover and failover operations. + During switchover, all replicas must be synced with the current primary before promoting the new primary. + During failover, the new primary must be synced before being promoted as primary. This implies processing all the events in the relay log. + When the timeout is reached, the operator restarts the operation from the beginning. + It defaults to 10s. + See: https://mariadb.com/docs/server/reference/sql-functions/secondary-functions/miscellaneous-functions/master_gtid_wait type: string type: object + semiSyncAckTimeout: + description: |- + SemiSyncAckTimeout for the replica to acknowledge transactions to the primary. + It requires semi-synchronous replication to be enabled. + See: https://mariadb.com/docs/server/ha-and-performance/standard-replication/semisynchronous-replication#rpl_semi_sync_master_timeout + type: string + semiSyncEnabled: + description: |- + SemiSyncEnabled determines whether semi-synchronous replication is enabled. + Semi-synchronous replication requires that at least one replica should have sent an ACK to the primary node + before committing the transaction back to the client. + See: https://mariadb.com/docs/server/ha-and-performance/standard-replication/semisynchronous-replication + It is enabled by default + type: boolean + semiSyncWaitPoint: + description: |- + SemiSyncWaitPoint determines whether the transaction should wait for an ACK after having synced the binlog (AfterSync) + or after having committed to the storage engine (AfterCommit, the default). + It requires semi-synchronous replication to be enabled. + See: https://mariadb.com/kb/en/semisynchronous-replication/#rpl_semi_sync_master_wait_point. + enum: + - AfterSync + - AfterCommit + type: string + standaloneProbes: + description: |- + StandaloneProbes indicates whether to use the default non-HA startup and liveness probes. + It is disabled by default + type: boolean syncBinlog: description: |- - SyncBinlog indicates whether the binary log should be synchronized to the disk after every event. - It trades off performance for consistency. - See: https://mariadb.com/kb/en/replication-and-binary-log-system-variables/#sync_binlog. - type: boolean + SyncBinlog indicates after how many events the binary log is synchronized to the disk. + See: https://mariadb.com/docs/server/ha-and-performance/standard-replication/replication-and-binary-log-system-variables#sync_binlog + type: integer type: object resources: - description: Resouces describes the compute resource requirements. + description: Resources describes the compute resource requirements. properties: limits: additionalProperties: @@ -6818,7 +8489,7 @@ spec: description: ServicePorts is the list of additional named ports to be added to the Services created by the operator. items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#serviceport-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#serviceport-v1-core' properties: name: type: string @@ -6849,7 +8520,7 @@ spec: description: Env represents the environment variables to be injected in a container. items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#envvarsource-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#envvarsource-v1-core.' properties: name: description: Name of the environment variable. Must be @@ -6858,10 +8529,10 @@ spec: value: type: string valueFrom: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#envvarsource-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#envvarsource-v1-core.' properties: configMapKeyRef: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#configmapkeyselector-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#configmapkeyselector-v1-core.' properties: key: type: string @@ -6873,7 +8544,7 @@ spec: type: object x-kubernetes-map-type: atomic fieldRef: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#objectfieldselector-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#objectfieldselector-v1-core.' properties: apiVersion: type: string @@ -6884,7 +8555,7 @@ spec: type: object x-kubernetes-map-type: atomic secretKeyRef: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#secretkeyselector-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#secretkeyselector-v1-core.' properties: key: type: string @@ -6917,7 +8588,7 @@ spec: description: Name to be given to the container. type: string resources: - description: Resouces describes the compute resource requirements. + description: Resources describes the compute resource requirements. properties: limits: additionalProperties: @@ -6943,7 +8614,7 @@ spec: volumeMounts: description: VolumeMounts to be used in the Container. items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#volumemount-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#volumemount-v1-core.' properties: mountPath: type: string @@ -6967,7 +8638,7 @@ spec: description: StartupProbe to be used in the Container. properties: exec: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#execaction-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#execaction-v1-core.' properties: command: items: @@ -6979,7 +8650,7 @@ spec: format: int32 type: integer httpGet: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#httpgetaction-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#httpgetaction-v1-core.' properties: host: type: string @@ -7007,7 +8678,7 @@ spec: format: int32 type: integer tcpSocket: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#tcpsocketaction-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#tcpsocketaction-v1-core.' properties: host: type: string @@ -7310,7 +8981,7 @@ spec: topologySpreadConstraints: description: TopologySpreadConstraints to be used in the Pod. items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#topologyspreadconstraint-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#topologyspreadconstraint-v1-core.' properties: labelSelector: description: |- @@ -7443,7 +9114,7 @@ spec: volumeMounts: description: VolumeMounts to be used in the Container. items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#volumemount-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#volumemount-v1-core.' properties: mountPath: type: string @@ -7462,10 +9133,10 @@ spec: volumes: description: Volumes to be used in the Pod. items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#volume-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#volume-v1-core.' properties: configMap: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#configmapvolumesource-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#configmapvolumesource-v1-core.' properties: defaultMode: format: int32 @@ -7475,14 +9146,14 @@ spec: type: string type: object csi: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#csivolumesource-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#csivolumesource-v1-core.' properties: driver: type: string fsType: type: string nodePublishSecretRef: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#localobjectreference-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#localobjectreference-v1-core.' properties: name: default: "" @@ -7498,7 +9169,7 @@ spec: - driver type: object emptyDir: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#emptydirvolumesource-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#emptydirvolumesource-v1-core.' properties: medium: description: StorageMedium defines ways that storage can @@ -7512,7 +9183,7 @@ spec: x-kubernetes-int-or-string: true type: object hostPath: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#hostpathvolumesource-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#hostpathvolumesource-v1-core' properties: path: type: string @@ -7524,7 +9195,7 @@ spec: name: type: string nfs: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nfsvolumesource-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nfsvolumesource-v1-core.' properties: path: type: string @@ -7537,7 +9208,7 @@ spec: - server type: object persistentVolumeClaim: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#persistentvolumeclaimvolumesource-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#persistentvolumeclaimvolumesource-v1-core.' properties: claimName: type: string @@ -7547,7 +9218,7 @@ spec: - claimName type: object secret: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#secretvolumesource-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#secretvolumesource-v1-core.' properties: defaultMode: format: int32 @@ -7562,9 +9233,10 @@ spec: type: object x-kubernetes-validations: - message: 'An odd number of MariaDB instances (mariadb.spec.replicas) - is required to avoid split brain situations. Use ''mariadb.spec.replicasAllowEvenNumber: + is required to avoid split brain situations for Galera. Use ''mariadb.spec.replicasAllowEvenNumber: true'' to disable this validation.' - rule: self.replicas %2 == 1 || self.replicasAllowEvenNumber + rule: '!has(self.galera) || !self.galera.enabled || (self.replicas % + 2 == 1 || self.replicasAllowEvenNumber)' status: description: MariaDBStatus defines the observed state of MariaDB properties: @@ -7628,6 +9300,11 @@ spec: currentPrimary: description: CurrentPrimary is the primary Pod. type: string + currentPrimaryFailingSince: + description: CurrentPrimaryFailingSince is the timestamp of the moment + when the primary became not ready. + format: date-time + type: string currentPrimaryPodIndex: description: CurrentPrimaryPodIndex is the primary Pod index. type: integer @@ -7693,12 +9370,76 @@ spec: description: Replicas indicates the number of current instances. format: int32 type: integer - replicationStatus: - additionalProperties: - type: string - description: ReplicationStatus is the replication current state for - each Pod. + replication: + description: Replication is the replication current status per each + Pod. + properties: + replicaToRecover: + description: ReplicaToRecover is the replica that is being recovered + by the operator. + type: string + replicas: + additionalProperties: + description: ReplicaStatus is the observed replica status. + properties: + gtidCurrentPos: + description: GtidCurrentPos is the last GTID position executed + by the SQL thread. + type: string + gtidIOPos: + description: GtidIOPos is the last GTID position received + by the IO thread and written to the relay log. + type: string + lastErrorTransitionTime: + description: LastErrorTransitionTime is the last time the + replica transitioned to an error state. + format: date-time + type: string + lastIOErrno: + description: LastIOErrno is the error code returned by the + IO thread. + type: integer + lastIOError: + description: LastIOErrno is the error message returned by + the IO thread. + type: string + lastSQLErrno: + description: LastSQLErrno is the error code returned by + the SQL thread. + type: integer + lastSQLError: + description: LastSQLError is the error message returned + by the SQL thread. + type: string + secondsBehindMaster: + description: SecondsBehindMaster measures the replication + lag with the primary. + type: integer + slaveIORunning: + description: SlaveIORunning indicates whether the slave + IO thread is running. + type: boolean + slaveSQLRunning: + description: SlaveSQLRunning indicates whether the slave + SQL thread is running. + type: boolean + type: object + description: Replicas is the observed replication status for each + replica. + type: object + roles: + additionalProperties: + description: ReplicationRole represents the observed replication + roles. + type: string + description: Roles is the observed replication roles for each + Pod. + type: object type: object + scaleOutInitialIndex: + description: ScaleOutInitialIndex is the initial index where the scale + out operation started. + type: integer tls: description: TLS aggregates the status of the certificates used by the MariaDB instance. @@ -7794,7 +9535,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.2 + controller-gen.kubebuilder.io/version: v0.18.0 name: maxscales.k8s.mariadb.com spec: group: k8s.mariadb.com @@ -7867,18 +9608,18 @@ spec: Make sure you have at least as many Nodes available as the replicas to not end up with unscheduled Pods. type: boolean nodeAffinity: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeaffinity-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeaffinity-v1-core' properties: preferredDuringSchedulingIgnoredDuringExecution: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#preferredschedulingterm-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#preferredschedulingterm-v1-core' properties: preference: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorterm-v1-core' properties: matchExpressions: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core' properties: key: type: string @@ -7900,7 +9641,7 @@ spec: x-kubernetes-list-type: atomic matchFields: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core' properties: key: type: string @@ -7931,15 +9672,15 @@ spec: type: array x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselector-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselector-v1-core' properties: nodeSelectorTerms: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorterm-v1-core' properties: matchExpressions: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core' properties: key: type: string @@ -7961,7 +9702,7 @@ spec: x-kubernetes-list-type: atomic matchFields: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core' properties: key: type: string @@ -7989,22 +9730,22 @@ spec: type: object type: object podAntiAffinity: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podantiaffinity-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podantiaffinity-v1-core.' properties: preferredDuringSchedulingIgnoredDuringExecution: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#weightedpodaffinityterm-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#weightedpodaffinityterm-v1-core.' properties: podAffinityTerm: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podaffinityterm-v1-core.' properties: labelSelector: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselector-v1-meta' properties: matchExpressions: items: description: 'Refer to the Kubernetes docs: - https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta' + https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselectorrequirement-v1-meta' properties: key: type: string @@ -8045,14 +9786,14 @@ spec: x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podaffinityterm-v1-core.' properties: labelSelector: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselector-v1-meta' properties: matchExpressions: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselectorrequirement-v1-meta' properties: key: type: string @@ -8159,9 +9900,9 @@ spec: It only supports MariaDBs specified via spec.mariaDbRef. type: boolean metricsPasswordSecretKeyRef: - description: |- - MetricsPasswordSecretKeyRef is Secret key reference to the metrics password to call the admib REST API. It is defaulted if metrics are enabled. - If the referred Secret is labeled with "k8s.mariadb.com/watch", updates may be performed to the Secret in order to update the password. + description: MetricsPasswordSecretKeyRef is Secret key reference + to the metrics password to call the admib REST API. It is defaulted + if metrics are enabled. properties: generate: default: false @@ -8489,7 +10230,7 @@ spec: description: Env represents the environment variables to be injected in a container. items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#envvarsource-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#envvarsource-v1-core.' properties: name: description: Name of the environment variable. Must be a C_IDENTIFIER. @@ -8497,10 +10238,10 @@ spec: value: type: string valueFrom: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#envvarsource-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#envvarsource-v1-core.' properties: configMapKeyRef: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#configmapkeyselector-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#configmapkeyselector-v1-core.' properties: key: type: string @@ -8512,7 +10253,7 @@ spec: type: object x-kubernetes-map-type: atomic fieldRef: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#objectfieldselector-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#objectfieldselector-v1-core.' properties: apiVersion: type: string @@ -8523,7 +10264,7 @@ spec: type: object x-kubernetes-map-type: atomic secretKeyRef: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#secretkeyselector-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#secretkeyselector-v1-core.' properties: key: type: string @@ -8543,10 +10284,10 @@ spec: description: EnvFrom represents the references (via ConfigMap and Secrets) to environment variables to be injected in the container. items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#envfromsource-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#envfromsource-v1-core.' properties: configMapRef: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#localobjectreference-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#localobjectreference-v1-core.' properties: name: default: "" @@ -8555,7 +10296,7 @@ spec: prefix: type: string secretRef: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#localobjectreference-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#localobjectreference-v1-core.' properties: name: default: "" @@ -8625,7 +10366,7 @@ spec: description: ImagePullSecrets is the list of pull Secrets to be used to pull the image. items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#localobjectreference-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#localobjectreference-v1-core.' properties: name: default: "" @@ -8696,7 +10437,7 @@ spec: description: LivenessProbe to be used in the Container. properties: exec: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#execaction-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#execaction-v1-core.' properties: command: items: @@ -8708,7 +10449,7 @@ spec: format: int32 type: integer httpGet: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#httpgetaction-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#httpgetaction-v1-core.' properties: host: type: string @@ -8736,7 +10477,7 @@ spec: format: int32 type: integer tcpSocket: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#tcpsocketaction-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#tcpsocketaction-v1-core.' properties: host: type: string @@ -8756,6 +10497,9 @@ spec: description: MariaDBRef is a reference to the MariaDB that MaxScale points to. It is used to initialize the servers field. properties: + kind: + description: Kind of the referent. + type: string name: type: string namespace: @@ -8784,20 +10528,20 @@ spec: Make sure you have at least as many Nodes available as the replicas to not end up with unscheduled Pods. type: boolean nodeAffinity: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeaffinity-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeaffinity-v1-core' properties: preferredDuringSchedulingIgnoredDuringExecution: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#preferredschedulingterm-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#preferredschedulingterm-v1-core' properties: preference: description: 'Refer to the Kubernetes docs: - https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core' + https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorterm-v1-core' properties: matchExpressions: items: description: 'Refer to the Kubernetes - docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core' + docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core' properties: key: type: string @@ -8820,7 +10564,7 @@ spec: matchFields: items: description: 'Refer to the Kubernetes - docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core' + docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core' properties: key: type: string @@ -8851,17 +10595,17 @@ spec: type: array x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselector-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselector-v1-core' properties: nodeSelectorTerms: items: description: 'Refer to the Kubernetes docs: - https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core' + https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorterm-v1-core' properties: matchExpressions: items: description: 'Refer to the Kubernetes - docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core' + docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core' properties: key: type: string @@ -8884,7 +10628,7 @@ spec: matchFields: items: description: 'Refer to the Kubernetes - docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core' + docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core' properties: key: type: string @@ -8912,24 +10656,24 @@ spec: type: object type: object podAntiAffinity: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podantiaffinity-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podantiaffinity-v1-core.' properties: preferredDuringSchedulingIgnoredDuringExecution: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#weightedpodaffinityterm-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#weightedpodaffinityterm-v1-core.' properties: podAffinityTerm: description: 'Refer to the Kubernetes docs: - https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core.' + https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podaffinityterm-v1-core.' properties: labelSelector: description: 'Refer to the Kubernetes docs: - https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta' + https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselector-v1-meta' properties: matchExpressions: items: description: 'Refer to the Kubernetes - docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta' + docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselectorrequirement-v1-meta' properties: key: type: string @@ -8971,16 +10715,16 @@ spec: x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podaffinityterm-v1-core.' properties: labelSelector: description: 'Refer to the Kubernetes docs: - https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta' + https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselector-v1-meta' properties: matchExpressions: items: description: 'Refer to the Kubernetes - docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta' + docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselectorrequirement-v1-meta' properties: key: type: string @@ -9037,7 +10781,7 @@ spec: description: ImagePullSecrets is the list of pull Secrets to be used to pull the image. items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#localobjectreference-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#localobjectreference-v1-core.' properties: name: default: "" @@ -9166,7 +10910,7 @@ spec: description: PriorityClassName to be used in the Pod. type: string resources: - description: Resouces describes the compute resource requirements. + description: Resources describes the compute resource requirements. properties: limits: additionalProperties: @@ -9319,7 +11063,7 @@ spec: Params defines extra parameters to pass to the monitor. Any parameter supported by MaxScale may be specified here. See reference: https://mariadb.com/kb/en/mariadb-maxscale-2308-common-monitor-parameters/. - Monitor specific parameter are also suported: + Monitor specific parameter are also supported: https://mariadb.com/kb/en/mariadb-maxscale-2308-galera-monitor/#galera-monitor-optional-parameters. https://mariadb.com/kb/en/mariadb-maxscale-2308-mariadb-monitor/#configuration. type: object @@ -9461,6 +11205,11 @@ spec: type: array x-kubernetes-list-type: atomic type: object + primaryServer: + description: |- + PrimaryServer specifies the desired primary server. Setting this field triggers a switchover operation in MaxScale to the desired server. + This option is only valid when using monitors that support switchover, currently limited to the MariaDB monitor. + type: string priorityClassName: description: PriorityClassName to be used in the Pod. type: string @@ -9468,7 +11217,7 @@ spec: description: ReadinessProbe to be used in the Container. properties: exec: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#execaction-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#execaction-v1-core.' properties: command: items: @@ -9480,7 +11229,7 @@ spec: format: int32 type: integer httpGet: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#httpgetaction-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#httpgetaction-v1-core.' properties: host: type: string @@ -9508,7 +11257,7 @@ spec: format: int32 type: integer tcpSocket: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#tcpsocketaction-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#tcpsocketaction-v1-core.' properties: host: type: string @@ -9534,7 +11283,7 @@ spec: If not defined, it defaults to 10s. type: string resources: - description: Resouces describes the compute resource requirements. + description: Resources describes the compute resource requirements. properties: limits: additionalProperties: @@ -9691,7 +11440,7 @@ spec: Params defines extra parameters to pass to the service. Any parameter supported by MaxScale may be specified here. See reference: https://mariadb.com/kb/en/mariadb-maxscale-2308-mariadb-maxscale-configuration-guide/#service_1. - Router specific parameter are also suported: + Router specific parameter are also supported: https://mariadb.com/kb/en/mariadb-maxscale-2308-readwritesplit/#configuration. https://mariadb.com/kb/en/mariadb-maxscale-2308-readconnroute/#configuration. type: object @@ -9717,7 +11466,7 @@ spec: description: StartupProbe to be used in the Container. properties: exec: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#execaction-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#execaction-v1-core.' properties: command: items: @@ -9729,7 +11478,7 @@ spec: format: int32 type: integer httpGet: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#httpgetaction-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#httpgetaction-v1-core.' properties: host: type: string @@ -9757,7 +11506,7 @@ spec: format: int32 type: integer tcpSocket: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#tcpsocketaction-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#tcpsocketaction-v1-core.' properties: host: type: string @@ -9941,7 +11690,7 @@ spec: topologySpreadConstraints: description: TopologySpreadConstraints to be used in the Pod. items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#topologyspreadconstraint-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#topologyspreadconstraint-v1-core.' properties: labelSelector: description: |- @@ -10059,7 +11808,7 @@ spec: volumeMounts: description: VolumeMounts to be used in the Container. items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#volumemount-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#volumemount-v1-core.' properties: mountPath: type: string @@ -10340,7 +12089,919 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.2 + controller-gen.kubebuilder.io/version: v0.18.0 + name: physicalbackups.k8s.mariadb.com +spec: + group: k8s.mariadb.com + names: + kind: PhysicalBackup + listKind: PhysicalBackupList + plural: physicalbackups + shortNames: + - pbmdb + singular: physicalbackup + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=="Complete")].status + name: Complete + type: string + - jsonPath: .status.conditions[?(@.type=="Complete")].message + name: Status + type: string + - jsonPath: .spec.mariaDbRef.name + name: MariaDB + type: string + - jsonPath: .status.lastScheduleTime + name: Last Scheduled + type: date + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: PhysicalBackup is the Schema for the physicalbackups API. It + is used to define physical backup jobs and its storage. + 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: PhysicalBackupSpec defines the desired state of PhysicalBackup. + properties: + args: + description: Args to be used in the Container. + items: + type: string + type: array + backoffLimit: + description: BackoffLimit defines the maximum number of attempts to + successfully take a PhysicalBackup. + format: int32 + type: integer + compression: + description: Compression algorithm to be used in the Backup. + enum: + - none + - bzip2 + - gzip + type: string + imagePullSecrets: + description: ImagePullSecrets is the list of pull Secrets to be used + to pull the image. + items: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#localobjectreference-v1-core.' + properties: + name: + default: "" + type: string + type: object + type: array + inheritMetadata: + description: InheritMetadata defines the metadata to be inherited + by children resources. + properties: + annotations: + additionalProperties: + type: string + description: Annotations to be added to children resources. + type: object + labels: + additionalProperties: + type: string + description: Labels to be added to children resources. + type: object + type: object + mariaDbRef: + description: MariaDBRef is a reference to a MariaDB object. + properties: + kind: + description: Kind of the referent. + type: string + name: + type: string + namespace: + type: string + waitForIt: + default: true + description: WaitForIt indicates whether the controller using + this reference should wait for MariaDB to be ready. + type: boolean + type: object + maxRetention: + description: |- + MaxRetention defines the retention policy for backups. Old backups will be cleaned up by the Backup Job. + It defaults to 30 days. + type: string + podAffinity: + description: |- + PodAffinity indicates whether the Jobs should run in the same Node as the MariaDB Pods to be able to attach the PVC. + It defaults to true. + type: boolean + podMetadata: + description: PodMetadata defines extra metadata for the Pod. + properties: + annotations: + additionalProperties: + type: string + description: Annotations to be added to children resources. + type: object + labels: + additionalProperties: + type: string + description: Labels to be added to children resources. + type: object + type: object + podSecurityContext: + description: SecurityContext holds pod-level security attributes and + common container settings. + properties: + appArmorProfile: + description: AppArmorProfile defines a pod or container's AppArmor + settings. + properties: + localhostProfile: + description: |- + localhostProfile indicates a profile loaded on the node that should be used. + The profile must be preconfigured on the node to work. + Must match the loaded name of the profile. + Must be set if and only if type is "Localhost". + type: string + type: + description: |- + type indicates which kind of AppArmor profile will be applied. + Valid options are: + Localhost - a profile pre-loaded on the node. + RuntimeDefault - the container runtime's default profile. + Unconfined - no AppArmor enforcement. + type: string + required: + - type + type: object + fsGroup: + format: int64 + type: integer + fsGroupChangePolicy: + description: |- + PodFSGroupChangePolicy holds policies that will be used for applying fsGroup to a volume + when volume is mounted. + type: string + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + description: SELinuxOptions are the labels to be applied to the + container + properties: + level: + description: Level is SELinux level label that applies to + the container. + type: string + role: + description: Role is a SELinux role label that applies to + the container. + type: string + type: + description: Type is a SELinux type label that applies to + the container. + type: string + user: + description: User is a SELinux user label that applies to + the container. + type: string + type: object + seccompProfile: + description: |- + SeccompProfile defines a pod/container's seccomp profile settings. + Only one profile source may be set. + properties: + localhostProfile: + description: |- + localhostProfile indicates a profile defined in a file on the node should be used. + The profile must be preconfigured on the node to work. + Must be a descending path, relative to the kubelet's configured seccomp profile location. + Must be set if type is "Localhost". Must NOT be set for any other type. + type: string + type: + description: |- + type indicates which kind of seccomp profile will be applied. + Valid options are: + + Localhost - a profile defined in a file on the node should be used. + RuntimeDefault - the container runtime default profile should be used. + Unconfined - no profile should be applied. + type: string + required: + - type + type: object + supplementalGroups: + items: + format: int64 + type: integer + type: array + x-kubernetes-list-type: atomic + type: object + priorityClassName: + description: PriorityClassName to be used in the Pod. + type: string + resources: + description: Resources describes the compute resource requirements. + 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: 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: ResourceList is a set of (resource name, quantity) + pairs. + type: object + type: object + restartPolicy: + default: OnFailure + description: RestartPolicy to be added to the PhysicalBackup Pod. + enum: + - Always + - OnFailure + - Never + type: string + schedule: + description: Schedule defines when the PhysicalBackup will be taken. + properties: + cron: + description: Cron is a cron expression that defines the schedule. + type: string + immediate: + description: Immediate indicates whether the first backup should + be taken immediately after creating the PhysicalBackup. + type: boolean + suspend: + default: false + description: Suspend defines whether the schedule is active or + not. + type: boolean + type: object + securityContext: + description: SecurityContext holds security configuration that will + be applied to a container. + properties: + allowPrivilegeEscalation: + type: boolean + capabilities: + description: Adds and removes POSIX capabilities from running + containers. + properties: + add: + description: Added capabilities + items: + description: Capability represent POSIX capabilities type + type: string + type: array + x-kubernetes-list-type: atomic + drop: + description: Removed capabilities + items: + description: Capability represent POSIX capabilities type + type: string + type: array + x-kubernetes-list-type: atomic + type: object + privileged: + type: boolean + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + type: object + serviceAccountName: + description: ServiceAccountName is the name of the ServiceAccount + to be used by the Pods. + type: string + stagingStorage: + description: |- + StagingStorage defines the temporary storage used to keep external backups (i.e. S3) while they are being processed. + It defaults to an emptyDir volume, meaning that the backups will be temporarily stored in the node where the PhysicalBackup Job is scheduled. + The staging area gets cleaned up after each backup is completed, consider this for sizing it appropriately. + properties: + persistentVolumeClaim: + description: PersistentVolumeClaim is a Kubernetes PVC specification. + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + resources: + description: VolumeResourceRequirements describes the storage + resource requirements for a volume. + 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. Requests cannot exceed Limits. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + type: object + type: object + selector: + description: |- + A label selector is a label query over a set of resources. The result of matchLabels and + matchExpressions are ANDed. An empty label selector matches all objects. A null + label selector matches no objects. + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. + type: string + values: + description: |- + values is 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. This array is replaced during a strategic + merge patch. + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + storageClassName: + type: string + type: object + volume: + description: Volume is a Kubernetes volume specification. + properties: + csi: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#csivolumesource-v1-core.' + properties: + driver: + type: string + fsType: + type: string + nodePublishSecretRef: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#localobjectreference-v1-core.' + properties: + name: + default: "" + type: string + type: object + readOnly: + type: boolean + volumeAttributes: + additionalProperties: + type: string + type: object + required: + - driver + type: object + emptyDir: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#emptydirvolumesource-v1-core.' + properties: + medium: + description: StorageMedium defines ways that storage can + be allocated to a volume. + type: string + sizeLimit: + 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 + type: object + hostPath: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#hostpathvolumesource-v1-core' + properties: + path: + type: string + type: + type: string + required: + - path + type: object + nfs: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nfsvolumesource-v1-core.' + properties: + path: + type: string + readOnly: + type: boolean + server: + type: string + required: + - path + - server + type: object + persistentVolumeClaim: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#persistentvolumeclaimvolumesource-v1-core.' + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + type: object + type: object + storage: + description: Storage defines the final storage for backups. + properties: + persistentVolumeClaim: + description: PersistentVolumeClaim is a Kubernetes PVC specification. + properties: + accessModes: + items: + type: string + type: array + x-kubernetes-list-type: atomic + resources: + description: VolumeResourceRequirements describes the storage + resource requirements for a volume. + 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. Requests cannot exceed Limits. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + type: object + type: object + selector: + description: |- + A label selector is a label query over a set of resources. The result of matchLabels and + matchExpressions are ANDed. An empty label selector matches all objects. A null + label selector matches no objects. + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. + type: string + values: + description: |- + values is 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. This array is replaced during a strategic + merge patch. + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + storageClassName: + type: string + type: object + s3: + description: S3 defines the configuration to store backups in + a S3 compatible storage. + properties: + accessKeyIdSecretKeyRef: + description: AccessKeyIdSecretKeyRef is a reference to a Secret + key containing the S3 access key id. + properties: + key: + type: string + name: + default: "" + type: string + required: + - key + type: object + x-kubernetes-map-type: atomic + bucket: + description: Bucket is the name Name of the bucket to store + backups. + type: string + endpoint: + description: Endpoint is the S3 API endpoint without scheme. + type: string + prefix: + description: 'Prefix indicates a folder/subfolder in the bucket. + For example: mariadb/ or mariadb/backups. A trailing slash + ''/'' is added if not provided.' + type: string + region: + description: Region is the S3 region name to use. + type: string + secretAccessKeySecretKeyRef: + description: AccessKeyIdSecretKeyRef is a reference to a Secret + key containing the S3 secret key. + properties: + key: + type: string + name: + default: "" + type: string + required: + - key + type: object + x-kubernetes-map-type: atomic + sessionTokenSecretKeyRef: + description: SessionTokenSecretKeyRef is a reference to a + Secret key containing the S3 session token. + properties: + key: + type: string + name: + default: "" + type: string + required: + - key + type: object + x-kubernetes-map-type: atomic + tls: + description: TLS provides the configuration required to establish + TLS connections with S3. + properties: + caSecretKeyRef: + description: |- + CASecretKeyRef is a reference to a Secret key containing a CA bundle in PEM format used to establish TLS connections with S3. + By default, the system trust chain will be used, but you can use this field to add more CAs to the bundle. + properties: + key: + type: string + name: + default: "" + type: string + required: + - key + type: object + x-kubernetes-map-type: atomic + enabled: + description: Enabled is a flag to enable TLS. + type: boolean + type: object + required: + - bucket + - endpoint + type: object + volume: + description: Volume is a Kubernetes volume specification. + properties: + csi: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#csivolumesource-v1-core.' + properties: + driver: + type: string + fsType: + type: string + nodePublishSecretRef: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#localobjectreference-v1-core.' + properties: + name: + default: "" + type: string + type: object + readOnly: + type: boolean + volumeAttributes: + additionalProperties: + type: string + type: object + required: + - driver + type: object + emptyDir: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#emptydirvolumesource-v1-core.' + properties: + medium: + description: StorageMedium defines ways that storage can + be allocated to a volume. + type: string + sizeLimit: + 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 + type: object + hostPath: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#hostpathvolumesource-v1-core' + properties: + path: + type: string + type: + type: string + required: + - path + type: object + nfs: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nfsvolumesource-v1-core.' + properties: + path: + type: string + readOnly: + type: boolean + server: + type: string + required: + - path + - server + type: object + persistentVolumeClaim: + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#persistentvolumeclaimvolumesource-v1-core.' + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + type: object + volumeSnapshot: + description: VolumeSnapshot is a Kubernetes VolumeSnapshot specification. + properties: + metadata: + description: Metadata is extra metadata to the added to the + VolumeSnapshot objects. + properties: + annotations: + additionalProperties: + type: string + description: Annotations to be added to children resources. + type: object + labels: + additionalProperties: + type: string + description: Labels to be added to children resources. + type: object + type: object + volumeSnapshotClassName: + description: VolumeSnapshotClassName is the VolumeSnapshot + class to be used to take snapshots. + type: string + required: + - volumeSnapshotClassName + type: object + type: object + successfulJobsHistoryLimit: + description: SuccessfulJobsHistoryLimit defines the maximum number + of successful Jobs to be displayed. It defaults to 5. + format: int32 + minimum: 0 + type: integer + timeout: + description: |- + Timeout defines the maximum duration of a PhysicalBackup job or snapshot. + If this duration is exceeded, the job or snapshot is considered expired and is deleted by the operator. + A new job or snapshot will then be created according to the schedule. + It defaults to 1 hour. + type: string + tolerations: + description: Tolerations to be used in the Pod. + items: + description: |- + The pod this Toleration is attached to tolerates any taint that matches + the triple using the matching operator . + properties: + effect: + description: |- + Effect indicates the taint effect to match. Empty means match all taint effects. + When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. + type: string + key: + description: |- + Key is the taint key that the toleration applies to. Empty means match all taint keys. + If the key is empty, operator must be Exists; this combination means to match all values and all keys. + type: string + operator: + description: |- + Operator represents a key's relationship to the value. + Valid operators are Exists and Equal. Defaults to Equal. + Exists is equivalent to wildcard for value, so that a pod can + tolerate all taints of a particular category. + type: string + tolerationSeconds: + description: |- + TolerationSeconds represents the period of time the toleration (which must be + of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, + it is not set, which means tolerate the taint forever (do not evict). Zero and + negative values will be treated as 0 (evict immediately) by the system. + format: int64 + type: integer + value: + description: |- + Value is the taint value the toleration matches to. + If the operator is Exists, the value should be empty, otherwise just a regular string. + type: string + type: object + type: array + required: + - mariaDbRef + - storage + type: object + status: + description: PhysicalBackupStatus defines the observed state of PhysicalBackup. + properties: + conditions: + description: Conditions for the PhysicalBackup object. + items: + description: Condition contains details for one aspect of the current + state of this API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + maxLength: 316 + 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])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + lastScheduleCheckTime: + description: LastScheduleCheckTime is the last time that the schedule + was checked. + format: date-time + type: string + lastScheduleTime: + description: LastScheduleTime is the last time that a backup was scheduled. + format: date-time + type: string + nextScheduleTime: + description: NextScheduleTime is the next time that a backup will + be scheduled. + format: date-time + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.18.0 name: restores.k8s.mariadb.com spec: group: k8s.mariadb.com @@ -10401,18 +13062,18 @@ spec: Make sure you have at least as many Nodes available as the replicas to not end up with unscheduled Pods. type: boolean nodeAffinity: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeaffinity-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeaffinity-v1-core' properties: preferredDuringSchedulingIgnoredDuringExecution: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#preferredschedulingterm-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#preferredschedulingterm-v1-core' properties: preference: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorterm-v1-core' properties: matchExpressions: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core' properties: key: type: string @@ -10434,7 +13095,7 @@ spec: x-kubernetes-list-type: atomic matchFields: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core' properties: key: type: string @@ -10465,15 +13126,15 @@ spec: type: array x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselector-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselector-v1-core' properties: nodeSelectorTerms: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorterm-v1-core' properties: matchExpressions: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core' properties: key: type: string @@ -10495,7 +13156,7 @@ spec: x-kubernetes-list-type: atomic matchFields: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core' properties: key: type: string @@ -10523,22 +13184,22 @@ spec: type: object type: object podAntiAffinity: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podantiaffinity-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podantiaffinity-v1-core.' properties: preferredDuringSchedulingIgnoredDuringExecution: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#weightedpodaffinityterm-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#weightedpodaffinityterm-v1-core.' properties: podAffinityTerm: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podaffinityterm-v1-core.' properties: labelSelector: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselector-v1-meta' properties: matchExpressions: items: description: 'Refer to the Kubernetes docs: - https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta' + https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselectorrequirement-v1-meta' properties: key: type: string @@ -10579,14 +13240,14 @@ spec: x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podaffinityterm-v1-core.' properties: labelSelector: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselector-v1-meta' properties: matchExpressions: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselectorrequirement-v1-meta' properties: key: type: string @@ -10648,7 +13309,7 @@ spec: description: ImagePullSecrets is the list of pull Secrets to be used to pull the image. items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#localobjectreference-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#localobjectreference-v1-core.' properties: name: default: "" @@ -10678,6 +13339,9 @@ spec: mariaDbRef: description: MariaDBRef is a reference to a MariaDB object. properties: + kind: + description: Kind of the referent. + type: string name: type: string namespace: @@ -10805,7 +13469,7 @@ spec: description: PriorityClassName to be used in the Pod. type: string resources: - description: Resouces describes the compute resource requirements. + description: Resources describes the compute resource requirements. properties: limits: additionalProperties: @@ -11059,14 +13723,14 @@ spec: description: Volume is a Kubernetes volume specification. properties: csi: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#csivolumesource-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#csivolumesource-v1-core.' properties: driver: type: string fsType: type: string nodePublishSecretRef: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#localobjectreference-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#localobjectreference-v1-core.' properties: name: default: "" @@ -11082,7 +13746,7 @@ spec: - driver type: object emptyDir: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#emptydirvolumesource-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#emptydirvolumesource-v1-core.' properties: medium: description: StorageMedium defines ways that storage can @@ -11096,7 +13760,7 @@ spec: x-kubernetes-int-or-string: true type: object hostPath: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#hostpathvolumesource-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#hostpathvolumesource-v1-core' properties: path: type: string @@ -11106,7 +13770,7 @@ spec: - path type: object nfs: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nfsvolumesource-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nfsvolumesource-v1-core.' properties: path: type: string @@ -11119,7 +13783,7 @@ spec: - server type: object persistentVolumeClaim: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#persistentvolumeclaimvolumesource-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#persistentvolumeclaimvolumesource-v1-core.' properties: claimName: type: string @@ -11180,14 +13844,14 @@ spec: backup. properties: csi: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#csivolumesource-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#csivolumesource-v1-core.' properties: driver: type: string fsType: type: string nodePublishSecretRef: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#localobjectreference-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#localobjectreference-v1-core.' properties: name: default: "" @@ -11203,7 +13867,7 @@ spec: - driver type: object emptyDir: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#emptydirvolumesource-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#emptydirvolumesource-v1-core.' properties: medium: description: StorageMedium defines ways that storage can be @@ -11217,7 +13881,7 @@ spec: x-kubernetes-int-or-string: true type: object hostPath: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#hostpathvolumesource-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#hostpathvolumesource-v1-core' properties: path: type: string @@ -11227,7 +13891,7 @@ spec: - path type: object nfs: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nfsvolumesource-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nfsvolumesource-v1-core.' properties: path: type: string @@ -11240,7 +13904,7 @@ spec: - server type: object persistentVolumeClaim: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#persistentvolumeclaimvolumesource-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#persistentvolumeclaimvolumesource-v1-core.' properties: claimName: type: string @@ -11324,7 +13988,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.2 + controller-gen.kubebuilder.io/version: v0.18.0 name: sqljobs.k8s.mariadb.com spec: group: k8s.mariadb.com @@ -11385,18 +14049,18 @@ spec: Make sure you have at least as many Nodes available as the replicas to not end up with unscheduled Pods. type: boolean nodeAffinity: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeaffinity-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeaffinity-v1-core' properties: preferredDuringSchedulingIgnoredDuringExecution: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#preferredschedulingterm-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#preferredschedulingterm-v1-core' properties: preference: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorterm-v1-core' properties: matchExpressions: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core' properties: key: type: string @@ -11418,7 +14082,7 @@ spec: x-kubernetes-list-type: atomic matchFields: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core' properties: key: type: string @@ -11449,15 +14113,15 @@ spec: type: array x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselector-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselector-v1-core' properties: nodeSelectorTerms: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorterm-v1-core' properties: matchExpressions: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core' properties: key: type: string @@ -11479,7 +14143,7 @@ spec: x-kubernetes-list-type: atomic matchFields: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core' properties: key: type: string @@ -11507,22 +14171,22 @@ spec: type: object type: object podAntiAffinity: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podantiaffinity-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podantiaffinity-v1-core.' properties: preferredDuringSchedulingIgnoredDuringExecution: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#weightedpodaffinityterm-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#weightedpodaffinityterm-v1-core.' properties: podAffinityTerm: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podaffinityterm-v1-core.' properties: labelSelector: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselector-v1-meta' properties: matchExpressions: items: description: 'Refer to the Kubernetes docs: - https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta' + https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselectorrequirement-v1-meta' properties: key: type: string @@ -11563,14 +14227,14 @@ spec: x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podaffinityterm-v1-core.' properties: labelSelector: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselector-v1-meta' properties: matchExpressions: items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselectorrequirement-v1-meta' properties: key: type: string @@ -11621,7 +14285,7 @@ spec: dependsOn: description: DependsOn defines dependencies with other SqlJob objectecs. items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#localobjectreference-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#localobjectreference-v1-core.' properties: name: default: "" @@ -11638,7 +14302,7 @@ spec: description: ImagePullSecrets is the list of pull Secrets to be used to pull the image. items: - description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#localobjectreference-v1-core.' + description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#localobjectreference-v1-core.' properties: name: default: "" @@ -11663,6 +14327,9 @@ spec: mariaDbRef: description: MariaDBRef is a reference to a MariaDB object. properties: + kind: + description: Kind of the referent. + type: string name: type: string namespace: @@ -11803,7 +14470,7 @@ spec: description: PriorityClassName to be used in the Pod. type: string resources: - description: Resouces describes the compute resource requirements. + description: Resources describes the compute resource requirements. properties: limits: additionalProperties: @@ -12053,7 +14720,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.2 + controller-gen.kubebuilder.io/version: v0.18.0 name: users.k8s.mariadb.com spec: group: k8s.mariadb.com @@ -12122,6 +14789,9 @@ spec: mariaDbRef: description: MariaDBRef is a reference to a MariaDB object. properties: + kind: + description: Kind of the referent. + type: string name: type: string namespace: diff --git a/packages/system/mariadb-operator/charts/mariadb-operator/templates/NOTES.txt b/packages/system/mariadb-operator/charts/mariadb-operator/templates/NOTES.txt index 88eeecb0..d6a89cfb 100644 --- a/packages/system/mariadb-operator/charts/mariadb-operator/templates/NOTES.txt +++ b/packages/system/mariadb-operator/charts/mariadb-operator/templates/NOTES.txt @@ -1,4 +1,4 @@ mariadb-operator has been successfully deployed! 🦭 Not sure what to do next? 😅 Check out: -https://github.com/mariadb-operator/mariadb-operator/blob/main/docs/QUICKSTART.md +https://github.com/mariadb-operator/mariadb-operator/blob/main/docs/quickstart.md diff --git a/packages/system/mariadb-operator/charts/mariadb-operator/templates/cert-controller/rbac.yaml b/packages/system/mariadb-operator/charts/mariadb-operator/templates/cert-controller/rbac.yaml index 24638858..7b5fa835 100644 --- a/packages/system/mariadb-operator/charts/mariadb-operator/templates/cert-controller/rbac.yaml +++ b/packages/system/mariadb-operator/charts/mariadb-operator/templates/cert-controller/rbac.yaml @@ -51,10 +51,10 @@ rules: - patch - watch - apiGroups: - - "" + - discovery.k8s.io resources: - - endpoints - - endpoints/restricted + - endpointslices + - endpointslices/restricted verbs: - get - list diff --git a/packages/system/mariadb-operator/charts/mariadb-operator/templates/operator/configmap.yaml b/packages/system/mariadb-operator/charts/mariadb-operator/templates/operator/configmap.yaml index d16b9a8c..88acb245 100644 --- a/packages/system/mariadb-operator/charts/mariadb-operator/templates/operator/configmap.yaml +++ b/packages/system/mariadb-operator/charts/mariadb-operator/templates/operator/configmap.yaml @@ -4,6 +4,7 @@ data: MARIADB_GALERA_LIB_PATH: "{{ .Values.config.galeraLibPath }}" MARIADB_DEFAULT_VERSION: "{{ .Values.config.mariadbDefaultVersion }}" RELATED_IMAGE_MARIADB: "{{ .Values.config.mariadbImage }}" + RELATED_IMAGE_MARIADB_NAME: "{{ .Values.config.mariadbImageName }}" RELATED_IMAGE_MAXSCALE: "{{ .Values.config.maxscaleImage }}" RELATED_IMAGE_EXPORTER: "{{ .Values.config.exporterImage }}" RELATED_IMAGE_EXPORTER_MAXSCALE: "{{ .Values.config.exporterMaxscaleImage }}" diff --git a/packages/system/mariadb-operator/charts/mariadb-operator/templates/operator/rbac-namespace.yaml b/packages/system/mariadb-operator/charts/mariadb-operator/templates/operator/rbac-namespace.yaml index ae29d41c..3ef1b760 100644 --- a/packages/system/mariadb-operator/charts/mariadb-operator/templates/operator/rbac-namespace.yaml +++ b/packages/system/mariadb-operator/charts/mariadb-operator/templates/operator/rbac-namespace.yaml @@ -36,17 +36,6 @@ rules: verbs: - create - patch -- apiGroups: - - "" - resources: - - endpoints - - endpoints/restricted - verbs: - - create - - get - - list - - patch - - watch - apiGroups: - "" resources: @@ -65,6 +54,7 @@ rules: - persistentvolumeclaims verbs: - create + - delete - deletecollection - list - patch @@ -121,6 +111,7 @@ rules: verbs: - create - delete + - get - list - patch - watch @@ -133,6 +124,17 @@ rules: - list - patch - watch +- apiGroups: + - discovery.k8s.io + resources: + - endpointslices + - endpointslices/restricted + verbs: + - create + - get + - list + - patch + - watch - apiGroups: - k8s.mariadb.com resources: @@ -141,7 +143,9 @@ rules: - databases - grants - mariadbs + - externalmariadbs - maxscales + - physicalbackups - restores - sqljobs - users @@ -161,7 +165,9 @@ rules: - databases/finalizers - grants/finalizers - mariadbs/finalizers + - externalmariadbs/finalizers - maxscales/finalizers + - physicalbackups/finalizers - restores/finalizers - sqljobs/finalizers - users/finalizers @@ -175,7 +181,9 @@ rules: - databases/status - grants/status - mariadbs/status + - externalmariadbs/status - maxscales/status + - physicalbackups/status - restores/status - sqljobs/status - users/status @@ -220,6 +228,17 @@ rules: - list - patch - watch +- apiGroups: + - snapshot.storage.k8s.io + resources: + - volumesnapshots + verbs: + - create + - delete + - get + - list + - patch + - watch --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding diff --git a/packages/system/mariadb-operator/charts/mariadb-operator/templates/operator/rbac.yaml b/packages/system/mariadb-operator/charts/mariadb-operator/templates/operator/rbac.yaml index fdae943d..600c6a72 100644 --- a/packages/system/mariadb-operator/charts/mariadb-operator/templates/operator/rbac.yaml +++ b/packages/system/mariadb-operator/charts/mariadb-operator/templates/operator/rbac.yaml @@ -53,17 +53,6 @@ rules: - list - patch - watch -- apiGroups: - - "" - resources: - - endpoints - - endpoints/restricted - verbs: - - create - - get - - list - - patch - - watch - apiGroups: - "" resources: @@ -82,6 +71,7 @@ rules: - persistentvolumeclaims verbs: - create + - delete - deletecollection - list - patch @@ -150,6 +140,7 @@ rules: verbs: - create - delete + - get - list - patch - watch @@ -162,6 +153,17 @@ rules: - list - patch - watch +- apiGroups: + - discovery.k8s.io + resources: + - endpointslices + - endpointslices/restricted + verbs: + - create + - get + - list + - patch + - watch - apiGroups: - k8s.mariadb.com resources: @@ -170,7 +172,9 @@ rules: - databases - grants - mariadbs + - externalmariadbs - maxscales + - physicalbackups - restores - sqljobs - users @@ -190,7 +194,9 @@ rules: - databases/finalizers - grants/finalizers - mariadbs/finalizers + - externalmariadbs/finalizers - maxscales/finalizers + - physicalbackups/finalizers - restores/finalizers - sqljobs/finalizers - users/finalizers @@ -204,7 +210,9 @@ rules: - databases/status - grants/status - mariadbs/status + - externalmariadbs/status - maxscales/status + - physicalbackups/status - restores/status - sqljobs/status - users/status @@ -250,6 +258,17 @@ rules: - list - patch - watch +- apiGroups: + - snapshot.storage.k8s.io + resources: + - volumesnapshots + verbs: + - create + - delete + - get + - list + - patch + - watch --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding diff --git a/packages/system/mariadb-operator/charts/mariadb-operator/templates/webhook/config.yaml b/packages/system/mariadb-operator/charts/mariadb-operator/templates/webhook/config.yaml index a5348405..4df29743 100644 --- a/packages/system/mariadb-operator/charts/mariadb-operator/templates/webhook/config.yaml +++ b/packages/system/mariadb-operator/charts/mariadb-operator/templates/webhook/config.yaml @@ -1,41 +1,5 @@ {{ if and (not .Values.currentNamespaceOnly) .Values.webhook.enabled }} {{ $fullName := include "mariadb-operator.fullname" . }} -apiVersion: admissionregistration.k8s.io/v1 -kind: MutatingWebhookConfiguration -metadata: - name: {{ $fullName }}-webhook - labels: - {{- include "mariadb-operator-webhook.labels" . | nindent 4 }} - annotations: - {{- if .Values.webhook.cert.certManager.enabled }} - cert-manager.io/inject-ca-from: {{ .Release.Namespace }}/{{ include "mariadb-operator.fullname" . }}-webhook-cert - {{- else }} - k8s.mariadb.com/webhook: "" - {{- end }} - {{- with .Values.webhook.annotations }} - {{ toYaml . | indent 4 }} - {{- end }} -webhooks: -- admissionReviewVersions: - - v1 - clientConfig: - service: - name: {{ $fullName }}-webhook - namespace: {{ .Release.Namespace }} - path: /mutate-k8s-mariadb-com-v1alpha1-mariadb - failurePolicy: Fail - name: mmariadb-v1alpha1.kb.io - rules: - - apiGroups: - - k8s.mariadb.com - apiVersions: - - v1alpha1 - operations: - - CREATE - - UPDATE - resources: - - mariadbs - sideEffects: None --- apiVersion: admissionregistration.k8s.io/v1 kind: ValidatingWebhookConfiguration @@ -73,6 +37,26 @@ webhooks: resources: - backups sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: {{ $fullName }}-webhook + namespace: {{ .Release.Namespace }} + path: /validate-k8s-mariadb-com-v1alpha1-physicalbackup + failurePolicy: Fail + name: vphysicalbackup-v1alpha1.kb.io + rules: + - apiGroups: + - k8s.mariadb.com + apiVersions: + - v1alpha1 + operations: + - CREATE + - UPDATE + resources: + - physicalbackups + sideEffects: None - admissionReviewVersions: - v1 clientConfig: @@ -233,4 +217,4 @@ webhooks: resources: - users sideEffects: None -{{- end }} \ No newline at end of file +{{- end }} diff --git a/packages/system/mariadb-operator/charts/mariadb-operator/values.yaml b/packages/system/mariadb-operator/charts/mariadb-operator/values.yaml index 82317dfc..78f05909 100644 --- a/packages/system/mariadb-operator/charts/mariadb-operator/values.yaml +++ b/packages/system/mariadb-operator/charts/mariadb-operator/values.yaml @@ -1,6 +1,6 @@ nameOverride: "" fullnameOverride: "" -# --- CRDs +# -- CRDs crds: # -- Whether the helm chart should create and update the CRDs. It is false by default, which implies that the CRDs must be # managed independently with the mariadb-operator-crds helm chart. @@ -310,9 +310,11 @@ config: # -- Galera library path to be used with MariaDB Galera galeraLibPath: /usr/lib/galera/libgalera_smm.so # -- Default MariaDB version to be used when unable to infer it via image tag - mariadbDefaultVersion: "11.4" + mariadbDefaultVersion: "11.8" # -- Default MariaDB image - mariadbImage: docker-registry1.mariadb.com/library/mariadb:11.4.5 + mariadbImage: docker-registry1.mariadb.com/library/mariadb:11.8.2 + # -- Default MariaDB image name + mariadbImageName: docker-registry1.mariadb.com/library/mariadb # -- Default MaxScale image maxscaleImage: docker-registry2.mariadb.com/mariadb/maxscale:23.08.5 # -- Default MariaDB exporter image