*/}}
{{- define "common.mariadbService" -}}
{{- if .Values.global.mariadbGalera.localCluster -}}
+ {{- if and .Values.global.mariadbGalera.useOperator (index .Values "mariadb-galera" "mariadbOperator" "galera" "enabled") }}
+ {{- printf "%s-primary" (index .Values "mariadb-galera" "nameOverride") -}}
+ {{- else }}
{{- index .Values "mariadb-galera" "nameOverride" -}}
+ {{- end }}
{{- else -}}
+ {{- if .Values.global.mariadbGalera.useOperator }}
+ {{- printf "%s-primary" (.Values.global.mariadbGalera.service) }}
+ {{- else }}
{{- .Values.global.mariadbGalera.service -}}
+ {{- end }}
{{- end -}}
{{- end -}}
apiVersion: mariadb.mmontes.io/v1alpha1
kind: Database
metadata:
- name: {{ $dbname }}
+ name: {{ $dbinst }}-{{ $dbname }}
spec:
+ name: {{ $dbname }}
mariaDbRef:
name: {{ $dbinst }}
characterSet: utf8
collate: utf8_general_ci
+ retryInterval: 5s
{{- end -}}
{{/*
apiVersion: mariadb.mmontes.io/v1alpha1
kind: User
metadata:
- name: {{ $dbuser }}
+ name: {{ $dbinst }}-{{ $dbuser }}
spec:
- # If you want the user to be created with a different name than the resource name
- # name: user-custom
+ name: {{ $dbuser }}
mariaDbRef:
name: {{ $dbinst }}
passwordSecretKeyRef:
key: password
# This field is immutable and defaults to 10
maxUserConnections: 100
+ retryInterval: 5s
{{- end -}}
{{/*
database: {{ $dbname }}
table: "*"
username: {{ $dbuser }}
+ retryInterval: 5s
grantOption: true
{{- end -}}
{{- define "common.mariadbOpBackup" -}}
{{- $dot := default . .dot -}}
{{- $dbinst := include "common.name" $dot -}}
+{{- $name := default $dbinst $dot.Values.backup.nameOverride -}}
+---
+apiVersion: mariadb.mmontes.io/v1alpha1
kind: Backup
metadata:
- name: backup-scheduled
+ name: {{ $name }}
spec:
mariaDbRef:
name: {{ $dbinst }}
schedule:
- cron: "*/1 * * * *"
+ cron: {{ $dot.Values.backup.cron }}
suspend: false
- maxRetentionDays: 30
+ maxRetention: {{ $dot.Values.backup.maxRetention }}
storage:
+ {{- if eq $dot.Values.backup.storageType "PVC" }}
persistentVolumeClaim:
resources:
requests:
- storage: 100Mi
- {{- if .Values.mariadbOperator.storageClassName }}
- storageClassName: {{ .Values.mariadbOperator.storageClassName }}
+ storage: {{ $dot.Values.backup.persistence.size }}
+ {{- if $dot.Values.mariadbOperator.storageClassName }}
+ storageClassName: {{ $dot.Values.mariadbOperator.storageClassName }}
{{- end }}
accessModes:
- - ReadWriteOnce
+ - {{ $dot.Values.backup.persistence.accessMode }}
+ {{- end }}
+ {{- if eq $dot.Values.backup.storageType "S3" }}
+ s3: {{- include "common.tplValue" ( dict "value" .Values.backup.s3 "context" $) | nindent 6 }}
+ {{- end }}
+ {{- if eq $dot.Values.backup.storageType "volume" }}
+ volume: {{- include "common.tplValue" ( dict "value" .Values.backup.volume "context" $) | nindent 6 }}
+ {{- end }}
resources:
requests:
cpu: 100m
rootPasswordSecretKeyRef:
name: {{ $dbrootsecret }}
key: password
- image:
- repository: {{ include "repositoryGenerator.dockerHubRepository" . }}/{{ .Values.mariadbOperator.image }}
- tag: {{ $dot.Values.mariadbOperator.appVersion }}
- pullPolicy: IfNotPresent
+ image: {{ include "repositoryGenerator.dockerHubRepository" . }}/{{ .Values.mariadbOperator.image }}:{{ $dot.Values.mariadbOperator.appVersion }}
+ imagePullPolicy: IfNotPresent
imagePullSecrets:
- name: {{ include "common.namespace" . }}-docker-registry-key
port: 3306
replicas: {{ $dot.Values.replicaCount }}
+ {{- if $dot.Values.mariadbOperator.galera.enabled }}
galera:
- {{- if eq (int $dot.Values.replicaCount) 1 }}
- enabled: false
- {{- else }}
- enabled: {{ $dot.Values.mariadbOperator.galera.enabled }}
- {{- end }}
+ enabled: true
sst: mariabackup
replicaThreads: 1
agent:
- image:
- repository: {{ include "repositoryGenerator.githubContainerRegistry" . }}/{{ .Values.mariadbOperator.galera.agentImage }}
- tag: {{ $dot.Values.mariadbOperator.galera.agentVersion }}
- pullPolicy: IfNotPresent
+ image: {{ include "repositoryGenerator.githubContainerRegistry" . }}/{{ .Values.mariadbOperator.galera.agentImage }}:{{ $dot.Values.mariadbOperator.galera.agentVersion }}
+ imagePullPolicy: IfNotPresent
port: 5555
kubernetesAuth:
enabled: true
gracefulShutdownTimeout: 5s
recovery:
enabled: true
- clusterHealthyTimeout: 5m
- clusterBootstrapTimeout: 10m
- podRecoveryTimeout: 5m
- podSyncTimeout: 10m
+ clusterHealthyTimeout: 5m0s
+ clusterBootstrapTimeout: 10m0s
+ podRecoveryTimeout: 5m0s
+ podSyncTimeout: 10m0s
initContainer:
- image:
- repository: {{ include "repositoryGenerator.githubContainerRegistry" . }}/{{ $dot.Values.mariadbOperator.galera.initImage }}
- tag: {{ $dot.Values.mariadbOperator.galera.initVersion }}
- pullPolicy: IfNotPresent
+ image: {{ include "repositoryGenerator.githubContainerRegistry" . }}/{{ $dot.Values.mariadbOperator.galera.initImage }}:{{ $dot.Values.mariadbOperator.galera.initVersion }}
+ imagePullPolicy: IfNotPresent
volumeClaimTemplate:
+ {{- if .Values.mariadbOperator.storageClassName }}
+ storageClassName: {{ .Values.mariadbOperator.storageClassName }}
+ {{- end }}
resources:
requests:
storage: 50Mi
accessModes:
- ReadWriteOnce
+ {{- end }}
livenessProbe:
exec:
command:
initialDelaySeconds: 20
periodSeconds: 10
timeoutSeconds: 5
+ {{- if default false .Values.global.metrics.enabled }}
+ metrics:
+ enabled: true
+ {{- end }}
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
maxUnavailable: 50%
updateStrategy:
type: RollingUpdate
- #myCnf: |
- # [mysqld]
- # bind-address=0.0.0.0
- # default_storage_engine=InnoDB
- # binlog_format=row
- # innodb_autoinc_lock_mode=2
- # max_allowed_packet=256M
- # lower_case_table_names = 1
-
- # ## Character set
- # collation_server=utf8_unicode_ci
- # init_connect='SET NAMES utf8'
- # character_set_server=utf8
myCnfConfigMapKeyRef:
key: my.cnf
resources: {{ include "common.resources" . | nindent 4 }}
volumeClaimTemplate:
{{- if $dot.Values.mariadbOperator.storageClassName }}
- storageClassName: {{ $dot.Values.k8ssandraOperator.persistence.storageClassName }}
+ storageClassName: {{ $dot.Values.mariadbOperator.storageClassName }}
{{- end }}
resources:
requests:
- storage: {{ $dot.Values.persistence.size | quote }}
+ storage: {{ $dot.Values.mariadbOperator.persistence.size | quote }}
accessModes:
- ReadWriteOnce
{{- if $dot.Values.db.user }}