*/}}
{{- define "common.mariadbService" -}}
{{- if .Values.global.mariadbGalera.localCluster -}}
- {{- if .Values.global.mariadbGalera.useOperator }}
+ {{- 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) -}}
+ {{- printf "%s-primary" (.Values.global.mariadbGalera.service) }}
{{- else }}
{{- .Values.global.mariadbGalera.service -}}
{{- end }}
apiVersion: mariadb.mmontes.io/v1alpha1
kind: Database
metadata:
- name: {{ $dbname }}
+ name: {{ $dbinst }}-{{ $dbname }}
spec:
+ name: {{ $dbname }}
mariaDbRef:
name: {{ $dbinst }}
characterSet: utf8
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:
{{- 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
gracefulShutdownTimeout: 5s
recovery:
enabled: true
- clusterHealthyTimeout: 5m
- clusterBootstrapTimeout: 10m
- podRecoveryTimeout: 5m
- podSyncTimeout: 10m
+ clusterHealthyTimeout: 5m0s
+ clusterBootstrapTimeout: 10m0s
+ podRecoveryTimeout: 5m0s
+ podSyncTimeout: 10m0s
initContainer:
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
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