DirectorySecurity AdvisoriesPricing
Sign in
Directory
redis-20 logoHELM

redis-20

Helm chart
iamguarded
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.

Chart tags
Default values
Chart metadata
Images

Tag:
Compare:

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.useImageTags Pull every image by tag and ignore all image digests, including digests set in values. Use this when your registry mirror does not have the chart's default image digests.
18
## @param global.imagePullSecrets Global Docker registry secret names as an array
19
## @param global.defaultStorageClass Global default StorageClass for Persistent Volume(s)
20
## @param global.storageClass DEPRECATED: use global.defaultStorageClass instead
21
## @param global.redis.password Global Redis® password (overrides `auth.password`)
22
##
23
global:
24
imageRegistry: ""
25
useImageTags: false
26
## E.g.
27
## imagePullSecrets:
28
## - myRegistryKeySecretName
29
##
30
imagePullSecrets: []
31
defaultStorageClass: ""
32
storageClass: ""
33
## Security parameters
34
##
35
security:
36
## @param global.security.allowInsecureImages Allows skipping image verification
37
allowInsecureImages: false
38
redis:
39
password: ""
40
## Compatibility adaptations for Kubernetes platforms
41
##
42
compatibility:
43
## Compatibility adaptations for Openshift
44
##
45
openshift:
46
## @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)
47
##
48
adaptSecurityContext: auto
49
org: ""
50
## @section Common parameters
51
##
52
53
## @param kubeVersion Override Kubernetes version
54
##
55
kubeVersion: ""
56
## @param nameOverride String to partially override common.names.fullname
57
##
58
nameOverride: ""
59
## @param fullnameOverride String to fully override common.names.fullname
60
##
61
fullnameOverride: ""
62
## @param namespaceOverride String to fully override common.names.namespace
63
##
64
namespaceOverride: ""
65
## @param commonLabels Labels to add to all deployed objects
66
##
67
commonLabels: {}
68
## @param commonAnnotations Annotations to add to all deployed objects
69
##
70
commonAnnotations: {}
71
## @param configmapChecksumAnnotations Enable checksum annotations used to trigger rolling updates when ConfigMap(s) change
72
##
73
configmapChecksumAnnotations: true
74
## @param secretChecksumAnnotations Enable checksum annotations used to trigger rolling updates when Secret(s) change
75
##
76
secretChecksumAnnotations: true
77
## @param secretAnnotations Annotations to add to secret
78
##
79
secretAnnotations: {}
80
## @param clusterDomain Kubernetes cluster domain name
81
##
82
clusterDomain: cluster.local
83
## @param extraDeploy Array of extra objects to deploy with the release
84
##
85
extraDeploy: []
86
## @param useHostnames Use hostnames internally when announcing replication. If false, the hostname will be resolved to an IP address
87
##
88
useHostnames: true
89
## @param nameResolutionThreshold Failure threshold for internal hostnames resolution
90
##
91
nameResolutionThreshold: 5
92
## @param nameResolutionTimeout Timeout seconds between probes for internal hostnames resolution
93
##
94
nameResolutionTimeout: 5
95
## Enable diagnostic mode in the deployment
96
##
97
diagnosticMode:
98
## @param diagnosticMode.enabled Enable diagnostic mode (all probes will be disabled and the command will be overridden)
99
##
100
enabled: false
101
## @param diagnosticMode.command Command to override all containers in the deployment
102
##
103
command:
104
- sleep
105
## @param diagnosticMode.args Args to override all containers in the deployment
106
##
107
args:
108
- infinity
109
## @section Redis® Image parameters
110
##
111
112
## Iamguarded Redis® image
113
## @param image.registry [default: REGISTRY_NAME] Redis® image registry
114
## @param image.repository [default: REPOSITORY_NAME/redis] Redis® image repository
115
## @skip image.tag Redis® image tag (immutable tags are recommended)
116
## @param image.digest Redis® image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
117
## @param image.pullPolicy Redis® image pull policy
118
## @param image.pullSecrets Redis® image pull secrets
119
## @param image.debug Enable image debug mode
120
##
121
image:
122
registry: cgr.dev
123
repository: chainguard-private/redis-server-iamguarded
124
tag: 7.4.12
125
digest: sha256:36645de34b52581a71e3a9e61f199c8bd3183b60b0344b504d1319195b0ae922
126
## Specify a imagePullPolicy
127
## ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
128
##
129
pullPolicy: IfNotPresent
130
## Optionally specify an array of imagePullSecrets.
131
## Secrets must be manually created in the namespace.
132
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
133
## e.g:
134
## pullSecrets:
135
## - myRegistryKeySecretName
136
##
137
pullSecrets: []
138
## Enable debug mode
139
##
140
debug: false
141
## @section Redis® common configuration parameters
142
##
143
144
## @param architecture Redis® architecture. Allowed values: `standalone` or `replication`
145
##
146
architecture: replication
147
## Redis® Authentication parameters
148
##
149
auth:
150
## @param auth.enabled Enable password authentication
151
##
152
enabled: true
153
## @param auth.sentinel Enable authentication on sentinels too
154
##
155
sentinel: true
156
## @param auth.password Redis® password
157
## Defaults to a random 10-character alphanumeric string if not set
158
##
159
password: ""
160
## @param auth.existingSecret The name of an existing secret with Redis® credentials
161
## NOTE: When it's set, the previous `auth.password` parameter is ignored
162
##
163
existingSecret: ""
164
## @param auth.existingSecretPasswordKey Password key to be retrieved from existing secret
165
## NOTE: ignored unless `auth.existingSecret` parameter is set
166
##
167
existingSecretPasswordKey: ""
168
## @param auth.usePasswordFiles Mount credentials as files instead of using an environment variable
169
##
170
usePasswordFiles: true
171
## @param auth.usePasswordFileFromSecret Mount password file from secret
172
##
173
usePasswordFileFromSecret: true
174
## Redis ACL restricts connections by limiting commands and key access with auth management.
175
## ref: https://redis.io/docs/latest/operate/oss_and_stack/management/security/acl/
176
##
177
acl:
178
## @param auth.acl.enabled Enables the support of the Redis ACL system
179
##
180
enabled: false
181
## @param auth.acl.sentinel Enables the support of the Redis ACL system for Sentinel Nodes
182
##
183
sentinel: false
184
## @param auth.acl.users A list of the configured users in the Redis ACL system
185
##
186
## Example:
187
## users:
188
## - username: "my-user"
189
## password: "mypassword"
190
## enabled: "on"
191
## commands: "+@all"
192
## keys: "~*"
193
## channels: "&*"
194
users: []
195
## @param auth.acl.userSecret Name of the Secret, containing user credentials for ACL users. Keys must match usernames.
196
userSecret: ""
197
## @param commonConfiguration [string] Common configuration to be added into the ConfigMap
198
## ref: https://redis.io/topics/config
199
##
200
commonConfiguration: |-
201
# Enable AOF https://redis.io/topics/persistence#append-only-file
202
appendonly yes
203
# Disable RDB persistence, AOF persistence already enabled.
204
save ""
205
## @param existingConfigmap The name of an existing ConfigMap with your custom configuration for Redis® nodes
206
##
207
existingConfigmap: ""
208
## @section Redis® master configuration parameters
209
##
210
master:
211
## @param master.count Number of Redis® master instances to deploy (experimental, requires additional configuration)
212
##
213
count: 1
214
## @param master.revisionHistoryLimit The number of old history to retain to allow rollback
215
## NOTE: Explicitly setting this field to 0, will result in cleaning up all the history, breaking ability to rollback
216
revisionHistoryLimit: 10
217
## @param master.configuration Configuration for Redis® master nodes
218
## ref: https://redis.io/topics/config
219
##
220
configuration: ""
221
## @param master.disableCommands Array with Redis® commands to disable on master nodes
222
## Commands will be completely disabled by renaming each to an empty string.
223
## ref: https://redis.io/topics/security#disabling-of-specific-commands
224
##
225
disableCommands:
226
- FLUSHDB
227
- FLUSHALL
228
## @param master.command Override default container command (useful when using custom images)
229
##
230
command: []
231
## @param master.args Override default container args (useful when using custom images)
232
##
233
args: []
234
## @param master.enableServiceLinks Whether information about services should be injected into pod's environment variable
235
##
236
enableServiceLinks: true
237
## @param master.preExecCmds Additional commands to run prior to starting Redis® master
238
##
239
preExecCmds: []
240
## @param master.extraFlags Array with additional command line flags for Redis® master
241
## e.g:
242
## extraFlags:
243
## - "--maxmemory-policy volatile-ttl"
244
## - "--repl-backlog-size 1024mb"
245
##
246
extraFlags: []
247
## @param master.extraEnvVars Array with extra environment variables to add to Redis® master nodes
248
## e.g:
249
## extraEnvVars:
250
## - name: FOO
251
## value: "bar"
252
##
253
extraEnvVars: []
254
## @param master.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for Redis® master nodes
255
##
256
extraEnvVarsCM: ""
257
## @param master.extraEnvVarsSecret Name of existing Secret containing extra env vars for Redis® master nodes
258
##
259
extraEnvVarsSecret: ""
260
## @param master.containerPorts.redis Container port to open on Redis® master nodes
261
##
262
containerPorts:
263
redis: 6379
264
## Configure extra options for Redis® containers' liveness and readiness probes
265
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
266
## @param master.startupProbe.enabled Enable startupProbe on Redis® master nodes
267
## @param master.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
268
## @param master.startupProbe.periodSeconds Period seconds for startupProbe
269
## @param master.startupProbe.timeoutSeconds Timeout seconds for startupProbe
270
## @param master.startupProbe.failureThreshold Failure threshold for startupProbe
271
## @param master.startupProbe.successThreshold Success threshold for startupProbe
272
##
273
startupProbe:
274
enabled: false
275
initialDelaySeconds: 20
276
periodSeconds: 5
277
timeoutSeconds: 5
278
successThreshold: 1
279
failureThreshold: 5
280
## @param master.livenessProbe.enabled Enable livenessProbe on Redis® master nodes
281
## @param master.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
282
## @param master.livenessProbe.periodSeconds Period seconds for livenessProbe
283
## @param master.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
284
## @param master.livenessProbe.failureThreshold Failure threshold for livenessProbe
285
## @param master.livenessProbe.successThreshold Success threshold for livenessProbe
286
##
287
livenessProbe:
288
enabled: true
289
initialDelaySeconds: 20
290
periodSeconds: 5
291
timeoutSeconds: 5
292
successThreshold: 1
293
failureThreshold: 5
294
## @param master.readinessProbe.enabled Enable readinessProbe on Redis® master nodes
295
## @param master.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
296
## @param master.readinessProbe.periodSeconds Period seconds for readinessProbe
297
## @param master.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
298
## @param master.readinessProbe.failureThreshold Failure threshold for readinessProbe
299
## @param master.readinessProbe.successThreshold Success threshold for readinessProbe
300
##
301
readinessProbe:
302
enabled: true
303
initialDelaySeconds: 20
304
periodSeconds: 5
305
timeoutSeconds: 1
306
successThreshold: 1
307
failureThreshold: 5
308
## @param master.customStartupProbe Custom startupProbe that overrides the default one
309
##
310
customStartupProbe: {}
311
## @param master.customLivenessProbe Custom livenessProbe that overrides the default one
312
##
313
customLivenessProbe: {}
314
## @param master.customReadinessProbe Custom readinessProbe that overrides the default one
315
##
316
customReadinessProbe: {}
317
## Redis® master resource requests and limits
318
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
319
## @param master.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if master.resources is set (master.resources is recommended for production).
320
##
321
resourcesPreset: "nano"
322
## @param master.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
323
## Example:
324
## resources:
325
## requests:
326
## cpu: 2
327
## memory: 512Mi
328
## limits:
329
## cpu: 3
330
## memory: 1024Mi
331
##
332
resources: {}
333
## Configure Pods Security Context
334
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
335
## @param master.podSecurityContext.enabled Enabled Redis® master pods' Security Context
336
## @param master.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
337
## @param master.podSecurityContext.sysctls Set kernel settings using the sysctl interface
338
## @param master.podSecurityContext.supplementalGroups Set filesystem extra groups
339
## @param master.podSecurityContext.fsGroup Set Redis® master pod's Security Context fsGroup
340
##
341
podSecurityContext:
342
enabled: true
343
fsGroupChangePolicy: Always
344
sysctls: []
345
supplementalGroups: []
346
fsGroup: 1001
347
## Configure Container Security Context
348
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
349
## @param master.containerSecurityContext.enabled Enabled Redis® master containers' Security Context
350
## @param master.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
351
## @param master.containerSecurityContext.runAsUser Set Redis® master containers' Security Context runAsUser
352
## @param master.containerSecurityContext.runAsGroup Set Redis® master containers' Security Context runAsGroup
353
## @param master.containerSecurityContext.runAsNonRoot Set Redis® master containers' Security Context runAsNonRoot
354
## @param master.containerSecurityContext.allowPrivilegeEscalation Is it possible to escalate Redis® pod(s) privileges
355
## @param master.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context read-only root filesystem
356
## @param master.containerSecurityContext.seccompProfile.type Set Redis® master containers' Security Context seccompProfile
357
## @param master.containerSecurityContext.capabilities.drop Set Redis® master containers' Security Context capabilities to drop
358
##
359
containerSecurityContext:
360
enabled: true
361
seLinuxOptions: {}
362
runAsUser: 1001
363
runAsGroup: 1001
364
runAsNonRoot: true
365
allowPrivilegeEscalation: false
366
readOnlyRootFilesystem: true
367
seccompProfile:
368
type: RuntimeDefault
369
capabilities:
370
drop: ["ALL"]
371
## @param master.kind Use either Deployment, StatefulSet (default) or DaemonSet
372
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/
373
##
374
kind: StatefulSet
375
## @param master.schedulerName Alternate scheduler for Redis® master pods
376
## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
377
##
378
schedulerName: ""
379
## @param master.updateStrategy.type Redis® master statefulset strategy type
380
## @skip master.updateStrategy.rollingUpdate
381
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
382
##
383
updateStrategy:
384
## StrategyType
385
## Can be set to RollingUpdate, OnDelete (statefulset), Recreate (deployment)
386
##
387
type: RollingUpdate
388
## @param master.minReadySeconds How many seconds a pod needs to be ready before killing the next, during update
389
##
390
minReadySeconds: 0
391
## @param master.priorityClassName Redis® master pods' priorityClassName
392
##
393
priorityClassName: ""
394
## @param master.automountServiceAccountToken Mount Service Account token in pod
395
##
396
automountServiceAccountToken: false
397
## @param master.hostAliases Redis® master pods host aliases
398
## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
399
##
400
hostAliases: []
401
## @param master.podLabels Extra labels for Redis® master pods
402
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
403
##
404
podLabels: {}
405
## @param master.podAnnotations Annotations for Redis® master pods
406
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
407
##
408
podAnnotations: {}
409
## @param master.shareProcessNamespace Share a single process namespace between all of the containers in Redis® master pods
410
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/share-process-namespace/
411
##
412
shareProcessNamespace: false
413
## @param master.podAffinityPreset Pod affinity preset. Ignored if `master.affinity` is set. Allowed values: `soft` or `hard`
414
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
415
##
416
podAffinityPreset: ""
417
## @param master.podAntiAffinityPreset Pod anti-affinity preset. Ignored if `master.affinity` is set. Allowed values: `soft` or `hard`
418
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
419
##
420
podAntiAffinityPreset: soft
421
## Node master.affinity preset
422
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
423
##
424
nodeAffinityPreset:
425
## @param master.nodeAffinityPreset.type Node affinity preset type. Ignored if `master.affinity` is set. Allowed values: `soft` or `hard`
426
##
427
type: ""
428
## @param master.nodeAffinityPreset.key Node label key to match. Ignored if `master.affinity` is set
429
##
430
key: ""
431
## @param master.nodeAffinityPreset.values Node label values to match. Ignored if `master.affinity` is set
432
## E.g.
433
## values:
434
## - e2e-az1
435
## - e2e-az2
436
##
437
values: []
438
## @param master.affinity Affinity for Redis® master pods assignment
439
## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
440
## NOTE: `master.podAffinityPreset`, `master.podAntiAffinityPreset`, and `master.nodeAffinityPreset` will be ignored when it's set
441
##
442
affinity: {}
443
## @param master.nodeSelector Node labels for Redis® master pods assignment
444
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
445
##
446
nodeSelector: {}
447
## @param master.tolerations Tolerations for Redis® master pods assignment
448
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
449
##
450
tolerations: []
451
## @param master.topologySpreadConstraints Spread Constraints for Redis® master pod assignment
452
## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
453
## E.g.
454
## topologySpreadConstraints:
455
## - maxSkew: 1
456
## topologyKey: node
457
## whenUnsatisfiable: DoNotSchedule
458
##
459
topologySpreadConstraints: []
460
## @param master.dnsPolicy DNS Policy for Redis® master pod
461
## ref: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/
462
## E.g.
463
## dnsPolicy: ClusterFirst
464
##
465
dnsPolicy: ""
466
## @param master.dnsConfig DNS Configuration for Redis® master pod
467
## ref: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/
468
## E.g.
469
## dnsConfig:
470
## options:
471
## - name: ndots
472
## value: "4"
473
## - name: single-request-reopen
474
##
475
dnsConfig: {}
476
## @param master.lifecycleHooks for the Redis® master container(s) to automate configuration before or after startup
477
##
478
lifecycleHooks: {}
479
## @param master.extraVolumes Optionally specify extra list of additional volumes for the Redis® master pod(s)
480
##
481
extraVolumes: []
482
## @param master.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the Redis® master container(s)
483
##
484
extraVolumeMounts: []
485
## @param master.sidecars Add additional sidecar containers to the Redis® master pod(s)
486
## e.g:
487
## sidecars:
488
## - name: your-image-name
489
## image: your-image
490
## imagePullPolicy: Always
491
## ports:
492
## - name: portname
493
## containerPort: 1234
494
##
495
sidecars: []
496
## @param master.initContainers Add additional init containers to the Redis® master pod(s)
497
## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
498
## e.g:
499
## initContainers:
500
## - name: your-image-name
501
## image: your-image
502
## imagePullPolicy: Always
503
## command: ['/bin/bash', '-ec', 'echo "hello world"']
504
##
505
initContainers: []
506
## Persistence parameters
507
## ref: https://kubernetes.io/docs/concepts/storage/persistent-volumes/
508
##
509
persistence:
510
## @param master.persistence.enabled Enable persistence on Redis® master nodes using Persistent Volume Claims
511
##
512
enabled: true
513
## @param master.persistence.medium Provide a medium for `emptyDir` volumes.
514
##
515
medium: ""
516
## @param master.persistence.sizeLimit Set this to enable a size limit for `emptyDir` volumes.
517
##
518
sizeLimit: ""
519
## @param master.persistence.path The path the volume will be mounted at on Redis® master containers
520
## NOTE: Useful when using different Redis® images
521
##
522
path: /data
523
## @param master.persistence.subPath The subdirectory of the volume to mount on Redis® master containers
524
## NOTE: Useful in dev environments
525
##
526
subPath: ""
527
## @param master.persistence.subPathExpr Used to construct the subPath subdirectory of the volume to mount on Redis® master containers
528
##
529
subPathExpr: ""
530
## @param master.persistence.storageClass Persistent Volume storage class
531
## If defined, storageClassName: <storageClass>
532
## If set to "-", storageClassName: "", which disables dynamic provisioning
533
## If undefined (the default) or set to null, no storageClassName spec is set, choosing the default provisioner
534
##
535
storageClass: ""
536
## @param master.persistence.accessModes Persistent Volume access modes
537
##
538
accessModes:
539
- ReadWriteOnce
540
## @param master.persistence.size Persistent Volume size
541
##
542
size: 8Gi
543
## @param master.persistence.annotations Additional custom annotations for the PVC
544
##
545
annotations: {}
546
## @param master.persistence.labels Additional custom labels for the PVC
547
##
548
labels: {}
549
## @param master.persistence.selector Additional labels to match for the PVC
550
## e.g:
551
## selector:
552
## matchLabels:
553
## app: my-app
554
##
555
selector: {}
556
## @param master.persistence.dataSource Custom PVC data source
557
##
558
dataSource: {}
559
## @param master.persistence.existingClaim Use a existing PVC which must be created manually before bound
560
## NOTE: requires master.persistence.enabled: true
561
##
562
existingClaim: ""
563
## persistentVolumeClaimRetentionPolicy
564
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#persistentvolumeclaim-retention
565
## @param master.persistentVolumeClaimRetentionPolicy.enabled Controls if and how PVCs are deleted during the lifecycle of a StatefulSet
566
## @param master.persistentVolumeClaimRetentionPolicy.whenScaled Volume retention behavior when the replica count of the StatefulSet is reduced
567
## @param master.persistentVolumeClaimRetentionPolicy.whenDeleted Volume retention behavior that applies when the StatefulSet is deleted
568
##
569
persistentVolumeClaimRetentionPolicy:
570
enabled: false
571
whenScaled: Retain
572
whenDeleted: Retain
573
## Redis&reg; master service parameters
574
##
575
service:
576
## @param master.service.type Redis&reg; master service type
577
##
578
type: ClusterIP
579
## @param master.service.portNames.redis Redis&reg; master service port name
580
##
581
portNames:
582
redis: "tcp-redis"
583
## @param master.service.ports.redis Redis&reg; master service port
584
##
585
ports:
586
redis: 6379
587
## @param master.service.nodePorts.redis Node port for Redis&reg; master
588
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
589
## NOTE: choose port between <30000-32767>
590
##
591
nodePorts:
592
redis: ""
593
## @param master.service.externalTrafficPolicy Redis&reg; master service external traffic policy
594
## ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
595
##
596
externalTrafficPolicy: Cluster
597
## @param master.service.extraPorts Extra ports to expose (normally used with the `sidecar` value)
598
##
599
extraPorts: []
600
## @param master.service.internalTrafficPolicy Redis&reg; master service internal traffic policy (requires Kubernetes v1.22 or greater to be usable)
601
## ref: https://kubernetes.io/docs/concepts/services-networking/service-traffic-policy/
602
##
603
internalTrafficPolicy: Cluster
604
## @param master.service.clusterIP Redis&reg; master service Cluster IP
605
##
606
clusterIP: ""
607
## @param master.service.loadBalancerIP Redis&reg; master service Load Balancer IP
608
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
609
##
610
loadBalancerIP: ""
611
## @param master.service.loadBalancerClass master service Load Balancer class if service type is `LoadBalancer` (optional, cloud specific)
612
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
613
##
614
loadBalancerClass: ""
615
## @param master.service.loadBalancerSourceRanges Redis&reg; master service Load Balancer sources
616
## https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
617
## e.g.
618
## loadBalancerSourceRanges:
619
## - 10.10.10.0/24
620
##
621
loadBalancerSourceRanges: []
622
## @param master.service.externalIPs Redis&reg; master service External IPs
623
## https://kubernetes.io/docs/concepts/services-networking/service/#external-ips
624
## e.g.
625
## externalIPs:
626
## - 10.10.10.1
627
## - 201.22.30.1
628
##
629
externalIPs: []
630
## @param master.service.annotations Additional custom annotations for Redis&reg; master service
631
##
632
annotations: {}
633
## @param master.service.sessionAffinity Session Affinity for Kubernetes service, can be "None" or "ClientIP"
634
## If "ClientIP", consecutive client requests will be directed to the same Pod
635
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
636
##
637
sessionAffinity: None
638
## @param master.service.sessionAffinityConfig Additional settings for the sessionAffinity
639
## sessionAffinityConfig:
640
## clientIP:
641
## timeoutSeconds: 300
642
##
643
sessionAffinityConfig: {}
644
## @param master.terminationGracePeriodSeconds Integer setting the termination grace period for the redis-master pods
645
##
646
terminationGracePeriodSeconds: 30
647
## ServiceAccount configuration
648
##
649
serviceAccount:
650
## @param master.serviceAccount.create Specifies whether a ServiceAccount should be created
651
##
652
create: true
653
## @param master.serviceAccount.name The name of the ServiceAccount to use.
654
## If not set and create is true, a name is generated using the common.names.fullname template
655
##
656
name: ""
657
## @param master.serviceAccount.automountServiceAccountToken Whether to auto mount the service account token
658
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#use-the-default-service-account-to-access-the-api-server
659
##
660
automountServiceAccountToken: false
661
## @param master.serviceAccount.annotations Additional custom annotations for the ServiceAccount
662
##
663
annotations: {}
664
## Pod Disruption Budget configuration
665
## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
666
## @param master.pdb.create Enable/disable a Pod Disruption Budget creation
667
## @param master.pdb.minAvailable [object] Minimum number/percentage of pods that should remain scheduled
668
## @param master.pdb.maxUnavailable [object] Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `master.pdb.minAvailable` and `master.pdb.maxUnavailable` are empty.
669
##
670
pdb:
671
create: true
672
minAvailable: ""
673
maxUnavailable: ""
674
## @param master.extraPodSpec Optionally specify extra PodSpec for the Redis&reg; master pod(s)
675
##
676
extraPodSpec: {}
677
## @param master.annotations Additional custom annotations for Redis&reg; Master resource
678
##
679
annotations: {}
680
## @section Redis&reg; replicas configuration parameters
681
##
682
replica:
683
## @param replica.kind Use either DaemonSet or StatefulSet (default)
684
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/
685
##
686
kind: StatefulSet
687
## @param replica.replicaCount Number of Redis&reg; replicas to deploy
688
##
689
replicaCount: 3
690
## @param replica.revisionHistoryLimit The number of old history to retain to allow rollback
691
## NOTE: Explicitly setting this field to 0, will result in cleaning up all the history, breaking ability to rollback
692
revisionHistoryLimit: 10
693
## @param replica.configuration Configuration for Redis&reg; replicas nodes
694
## ref: https://redis.io/topics/config
695
##
696
configuration: ""
697
## @param replica.disableCommands Array with Redis&reg; commands to disable on replicas nodes
698
## Commands will be completely disabled by renaming each to an empty string.
699
## ref: https://redis.io/topics/security#disabling-of-specific-commands
700
##
701
disableCommands:
702
- FLUSHDB
703
- FLUSHALL
704
## @param replica.command Override default container command (useful when using custom images)
705
##
706
command: []
707
## @param replica.args Override default container args (useful when using custom images)
708
##
709
args: []
710
## @param replica.enableServiceLinks Whether information about services should be injected into pod's environment variable
711
##
712
enableServiceLinks: true
713
## @param replica.preExecCmds Additional commands to run prior to starting Redis&reg; replicas
714
##
715
preExecCmds: []
716
## @param replica.extraFlags Array with additional command line flags for Redis&reg; replicas
717
## e.g:
718
## extraFlags:
719
## - "--maxmemory-policy volatile-ttl"
720
## - "--repl-backlog-size 1024mb"
721
##
722
extraFlags: []
723
## @param replica.extraEnvVars Array with extra environment variables to add to Redis&reg; replicas nodes
724
## e.g:
725
## extraEnvVars:
726
## - name: FOO
727
## value: "bar"
728
##
729
extraEnvVars: []
730
## @param replica.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for Redis&reg; replicas nodes
731
##
732
extraEnvVarsCM: ""
733
## @param replica.extraEnvVarsSecret Name of existing Secret containing extra env vars for Redis&reg; replicas nodes
734
##
735
extraEnvVarsSecret: ""
736
## @param replica.externalMaster.enabled Use external master for bootstrapping
737
## @param replica.externalMaster.host External master host to bootstrap from
738
## @param replica.externalMaster.port Port for Redis service external master host
739
##
740
externalMaster:
741
enabled: false
742
host: ""
743
port: 6379
744
## @param replica.containerPorts.redis Container port to open on Redis&reg; replicas nodes
745
##
746
containerPorts:
747
redis: 6379
748
## Configure extra options for Redis&reg; containers' liveness and readiness probes
749
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
750
## @param replica.startupProbe.enabled Enable startupProbe on Redis&reg; replicas nodes
751
## @param replica.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
752
## @param replica.startupProbe.periodSeconds Period seconds for startupProbe
753
## @param replica.startupProbe.timeoutSeconds Timeout seconds for startupProbe
754
## @param replica.startupProbe.failureThreshold Failure threshold for startupProbe
755
## @param replica.startupProbe.successThreshold Success threshold for startupProbe
756
##
757
startupProbe:
758
enabled: true
759
initialDelaySeconds: 10
760
periodSeconds: 10
761
timeoutSeconds: 5
762
successThreshold: 1
763
failureThreshold: 22
764
## @param replica.livenessProbe.enabled Enable livenessProbe on Redis&reg; replicas nodes
765
## @param replica.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
766
## @param replica.livenessProbe.periodSeconds Period seconds for livenessProbe
767
## @param replica.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
768
## @param replica.livenessProbe.failureThreshold Failure threshold for livenessProbe
769
## @param replica.livenessProbe.successThreshold Success threshold for livenessProbe
770
##
771
livenessProbe:
772
enabled: true
773
initialDelaySeconds: 20
774
periodSeconds: 5
775
timeoutSeconds: 5
776
successThreshold: 1
777
failureThreshold: 5
778
## @param replica.readinessProbe.enabled Enable readinessProbe on Redis&reg; replicas nodes
779
## @param replica.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
780
## @param replica.readinessProbe.periodSeconds Period seconds for readinessProbe
781
## @param replica.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
782
## @param replica.readinessProbe.failureThreshold Failure threshold for readinessProbe
783
## @param replica.readinessProbe.successThreshold Success threshold for readinessProbe
784
##
785
readinessProbe:
786
enabled: true
787
initialDelaySeconds: 20
788
periodSeconds: 5
789
timeoutSeconds: 1
790
successThreshold: 1
791
failureThreshold: 5
792
## @param replica.customStartupProbe Custom startupProbe that overrides the default one
793
##
794
customStartupProbe: {}
795
## @param replica.customLivenessProbe Custom livenessProbe that overrides the default one
796
##
797
customLivenessProbe: {}
798
## @param replica.customReadinessProbe Custom readinessProbe that overrides the default one
799
##
800
customReadinessProbe: {}
801
## Redis&reg; replicas resource requests and limits
802
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
803
## @param replica.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if replica.resources is set (replica.resources is recommended for production).
804
##
805
resourcesPreset: "nano"
806
## @param replica.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
807
## Example:
808
## resources:
809
## requests:
810
## cpu: 2
811
## memory: 512Mi
812
## limits:
813
## cpu: 3
814
## memory: 1024Mi
815
##
816
resources: {}
817
## Configure Pods Security Context
818
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
819
## @param replica.podSecurityContext.enabled Enabled Redis&reg; replicas pods' Security Context
820
## @param replica.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
821
## @param replica.podSecurityContext.sysctls Set kernel settings using the sysctl interface
822
## @param replica.podSecurityContext.supplementalGroups Set filesystem extra groups
823
## @param replica.podSecurityContext.fsGroup Set Redis&reg; replicas pod's Security Context fsGroup
824
##
825
podSecurityContext:
826
enabled: true
827
fsGroupChangePolicy: Always
828
sysctls: []
829
supplementalGroups: []
830
fsGroup: 1001
831
## Configure Container Security Context
832
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
833
## @param replica.containerSecurityContext.enabled Enabled Redis&reg; replicas containers' Security Context
834
## @param replica.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
835
## @param replica.containerSecurityContext.runAsUser Set Redis&reg; replicas containers' Security Context runAsUser
836
## @param replica.containerSecurityContext.runAsGroup Set Redis&reg; replicas containers' Security Context runAsGroup
837
## @param replica.containerSecurityContext.runAsNonRoot Set Redis&reg; replicas containers' Security Context runAsNonRoot
838
## @param replica.containerSecurityContext.allowPrivilegeEscalation Set Redis&reg; replicas pod's Security Context allowPrivilegeEscalation
839
## @param replica.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context read-only root filesystem
840
## @param replica.containerSecurityContext.seccompProfile.type Set Redis&reg; replicas containers' Security Context seccompProfile
841
## @param replica.containerSecurityContext.capabilities.drop Set Redis&reg; replicas containers' Security Context capabilities to drop
842
##
843
containerSecurityContext:
844
enabled: true
845
seLinuxOptions: {}
846
runAsUser: 1001
847
runAsGroup: 1001
848
runAsNonRoot: true
849
allowPrivilegeEscalation: false
850
readOnlyRootFilesystem: true
851
seccompProfile:
852
type: RuntimeDefault
853
capabilities:
854
drop: ["ALL"]
855
## @param replica.schedulerName Alternate scheduler for Redis&reg; replicas pods
856
## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
857
##
858
schedulerName: ""
859
## @param replica.updateStrategy.type Redis&reg; replicas statefulset strategy type
860
## @skip replica.updateStrategy.rollingUpdate
861
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
862
##
863
updateStrategy:
864
## StrategyType
865
## Can be set to RollingUpdate, OnDelete (statefulset), Recreate (deployment)
866
##
867
type: RollingUpdate
868
## @param replica.minReadySeconds How many seconds a pod needs to be ready before killing the next, during update
869
##
870
minReadySeconds: 0
871
## @param replica.priorityClassName Redis&reg; replicas pods' priorityClassName
872
##
873
priorityClassName: ""
874
## @param replica.podManagementPolicy podManagementPolicy to manage scaling operation of %%MAIN_CONTAINER_NAME%% pods
875
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
876
##
877
podManagementPolicy: ""
878
## @param replica.automountServiceAccountToken Mount Service Account token in pod
879
##
880
automountServiceAccountToken: false
881
## @param replica.hostAliases Redis&reg; replicas pods host aliases
882
## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
883
##
884
hostAliases: []
885
## @param replica.podLabels Extra labels for Redis&reg; replicas pods
886
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
887
##
888
podLabels: {}
889
## @param replica.podAnnotations Annotations for Redis&reg; replicas pods
890
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
891
##
892
podAnnotations: {}
893
## @param replica.shareProcessNamespace Share a single process namespace between all of the containers in Redis&reg; replicas pods
894
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/share-process-namespace/
895
##
896
shareProcessNamespace: false
897
## @param replica.podAffinityPreset Pod affinity preset. Ignored if `replica.affinity` is set. Allowed values: `soft` or `hard`
898
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
899
##
900
podAffinityPreset: ""
901
## @param replica.podAntiAffinityPreset Pod anti-affinity preset. Ignored if `replica.affinity` is set. Allowed values: `soft` or `hard`
902
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
903
##
904
podAntiAffinityPreset: soft
905
## Node affinity preset
906
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
907
##
908
nodeAffinityPreset:
909
## @param replica.nodeAffinityPreset.type Node affinity preset type. Ignored if `replica.affinity` is set. Allowed values: `soft` or `hard`
910
##
911
type: ""
912
## @param replica.nodeAffinityPreset.key Node label key to match. Ignored if `replica.affinity` is set
913
##
914
key: ""
915
## @param replica.nodeAffinityPreset.values Node label values to match. Ignored if `replica.affinity` is set
916
## E.g.
917
## values:
918
## - e2e-az1
919
## - e2e-az2
920
##
921
values: []
922
## @param replica.affinity Affinity for Redis&reg; replicas pods assignment
923
## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
924
## NOTE: `replica.podAffinityPreset`, `replica.podAntiAffinityPreset`, and `replica.nodeAffinityPreset` will be ignored when it's set
925
##
926
affinity: {}
927
## @param replica.nodeSelector Node labels for Redis&reg; replicas pods assignment
928
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
929
##
930
nodeSelector: {}
931
## @param replica.tolerations Tolerations for Redis&reg; replicas pods assignment
932
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
933
##
934
tolerations: []
935
## @param replica.topologySpreadConstraints Spread Constraints for Redis&reg; replicas pod assignment
936
## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
937
## E.g.
938
## topologySpreadConstraints:
939
## - maxSkew: 1
940
## topologyKey: node
941
## whenUnsatisfiable: DoNotSchedule
942
##
943
topologySpreadConstraints: []
944
## @param replica.dnsPolicy DNS Policy for Redis&reg; replica pods
945
## ref: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/
946
## E.g.
947
## dnsPolicy: ClusterFirst
948
##
949
dnsPolicy: ""
950
## @param replica.dnsConfig DNS Configuration for Redis&reg; replica pods
951
## ref: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/
952
## E.g.
953
## dnsConfig:
954
## options:
955
## - name: ndots
956
## value: "4"
957
## - name: single-request-reopen
958
##
959
dnsConfig: {}
960
## @param replica.lifecycleHooks for the Redis&reg; replica container(s) to automate configuration before or after startup
961
##
962
lifecycleHooks: {}
963
## @param replica.extraVolumes Optionally specify extra list of additional volumes for the Redis&reg; replicas pod(s)
964
##
965
extraVolumes: []
966
## @param replica.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the Redis&reg; replicas container(s)
967
##
968
extraVolumeMounts: []
969
## @param replica.sidecars Add additional sidecar containers to the Redis&reg; replicas pod(s)
970
## e.g:
971
## sidecars:
972
## - name: your-image-name
973
## image: your-image
974
## imagePullPolicy: Always
975
## ports:
976
## - name: portname
977
## containerPort: 1234
978
##
979
sidecars: []
980
## @param replica.initContainers Add additional init containers to the Redis&reg; replicas pod(s)
981
## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
982
## e.g:
983
## initContainers:
984
## - name: your-image-name
985
## image: your-image
986
## imagePullPolicy: Always
987
## command: ['/bin/bash', '-c', 'echo "hello world"']
988
##
989
initContainers: []
990
## Persistence Parameters
991
## ref: https://kubernetes.io/docs/concepts/storage/persistent-volumes/
992
##
993
persistence:
994
## @param replica.persistence.enabled Enable persistence on Redis&reg; replicas nodes using Persistent Volume Claims
995
##
996
enabled: true
997
## @param replica.persistence.medium Provide a medium for `emptyDir` volumes.
998
##
999
medium: ""
1000
## @param replica.persistence.sizeLimit Set this to enable a size limit for `emptyDir` volumes.
1001
##
1002
sizeLimit: ""
1003
## @param replica.persistence.path The path the volume will be mounted at on Redis&reg; replicas containers
1004
## NOTE: Useful when using different Redis&reg; images
1005
##
1006
path: /data
1007
## @param replica.persistence.subPath The subdirectory of the volume to mount on Redis&reg; replicas containers
1008
## NOTE: Useful in dev environments
1009
##
1010
subPath: ""
1011
## @param replica.persistence.subPathExpr Used to construct the subPath subdirectory of the volume to mount on Redis&reg; replicas containers
1012
##
1013
subPathExpr: ""
1014
## @param replica.persistence.storageClass Persistent Volume storage class
1015
## If defined, storageClassName: <storageClass>
1016
## If set to "-", storageClassName: "", which disables dynamic provisioning
1017
## If undefined (the default) or set to null, no storageClassName spec is set, choosing the default provisioner
1018
##
1019
storageClass: ""
1020
## @param replica.persistence.accessModes Persistent Volume access modes
1021
##
1022
accessModes:
1023
- ReadWriteOnce
1024
## @param replica.persistence.size Persistent Volume size
1025
##
1026
size: 8Gi
1027
## @param replica.persistence.annotations Additional custom annotations for the PVC
1028
##
1029
annotations: {}
1030
## @param replica.persistence.labels Additional custom labels for the PVC
1031
##
1032
labels: {}
1033
## @param replica.persistence.selector Additional labels to match for the PVC
1034
## e.g:
1035
## selector:
1036
## matchLabels:
1037
## app: my-app
1038
##
1039
selector: {}
1040
## @param replica.persistence.dataSource Custom PVC data source
1041
##
1042
dataSource: {}
1043
## @param replica.persistence.existingClaim Use a existing PVC which must be created manually before bound
1044
## NOTE: requires replica.persistence.enabled: true
1045
##
1046
existingClaim: ""
1047
## persistentVolumeClaimRetentionPolicy
1048
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#persistentvolumeclaim-retention
1049
## @param replica.persistentVolumeClaimRetentionPolicy.enabled Controls if and how PVCs are deleted during the lifecycle of a StatefulSet
1050
## @param replica.persistentVolumeClaimRetentionPolicy.whenScaled Volume retention behavior when the replica count of the StatefulSet is reduced
1051
## @param replica.persistentVolumeClaimRetentionPolicy.whenDeleted Volume retention behavior that applies when the StatefulSet is deleted
1052
##
1053
persistentVolumeClaimRetentionPolicy:
1054
enabled: false
1055
whenScaled: Retain
1056
whenDeleted: Retain
1057
## Redis&reg; replicas service parameters
1058
##
1059
service:
1060
## @param replica.service.type Redis&reg; replicas service type
1061
##
1062
type: ClusterIP
1063
## @param replica.service.ports.redis Redis&reg; replicas service port
1064
##
1065
ports:
1066
redis: 6379
1067
## @param replica.service.nodePorts.redis Node port for Redis&reg; replicas
1068
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
1069
## NOTE: choose port between <30000-32767>
1070
##
1071
nodePorts:
1072
redis: ""
1073
## @param replica.service.externalTrafficPolicy Redis&reg; replicas service external traffic policy
1074
## ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
1075
##
1076
externalTrafficPolicy: Cluster
1077
## @param replica.service.internalTrafficPolicy Redis&reg; replicas service internal traffic policy (requires Kubernetes v1.22 or greater to be usable)
1078
## ref: https://kubernetes.io/docs/concepts/services-networking/service-traffic-policy/
1079
##
1080
internalTrafficPolicy: Cluster
1081
## @param replica.service.extraPorts Extra ports to expose (normally used with the `sidecar` value)
1082
##
1083
extraPorts: []
1084
## @param replica.service.clusterIP Redis&reg; replicas service Cluster IP
1085
##
1086
clusterIP: ""
1087
## @param replica.service.loadBalancerIP Redis&reg; replicas service Load Balancer IP
1088
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
1089
##
1090
loadBalancerIP: ""
1091
## @param replica.service.loadBalancerClass replicas service Load Balancer class if service type is `LoadBalancer` (optional, cloud specific)
1092
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
1093
##
1094
loadBalancerClass: ""
1095
## @param replica.service.loadBalancerSourceRanges Redis&reg; replicas service Load Balancer sources
1096
## https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
1097
## e.g.
1098
## loadBalancerSourceRanges:
1099
## - 10.10.10.0/24
1100
##
1101
loadBalancerSourceRanges: []
1102
## @param replica.service.annotations Additional custom annotations for Redis&reg; replicas service
1103
##
1104
annotations: {}
1105
## @param replica.service.sessionAffinity Session Affinity for Kubernetes service, can be "None" or "ClientIP"
1106
## If "ClientIP", consecutive client requests will be directed to the same Pod
1107
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
1108
##
1109
sessionAffinity: None
1110
## @param replica.service.sessionAffinityConfig Additional settings for the sessionAffinity
1111
## sessionAffinityConfig:
1112
## clientIP:
1113
## timeoutSeconds: 300
1114
##
1115
sessionAffinityConfig: {}
1116
## @param replica.terminationGracePeriodSeconds Integer setting the termination grace period for the redis-replicas pods
1117
##
1118
terminationGracePeriodSeconds: 30
1119
## Autoscaling configuration
1120
##
1121
autoscaling:
1122
## @param replica.autoscaling.enabled Enable replica autoscaling settings
1123
##
1124
enabled: false
1125
## @param replica.autoscaling.minReplicas Minimum replicas for the pod autoscaling
1126
##
1127
minReplicas: 1
1128
## @param replica.autoscaling.maxReplicas Maximum replicas for the pod autoscaling
1129
##
1130
maxReplicas: 11
1131
## @param replica.autoscaling.targetCPU Percentage of CPU to consider when autoscaling
1132
##
1133
targetCPU: ""
1134
## @param replica.autoscaling.targetMemory Percentage of Memory to consider when autoscaling
1135
##
1136
targetMemory: ""
1137
## ServiceAccount configuration
1138
##
1139
serviceAccount:
1140
## @param replica.serviceAccount.create Specifies whether a ServiceAccount should be created
1141
##
1142
create: true
1143
## @param replica.serviceAccount.name The name of the ServiceAccount to use.
1144
## If not set and create is true, a name is generated using the common.names.fullname template
1145
##
1146
name: ""
1147
## @param replica.serviceAccount.automountServiceAccountToken Whether to auto mount the service account token
1148
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#use-the-default-service-account-to-access-the-api-server
1149
##
1150
automountServiceAccountToken: false
1151
## @param replica.serviceAccount.annotations Additional custom annotations for the ServiceAccount
1152
##
1153
annotations: {}
1154
## Pod Disruption Budget configuration
1155
## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
1156
## @param replica.pdb.create Enable/disable a Pod Disruption Budget creation
1157
## @param replica.pdb.minAvailable [object] Minimum number/percentage of pods that should remain scheduled
1158
## @param replica.pdb.maxUnavailable [object] Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `replica.pdb.minAvailable` and `replica.pdb.maxUnavailable` are empty.
1159
##
1160
pdb:
1161
create: true
1162
minAvailable: ""
1163
maxUnavailable: ""
1164
## @param replica.extraPodSpec Optionally specify extra PodSpec for the Redis&reg; replicas pod(s)
1165
##
1166
extraPodSpec: {}
1167
## @param replica.annotations Additional custom annotations for Redis&reg; replicas resource
1168
##
1169
annotations: {}
1170
## @section Redis&reg; Sentinel configuration parameters
1171
##
1172
1173
sentinel:
1174
## @param sentinel.enabled Use Redis&reg; Sentinel on Redis&reg; pods.
1175
## IMPORTANT: this will disable the master and replicas services and
1176
## create a single Redis&reg; service exposing both the Redis and Sentinel ports
1177
##
1178
enabled: false
1179
## Iamguarded Redis&reg; Sentinel image version
1180
## @param sentinel.image.registry [default: REGISTRY_NAME] Redis&reg; Sentinel image registry
1181
## @param sentinel.image.repository [default: REPOSITORY_NAME/redis-sentinel] Redis&reg; Sentinel image repository
1182
## @skip sentinel.image.tag Redis&reg; Sentinel image tag (immutable tags are recommended)
1183
## @param sentinel.image.digest Redis&reg; Sentinel image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
1184
## @param sentinel.image.pullPolicy Redis&reg; Sentinel image pull policy
1185
## @param sentinel.image.pullSecrets Redis&reg; Sentinel image pull secrets
1186
## @param sentinel.image.debug Enable image debug mode
1187
##
1188
image:
1189
registry: cgr.dev
1190
repository: chainguard-private/redis-sentinel-iamguarded
1191
tag: 7.4.12
1192
digest: sha256:a7698ac96111c957e0171c1fe9a8e1069aaf02c79d0836aa4bb3d43d557d8367
1193
## Specify a imagePullPolicy
1194
## ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
1195
##
1196
pullPolicy: IfNotPresent
1197
## Optionally specify an array of imagePullSecrets.
1198
## Secrets must be manually created in the namespace.
1199
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
1200
## e.g:
1201
## pullSecrets:
1202
## - myRegistryKeySecretName
1203
##
1204
pullSecrets: []
1205
## Enable debug mode
1206
##
1207
debug: false
1208
## @param sentinel.annotations Additional custom annotations for Redis&reg; Sentinel resource
1209
##
1210
annotations: {}
1211
## @param sentinel.masterSet Master set name
1212
##
1213
masterSet: mymaster
1214
## @param sentinel.quorum Sentinel Quorum
1215
##
1216
quorum: 2
1217
## @param sentinel.getMasterTimeout Amount of time to allow before get_sentinel_master_info() times out.
1218
##
1219
getMasterTimeout: 90
1220
## @param sentinel.automateClusterRecovery Automate cluster recovery in cases where the last replica is not considered a good replica and Sentinel won't automatically failover to it.
1221
## This also prevents any new replica from starting until the last remaining replica is elected as master to guarantee that it is the one to be elected by Sentinel, and not a newly started replica with no data.
1222
## NOTE: This feature requires a "downAfterMilliseconds" value less or equal to 2000.
1223
##
1224
automateClusterRecovery: false
1225
## @param sentinel.redisShutdownWaitFailover Whether the Redis&reg; master container waits for the failover at shutdown (in addition to the Redis&reg; Sentinel container).
1226
##
1227
redisShutdownWaitFailover: true
1228
## Sentinel timing restrictions
1229
## @param sentinel.downAfterMilliseconds Timeout for detecting a Redis&reg; node is down
1230
## @param sentinel.failoverTimeout Timeout for performing a election failover
1231
##
1232
downAfterMilliseconds: 60000
1233
failoverTimeout: 180000
1234
## @param sentinel.parallelSyncs Number of replicas that can be reconfigured in parallel to use the new master after a failover
1235
##
1236
parallelSyncs: 1
1237
## @param sentinel.configuration Configuration for Redis&reg; Sentinel nodes
1238
## ref: https://redis.io/topics/sentinel
1239
##
1240
configuration: ""
1241
## @param sentinel.command Override default container command (useful when using custom images)
1242
##
1243
command: []
1244
## @param sentinel.args Override default container args (useful when using custom images)
1245
##
1246
args: []
1247
## @param sentinel.enableServiceLinks Whether information about services should be injected into pod's environment variable
1248
##
1249
enableServiceLinks: true
1250
## @param sentinel.preExecCmds Additional commands to run prior to starting Redis&reg; Sentinel
1251
##
1252
preExecCmds: []
1253
## @param sentinel.extraEnvVars Array with extra environment variables to add to Redis&reg; Sentinel nodes
1254
## e.g:
1255
## extraEnvVars:
1256
## - name: FOO
1257
## value: "bar"
1258
##
1259
extraEnvVars: []
1260
## @param sentinel.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for Redis&reg; Sentinel nodes
1261
##
1262
extraEnvVarsCM: ""
1263
## @param sentinel.extraEnvVarsSecret Name of existing Secret containing extra env vars for Redis&reg; Sentinel nodes
1264
##
1265
extraEnvVarsSecret: ""
1266
## @param sentinel.externalMaster.enabled Use external master for bootstrapping
1267
## @param sentinel.externalMaster.host External master host to bootstrap from
1268
## @param sentinel.externalMaster.port Port for Redis service external master host
1269
##
1270
externalMaster:
1271
enabled: false
1272
host: ""
1273
port: 6379
1274
## @param sentinel.containerPorts.sentinel Container port to open on Redis&reg; Sentinel nodes
1275
##
1276
containerPorts:
1277
sentinel: 26379
1278
## Configure extra options for Redis&reg; containers' liveness and readiness probes
1279
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
1280
## @param sentinel.startupProbe.enabled Enable startupProbe on Redis&reg; Sentinel nodes
1281
## @param sentinel.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
1282
## @param sentinel.startupProbe.periodSeconds Period seconds for startupProbe
1283
## @param sentinel.startupProbe.timeoutSeconds Timeout seconds for startupProbe
1284
## @param sentinel.startupProbe.failureThreshold Failure threshold for startupProbe
1285
## @param sentinel.startupProbe.successThreshold Success threshold for startupProbe
1286
##
1287
startupProbe:
1288
enabled: true
1289
initialDelaySeconds: 10
1290
periodSeconds: 10
1291
timeoutSeconds: 5
1292
successThreshold: 1
1293
failureThreshold: 22
1294
## @param sentinel.livenessProbe.enabled Enable livenessProbe on Redis&reg; Sentinel nodes
1295
## @param sentinel.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
1296
## @param sentinel.livenessProbe.periodSeconds Period seconds for livenessProbe
1297
## @param sentinel.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
1298
## @param sentinel.livenessProbe.failureThreshold Failure threshold for livenessProbe
1299
## @param sentinel.livenessProbe.successThreshold Success threshold for livenessProbe
1300
##
1301
livenessProbe:
1302
enabled: true
1303
initialDelaySeconds: 20
1304
periodSeconds: 10
1305
timeoutSeconds: 5
1306
successThreshold: 1
1307
failureThreshold: 6
1308
## @param sentinel.readinessProbe.enabled Enable readinessProbe on Redis&reg; Sentinel nodes
1309
## @param sentinel.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
1310
## @param sentinel.readinessProbe.periodSeconds Period seconds for readinessProbe
1311
## @param sentinel.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
1312
## @param sentinel.readinessProbe.failureThreshold Failure threshold for readinessProbe
1313
## @param sentinel.readinessProbe.successThreshold Success threshold for readinessProbe
1314
##
1315
readinessProbe:
1316
enabled: true
1317
initialDelaySeconds: 20
1318
periodSeconds: 5
1319
timeoutSeconds: 1
1320
successThreshold: 1
1321
failureThreshold: 6
1322
## @param sentinel.customStartupProbe Custom startupProbe that overrides the default one
1323
##
1324
customStartupProbe: {}
1325
## @param sentinel.customLivenessProbe Custom livenessProbe that overrides the default one
1326
##
1327
customLivenessProbe: {}
1328
## @param sentinel.customReadinessProbe Custom readinessProbe that overrides the default one
1329
##
1330
customReadinessProbe: {}
1331
## Persistence parameters
1332
## ref: https://kubernetes.io/docs/concepts/storage/persistent-volumes/
1333
##
1334
persistence:
1335
## @param sentinel.persistence.enabled Enable persistence on Redis&reg; sentinel nodes using Persistent Volume Claims (Experimental)
1336
##
1337
enabled: false
1338
## @param sentinel.persistence.storageClass Persistent Volume storage class
1339
## If defined, storageClassName: <storageClass>
1340
## If set to "-", storageClassName: "", which disables dynamic provisioning
1341
## If undefined (the default) or set to null, no storageClassName spec is set, choosing the default provisioner
1342
##
1343
storageClass: ""
1344
## @param sentinel.persistence.accessModes Persistent Volume access modes
1345
##
1346
accessModes:
1347
- ReadWriteOnce
1348
## @param sentinel.persistence.size Persistent Volume size
1349
##
1350
size: 100Mi
1351
## @param sentinel.persistence.annotations Additional custom annotations for the PVC
1352
##
1353
annotations: {}
1354
## @param sentinel.persistence.labels Additional custom labels for the PVC
1355
##
1356
labels: {}
1357
## @param sentinel.persistence.selector Additional labels to match for the PVC
1358
## e.g:
1359
## selector:
1360
## matchLabels:
1361
## app: my-app
1362
##
1363
selector: {}
1364
## @param sentinel.persistence.dataSource Custom PVC data source
1365
##
1366
dataSource: {}
1367
## @param sentinel.persistence.medium Provide a medium for `emptyDir` volumes.
1368
##
1369
medium: ""
1370
## @param sentinel.persistence.sizeLimit Set this to enable a size limit for `emptyDir` volumes.
1371
##
1372
sizeLimit: ""
1373
## persistentVolumeClaimRetentionPolicy
1374
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#persistentvolumeclaim-retention
1375
## @param sentinel.persistentVolumeClaimRetentionPolicy.enabled Controls if and how PVCs are deleted during the lifecycle of a StatefulSet
1376
## @param sentinel.persistentVolumeClaimRetentionPolicy.whenScaled Volume retention behavior when the replica count of the StatefulSet is reduced
1377
## @param sentinel.persistentVolumeClaimRetentionPolicy.whenDeleted Volume retention behavior that applies when the StatefulSet is deleted
1378
##
1379
persistentVolumeClaimRetentionPolicy:
1380
enabled: false
1381
whenScaled: Retain
1382
whenDeleted: Retain
1383
## Redis&reg; Sentinel resource requests and limits
1384
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
1385
## @param sentinel.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if sentinel.resources is set (sentinel.resources is recommended for production).
1386
##
1387
resourcesPreset: "nano"
1388
## @param sentinel.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
1389
## Example:
1390
## resources:
1391
## requests:
1392
## cpu: 2
1393
## memory: 512Mi
1394
## limits:
1395
## cpu: 3
1396
## memory: 1024Mi
1397
##
1398
resources: {}
1399
## Configure Container Security Context
1400
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
1401
## @param sentinel.containerSecurityContext.enabled Enabled Redis&reg; Sentinel containers' Security Context
1402
## @param sentinel.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
1403
## @param sentinel.containerSecurityContext.runAsUser Set Redis&reg; Sentinel containers' Security Context runAsUser
1404
## @param sentinel.containerSecurityContext.runAsGroup Set Redis&reg; Sentinel containers' Security Context runAsGroup
1405
## @param sentinel.containerSecurityContext.runAsNonRoot Set Redis&reg; Sentinel containers' Security Context runAsNonRoot
1406
## @param sentinel.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context read-only root filesystem
1407
## @param sentinel.containerSecurityContext.allowPrivilegeEscalation Set Redis&reg; Sentinel containers' Security Context allowPrivilegeEscalation
1408
## @param sentinel.containerSecurityContext.seccompProfile.type Set Redis&reg; Sentinel containers' Security Context seccompProfile
1409
## @param sentinel.containerSecurityContext.capabilities.drop Set Redis&reg; Sentinel containers' Security Context capabilities to drop
1410
##
1411
containerSecurityContext:
1412
enabled: true
1413
seLinuxOptions: {}
1414
runAsUser: 1001
1415
runAsGroup: 1001
1416
runAsNonRoot: true
1417
allowPrivilegeEscalation: false
1418
readOnlyRootFilesystem: true
1419
seccompProfile:
1420
type: RuntimeDefault
1421
capabilities:
1422
drop: ["ALL"]
1423
## @param sentinel.lifecycleHooks for the Redis&reg; sentinel container(s) to automate configuration before or after startup
1424
##
1425
lifecycleHooks: {}
1426
## @param sentinel.extraVolumes Optionally specify extra list of additional volumes for the Redis&reg; Sentinel
1427
##
1428
extraVolumes: []
1429
## @param sentinel.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the Redis&reg; Sentinel container(s)
1430
##
1431
extraVolumeMounts: []
1432
## Redis&reg; Sentinel service parameters
1433
## Note: values passed in this section also configure the master service, unless the sentinel.masterService is explicitly overridden.
1434
service:
1435
## @param sentinel.service.type Redis&reg; Sentinel service type
1436
##
1437
type: ClusterIP
1438
## @param sentinel.service.ports.redis Redis&reg; service port for Redis&reg;
1439
## @param sentinel.service.ports.sentinel Redis&reg; service port for Redis&reg; Sentinel
1440
##
1441
ports:
1442
redis: 6379
1443
sentinel: 26379
1444
## @param sentinel.service.nodePorts.redis Node port for Redis&reg;
1445
## @param sentinel.service.nodePorts.sentinel Node port for Sentinel
1446
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
1447
## NOTE: choose port between <30000-32767>
1448
## NOTE: By leaving these values blank, they will be generated by ports-configmap
1449
## If setting manually, please leave at least replica.replicaCount + 1 in between sentinel.service.nodePorts.redis and sentinel.service.nodePorts.sentinel to take into account the ports that will be created while incrementing that base port
1450
##
1451
nodePorts:
1452
redis: ""
1453
sentinel: ""
1454
## @param sentinel.service.externalTrafficPolicy Redis&reg; Sentinel service external traffic policy
1455
## ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
1456
##
1457
externalTrafficPolicy: Cluster
1458
## @param sentinel.service.extraPorts Extra ports to expose (normally used with the `sidecar` value)
1459
##
1460
extraPorts: []
1461
## @param sentinel.service.clusterIP Redis&reg; Sentinel service Cluster IP
1462
##
1463
clusterIP: ""
1464
## @param sentinel.service.createMaster Enable master service pointing to the current master (experimental)
1465
## NOTE: rbac.create need to be set to true
1466
##
1467
createMaster: false
1468
## @param sentinel.service.loadBalancerIP Redis&reg; Sentinel service Load Balancer IP
1469
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
1470
##
1471
loadBalancerIP: ""
1472
## @param sentinel.service.loadBalancerClass sentinel service Load Balancer class if service type is `LoadBalancer` (optional, cloud specific)
1473
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
1474
##
1475
loadBalancerClass: ""
1476
## @param sentinel.service.loadBalancerSourceRanges Redis&reg; Sentinel service Load Balancer sources
1477
## https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
1478
## e.g.
1479
## loadBalancerSourceRanges:
1480
## - 10.10.10.0/24
1481
##
1482
loadBalancerSourceRanges: []
1483
## @param sentinel.service.annotations Additional custom annotations for Redis&reg; Sentinel service
1484
##
1485
annotations: {}
1486
## @param sentinel.service.sessionAffinity Session Affinity for Kubernetes service, can be "None" or "ClientIP"
1487
## If "ClientIP", consecutive client requests will be directed to the same Pod
1488
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
1489
##
1490
sessionAffinity: None
1491
## @param sentinel.service.sessionAffinityConfig Additional settings for the sessionAffinity
1492
## sessionAffinityConfig:
1493
## clientIP:
1494
## timeoutSeconds: 300
1495
##
1496
sessionAffinityConfig: {}
1497
## Headless service properties
1498
##
1499
headless:
1500
## @param sentinel.service.headless.annotations Annotations for the headless service.
1501
##
1502
annotations: {}
1503
## @param sentinel.service.headless.extraPorts Optionally specify extra ports to expose for the headless service.
1504
## Example:
1505
## extraPorts:
1506
## - name: my-custom-port
1507
## port: 12345
1508
## protocol: TCP
1509
## targetPort: 12345
1510
##
1511
extraPorts: []
1512
## Redis&reg; master service parameters
1513
##
1514
masterService:
1515
## @param sentinel.masterService.enabled Enable master service pointing to the current master (experimental)
1516
## NOTE: rbac.create need to be set to true
1517
##
1518
enabled: false
1519
## @param sentinel.masterService.type Redis&reg; Sentinel master service type
1520
##
1521
type: ClusterIP
1522
## @param sentinel.masterService.ports.redis Redis&reg; service port for Redis&reg;
1523
##
1524
ports:
1525
redis: 6379
1526
## @param sentinel.masterService.nodePorts.redis Node port for Redis&reg;
1527
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
1528
## NOTE: choose port between <30000-32767>
1529
## NOTE: By leaving these values blank, they will be generated by ports-configmap
1530
## If setting manually, please leave at least replica.replicaCount + 1 in between sentinel.service.nodePorts.redis and sentinel.service.nodePorts.sentinel to take into account the ports that will be created while incrementing that base port
1531
##
1532
nodePorts:
1533
redis: ""
1534
## @param sentinel.masterService.externalTrafficPolicy Redis&reg; master service external traffic policy
1535
## ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
1536
##
1537
externalTrafficPolicy: ""
1538
## @param sentinel.masterService.extraPorts Extra ports to expose (normally used with the `sidecar` value)
1539
##
1540
extraPorts: []
1541
## @param sentinel.masterService.clusterIP Redis&reg; master service Cluster IP
1542
##
1543
clusterIP: ""
1544
## @param sentinel.masterService.loadBalancerIP Redis&reg; master service Load Balancer IP
1545
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
1546
##
1547
loadBalancerIP: ""
1548
## @param sentinel.masterService.loadBalancerClass master service Load Balancer class if service type is `LoadBalancer` (optional, cloud specific)
1549
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
1550
##
1551
loadBalancerClass: ""
1552
## @param sentinel.masterService.loadBalancerSourceRanges Redis&reg; master service Load Balancer sources
1553
## https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
1554
## e.g.
1555
## loadBalancerSourceRanges:
1556
## - 10.10.10.0/24
1557
##
1558
loadBalancerSourceRanges: []
1559
## @param sentinel.masterService.annotations Additional custom annotations for Redis&reg; master service
1560
##
1561
annotations: {}
1562
## @param sentinel.masterService.sessionAffinity Session Affinity for Kubernetes service, can be "None" or "ClientIP"
1563
## If "ClientIP", consecutive client requests will be directed to the same Pod
1564
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
1565
##
1566
sessionAffinity: None
1567
## @param sentinel.masterService.sessionAffinityConfig Additional settings for the sessionAffinity
1568
## sessionAffinityConfig:
1569
## clientIP:
1570
## timeoutSeconds: 300
1571
##
1572
sessionAffinityConfig: {}
1573
## @param sentinel.terminationGracePeriodSeconds Integer setting the termination grace period for the redis-node pods
1574
##
1575
terminationGracePeriodSeconds: 30
1576
## @param sentinel.extraPodSpec Optionally specify extra PodSpec for the Redis&reg; Sentinel pod(s)
1577
##
1578
extraPodSpec: {}
1579
externalAccess:
1580
## @param sentinel.externalAccess.enabled Enable external access to the Redis
1581
##
1582
enabled: false
1583
service:
1584
## @param sentinel.externalAccess.service.loadBalancerIPAnnotaion Name of annotation to specify fixed IP for service in.
1585
##
1586
loadBalancerIPAnnotaion: ""
1587
## @param sentinel.externalAccess.service.type Type for the services used to expose every Pod
1588
## At this moment only LoadBalancer is supported
1589
##
1590
type: LoadBalancer
1591
## @param sentinel.externalAccess.service.redisPort Port for the services used to expose redis-server
1592
##
1593
redisPort: 6379
1594
## @param sentinel.externalAccess.service.sentinelPort Port for the services used to expose redis-sentinel
1595
##
1596
sentinelPort: 26379
1597
## @param sentinel.externalAccess.service.loadBalancerIP Array of load balancer IPs for each Redis&reg; node. Length must be the same as sentinel.replicaCount
1598
##
1599
loadBalancerIP: []
1600
## @param sentinel.externalAccess.service.loadBalancerClass Load Balancer class if service type is `LoadBalancer` (optional, cloud specific)
1601
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
1602
##
1603
loadBalancerClass: ""
1604
## @param sentinel.externalAccess.service.loadBalancerSourceRanges Service Load Balancer sources
1605
## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
1606
## e.g:
1607
## loadBalancerSourceRanges:
1608
## - 10.10.10.0/24
1609
##
1610
loadBalancerSourceRanges: []
1611
## @param sentinel.externalAccess.service.annotations Annotations to add to the services used to expose every Pod of the Redis&reg; Cluster
1612
##
1613
annotations: {}
1614
## @section Other Parameters
1615
##
1616
1617
## @param serviceBindings.enabled Create secret for service binding (Experimental)
1618
## Ref: https://servicebinding.io/service-provider/
1619
##
1620
serviceBindings:
1621
enabled: false
1622
## Network Policy configuration
1623
## ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
1624
##
1625
networkPolicy:
1626
## @param networkPolicy.enabled Enable creation of NetworkPolicy resources
1627
##
1628
enabled: true
1629
## @param networkPolicy.allowExternal Don't require client label for connections
1630
## When set to false, only pods with the correct client label will have network access to the ports
1631
## Redis&reg; is listening on. When true, Redis&reg; will accept connections from any source
1632
## (with the correct destination port).
1633
##
1634
allowExternal: true
1635
## @param networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
1636
##
1637
allowExternalEgress: true
1638
## @param networkPolicy.extraIngress Add extra ingress rules to the NetworkPolicy
1639
## e.g:
1640
## extraIngress:
1641
## - ports:
1642
## - port: 1234
1643
## from:
1644
## - podSelector:
1645
## - matchLabels:
1646
## - role: frontend
1647
## - podSelector:
1648
## - matchExpressions:
1649
## - key: role
1650
## operator: In
1651
## values:
1652
## - frontend
1653
##
1654
extraIngress: []
1655
## @param networkPolicy.extraEgress Add extra egress rules to the NetworkPolicy
1656
## e.g:
1657
## extraEgress:
1658
## - ports:
1659
## - port: 1234
1660
## to:
1661
## - podSelector:
1662
## - matchLabels:
1663
## - role: frontend
1664
## - podSelector:
1665
## - matchExpressions:
1666
## - key: role
1667
## operator: In
1668
## values:
1669
## - frontend
1670
##
1671
extraEgress: []
1672
## @param networkPolicy.ingressNSMatchLabels Labels to match to allow traffic from other namespaces
1673
## @param networkPolicy.ingressNSPodMatchLabels Pod labels to match to allow traffic from other namespaces
1674
##
1675
ingressNSMatchLabels: {}
1676
ingressNSPodMatchLabels: {}
1677
metrics:
1678
## @param networkPolicy.metrics.allowExternal Don't require client label for connections for metrics endpoint
1679
## When set to false, only pods with the correct client label will have network access to the metrics port
1680
##
1681
allowExternal: true
1682
## @param networkPolicy.metrics.ingressNSMatchLabels Labels to match to allow traffic from other namespaces to metrics endpoint
1683
## @param networkPolicy.metrics.ingressNSPodMatchLabels Pod labels to match to allow traffic from other namespaces to metrics endpoint
1684
##
1685
ingressNSMatchLabels: {}
1686
ingressNSPodMatchLabels: {}
1687
## PodSecurityPolicy configuration
1688
## ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/
1689
##
1690
podSecurityPolicy:
1691
## @param podSecurityPolicy.create Whether to create a PodSecurityPolicy. WARNING: PodSecurityPolicy is deprecated in Kubernetes v1.21 or later, unavailable in v1.25 or later
1692
##
1693
create: false
1694
## @param podSecurityPolicy.enabled Enable PodSecurityPolicy's RBAC rules
1695
##
1696
enabled: false
1697
## RBAC configuration
1698
##
1699
rbac:
1700
## @param rbac.create Specifies whether RBAC resources should be created
1701
##
1702
create: false
1703
## @param rbac.rules Custom RBAC rules to set
1704
## e.g:
1705
## rules:
1706
## - apiGroups:
1707
## - ""
1708
## resources:
1709
## - pods
1710
## verbs:
1711
## - get
1712
## - list
1713
##
1714
rules: []
1715
## ServiceAccount configuration
1716
##
1717
serviceAccount:
1718
## @param serviceAccount.create Specifies whether a ServiceAccount should be created
1719
##
1720
create: true
1721
## @param serviceAccount.name The name of the ServiceAccount to use.
1722
## If not set and create is true, a name is generated using the common.names.fullname template
1723
##
1724
name: ""
1725
## @param serviceAccount.automountServiceAccountToken Whether to auto mount the service account token
1726
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#use-the-default-service-account-to-access-the-api-server
1727
##
1728
automountServiceAccountToken: false
1729
## @param serviceAccount.annotations Additional custom annotations for the ServiceAccount
1730
##
1731
annotations: {}
1732
## Redis&reg; Pod Disruption Budget configuration
1733
## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
1734
## @param pdb DEPRECATED Please use `master.pdb` and `replica.pdb` values instead
1735
##
1736
pdb: {}
1737
## TLS configuration
1738
##
1739
tls:
1740
## @param tls.enabled Enable TLS traffic
1741
##
1742
enabled: false
1743
## @param tls.authClients Require clients to authenticate
1744
##
1745
authClients: true
1746
## @param tls.autoGenerated Enable autogenerated certificates
1747
##
1748
autoGenerated: false
1749
## @param tls.existingSecret The name of the existing secret that contains the TLS certificates
1750
##
1751
existingSecret: ""
1752
## @param tls.certificatesSecret DEPRECATED. Use existingSecret instead.
1753
##
1754
certificatesSecret: ""
1755
## @param tls.certFilename Certificate filename
1756
##
1757
certFilename: ""
1758
## @param tls.certKeyFilename Certificate Key filename
1759
##
1760
certKeyFilename: ""
1761
## @param tls.certCAFilename CA Certificate filename
1762
##
1763
certCAFilename: ""
1764
## @param tls.dhParamsFilename File containing DH params (in order to support DH based ciphers)
1765
##
1766
dhParamsFilename: ""
1767
## @section Metrics Parameters
1768
##
1769
metrics:
1770
## @param metrics.enabled Start a sidecar prometheus exporter to expose Redis&reg; metrics
1771
##
1772
enabled: false
1773
## Iamguarded Redis&reg; Exporter image
1774
## @param metrics.image.registry [default: REGISTRY_NAME] Redis&reg; Exporter image registry
1775
## @param metrics.image.repository [default: REPOSITORY_NAME/redis-exporter] Redis&reg; Exporter image repository
1776
## @skip metrics.image.tag Redis&reg; Exporter image tag (immutable tags are recommended)
1777
## @param metrics.image.digest Redis&reg; Exporter image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
1778
## @param metrics.image.pullPolicy Redis&reg; Exporter image pull policy
1779
## @param metrics.image.pullSecrets Redis&reg; Exporter image pull secrets
1780
##
1781
image:
1782
registry: cgr.dev
1783
repository: chainguard-private/prometheus-redis-exporter-iamguarded
1784
tag: 1.97.0
1785
digest: sha256:b4d1195f47bdcd9e620f1f2ff49248196db0b999980de1198f5d6e3708ba423e
1786
pullPolicy: IfNotPresent
1787
## Optionally specify an array of imagePullSecrets.
1788
## Secrets must be manually created in the namespace.
1789
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
1790
## e.g:
1791
## pullSecrets:
1792
## - myRegistryKeySecretName
1793
##
1794
pullSecrets: []
1795
## @param metrics.containerPorts.http Metrics HTTP container port
1796
##
1797
containerPorts:
1798
http: 9121
1799
## Configure extra options for Redis&reg; containers' liveness, readiness & startup probes
1800
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
1801
## @param metrics.startupProbe.enabled Enable startupProbe on Redis&reg; replicas nodes
1802
## @param metrics.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
1803
## @param metrics.startupProbe.periodSeconds Period seconds for startupProbe
1804
## @param metrics.startupProbe.timeoutSeconds Timeout seconds for startupProbe
1805
## @param metrics.startupProbe.failureThreshold Failure threshold for startupProbe
1806
## @param metrics.startupProbe.successThreshold Success threshold for startupProbe
1807
##
1808
startupProbe:
1809
enabled: false
1810
initialDelaySeconds: 10
1811
periodSeconds: 10
1812
timeoutSeconds: 5
1813
successThreshold: 1
1814
failureThreshold: 5
1815
## @param metrics.livenessProbe.enabled Enable livenessProbe on Redis&reg; replicas nodes
1816
## @param metrics.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
1817
## @param metrics.livenessProbe.periodSeconds Period seconds for livenessProbe
1818
## @param metrics.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
1819
## @param metrics.livenessProbe.failureThreshold Failure threshold for livenessProbe
1820
## @param metrics.livenessProbe.successThreshold Success threshold for livenessProbe
1821
##
1822
livenessProbe:
1823
enabled: true
1824
initialDelaySeconds: 10
1825
periodSeconds: 10
1826
timeoutSeconds: 5
1827
successThreshold: 1
1828
failureThreshold: 5
1829
## @param metrics.readinessProbe.enabled Enable readinessProbe on Redis&reg; replicas nodes
1830
## @param metrics.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
1831
## @param metrics.readinessProbe.periodSeconds Period seconds for readinessProbe
1832
## @param metrics.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
1833
## @param metrics.readinessProbe.failureThreshold Failure threshold for readinessProbe
1834
## @param metrics.readinessProbe.successThreshold Success threshold for readinessProbe
1835
##
1836
readinessProbe:
1837
enabled: true
1838
initialDelaySeconds: 5
1839
periodSeconds: 10
1840
timeoutSeconds: 1
1841
successThreshold: 1
1842
failureThreshold: 3
1843
## @param metrics.customStartupProbe Custom startupProbe that overrides the default one
1844
##
1845
customStartupProbe: {}
1846
## @param metrics.customLivenessProbe Custom livenessProbe that overrides the default one
1847
##
1848
customLivenessProbe: {}
1849
## @param metrics.customReadinessProbe Custom readinessProbe that overrides the default one
1850
##
1851
customReadinessProbe: {}
1852
## @param metrics.command Override default metrics container init command (useful when using custom images)
1853
##
1854
command: []
1855
## @param metrics.redisTargetHost A way to specify an alternative Redis&reg; hostname
1856
## Useful for certificate CN/SAN matching
1857
##
1858
redisTargetHost: "localhost"
1859
## @param metrics.extraArgs Extra arguments for Redis&reg; exporter, for example:
1860
## e.g.:
1861
## extraArgs:
1862
## check-keys: myKey,myOtherKey
1863
##
1864
extraArgs: {}
1865
## @param metrics.extraEnvVars Array with extra environment variables to add to Redis&reg; exporter
1866
## e.g:
1867
## extraEnvVars:
1868
## - name: FOO
1869
## value: "bar"
1870
##
1871
extraEnvVars: []
1872
## Configure Container Security Context
1873
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
1874
## @param metrics.containerSecurityContext.enabled Enabled Redis&reg; exporter containers' Security Context
1875
## @param metrics.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
1876
## @param metrics.containerSecurityContext.runAsUser Set Redis&reg; exporter containers' Security Context runAsUser
1877
## @param metrics.containerSecurityContext.runAsGroup Set Redis&reg; exporter containers' Security Context runAsGroup
1878
## @param metrics.containerSecurityContext.runAsNonRoot Set Redis&reg; exporter containers' Security Context runAsNonRoot
1879
## @param metrics.containerSecurityContext.allowPrivilegeEscalation Set Redis&reg; exporter containers' Security Context allowPrivilegeEscalation
1880
## @param metrics.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context read-only root filesystem
1881
## @param metrics.containerSecurityContext.seccompProfile.type Set Redis&reg; exporter containers' Security Context seccompProfile
1882
## @param metrics.containerSecurityContext.capabilities.drop Set Redis&reg; exporter containers' Security Context capabilities to drop
1883
##
1884
containerSecurityContext:
1885
enabled: true
1886
seLinuxOptions: {}
1887
runAsUser: 1001
1888
runAsGroup: 1001
1889
runAsNonRoot: true
1890
allowPrivilegeEscalation: false
1891
readOnlyRootFilesystem: true
1892
seccompProfile:
1893
type: RuntimeDefault
1894
capabilities:
1895
drop: ["ALL"]
1896
## @param metrics.extraVolumes Optionally specify extra list of additional volumes for the Redis&reg; metrics sidecar
1897
##
1898
extraVolumes: []
1899
## @param metrics.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the Redis&reg; metrics sidecar
1900
##
1901
extraVolumeMounts: []
1902
## Redis&reg; exporter resource requests and limits
1903
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
1904
## @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).
1905
##
1906
resourcesPreset: "nano"
1907
## @param metrics.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
1908
## Example:
1909
## resources:
1910
## requests:
1911
## cpu: 2
1912
## memory: 512Mi
1913
## limits:
1914
## cpu: 3
1915
## memory: 1024Mi
1916
##
1917
resources: {}
1918
## @param metrics.podLabels Extra labels for Redis&reg; exporter pods
1919
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
1920
##
1921
podLabels: {}
1922
## @param metrics.podAnnotations [object] Annotations for Redis&reg; exporter pods
1923
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
1924
##
1925
podAnnotations:
1926
prometheus.io/scrape: "true"
1927
prometheus.io/port: "9121"
1928
## Redis&reg; exporter service parameters
1929
##
1930
service:
1931
## @param metrics.service.enabled Create Service resource(s) for scraping metrics using PrometheusOperator ServiceMonitor, can be disabled when using a PodMonitor
1932
##
1933
enabled: true
1934
## @param metrics.service.type Redis&reg; exporter service type
1935
##
1936
type: ClusterIP
1937
## @param metrics.service.ports.http Redis&reg; exporter service port
1938
##
1939
ports:
1940
http: 9121
1941
## @param metrics.service.externalTrafficPolicy Redis&reg; exporter service external traffic policy
1942
## ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
1943
##
1944
externalTrafficPolicy: Cluster
1945
## @param metrics.service.extraPorts Extra ports to expose (normally used with the `sidecar` value)
1946
##
1947
extraPorts: []
1948
## @param metrics.service.loadBalancerIP Redis&reg; exporter service Load Balancer IP
1949
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
1950
##
1951
loadBalancerIP: ""
1952
## @param metrics.service.loadBalancerClass exporter service Load Balancer class if service type is `LoadBalancer` (optional, cloud specific)
1953
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
1954
##
1955
loadBalancerClass: ""
1956
## @param metrics.service.loadBalancerSourceRanges Redis&reg; exporter service Load Balancer sources
1957
## https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
1958
## e.g.
1959
## loadBalancerSourceRanges:
1960
## - 10.10.10.0/24
1961
##
1962
loadBalancerSourceRanges: []
1963
## @param metrics.service.annotations Additional custom annotations for Redis&reg; exporter service
1964
##
1965
annotations: {}
1966
## @param metrics.service.clusterIP Redis&reg; exporter service Cluster IP
1967
##
1968
clusterIP: ""
1969
## Prometheus Service Monitor
1970
## ref: https://github.com/coreos/prometheus-operator
1971
## https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
1972
##
1973
serviceMonitor:
1974
## @param metrics.serviceMonitor.port the service port to scrape metrics from
1975
##
1976
port: http-metrics
1977
## @param metrics.serviceMonitor.enabled Create ServiceMonitor resource(s) for scraping metrics using PrometheusOperator
1978
##
1979
enabled: false
1980
## @param metrics.serviceMonitor.namespace The namespace in which the ServiceMonitor will be created
1981
##
1982
namespace: ""
1983
## @param metrics.serviceMonitor.interval The interval at which metrics should be scraped
1984
##
1985
interval: 30s
1986
## @param metrics.serviceMonitor.scrapeTimeout The timeout after which the scrape is ended
1987
##
1988
scrapeTimeout: ""
1989
## @param metrics.serviceMonitor.relabelings Metrics RelabelConfigs to apply to samples before scraping.
1990
##
1991
relabelings: []
1992
## @skip metrics.serviceMonitor.relabellings DEPRECATED: Use `metrics.serviceMonitor.relabelings` instead.
1993
##
1994
relabellings: []
1995
## @param metrics.serviceMonitor.metricRelabelings Metrics RelabelConfigs to apply to samples before ingestion.
1996
##
1997
metricRelabelings: []
1998
## @param metrics.serviceMonitor.honorLabels Specify honorLabels parameter to add the scrape endpoint
1999
##
2000
honorLabels: false
2001
## @param metrics.serviceMonitor.additionalLabels Additional labels that can be used so ServiceMonitor resource(s) can be discovered by Prometheus
2002
##
2003
additionalLabels: {}
2004
## @param metrics.serviceMonitor.podTargetLabels Labels from the Kubernetes pod to be transferred to the created metrics
2005
##
2006
podTargetLabels: []
2007
## @param metrics.serviceMonitor.sampleLimit Limit of how many samples should be scraped from every Pod
2008
##
2009
sampleLimit: false
2010
## @param metrics.serviceMonitor.targetLimit Limit of how many targets should be scraped
2011
##
2012
targetLimit: false
2013
## @param metrics.serviceMonitor.additionalEndpoints Additional endpoints to scrape (e.g sentinel)
2014
##
2015
additionalEndpoints: []
2016
# uncomment in order to scrape sentinel metrics, also to in order distinguish between Sentinel and Redis container metrics
2017
# add metricRelabelings with label like app=redis to main redis pod-monitor port
2018
# - interval: "30s"
2019
# path: "/scrape"
2020
# port: "http-metrics"
2021
# params:
2022
# target: ["localhost:26379"]
2023
# metricRelabelings:
2024
# - targetLabel: "app"
2025
# replacement: "sentinel"
2026
## Prometheus Pod Monitor
2027
## ref: https://github.com/coreos/prometheus-operator
2028
## https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#podmonitor
2029
##
2030
podMonitor:
2031
## @param metrics.podMonitor.port the pod port to scrape metrics from
2032
##
2033
port: metrics
2034
## @param metrics.podMonitor.enabled Create PodMonitor resource(s) for scraping metrics using PrometheusOperator
2035
##
2036
enabled: false
2037
## @param metrics.podMonitor.namespace The namespace in which the PodMonitor will be created
2038
##
2039
namespace: ""
2040
## @param metrics.podMonitor.interval The interval at which metrics should be scraped
2041
##
2042
interval: 30s
2043
## @param metrics.podMonitor.scrapeTimeout The timeout after which the scrape is ended
2044
##
2045
scrapeTimeout: ""
2046
## @param metrics.podMonitor.relabelings Metrics RelabelConfigs to apply to samples before scraping.
2047
##
2048
relabelings: []
2049
## @skip metrics.podMonitor.relabellings DEPRECATED: Use `metrics.podMonitor.relabelings` instead.
2050
##
2051
relabellings: []
2052
## @param metrics.podMonitor.metricRelabelings Metrics RelabelConfigs to apply to samples before ingestion.
2053
##
2054
metricRelabelings: []
2055
# - targetLabel: "app"
2056
# replacement: "redis"
2057
## @param metrics.podMonitor.honorLabels Specify honorLabels parameter to add the scrape endpoint
2058
##
2059
honorLabels: false
2060
## @param metrics.podMonitor.additionalLabels Additional labels that can be used so PodMonitor resource(s) can be discovered by Prometheus
2061
##
2062
additionalLabels: {}
2063
## @param metrics.podMonitor.podTargetLabels Labels from the Kubernetes pod to be transferred to the created metrics
2064
##
2065
podTargetLabels: []
2066
## @param metrics.podMonitor.sampleLimit Limit of how many samples should be scraped from every Pod
2067
##
2068
sampleLimit: false
2069
## @param metrics.podMonitor.targetLimit Limit of how many targets should be scraped
2070
##
2071
targetLimit: false
2072
## @param metrics.podMonitor.additionalEndpoints Additional endpoints to scrape (e.g sentinel)
2073
##
2074
additionalEndpoints: []
2075
# - interval: "30s"
2076
# path: "/scrape"
2077
# port: "metrics"
2078
# params:
2079
# target: ["localhost:26379"]
2080
# metricRelabelings:
2081
# - targetLabel: "app"
2082
# replacement: "sentinel"
2083
## Custom PrometheusRule to be defined
2084
## ref: https://github.com/coreos/prometheus-operator#customresourcedefinitions
2085
##
2086
prometheusRule:
2087
## @param metrics.prometheusRule.enabled Create a custom prometheusRule Resource for scraping metrics using PrometheusOperator
2088
##
2089
enabled: false
2090
## @param metrics.prometheusRule.namespace The namespace in which the prometheusRule will be created
2091
##
2092
namespace: ""
2093
## @param metrics.prometheusRule.additionalLabels Additional labels for the prometheusRule
2094
##
2095
additionalLabels: {}
2096
## @param metrics.prometheusRule.rules Custom Prometheus rules
2097
## e.g:
2098
## rules:
2099
## - alert: RedisDown
2100
## expr: redis_up{service="{{ template "common.names.fullname" . }}-metrics"} == 0
2101
## for: 2m
2102
## labels:
2103
## severity: error
2104
## annotations:
2105
## summary: Redis&reg; instance {{ "{{ $labels.instance }}" }} down
2106
## description: Redis&reg; instance {{ "{{ $labels.instance }}" }} is down
2107
## - alert: RedisMemoryHigh
2108
## expr: >
2109
## redis_memory_used_bytes{service="{{ template "common.names.fullname" . }}-metrics"} * 100
2110
## /
2111
## redis_memory_max_bytes{service="{{ template "common.names.fullname" . }}-metrics"}
2112
## > 90
2113
## for: 2m
2114
## labels:
2115
## severity: error
2116
## annotations:
2117
## summary: Redis&reg; instance {{ "{{ $labels.instance }}" }} is using too much memory
2118
## description: |
2119
## Redis&reg; instance {{ "{{ $labels.instance }}" }} is using {{ "{{ $value }}" }}% of its available memory.
2120
## - alert: RedisKeyEviction
2121
## expr: |
2122
## increase(redis_evicted_keys_total{service="{{ template "common.names.fullname" . }}-metrics"}[5m]) > 0
2123
## for: 1s
2124
## labels:
2125
## severity: error
2126
## annotations:
2127
## summary: Redis&reg; instance {{ "{{ $labels.instance }}" }} has evicted keys
2128
## description: |
2129
## Redis&reg; instance {{ "{{ $labels.instance }}" }} has evicted {{ "{{ $value }}" }} keys in the last 5 minutes.
2130
##
2131
rules: []
2132
## @section Init Container Parameters
2133
##
2134
2135
## 'volumePermissions' init container parameters
2136
## Changes the owner and group of the persistent volume mount point to runAsUser:fsGroup values
2137
## based on the *podSecurityContext/*containerSecurityContext parameters
2138
##
2139
volumePermissions:
2140
## @param volumePermissions.enabled Enable init container that changes the owner/group of the PV mount point to `runAsUser:fsGroup`
2141
##
2142
enabled: false
2143
## OS Shell + Utility image
2144
## @param volumePermissions.image.registry [default: REGISTRY_NAME] OS Shell + Utility image registry
2145
## @param volumePermissions.image.repository [default: REPOSITORY_NAME/os-shell] OS Shell + Utility image repository
2146
## @skip volumePermissions.image.tag OS Shell + Utility image tag (immutable tags are recommended)
2147
## @param volumePermissions.image.digest OS Shell + Utility image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
2148
## @param volumePermissions.image.pullPolicy OS Shell + Utility image pull policy
2149
## @param volumePermissions.image.pullSecrets OS Shell + Utility image pull secrets
2150
##
2151
image:
2152
registry: cgr.dev
2153
repository: chainguard-private/os-shell-iamguarded
2154
tag: 1.0.0
2155
digest: sha256:7a2136e594a94e5c31b8b541ab6356eaa3c736fff9e1d4b88b8df821f0d2af75
2156
pullPolicy: IfNotPresent
2157
## Optionally specify an array of imagePullSecrets.
2158
## Secrets must be manually created in the namespace.
2159
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
2160
## e.g:
2161
## pullSecrets:
2162
## - myRegistryKeySecretName
2163
##
2164
pullSecrets: []
2165
## Init container's resource requests and limits
2166
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
2167
## @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).
2168
##
2169
resourcesPreset: "nano"
2170
## @param volumePermissions.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
2171
## Example:
2172
## resources:
2173
## requests:
2174
## cpu: 2
2175
## memory: 512Mi
2176
## limits:
2177
## cpu: 3
2178
## memory: 1024Mi
2179
##
2180
resources: {}
2181
## Init container Container Security Context
2182
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
2183
## @param volumePermissions.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
2184
## @param volumePermissions.containerSecurityContext.runAsUser Set init container's Security Context runAsUser
2185
## NOTE: when runAsUser is set to special value "auto", init container will try to chown the
2186
## data folder to auto-determined user&group, using commands: `id -u`:`id -G | cut -d" " -f2`
2187
## "auto" is especially useful for OpenShift which has scc with dynamic user ids (and 0 is not allowed)
2188
##
2189
containerSecurityContext:
2190
seLinuxOptions: {}
2191
runAsUser: 0
2192
## @param volumePermissions.extraEnvVars Array with extra environment variables to add to volume permissions init container.
2193
## e.g:
2194
## extraEnvVars:
2195
## - name: FOO
2196
## value: "bar"
2197
##
2198
extraEnvVars: []
2199
## Kubectl InitContainer
2200
## used by Sentinel to update the isMaster label on the Redis(TM) pods
2201
##
2202
kubectl:
2203
## Iamguarded Kubectl image version
2204
## @param kubectl.image.registry [default: REGISTRY_NAME] Kubectl image registry
2205
## @param kubectl.image.repository [default: REPOSITORY_NAME/kubectl] Kubectl image repository
2206
## @skip kubectl.image.tag Kubectl image tag (immutable tags are recommended), by default, using the current version
2207
## @param kubectl.image.digest Kubectl image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
2208
## @param kubectl.image.pullPolicy Kubectl image pull policy
2209
## @param kubectl.image.pullSecrets Kubectl pull secrets
2210
##
2211
image:
2212
registry: cgr.dev
2213
repository: chainguard-private/kubectl-iamguarded
2214
tag: 1.37.2
2215
digest: sha256:6b824e76520e21f493d705e851a878413d83bf9e08575dd9ef720b56923ceef4
2216
## Specify a imagePullPolicy
2217
## ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
2218
##
2219
pullPolicy: IfNotPresent
2220
## Optionally specify an array of imagePullSecrets.
2221
## Secrets must be manually created in the namespace.
2222
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
2223
## e.g:
2224
## pullSecrets:
2225
## - myRegistryKeySecretName
2226
##
2227
pullSecrets: []
2228
## @param kubectl.command kubectl command to execute
2229
##
2230
command: ["/opt/iamguarded/scripts/kubectl-scripts/update-master-label.sh"]
2231
## Configure Container Security Context
2232
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
2233
## @param kubectl.containerSecurityContext.enabled Enabled kubectl containers' Security Context
2234
## @param kubectl.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
2235
## @param kubectl.containerSecurityContext.runAsUser Set kubectl containers' Security Context runAsUser
2236
## @param kubectl.containerSecurityContext.runAsGroup Set kubectl containers' Security Context runAsGroup
2237
## @param kubectl.containerSecurityContext.runAsNonRoot Set kubectl containers' Security Context runAsNonRoot
2238
## @param kubectl.containerSecurityContext.allowPrivilegeEscalation Set kubectl containers' Security Context allowPrivilegeEscalation
2239
## @param kubectl.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context read-only root filesystem
2240
## @param kubectl.containerSecurityContext.seccompProfile.type Set kubectl containers' Security Context seccompProfile
2241
## @param kubectl.containerSecurityContext.capabilities.drop Set kubectl containers' Security Context capabilities to drop
2242
##
2243
containerSecurityContext:
2244
enabled: true
2245
seLinuxOptions: {}
2246
runAsUser: 1001
2247
runAsGroup: 1001
2248
runAsNonRoot: true
2249
allowPrivilegeEscalation: false
2250
readOnlyRootFilesystem: true
2251
seccompProfile:
2252
type: RuntimeDefault
2253
capabilities:
2254
drop: ["ALL"]
2255
## Iamguarded Kubectl resource requests and limits
2256
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
2257
## @param kubectl.resources.limits The resources limits for the kubectl containers
2258
## @param kubectl.resources.requests The requested resources for the kubectl containers
2259
##
2260
resources:
2261
limits: {}
2262
requests: {}
2263
## init-sysctl container parameters
2264
## used to perform sysctl operation to modify Kernel settings (needed sometimes to avoid warnings)
2265
##
2266
sysctl:
2267
## @param sysctl.enabled Enable init container to modify Kernel settings
2268
##
2269
enabled: false
2270
## OS Shell + Utility image
2271
## @param sysctl.image.registry [default: REGISTRY_NAME] OS Shell + Utility image registry
2272
## @param sysctl.image.repository [default: REPOSITORY_NAME/os-shell] OS Shell + Utility image repository
2273
## @skip sysctl.image.tag OS Shell + Utility image tag (immutable tags are recommended)
2274
## @param sysctl.image.digest OS Shell + Utility image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
2275
## @param sysctl.image.pullPolicy OS Shell + Utility image pull policy
2276
## @param sysctl.image.pullSecrets OS Shell + Utility image pull secrets
2277
##
2278
image:
2279
registry: cgr.dev
2280
repository: chainguard-private/os-shell-iamguarded
2281
tag: 1.0.0
2282
digest: sha256:7a2136e594a94e5c31b8b541ab6356eaa3c736fff9e1d4b88b8df821f0d2af75
2283
pullPolicy: IfNotPresent
2284
## Optionally specify an array of imagePullSecrets.
2285
## Secrets must be manually created in the namespace.
2286
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
2287
## e.g:
2288
## pullSecrets:
2289
## - myRegistryKeySecretName
2290
##
2291
pullSecrets: []
2292
## @param sysctl.command Override default init-sysctl container command (useful when using custom images)
2293
##
2294
command: []
2295
## @param sysctl.mountHostSys Mount the host `/sys` folder to `/host-sys`
2296
##
2297
mountHostSys: false
2298
## Init container's resource requests and limits
2299
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
2300
## @param sysctl.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if sysctl.resources is set (sysctl.resources is recommended for production).
2301
##
2302
resourcesPreset: "nano"
2303
## @param sysctl.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
2304
## Example:
2305
## resources:
2306
## requests:
2307
## cpu: 2
2308
## memory: 512Mi
2309
## limits:
2310
## cpu: 3
2311
## memory: 1024Mi
2312
##
2313
resources: {}
2314
## @section useExternalDNS Parameters
2315
##
2316
## @param useExternalDNS.enabled Enable various syntax that would enable external-dns to work. Note this requires a working installation of `external-dns` to be usable.
2317
## @param useExternalDNS.additionalAnnotations Extra annotations to be utilized when `external-dns` is enabled.
2318
## @param useExternalDNS.annotationKey The annotation key utilized when `external-dns` is enabled. Setting this to `false` will disable annotations.
2319
## @param useExternalDNS.suffix The DNS suffix utilized when `external-dns` is enabled. Note that we prepend the suffix with the full name of the release.
2320
##
2321
useExternalDNS:
2322
enabled: false
2323
suffix: ""
2324
annotationKey: external-dns.alpha.kubernetes.io/
2325
additionalAnnotations: {}
2326

The trusted source for open source

Talk to an expert
PrivacyTerms

Product

Chainguard ContainersChainguard LibrariesChainguard VMsChainguard OS PackagesChainguard ActionsChainguard Agent SkillsIntegrationsPricing
© 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.