values.yaml 100 KB

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