values.yaml 100 KB

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