DirectorySecurity AdvisoriesPricing
/
Sign in
Directory
mongodb-sharded logoHELM

mongodb-sharded

Helm chart
Last changed
Request a free trial

Contact our team to test out this Helm chart and related images for free. Please also indicate any other images you would like to evaluate.

Overview
Chart versions
Default values
Chart metadata
Images

Tag:

1
# This file has been modified by Chainguard, Inc.
2
#
3
# Copyright Chainguard, Inc. All Rights Reserved.
4
# Chainguard, Inc. modifications are subject to the license
5
# available at: https://www.chainguard.dev/legal/software-license-agreement
6
#
7
# Copyright Broadcom, Inc. All Rights Reserved.
8
# SPDX-License-Identifier: APACHE-2.0
9
10
## @section Global parameters
11
## Global Docker image parameters
12
## Please, note that this will override the image parameters, including dependencies, configured to use the global value
13
## Current available global Docker image parameters: imageRegistry, imagePullSecrets and storageClass
14
##
15
16
## @param global.imageRegistry Global Docker image registry
17
## @param global.imagePullSecrets Global Docker registry secret names as an array
18
## @param global.defaultStorageClass Global default StorageClass for Persistent Volume(s)
19
## @param global.storageClass DEPRECATED: use global.defaultStorageClass instead
20
##
21
global:
22
imageRegistry: ""
23
## E.g.
24
## imagePullSecrets:
25
## - myRegistryKeySecretName
26
##
27
imagePullSecrets: []
28
defaultStorageClass: ""
29
storageClass: ""
30
## Security parameters
31
##
32
security:
33
## @param global.security.allowInsecureImages Allows skipping image verification
34
allowInsecureImages: false
35
## Compatibility adaptations for Kubernetes platforms
36
##
37
compatibility:
38
## Compatibility adaptations for Openshift
39
##
40
openshift:
41
## @param global.compatibility.openshift.adaptSecurityContext Adapt the securityContext sections of the deployment to make them compatible with Openshift restricted-v2 SCC: remove runAsUser, runAsGroup and fsGroup and let the platform use their allowed default IDs. Possible values: auto (apply if the detected running cluster is Openshift), force (perform the adaptation always), disabled (do not perform adaptation)
42
##
43
adaptSecurityContext: auto
44
org: ""
45
## @section Common parameters
46
##
47
48
## @param kubeVersion Override Kubernetes version
49
##
50
kubeVersion: ""
51
## @param nameOverride String to partially override common.names.name
52
##
53
nameOverride: ""
54
## @param fullnameOverride String to fully override common.names.fullname
55
##
56
fullnameOverride: ""
57
## @param namespaceOverride String to fully override common.names.namespace
58
##
59
namespaceOverride: ""
60
## @param commonLabels Labels to add to all deployed objects
61
##
62
commonLabels: {}
63
## @param commonAnnotations Annotations to add to all deployed objects
64
##
65
commonAnnotations: {}
66
## @param clusterDomain Kubernetes cluster domain name
67
##
68
clusterDomain: cluster.local
69
## @param extraDeploy Array of extra objects to deploy with the release
70
##
71
extraDeploy: []
72
## Enable diagnostic mode in the deployment
73
##
74
diagnosticMode:
75
## @param diagnosticMode.enabled Enable diagnostic mode (all probes will be disabled and the command will be overridden)
76
##
77
enabled: false
78
## @param diagnosticMode.command Command to override all containers in the deployment
79
##
80
command:
81
- sleep
82
## @param diagnosticMode.args Args to override all containers in the deployment
83
##
84
args:
85
- infinity
86
## @section MongoDB(®) Sharded parameters
87
##
88
89
## Iamguarded MongoDB(®) Sharded image version
90
## @param image.registry [default: REGISTRY_NAME] MongoDB(®) Sharded image registry
91
## @param image.repository [default: REPOSITORY_NAME/mongodb-sharded] MongoDB(®) Sharded Image name
92
## @skip image.tag MongoDB(®) Sharded image tag (immutable tags are recommended)
93
## @param image.digest MongoDB(®) Sharded image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
94
## @param image.pullPolicy MongoDB(®) Sharded image pull policy
95
## @param image.pullSecrets Specify docker-registry secret names as an array
96
## @param image.debug Specify if debug logs should be enabled
97
##
98
image:
99
registry: cgr.dev
100
repository: chainguard-private/mongodb-sharded-iamguarded
101
tag: 8.2.6
102
digest: ""
103
## Specify a imagePullPolicy
104
## ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
105
##
106
pullPolicy: IfNotPresent
107
## Optionally specify an array of imagePullSecrets.
108
## Secrets must be manually created in the namespace.
109
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
110
## e.g:
111
## pullSecrets:
112
## - myRegistryKeySecretName
113
##
114
pullSecrets: []
115
## Set to true if you would like to see extra information on logs
116
##
117
debug: false
118
## MongoDB(®) Authentication parameters
119
##
120
auth:
121
## @param auth.enabled Enable authentication
122
## ref: https://docs.mongodb.com/manual/tutorial/enable-authentication/
123
##
124
enabled: true
125
## @param auth.rootUser MongoDB(®) root user
126
##
127
rootUser: root
128
## @param auth.rootPassword MongoDB(®) root password
129
##
130
rootPassword: ""
131
## @param auth.replicaSetKey Key used for authentication in the replicaset
132
##
133
replicaSetKey: ""
134
## @param auth.existingSecret Existing secret with MongoDB(®) credentials (keys: `mongodb-password`, `mongodb-root-password`, `mongodb-replica-set-key`)
135
## NOTE: When it's set the previous parameters are ignored.
136
##
137
existingSecret: ""
138
## @param auth.usePasswordFiles Mount credentials as files instead of using environment variables
139
##
140
usePasswordFiles: true
141
## @param shards Number of shards to be created
142
## ref: https://docs.mongodb.com/manual/core/sharded-cluster-shards/
143
##
144
shards: 2
145
## Properties for all of the pods in the cluster (shards, config servers and mongos)
146
##
147
common:
148
## @param common.mongodbEnableNumactl Enable launch MongoDB instance prefixed with "numactl --interleave=all"
149
## ref: https://docs.mongodb.com/manual/administration/production-notes/#mongodb-and-numa-hardware
150
##
151
mongodbEnableNumactl: false
152
## @param common.useHostnames Enable DNS hostnames in the replica set config
153
##
154
useHostnames: true
155
## @param common.mongodbEnableIPv6 Switch to enable/disable IPv6 on MongoDB®
156
##
157
mongodbEnableIPv6: false
158
## @param common.mongodbDirectoryPerDB Switch to enable/disable DirectoryPerDB on MongoDB®
159
##
160
mongodbDirectoryPerDB: false
161
## @param common.mongodbSystemLogVerbosity MongoDB® system log verbosity level
162
## ref: https://docs.mongodb.com/manual/reference/program/mongo/#cmdoption-mongo-ipv6
163
##
164
mongodbSystemLogVerbosity: 0
165
## @param common.mongodbDisableSystemLog Whether to disable MongoDB® system log or not
166
##
167
mongodbDisableSystemLog: false
168
## @param common.mongodbInitRetryAttempts Maximum retries for checking the MongoDB® initialization status
169
##
170
mongodbInitRetryAttempts: 24
171
## @param common.mongodbInitRetryDelay Time (in seconds) to wait between retries for checking the MongoDB® initialization status
172
##
173
mongodbInitRetryDelay: 5
174
## @param common.initScriptsCM Configmap with init scripts to execute
175
##
176
initScriptsCM: ""
177
## @param common.initScriptsSecret Secret with init scripts to execute (for sensitive data)
178
##
179
initScriptsSecret: ""
180
## @param common.extraEnvVars An array to add extra env vars
181
## For example:
182
## extraEnvVars:
183
## - name: KIBANA_ELASTICSEARCH_URL
184
## value: test
185
##
186
extraEnvVars: []
187
## @param common.extraEnvVarsCM Name of a ConfigMap containing extra env vars
188
##
189
extraEnvVarsCM: ""
190
## @param common.extraEnvVarsSecret Name of a Secret containing extra env vars
191
##
192
extraEnvVarsSecret: ""
193
## @param common.sidecars Add sidecars to the pod
194
## For example:
195
## sidecars:
196
## - name: your-image-name
197
## image: your-image
198
## imagePullPolicy: Always
199
## ports:
200
## - name: portname
201
## containerPort: 1234
202
##
203
sidecars: []
204
## @param common.initContainers Add init containers to the pod
205
## For example:
206
## initcontainers:
207
## - name: your-image-name
208
## image: your-image
209
## imagePullPolicy: Always
210
##
211
initContainers: []
212
## @param common.podAnnotations Additional pod annotations
213
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
214
##
215
podAnnotations: {}
216
## @param common.podLabels Additional pod labels
217
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
218
##
219
podLabels: {}
220
## @param common.extraVolumes Array to add extra volumes
221
##
222
extraVolumes: []
223
## @param common.extraVolumeMounts Array to add extra mounts (normally used with extraVolumes)
224
##
225
extraVolumeMounts: []
226
## @param common.containerPorts.mongodb MongoDB container port
227
##
228
containerPorts:
229
mongodb: 27017
230
## K8s Service Account.
231
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
232
##
233
serviceAccount:
234
## @param common.serviceAccount.create Whether to create a Service Account for all pods automatically
235
##
236
create: true
237
## @param common.serviceAccount.name Name of a Service Account to be used by all Pods
238
## If not set and create is true, a name is generated using the XXX.fullname template
239
##
240
name: ""
241
## @param common.serviceAccount.annotations Additional Service Account annotations (evaluated as a template)
242
##
243
annotations: {}
244
## @param common.serviceAccount.automountServiceAccountToken Automount service account token for the server service account
245
##
246
automountServiceAccountToken: false
247
## Init containers parameters:
248
## volumePermissions: Change the owner and group of the persistent volume mountpoint to runAsUser:fsGroup values from the securityContext section.
249
##
250
volumePermissions:
251
## @param volumePermissions.enabled Enable init container that changes volume permissions in the data directory (for cases where the default k8s `runAsUser` and `fsUser` values do not work)
252
##
253
enabled: false
254
## @param volumePermissions.image.registry [default: REGISTRY_NAME] Init container volume-permissions image registry
255
## @param volumePermissions.image.repository [default: REPOSITORY_NAME/os-shell] Init container volume-permissions image name
256
## @skip volumePermissions.image.tag Init container volume-permissions image tag
257
## @param volumePermissions.image.digest Init container volume-permissions image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
258
## @param volumePermissions.image.pullPolicy Init container volume-permissions image pull policy
259
## @param volumePermissions.image.pullSecrets Init container volume-permissions image pull secrets
260
##
261
image:
262
registry: cgr.dev
263
repository: chainguard-private/os-shell-iamguarded
264
tag: 1.0.0
265
digest: ""
266
pullPolicy: IfNotPresent
267
## Optionally specify an array of imagePullSecrets.
268
## Secrets must be manually created in the namespace.
269
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
270
## e.g:
271
## pullSecrets:
272
## - myRegistryKeySecretName
273
##
274
pullSecrets: []
275
## @param volumePermissions.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if volumePermissions.resources is set (volumePermissions.resources is recommended for production).
276
##
277
resourcesPreset: "nano"
278
## @param volumePermissions.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
279
## Example:
280
## resources:
281
## requests:
282
## cpu: 2
283
## memory: 512Mi
284
## limits:
285
## cpu: 3
286
## memory: 1024Mi
287
##
288
resources: {}
289
## Kubernetes service type
290
## ref: https://kubernetes.io/docs/concepts/services-networking/service/
291
##
292
service:
293
## @param service.name Specify an explicit service name
294
##
295
name: ""
296
## @param service.annotations Additional service annotations (evaluate as a template)
297
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
298
##
299
annotations: {}
300
## @param service.type Service type
301
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
302
##
303
type: ClusterIP
304
## @param service.externalTrafficPolicy External traffic policy
305
## Enable client source IP preservation
306
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
307
##
308
externalTrafficPolicy: Cluster
309
## @param service.ports.mongodb MongoDB® service port
310
##
311
ports:
312
mongodb: 27017
313
## @param service.clusterIP Static clusterIP or None for headless services
314
## ref: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.16/#servicespec-v1-core
315
##
316
clusterIP: ""
317
## @param service.nodePorts.mongodb Specify the nodePort value for the LoadBalancer and NodePort service types.
318
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
319
##
320
nodePorts:
321
mongodb: ""
322
## @param service.nodePorts.metrics Specify the metrics nodePort value for the LoadBalancer and NodePort service types.
323
##
324
metrics: ""
325
## @param service.externalIPs External IP list to use with ClusterIP service type
326
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#external-ips
327
##
328
externalIPs: []
329
## @param service.loadBalancerIP Static IP Address to use for LoadBalancer service type
330
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer
331
##
332
loadBalancerIP: ""
333
## @param service.loadBalancerSourceRanges List of IP ranges allowed access to load balancer (if supported)
334
## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
335
##
336
loadBalancerSourceRanges: []
337
## @param service.extraPorts Extra ports to expose (normally used with the `sidecar` value)
338
##
339
extraPorts: []
340
## @param service.sessionAffinity Session Affinity for Kubernetes service, can be "None" or "ClientIP"
341
## If "ClientIP", consecutive client requests will be directed to the same mongos Pod
342
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
343
##
344
sessionAffinity: None
345
## @param service.sessionAffinityConfig Additional settings for the sessionAffinity
346
## sessionAffinityConfig:
347
## clientIP:
348
## timeoutSeconds: 300
349
##
350
sessionAffinityConfig: {}
351
## Headless service properties
352
##
353
headless:
354
## @param service.headless.annotations Annotations for the headless service.
355
##
356
annotations: {}
357
## Network Policies
358
## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
359
##
360
networkPolicy:
361
## @param networkPolicy.enabled Specifies whether a NetworkPolicy should be created
362
##
363
enabled: true
364
## @param networkPolicy.allowExternal Don't require server label for connections
365
## The Policy model to apply. When set to false, only pods with the correct
366
## server label will have network access to the ports server is listening
367
## on. When true, server will accept connections from any source
368
## (with the correct destination port).
369
##
370
allowExternal: true
371
## @param networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
372
##
373
allowExternalEgress: true
374
## @param networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
375
## e.g:
376
## extraIngress:
377
## - ports:
378
## - port: 1234
379
## from:
380
## - podSelector:
381
## - matchLabels:
382
## - role: frontend
383
## - podSelector:
384
## - matchExpressions:
385
## - key: role
386
## operator: In
387
## values:
388
## - frontend
389
extraIngress: []
390
## @param networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
391
## e.g:
392
## extraEgress:
393
## - ports:
394
## - port: 1234
395
## to:
396
## - podSelector:
397
## - matchLabels:
398
## - role: frontend
399
## - podSelector:
400
## - matchExpressions:
401
## - key: role
402
## operator: In
403
## values:
404
## - frontend
405
##
406
extraEgress: []
407
## @param networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces
408
## @param networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces
409
##
410
ingressNSMatchLabels: {}
411
ingressNSPodMatchLabels: {}
412
## @section Config Server parameters
413
##
414
415
## Config Server replica set properties
416
## ref: https://docs.mongodb.com/manual/core/sharded-cluster-config-servers/
417
##
418
configsvr:
419
## @param configsvr.replicaCount Number of nodes in the replica set (the first node will be primary)
420
##
421
replicaCount: 1
422
## @param configsvr.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if configsvr.resources is set (configsvr.resources is recommended for production).
423
##
424
resourcesPreset: "small"
425
## @param configsvr.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
426
## Example:
427
## resources:
428
## requests:
429
## cpu: 2
430
## memory: 512Mi
431
## limits:
432
## cpu: 3
433
## memory: 1024Mi
434
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
435
##
436
resources: {}
437
## @param configsvr.automountServiceAccountToken Mount Service Account token in pod
438
##
439
automountServiceAccountToken: false
440
## @param configsvr.hostAliases Deployment pod host aliases
441
## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
442
##
443
hostAliases: []
444
## @param configsvr.mongodbExtraFlags MongoDB® additional command line flags
445
## Can be used to specify command line flags, for example:
446
## mongodbExtraFlags:
447
## - "--wiredTigerCacheSizeGB=2"
448
##
449
mongodbExtraFlags: []
450
## @param configsvr.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains. Evaluated as a template
451
## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
452
##
453
topologySpreadConstraints: []
454
## @param configsvr.priorityClassName Pod priority class name
455
## https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
456
##
457
priorityClassName: ""
458
## @param configsvr.podAffinityPreset Config Server Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
459
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
460
##
461
podAffinityPreset: ""
462
## @param configsvr.podAntiAffinityPreset Config Server Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
463
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
464
##
465
podAntiAffinityPreset: soft
466
## Node affinity preset
467
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
468
##
469
nodeAffinityPreset:
470
## @param configsvr.nodeAffinityPreset.type Config Server Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
471
##
472
type: ""
473
## @param configsvr.nodeAffinityPreset.key Config Server Node label key to match Ignored if `affinity` is set.
474
## E.g.
475
## key: "kubernetes.io/e2e-az-name"
476
##
477
key: ""
478
## @param configsvr.nodeAffinityPreset.values Config Server Node label values to match. Ignored if `affinity` is set.
479
## E.g.
480
## values:
481
## - e2e-az1
482
## - e2e-az2
483
##
484
values: []
485
## @param configsvr.affinity Config Server Affinity for pod assignment
486
## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
487
## Note: configsvr.podAffinityPreset, configsvr.podAntiAffinityPreset, and configsvr.nodeAffinityPreset will be ignored when it's set
488
##
489
affinity: {}
490
## @param configsvr.nodeSelector Config Server Node labels for pod assignment
491
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
492
##
493
nodeSelector: {}
494
## @param configsvr.tolerations Config Server Tolerations for pod assignment
495
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
496
##
497
tolerations: []
498
## @param configsvr.podManagementPolicy Statefulset's pod management policy, allows parallel startup of pods
499
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
500
##
501
podManagementPolicy: OrderedReady
502
## @param configsvr.updateStrategy.type updateStrategy for MongoDB® Primary, Secondary and Arbiter statefulsets
503
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
504
##
505
updateStrategy:
506
type: RollingUpdate
507
## @param configsvr.config MongoDB® configuration file
508
## ref: http://docs.mongodb.org/manual/reference/configuration-options/
509
##
510
config: ""
511
## @param configsvr.configCM ConfigMap name with Config Server configuration file (cannot be used with configsvr.config)
512
## ref: http://docs.mongodb.org/manual/reference/configuration-options/
513
##
514
configCM: ""
515
## @param configsvr.extraEnvVars An array to add extra env vars
516
## For example:
517
## extraEnvVars:
518
## - name: KIBANA_ELASTICSEARCH_URL
519
## value: test
520
##
521
extraEnvVars: []
522
## @param configsvr.extraEnvVarsCM Name of a ConfigMap containing extra env vars
523
##
524
extraEnvVarsCM: ""
525
## @param configsvr.extraEnvVarsSecret Name of a Secret containing extra env vars
526
##
527
extraEnvVarsSecret: ""
528
## @param configsvr.sidecars Add sidecars to the pod
529
## For example:
530
## sidecars:
531
## - name: your-image-name
532
## image: your-image
533
## imagePullPolicy: Always
534
## ports:
535
## - name: portname
536
## containerPort: 1234
537
##
538
sidecars: []
539
## @param configsvr.initContainers Add init containers to the pod
540
## For example:
541
## initcontainers:
542
## - name: your-image-name
543
## image: your-image
544
## imagePullPolicy: Always
545
##
546
initContainers: []
547
## @param configsvr.podAnnotations Additional pod annotations
548
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
549
##
550
podAnnotations: {}
551
## @param configsvr.podLabels Additional pod labels
552
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
553
##
554
podLabels: {}
555
## @param configsvr.extraVolumes Array to add extra volumes. Requires setting `extraVolumeMounts`
556
##
557
extraVolumes: []
558
## @param configsvr.extraVolumeMounts Array to add extra mounts (normally used with extraVolumes). Normally used with `extraVolumes`
559
##
560
extraVolumeMounts: []
561
## @param configsvr.schedulerName Use an alternate scheduler, e.g. "stork".
562
## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
563
##
564
schedulerName: ""
565
## Pod disruption budget
566
##
567
pdb:
568
## @param configsvr.pdb.create Enable pod disruption budget
569
##
570
create: true
571
## @param configsvr.pdb.minAvailable Minimum number of available config pods allowed (`0` to disable)
572
##
573
minAvailable: 0
574
## @param configsvr.pdb.maxUnavailable Maximum number of unavailable config pods allowed (`0` to disable)
575
##
576
maxUnavailable: 1
577
## Enable persistence using Persistent Volume Claims
578
## ref: https://kubernetes.io/docs/concepts/storage/persistent-volumes/
579
##
580
persistence:
581
## @param configsvr.persistence.enabled Use a PVC to persist data
582
##
583
enabled: true
584
## @param configsvr.persistence.mountPath Path to mount the volume at
585
## MongoDB® images.
586
##
587
mountPath: /iamguarded/mongodb
588
## @param configsvr.persistence.subPath Subdirectory of the volume to mount at (evaluated as a template)
589
## Useful in dev environments and one PV for multiple services.
590
##
591
subPath: ""
592
## @param configsvr.persistence.storageClass Storage class of backing PVC
593
## If defined, storageClassName: <storageClass>
594
## If set to "-", storageClassName: "", which disables dynamic provisioning
595
## If undefined (the default) or set to null, no storageClassName spec is
596
## set, choosing the default provisioner. (gp2 on AWS, standard on
597
## GKE, AWS & OpenStack)
598
##
599
storageClass: ""
600
## @param configsvr.persistence.accessModes Use volume as ReadOnly or ReadWrite
601
##
602
accessModes:
603
- ReadWriteOnce
604
## @param configsvr.persistence.size PersistentVolumeClaim size
605
##
606
size: 8Gi
607
## @param configsvr.persistence.annotations Persistent Volume annotations
608
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
609
##
610
annotations: {}
611
## @param configsvr.persistence.selector Selector to match an existing Persistent Volume for Config Server data PVC
612
## A label query over volumes to consider for binding (e.g. when using local volumes)
613
##
614
selector: {}
615
## Persistent Volume Claim Retention Policy
616
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#persistentvolumeclaim-retention
617
##
618
persistentVolumeClaimRetentionPolicy:
619
## @param configsvr.persistentVolumeClaimRetentionPolicy.enabled Enable Persistent volume retention policy for Config Server StatefulSet
620
##
621
enabled: false
622
## @param configsvr.persistentVolumeClaimRetentionPolicy.whenScaled Volume retention behavior when the replica count of the StatefulSet is reduced
623
##
624
whenScaled: Retain
625
## @param configsvr.persistentVolumeClaimRetentionPolicy.whenDeleted Volume retention behavior that applies when the StatefulSet is deleted
626
##
627
whenDeleted: Retain
628
## K8s Service Account.
629
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
630
##
631
serviceAccount:
632
## @param configsvr.serviceAccount.create Specifies whether a ServiceAccount should be created for Config Server
633
##
634
create: true
635
## @param configsvr.serviceAccount.name Name of a Service Account to be used by Config Server
636
## If not set and create is true, a name is generated using the XXX.fullname template
637
##
638
name: ""
639
## @param configsvr.serviceAccount.annotations Additional Service Account annotations (evaluated as a template)
640
##
641
annotations: {}
642
## @param configsvr.serviceAccount.automountServiceAccountToken Automount service account token for the server service account
643
##
644
automountServiceAccountToken: false
645
## Use a external config server instead of deploying one
646
##
647
external:
648
## @param configsvr.external.host Primary node of an external Config Server replicaset
649
##
650
host: ""
651
## @param configsvr.external.rootPassword Root password of the external Config Server replicaset
652
##
653
rootPassword: ""
654
## @param configsvr.external.replicasetName Replicaset name of an external Config Server
655
##
656
replicasetName: ""
657
## @param configsvr.external.replicasetKey Replicaset key of an external Config Server
658
##
659
replicasetKey: ""
660
## Configure Pods Security Context
661
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
662
## @param configsvr.podSecurityContext.enabled Enable security context
663
## @param configsvr.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
664
## @param configsvr.podSecurityContext.sysctls Set kernel settings using the sysctl interface
665
## @param configsvr.podSecurityContext.supplementalGroups Set filesystem extra groups
666
## @param configsvr.podSecurityContext.fsGroup Group ID for the container
667
##
668
podSecurityContext:
669
enabled: true
670
fsGroupChangePolicy: Always
671
sysctls: []
672
supplementalGroups: []
673
fsGroup: 1001
674
## Configure Container Security Context
675
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
676
## @param configsvr.containerSecurityContext.enabled Enabled containers' Security Context
677
## @param configsvr.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
678
## @param configsvr.containerSecurityContext.runAsUser Set containers' Security Context runAsUser
679
## @param configsvr.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
680
## @param configsvr.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
681
## @param configsvr.containerSecurityContext.privileged Set container's Security Context privileged
682
## @param configsvr.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
683
## @param configsvr.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
684
## @param configsvr.containerSecurityContext.capabilities.drop List of capabilities to be dropped
685
## @param configsvr.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
686
##
687
containerSecurityContext:
688
enabled: true
689
seLinuxOptions: {}
690
runAsUser: 1001
691
runAsGroup: 1001
692
runAsNonRoot: true
693
privileged: false
694
readOnlyRootFilesystem: true
695
allowPrivilegeEscalation: false
696
capabilities:
697
drop: ["ALL"]
698
seccompProfile:
699
type: "RuntimeDefault"
700
## @param configsvr.command Override default container command (useful when using custom images)
701
##
702
command:
703
- /bin/bash
704
- /entrypoint/replicaset-entrypoint.sh
705
## @param configsvr.args Override default container args (useful when using custom images)
706
##
707
args: []
708
## @param configsvr.terminationGracePeriodSeconds Seconds Redmine pod needs to terminate gracefully
709
## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods
710
##
711
terminationGracePeriodSeconds: ""
712
## @param configsvr.lifecycleHooks for the Config Server container(s) to automate configuration before or after startup
713
##
714
lifecycleHooks: {}
715
## Configure extra options for liveness probes
716
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
717
## @param configsvr.livenessProbe.enabled Enable livenessProbe
718
## @param configsvr.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
719
## @param configsvr.livenessProbe.periodSeconds Period seconds for livenessProbe
720
## @param configsvr.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
721
## @param configsvr.livenessProbe.failureThreshold Failure threshold for livenessProbe
722
## @param configsvr.livenessProbe.successThreshold Success threshold for livenessProbe
723
##
724
livenessProbe:
725
enabled: true
726
initialDelaySeconds: 60
727
periodSeconds: 30
728
timeoutSeconds: 20
729
failureThreshold: 2
730
successThreshold: 1
731
## Configure extra options for readiness probe
732
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
733
## @param configsvr.readinessProbe.enabled Enable readinessProbe
734
## @param configsvr.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
735
## @param configsvr.readinessProbe.periodSeconds Period seconds for readinessProbe
736
## @param configsvr.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
737
## @param configsvr.readinessProbe.failureThreshold Failure threshold for readinessProbe
738
## @param configsvr.readinessProbe.successThreshold Success threshold for readinessProbe
739
##
740
readinessProbe:
741
enabled: true
742
initialDelaySeconds: 10
743
periodSeconds: 30
744
timeoutSeconds: 20
745
failureThreshold: 6
746
successThreshold: 1
747
## Configure extra options for startup probe
748
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
749
## @param configsvr.startupProbe.enabled Enable startupProbe
750
## @param configsvr.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
751
## @param configsvr.startupProbe.periodSeconds Period seconds for startupProbe
752
## @param configsvr.startupProbe.timeoutSeconds Timeout seconds for startupProbe
753
## @param configsvr.startupProbe.failureThreshold Failure threshold for startupProbe
754
## @param configsvr.startupProbe.successThreshold Success threshold for startupProbe
755
##
756
startupProbe:
757
enabled: true
758
initialDelaySeconds: 0
759
periodSeconds: 10
760
timeoutSeconds: 5
761
failureThreshold: 30
762
successThreshold: 1
763
## @param configsvr.customLivenessProbe Custom livenessProbe that overrides the default one
764
##
765
customLivenessProbe: {}
766
## @param configsvr.customReadinessProbe Custom readinessProbe that overrides the default one
767
##
768
customReadinessProbe: {}
769
## @param configsvr.customStartupProbe Custom startupProbe that overrides the default one
770
##
771
customStartupProbe: {}
772
## @section Mongos parameters
773
##
774
775
## Mongos properties
776
## ref: https://docs.mongodb.com/manual/reference/program/mongos/#bin.mongos
777
##
778
mongos:
779
## @param mongos.replicaCount Number of replicas
780
##
781
replicaCount: 1
782
## @param mongos.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if mongos.resources is set (mongos.resources is recommended for production).
783
##
784
resourcesPreset: "small"
785
## @param mongos.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
786
## Example:
787
## resources:
788
## requests:
789
## cpu: 2
790
## memory: 512Mi
791
## limits:
792
## cpu: 3
793
## memory: 1024Mi
794
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
795
##
796
resources: {}
797
## @param mongos.automountServiceAccountToken Mount Service Account token in pod
798
##
799
automountServiceAccountToken: false
800
## @param mongos.hostAliases Deployment pod host aliases
801
## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
802
##
803
hostAliases: []
804
## @param mongos.mongodbExtraFlags MongoDB&reg; additional command line flags
805
## Can be used to specify command line flags, for example:
806
## mongodbExtraFlags:
807
## - "--wiredTigerCacheSizeGB=2"
808
##
809
mongodbExtraFlags: []
810
## @param mongos.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains. Evaluated as a template
811
## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
812
##
813
topologySpreadConstraints: []
814
## @param mongos.priorityClassName Pod priority class name
815
## https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
816
##
817
priorityClassName: ""
818
## @param mongos.podAffinityPreset Mongos Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
819
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
820
##
821
podAffinityPreset: ""
822
## @param mongos.podAntiAffinityPreset Mongos Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
823
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
824
##
825
podAntiAffinityPreset: soft
826
## Node affinity preset
827
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
828
##
829
nodeAffinityPreset:
830
## @param mongos.nodeAffinityPreset.type Mongos Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
831
##
832
type: ""
833
## @param mongos.nodeAffinityPreset.key Mongos Node label key to match Ignored if `affinity` is set.
834
## E.g.
835
## key: "kubernetes.io/e2e-az-name"
836
##
837
key: ""
838
## @param mongos.nodeAffinityPreset.values Mongos Node label values to match. Ignored if `affinity` is set.
839
## E.g.
840
## values:
841
## - e2e-az1
842
## - e2e-az2
843
##
844
values: []
845
## @param mongos.affinity Mongos Affinity for pod assignment
846
## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
847
## Note: mongos.podAffinityPreset, mongos.podAntiAffinityPreset, and mongos.nodeAffinityPreset will be ignored when it's set
848
##
849
affinity: {}
850
## @param mongos.nodeSelector Mongos Node labels for pod assignment
851
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
852
##
853
nodeSelector: {}
854
## @param mongos.tolerations Mongos Tolerations for pod assignment
855
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
856
##
857
tolerations: []
858
## @param mongos.podManagementPolicy Statefulsets pod management policy, allows parallel startup of pods
859
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
860
##
861
podManagementPolicy: OrderedReady
862
## @param mongos.updateStrategy.type updateStrategy for MongoDB&reg; Primary, Secondary and Arbiter statefulsets
863
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
864
##
865
updateStrategy:
866
type: RollingUpdate
867
## @param mongos.config MongoDB&reg; configuration file
868
## ref: http://docs.mongodb.org/manual/reference/configuration-options/
869
##
870
config: ""
871
## @param mongos.configCM ConfigMap name with MongoDB&reg; configuration file (cannot be used with mongos.config)
872
## ref: http://docs.mongodb.org/manual/reference/configuration-options/
873
##
874
configCM: ""
875
## @param mongos.extraEnvVars An array to add extra env vars
876
## For example:
877
## extraEnvVars:
878
## - name: KIBANA_ELASTICSEARCH_URL
879
## value: test
880
##
881
extraEnvVars: []
882
## @param mongos.extraEnvVarsCM Name of a ConfigMap containing extra env vars
883
##
884
extraEnvVarsCM: ""
885
## @param mongos.extraEnvVarsSecret Name of a Secret containing extra env vars
886
##
887
extraEnvVarsSecret: ""
888
## @param mongos.sidecars Add sidecars to the pod
889
## For example:
890
## sidecars:
891
## - name: your-image-name
892
## image: your-image
893
## imagePullPolicy: Always
894
## ports:
895
## - name: portname
896
## containerPort: 1234
897
##
898
sidecars: []
899
## @param mongos.initContainers Add init containers to the pod
900
## For example:
901
## initcontainers:
902
## - name: your-image-name
903
## image: your-image
904
## imagePullPolicy: Always
905
##
906
initContainers: []
907
## @param mongos.podAnnotations Additional pod annotations
908
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
909
##
910
podAnnotations: {}
911
## @param mongos.podLabels Additional pod labels
912
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
913
##
914
podLabels: {}
915
## @param mongos.extraVolumes Array to add extra volumes. Requires setting `extraVolumeMounts`
916
##
917
extraVolumes: []
918
## @param mongos.extraVolumeMounts Array to add extra volume mounts. Normally used with `extraVolumes`.
919
##
920
extraVolumeMounts: []
921
## @param mongos.schedulerName Use an alternate scheduler, e.g. "stork".
922
## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
923
##
924
schedulerName: ""
925
## @param mongos.useStatefulSet Use StatefulSet instead of Deployment
926
##
927
useStatefulSet: false
928
## When using a statefulset, you can enable one service per replica
929
## This is useful when exposing the mongos through load balancers to make sure clients
930
## connect to the same mongos and therefore can follow their cursors
931
##
932
servicePerReplica:
933
## @param mongos.servicePerReplica.enabled Create one service per mongos replica (must be used with statefulset)
934
##
935
enabled: false
936
## @param mongos.servicePerReplica.annotations Additional service annotations (evaluate as a template)
937
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
938
##
939
annotations: {}
940
## @param mongos.servicePerReplica.type Service type
941
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
942
##
943
type: ClusterIP
944
## @param mongos.servicePerReplica.externalTrafficPolicy External traffic policy
945
## Enable client source IP preservation
946
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
947
##
948
externalTrafficPolicy: Cluster
949
## @param mongos.servicePerReplica.port MongoDB&reg; service port
950
##
951
port: 27017
952
## @param mongos.servicePerReplica.clusterIPs Array of static clusterIPs for each MongoDB@reg; replica. Length must be the same as mongos.replicaCount
953
## ref: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.16/#servicespec-v1-core
954
##
955
clusterIPs: []
956
## @param mongos.servicePerReplica.nodePorts Array of node ports used for each MongoDB@reg; replica. Length must be the same as mongos.replicaCount
957
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
958
##
959
nodePorts: []
960
## @param mongos.servicePerReplica.externalIPs External IP list to use with ClusterIP service type
961
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#external-ips
962
##
963
externalIPs: []
964
## @param mongos.servicePerReplica.loadBalancerIPs Array of static IP Address to use for each replica LoadBalancer service type. Length must be the same as mongos.replicaCount
965
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer
966
##
967
loadBalancerIPs: []
968
## @param mongos.servicePerReplica.loadBalancerSourceRanges List of IP ranges allowed access to load balancer (if supported)
969
## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
970
##
971
loadBalancerSourceRanges: []
972
## @param mongos.servicePerReplica.extraPorts Extra ports to expose (normally used with the `sidecar` value)
973
##
974
extraPorts: []
975
## @param mongos.servicePerReplica.sessionAffinity Session Affinity for Kubernetes service, can be "None" or "ClientIP"
976
## If "ClientIP", consecutive client requests will be directed to the same mongos Pod
977
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
978
##
979
sessionAffinity: None
980
## @param mongos.servicePerReplica.sessionAffinityConfig Additional settings for the sessionAffinity
981
## sessionAffinityConfig:
982
## clientIP:
983
## timeoutSeconds: 300
984
##
985
sessionAffinityConfig: {}
986
## Pod disruption budget
987
##
988
pdb:
989
## @param mongos.pdb.create Enable pod disruption budget
990
##
991
create: true
992
## @param mongos.pdb.minAvailable Minimum number of available mongo pods allowed (`0` to disable)
993
##
994
minAvailable: 0
995
## @param mongos.pdb.maxUnavailable Maximum number of unavailable mongo pods allowed (`0` to disable)
996
##
997
maxUnavailable: 1
998
## K8s Service Account.
999
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
1000
##
1001
serviceAccount:
1002
## @param mongos.serviceAccount.create Whether to create a Service Account for mongos automatically
1003
##
1004
create: true
1005
## @param mongos.serviceAccount.name Name of a Service Account to be used by mongos
1006
## If not set and create is true, a name is generated using the XXX.fullname template
1007
##
1008
name: ""
1009
## @param mongos.serviceAccount.annotations Additional Service Account annotations (evaluated as a template)
1010
##
1011
annotations: {}
1012
## @param mongos.serviceAccount.automountServiceAccountToken Automount service account token for the server service account
1013
##
1014
automountServiceAccountToken: false
1015
## Configure Pods Security Context
1016
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
1017
## @param mongos.podSecurityContext.enabled Enable security context
1018
## @param mongos.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
1019
## @param mongos.podSecurityContext.sysctls Set kernel settings using the sysctl interface
1020
## @param mongos.podSecurityContext.supplementalGroups Set filesystem extra groups
1021
## @param mongos.podSecurityContext.fsGroup Group ID for the container
1022
##
1023
podSecurityContext:
1024
enabled: true
1025
fsGroupChangePolicy: Always
1026
sysctls: []
1027
supplementalGroups: []
1028
fsGroup: 1001
1029
## Configure Container Security Context
1030
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
1031
## @param mongos.containerSecurityContext.enabled Enabled containers' Security Context
1032
## @param mongos.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
1033
## @param mongos.containerSecurityContext.runAsUser Set containers' Security Context runAsUser
1034
## @param mongos.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
1035
## @param mongos.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
1036
## @param mongos.containerSecurityContext.privileged Set container's Security Context privileged
1037
## @param mongos.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
1038
## @param mongos.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
1039
## @param mongos.containerSecurityContext.capabilities.drop List of capabilities to be dropped
1040
## @param mongos.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
1041
##
1042
containerSecurityContext:
1043
enabled: true
1044
seLinuxOptions: {}
1045
runAsUser: 1001
1046
runAsGroup: 1001
1047
runAsNonRoot: true
1048
privileged: false
1049
readOnlyRootFilesystem: true
1050
allowPrivilegeEscalation: false
1051
capabilities:
1052
drop: ["ALL"]
1053
seccompProfile:
1054
type: "RuntimeDefault"
1055
## @param mongos.command Override default container command (useful when using custom images)
1056
##
1057
command: []
1058
## @param mongos.args Override default container args (useful when using custom images)
1059
##
1060
args: []
1061
## @param mongos.terminationGracePeriodSeconds Seconds Redmine pod needs to terminate gracefully
1062
## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods
1063
##
1064
terminationGracePeriodSeconds: ""
1065
## @param mongos.lifecycleHooks for the Mongo container(s) to automate configuration before or after startup
1066
##
1067
lifecycleHooks: {}
1068
## Configure extra options for liveness probes
1069
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
1070
## @param mongos.livenessProbe.enabled Enable livenessProbe
1071
## @param mongos.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
1072
## @param mongos.livenessProbe.periodSeconds Period seconds for livenessProbe
1073
## @param mongos.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
1074
## @param mongos.livenessProbe.failureThreshold Failure threshold for livenessProbe
1075
## @param mongos.livenessProbe.successThreshold Success threshold for livenessProbe
1076
##
1077
livenessProbe:
1078
enabled: true
1079
initialDelaySeconds: 60
1080
periodSeconds: 30
1081
timeoutSeconds: 20
1082
failureThreshold: 2
1083
successThreshold: 1
1084
## Configure extra options for readiness probe
1085
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
1086
## @param mongos.readinessProbe.enabled Enable readinessProbe
1087
## @param mongos.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
1088
## @param mongos.readinessProbe.periodSeconds Period seconds for readinessProbe
1089
## @param mongos.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
1090
## @param mongos.readinessProbe.failureThreshold Failure threshold for readinessProbe
1091
## @param mongos.readinessProbe.successThreshold Success threshold for readinessProbe
1092
##
1093
readinessProbe:
1094
enabled: true
1095
initialDelaySeconds: 10
1096
periodSeconds: 30
1097
timeoutSeconds: 20
1098
failureThreshold: 6
1099
successThreshold: 1
1100
## Configure extra options for startup probe
1101
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
1102
## @param mongos.startupProbe.enabled Enable startupProbe
1103
## @param mongos.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
1104
## @param mongos.startupProbe.periodSeconds Period seconds for startupProbe
1105
## @param mongos.startupProbe.timeoutSeconds Timeout seconds for startupProbe
1106
## @param mongos.startupProbe.failureThreshold Failure threshold for startupProbe
1107
## @param mongos.startupProbe.successThreshold Success threshold for startupProbe
1108
##
1109
startupProbe:
1110
enabled: false
1111
initialDelaySeconds: 0
1112
periodSeconds: 10
1113
timeoutSeconds: 5
1114
failureThreshold: 30
1115
successThreshold: 1
1116
## @param mongos.customLivenessProbe Custom livenessProbe that overrides the default one
1117
##
1118
customLivenessProbe: {}
1119
## @param mongos.customReadinessProbe Custom readinessProbe that overrides the default one
1120
##
1121
customReadinessProbe: {}
1122
## @param mongos.customStartupProbe Custom startupProbe that overrides the default one
1123
##
1124
customStartupProbe: {}
1125
## @section Shard configuration: Data node parameters
1126
##
1127
1128
## Shard replica set properties
1129
## ref: https://docs.mongodb.com/manual/replication/index.html
1130
##
1131
shardsvr:
1132
## Properties for data nodes (primary and secondary)
1133
##
1134
dataNode:
1135
## @param shardsvr.dataNode.replicaCount Number of nodes in each shard replica set (the first node will be primary)
1136
##
1137
replicaCount: 1
1138
## @param shardsvr.dataNode.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if shardsvr.dataNode.resources is set (shardsvr.dataNode.resources is recommended for production).
1139
##
1140
resourcesPreset: "medium"
1141
## @param shardsvr.dataNode.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
1142
## Example:
1143
## resources:
1144
## requests:
1145
## cpu: 2
1146
## memory: 512Mi
1147
## limits:
1148
## cpu: 3
1149
## memory: 1024Mi
1150
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
1151
##
1152
resources: {}
1153
## @param shardsvr.dataNode.mongodbExtraFlags MongoDB&reg; additional command line flags
1154
## Can be used to specify command line flags, for example:
1155
## mongodbExtraFlags:
1156
## - "--wiredTigerCacheSizeGB=2"
1157
##
1158
mongodbExtraFlags: []
1159
## @param shardsvr.dataNode.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains. Evaluated as a template
1160
## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
1161
##
1162
topologySpreadConstraints: []
1163
## @param shardsvr.dataNode.priorityClassName Pod priority class name
1164
## https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
1165
##
1166
priorityClassName: ""
1167
## @param shardsvr.dataNode.podAffinityPreset Data nodes Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
1168
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
1169
##
1170
podAffinityPreset: ""
1171
## @param shardsvr.dataNode.podAntiAffinityPreset Data nodes Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
1172
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
1173
##
1174
podAntiAffinityPreset: soft
1175
## Node affinity preset
1176
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
1177
##
1178
nodeAffinityPreset:
1179
## @param shardsvr.dataNode.nodeAffinityPreset.type Data nodes Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
1180
##
1181
type: ""
1182
## @param shardsvr.dataNode.nodeAffinityPreset.key Data nodes Node label key to match Ignored if `affinity` is set.
1183
## E.g.
1184
## key: "kubernetes.io/e2e-az-name"
1185
##
1186
key: ""
1187
## @param shardsvr.dataNode.nodeAffinityPreset.values Data nodes Node label values to match. Ignored if `affinity` is set.
1188
## E.g.
1189
## values:
1190
## - e2e-az1
1191
## - e2e-az2
1192
##
1193
values: []
1194
## @param shardsvr.dataNode.affinity Data nodes Affinity for pod assignment
1195
## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
1196
## You can set dataNodeLoopId (or any other parameter) by setting the below code block under this 'affinity' section:
1197
## affinity:
1198
## matchLabels:
1199
## shard: "{{ .dataNodeLoopId }}"
1200
##
1201
## Note: shardsvr.dataNode.podAffinityPreset, shardsvr.dataNode.podAntiAffinityPreset, and shardsvr.dataNode.nodeAffinityPreset will be ignored when it's set
1202
##
1203
affinity: {}
1204
## @param shardsvr.dataNode.nodeSelector Data nodes Node labels for pod assignment
1205
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
1206
## You can set dataNodeLoopId (or any other parameter) by setting the below code block under this 'nodeSelector' section:
1207
## nodeSelector: { shardId: "{{ .dataNodeLoopId }}" }
1208
##
1209
nodeSelector: {}
1210
## @param shardsvr.dataNode.tolerations Data nodes Tolerations for pod assignment
1211
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
1212
## You can set dataNodeLoopId (or any other parameter) by setting the below code block under this 'nodeSelector' section:
1213
## tolerations:
1214
## - key: "shardId"
1215
## operator: "Equal"
1216
## value: "{{ .dataNodeLoopId }}"
1217
## effect: "NoSchedule"
1218
##
1219
tolerations: []
1220
## @param shardsvr.dataNode.podManagementPolicy podManagementPolicy for the statefulset, allows parallel startup of pods
1221
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
1222
##
1223
podManagementPolicy: OrderedReady
1224
## @param shardsvr.dataNode.updateStrategy.type updateStrategy for MongoDB&reg; Primary, Secondary and Arbiter statefulsets
1225
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
1226
##
1227
updateStrategy:
1228
type: RollingUpdate
1229
## @param shardsvr.dataNode.automountServiceAccountToken Mount Service Account token in pod
1230
##
1231
automountServiceAccountToken: false
1232
## @param shardsvr.dataNode.hostAliases Deployment pod host aliases
1233
## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
1234
##
1235
hostAliases: []
1236
## @param shardsvr.dataNode.config Entries for the MongoDB&reg; config file
1237
## ref: http://docs.mongodb.org/manual/reference/configuration-options/
1238
##
1239
config: ""
1240
## @param shardsvr.dataNode.configCM ConfigMap name with MongoDB&reg; configuration (cannot be used with shardsvr.dataNode.config)
1241
## ref: http://docs.mongodb.org/manual/reference/configuration-options/
1242
##
1243
configCM: ""
1244
## @param shardsvr.dataNode.extraEnvVars An array to add extra env vars
1245
## For example:
1246
## extraEnvVars:
1247
## - name: KIBANA_ELASTICSEARCH_URL
1248
## value: test
1249
##
1250
extraEnvVars: []
1251
## @param shardsvr.dataNode.extraEnvVarsCM Name of a ConfigMap containing extra env vars
1252
##
1253
extraEnvVarsCM: ""
1254
## @param shardsvr.dataNode.extraEnvVarsSecret Name of a Secret containing extra env vars
1255
##
1256
extraEnvVarsSecret: ""
1257
## @param shardsvr.dataNode.sidecars Attach additional containers (evaluated as a template)
1258
## For example:
1259
## sidecars:
1260
## - name: your-image-name
1261
## image: your-image
1262
## imagePullPolicy: Always
1263
## ports:
1264
## - name: portname
1265
## containerPort: 1234
1266
##
1267
sidecars: []
1268
## @param shardsvr.dataNode.initContainers Add init containers to the pod
1269
## For example:
1270
## initcontainers:
1271
## - name: your-image-name
1272
## image: your-image
1273
## imagePullPolicy: Always
1274
##
1275
initContainers: []
1276
## @param shardsvr.dataNode.podAnnotations Additional pod annotations
1277
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
1278
##
1279
podAnnotations: {}
1280
## @param shardsvr.dataNode.podLabels Additional pod labels
1281
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
1282
##
1283
podLabels: {}
1284
## @param shardsvr.dataNode.extraVolumes Array to add extra volumes. Requires setting `extraVolumeMounts`
1285
##
1286
extraVolumes: []
1287
## @param shardsvr.dataNode.extraVolumeMounts Array to add extra mounts. Normally used with `extraVolumes`
1288
##
1289
extraVolumeMounts: []
1290
## @param shardsvr.dataNode.schedulerName Use an alternate scheduler, e.g. "stork".
1291
## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
1292
##
1293
schedulerName: ""
1294
## Pod disruption budget
1295
##
1296
pdb:
1297
## @param shardsvr.dataNode.pdb.create Enable pod disruption budget
1298
##
1299
create: true
1300
## @param shardsvr.dataNode.pdb.minAvailable Minimum number of available data pods allowed (`0` to disable)
1301
##
1302
minAvailable: 0
1303
## @param shardsvr.dataNode.pdb.maxUnavailable Maximum number of unavailable data pods allowed (`0` to disable)
1304
##
1305
maxUnavailable: 1
1306
## K8s Service Account.
1307
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
1308
##
1309
serviceAccount:
1310
## @param shardsvr.dataNode.serviceAccount.create Specifies whether a ServiceAccount should be created for shardsvr
1311
##
1312
create: true
1313
## @param shardsvr.dataNode.serviceAccount.name Name of a Service Account to be used by shardsvr data pods
1314
## If not set and create is true, a name is generated using the XXX.fullname template
1315
##
1316
name: ""
1317
## @param shardsvr.dataNode.serviceAccount.annotations Additional Service Account annotations (evaluated as a template)
1318
##
1319
annotations: {}
1320
## @param shardsvr.dataNode.serviceAccount.automountServiceAccountToken Automount service account token for the server service account
1321
##
1322
automountServiceAccountToken: false
1323
## Configure Pods Security Context
1324
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
1325
## @param shardsvr.dataNode.podSecurityContext.enabled Enable security context
1326
## @param shardsvr.dataNode.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
1327
## @param shardsvr.dataNode.podSecurityContext.sysctls Set kernel settings using the sysctl interface
1328
## @param shardsvr.dataNode.podSecurityContext.supplementalGroups Set filesystem extra groups
1329
## @param shardsvr.dataNode.podSecurityContext.fsGroup Group ID for the container
1330
##
1331
podSecurityContext:
1332
enabled: true
1333
fsGroupChangePolicy: Always
1334
sysctls: []
1335
supplementalGroups: []
1336
fsGroup: 1001
1337
## Configure Container Security Context
1338
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
1339
## @param shardsvr.dataNode.containerSecurityContext.enabled Enabled containers' Security Context
1340
## @param shardsvr.dataNode.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
1341
## @param shardsvr.dataNode.containerSecurityContext.runAsUser Set containers' Security Context runAsUser
1342
## @param shardsvr.dataNode.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
1343
## @param shardsvr.dataNode.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
1344
## @param shardsvr.dataNode.containerSecurityContext.privileged Set container's Security Context privileged
1345
## @param shardsvr.dataNode.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
1346
## @param shardsvr.dataNode.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
1347
## @param shardsvr.dataNode.containerSecurityContext.capabilities.drop List of capabilities to be dropped
1348
## @param shardsvr.dataNode.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
1349
##
1350
containerSecurityContext:
1351
enabled: true
1352
seLinuxOptions: {}
1353
runAsUser: 1001
1354
runAsGroup: 1001
1355
runAsNonRoot: true
1356
privileged: false
1357
readOnlyRootFilesystem: true
1358
allowPrivilegeEscalation: false
1359
capabilities:
1360
drop: ["ALL"]
1361
seccompProfile:
1362
type: "RuntimeDefault"
1363
## @param shardsvr.dataNode.command Override default container command (useful when using custom images)
1364
##
1365
command:
1366
- /bin/bash
1367
- /entrypoint/replicaset-entrypoint.sh
1368
## @param shardsvr.dataNode.args Override default container args (useful when using custom images)
1369
##
1370
args: []
1371
## @param shardsvr.dataNode.terminationGracePeriodSeconds Seconds Redmine pod needs to terminate gracefully
1372
## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods
1373
##
1374
terminationGracePeriodSeconds: ""
1375
## @param shardsvr.dataNode.lifecycleHooks for the Data container(s) to automate configuration before or after startup
1376
##
1377
lifecycleHooks: {}
1378
## Configure extra options for liveness probes
1379
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
1380
## @param shardsvr.dataNode.livenessProbe.enabled Enable livenessProbe
1381
## @param shardsvr.dataNode.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
1382
## @param shardsvr.dataNode.livenessProbe.periodSeconds Period seconds for livenessProbe
1383
## @param shardsvr.dataNode.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
1384
## @param shardsvr.dataNode.livenessProbe.failureThreshold Failure threshold for livenessProbe
1385
## @param shardsvr.dataNode.livenessProbe.successThreshold Success threshold for livenessProbe
1386
##
1387
livenessProbe:
1388
enabled: true
1389
initialDelaySeconds: 60
1390
periodSeconds: 30
1391
timeoutSeconds: 20
1392
failureThreshold: 2
1393
successThreshold: 1
1394
## Configure extra options for readiness probe
1395
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
1396
## @param shardsvr.dataNode.readinessProbe.enabled Enable readinessProbe
1397
## @param shardsvr.dataNode.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
1398
## @param shardsvr.dataNode.readinessProbe.periodSeconds Period seconds for readinessProbe
1399
## @param shardsvr.dataNode.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
1400
## @param shardsvr.dataNode.readinessProbe.failureThreshold Failure threshold for readinessProbe
1401
## @param shardsvr.dataNode.readinessProbe.successThreshold Success threshold for readinessProbe
1402
##
1403
readinessProbe:
1404
enabled: true
1405
initialDelaySeconds: 10
1406
periodSeconds: 30
1407
timeoutSeconds: 20
1408
failureThreshold: 6
1409
successThreshold: 1
1410
## Configure extra options for startup probe
1411
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
1412
## @param shardsvr.dataNode.startupProbe.enabled Enable startupProbe
1413
## @param shardsvr.dataNode.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
1414
## @param shardsvr.dataNode.startupProbe.periodSeconds Period seconds for startupProbe
1415
## @param shardsvr.dataNode.startupProbe.timeoutSeconds Timeout seconds for startupProbe
1416
## @param shardsvr.dataNode.startupProbe.failureThreshold Failure threshold for startupProbe
1417
## @param shardsvr.dataNode.startupProbe.successThreshold Success threshold for startupProbe
1418
##
1419
startupProbe:
1420
enabled: false
1421
initialDelaySeconds: 0
1422
periodSeconds: 10
1423
timeoutSeconds: 5
1424
failureThreshold: 30
1425
successThreshold: 1
1426
## @param shardsvr.dataNode.customLivenessProbe Custom livenessProbe that overrides the default one
1427
##
1428
customLivenessProbe: {}
1429
## @param shardsvr.dataNode.customReadinessProbe Custom readinessProbe that overrides the default one
1430
##
1431
customReadinessProbe: {}
1432
## @param shardsvr.dataNode.customStartupProbe Custom startupProbe that overrides the default one
1433
##
1434
customStartupProbe: {}
1435
## @section Shard configuration: Persistence parameters
1436
##
1437
1438
## Enable persistence using Persistent Volume Claims
1439
## ref: https://kubernetes.io/docs/concepts/storage/persistent-volumes/
1440
##
1441
persistence:
1442
## @param shardsvr.persistence.enabled Use a PVC to persist data
1443
##
1444
enabled: true
1445
## @param shardsvr.persistence.mountPath The path the volume will be mounted at, useful when using different MongoDB&reg; images.
1446
##
1447
mountPath: /iamguarded/mongodb
1448
## @param shardsvr.persistence.subPath Subdirectory of the volume to mount at (evaluated as a template)
1449
## Useful in development environments and one PV for multiple services.
1450
##
1451
subPath: ""
1452
## @param shardsvr.persistence.storageClass Storage class of backing PVC
1453
## If defined, storageClassName: <storageClass>
1454
## If set to "-", storageClassName: "", which disables dynamic provisioning
1455
## If undefined (the default) or set to null, no storageClassName spec is
1456
## set, choosing the default provisioner. (gp2 on AWS, standard on
1457
## GKE, AWS & OpenStack)
1458
##
1459
storageClass: ""
1460
## @param shardsvr.persistence.accessModes Use volume as ReadOnly or ReadWrite
1461
##
1462
accessModes:
1463
- ReadWriteOnce
1464
## @param shardsvr.persistence.size PersistentVolumeClaim size
1465
##
1466
size: 8Gi
1467
## @param shardsvr.persistence.annotations Additional volume annotations
1468
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
1469
##
1470
annotations: {}
1471
## @param shardsvr.persistence.selector Selector to match an existing Persistent Volume for Shard data PVC
1472
## A label query over volumes to consider for binding (e.g. when using local volumes)
1473
## Selector can be defined with static and dynamic options:
1474
## selector:
1475
## matchLabels:
1476
## app: web
1477
## shard: shard{{ .Index }}
1478
##
1479
## shard{{ .Index }} will be substituted to shard0, shard1 accordingly
1480
##
1481
selector: {}
1482
## Persistent Volume Claim Retention Policy
1483
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#persistentvolumeclaim-retention
1484
##
1485
persistentVolumeClaimRetentionPolicy:
1486
## @param shardsvr.persistentVolumeClaimRetentionPolicy.enabled Enable Persistent volume retention policy for Shard replicas StatefulSet
1487
##
1488
enabled: false
1489
## @param shardsvr.persistentVolumeClaimRetentionPolicy.whenScaled Volume retention behavior when the replica count of the StatefulSet is reduced
1490
##
1491
whenScaled: Retain
1492
## @param shardsvr.persistentVolumeClaimRetentionPolicy.whenDeleted Volume retention behavior that applies when the StatefulSet is deleted
1493
##
1494
whenDeleted: Retain
1495
## @section Shard configuration: Arbiter parameters
1496
##
1497
1498
## Properties for arbiter nodes
1499
## ref: https://docs.mongodb.com/manual/tutorial/add-replica-set-arbiter/
1500
##
1501
arbiter:
1502
## @param shardsvr.arbiter.replicaCount Number of arbiters in each shard replica set (the first node will be primary)
1503
##
1504
replicaCount: 0
1505
## @param shardsvr.arbiter.automountServiceAccountToken Mount Service Account token in pod
1506
##
1507
automountServiceAccountToken: false
1508
## @param shardsvr.arbiter.hostAliases Deployment pod host aliases
1509
## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
1510
##
1511
hostAliases: []
1512
## @param shardsvr.arbiter.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if shardsvr.arbiter.resources is set (shardsvr.arbiter.resources is recommended for production).
1513
##
1514
resourcesPreset: "small"
1515
## @param shardsvr.arbiter.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
1516
## Example:
1517
## resources:
1518
## requests:
1519
## cpu: 2
1520
## memory: 512Mi
1521
## limits:
1522
## cpu: 3
1523
## memory: 1024Mi
1524
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
1525
##
1526
resources: {}
1527
## @param shardsvr.arbiter.mongodbExtraFlags MongoDB&reg; additional command line flags
1528
## Can be used to specify command line flags, for example:
1529
## mongodbExtraFlags:
1530
## - "--wiredTigerCacheSizeGB=2"
1531
##
1532
mongodbExtraFlags: []
1533
## @param shardsvr.arbiter.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains. Evaluated as a template
1534
## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
1535
##
1536
topologySpreadConstraints: []
1537
## @param shardsvr.arbiter.priorityClassName Pod priority class name
1538
## https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
1539
##
1540
priorityClassName: ""
1541
## @param shardsvr.arbiter.podAffinityPreset Arbiter's Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
1542
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
1543
##
1544
podAffinityPreset: ""
1545
## @param shardsvr.arbiter.podAntiAffinityPreset Arbiter's Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
1546
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
1547
##
1548
podAntiAffinityPreset: soft
1549
## Node affinity preset
1550
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
1551
##
1552
nodeAffinityPreset:
1553
## @param shardsvr.arbiter.nodeAffinityPreset.type Arbiter's Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
1554
##
1555
type: ""
1556
## @param shardsvr.arbiter.nodeAffinityPreset.key Arbiter's Node label key to match Ignored if `affinity` is set.
1557
## E.g.
1558
## key: "kubernetes.io/e2e-az-name"
1559
##
1560
key: ""
1561
## @param shardsvr.arbiter.nodeAffinityPreset.values Arbiter's Node label values to match. Ignored if `affinity` is set.
1562
## E.g.
1563
## values:
1564
## - e2e-az1
1565
## - e2e-az2
1566
##
1567
values: []
1568
## @param shardsvr.arbiter.affinity Arbiter's Affinity for pod assignment
1569
## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
1570
## You can set arbiterLoopId (or any other parameter) by setting the below code block under this 'affinity' section:
1571
## affinity:
1572
## matchLabels:
1573
## shard: "{{ .arbiterLoopId }}"
1574
##
1575
## Note: shardsvr.arbiter.podAffinityPreset, shardsvr.arbiter.podAntiAffinityPreset, and shardsvr.arbiter.nodeAffinityPreset will be ignored when it's set
1576
##
1577
affinity: {}
1578
## @param shardsvr.arbiter.nodeSelector Arbiter's Node labels for pod assignment
1579
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
1580
##
1581
nodeSelector: {}
1582
## @param shardsvr.arbiter.tolerations Arbiter's Tolerations for pod assignment
1583
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
1584
##
1585
tolerations: []
1586
## @param shardsvr.arbiter.podManagementPolicy Statefulset's pod management policy, allows parallel startup of pods
1587
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
1588
##
1589
podManagementPolicy: OrderedReady
1590
## @param shardsvr.arbiter.updateStrategy.type updateStrategy for MongoDB&reg; Primary, Secondary and Arbiter statefulsets
1591
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
1592
##
1593
updateStrategy:
1594
type: RollingUpdate
1595
## @param shardsvr.arbiter.config MongoDB&reg; configuration file
1596
## ref: http://docs.mongodb.org/manual/reference/configuration-options/
1597
##
1598
config: ""
1599
## @param shardsvr.arbiter.configCM ConfigMap name with MongoDB&reg; configuration file (cannot be used with shardsvr.arbiter.config)
1600
## ref: http://docs.mongodb.org/manual/reference/configuration-options/
1601
##
1602
configCM: ""
1603
## @param shardsvr.arbiter.extraEnvVars An array to add extra env vars
1604
## For example:
1605
## extraEnvVars:
1606
## - name: KIBANA_ELASTICSEARCH_URL
1607
## value: test
1608
##
1609
extraEnvVars: []
1610
## @param shardsvr.arbiter.extraEnvVarsCM Name of a ConfigMap containing extra env vars
1611
##
1612
extraEnvVarsCM: ""
1613
## @param shardsvr.arbiter.extraEnvVarsSecret Name of a Secret containing extra env vars
1614
##
1615
extraEnvVarsSecret: ""
1616
## @param shardsvr.arbiter.sidecars Add sidecars to the pod
1617
## For example:
1618
## sidecars:
1619
## - name: your-image-name
1620
## image: your-image
1621
## imagePullPolicy: Always
1622
## ports:
1623
## - name: portname
1624
## containerPort: 1234
1625
##
1626
sidecars: []
1627
## @param shardsvr.arbiter.initContainers Add init containers to the pod
1628
## For example:
1629
## initcontainers:
1630
## - name: your-image-name
1631
## image: your-image
1632
## imagePullPolicy: Always
1633
##
1634
initContainers: []
1635
## @param shardsvr.arbiter.podAnnotations Additional pod annotations
1636
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
1637
##
1638
podAnnotations: {}
1639
## @param shardsvr.arbiter.podLabels Additional pod labels
1640
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
1641
##
1642
podLabels: {}
1643
## @param shardsvr.arbiter.extraVolumes Array to add extra volumes
1644
##
1645
extraVolumes: []
1646
## @param shardsvr.arbiter.extraVolumeMounts Array to add extra mounts (normally used with extraVolumes)
1647
##
1648
extraVolumeMounts: []
1649
## @param shardsvr.arbiter.schedulerName Use an alternate scheduler, e.g. "stork".
1650
## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
1651
##
1652
schedulerName: ""
1653
## K8s Service Account.
1654
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
1655
##
1656
serviceAccount:
1657
## @param shardsvr.arbiter.serviceAccount.create Specifies whether a ServiceAccount should be created for shardsvr arbiter nodes
1658
##
1659
create: true
1660
## @param shardsvr.arbiter.serviceAccount.name Name of a Service Account to be used by shardsvr arbiter pods
1661
## If not set and create is true, a name is generated using the XXX.fullname template
1662
##
1663
name: ""
1664
## @param shardsvr.arbiter.serviceAccount.annotations Additional Service Account annotations (evaluated as a template)
1665
##
1666
annotations: {}
1667
## @param shardsvr.arbiter.serviceAccount.automountServiceAccountToken Automount service account token for the server service account
1668
##
1669
automountServiceAccountToken: false
1670
## Configure Pods Security Context
1671
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
1672
## @param shardsvr.arbiter.podSecurityContext.enabled Enable security context
1673
## @param shardsvr.arbiter.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
1674
## @param shardsvr.arbiter.podSecurityContext.sysctls Set kernel settings using the sysctl interface
1675
## @param shardsvr.arbiter.podSecurityContext.supplementalGroups Set filesystem extra groups
1676
## @param shardsvr.arbiter.podSecurityContext.fsGroup Group ID for the container
1677
##
1678
podSecurityContext:
1679
enabled: true
1680
fsGroupChangePolicy: Always
1681
sysctls: []
1682
supplementalGroups: []
1683
fsGroup: 1001
1684
## Configure Container Security Context
1685
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
1686
## @param shardsvr.arbiter.containerSecurityContext.enabled Enabled containers' Security Context
1687
## @param shardsvr.arbiter.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
1688
## @param shardsvr.arbiter.containerSecurityContext.runAsUser Set containers' Security Context runAsUser
1689
## @param shardsvr.arbiter.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
1690
## @param shardsvr.arbiter.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
1691
## @param shardsvr.arbiter.containerSecurityContext.privileged Set container's Security Context privileged
1692
## @param shardsvr.arbiter.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
1693
## @param shardsvr.arbiter.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
1694
## @param shardsvr.arbiter.containerSecurityContext.capabilities.drop List of capabilities to be dropped
1695
## @param shardsvr.arbiter.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
1696
##
1697
containerSecurityContext:
1698
enabled: true
1699
seLinuxOptions: {}
1700
runAsUser: 1001
1701
runAsGroup: 1001
1702
runAsNonRoot: true
1703
privileged: false
1704
readOnlyRootFilesystem: true
1705
allowPrivilegeEscalation: false
1706
capabilities:
1707
drop: ["ALL"]
1708
seccompProfile:
1709
type: "RuntimeDefault"
1710
## @param shardsvr.arbiter.command Override default container command (useful when using custom images)
1711
##
1712
command: []
1713
## @param shardsvr.arbiter.args Override default container args (useful when using custom images)
1714
##
1715
args: []
1716
## @param shardsvr.arbiter.terminationGracePeriodSeconds Seconds Redmine pod needs to terminate gracefully
1717
## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods
1718
##
1719
terminationGracePeriodSeconds: ""
1720
## @param shardsvr.arbiter.lifecycleHooks for the arbiter container(s) to automate configuration before or after startup
1721
##
1722
lifecycleHooks: {}
1723
## Configure extra options for liveness probes
1724
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
1725
## @param shardsvr.arbiter.livenessProbe.enabled Enable livenessProbe
1726
## @param shardsvr.arbiter.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
1727
## @param shardsvr.arbiter.livenessProbe.periodSeconds Period seconds for livenessProbe
1728
## @param shardsvr.arbiter.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
1729
## @param shardsvr.arbiter.livenessProbe.failureThreshold Failure threshold for livenessProbe
1730
## @param shardsvr.arbiter.livenessProbe.successThreshold Success threshold for livenessProbe
1731
##
1732
livenessProbe:
1733
enabled: true
1734
initialDelaySeconds: 60
1735
periodSeconds: 30
1736
timeoutSeconds: 20
1737
failureThreshold: 2
1738
successThreshold: 1
1739
## Configure extra options for readiness probe
1740
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
1741
## @param shardsvr.arbiter.readinessProbe.enabled Enable readinessProbe
1742
## @param shardsvr.arbiter.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
1743
## @param shardsvr.arbiter.readinessProbe.periodSeconds Period seconds for readinessProbe
1744
## @param shardsvr.arbiter.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
1745
## @param shardsvr.arbiter.readinessProbe.failureThreshold Failure threshold for readinessProbe
1746
## @param shardsvr.arbiter.readinessProbe.successThreshold Success threshold for readinessProbe
1747
##
1748
readinessProbe:
1749
enabled: true
1750
initialDelaySeconds: 10
1751
periodSeconds: 30
1752
timeoutSeconds: 20
1753
failureThreshold: 6
1754
successThreshold: 1
1755
## Configure extra options for startup probe
1756
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
1757
## @param shardsvr.arbiter.startupProbe.enabled Enable startupProbe
1758
## @param shardsvr.arbiter.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
1759
## @param shardsvr.arbiter.startupProbe.periodSeconds Period seconds for startupProbe
1760
## @param shardsvr.arbiter.startupProbe.timeoutSeconds Timeout seconds for startupProbe
1761
## @param shardsvr.arbiter.startupProbe.failureThreshold Failure threshold for startupProbe
1762
## @param shardsvr.arbiter.startupProbe.successThreshold Success threshold for startupProbe
1763
##
1764
startupProbe:
1765
enabled: false
1766
initialDelaySeconds: 0
1767
periodSeconds: 10
1768
timeoutSeconds: 5
1769
failureThreshold: 30
1770
successThreshold: 1
1771
## @param shardsvr.arbiter.customLivenessProbe Custom livenessProbe that overrides the default one
1772
##
1773
customLivenessProbe: {}
1774
## @param shardsvr.arbiter.customReadinessProbe Custom readinessProbe that overrides the default one
1775
##
1776
customReadinessProbe: {}
1777
## @param shardsvr.arbiter.customStartupProbe Custom startupProbe that overrides the default one
1778
##
1779
customStartupProbe: {}
1780
## @section Metrics parameters
1781
##
1782
1783
metrics:
1784
## @param metrics.enabled Start a side-car prometheus exporter
1785
##
1786
enabled: false
1787
## @param metrics.image.registry [default: REGISTRY_NAME] MongoDB&reg; exporter image registry
1788
## @param metrics.image.repository [default: REPOSITORY_NAME/mongodb-exporter] MongoDB&reg; exporter image name
1789
## @skip metrics.image.tag MongoDB&reg; exporter image tag
1790
## @param metrics.image.digest MongoDB&reg; exporter image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
1791
## @param metrics.image.pullPolicy MongoDB&reg; exporter image pull policy
1792
## @param metrics.image.pullSecrets MongoDB&reg; exporter image pull secrets
1793
##
1794
image:
1795
registry: cgr.dev
1796
repository: chainguard-private/prometheus-mongodb-exporter-iamguarded
1797
tag: 0.49.0
1798
digest: ""
1799
pullPolicy: Always
1800
## Optionally specify an array of imagePullSecrets.
1801
## Secrets must be manually created in the namespace.
1802
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
1803
## e.g:
1804
## pullSecrets:
1805
## - myRegistryKeySecretName
1806
##
1807
pullSecrets: []
1808
## @param metrics.useTLS Whether to connect to MongoDB&reg; with TLS
1809
##
1810
useTLS: false
1811
## @param metrics.extraArgs String with extra arguments to the metrics exporter
1812
## ref: https://github.com/percona/mongodb_exporter/blob/main/main.go
1813
##
1814
extraArgs: ""
1815
## @param metrics.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if metrics.resources is set (metrics.resources is recommended for production).
1816
##
1817
resourcesPreset: "nano"
1818
## @param metrics.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
1819
## Example:
1820
## resources:
1821
## requests:
1822
## cpu: 2
1823
## memory: 512Mi
1824
## limits:
1825
## cpu: 3
1826
## memory: 1024Mi
1827
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
1828
##
1829
resources: {}
1830
## Configure Container Security Context
1831
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
1832
## @param metrics.containerSecurityContext.enabled Enabled containers' Security Context
1833
## @param metrics.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
1834
## @param metrics.containerSecurityContext.runAsUser Set containers' Security Context runAsUser
1835
## @param metrics.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
1836
## @param metrics.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
1837
## @param metrics.containerSecurityContext.privileged Set container's Security Context privileged
1838
## @param metrics.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
1839
## @param metrics.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
1840
## @param metrics.containerSecurityContext.capabilities.drop List of capabilities to be dropped
1841
## @param metrics.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
1842
##
1843
containerSecurityContext:
1844
enabled: true
1845
seLinuxOptions: {}
1846
runAsUser: 1001
1847
runAsGroup: 1001
1848
runAsNonRoot: true
1849
privileged: false
1850
readOnlyRootFilesystem: true
1851
allowPrivilegeEscalation: false
1852
capabilities:
1853
drop: ["ALL"]
1854
seccompProfile:
1855
type: "RuntimeDefault"
1856
## Metrics exporter liveness probe
1857
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes)
1858
## @param metrics.livenessProbe.enabled Enable livenessProbe
1859
## @param metrics.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
1860
## @param metrics.livenessProbe.periodSeconds Period seconds for livenessProbe
1861
## @param metrics.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
1862
## @param metrics.livenessProbe.failureThreshold Failure threshold for livenessProbe
1863
## @param metrics.livenessProbe.successThreshold Success threshold for livenessProbe
1864
##
1865
livenessProbe:
1866
enabled: false
1867
initialDelaySeconds: 15
1868
periodSeconds: 5
1869
timeoutSeconds: 5
1870
failureThreshold: 3
1871
successThreshold: 1
1872
## Metrics exporter liveness and readiness probes
1873
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes)
1874
## @param metrics.readinessProbe.enabled Enable readinessProbe
1875
## @param metrics.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
1876
## @param metrics.readinessProbe.periodSeconds Period seconds for readinessProbe
1877
## @param metrics.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
1878
## @param metrics.readinessProbe.failureThreshold Failure threshold for readinessProbe
1879
## @param metrics.readinessProbe.successThreshold Success threshold for readinessProbe
1880
##
1881
readinessProbe:
1882
enabled: false
1883
initialDelaySeconds: 5
1884
periodSeconds: 5
1885
timeoutSeconds: 1
1886
failureThreshold: 3
1887
successThreshold: 1
1888
## Configure extra options for startup probe
1889
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
1890
## @param metrics.startupProbe.enabled Enable startupProbe
1891
## @param metrics.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
1892
## @param metrics.startupProbe.periodSeconds Period seconds for startupProbe
1893
## @param metrics.startupProbe.timeoutSeconds Timeout seconds for startupProbe
1894
## @param metrics.startupProbe.failureThreshold Failure threshold for startupProbe
1895
## @param metrics.startupProbe.successThreshold Success threshold for startupProbe
1896
##
1897
startupProbe:
1898
enabled: false
1899
initialDelaySeconds: 0
1900
periodSeconds: 5
1901
timeoutSeconds: 2
1902
failureThreshold: 15
1903
successThreshold: 1
1904
## @param metrics.customLivenessProbe Custom livenessProbe that overrides the default one
1905
##
1906
customLivenessProbe: {}
1907
## @param metrics.customReadinessProbe Custom readinessProbe that overrides the default one
1908
##
1909
customReadinessProbe: {}
1910
## @param metrics.customStartupProbe Custom startupProbe that overrides the default one
1911
##
1912
customStartupProbe: {}
1913
## @param metrics.containerPorts.metrics Port of the Prometheus metrics container
1914
##
1915
containerPorts:
1916
metrics: 9216
1917
## @param metrics.podAnnotations [object] Metrics exporter pod Annotation
1918
##
1919
podAnnotations:
1920
prometheus.io/scrape: "true"
1921
prometheus.io/port: "{{ .Values.metrics.containerPort }}"
1922
## Prometheus Service Monitor
1923
## ref: https://github.com/coreos/prometheus-operator
1924
## https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
1925
##
1926
podMonitor:
1927
## @param metrics.podMonitor.enabled Create PodMonitor Resource for scraping metrics using PrometheusOperator
1928
##
1929
enabled: false
1930
## @param metrics.podMonitor.namespace Namespace where podmonitor resource should be created
1931
##
1932
namespace: monitoring
1933
## @param metrics.podMonitor.interval Specify the interval at which metrics should be scraped
1934
##
1935
interval: 30s
1936
## @param metrics.podMonitor.scrapeTimeout Specify the timeout after which the scrape is ended
1937
## e.g:
1938
## scrapeTimeout: 30s
1939
##
1940
scrapeTimeout: ""
1941
## @param metrics.podMonitor.additionalLabels Additional labels that can be used so PodMonitors will be discovered by Prometheus
1942
## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#prometheusspec
1943
##
1944
additionalLabels: {}
1945

The trusted source for open source

Talk to an expert
PrivacyTerms

Product

Chainguard ContainersChainguard LibrariesChainguard VMsIntegrationsPricing
© 2026 Chainguard, Inc. All Rights Reserved.
Chainguard® and the Chainguard logo are registered trademarks of Chainguard, Inc. in the United States and/or other countries.
The other respective trademarks mentioned on this page are owned by the respective companies and use of them does not imply any affiliation or endorsement.