diff --git a/charts/redis-ha/Chart.yaml b/charts/redis-ha/Chart.yaml index 3b37e88..17de3fe 100644 --- a/charts/redis-ha/Chart.yaml +++ b/charts/redis-ha/Chart.yaml @@ -5,7 +5,7 @@ keywords: - redis - keyvalue - database -version: 4.22.4 +version: 4.23.4 appVersion: 7.0.4 description: This Helm chart provides a highly available Redis implementation with a master/slave configuration and uses Sentinel sidecars for failover management icon: https://upload.wikimedia.org/wikipedia/en/thumb/6/6b/Redis_Logo.svg/1200px-Redis_Logo.svg.png diff --git a/charts/redis-ha/README.md b/charts/redis-ha/README.md index 4d26352..9d01994 100644 --- a/charts/redis-ha/README.md +++ b/charts/redis-ha/README.md @@ -90,7 +90,8 @@ The following table lists the configurable parameters of the Redis chart and the | `redis.readinessProbe.failureThreshold` | Failure threshold for readiness probe | `5` | | `redis.masterGroupName` | Redis convention for naming the cluster group: must match `^[\\w-\\.]+$` and can be templated | `mymaster` | | `redis.disableCommands` | Array with commands to disable | `["FLUSHDB","FLUSHALL"]` | -| `redis.config` | Any valid redis config options in this section will be applied to each server (see below) | see values.yaml | +| `redis.config` | Any valid redis config options in this section will be applied to each server (expect for loadmodule(s)) (see below) | see values.yaml | +| `redis.config.modules` | When non-empty list is provided will generate loadmodule configurations, The list should contain a list on `.so` files should be present is image or provided by extra volumes | see values.yaml | | `redis.customConfig` | Allows for custom redis.conf files to be applied. If this is used then `redis.config` is ignored |``| | `redis.resources` | CPU/Memory for master/slave nodes resource requests/limits | `{}` | | `redis.lifecycle` | Container Lifecycle Hooks for redis container | see values.yaml | @@ -161,15 +162,15 @@ The following table lists the configurable parameters of the Redis chart and the | `haproxy.enabled` | Enabled HAProxy LoadBalancing/Proxy | `false` | | `haproxy.replicas` | Number of HAProxy instances | `3` | | `haproxy.servicePort` | Modify HAProxy service port | `6379` | -| `haproxy.containerPort` | Modify HAProxy deployment container port | `6379` +| `haproxy.containerPort` | Modify HAProxy deployment container port | `6379` | `haproxy.image.repository`| HAProxy Image Repository | `haproxy` | | `haproxy.image.tag` | HAProxy Image Tag | `2.4.2` | | `haproxy.image.pullPolicy`| HAProxy Image PullPolicy | `IfNotPresent` | | `haproxy.imagePullSecrets`| Reference to one or more secrets to be used when pulling haproxy images | [] | | `haproxy.tls.enabled` | If "true" this will enable TLS termination on haproxy | `false` -| `haproxy.tls.secretName` | Secret containing the .pem file | `""` +| `haproxy.tls.secretName` | Secret containing the .pem file | `""` | `haproxy.tls.certMountPath` | Path to mount the secret that contains the certificates. haproxy | `false` -| `haproxy.tls.secretName` | Secret containing the .pem file | `""` +| `haproxy.tls.secretName` | Secret containing the .pem file | `""` | `haproxy.annotations` | HAProxy template annotations | `{}` | | `haproxy.customConfig` | Allows for custom config-haproxy.cfg file to be applied. If this is used then default config will be overwriten |``| | `haproxy.extraConfig` | Allows to place any additional configuration section to add to the default config-haproxy.cfg |``| @@ -178,7 +179,7 @@ The following table lists the configurable parameters of the Redis chart and the | `haproxy.labels` | Labels for the HAProxy pod | `{}` | | `haproxy.service.type` | HAProxy service type "ClusterIP", "LoadBalancer" or "NodePort" | `ClusterIP` | | `haproxy.service.nodePort` | HAProxy service nodePort value (haproxy.service.type must be NodePort) | not set | -| `haproxy.image.serviceAccountName`| HAProxy serviceAccountName | `default` +| `haproxy.image.serviceAccountName`| HAProxy serviceAccountName | `default` | `haproxy.service.externalTrafficPolicy`| HAProxy service externalTrafficPolicy value (haproxy.service.type must be LoadBalancer) | not set | | `haproxy.service.annotations` | HAProxy service annotations | `{}` | | `haproxy.service.labels` | HAProxy service labels | `{}` | @@ -384,9 +385,9 @@ If any of the checks above fails - the redis server reinitialisation happens (it # Change Log ## 4.14.9 - ** POTENTIAL BREAKING CHANGE. ** -Introduced the ability to change the Haproxy Deployment container pod +Introduced the ability to change the Haproxy Deployment container pod - Container port in redis-haproxy-deployment.yam has been changed. Was **redis.port** To **haproxy.containerPort**. Default value is 6379. -- Port in redis-haproxy-service.yaml has been changed. Was **redis.port** To **haproxy.servicePort**. Default value is 6379. +- Port in redis-haproxy-service.yaml has been changed. Was **redis.port** To **haproxy.servicePort**. Default value is 6379. ## 4.21.0 - BREAKING CHANGES (Kubernetes Deprecation) This version introduced the deprecation of the PSP and subsequently added fields to the securityContexts that were introduced in Kubernetes v1.19: diff --git a/charts/redis-ha/templates/_configs.tpl b/charts/redis-ha/templates/_configs.tpl index 7cfb9ac..6157de1 100644 --- a/charts/redis-ha/templates/_configs.tpl +++ b/charts/redis-ha/templates/_configs.tpl @@ -28,6 +28,9 @@ {{- end }} {{- range $key, $value := .Values.redis.config }} {{ $key }} {{ $value }} + {{- range $v := .Values.redis.modules }} + loadmodule {{ $v }} + {{- end }} {{- end }} {{- if .Values.auth }} requirepass replace-default-auth diff --git a/charts/redis-ha/values.yaml b/charts/redis-ha/values.yaml index a5e755b..e763ed3 100644 --- a/charts/redis-ha/values.yaml +++ b/charts/redis-ha/values.yaml @@ -277,6 +277,9 @@ redis: repl-diskless-sync: "yes" rdbcompression: "yes" rdbchecksum: "yes" + # When non-empty list is provided will generate loadmodule configurations + # The list should contain a list on `.so` files should be present is image or provided by extra volumes + modules: [] ## Custom redis.conf files used to override default settings. If this file is ## specified then the redis.config above will be ignored.