MariaDB
k8s.mariadb.com / v1alpha1
apiVersion: k8s.mariadb.com/v1alpha1
kind: MariaDB
metadata:
name: example
apiVersion
string
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
kind
string
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
metadata
object
spec object required
MariaDBSpec defines the desired state of MariaDB
affinity object
Affinity to be used in the Pod.
antiAffinityEnabled
boolean
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.
nodeAffinity object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#nodeaffinity-v1-core
preferredDuringSchedulingIgnoredDuringExecution []object
preference object required
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#nodeselectorterm-v1-core
matchExpressions []object
key
string required
operator
string required
A node selector operator is the set of operators that can be used in
a node selector requirement.
values
[]string
matchFields []object
key
string required
operator
string required
A node selector operator is the set of operators that can be used in
a node selector requirement.
values
[]string
weight
integer required
format:
int32requiredDuringSchedulingIgnoredDuringExecution object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#nodeselector-v1-core
nodeSelectorTerms []object required
matchExpressions []object
key
string required
operator
string required
A node selector operator is the set of operators that can be used in
a node selector requirement.
values
[]string
matchFields []object
key
string required
operator
string required
A node selector operator is the set of operators that can be used in
a node selector requirement.
values
[]string
podAntiAffinity object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#podantiaffinity-v1-core.
preferredDuringSchedulingIgnoredDuringExecution []object
podAffinityTerm object required
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#podaffinityterm-v1-core.
labelSelector object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#labelselector-v1-meta
matchExpressions []object
key
string required
operator
string required
A label selector operator is the set of operators that can be used in a selector requirement.
values
[]string
matchLabels
object
topologyKey
string required
weight
integer required
format:
int32requiredDuringSchedulingIgnoredDuringExecution []object
labelSelector object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#labelselector-v1-meta
matchExpressions []object
key
string required
operator
string required
A label selector operator is the set of operators that can be used in a selector requirement.
values
[]string
matchLabels
object
topologyKey
string required
args
[]string
Args to be used in the Container.
bootstrapFrom object
BootstrapFrom defines a source to bootstrap from.
backupContentType
string
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, PhysicalbackupRef object
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.
kind
string
Kind of the referent.
name
string
Name of the referent.
restoreJob object
RestoreJob defines additional properties for the Job used to perform the restoration.
affinity object
Affinity to be used in the Pod.
antiAffinityEnabled
boolean
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.
nodeAffinity object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#nodeaffinity-v1-core
preferredDuringSchedulingIgnoredDuringExecution []object
preference object required
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#nodeselectorterm-v1-core
matchExpressions []object
key
string required
operator
string required
A node selector operator is the set of operators that can be used in
a node selector requirement.
values
[]string
matchFields []object
key
string required
operator
string required
A node selector operator is the set of operators that can be used in
a node selector requirement.
values
[]string
weight
integer required
format:
int32requiredDuringSchedulingIgnoredDuringExecution object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#nodeselector-v1-core
nodeSelectorTerms []object required
matchExpressions []object
key
string required
operator
string required
A node selector operator is the set of operators that can be used in
a node selector requirement.
values
[]string
matchFields []object
key
string required
operator
string required
A node selector operator is the set of operators that can be used in
a node selector requirement.
values
[]string
podAntiAffinity object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#podantiaffinity-v1-core.
preferredDuringSchedulingIgnoredDuringExecution []object
podAffinityTerm object required
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#podaffinityterm-v1-core.
labelSelector object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#labelselector-v1-meta
matchExpressions []object
key
string required
operator
string required
A label selector operator is the set of operators that can be used in a selector requirement.
values
[]string
matchLabels
object
topologyKey
string required
weight
integer required
format:
int32requiredDuringSchedulingIgnoredDuringExecution []object
labelSelector object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#labelselector-v1-meta
matchExpressions []object
key
string required
operator
string required
A label selector operator is the set of operators that can be used in a selector requirement.
values
[]string
matchLabels
object
topologyKey
string required
args
[]string
Args to be used in the Container.
metadata object
Metadata defines additional metadata for the bootstrap Jobs.
annotations
object
Annotations to be added to children resources.
labels
object
Labels to be added to children resources.
nodeSelector
object
NodeSelector to be used in the Pod.
resources object
Resources describes the compute resource requirements.
limits
object
ResourceList is a set of (resource name, quantity) pairs.
requests
object
ResourceList is a set of (resource name, quantity) pairs.
tolerations []object
Tolerations to be used in the Pod.
effect
string
Effect indicates the taint effect to match. Empty means match all taint effects.
When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
key
string
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.
operator
string
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.
tolerationSeconds
integer
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
value
string
Value is the taint value the toleration matches to.
If the operator is Exists, the value should be empty, otherwise just a regular string.
s3 object
S3 defines the configuration to restore backups from a S3 compatible storage.
This field takes precedence over the Volume source.
accessKeyIdSecretKeyRef object
AccessKeyIdSecretKeyRef is a reference to a Secret key containing the S3 access key id.
key
string required
name
string
bucket
string required
Bucket is the name Name of the bucket to store backups.
endpoint
string required
Endpoint is the S3 API endpoint without scheme.
prefix
string
Prefix indicates a folder/subfolder in the bucket. For example: mariadb/ or mariadb/backups. A trailing slash '/' is added if not provided.
region
string
Region is the S3 region name to use.
secretAccessKeySecretKeyRef object
AccessKeyIdSecretKeyRef is a reference to a Secret key containing the S3 secret key.
key
string required
name
string
sessionTokenSecretKeyRef object
SessionTokenSecretKeyRef is a reference to a Secret key containing the S3 session token.
key
string required
name
string
tls object
TLS provides the configuration required to establish TLS connections with S3.
caSecretKeyRef object
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.
key
string required
name
string
enabled
boolean
Enabled is a flag to enable TLS.
stagingStorage object
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 Job is scheduled.
persistentVolumeClaim object
PersistentVolumeClaim is a Kubernetes PVC specification.
accessModes
[]string
resources object
VolumeResourceRequirements describes the storage resource requirements for a volume.
limits
object
Limits describes the maximum amount of compute resources allowed.
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
requests
object
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/
selector object
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.
matchExpressions []object
matchExpressions is a list of label selector requirements. The requirements are ANDed.
key
string required
key is the label key that the selector applies to.
operator
string required
operator represents a key's relationship to a set of values.
Valid operators are In, NotIn, Exists and DoesNotExist.
values
[]string
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.
matchLabels
object
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.
storageClassName
string
volume object
Volume is a Kubernetes volume specification.
csi object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#csivolumesource-v1-core.
driver
string required
fsType
string
nodePublishSecretRef object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#localobjectreference-v1-core.
name
string
readOnly
boolean
volumeAttributes
object
emptyDir object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#emptydirvolumesource-v1-core.
medium
string
StorageMedium defines ways that storage can be allocated to a volume.
sizeLimit
string | integer
string pattern:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$hostPath object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#hostpathvolumesource-v1-core
path
string required
type
string
nfs object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#nfsvolumesource-v1-core.
path
string required
readOnly
boolean
server
string required
persistentVolumeClaim object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#persistentvolumeclaimvolumesource-v1-core.
claimName
string required
readOnly
boolean
targetRecoveryTime
string
TargetRecoveryTime is a RFC3339 (1970-01-01T00:00:00Z) date and time that defines the point in time recovery objective.
It is used to determine the closest restoration source in time.
format:
date-timevolume object
Volume is a Kubernetes Volume object that contains a backup.
csi object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#csivolumesource-v1-core.
driver
string required
fsType
string
nodePublishSecretRef object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#localobjectreference-v1-core.
name
string
readOnly
boolean
volumeAttributes
object
emptyDir object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#emptydirvolumesource-v1-core.
medium
string
StorageMedium defines ways that storage can be allocated to a volume.
sizeLimit
string | integer
string pattern:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$hostPath object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#hostpathvolumesource-v1-core
path
string required
type
string
nfs object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#nfsvolumesource-v1-core.
path
string required
readOnly
boolean
server
string required
persistentVolumeClaim object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#persistentvolumeclaimvolumesource-v1-core.
claimName
string required
readOnly
boolean
volumeSnapshotRef object
VolumeSnapshotRef is a reference to a VolumeSnapshot object.
This field takes precedence over S3 and Volume sources.
name
string
command
[]string
Command to be used in the Container.
connection object
Connection defines a template to configure the general Connection object.
This Connection provides the initial User access to the initial Database.
It will make use of the Service to route network traffic to all Pods.
healthCheck object
HealthCheck to be used in the Connection.
interval
string
Interval used to perform health checks.
retryInterval
string
RetryInterval is the interval used to perform health check retries.
params
object
Params to be used in the Connection.
port
integer
Port to connect to. If not provided, it defaults to the MariaDB port or to the first MaxScale listener.
format:
int32
secretName
string
SecretName to be used in the Connection.
secretTemplate object
SecretTemplate to be used in the Connection.
databaseKey
string
DatabaseKey to be used in the Secret.
format
string
Format to be used in the Secret.
hostKey
string
HostKey to be used in the Secret.
key
string
Key to be used in the Secret.
metadata object
Metadata to be added to the Secret object.
annotations
object
Annotations to be added to children resources.
labels
object
Labels to be added to children resources.
passwordKey
string
PasswordKey to be used in the Secret.
portKey
string
PortKey to be used in the Secret.
usernameKey
string
UsernameKey to be used in the Secret.
serviceName
string
ServiceName to be used in the Connection.
database
string
Database is the name of the initial Database.
env []object
Env represents the environment variables to be injected in a container.
name
string required
Name of the environment variable. Must be a C_IDENTIFIER.
value
string
valueFrom object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#envvarsource-v1-core.
configMapKeyRef object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#configmapkeyselector-v1-core.
key
string required
name
string
fieldRef object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#objectfieldselector-v1-core.
apiVersion
string
fieldPath
string required
secretKeyRef object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#secretkeyselector-v1-core.
key
string required
name
string
envFrom []object
EnvFrom represents the references (via ConfigMap and Secrets) to environment variables to be injected in the container.
configMapRef object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#localobjectreference-v1-core.
name
string
prefix
string
secretRef object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#localobjectreference-v1-core.
name
string
galera object
Replication configures high availability via Galera.
agent object
GaleraAgent is a sidecar agent that co-operates with mariadb-operator.
args
[]string
Args to be used in the Container.
basicAuth object
BasicAuth to be used by the agent container
enabled
boolean
Enabled is a flag to enable BasicAuth
passwordSecretKeyRef object
PasswordSecretKeyRef to be used for basic authentication
generate
boolean
Generate indicates whether the Secret should be generated if the Secret referenced is not present.
key
string required
name
string
username
string
Username to be used for basic authentication
command
[]string
Command to be used in the Container.
env []object
Env represents the environment variables to be injected in a container.
name
string required
Name of the environment variable. Must be a C_IDENTIFIER.
value
string
valueFrom object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#envvarsource-v1-core.
configMapKeyRef object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#configmapkeyselector-v1-core.
key
string required
name
string
fieldRef object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#objectfieldselector-v1-core.
apiVersion
string
fieldPath
string required
secretKeyRef object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#secretkeyselector-v1-core.
key
string required
name
string
envFrom []object
EnvFrom represents the references (via ConfigMap and Secrets) to environment variables to be injected in the container.
configMapRef object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#localobjectreference-v1-core.
name
string
prefix
string
secretRef object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#localobjectreference-v1-core.
name
string
gracefulShutdownTimeout
string
GracefulShutdownTimeout is the time we give to the agent container in order to gracefully terminate in-flight requests.
image
string
Image name to be used by the MariaDB instances. The supported format is `<image>:<tag>`.
imagePullPolicy
string
ImagePullPolicy is the image pull policy. One of `Always`, `Never` or `IfNotPresent`. If not defined, it defaults to `IfNotPresent`.
enum:
Always, Never, IfNotPresentkubernetesAuth object
KubernetesAuth to be used by the agent container
authDelegatorRoleName
string
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.
enabled
boolean
Enabled is a flag to enable KubernetesAuth
livenessProbe object
LivenessProbe to be used in the Container.
exec object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#execaction-v1-core.
command
[]string
failureThreshold
integer
format:
int32httpGet object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#httpgetaction-v1-core.
host
string
path
string
port
string | integer required
scheme
string
URIScheme identifies the scheme used for connection to a host for Get actions
initialDelaySeconds
integer
format:
int32
periodSeconds
integer
format:
int32
successThreshold
integer
format:
int32tcpSocket object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#tcpsocketaction-v1-core.
host
string
port
string | integer required
timeoutSeconds
integer
format:
int32
port
integer
Port where the agent will be listening for API connections.
format:
int32
probePort
integer
Port where the agent will be listening for probe connections.
format:
int32readinessProbe object
ReadinessProbe to be used in the Container.
exec object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#execaction-v1-core.
command
[]string
failureThreshold
integer
format:
int32httpGet object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#httpgetaction-v1-core.
host
string
path
string
port
string | integer required
scheme
string
URIScheme identifies the scheme used for connection to a host for Get actions
initialDelaySeconds
integer
format:
int32
periodSeconds
integer
format:
int32
successThreshold
integer
format:
int32tcpSocket object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#tcpsocketaction-v1-core.
host
string
port
string | integer required
timeoutSeconds
integer
format:
int32resources object
Resources describes the compute resource requirements.
limits
object
ResourceList is a set of (resource name, quantity) pairs.
requests
object
ResourceList is a set of (resource name, quantity) pairs.
securityContext object
SecurityContext holds security configuration that will be applied to a container.
allowPrivilegeEscalation
boolean
capabilities object
Adds and removes POSIX capabilities from running containers.
add
[]string
Added capabilities
drop
[]string
Removed capabilities
privileged
boolean
readOnlyRootFilesystem
boolean
runAsGroup
integer
format:
int64
runAsNonRoot
boolean
runAsUser
integer
format:
int64startupProbe object
StartupProbe to be used in the Container.
exec object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#execaction-v1-core.
command
[]string
failureThreshold
integer
format:
int32httpGet object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#httpgetaction-v1-core.
host
string
path
string
port
string | integer required
scheme
string
URIScheme identifies the scheme used for connection to a host for Get actions
initialDelaySeconds
integer
format:
int32
periodSeconds
integer
format:
int32
successThreshold
integer
format:
int32tcpSocket object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#tcpsocketaction-v1-core.
host
string
port
string | integer required
timeoutSeconds
integer
format:
int32volumeMounts []object
VolumeMounts to be used in the Container.
mountPath
string required
name
string required
This must match the Name of a Volume.
readOnly
boolean
subPath
string
availableWhenDonor
boolean
AvailableWhenDonor indicates whether a donor node should be responding to queries. It defaults to false.
config object
GaleraConfig defines storage options for the Galera configuration files.
reuseStorageVolume
boolean
ReuseStorageVolume indicates that storage volume used by MariaDB should be reused to store the Galera configuration files.
It defaults to false, which implies that a dedicated volume for the Galera configuration files is provisioned.
volumeClaimTemplate object
VolumeClaimTemplate is a template for the PVC that will contain the Galera configuration files shared between the InitContainer, Agent and MariaDB.
accessModes
[]string
metadata object
Metadata to be added to the PVC metadata.
annotations
object
Annotations to be added to children resources.
labels
object
Labels to be added to children resources.
resources object
VolumeResourceRequirements describes the storage resource requirements for a volume.
limits
object
Limits describes the maximum amount of compute resources allowed.
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
requests
object
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/
selector object
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.
matchExpressions []object
matchExpressions is a list of label selector requirements. The requirements are ANDed.
key
string required
key is the label key that the selector applies to.
operator
string required
operator represents a key's relationship to a set of values.
Valid operators are In, NotIn, Exists and DoesNotExist.
values
[]string
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.
matchLabels
object
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.
storageClassName
string
enabled
boolean
Enabled is a flag to enable Galera.
galeraLibPath
string
GaleraLibPath is a path inside the MariaDB image to the wsrep provider plugin. It is defaulted if not provided.
More info: https://galeracluster.com/library/documentation/mysql-wsrep-options.html#wsrep-provider.
initContainer object
InitContainer is an init container that runs in the MariaDB Pod and co-operates with mariadb-operator.
args
[]string
Args to be used in the Container.
command
[]string
Command to be used in the Container.
env []object
Env represents the environment variables to be injected in a container.
name
string required
Name of the environment variable. Must be a C_IDENTIFIER.
value
string
valueFrom object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#envvarsource-v1-core.
configMapKeyRef object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#configmapkeyselector-v1-core.
key
string required
name
string
fieldRef object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#objectfieldselector-v1-core.
apiVersion
string
fieldPath
string required
secretKeyRef object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#secretkeyselector-v1-core.
key
string required
name
string
envFrom []object
EnvFrom represents the references (via ConfigMap and Secrets) to environment variables to be injected in the container.
configMapRef object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#localobjectreference-v1-core.
name
string
prefix
string
secretRef object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#localobjectreference-v1-core.
name
string
image
string required
Image name to be used by the MariaDB instances. The supported format is `<image>:<tag>`.
imagePullPolicy
string
ImagePullPolicy is the image pull policy. One of `Always`, `Never` or `IfNotPresent`. If not defined, it defaults to `IfNotPresent`.
enum:
Always, Never, IfNotPresentlivenessProbe object
LivenessProbe to be used in the Container.
exec object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#execaction-v1-core.
command
[]string
failureThreshold
integer
format:
int32httpGet object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#httpgetaction-v1-core.
host
string
path
string
port
string | integer required
scheme
string
URIScheme identifies the scheme used for connection to a host for Get actions
initialDelaySeconds
integer
format:
int32
periodSeconds
integer
format:
int32
successThreshold
integer
format:
int32tcpSocket object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#tcpsocketaction-v1-core.
host
string
port
string | integer required
timeoutSeconds
integer
format:
int32readinessProbe object
ReadinessProbe to be used in the Container.
exec object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#execaction-v1-core.
command
[]string
failureThreshold
integer
format:
int32httpGet object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#httpgetaction-v1-core.
host
string
path
string
port
string | integer required
scheme
string
URIScheme identifies the scheme used for connection to a host for Get actions
initialDelaySeconds
integer
format:
int32
periodSeconds
integer
format:
int32
successThreshold
integer
format:
int32tcpSocket object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#tcpsocketaction-v1-core.
host
string
port
string | integer required
timeoutSeconds
integer
format:
int32resources object
Resources describes the compute resource requirements.
limits
object
ResourceList is a set of (resource name, quantity) pairs.
requests
object
ResourceList is a set of (resource name, quantity) pairs.
securityContext object
SecurityContext holds security configuration that will be applied to a container.
allowPrivilegeEscalation
boolean
capabilities object
Adds and removes POSIX capabilities from running containers.
add
[]string
Added capabilities
drop
[]string
Removed capabilities
privileged
boolean
readOnlyRootFilesystem
boolean
runAsGroup
integer
format:
int64
runAsNonRoot
boolean
runAsUser
integer
format:
int64startupProbe object
StartupProbe to be used in the Container.
exec object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#execaction-v1-core.
command
[]string
failureThreshold
integer
format:
int32httpGet object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#httpgetaction-v1-core.
host
string
path
string
port
string | integer required
scheme
string
URIScheme identifies the scheme used for connection to a host for Get actions
initialDelaySeconds
integer
format:
int32
periodSeconds
integer
format:
int32
successThreshold
integer
format:
int32tcpSocket object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#tcpsocketaction-v1-core.
host
string
port
string | integer required
timeoutSeconds
integer
format:
int32volumeMounts []object
VolumeMounts to be used in the Container.
mountPath
string required
name
string required
This must match the Name of a Volume.
readOnly
boolean
subPath
string
initJob object
InitJob defines a Job that co-operates with mariadb-operator by performing initialization tasks.
metadata object
Metadata defines additional metadata for the Galera init Job.
annotations
object
Annotations to be added to children resources.
labels
object
Labels to be added to children resources.
resources object
Resources describes the compute resource requirements.
limits
object
ResourceList is a set of (resource name, quantity) pairs.
requests
object
ResourceList is a set of (resource name, quantity) pairs.
primary object
Primary is the Galera configuration for the primary node.
automaticFailover
boolean
AutomaticFailover indicates whether the operator should automatically update PodIndex to perform an automatic primary failover.
podIndex
integer
PodIndex is the StatefulSet index of the primary node. The user may change this field to perform a manual switchover.
providerOptions
object
ProviderOptions is map of Galera configuration parameters.
More info: https://mariadb.com/kb/en/galera-cluster-system-variables/#wsrep_provider_options.
recovery object
GaleraRecovery is the recovery process performed by the operator whenever the Galera cluster is not healthy.
More info: https://galeracluster.com/library/documentation/crash-recovery.html.
clusterBootstrapTimeout
string
ClusterBootstrapTimeout is the time limit for bootstrapping a cluster.
Once this timeout is reached, the Galera recovery state is reset and a new cluster bootstrap will be attempted.
clusterDownscaleTimeout
string
ClusterDownscaleTimeout represents the maximum duration for downscaling the cluster's StatefulSet during the recovery process.
clusterHealthyTimeout
string
ClusterHealthyTimeout represents the duration at which a Galera cluster, that consistently failed health checks,
is considered unhealthy, and consequently the Galera recovery process will be initiated by the operator.
clusterMonitorInterval
string
ClusterMonitorInterval represents the interval used to monitor the Galera cluster health.
clusterUpscaleTimeout
string
ClusterUpscaleTimeout represents the maximum duration for upscaling the cluster's StatefulSet during the recovery process.
enabled
boolean
Enabled is a flag to enable GaleraRecovery.
forceClusterBootstrapInPod
string
ForceClusterBootstrapInPod allows you to manually initiate the bootstrap process in a specific Pod.
IMPORTANT: Use this option only in exceptional circumstances. Not selecting the Pod with the highest sequence number may result in data loss.
IMPORTANT: Ensure you unset this field after completing the bootstrap to allow the operator to choose the appropriate Pod to bootstrap from in an event of cluster recovery.
job object
Job defines a Job that co-operates with mariadb-operator by performing the Galera cluster recovery .
metadata object
Metadata defines additional metadata for the Galera recovery Jobs.
annotations
object
Annotations to be added to children resources.
labels
object
Labels to be added to children resources.
podAffinity
boolean
PodAffinity indicates whether the recovery Jobs should run in the same Node as the MariaDB Pods. It defaults to true.
resources object
Resources describes the compute resource requirements.
limits
object
ResourceList is a set of (resource name, quantity) pairs.
requests
object
ResourceList is a set of (resource name, quantity) pairs.
minClusterSize
string | integer
MinClusterSize is the minimum number of replicas to consider the cluster healthy. It can be either a number of replicas (1) or a percentage (50%).
If Galera consistently reports less replicas than this value for the given 'ClusterHealthyTimeout' interval, a cluster recovery is iniated.
It defaults to '1' replica, and it is highly recommendeded to keep this value at '1' in most cases.
If set to more than one replica, the cluster recovery process may restart the healthy replicas as well.
podRecoveryTimeout
string
PodRecoveryTimeout is the time limit for recevorying the sequence of a Pod during the cluster recovery.
podSyncTimeout
string
PodSyncTimeout is the time limit for a Pod to join the cluster after having performed a cluster bootstrap during the cluster recovery.
replicaThreads
integer
ReplicaThreads is the number of replica threads used to apply Galera write sets in parallel.
More info: https://mariadb.com/kb/en/galera-cluster-system-variables/#wsrep_slave_threads.
sst
string
SST is the Snapshot State Transfer used when new Pods join the cluster.
More info: https://galeracluster.com/library/documentation/sst.html.
enum:
rsync, mariabackup, mysqldump
image
string
Image name to be used by the MariaDB instances. The supported format is `<image>:<tag>`.
Only MariaDB official images are supported.
imagePullPolicy
string
ImagePullPolicy is the image pull policy. One of `Always`, `Never` or `IfNotPresent`. If not defined, it defaults to `IfNotPresent`.
enum:
Always, Never, IfNotPresentimagePullSecrets []object
ImagePullSecrets is the list of pull Secrets to be used to pull the image.
name
string
inheritMetadata object
InheritMetadata defines the metadata to be inherited by children resources.
annotations
object
Annotations to be added to children resources.
labels
object
Labels to be added to children resources.
initContainers []object
InitContainers to be used in the Pod.
args
[]string
Args to be used in the Container.
command
[]string
Command to be used in the Container.
env []object
Env represents the environment variables to be injected in a container.
name
string required
Name of the environment variable. Must be a C_IDENTIFIER.
value
string
valueFrom object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#envvarsource-v1-core.
configMapKeyRef object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#configmapkeyselector-v1-core.
key
string required
name
string
fieldRef object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#objectfieldselector-v1-core.
apiVersion
string
fieldPath
string required
secretKeyRef object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#secretkeyselector-v1-core.
key
string required
name
string
image
string required
Image name to be used by the container. The supported format is `<image>:<tag>`.
imagePullPolicy
string
ImagePullPolicy is the image pull policy. One of `Always`, `Never` or `IfNotPresent`. If not defined, it defaults to `IfNotPresent`.
enum:
Always, Never, IfNotPresent
name
string
Name to be given to the container.
resources object
Resources describes the compute resource requirements.
limits
object
ResourceList is a set of (resource name, quantity) pairs.
requests
object
ResourceList is a set of (resource name, quantity) pairs.
volumeMounts []object
VolumeMounts to be used in the Container.
mountPath
string required
name
string required
This must match the Name of a Volume.
readOnly
boolean
subPath
string
livenessProbe object
LivenessProbe to be used in the Container.
exec object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#execaction-v1-core.
command
[]string
failureThreshold
integer
format:
int32httpGet object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#httpgetaction-v1-core.
host
string
path
string
port
string | integer required
scheme
string
URIScheme identifies the scheme used for connection to a host for Get actions
initialDelaySeconds
integer
format:
int32
periodSeconds
integer
format:
int32
successThreshold
integer
format:
int32tcpSocket object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#tcpsocketaction-v1-core.
host
string
port
string | integer required
timeoutSeconds
integer
format:
int32maxScale object
MaxScale is the MaxScale specification that defines the MaxScale resource to be used with the current MariaDB.
When enabling this field, MaxScaleRef is automatically set.
admin object
Admin configures the admin REST API and GUI.
guiEnabled
boolean
GuiEnabled indicates whether the admin GUI should be enabled.
port
integer
Port where the admin REST API and GUI will be exposed.
format:
int32auth object
Auth defines the credentials required for MaxScale to connect to MariaDB.
adminPasswordSecretKeyRef object
AdminPasswordSecretKeyRef is Secret key reference to the admin password to call the admin REST API. It is defaulted if not provided.
generate
boolean
Generate indicates whether the Secret should be generated if the Secret referenced is not present.
key
string required
name
string
adminUsername
string
AdminUsername is an admin username to call the admin REST API. It is defaulted if not provided.
clientMaxConnections
integer
ClientMaxConnections defines the maximum number of connections that the client can establish.
If HA is enabled, make sure to increase this value, as more MaxScale replicas implies more connections.
It defaults to 30 times the number of MaxScale replicas.
format:
int32clientPasswordSecretKeyRef object
ClientPasswordSecretKeyRef is Secret key reference to the password to connect to MaxScale. It is defaulted if not provided.
If the referred Secret is labeled with "k8s.mariadb.com/watch", updates may be performed to the Secret in order to update the password.
generate
boolean
Generate indicates whether the Secret should be generated if the Secret referenced is not present.
key
string required
name
string
clientUsername
string
ClientUsername is the user to connect to MaxScale. It is defaulted if not provided.
deleteDefaultAdmin
boolean
DeleteDefaultAdmin determines whether the default admin user should be deleted after the initial configuration. If not provided, it defaults to true.
generate
boolean
Generate defies whether the operator should generate users and grants for MaxScale to work.
It only supports MariaDBs specified via spec.mariaDbRef.
metricsPasswordSecretKeyRef object
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.
generate
boolean
Generate indicates whether the Secret should be generated if the Secret referenced is not present.
key
string required
name
string
metricsUsername
string
MetricsUsername is an metrics username to call the REST API. It is defaulted if metrics are enabled.
monitorMaxConnections
integer
MonitorMaxConnections defines the maximum number of connections that the monitor can establish.
If HA is enabled, make sure to increase this value, as more MaxScale replicas implies more connections.
It defaults to 30 times the number of MaxScale replicas.
format:
int32monitorPasswordSecretKeyRef object
MonitorPasswordSecretKeyRef is Secret key reference to the password used by MaxScale monitor to connect to MariaDB server. It is defaulted if not provided.
If the referred Secret is labeled with "k8s.mariadb.com/watch", updates may be performed to the Secret in order to update the password.
generate
boolean
Generate indicates whether the Secret should be generated if the Secret referenced is not present.
key
string required
name
string
monitorUsername
string
MonitorUsername is the user used by MaxScale monitor to connect to MariaDB server. It is defaulted if not provided.
serverMaxConnections
integer
ServerMaxConnections defines the maximum number of connections that the server can establish.
If HA is enabled, make sure to increase this value, as more MaxScale replicas implies more connections.
It defaults to 30 times the number of MaxScale replicas.
format:
int32serverPasswordSecretKeyRef object
ServerPasswordSecretKeyRef is Secret key reference to the password used by MaxScale to connect to MariaDB server. It is defaulted if not provided.
If the referred Secret is labeled with "k8s.mariadb.com/watch", updates may be performed to the Secret in order to update the password.
generate
boolean
Generate indicates whether the Secret should be generated if the Secret referenced is not present.
key
string required
name
string
serverUsername
string
ServerUsername is the user used by MaxScale to connect to MariaDB server. It is defaulted if not provided.
syncMaxConnections
integer
SyncMaxConnections defines the maximum number of connections that the sync can establish.
If HA is enabled, make sure to increase this value, as more MaxScale replicas implies more connections.
It defaults to 30 times the number of MaxScale replicas.
format:
int32syncPasswordSecretKeyRef object
SyncPasswordSecretKeyRef is Secret key reference to the password used by MaxScale config to connect to MariaDB server. It is defaulted when HA is 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.
generate
boolean
Generate indicates whether the Secret should be generated if the Secret referenced is not present.
key
string required
name
string
syncUsername
string
MonitoSyncUsernamerUsername is the user used by MaxScale config sync to connect to MariaDB server. It is defaulted when HA is enabled.
config object
Config defines the MaxScale configuration.
params
object
Params is a key value pair of parameters to be used in the MaxScale static configuration file.
Any parameter supported by MaxScale may be specified here. See reference:
https://mariadb.com/kb/en/mariadb-maxscale-2308-mariadb-maxscale-configuration-guide/#global-settings.
sync object
Sync defines how to replicate configuration across MaxScale replicas. It is defaulted when HA is enabled.
database
string
Database is the MariaDB logical database where the 'maxscale_config' table will be created in order to persist and synchronize config changes. If not provided, it defaults to 'mysql'.
interval
string
Interval defines the config synchronization interval. It is defaulted if not provided.
timeout
string
Interval defines the config synchronization timeout. It is defaulted if not provided.
volumeClaimTemplate object
VolumeClaimTemplate provides a template to define the PVCs for storing MaxScale runtime configuration files. It is defaulted if not provided.
accessModes
[]string
metadata object
Metadata to be added to the PVC metadata.
annotations
object
Annotations to be added to children resources.
labels
object
Labels to be added to children resources.
resources object
VolumeResourceRequirements describes the storage resource requirements for a volume.
limits
object
Limits describes the maximum amount of compute resources allowed.
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
requests
object
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/
selector object
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.
matchExpressions []object
matchExpressions is a list of label selector requirements. The requirements are ANDed.
key
string required
key is the label key that the selector applies to.
operator
string required
operator represents a key's relationship to a set of values.
Valid operators are In, NotIn, Exists and DoesNotExist.
values
[]string
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.
matchLabels
object
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.
storageClassName
string
connection object
Connection provides a template to define the Connection for MaxScale.
healthCheck object
HealthCheck to be used in the Connection.
interval
string
Interval used to perform health checks.
retryInterval
string
RetryInterval is the interval used to perform health check retries.
params
object
Params to be used in the Connection.
port
integer
Port to connect to. If not provided, it defaults to the MariaDB port or to the first MaxScale listener.
format:
int32
secretName
string
SecretName to be used in the Connection.
secretTemplate object
SecretTemplate to be used in the Connection.
databaseKey
string
DatabaseKey to be used in the Secret.
format
string
Format to be used in the Secret.
hostKey
string
HostKey to be used in the Secret.
key
string
Key to be used in the Secret.
metadata object
Metadata to be added to the Secret object.
annotations
object
Annotations to be added to children resources.
labels
object
Labels to be added to children resources.
passwordKey
string
PasswordKey to be used in the Secret.
portKey
string
PortKey to be used in the Secret.
usernameKey
string
UsernameKey to be used in the Secret.
serviceName
string
ServiceName to be used in the Connection.
enabled
boolean
Enabled is a flag to enable a MaxScale instance to be used with the current MariaDB.
guiKubernetesService object
GuiKubernetesService define a template for a Kubernetes Service object to connect to MaxScale's GUI.
allocateLoadBalancerNodePorts
boolean
AllocateLoadBalancerNodePorts Service field.
externalTrafficPolicy
string
ExternalTrafficPolicy Service field.
loadBalancerIP
string
LoadBalancerIP Service field.
loadBalancerSourceRanges
[]string
LoadBalancerSourceRanges Service field.
metadata object
Metadata to be added to the Service metadata.
annotations
object
Annotations to be added to children resources.
labels
object
Labels to be added to children resources.
sessionAffinity
string
SessionAffinity Service field.
type
string
Type is the Service type. One of `ClusterIP`, `NodePort` or `LoadBalancer`. If not defined, it defaults to `ClusterIP`.
enum:
ClusterIP, NodePort, LoadBalancer
image
string
Image name to be used by the MaxScale instances. The supported format is `<image>:<tag>`.
Only MariaDB official images are supported.
imagePullPolicy
string
ImagePullPolicy is the image pull policy. One of `Always`, `Never` or `IfNotPresent`. If not defined, it defaults to `IfNotPresent`.
enum:
Always, Never, IfNotPresentkubernetesService object
KubernetesService defines a template for a Kubernetes Service object to connect to MaxScale.
allocateLoadBalancerNodePorts
boolean
AllocateLoadBalancerNodePorts Service field.
externalTrafficPolicy
string
ExternalTrafficPolicy Service field.
loadBalancerIP
string
LoadBalancerIP Service field.
loadBalancerSourceRanges
[]string
LoadBalancerSourceRanges Service field.
metadata object
Metadata to be added to the Service metadata.
annotations
object
Annotations to be added to children resources.
labels
object
Labels to be added to children resources.
sessionAffinity
string
SessionAffinity Service field.
type
string
Type is the Service type. One of `ClusterIP`, `NodePort` or `LoadBalancer`. If not defined, it defaults to `ClusterIP`.
enum:
ClusterIP, NodePort, LoadBalancermetrics object
Metrics configures metrics and how to scrape them.
enabled
boolean
Enabled is a flag to enable Metrics
exporter object
Exporter defines the metrics exporter container.
affinity object
Affinity to be used in the Pod.
antiAffinityEnabled
boolean
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.
nodeAffinity object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#nodeaffinity-v1-core
preferredDuringSchedulingIgnoredDuringExecution []object
preference object required
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#nodeselectorterm-v1-core
matchExpressions []object
key
string required
operator
string required
A node selector operator is the set of operators that can be used in
a node selector requirement.
values
[]string
matchFields []object
key
string required
operator
string required
A node selector operator is the set of operators that can be used in
a node selector requirement.
values
[]string
weight
integer required
format:
int32requiredDuringSchedulingIgnoredDuringExecution object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#nodeselector-v1-core
nodeSelectorTerms []object required
matchExpressions []object
key
string required
operator
string required
A node selector operator is the set of operators that can be used in
a node selector requirement.
values
[]string
matchFields []object
key
string required
operator
string required
A node selector operator is the set of operators that can be used in
a node selector requirement.
values
[]string
podAntiAffinity object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#podantiaffinity-v1-core.
preferredDuringSchedulingIgnoredDuringExecution []object
podAffinityTerm object required
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#podaffinityterm-v1-core.
labelSelector object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#labelselector-v1-meta
matchExpressions []object
key
string required
operator
string required
A label selector operator is the set of operators that can be used in a selector requirement.
values
[]string
matchLabels
object
topologyKey
string required
weight
integer required
format:
int32requiredDuringSchedulingIgnoredDuringExecution []object
labelSelector object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#labelselector-v1-meta
matchExpressions []object
key
string required
operator
string required
A label selector operator is the set of operators that can be used in a selector requirement.
values
[]string
matchLabels
object
topologyKey
string required
args
[]string
Args to be used in the Container.
image
string
Image name to be used as metrics exporter. The supported format is `<image>:<tag>`.
Only mysqld-exporter >= v0.15.0 is supported: https://github.com/prometheus/mysqld_exporter
imagePullPolicy
string
ImagePullPolicy is the image pull policy. One of `Always`, `Never` or `IfNotPresent`. If not defined, it defaults to `IfNotPresent`.
enum:
Always, Never, IfNotPresentimagePullSecrets []object
ImagePullSecrets is the list of pull Secrets to be used to pull the image.
name
string
nodeSelector
object
NodeSelector to be used in the Pod.
podMetadata object
PodMetadata defines extra metadata for the Pod.
annotations
object
Annotations to be added to children resources.
labels
object
Labels to be added to children resources.
podSecurityContext object
SecurityContext holds pod-level security attributes and common container settings.
appArmorProfile object
AppArmorProfile defines a pod or container's AppArmor settings.
localhostProfile
string
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 required
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.
fsGroup
integer
format:
int64
fsGroupChangePolicy
string
PodFSGroupChangePolicy holds policies that will be used for applying fsGroup to a volume
when volume is mounted.
runAsGroup
integer
format:
int64
runAsNonRoot
boolean
runAsUser
integer
format:
int64seLinuxOptions object
SELinuxOptions are the labels to be applied to the container
level
string
Level is SELinux level label that applies to the container.
role
string
Role is a SELinux role label that applies to the container.
type
string
Type is a SELinux type label that applies to the container.
user
string
User is a SELinux user label that applies to the container.
seccompProfile object
SeccompProfile defines a pod/container's seccomp profile settings.
Only one profile source may be set.
localhostProfile
string
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 required
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.
supplementalGroups
[]integer
port
integer
Port where the exporter will be listening for connections.
format:
int32
priorityClassName
string
PriorityClassName to be used in the Pod.
resources object
Resources describes the compute resource requirements.
limits
object
ResourceList is a set of (resource name, quantity) pairs.
requests
object
ResourceList is a set of (resource name, quantity) pairs.
securityContext object
SecurityContext holds container-level security attributes.
allowPrivilegeEscalation
boolean
capabilities object
Adds and removes POSIX capabilities from running containers.
add
[]string
Added capabilities
drop
[]string
Removed capabilities
privileged
boolean
readOnlyRootFilesystem
boolean
runAsGroup
integer
format:
int64
runAsNonRoot
boolean
runAsUser
integer
format:
int64tolerations []object
Tolerations to be used in the Pod.
effect
string
Effect indicates the taint effect to match. Empty means match all taint effects.
When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
key
string
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.
operator
string
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.
tolerationSeconds
integer
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
value
string
Value is the taint value the toleration matches to.
If the operator is Exists, the value should be empty, otherwise just a regular string.
serviceMonitor object
ServiceMonitor defines the ServiceMonior object.
interval
string
Interval for scraping metrics.
jobLabel
string
JobLabel to add to the ServiceMonitor object.
prometheusRelease
string
PrometheusRelease is the release label to add to the ServiceMonitor object.
scrapeTimeout
string
ScrapeTimeout defines the timeout for scraping metrics.
monitor object
Monitor monitors MariaDB server instances.
cooperativeMonitoring
string
CooperativeMonitoring enables coordination between multiple MaxScale instances running monitors. It is defaulted when HA is enabled.
enum:
majority_of_all, majority_of_running
interval
string
Interval used to monitor MariaDB servers. It is defaulted if not provided.
module
string
Module is the module to use to monitor MariaDB servers. It is mandatory when no MariaDB reference is provided.
name
string
Name is the identifier of the monitor. It is defaulted if not provided.
params
object
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 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.
suspend
boolean
Suspend indicates whether the current resource should be suspended or not.
This can be useful for maintenance, as disabling the reconciliation prevents the operator from interfering with user operations during maintenance activities.
podDisruptionBudget object
PodDisruptionBudget defines the budget for replica availability.
maxUnavailable
string | integer
MaxUnavailable defines the number of maximum unavailable Pods.
minAvailable
string | integer
MinAvailable defines the number of minimum available Pods.
replicas
integer
Replicas indicates the number of desired instances.
format:
int32
requeueInterval
string
RequeueInterval is used to perform requeue reconciliations.
services []object
Services define how the traffic is forwarded to the MariaDB servers.
listener object required
MaxScaleListener defines how the MaxScale server will listen for connections.
name
string
Name is the identifier of the listener. It is defaulted if not provided
params
object
Params defines extra parameters to pass to the listener.
Any parameter supported by MaxScale may be specified here. See reference:
https://mariadb.com/kb/en/mariadb-maxscale-2308-mariadb-maxscale-configuration-guide/#listener_1.
port
integer required
Port is the network port where the MaxScale server will listen.
format:
int32
protocol
string
Protocol is the MaxScale protocol to use when communicating with the client. If not provided, it defaults to MariaDBProtocol.
suspend
boolean
Suspend indicates whether the current resource should be suspended or not.
This can be useful for maintenance, as disabling the reconciliation prevents the operator from interfering with user operations during maintenance activities.
name
string required
Name is the identifier of the MaxScale service.
params
object
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 supported:
https://mariadb.com/kb/en/mariadb-maxscale-2308-readwritesplit/#configuration.
https://mariadb.com/kb/en/mariadb-maxscale-2308-readconnroute/#configuration.
router
string required
Router is the type of router to use.
enum:
readwritesplit, readconnroute
suspend
boolean
Suspend indicates whether the current resource should be suspended or not.
This can be useful for maintenance, as disabling the reconciliation prevents the operator from interfering with user operations during maintenance activities.
tls object
TLS defines the PKI to be used with MaxScale.
adminCASecretRef object
AdminCASecretRef is a reference to a Secret containing the admin certificate authority keypair. It is used to establish trust and issue certificates for the MaxScale's administrative REST API and GUI.
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 adminCertSecretRef or adminCertIssuerRef fields must be provided.
If not provided, a self-signed CA will be provisioned to issue the server certificate.
name
string
adminCertIssuerRef object
AdminCertIssuerRef is a reference to a cert-manager issuer object used to issue the MaxScale's administrative REST API and GUI certificate. cert-manager must be installed previously in the cluster.
It is mutually exclusive with adminCertSecretRef.
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 adminCASecretRef.
group
string
Group of the resource being referred to.
kind
string
Kind of the resource being referred to.
name
string required
Name of the resource being referred to.
adminCertSecretRef object
AdminCertSecretRef is a reference to a TLS Secret used by the MaxScale's administrative REST API and GUI.
name
string
enabled
boolean
Enabled indicates whether TLS is enabled, determining if certificates should be issued and mounted to the MaxScale instance.
It is enabled by default when the referred MariaDB instance (via mariaDbRef) has TLS enabled and enforced.
listenerCASecretRef object
ListenerCASecretRef is a reference to a Secret containing the listener certificate authority keypair. It is used to establish trust and issue certificates for the MaxScale's listeners.
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 listenerCertSecretRef or listenerCertIssuerRef fields must be provided.
If not provided, a self-signed CA will be provisioned to issue the listener certificate.
name
string
listenerCertIssuerRef object
ListenerCertIssuerRef is a reference to a cert-manager issuer object used to issue the MaxScale's listeners certificate. cert-manager must be installed previously in the cluster.
It is mutually exclusive with listenerCertSecretRef.
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 listenerCASecretRef.
group
string
Group of the resource being referred to.
kind
string
Kind of the resource being referred to.
name
string required
Name of the resource being referred to.
listenerCertSecretRef object
ListenerCertSecretRef is a reference to a TLS Secret used by the MaxScale's listeners.
name
string
replicationSSLEnabled
boolean
ReplicationSSLEnabled specifies whether the replication SSL is enabled. If enabled, the SSL options will be added to the server configuration.
It is enabled by default when the referred MariaDB instance (via mariaDbRef) has replication enabled.
If the MariaDB servers are manually provided by the user via the 'servers' field, this must be set by the user as well.
serverCASecretRef object
ServerCASecretRef is a reference to a Secret containing the MariaDB server CA certificates. It is used to establish trust with MariaDB servers.
The Secret should contain a 'ca.crt' key in order to establish trust.
If not provided, and the reference to a MariaDB resource is set (mariaDbRef), it will be defaulted to the referred MariaDB CA bundle.
name
string
serverCertSecretRef object
ServerCertSecretRef is a reference to a TLS Secret used by MaxScale to connect to the MariaDB servers.
If not provided, and the reference to a MariaDB resource is set (mariaDbRef), it will be defaulted to the referred MariaDB client certificate (clientCertSecretRef).
name
string
verifyPeerCertificate
boolean
VerifyPeerCertificate specifies whether the peer certificate's signature should be validated against the CA.
It is disabled by default.
verifyPeerHost
boolean
VerifyPeerHost specifies whether the peer certificate's SANs should match the peer host.
It is disabled by default.
updateStrategy object
UpdateStrategy defines the update strategy for the StatefulSet object.
rollingUpdate object
RollingUpdate is used to communicate parameters when Type is RollingUpdateStatefulSetStrategyType.
maxUnavailable
string | integer
The maximum number of pods that can be unavailable during the update.
Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).
Absolute number is calculated from percentage by rounding up. This can not be 0.
Defaults to 1. This field is alpha-level and is only honored by servers that enable the
MaxUnavailableStatefulSet feature. The field applies to all pods in the range 0 to
Replicas-1. That means if there is any unavailable pod in the range 0 to Replicas-1, it
will be counted towards MaxUnavailable.
partition
integer
Partition indicates the ordinal at which the StatefulSet should be partitioned
for updates. During a rolling update, all pods from ordinal Replicas-1 to
Partition are updated. All pods from ordinal Partition-1 to 0 remain untouched.
This is helpful in being able to do a canary based deployment. The default value is 0.
format:
int32
type
string
Type indicates the type of the StatefulSetUpdateStrategy.
Default is RollingUpdate.
maxScaleRef object
MaxScaleRef is a reference to a MaxScale resource to be used with the current MariaDB.
Providing this field implies delegating high availability tasks such as primary failover to MaxScale.
name
string
namespace
string
metrics object
Metrics configures metrics and how to scrape them.
enabled
boolean
Enabled is a flag to enable Metrics
exporter object
Exporter defines the metrics exporter container.
affinity object
Affinity to be used in the Pod.
antiAffinityEnabled
boolean
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.
nodeAffinity object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#nodeaffinity-v1-core
preferredDuringSchedulingIgnoredDuringExecution []object
preference object required
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#nodeselectorterm-v1-core
matchExpressions []object
key
string required
operator
string required
A node selector operator is the set of operators that can be used in
a node selector requirement.
values
[]string
matchFields []object
key
string required
operator
string required
A node selector operator is the set of operators that can be used in
a node selector requirement.
values
[]string
weight
integer required
format:
int32requiredDuringSchedulingIgnoredDuringExecution object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#nodeselector-v1-core
nodeSelectorTerms []object required
matchExpressions []object
key
string required
operator
string required
A node selector operator is the set of operators that can be used in
a node selector requirement.
values
[]string
matchFields []object
key
string required
operator
string required
A node selector operator is the set of operators that can be used in
a node selector requirement.
values
[]string
podAntiAffinity object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#podantiaffinity-v1-core.
preferredDuringSchedulingIgnoredDuringExecution []object
podAffinityTerm object required
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#podaffinityterm-v1-core.
labelSelector object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#labelselector-v1-meta
matchExpressions []object
key
string required
operator
string required
A label selector operator is the set of operators that can be used in a selector requirement.
values
[]string
matchLabels
object
topologyKey
string required
weight
integer required
format:
int32requiredDuringSchedulingIgnoredDuringExecution []object
labelSelector object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#labelselector-v1-meta
matchExpressions []object
key
string required
operator
string required
A label selector operator is the set of operators that can be used in a selector requirement.
values
[]string
matchLabels
object
topologyKey
string required
args
[]string
Args to be used in the Container.
image
string
Image name to be used as metrics exporter. The supported format is `<image>:<tag>`.
Only mysqld-exporter >= v0.15.0 is supported: https://github.com/prometheus/mysqld_exporter
imagePullPolicy
string
ImagePullPolicy is the image pull policy. One of `Always`, `Never` or `IfNotPresent`. If not defined, it defaults to `IfNotPresent`.
enum:
Always, Never, IfNotPresentimagePullSecrets []object
ImagePullSecrets is the list of pull Secrets to be used to pull the image.
name
string
nodeSelector
object
NodeSelector to be used in the Pod.
podMetadata object
PodMetadata defines extra metadata for the Pod.
annotations
object
Annotations to be added to children resources.
labels
object
Labels to be added to children resources.
podSecurityContext object
SecurityContext holds pod-level security attributes and common container settings.
appArmorProfile object
AppArmorProfile defines a pod or container's AppArmor settings.
localhostProfile
string
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 required
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.
fsGroup
integer
format:
int64
fsGroupChangePolicy
string
PodFSGroupChangePolicy holds policies that will be used for applying fsGroup to a volume
when volume is mounted.
runAsGroup
integer
format:
int64
runAsNonRoot
boolean
runAsUser
integer
format:
int64seLinuxOptions object
SELinuxOptions are the labels to be applied to the container
level
string
Level is SELinux level label that applies to the container.
role
string
Role is a SELinux role label that applies to the container.
type
string
Type is a SELinux type label that applies to the container.
user
string
User is a SELinux user label that applies to the container.
seccompProfile object
SeccompProfile defines a pod/container's seccomp profile settings.
Only one profile source may be set.
localhostProfile
string
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 required
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.
supplementalGroups
[]integer
port
integer
Port where the exporter will be listening for connections.
format:
int32
priorityClassName
string
PriorityClassName to be used in the Pod.
resources object
Resources describes the compute resource requirements.
limits
object
ResourceList is a set of (resource name, quantity) pairs.
requests
object
ResourceList is a set of (resource name, quantity) pairs.
securityContext object
SecurityContext holds container-level security attributes.
allowPrivilegeEscalation
boolean
capabilities object
Adds and removes POSIX capabilities from running containers.
add
[]string
Added capabilities
drop
[]string
Removed capabilities
privileged
boolean
readOnlyRootFilesystem
boolean
runAsGroup
integer
format:
int64
runAsNonRoot
boolean
runAsUser
integer
format:
int64tolerations []object
Tolerations to be used in the Pod.
effect
string
Effect indicates the taint effect to match. Empty means match all taint effects.
When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
key
string
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.
operator
string
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.
tolerationSeconds
integer
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
value
string
Value is the taint value the toleration matches to.
If the operator is Exists, the value should be empty, otherwise just a regular string.
passwordSecretKeyRef object
PasswordSecretKeyRef is a reference to the password of the monitoring user used by the exporter.
If the referred Secret is labeled with "k8s.mariadb.com/watch", updates may be performed to the Secret in order to update the password.
generate
boolean
Generate indicates whether the Secret should be generated if the Secret referenced is not present.
key
string required
name
string
serviceMonitor object
ServiceMonitor defines the ServiceMonior object.
interval
string
Interval for scraping metrics.
jobLabel
string
JobLabel to add to the ServiceMonitor object.
prometheusRelease
string
PrometheusRelease is the release label to add to the ServiceMonitor object.
scrapeTimeout
string
ScrapeTimeout defines the timeout for scraping metrics.
username
string
Username is the username of the monitoring user used by the exporter.
myCnf
string
MyCnf allows to specify the my.cnf file mounted by Mariadb.
Updating this field will trigger an update to the Mariadb resource.
myCnfConfigMapKeyRef object
MyCnfConfigMapKeyRef is a reference to the my.cnf config file provided via a ConfigMap.
If not provided, it will be defaulted with a reference to a ConfigMap containing the MyCnf field.
If the referred ConfigMap is labeled with "k8s.mariadb.com/watch", an update to the Mariadb resource will be triggered when the ConfigMap is updated.
key
string required
name
string
nodeSelector
object
NodeSelector to be used in the Pod.
passwordHashSecretKeyRef object
PasswordHashSecretKeyRef is a reference to the password hash to be used by the initial User.
If the referred Secret is labeled with "k8s.mariadb.com/watch", updates may be performed to the Secret in order to update the password hash.
key
string required
name
string
passwordPlugin object
PasswordPlugin is a reference to the password plugin and arguments to be used by the initial User.
pluginArgSecretKeyRef object
PluginArgSecretKeyRef is a reference to the arguments to be provided to the authentication plugin for the User.
If the referred Secret is labeled with "k8s.mariadb.com/watch", updates may be performed to the Secret in order to update the authentication plugin arguments.
key
string required
name
string
pluginNameSecretKeyRef object
PluginNameSecretKeyRef is a reference to the authentication plugin to be used by the User.
If the referred Secret is labeled with "k8s.mariadb.com/watch", updates may be performed to the Secret in order to update the authentication plugin.
key
string required
name
string
passwordSecretKeyRef object
PasswordSecretKeyRef is a reference to a Secret that contains the password to be used by the initial User.
If the referred Secret is labeled with "k8s.mariadb.com/watch", updates may be performed to the Secret in order to update the password.
generate
boolean
Generate indicates whether the Secret should be generated if the Secret referenced is not present.
key
string required
name
string
podDisruptionBudget object
PodDisruptionBudget defines the budget for replica availability.
maxUnavailable
string | integer
MaxUnavailable defines the number of maximum unavailable Pods.
minAvailable
string | integer
MinAvailable defines the number of minimum available Pods.
podMetadata object
PodMetadata defines extra metadata for the Pod.
annotations
object
Annotations to be added to children resources.
labels
object
Labels to be added to children resources.
podSecurityContext object
SecurityContext holds pod-level security attributes and common container settings.
appArmorProfile object
AppArmorProfile defines a pod or container's AppArmor settings.
localhostProfile
string
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 required
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.
fsGroup
integer
format:
int64
fsGroupChangePolicy
string
PodFSGroupChangePolicy holds policies that will be used for applying fsGroup to a volume
when volume is mounted.
runAsGroup
integer
format:
int64
runAsNonRoot
boolean
runAsUser
integer
format:
int64seLinuxOptions object
SELinuxOptions are the labels to be applied to the container
level
string
Level is SELinux level label that applies to the container.
role
string
Role is a SELinux role label that applies to the container.
type
string
Type is a SELinux type label that applies to the container.
user
string
User is a SELinux user label that applies to the container.
seccompProfile object
SeccompProfile defines a pod/container's seccomp profile settings.
Only one profile source may be set.
localhostProfile
string
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 required
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.
supplementalGroups
[]integer
port
integer
Port where the instances will be listening for connections.
format:
int32primaryConnection object
PrimaryConnection defines a template to configure the primary Connection object.
This Connection provides the initial User access to the initial Database.
It will make use of the PrimaryService to route network traffic to the primary Pod.
healthCheck object
HealthCheck to be used in the Connection.
interval
string
Interval used to perform health checks.
retryInterval
string
RetryInterval is the interval used to perform health check retries.
params
object
Params to be used in the Connection.
port
integer
Port to connect to. If not provided, it defaults to the MariaDB port or to the first MaxScale listener.
format:
int32
secretName
string
SecretName to be used in the Connection.
secretTemplate object
SecretTemplate to be used in the Connection.
databaseKey
string
DatabaseKey to be used in the Secret.
format
string
Format to be used in the Secret.
hostKey
string
HostKey to be used in the Secret.
key
string
Key to be used in the Secret.
metadata object
Metadata to be added to the Secret object.
annotations
object
Annotations to be added to children resources.
labels
object
Labels to be added to children resources.
passwordKey
string
PasswordKey to be used in the Secret.
portKey
string
PortKey to be used in the Secret.
usernameKey
string
UsernameKey to be used in the Secret.
serviceName
string
ServiceName to be used in the Connection.
primaryService object
PrimaryService defines a template to configure the primary Service object.
The network traffic of this Service will be routed to the primary Pod.
allocateLoadBalancerNodePorts
boolean
AllocateLoadBalancerNodePorts Service field.
externalTrafficPolicy
string
ExternalTrafficPolicy Service field.
loadBalancerIP
string
LoadBalancerIP Service field.
loadBalancerSourceRanges
[]string
LoadBalancerSourceRanges Service field.
metadata object
Metadata to be added to the Service metadata.
annotations
object
Annotations to be added to children resources.
labels
object
Labels to be added to children resources.
sessionAffinity
string
SessionAffinity Service field.
type
string
Type is the Service type. One of `ClusterIP`, `NodePort` or `LoadBalancer`. If not defined, it defaults to `ClusterIP`.
enum:
ClusterIP, NodePort, LoadBalancer
priorityClassName
string
PriorityClassName to be used in the Pod.
readinessProbe object
ReadinessProbe to be used in the Container.
exec object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#execaction-v1-core.
command
[]string
failureThreshold
integer
format:
int32httpGet object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#httpgetaction-v1-core.
host
string
path
string
port
string | integer required
scheme
string
URIScheme identifies the scheme used for connection to a host for Get actions
initialDelaySeconds
integer
format:
int32
periodSeconds
integer
format:
int32
successThreshold
integer
format:
int32tcpSocket object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#tcpsocketaction-v1-core.
host
string
port
string | integer required
timeoutSeconds
integer
format:
int32
replicas
integer
Replicas indicates the number of desired instances.
format:
int32
replicasAllowEvenNumber
boolean
disables the validation check for an odd number of replicas.
replication object
Replication configures high availability via replication. This feature is still in alpha, use Galera if you are looking for a more production-ready HA.
enabled
boolean
Enabled is a flag to enable Replication.
primary object
Primary is the replication configuration for the primary node.
automaticFailover
boolean
AutomaticFailover indicates whether the operator should automatically update PodIndex to perform an automatic primary failover.
automaticFailoverDelay
string
AutomaticFailoverDelay indicates the duration before performing an automatic primary failover. By default, no extra delay is added.
podIndex
integer
PodIndex is the StatefulSet index of the primary node. The user may change this field to perform a manual switchover.
probesEnabled
boolean
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.
replica object
ReplicaReplication is the replication configuration for the replica nodes.
connectionRetries
integer
ConnectionRetries to be used when the replica connects to the primary.
connectionTimeout
string
ConnectionTimeout to be used when the replica connects to the primary.
gtid
string
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.
enum:
CurrentPos, SlavePosreplPasswordSecretKeyRef object
ReplPasswordSecretKeyRef provides a reference to the Secret to use as password for the replication user.
generate
boolean
Generate indicates whether the Secret should be generated if the Secret referenced is not present.
key
string required
name
string
syncTimeout
string
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.
waitPoint
string
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
syncBinlog
integer
SyncBinlog indicates after how many events the binary log is synchronized to the disk.
The default is 1, flushing the binary log to disk after every write, which trades off performance for consistency. See: https://mariadb.com/docs/server/ha-and-performance/standard-replication/replication-and-binary-log-system-variables#sync_binlog
resources object
Resources describes the compute resource requirements.
limits
object
ResourceList is a set of (resource name, quantity) pairs.
requests
object
ResourceList is a set of (resource name, quantity) pairs.
rootEmptyPassword
boolean
RootEmptyPassword indicates if the root password should be empty. Don't use this feature in production, it is only intended for development and test environments.
rootPasswordSecretKeyRef object
RootPasswordSecretKeyRef is a reference to a Secret key containing the root password.
generate
boolean
Generate indicates whether the Secret should be generated if the Secret referenced is not present.
key
string required
name
string
secondaryConnection object
SecondaryConnection defines a template to configure the secondary Connection object.
This Connection provides the initial User access to the initial Database.
It will make use of the SecondaryService to route network traffic to the secondary Pods.
healthCheck object
HealthCheck to be used in the Connection.
interval
string
Interval used to perform health checks.
retryInterval
string
RetryInterval is the interval used to perform health check retries.
params
object
Params to be used in the Connection.
port
integer
Port to connect to. If not provided, it defaults to the MariaDB port or to the first MaxScale listener.
format:
int32
secretName
string
SecretName to be used in the Connection.
secretTemplate object
SecretTemplate to be used in the Connection.
databaseKey
string
DatabaseKey to be used in the Secret.
format
string
Format to be used in the Secret.
hostKey
string
HostKey to be used in the Secret.
key
string
Key to be used in the Secret.
metadata object
Metadata to be added to the Secret object.
annotations
object
Annotations to be added to children resources.
labels
object
Labels to be added to children resources.
passwordKey
string
PasswordKey to be used in the Secret.
portKey
string
PortKey to be used in the Secret.
usernameKey
string
UsernameKey to be used in the Secret.
serviceName
string
ServiceName to be used in the Connection.
secondaryService object
SecondaryService defines a template to configure the secondary Service object.
The network traffic of this Service will be routed to the secondary Pods.
allocateLoadBalancerNodePorts
boolean
AllocateLoadBalancerNodePorts Service field.
externalTrafficPolicy
string
ExternalTrafficPolicy Service field.
loadBalancerIP
string
LoadBalancerIP Service field.
loadBalancerSourceRanges
[]string
LoadBalancerSourceRanges Service field.
metadata object
Metadata to be added to the Service metadata.
annotations
object
Annotations to be added to children resources.
labels
object
Labels to be added to children resources.
sessionAffinity
string
SessionAffinity Service field.
type
string
Type is the Service type. One of `ClusterIP`, `NodePort` or `LoadBalancer`. If not defined, it defaults to `ClusterIP`.
enum:
ClusterIP, NodePort, LoadBalancersecurityContext object
SecurityContext holds security configuration that will be applied to a container.
allowPrivilegeEscalation
boolean
capabilities object
Adds and removes POSIX capabilities from running containers.
add
[]string
Added capabilities
drop
[]string
Removed capabilities
privileged
boolean
readOnlyRootFilesystem
boolean
runAsGroup
integer
format:
int64
runAsNonRoot
boolean
runAsUser
integer
format:
int64service object
Service defines a template to configure the general Service object.
The network traffic of this Service will be routed to all Pods.
allocateLoadBalancerNodePorts
boolean
AllocateLoadBalancerNodePorts Service field.
externalTrafficPolicy
string
ExternalTrafficPolicy Service field.
loadBalancerIP
string
LoadBalancerIP Service field.
loadBalancerSourceRanges
[]string
LoadBalancerSourceRanges Service field.
metadata object
Metadata to be added to the Service metadata.
annotations
object
Annotations to be added to children resources.
labels
object
Labels to be added to children resources.
sessionAffinity
string
SessionAffinity Service field.
type
string
Type is the Service type. One of `ClusterIP`, `NodePort` or `LoadBalancer`. If not defined, it defaults to `ClusterIP`.
enum:
ClusterIP, NodePort, LoadBalancer
serviceAccountName
string
ServiceAccountName is the name of the ServiceAccount to be used by the Pods.
servicePorts []object
ServicePorts is the list of additional named ports to be added to the Services created by the operator.
name
string required
port
integer required
format:
int32sidecarContainers []object
SidecarContainers to be used in the Pod.
args
[]string
Args to be used in the Container.
command
[]string
Command to be used in the Container.
env []object
Env represents the environment variables to be injected in a container.
name
string required
Name of the environment variable. Must be a C_IDENTIFIER.
value
string
valueFrom object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#envvarsource-v1-core.
configMapKeyRef object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#configmapkeyselector-v1-core.
key
string required
name
string
fieldRef object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#objectfieldselector-v1-core.
apiVersion
string
fieldPath
string required
secretKeyRef object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#secretkeyselector-v1-core.
key
string required
name
string
image
string required
Image name to be used by the container. The supported format is `<image>:<tag>`.
imagePullPolicy
string
ImagePullPolicy is the image pull policy. One of `Always`, `Never` or `IfNotPresent`. If not defined, it defaults to `IfNotPresent`.
enum:
Always, Never, IfNotPresent
name
string
Name to be given to the container.
resources object
Resources describes the compute resource requirements.
limits
object
ResourceList is a set of (resource name, quantity) pairs.
requests
object
ResourceList is a set of (resource name, quantity) pairs.
volumeMounts []object
VolumeMounts to be used in the Container.
mountPath
string required
name
string required
This must match the Name of a Volume.
readOnly
boolean
subPath
string
startupProbe object
StartupProbe to be used in the Container.
exec object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#execaction-v1-core.
command
[]string
failureThreshold
integer
format:
int32httpGet object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#httpgetaction-v1-core.
host
string
path
string
port
string | integer required
scheme
string
URIScheme identifies the scheme used for connection to a host for Get actions
initialDelaySeconds
integer
format:
int32
periodSeconds
integer
format:
int32
successThreshold
integer
format:
int32tcpSocket object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#tcpsocketaction-v1-core.
host
string
port
string | integer required
timeoutSeconds
integer
format:
int32storage object
Storage defines the storage options to be used for provisioning the PVCs mounted by MariaDB.
ephemeral
boolean
Ephemeral indicates whether to use ephemeral storage in the PVCs. It is only compatible with non HA MariaDBs.
resizeInUseVolumes
boolean
ResizeInUseVolumes indicates whether the PVCs can be resized. The 'StorageClassName' used should have 'allowVolumeExpansion' set to 'true' to allow resizing.
It defaults to true.
size
string | integer
Size of the PVCs to be mounted by MariaDB. Required if not provided in 'VolumeClaimTemplate'. It supersedes the storage size specified in 'VolumeClaimTemplate'.
string pattern:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
storageClassName
string
StorageClassName to be used to provision the PVCS. It supersedes the 'StorageClassName' specified in 'VolumeClaimTemplate'.
If not provided, the default 'StorageClass' configured in the cluster is used.
volumeClaimTemplate object
VolumeClaimTemplate provides a template to define the PVCs.
accessModes
[]string
metadata object
Metadata to be added to the PVC metadata.
annotations
object
Annotations to be added to children resources.
labels
object
Labels to be added to children resources.
resources object
VolumeResourceRequirements describes the storage resource requirements for a volume.
limits
object
Limits describes the maximum amount of compute resources allowed.
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
requests
object
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/
selector object
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.
matchExpressions []object
matchExpressions is a list of label selector requirements. The requirements are ANDed.
key
string required
key is the label key that the selector applies to.
operator
string required
operator represents a key's relationship to a set of values.
Valid operators are In, NotIn, Exists and DoesNotExist.
values
[]string
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.
matchLabels
object
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.
storageClassName
string
waitForVolumeResize
boolean
WaitForVolumeResize indicates whether to wait for the PVCs to be resized before marking the MariaDB object as ready. This will block other operations such as cluster recovery while the resize is in progress.
It defaults to true.
suspend
boolean
Suspend indicates whether the current resource should be suspended or not.
This can be useful for maintenance, as disabling the reconciliation prevents the operator from interfering with user operations during maintenance activities.
timeZone
string
TimeZone sets the default timezone. If not provided, it defaults to SYSTEM and the timezone data is not loaded.
tls object
TLS defines the PKI to be used with MariaDB.
clientCASecretRef object
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.
name
string
clientCertIssuerRef object
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.
group
string
Group of the resource being referred to.
kind
string
Kind of the resource being referred to.
name
string required
Name of the resource being referred to.
clientCertSecretRef object
ClientCertSecretRef is a reference to a TLS Secret containing the client certificate.
It is mutually exclusive with clientCertIssuerRef.
name
string
enabled
boolean
Enabled indicates whether TLS is enabled, determining if certificates should be issued and mounted to the MariaDB instance.
It is enabled by default.
galeraSSTEnabled
boolean
GaleraSSTEnabled determines whether Galera SST connections should use TLS.
It disabled by default.
required
boolean
Required specifies whether TLS must be enforced for all connections.
User TLS requirements take precedence over this.
It disabled by default.
serverCASecretRef object
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.
name
string
serverCertIssuerRef object
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.
group
string
Group of the resource being referred to.
kind
string
Kind of the resource being referred to.
name
string required
Name of the resource being referred to.
serverCertSecretRef object
ServerCertSecretRef is a reference to a TLS Secret containing the server certificate.
It is mutually exclusive with serverCertIssuerRef.
name
string
tolerations []object
Tolerations to be used in the Pod.
effect
string
Effect indicates the taint effect to match. Empty means match all taint effects.
When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
key
string
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.
operator
string
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.
tolerationSeconds
integer
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
value
string
Value is the taint value the toleration matches to.
If the operator is Exists, the value should be empty, otherwise just a regular string.
topologySpreadConstraints []object
TopologySpreadConstraints to be used in the Pod.
labelSelector object
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.
matchExpressions []object
matchExpressions is a list of label selector requirements. The requirements are ANDed.
key
string required
key is the label key that the selector applies to.
operator
string required
operator represents a key's relationship to a set of values.
Valid operators are In, NotIn, Exists and DoesNotExist.
values
[]string
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.
matchLabels
object
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.
matchLabelKeys
[]string
maxSkew
integer required
format:
int32
minDomains
integer
format:
int32
nodeAffinityPolicy
string
NodeInclusionPolicy defines the type of node inclusion policy
nodeTaintsPolicy
string
NodeInclusionPolicy defines the type of node inclusion policy
topologyKey
string required
whenUnsatisfiable
string required
updateStrategy object
UpdateStrategy defines how a MariaDB resource is updated.
autoUpdateDataPlane
boolean
AutoUpdateDataPlane indicates whether the Galera data-plane version (agent and init containers) should be automatically updated based on the operator version. It defaults to false.
Updating the operator will trigger updates on all the MariaDB instances that have this flag set to true. Thus, it is recommended to progressively set this flag after having updated the operator.
rollingUpdate object
RollingUpdate defines parameters for the RollingUpdate type.
maxUnavailable
string | integer
The maximum number of pods that can be unavailable during the update.
Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).
Absolute number is calculated from percentage by rounding up. This can not be 0.
Defaults to 1. This field is alpha-level and is only honored by servers that enable the
MaxUnavailableStatefulSet feature. The field applies to all pods in the range 0 to
Replicas-1. That means if there is any unavailable pod in the range 0 to Replicas-1, it
will be counted towards MaxUnavailable.
partition
integer
Partition indicates the ordinal at which the StatefulSet should be partitioned
for updates. During a rolling update, all pods from ordinal Replicas-1 to
Partition are updated. All pods from ordinal Partition-1 to 0 remain untouched.
This is helpful in being able to do a canary based deployment. The default value is 0.
format:
int32
type
string
Type defines the type of updates. One of `ReplicasFirstPrimaryLast`, `RollingUpdate` or `OnDelete`. If not defined, it defaults to `ReplicasFirstPrimaryLast`.
enum:
ReplicasFirstPrimaryLast, RollingUpdate, OnDelete, Never
username
string
Username is the initial username to be created by the operator once MariaDB is ready.
The initial User will have ALL PRIVILEGES in the initial Database.
volumeMounts []object
VolumeMounts to be used in the Container.
mountPath
string required
name
string required
This must match the Name of a Volume.
readOnly
boolean
subPath
string
volumes []object
Volumes to be used in the Pod.
configMap object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#configmapvolumesource-v1-core.
defaultMode
integer
format:
int32
name
string
csi object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#csivolumesource-v1-core.
driver
string required
fsType
string
nodePublishSecretRef object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#localobjectreference-v1-core.
name
string
readOnly
boolean
volumeAttributes
object
emptyDir object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#emptydirvolumesource-v1-core.
medium
string
StorageMedium defines ways that storage can be allocated to a volume.
sizeLimit
string | integer
string pattern:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$hostPath object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#hostpathvolumesource-v1-core
path
string required
type
string
name
string required
nfs object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#nfsvolumesource-v1-core.
path
string required
readOnly
boolean
server
string required
persistentVolumeClaim object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#persistentvolumeclaimvolumesource-v1-core.
claimName
string required
readOnly
boolean
secret object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#secretvolumesource-v1-core.
defaultMode
integer
format:
int32
secretName
string
status object
MariaDBStatus defines the observed state of MariaDB
conditions []object
Conditions for the Mariadb object.
lastTransitionTime
string required
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
message
string required
message is a human readable message indicating details about the transition.
This may be an empty string.
maxLength:
32768
observedGeneration
integer
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:
int64minimum:
0
reason
string required
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.
pattern:
^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$minLength:
1maxLength:
1024
status
string required
status of the condition, one of True, False, Unknown.
enum:
True, False, Unknown
type
string required
type of condition in CamelCase or in foo.example.com/CamelCase.
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])$maxLength:
316
currentPrimary
string
CurrentPrimary is the primary Pod.
currentPrimaryFailingSince
string
CurrentPrimaryFailingSince is the timestamp of the moment when the primary became not ready.
format:
date-time
currentPrimaryPodIndex
integer
CurrentPrimaryPodIndex is the primary Pod index.
defaultVersion
string
DefaultVersion is the MariaDB version used by the operator when it cannot infer the version
from spec.image. This can happen if the image uses a digest (e.g. sha256) instead
of a version tag.
galeraRecovery object
GaleraRecovery is the Galera recovery current state.
bootstrap object
Bootstrap indicates when and in which Pod the cluster bootstrap process has been performed.
pod
string
time
string
format:
date-time
podsRestarted
boolean
PodsRestarted that the Pods have been restarted after the cluster bootstrap.
recovered
object
State is a per Pod representation of the sequence recovery process.
state
object
State is a per Pod representation of the Galera state file (grastate.dat).
replicas
integer
Replicas indicates the number of current instances.
format:
int32
replicationStatus
object
ReplicationStatus is the replication current state for each Pod.
tls object
TLS aggregates the status of the certificates used by the MariaDB instance.
caBundle []object
CABundle is the status of the Certificate Authority bundle.
issuer
string required
Issuer is the issuer of the current certificate.
notAfter
string
NotAfter indicates that the certificate is not valid after the given date.
format:
date-time
notBefore
string
NotBefore indicates that the certificate is not valid before the given date.
format:
date-time
subject
string required
Subject is the subject of the current certificate.
clientCert object
ClientCert is the status of the client certificate.
issuer
string required
Issuer is the issuer of the current certificate.
notAfter
string
NotAfter indicates that the certificate is not valid after the given date.
format:
date-time
notBefore
string
NotBefore indicates that the certificate is not valid before the given date.
format:
date-time
subject
string required
Subject is the subject of the current certificate.
serverCert object
ServerCert is the status of the server certificate.
issuer
string required
Issuer is the issuer of the current certificate.
notAfter
string
NotAfter indicates that the certificate is not valid after the given date.
format:
date-time
notBefore
string
NotBefore indicates that the certificate is not valid before the given date.
format:
date-time
subject
string required
Subject is the subject of the current certificate.
No matches. Try .spec.affinity for an exact path