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:

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

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.