aboutsummaryrefslogtreecommitdiffstats
path: root/kubernetes/common/mariadb-galera/values.yaml
blob: 6b1676fba70c08370614856ef1237af09f8edd8d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
# Copyright © 2018 Amdocs, Bell Canada
# Copyright © 2019 Samsung Electronics
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#       http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

#################################################################
# Secrets metaconfig
#################################################################
secrets:
  - uid: '{{ include "common.mariadb.secret.rootPassUID" . }}'
    type: password
    externalSecret: '{{ tpl (default "" .Values.config.mariadbRootPasswordExternalSecret) . }}'
    password: '{{ .Values.config.mariadbRootPassword }}'
  - uid: '{{ include "common.mariadb.secret.userCredentialsUID" . }}'
    type: basicAuth
    externalSecret: '{{ tpl (default "" .Values.config.userCredentialsExternalSecret) . }}'
    login: '{{ .Values.config.userName }}'
    password: '{{ .Values.config.userPassword }}'


#################################################################
# Global configuration defaults.
#################################################################
global:
  nodePortPrefix: 302
  persistence:
    mountPath: /dockerdata-nfs
    backup:
      mountPath: /dockerdata-nfs/backup

#################################################################
# Application configuration defaults.
#################################################################

#repository: mysql
image: adfinissygroup/k8s-mariadb-galera-centos:v002
pullPolicy: IfNotPresent

# application configuration
config:
  # .mariadbRootPasswordExternalSecret: 'some-external-secret'
  # mariadbRootPassword: secretpassword
  # .userCredentialsExternalSecret: 'some-external-secret'
  userName: my-user
  # userPassword: my-password
  # mysqlDatabase: my-database

# default number of instances in the StatefulSet
replicaCount: 3

nodeSelector: {}

affinity: {}

# probe configuration parameters
liveness:
  initialDelaySeconds: 30
  periodSeconds: 10
  timeoutSeconds: 5
  # necessary to disable liveness probe when setting breakpoints
  # in debugger so K8s doesn't restart unresponsive container
  enabled: true

readiness:
  initialDelaySeconds: 15
  periodSeconds: 10
  timeoutSeconds: 5

## Persist data to a persitent volume
persistence:
  enabled:  true

  ## A manually managed Persistent Volume and Claim
  ## Requires persistence.enabled: true
  ## If defined, PVC must be created manually before volume will be bound
  # existingClaim:
  volumeReclaimPolicy: Retain

  ## database data Persistent Volume Storage Class
  ## If defined, storageClassName: <storageClass>
  ## If set to "-", storageClassName: "", which disables dynamic provisioning
  ## If undefined (the default) or set to null, no storageClassName spec is
  ##   set, choosing the default provisioner.  (gp2 on AWS, standard on
  ##   GKE, AWS & OpenStack)
  ##
  # storageClass: "-"
  accessMode: ReadWriteOnce
  size: 2Gi
  mountPath: /dockerdata-nfs
  mountSubPath: "mariadb-galera/data"
  mysqlPath: /var/lib/mysql
  backup:
    mountPath: /dockerdata-nfs/backup{{- if or (or .Values.storageClassOverride .Values.persistence.storageClass) .Values.global.persistence.storageClass -}}

service:
  internalPort: 3306
  name: mariadb-galera
  portName: mariadb-galera
  sstPort: 4444
  sstPortName: sst
  replicationPort: 4567
  replicationName: replication
  istPort: 4568
  istPortName: ist

ingress:
  enabled: false


## Configure MariaDB-Galera with a custom my.cnf file
## ref: https://mariadb.com/kb/en/mariadb/configuring-mariadb-with-mycnf/#example-of-configuration-file
##
#externalConfig: ""
externalConfig: |-
   [mysqld]
   lower_case_table_names = 1

#resources: {}
  # We usually recommend not to specify default resources and to leave this as a conscious
  # choice for the user. This also increases chances charts run on environments with little
  # resources, such as Minikube. If you do want to specify resources, uncomment the following
  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
  #
  # Example:
  # Configure resource requests and limits
  # ref: http://kubernetes.io/docs/user-guide/compute-resources/
  # Minimum memory for development is 2 CPU cores and 4GB memory
  # Minimum memory for production is 4 CPU cores and 8GB memory
resources:
  small:
    limits:
      cpu: 500m
      memory: 1.5Gi
    requests:
      cpu: 100m
      memory: 750Mi
  large:
    limits:
      cpu: 2
      memory: 4Gi
    requests:
      cpu: 1
      memory: 2Gi
  unlimited: {}

# Name for mariadb-galera cluster - should be unique accross all projects or other clusters
nameOverride: mariadb-galera

# DNS name for mariadb-galera cluster - should be unique accross all projects other clusters
#dnsnameOverride: mariadb-galera

backup:
  enabled: false
  cron: "00 00 * * *"
  retentionPeriod: 3