2404 lines
133 KiB
YAML
2404 lines
133 KiB
YAML
---
|
|
# Source: mariadb-operator/charts/mariadb-operator-crds/templates/crds.yaml
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.18.0
|
|
name: maxscales.k8s.mariadb.com
|
|
spec:
|
|
group: k8s.mariadb.com
|
|
names:
|
|
kind: MaxScale
|
|
listKind: MaxScaleList
|
|
plural: maxscales
|
|
shortNames:
|
|
- mxs
|
|
singular: maxscale
|
|
scope: Namespaced
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- jsonPath: .status.conditions[?(@.type=="Ready")].status
|
|
name: Ready
|
|
type: string
|
|
- jsonPath: .status.conditions[?(@.type=="Ready")].message
|
|
name: Status
|
|
type: string
|
|
- jsonPath: .status.primaryServer
|
|
name: Primary
|
|
type: string
|
|
- jsonPath: .metadata.creationTimestamp
|
|
name: Age
|
|
type: date
|
|
name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: MaxScale is the Schema for the maxscales API. It is used to define MaxScale clusters.
|
|
properties:
|
|
apiVersion:
|
|
description: |-
|
|
APIVersion defines the versioned schema of this representation of an object.
|
|
Servers should convert recognized schemas to the latest internal value, and
|
|
may reject unrecognized values.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
|
type: string
|
|
kind:
|
|
description: |-
|
|
Kind is a string value representing the REST resource this object represents.
|
|
Servers may infer this from the endpoint the client submits requests to.
|
|
Cannot be updated.
|
|
In CamelCase.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
|
type: string
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
description: MaxScaleSpec defines the desired state of MaxScale.
|
|
properties:
|
|
admin:
|
|
description: Admin configures the admin REST API and GUI.
|
|
properties:
|
|
guiEnabled:
|
|
description: GuiEnabled indicates whether the admin GUI should be enabled.
|
|
type: boolean
|
|
port:
|
|
description: Port where the admin REST API and GUI will be exposed.
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
affinity:
|
|
description: Affinity to be used in the Pod.
|
|
properties:
|
|
antiAffinityEnabled:
|
|
description: |-
|
|
AntiAffinityEnabled configures PodAntiAffinity so each Pod is scheduled in a different Node, enabling HA.
|
|
Make sure you have at least as many Nodes available as the replicas to not end up with unscheduled Pods.
|
|
type: boolean
|
|
nodeAffinity:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeaffinity-v1-core'
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#preferredschedulingterm-v1-core'
|
|
properties:
|
|
preference:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorterm-v1-core'
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core'
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
description: |-
|
|
A node selector operator is the set of operators that can be used in
|
|
a node selector requirement.
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchFields:
|
|
items:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core'
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
description: |-
|
|
A node selector operator is the set of operators that can be used in
|
|
a node selector requirement.
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
weight:
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- preference
|
|
- weight
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselector-v1-core'
|
|
properties:
|
|
nodeSelectorTerms:
|
|
items:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorterm-v1-core'
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core'
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
description: |-
|
|
A node selector operator is the set of operators that can be used in
|
|
a node selector requirement.
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchFields:
|
|
items:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core'
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
description: |-
|
|
A node selector operator is the set of operators that can be used in
|
|
a node selector requirement.
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- nodeSelectorTerms
|
|
type: object
|
|
type: object
|
|
podAntiAffinity:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podantiaffinity-v1-core.'
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#weightedpodaffinityterm-v1-core.'
|
|
properties:
|
|
podAffinityTerm:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podaffinityterm-v1-core.'
|
|
properties:
|
|
labelSelector:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselector-v1-meta'
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselectorrequirement-v1-meta'
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
description: A label selector operator is the set of operators that can be used in a selector requirement.
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
topologyKey:
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
weight:
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- podAffinityTerm
|
|
- weight
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podaffinityterm-v1-core.'
|
|
properties:
|
|
labelSelector:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselector-v1-meta'
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselectorrequirement-v1-meta'
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
description: A label selector operator is the set of operators that can be used in a selector requirement.
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
topologyKey:
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
type: object
|
|
args:
|
|
description: Args to be used in the Container.
|
|
items:
|
|
type: string
|
|
type: array
|
|
auth:
|
|
description: Auth defines the credentials required for MaxScale to connect to MariaDB.
|
|
properties:
|
|
adminPasswordSecretKeyRef:
|
|
description: AdminPasswordSecretKeyRef is Secret key reference to the admin password to call the admin REST API. It is defaulted if not provided.
|
|
properties:
|
|
generate:
|
|
default: false
|
|
description: Generate indicates whether the Secret should be generated if the Secret referenced is not present.
|
|
type: boolean
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
adminUsername:
|
|
description: AdminUsername is an admin username to call the admin REST API. It is defaulted if not provided.
|
|
type: string
|
|
clientMaxConnections:
|
|
description: |-
|
|
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: int32
|
|
type: integer
|
|
clientPasswordSecretKeyRef:
|
|
description: |-
|
|
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.
|
|
properties:
|
|
generate:
|
|
default: false
|
|
description: Generate indicates whether the Secret should be generated if the Secret referenced is not present.
|
|
type: boolean
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
clientUsername:
|
|
description: ClientUsername is the user to connect to MaxScale. It is defaulted if not provided.
|
|
type: string
|
|
deleteDefaultAdmin:
|
|
description: DeleteDefaultAdmin determines whether the default admin user should be deleted after the initial configuration. If not provided, it defaults to true.
|
|
type: boolean
|
|
generate:
|
|
description: |-
|
|
Generate defies whether the operator should generate users and grants for MaxScale to work.
|
|
It only supports MariaDBs specified via spec.mariaDbRef.
|
|
type: boolean
|
|
metricsPasswordSecretKeyRef:
|
|
description: MetricsPasswordSecretKeyRef is Secret key reference to the metrics password to call the admib REST API. It is defaulted if metrics are enabled.
|
|
properties:
|
|
generate:
|
|
default: false
|
|
description: Generate indicates whether the Secret should be generated if the Secret referenced is not present.
|
|
type: boolean
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
metricsUsername:
|
|
description: MetricsUsername is an metrics username to call the REST API. It is defaulted if metrics are enabled.
|
|
type: string
|
|
monitorMaxConnections:
|
|
description: |-
|
|
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: int32
|
|
type: integer
|
|
monitorPasswordSecretKeyRef:
|
|
description: |-
|
|
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.
|
|
properties:
|
|
generate:
|
|
default: false
|
|
description: Generate indicates whether the Secret should be generated if the Secret referenced is not present.
|
|
type: boolean
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
monitorUsername:
|
|
description: MonitorUsername is the user used by MaxScale monitor to connect to MariaDB server. It is defaulted if not provided.
|
|
type: string
|
|
serverMaxConnections:
|
|
description: |-
|
|
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: int32
|
|
type: integer
|
|
serverPasswordSecretKeyRef:
|
|
description: |-
|
|
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.
|
|
properties:
|
|
generate:
|
|
default: false
|
|
description: Generate indicates whether the Secret should be generated if the Secret referenced is not present.
|
|
type: boolean
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
serverUsername:
|
|
description: ServerUsername is the user used by MaxScale to connect to MariaDB server. It is defaulted if not provided.
|
|
type: string
|
|
syncMaxConnections:
|
|
description: |-
|
|
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: int32
|
|
type: integer
|
|
syncPasswordSecretKeyRef:
|
|
description: |-
|
|
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.
|
|
properties:
|
|
generate:
|
|
default: false
|
|
description: Generate indicates whether the Secret should be generated if the Secret referenced is not present.
|
|
type: boolean
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
syncUsername:
|
|
description: MonitoSyncUsernamerUsername is the user used by MaxScale config sync to connect to MariaDB server. It is defaulted when HA is enabled.
|
|
type: string
|
|
type: object
|
|
command:
|
|
description: Command to be used in the Container.
|
|
items:
|
|
type: string
|
|
type: array
|
|
config:
|
|
description: Config defines the MaxScale configuration.
|
|
properties:
|
|
params:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
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.
|
|
type: object
|
|
sync:
|
|
description: Sync defines how to replicate configuration across MaxScale replicas. It is defaulted when HA is enabled.
|
|
properties:
|
|
database:
|
|
description: 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'.
|
|
type: string
|
|
interval:
|
|
description: Interval defines the config synchronization interval. It is defaulted if not provided.
|
|
type: string
|
|
timeout:
|
|
description: Interval defines the config synchronization timeout. It is defaulted if not provided.
|
|
type: string
|
|
type: object
|
|
volumeClaimTemplate:
|
|
description: VolumeClaimTemplate provides a template to define the PVCs for storing MaxScale runtime configuration files. It is defaulted if not provided.
|
|
properties:
|
|
accessModes:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
metadata:
|
|
description: Metadata to be added to the PVC metadata.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: Annotations to be added to children resources.
|
|
type: object
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
description: Labels to be added to children resources.
|
|
type: object
|
|
type: object
|
|
resources:
|
|
description: VolumeResourceRequirements describes the storage resource requirements for a volume.
|
|
properties:
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Limits describes the maximum amount of compute resources allowed.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: |-
|
|
Requests describes the minimum amount of compute resources required.
|
|
If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
|
|
otherwise to an implementation-defined value. Requests cannot exceed Limits.
|
|
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
|
|
type: object
|
|
type: object
|
|
selector:
|
|
description: |-
|
|
A label selector is a label query over a set of resources. The result of matchLabels and
|
|
matchExpressions are ANDed. An empty label selector matches all objects. A null
|
|
label selector matches no objects.
|
|
properties:
|
|
matchExpressions:
|
|
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
|
|
items:
|
|
description: |-
|
|
A label selector requirement is a selector that contains values, a key, and an operator that
|
|
relates the key and values.
|
|
properties:
|
|
key:
|
|
description: key is the label key that the selector applies to.
|
|
type: string
|
|
operator:
|
|
description: |-
|
|
operator represents a key's relationship to a set of values.
|
|
Valid operators are In, NotIn, Exists and DoesNotExist.
|
|
type: string
|
|
values:
|
|
description: |-
|
|
values is an array of string values. If the operator is In or NotIn,
|
|
the values array must be non-empty. If the operator is Exists or DoesNotExist,
|
|
the values array must be empty. This array is replaced during a strategic
|
|
merge patch.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
|
|
map is equivalent to an element of matchExpressions, whose key field is "key", the
|
|
operator is "In", and the values array contains only "value". The requirements are ANDed.
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
storageClassName:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
connection:
|
|
description: Connection provides a template to define the Connection for MaxScale.
|
|
properties:
|
|
healthCheck:
|
|
description: HealthCheck to be used in the Connection.
|
|
properties:
|
|
interval:
|
|
description: Interval used to perform health checks.
|
|
type: string
|
|
retryInterval:
|
|
description: RetryInterval is the interval used to perform health check retries.
|
|
type: string
|
|
type: object
|
|
params:
|
|
additionalProperties:
|
|
type: string
|
|
description: Params to be used in the Connection.
|
|
type: object
|
|
port:
|
|
description: Port to connect to. If not provided, it defaults to the MariaDB port or to the first MaxScale listener.
|
|
format: int32
|
|
type: integer
|
|
secretName:
|
|
description: SecretName to be used in the Connection.
|
|
type: string
|
|
secretTemplate:
|
|
description: SecretTemplate to be used in the Connection.
|
|
properties:
|
|
databaseKey:
|
|
description: DatabaseKey to be used in the Secret.
|
|
type: string
|
|
format:
|
|
description: Format to be used in the Secret.
|
|
type: string
|
|
hostKey:
|
|
description: HostKey to be used in the Secret.
|
|
type: string
|
|
key:
|
|
description: Key to be used in the Secret.
|
|
type: string
|
|
metadata:
|
|
description: Metadata to be added to the Secret object.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: Annotations to be added to children resources.
|
|
type: object
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
description: Labels to be added to children resources.
|
|
type: object
|
|
type: object
|
|
passwordKey:
|
|
description: PasswordKey to be used in the Secret.
|
|
type: string
|
|
portKey:
|
|
description: PortKey to be used in the Secret.
|
|
type: string
|
|
usernameKey:
|
|
description: UsernameKey to be used in the Secret.
|
|
type: string
|
|
type: object
|
|
serviceName:
|
|
description: ServiceName to be used in the Connection.
|
|
type: string
|
|
type: object
|
|
env:
|
|
description: Env represents the environment variables to be injected in a container.
|
|
items:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#envvarsource-v1-core.'
|
|
properties:
|
|
name:
|
|
description: Name of the environment variable. Must be a C_IDENTIFIER.
|
|
type: string
|
|
value:
|
|
type: string
|
|
valueFrom:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#envvarsource-v1-core.'
|
|
properties:
|
|
configMapKeyRef:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#configmapkeyselector-v1-core.'
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fieldRef:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#objectfieldselector-v1-core.'
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
fieldPath:
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
secretKeyRef:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#secretkeyselector-v1-core.'
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
envFrom:
|
|
description: EnvFrom represents the references (via ConfigMap and Secrets) to environment variables to be injected in the container.
|
|
items:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#envfromsource-v1-core.'
|
|
properties:
|
|
configMapRef:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#localobjectreference-v1-core.'
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
prefix:
|
|
type: string
|
|
secretRef:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#localobjectreference-v1-core.'
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
type: object
|
|
type: array
|
|
guiKubernetesService:
|
|
description: GuiKubernetesService defines a template for a Kubernetes Service object to connect to MaxScale's GUI.
|
|
properties:
|
|
allocateLoadBalancerNodePorts:
|
|
description: AllocateLoadBalancerNodePorts Service field.
|
|
type: boolean
|
|
externalTrafficPolicy:
|
|
description: ExternalTrafficPolicy Service field.
|
|
type: string
|
|
loadBalancerIP:
|
|
description: LoadBalancerIP Service field.
|
|
type: string
|
|
loadBalancerSourceRanges:
|
|
description: LoadBalancerSourceRanges Service field.
|
|
items:
|
|
type: string
|
|
type: array
|
|
metadata:
|
|
description: Metadata to be added to the Service metadata.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: Annotations to be added to children resources.
|
|
type: object
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
description: Labels to be added to children resources.
|
|
type: object
|
|
type: object
|
|
sessionAffinity:
|
|
description: SessionAffinity Service field.
|
|
type: string
|
|
type:
|
|
default: ClusterIP
|
|
description: Type is the Service type. One of `ClusterIP`, `NodePort` or `LoadBalancer`. If not defined, it defaults to `ClusterIP`.
|
|
enum:
|
|
- ClusterIP
|
|
- NodePort
|
|
- LoadBalancer
|
|
type: string
|
|
type: object
|
|
image:
|
|
description: |-
|
|
Image name to be used by the MaxScale instances. The supported format is `<image>:<tag>`.
|
|
Only MaxScale official images are supported.
|
|
type: string
|
|
imagePullPolicy:
|
|
description: ImagePullPolicy is the image pull policy. One of `Always`, `Never` or `IfNotPresent`. If not defined, it defaults to `IfNotPresent`.
|
|
enum:
|
|
- Always
|
|
- Never
|
|
- IfNotPresent
|
|
type: string
|
|
imagePullSecrets:
|
|
description: ImagePullSecrets is the list of pull Secrets to be used to pull the image.
|
|
items:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#localobjectreference-v1-core.'
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
type: array
|
|
inheritMetadata:
|
|
description: InheritMetadata defines the metadata to be inherited by children resources.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: Annotations to be added to children resources.
|
|
type: object
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
description: Labels to be added to children resources.
|
|
type: object
|
|
type: object
|
|
kubernetesService:
|
|
description: KubernetesService defines a template for a Kubernetes Service object to connect to MaxScale.
|
|
properties:
|
|
allocateLoadBalancerNodePorts:
|
|
description: AllocateLoadBalancerNodePorts Service field.
|
|
type: boolean
|
|
externalTrafficPolicy:
|
|
description: ExternalTrafficPolicy Service field.
|
|
type: string
|
|
loadBalancerIP:
|
|
description: LoadBalancerIP Service field.
|
|
type: string
|
|
loadBalancerSourceRanges:
|
|
description: LoadBalancerSourceRanges Service field.
|
|
items:
|
|
type: string
|
|
type: array
|
|
metadata:
|
|
description: Metadata to be added to the Service metadata.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: Annotations to be added to children resources.
|
|
type: object
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
description: Labels to be added to children resources.
|
|
type: object
|
|
type: object
|
|
sessionAffinity:
|
|
description: SessionAffinity Service field.
|
|
type: string
|
|
type:
|
|
default: ClusterIP
|
|
description: Type is the Service type. One of `ClusterIP`, `NodePort` or `LoadBalancer`. If not defined, it defaults to `ClusterIP`.
|
|
enum:
|
|
- ClusterIP
|
|
- NodePort
|
|
- LoadBalancer
|
|
type: string
|
|
type: object
|
|
livenessProbe:
|
|
description: LivenessProbe to be used in the Container.
|
|
properties:
|
|
exec:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#execaction-v1-core.'
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
httpGet:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#httpgetaction-v1-core.'
|
|
properties:
|
|
host:
|
|
type: string
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
description: URIScheme identifies the scheme used for connection to a host for Get actions
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#tcpsocketaction-v1-core.'
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
mariaDbRef:
|
|
description: MariaDBRef is a reference to the MariaDB that MaxScale points to. It is used to initialize the servers field.
|
|
properties:
|
|
kind:
|
|
description: Kind of the referent.
|
|
type: string
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
waitForIt:
|
|
default: true
|
|
description: WaitForIt indicates whether the controller using this reference should wait for MariaDB to be ready.
|
|
type: boolean
|
|
type: object
|
|
metrics:
|
|
description: Metrics configures metrics and how to scrape them.
|
|
properties:
|
|
enabled:
|
|
description: Enabled is a flag to enable Metrics
|
|
type: boolean
|
|
exporter:
|
|
description: Exporter defines the metrics exporter container.
|
|
properties:
|
|
affinity:
|
|
description: Affinity to be used in the Pod.
|
|
properties:
|
|
antiAffinityEnabled:
|
|
description: |-
|
|
AntiAffinityEnabled configures PodAntiAffinity so each Pod is scheduled in a different Node, enabling HA.
|
|
Make sure you have at least as many Nodes available as the replicas to not end up with unscheduled Pods.
|
|
type: boolean
|
|
nodeAffinity:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeaffinity-v1-core'
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#preferredschedulingterm-v1-core'
|
|
properties:
|
|
preference:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorterm-v1-core'
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core'
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
description: |-
|
|
A node selector operator is the set of operators that can be used in
|
|
a node selector requirement.
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchFields:
|
|
items:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core'
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
description: |-
|
|
A node selector operator is the set of operators that can be used in
|
|
a node selector requirement.
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
weight:
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- preference
|
|
- weight
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselector-v1-core'
|
|
properties:
|
|
nodeSelectorTerms:
|
|
items:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorterm-v1-core'
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core'
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
description: |-
|
|
A node selector operator is the set of operators that can be used in
|
|
a node selector requirement.
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchFields:
|
|
items:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodeselectorrequirement-v1-core'
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
description: |-
|
|
A node selector operator is the set of operators that can be used in
|
|
a node selector requirement.
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- nodeSelectorTerms
|
|
type: object
|
|
type: object
|
|
podAntiAffinity:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podantiaffinity-v1-core.'
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#weightedpodaffinityterm-v1-core.'
|
|
properties:
|
|
podAffinityTerm:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podaffinityterm-v1-core.'
|
|
properties:
|
|
labelSelector:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselector-v1-meta'
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselectorrequirement-v1-meta'
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
description: A label selector operator is the set of operators that can be used in a selector requirement.
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
topologyKey:
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
weight:
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- podAffinityTerm
|
|
- weight
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podaffinityterm-v1-core.'
|
|
properties:
|
|
labelSelector:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselector-v1-meta'
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselectorrequirement-v1-meta'
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
description: A label selector operator is the set of operators that can be used in a selector requirement.
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
topologyKey:
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
type: object
|
|
args:
|
|
description: Args to be used in the Container.
|
|
items:
|
|
type: string
|
|
type: array
|
|
image:
|
|
description: |-
|
|
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
|
|
type: string
|
|
imagePullPolicy:
|
|
description: ImagePullPolicy is the image pull policy. One of `Always`, `Never` or `IfNotPresent`. If not defined, it defaults to `IfNotPresent`.
|
|
enum:
|
|
- Always
|
|
- Never
|
|
- IfNotPresent
|
|
type: string
|
|
imagePullSecrets:
|
|
description: ImagePullSecrets is the list of pull Secrets to be used to pull the image.
|
|
items:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#localobjectreference-v1-core.'
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
type: array
|
|
nodeSelector:
|
|
additionalProperties:
|
|
type: string
|
|
description: NodeSelector to be used in the Pod.
|
|
type: object
|
|
podMetadata:
|
|
description: PodMetadata defines extra metadata for the Pod.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: Annotations to be added to children resources.
|
|
type: object
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
description: Labels to be added to children resources.
|
|
type: object
|
|
type: object
|
|
podSecurityContext:
|
|
description: SecurityContext holds pod-level security attributes and common container settings.
|
|
properties:
|
|
appArmorProfile:
|
|
description: AppArmorProfile defines a pod or container's AppArmor settings.
|
|
properties:
|
|
localhostProfile:
|
|
description: |-
|
|
localhostProfile indicates a profile loaded on the node that should be used.
|
|
The profile must be preconfigured on the node to work.
|
|
Must match the loaded name of the profile.
|
|
Must be set if and only if type is "Localhost".
|
|
type: string
|
|
type:
|
|
description: |-
|
|
type indicates which kind of AppArmor profile will be applied.
|
|
Valid options are:
|
|
Localhost - a profile pre-loaded on the node.
|
|
RuntimeDefault - the container runtime's default profile.
|
|
Unconfined - no AppArmor enforcement.
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
fsGroup:
|
|
format: int64
|
|
type: integer
|
|
fsGroupChangePolicy:
|
|
description: |-
|
|
PodFSGroupChangePolicy holds policies that will be used for applying fsGroup to a volume
|
|
when volume is mounted.
|
|
type: string
|
|
runAsGroup:
|
|
format: int64
|
|
type: integer
|
|
runAsNonRoot:
|
|
type: boolean
|
|
runAsUser:
|
|
format: int64
|
|
type: integer
|
|
seLinuxOptions:
|
|
description: SELinuxOptions are the labels to be applied to the container
|
|
properties:
|
|
level:
|
|
description: Level is SELinux level label that applies to the container.
|
|
type: string
|
|
role:
|
|
description: Role is a SELinux role label that applies to the container.
|
|
type: string
|
|
type:
|
|
description: Type is a SELinux type label that applies to the container.
|
|
type: string
|
|
user:
|
|
description: User is a SELinux user label that applies to the container.
|
|
type: string
|
|
type: object
|
|
seccompProfile:
|
|
description: |-
|
|
SeccompProfile defines a pod/container's seccomp profile settings.
|
|
Only one profile source may be set.
|
|
properties:
|
|
localhostProfile:
|
|
description: |-
|
|
localhostProfile indicates a profile defined in a file on the node should be used.
|
|
The profile must be preconfigured on the node to work.
|
|
Must be a descending path, relative to the kubelet's configured seccomp profile location.
|
|
Must be set if type is "Localhost". Must NOT be set for any other type.
|
|
type: string
|
|
type:
|
|
description: |-
|
|
type indicates which kind of seccomp profile will be applied.
|
|
Valid options are:
|
|
|
|
Localhost - a profile defined in a file on the node should be used.
|
|
RuntimeDefault - the container runtime default profile should be used.
|
|
Unconfined - no profile should be applied.
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
supplementalGroups:
|
|
items:
|
|
format: int64
|
|
type: integer
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
port:
|
|
description: Port where the exporter will be listening for connections.
|
|
format: int32
|
|
type: integer
|
|
priorityClassName:
|
|
description: PriorityClassName to be used in the Pod.
|
|
type: string
|
|
resources:
|
|
description: Resources describes the compute resource requirements.
|
|
properties:
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: ResourceList is a set of (resource name, quantity) pairs.
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: ResourceList is a set of (resource name, quantity) pairs.
|
|
type: object
|
|
type: object
|
|
securityContext:
|
|
description: SecurityContext holds container-level security attributes.
|
|
properties:
|
|
allowPrivilegeEscalation:
|
|
type: boolean
|
|
capabilities:
|
|
description: Adds and removes POSIX capabilities from running containers.
|
|
properties:
|
|
add:
|
|
description: Added capabilities
|
|
items:
|
|
description: Capability represent POSIX capabilities type
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
drop:
|
|
description: Removed capabilities
|
|
items:
|
|
description: Capability represent POSIX capabilities type
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
privileged:
|
|
type: boolean
|
|
readOnlyRootFilesystem:
|
|
type: boolean
|
|
runAsGroup:
|
|
format: int64
|
|
type: integer
|
|
runAsNonRoot:
|
|
type: boolean
|
|
runAsUser:
|
|
format: int64
|
|
type: integer
|
|
type: object
|
|
tolerations:
|
|
description: Tolerations to be used in the Pod.
|
|
items:
|
|
description: |-
|
|
The pod this Toleration is attached to tolerates any taint that matches
|
|
the triple <key,value,effect> using the matching operator <operator>.
|
|
properties:
|
|
effect:
|
|
description: |-
|
|
Effect indicates the taint effect to match. Empty means match all taint effects.
|
|
When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
|
|
type: string
|
|
key:
|
|
description: |-
|
|
Key is the taint key that the toleration applies to. Empty means match all taint keys.
|
|
If the key is empty, operator must be Exists; this combination means to match all values and all keys.
|
|
type: string
|
|
operator:
|
|
description: |-
|
|
Operator represents a key's relationship to the value.
|
|
Valid operators are Exists and Equal. Defaults to Equal.
|
|
Exists is equivalent to wildcard for value, so that a pod can
|
|
tolerate all taints of a particular category.
|
|
type: string
|
|
tolerationSeconds:
|
|
description: |-
|
|
TolerationSeconds represents the period of time the toleration (which must be
|
|
of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
|
|
it is not set, which means tolerate the taint forever (do not evict). Zero and
|
|
negative values will be treated as 0 (evict immediately) by the system.
|
|
format: int64
|
|
type: integer
|
|
value:
|
|
description: |-
|
|
Value is the taint value the toleration matches to.
|
|
If the operator is Exists, the value should be empty, otherwise just a regular string.
|
|
type: string
|
|
type: object
|
|
type: array
|
|
type: object
|
|
serviceMonitor:
|
|
description: ServiceMonitor defines the ServiceMonior object.
|
|
properties:
|
|
interval:
|
|
description: Interval for scraping metrics.
|
|
type: string
|
|
jobLabel:
|
|
description: JobLabel to add to the ServiceMonitor object.
|
|
type: string
|
|
prometheusRelease:
|
|
description: PrometheusRelease is the release label to add to the ServiceMonitor object.
|
|
type: string
|
|
scrapeTimeout:
|
|
description: ScrapeTimeout defines the timeout for scraping metrics.
|
|
type: string
|
|
type: object
|
|
type: object
|
|
monitor:
|
|
description: Monitor monitors MariaDB server instances. It is required if 'spec.mariaDbRef' is not provided.
|
|
properties:
|
|
cooperativeMonitoring:
|
|
description: CooperativeMonitoring enables coordination between multiple MaxScale instances running monitors. It is defaulted when HA is enabled.
|
|
enum:
|
|
- majority_of_all
|
|
- majority_of_running
|
|
type: string
|
|
interval:
|
|
description: Interval used to monitor MariaDB servers. It is defaulted if not provided.
|
|
type: string
|
|
module:
|
|
description: Module is the module to use to monitor MariaDB servers. It is mandatory when no MariaDB reference is provided.
|
|
type: string
|
|
name:
|
|
description: Name is the identifier of the monitor. It is defaulted if not provided.
|
|
type: string
|
|
params:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
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.
|
|
type: object
|
|
suspend:
|
|
default: false
|
|
description: |-
|
|
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.
|
|
type: boolean
|
|
type: object
|
|
nodeSelector:
|
|
additionalProperties:
|
|
type: string
|
|
description: NodeSelector to be used in the Pod.
|
|
type: object
|
|
podDisruptionBudget:
|
|
description: PodDisruptionBudget defines the budget for replica availability.
|
|
properties:
|
|
maxUnavailable:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: MaxUnavailable defines the number of maximum unavailable Pods.
|
|
x-kubernetes-int-or-string: true
|
|
minAvailable:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: MinAvailable defines the number of minimum available Pods.
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
podMetadata:
|
|
description: PodMetadata defines extra metadata for the Pod.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: Annotations to be added to children resources.
|
|
type: object
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
description: Labels to be added to children resources.
|
|
type: object
|
|
type: object
|
|
podSecurityContext:
|
|
description: SecurityContext holds pod-level security attributes and common container settings.
|
|
properties:
|
|
appArmorProfile:
|
|
description: AppArmorProfile defines a pod or container's AppArmor settings.
|
|
properties:
|
|
localhostProfile:
|
|
description: |-
|
|
localhostProfile indicates a profile loaded on the node that should be used.
|
|
The profile must be preconfigured on the node to work.
|
|
Must match the loaded name of the profile.
|
|
Must be set if and only if type is "Localhost".
|
|
type: string
|
|
type:
|
|
description: |-
|
|
type indicates which kind of AppArmor profile will be applied.
|
|
Valid options are:
|
|
Localhost - a profile pre-loaded on the node.
|
|
RuntimeDefault - the container runtime's default profile.
|
|
Unconfined - no AppArmor enforcement.
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
fsGroup:
|
|
format: int64
|
|
type: integer
|
|
fsGroupChangePolicy:
|
|
description: |-
|
|
PodFSGroupChangePolicy holds policies that will be used for applying fsGroup to a volume
|
|
when volume is mounted.
|
|
type: string
|
|
runAsGroup:
|
|
format: int64
|
|
type: integer
|
|
runAsNonRoot:
|
|
type: boolean
|
|
runAsUser:
|
|
format: int64
|
|
type: integer
|
|
seLinuxOptions:
|
|
description: SELinuxOptions are the labels to be applied to the container
|
|
properties:
|
|
level:
|
|
description: Level is SELinux level label that applies to the container.
|
|
type: string
|
|
role:
|
|
description: Role is a SELinux role label that applies to the container.
|
|
type: string
|
|
type:
|
|
description: Type is a SELinux type label that applies to the container.
|
|
type: string
|
|
user:
|
|
description: User is a SELinux user label that applies to the container.
|
|
type: string
|
|
type: object
|
|
seccompProfile:
|
|
description: |-
|
|
SeccompProfile defines a pod/container's seccomp profile settings.
|
|
Only one profile source may be set.
|
|
properties:
|
|
localhostProfile:
|
|
description: |-
|
|
localhostProfile indicates a profile defined in a file on the node should be used.
|
|
The profile must be preconfigured on the node to work.
|
|
Must be a descending path, relative to the kubelet's configured seccomp profile location.
|
|
Must be set if type is "Localhost". Must NOT be set for any other type.
|
|
type: string
|
|
type:
|
|
description: |-
|
|
type indicates which kind of seccomp profile will be applied.
|
|
Valid options are:
|
|
|
|
Localhost - a profile defined in a file on the node should be used.
|
|
RuntimeDefault - the container runtime default profile should be used.
|
|
Unconfined - no profile should be applied.
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
supplementalGroups:
|
|
items:
|
|
format: int64
|
|
type: integer
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
primaryServer:
|
|
description: |-
|
|
PrimaryServer specifies the desired primary server. Setting this field triggers a switchover operation in MaxScale to the desired server.
|
|
This option is only valid when using monitors that support switchover, currently limited to the MariaDB monitor.
|
|
type: string
|
|
priorityClassName:
|
|
description: PriorityClassName to be used in the Pod.
|
|
type: string
|
|
readinessProbe:
|
|
description: ReadinessProbe to be used in the Container.
|
|
properties:
|
|
exec:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#execaction-v1-core.'
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
httpGet:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#httpgetaction-v1-core.'
|
|
properties:
|
|
host:
|
|
type: string
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
description: URIScheme identifies the scheme used for connection to a host for Get actions
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#tcpsocketaction-v1-core.'
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
replicas:
|
|
default: 1
|
|
description: Replicas indicates the number of desired instances.
|
|
format: int32
|
|
type: integer
|
|
requeueInterval:
|
|
description: RequeueInterval is used to perform requeue reconciliations. If not defined, it defaults to 10s.
|
|
type: string
|
|
resources:
|
|
description: Resources describes the compute resource requirements.
|
|
properties:
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: ResourceList is a set of (resource name, quantity) pairs.
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: ResourceList is a set of (resource name, quantity) pairs.
|
|
type: object
|
|
type: object
|
|
securityContext:
|
|
description: SecurityContext holds security configuration that will be applied to a container.
|
|
properties:
|
|
allowPrivilegeEscalation:
|
|
type: boolean
|
|
capabilities:
|
|
description: Adds and removes POSIX capabilities from running containers.
|
|
properties:
|
|
add:
|
|
description: Added capabilities
|
|
items:
|
|
description: Capability represent POSIX capabilities type
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
drop:
|
|
description: Removed capabilities
|
|
items:
|
|
description: Capability represent POSIX capabilities type
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
privileged:
|
|
type: boolean
|
|
readOnlyRootFilesystem:
|
|
type: boolean
|
|
runAsGroup:
|
|
format: int64
|
|
type: integer
|
|
runAsNonRoot:
|
|
type: boolean
|
|
runAsUser:
|
|
format: int64
|
|
type: integer
|
|
type: object
|
|
servers:
|
|
description: Servers are the MariaDB servers to forward traffic to. It is required if 'spec.mariaDbRef' is not provided.
|
|
items:
|
|
description: MaxScaleServer defines a MariaDB server to forward traffic to.
|
|
properties:
|
|
address:
|
|
description: Address is the network address of the MariaDB server.
|
|
type: string
|
|
maintenance:
|
|
description: Maintenance indicates whether the server is in maintenance mode.
|
|
type: boolean
|
|
name:
|
|
description: Name is the identifier of the MariaDB server.
|
|
type: string
|
|
params:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
Params defines extra parameters to pass to the server.
|
|
Any parameter supported by MaxScale may be specified here. See reference:
|
|
https://mariadb.com/kb/en/mariadb-maxscale-2308-mariadb-maxscale-configuration-guide/#server_1.
|
|
type: object
|
|
port:
|
|
description: Port is the network port of the MariaDB server. If not provided, it defaults to 3306.
|
|
format: int32
|
|
type: integer
|
|
protocol:
|
|
description: Protocol is the MaxScale protocol to use when communicating with this MariaDB server. If not provided, it defaults to MariaDBBackend.
|
|
type: string
|
|
required:
|
|
- address
|
|
- name
|
|
type: object
|
|
type: array
|
|
serviceAccountName:
|
|
description: ServiceAccountName is the name of the ServiceAccount to be used by the Pods.
|
|
type: string
|
|
services:
|
|
description: Services define how the traffic is forwarded to the MariaDB servers. It is defaulted if not provided.
|
|
items:
|
|
description: Services define how the traffic is forwarded to the MariaDB servers.
|
|
properties:
|
|
listener:
|
|
description: MaxScaleListener defines how the MaxScale server will listen for connections.
|
|
properties:
|
|
name:
|
|
description: Name is the identifier of the listener. It is defaulted if not provided
|
|
type: string
|
|
params:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
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.
|
|
type: object
|
|
port:
|
|
description: Port is the network port where the MaxScale server will listen.
|
|
format: int32
|
|
type: integer
|
|
protocol:
|
|
description: Protocol is the MaxScale protocol to use when communicating with the client. If not provided, it defaults to MariaDBProtocol.
|
|
type: string
|
|
suspend:
|
|
default: false
|
|
description: |-
|
|
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.
|
|
type: boolean
|
|
required:
|
|
- port
|
|
type: object
|
|
name:
|
|
description: Name is the identifier of the MaxScale service.
|
|
type: string
|
|
params:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
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.
|
|
type: object
|
|
router:
|
|
description: Router is the type of router to use.
|
|
enum:
|
|
- readwritesplit
|
|
- readconnroute
|
|
type: string
|
|
suspend:
|
|
default: false
|
|
description: |-
|
|
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.
|
|
type: boolean
|
|
required:
|
|
- listener
|
|
- name
|
|
- router
|
|
type: object
|
|
type: array
|
|
startupProbe:
|
|
description: StartupProbe to be used in the Container.
|
|
properties:
|
|
exec:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#execaction-v1-core.'
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
httpGet:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#httpgetaction-v1-core.'
|
|
properties:
|
|
host:
|
|
type: string
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
description: URIScheme identifies the scheme used for connection to a host for Get actions
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#tcpsocketaction-v1-core.'
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
suspend:
|
|
default: false
|
|
description: |-
|
|
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.
|
|
type: boolean
|
|
tls:
|
|
description: TLS defines the PKI to be used with MaxScale.
|
|
properties:
|
|
adminCASecretRef:
|
|
description: |-
|
|
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.
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
adminCertIssuerRef:
|
|
description: |-
|
|
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.
|
|
properties:
|
|
group:
|
|
description: Group of the resource being referred to.
|
|
type: string
|
|
kind:
|
|
description: Kind of the resource being referred to.
|
|
type: string
|
|
name:
|
|
description: Name of the resource being referred to.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
adminCertSecretRef:
|
|
description: AdminCertSecretRef is a reference to a TLS Secret used by the MaxScale's administrative REST API and GUI.
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
enabled:
|
|
description: |-
|
|
Enabled indicates whether TLS is enabled, determining if certificates should be issued and mounted to the MaxScale instance.
|
|
It is enabled by default when the referred MariaDB instance (via mariaDbRef) has TLS enabled and enforced.
|
|
type: boolean
|
|
listenerCASecretRef:
|
|
description: |-
|
|
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.
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
listenerCertIssuerRef:
|
|
description: |-
|
|
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.
|
|
properties:
|
|
group:
|
|
description: Group of the resource being referred to.
|
|
type: string
|
|
kind:
|
|
description: Kind of the resource being referred to.
|
|
type: string
|
|
name:
|
|
description: Name of the resource being referred to.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
listenerCertSecretRef:
|
|
description: ListenerCertSecretRef is a reference to a TLS Secret used by the MaxScale's listeners.
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
replicationSSLEnabled:
|
|
description: |-
|
|
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.
|
|
type: boolean
|
|
serverCASecretRef:
|
|
description: |-
|
|
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.
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
serverCertSecretRef:
|
|
description: |-
|
|
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).
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
verifyPeerCertificate:
|
|
description: |-
|
|
VerifyPeerCertificate specifies whether the peer certificate's signature should be validated against the CA.
|
|
It is disabled by default.
|
|
type: boolean
|
|
verifyPeerHost:
|
|
description: |-
|
|
VerifyPeerHost specifies whether the peer certificate's SANs should match the peer host.
|
|
It is disabled by default.
|
|
type: boolean
|
|
type: object
|
|
tolerations:
|
|
description: Tolerations to be used in the Pod.
|
|
items:
|
|
description: |-
|
|
The pod this Toleration is attached to tolerates any taint that matches
|
|
the triple <key,value,effect> using the matching operator <operator>.
|
|
properties:
|
|
effect:
|
|
description: |-
|
|
Effect indicates the taint effect to match. Empty means match all taint effects.
|
|
When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
|
|
type: string
|
|
key:
|
|
description: |-
|
|
Key is the taint key that the toleration applies to. Empty means match all taint keys.
|
|
If the key is empty, operator must be Exists; this combination means to match all values and all keys.
|
|
type: string
|
|
operator:
|
|
description: |-
|
|
Operator represents a key's relationship to the value.
|
|
Valid operators are Exists and Equal. Defaults to Equal.
|
|
Exists is equivalent to wildcard for value, so that a pod can
|
|
tolerate all taints of a particular category.
|
|
type: string
|
|
tolerationSeconds:
|
|
description: |-
|
|
TolerationSeconds represents the period of time the toleration (which must be
|
|
of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
|
|
it is not set, which means tolerate the taint forever (do not evict). Zero and
|
|
negative values will be treated as 0 (evict immediately) by the system.
|
|
format: int64
|
|
type: integer
|
|
value:
|
|
description: |-
|
|
Value is the taint value the toleration matches to.
|
|
If the operator is Exists, the value should be empty, otherwise just a regular string.
|
|
type: string
|
|
type: object
|
|
type: array
|
|
topologySpreadConstraints:
|
|
description: TopologySpreadConstraints to be used in the Pod.
|
|
items:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#topologyspreadconstraint-v1-core.'
|
|
properties:
|
|
labelSelector:
|
|
description: |-
|
|
A label selector is a label query over a set of resources. The result of matchLabels and
|
|
matchExpressions are ANDed. An empty label selector matches all objects. A null
|
|
label selector matches no objects.
|
|
properties:
|
|
matchExpressions:
|
|
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
|
|
items:
|
|
description: |-
|
|
A label selector requirement is a selector that contains values, a key, and an operator that
|
|
relates the key and values.
|
|
properties:
|
|
key:
|
|
description: key is the label key that the selector applies to.
|
|
type: string
|
|
operator:
|
|
description: |-
|
|
operator represents a key's relationship to a set of values.
|
|
Valid operators are In, NotIn, Exists and DoesNotExist.
|
|
type: string
|
|
values:
|
|
description: |-
|
|
values is an array of string values. If the operator is In or NotIn,
|
|
the values array must be non-empty. If the operator is Exists or DoesNotExist,
|
|
the values array must be empty. This array is replaced during a strategic
|
|
merge patch.
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
|
|
map is equivalent to an element of matchExpressions, whose key field is "key", the
|
|
operator is "In", and the values array contains only "value". The requirements are ANDed.
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
matchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
maxSkew:
|
|
format: int32
|
|
type: integer
|
|
minDomains:
|
|
format: int32
|
|
type: integer
|
|
nodeAffinityPolicy:
|
|
description: NodeInclusionPolicy defines the type of node inclusion policy
|
|
type: string
|
|
nodeTaintsPolicy:
|
|
description: NodeInclusionPolicy defines the type of node inclusion policy
|
|
type: string
|
|
topologyKey:
|
|
type: string
|
|
whenUnsatisfiable:
|
|
type: string
|
|
required:
|
|
- maxSkew
|
|
- topologyKey
|
|
- whenUnsatisfiable
|
|
type: object
|
|
type: array
|
|
updateStrategy:
|
|
description: UpdateStrategy defines the update strategy for the StatefulSet object.
|
|
properties:
|
|
rollingUpdate:
|
|
description: RollingUpdate is used to communicate parameters when Type is RollingUpdateStatefulSetStrategyType.
|
|
properties:
|
|
maxUnavailable:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: |-
|
|
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.
|
|
x-kubernetes-int-or-string: true
|
|
partition:
|
|
description: |-
|
|
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: integer
|
|
type: object
|
|
type:
|
|
description: |-
|
|
Type indicates the type of the StatefulSetUpdateStrategy.
|
|
Default is RollingUpdate.
|
|
type: string
|
|
type: object
|
|
volumeMounts:
|
|
description: VolumeMounts to be used in the Container.
|
|
items:
|
|
description: 'Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#volumemount-v1-core.'
|
|
properties:
|
|
mountPath:
|
|
type: string
|
|
name:
|
|
description: This must match the Name of a Volume.
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
subPath:
|
|
type: string
|
|
required:
|
|
- mountPath
|
|
- name
|
|
type: object
|
|
type: array
|
|
type: object
|
|
status:
|
|
description: MaxScaleStatus defines the observed state of MaxScale
|
|
properties:
|
|
conditions:
|
|
description: Conditions for the MaxScale object.
|
|
items:
|
|
description: Condition contains details for one aspect of the current state of this API Resource.
|
|
properties:
|
|
lastTransitionTime:
|
|
description: |-
|
|
lastTransitionTime is the last time the condition transitioned from one status to another.
|
|
This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
|
|
format: date-time
|
|
type: string
|
|
message:
|
|
description: |-
|
|
message is a human readable message indicating details about the transition.
|
|
This may be an empty string.
|
|
maxLength: 32768
|
|
type: string
|
|
observedGeneration:
|
|
description: |-
|
|
observedGeneration represents the .metadata.generation that the condition was set based upon.
|
|
For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
|
|
with respect to the current state of the instance.
|
|
format: int64
|
|
minimum: 0
|
|
type: integer
|
|
reason:
|
|
description: |-
|
|
reason contains a programmatic identifier indicating the reason for the condition's last transition.
|
|
Producers of specific condition types may define expected values and meanings for this field,
|
|
and whether the values are considered a guaranteed API.
|
|
The value should be a CamelCase string.
|
|
This field may not be empty.
|
|
maxLength: 1024
|
|
minLength: 1
|
|
pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
|
|
type: string
|
|
status:
|
|
description: status of the condition, one of True, False, Unknown.
|
|
enum:
|
|
- "True"
|
|
- "False"
|
|
- Unknown
|
|
type: string
|
|
type:
|
|
description: type of condition in CamelCase or in foo.example.com/CamelCase.
|
|
maxLength: 316
|
|
pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
|
|
type: string
|
|
required:
|
|
- lastTransitionTime
|
|
- message
|
|
- reason
|
|
- status
|
|
- type
|
|
type: object
|
|
type: array
|
|
configSync:
|
|
description: ConfigSync is the state of config sync.
|
|
properties:
|
|
databaseVersion:
|
|
type: integer
|
|
maxScaleVersion:
|
|
type: integer
|
|
required:
|
|
- databaseVersion
|
|
- maxScaleVersion
|
|
type: object
|
|
listeners:
|
|
description: Listeners is the state of the listeners in the MaxScale API.
|
|
items:
|
|
description: MaxScaleResourceStatus indicates whether the resource is in a given state.
|
|
properties:
|
|
name:
|
|
type: string
|
|
state:
|
|
type: string
|
|
required:
|
|
- name
|
|
- state
|
|
type: object
|
|
type: array
|
|
monitor:
|
|
description: Monitor is the state of the monitor in the MaxScale API.
|
|
properties:
|
|
name:
|
|
type: string
|
|
state:
|
|
type: string
|
|
required:
|
|
- name
|
|
- state
|
|
type: object
|
|
monitorSpec:
|
|
description: MonitorSpec is a hashed version of spec.monitor to be able to track changes during reconciliation.
|
|
type: string
|
|
primaryServer:
|
|
description: PrimaryServer is the primary server in the MaxScale API.
|
|
type: string
|
|
replicas:
|
|
description: Replicas indicates the number of current instances.
|
|
format: int32
|
|
type: integer
|
|
servers:
|
|
description: Servers is the state of the servers in the MaxScale API.
|
|
items:
|
|
description: MaxScaleAPIStatus is the state of the servers in the MaxScale API.
|
|
properties:
|
|
name:
|
|
type: string
|
|
state:
|
|
type: string
|
|
required:
|
|
- name
|
|
- state
|
|
type: object
|
|
type: array
|
|
serversSpec:
|
|
description: ServersSpec is a hashed version of spec.servers to be able to track changes during reconciliation.
|
|
type: string
|
|
services:
|
|
description: Services is the state of the services in the MaxScale API.
|
|
items:
|
|
description: MaxScaleResourceStatus indicates whether the resource is in a given state.
|
|
properties:
|
|
name:
|
|
type: string
|
|
state:
|
|
type: string
|
|
required:
|
|
- name
|
|
- state
|
|
type: object
|
|
type: array
|
|
servicesSpec:
|
|
description: ServicesSpec is a hashed version of spec.services to be able to track changes during reconciliation.
|
|
type: string
|
|
tls:
|
|
description: TLS aggregates the status of the certificates used by the MaxScale instance.
|
|
properties:
|
|
adminCert:
|
|
description: AdminCert is the status of the admin certificate.
|
|
properties:
|
|
issuer:
|
|
description: Issuer is the issuer of the current certificate.
|
|
type: string
|
|
notAfter:
|
|
description: NotAfter indicates that the certificate is not valid after the given date.
|
|
format: date-time
|
|
type: string
|
|
notBefore:
|
|
description: NotBefore indicates that the certificate is not valid before the given date.
|
|
format: date-time
|
|
type: string
|
|
subject:
|
|
description: Subject is the subject of the current certificate.
|
|
type: string
|
|
required:
|
|
- issuer
|
|
- subject
|
|
type: object
|
|
caBundle:
|
|
description: CABundle is the status of the Certificate Authority bundle.
|
|
items:
|
|
description: CertificateStatus represents the current status of a TLS certificate.
|
|
properties:
|
|
issuer:
|
|
description: Issuer is the issuer of the current certificate.
|
|
type: string
|
|
notAfter:
|
|
description: NotAfter indicates that the certificate is not valid after the given date.
|
|
format: date-time
|
|
type: string
|
|
notBefore:
|
|
description: NotBefore indicates that the certificate is not valid before the given date.
|
|
format: date-time
|
|
type: string
|
|
subject:
|
|
description: Subject is the subject of the current certificate.
|
|
type: string
|
|
required:
|
|
- issuer
|
|
- subject
|
|
type: object
|
|
type: array
|
|
listenerCert:
|
|
description: ListenerCert is the status of the listener certificate.
|
|
properties:
|
|
issuer:
|
|
description: Issuer is the issuer of the current certificate.
|
|
type: string
|
|
notAfter:
|
|
description: NotAfter indicates that the certificate is not valid after the given date.
|
|
format: date-time
|
|
type: string
|
|
notBefore:
|
|
description: NotBefore indicates that the certificate is not valid before the given date.
|
|
format: date-time
|
|
type: string
|
|
subject:
|
|
description: Subject is the subject of the current certificate.
|
|
type: string
|
|
required:
|
|
- issuer
|
|
- subject
|
|
type: object
|
|
serverCert:
|
|
description: ServerCert is the status of the MariaDB server certificate.
|
|
properties:
|
|
issuer:
|
|
description: Issuer is the issuer of the current certificate.
|
|
type: string
|
|
notAfter:
|
|
description: NotAfter indicates that the certificate is not valid after the given date.
|
|
format: date-time
|
|
type: string
|
|
notBefore:
|
|
description: NotBefore indicates that the certificate is not valid before the given date.
|
|
format: date-time
|
|
type: string
|
|
subject:
|
|
description: Subject is the subject of the current certificate.
|
|
type: string
|
|
required:
|
|
- issuer
|
|
- subject
|
|
type: object
|
|
type: object
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
scale:
|
|
specReplicasPath: .spec.replicas
|
|
statusReplicasPath: .status.replicas
|
|
status: {}
|