-
Notifications
You must be signed in to change notification settings - Fork 153
/
Copy pathvalues.yaml
367 lines (344 loc) · 11.5 KB
/
values.yaml
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
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
global:
siteUrl: "http://mattermost.example.com" # REQUIRED SETTING, PLEASE UPDATE
# Use an existing secret for License credential (see secret-mattermost-license.yaml for required fields)
existingLicenseSecret:
name:
key:
# REQUIRED SETTING, if no existing secret is provided.
mattermostLicense: "THIS STRING SHOULD BE REPLACED WITH THE CONTENTS OF YOUR LICENSE FILE"
# Settings for configuration of Mattermost
# For more details: https://docs.mattermost.com/administration/config-settings.html
siteName: "Mattermost"
enableTeamCreation: true
enableUserCreation: true
enableOpenServer: true
enableLinkPreviews: true
enableCustomEmoji: true
# Settings to enable email notifications
sendEmailNotifications: false
requireEmailVerification: false
feedbackName: ""
feedbackEmail: "[email protected]"
feedbackOrganization: ""
smtpUsername: ""
smtpPassword: ""
smtpServer: ""
smtpPort: ""
connectionSecurity: "" # empty, TLS, or STARTTLS
features:
database:
# If using an internal DB, update the passwords in the "mysqlha" section
# If using an external DB, disable the MySQL deployment in the "mysqlha" section
useInternal: true
external:
driver: "mysql"
dataSource: ""
dataSourceReplicas:
# Use an existing secret for License credential (see secret-mattermost-dbsecret.yaml for required fields)
existingDatabaseSecret:
name:
key:
elasticsearch:
enabled: false
grafana:
enabled: false
jobserver:
name: jobserver
enabled: true
replicaCount: 1
strategy:
type: Recreate
rollingUpdate: null
revisionHistoryLimit: 2
service:
name: mattermost-app-jobserver
type: ClusterIP
# jobserver Node selector
# ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
nodeSelector: {}
# jobserver Affinity
# ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
affinity: {}
# jobserver Tolerations for pod assignment
# Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
tolerations: []
# Allows the specification of additional environment variables for Mattermost Jobserver
extraEnv: {}
notifications:
# Push proxy must be configured or useHPNS must be true for push noticiations to work.
push:
enabled: true
# Hosted push notification service. Requires an enterprise license.
# More details at https://docs.mattermost.com/mobile/mobile-hpns.html.
useHPNS: true
loadTest:
enabled: false
image:
repository: mattermost/mattermost-loadtest
tag: latest
pullPolicy: Always
replicaCount: 1
strategy:
type: Recreate
rollingUpdate: null
revisionHistoryLimit: 2
numTeams: 1
numChannelsPerTeam: 400
numUsers: 5
numPosts: 200
numEmoji: 2000
replyChance: 0.3
skipBulkLoad: false
testLengthMinutes: 2
numActiveEntities: 5
actionRateMilliseconds: 60000
actionRateMaxVarianceMilliseconds: 15000
linkPreviewChance: 0.2
customEmojiChance: 0.2
pprofDelayMinutes: 15
pprofLengthSeconds: 240
sendReportToMMServer: false
resultsServerUrl: ""
resultsChannelId: ""
resultsUsername: ""
resultsPassword: ""
# loadTest Node selector
# ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
nodeSelector: {}
# loadTest Affinity
# ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
affinity: {}
# loadTest Tolerations for pod assignment
# Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
tolerations: []
initContainerImage:
repository: appropriate/curl
tag: latest
imagePullPolicy: IfNotPresent
# Mattermost deployment section.
# Use to configure the deploymento the Mattermost app servers.
mattermostApp:
replicaCount: 2
image:
repository: mattermost/mattermost-enterprise-edition
tag: 10.5.1@sha256:f071e53f6b36126a2289bc7e70d44e6d0f3af0c9bcc608ec4fb7e36fc7df8fd9
pullPolicy: IfNotPresent
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 0
maxUnavailable: 1
revisionHistoryLimit: 2
service:
name: mattermost-app
type: ClusterIP
externalPort: 8065
internalPort: 8065
metricsPort: 8067
clusterPort: 8075
gossipPort: 8074
metricsName: mattermost-app-metrics
ingress:
# Used to create Ingress record (should be used with service.type: ClusterIP).
enabled: false
hosts:
- mattermost.example.com
tls:
# Secrets must be manually created in the namespace.
# - secretName: chart-example-tls
# hosts:
# - mattermost.example.com
annotations: {}
# kubernetes.io/ingress.class: nginx
# nginx.ingress.kubernetes.io/proxy-buffering: "on"
# nginx.ingress.kubernetes.io/proxy-body-size: 50m
# nginx.ingress.kubernetes.io/proxy-send-timeout: "600"
# nginx.ingress.kubernetes.io/proxy-read-timeout: "600"
# nginx.ingress.kubernetes.io/configuration-snippet: |
# proxy_cache mattermost_cache;
# proxy_cache_revalidate on;
# proxy_cache_min_uses 2;
# proxy_cache_use_stale timeout;
# proxy_cache_lock on;
# ingressClassName:
autoscaling:
enabled: false
minReplicas: 1
maxReplicas: 2
targetMemoryUtilizationPercentage: 50
targetCPUUtilizationPercentage: 50
# mattermostApp Node selector
# ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
nodeSelector: {}
# mattermostApp Affinity
# ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
affinity: {}
# mattermostApp Tolerations for pod assignment
# Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
tolerations: []
## Pod Security Context
## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
securityContext:
# fsGroup: 2000
# runAsGroup: 2000
# runAsUser: 2000
resources: {}
# limits:
# cpu: 100m
# memory: 300Mi
# requests:
# cpu: 100m
# memory: 300Mi
extraInitContainers: []
# Extra Container to donwload and install plugins
# - name: init-plugins-config
# image: busybox
# imagePullPolicy: IfNotPresent
# command:
# - sh
# - "-c"
# - |
# PLUGINS_TAR="hovercardexample.tar.gz"
# PLUGINS_TAR="${PLUGINS_TAR} https://<YOUR_PATH_TO_DOWNLOAD_PLUGINS_1>"
# PLUGINS_TAR="${PLUGINS_TAR} https://<YOUR_PATH_TO_DOWNLOAD_PLUGINS_2>"
# PLUGINS_TAR="${PLUGINS_TAR} https://<YOUR_PATH_TO_DOWNLOAD_PLUGINS_N>"
# for plugin_tar in ${PLUGINS_TAR};
# do
# wget ${plugin_tar} -P /mattermost/plugins
# cd /mattermost/plugins
# tar -xzvf ${plugin_tar##*/}
# rm -f ${plugin_tar##*/}
# done
# volumeMounts:
# # Need to match the volume mount for plugins volumes
# - name: mattermost-plugins
# mountPath: /mattermost/plugins/
# - name: mattermost-plugins-client
# mountPath: /mattermost/client/plugins/
# Add the extra volumes you might want to use here. Use the values you define in the extraVolumeMounts
# Add additional volumes and mounts, for example to add SAML keys in the app or other files the app server may need to access
extraVolumes: []
# - hostPath:
# path: /var/log
# name: varlog
extraVolumeMounts: []
# - name: varlog
# mountPath: /host/var/log
# readOnly: true
## Allows the specification of additional environment variables for Mattermost
extraEnv: []
# See more environments variables that you can set here: https://docs.mattermost.com/administration/config-settings.html#configuration-settings
# for example
# - name: MM_SERVICESETTINGS_ENABLEMULTIFACTORAUTHENTICATION
# value: "true"
# - name: MM_SERVICESETTINGS_ENABLECUSTOMEMOJI
# value: "true"
## Allows the specification of a configmap or secret to set all key-value pairs as environment variables for Mattermost
envFrom: []
## Additional pod annotations
extraPodAnnotations: {}
# MySQL HA Section. Use this to configure MySQL.
# If you are using an external DB, disable this.
mysqlha:
enabled: true
mysqlha:
replicaCount: 2
# Please update the root and regular passwords
mysqlRootPassword: "rootpasswd"
mysqlUser: "mmuser"
mysqlPassword: "passwd"
mysqlDatabase: "mattermost"
configFiles:
master.cnf: |
[mysqld]
log-bin
skip_name_resolve
max_connections = 300
slave.cnf: |
[mysqld]
super-read-only
skip_name_resolve
slave_parallel_workers = 100
slave_parallel_type = LOGICAL_CLOCK
max_connections = 300
persistence:
## 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, azure-disk on
## Azure, standard on GKE, AWS & OpenStack)
##
# storageClass: "-"
## Enable persistence using Persistent Volume Claims
## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
##
## See: https://github.com/kubernetes/charts/tree/master/incubator/mysqlha
enabled: true
size: 10Gi
mattermost-elasticsearch:
client:
replicaCount: 2
master:
replicaCount: 3
data:
replicaCount: 2
# Minio Section. Use this to configure Minio storage.
# If you want to use external storage, disable this.
minio:
enabled: true
image:
repository: minio/minio
tag: RELEASE.2019-05-14T23-57-45Z
pullPolicy: IfNotPresent
accessKey: "mattermostadmin"
secretKey: "mattermostadmin"
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:
## minio 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)
##
## Storage class of PV to bind. By default it looks for standard storage class.
## If the PV uses a different storage class, specify that here.
storageClass:
accessMode: ReadWriteOnce
size: 10Gi
resources:
requests:
memory: 256Mi
cpu: 250m
defaultBucket:
enabled: true
name: bucket
policy: none
purge: false
## https://docs.minio.io/docs/minio-bucket-notification-guide
## https://github.com/minio/minio/blob/master/docs/config
# minioConfig:
# See https://github.com/kubernetes/charts/tree/master/stable/prometheus#configuration
# for more configuration options
prometheus:
install: false
rbac:
create: true
alertmanager:
enabled: false
alertmanagerFiles:
alertmanager.yml: {}
kubeStateMetrics:
enabled: false
nodeExporter:
enabled: false
pushgateway:
enabled: false
serviceAccount:
create: false
name:
annotations: {}