diff --git a/charts/redis-ha/Chart.yaml b/charts/redis-ha/Chart.yaml index e3a6060c..2d2c9fc0 100644 --- a/charts/redis-ha/Chart.yaml +++ b/charts/redis-ha/Chart.yaml @@ -5,7 +5,7 @@ keywords: - redis - keyvalue - database -version: 4.26.2 +version: 4.26.3 appVersion: 7.2.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 364ffce5..c1a76946 100644 --- a/charts/redis-ha/README.md +++ b/charts/redis-ha/README.md @@ -90,7 +90,7 @@ 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, For multi-value configs use list instead of string (for example loadmodule) (see below) | 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 | @@ -162,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 |``| @@ -180,6 +180,7 @@ The following table lists the configurable parameters of the Redis chart and the | `haproxy.serviceAccountName`| HAProxy serviceAccountName | `default` | `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.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 | `{}` | @@ -395,9 +396,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/ci/multi-value-configs-values.yaml b/charts/redis-ha/ci/multi-value-configs-values.yaml new file mode 100644 index 00000000..487f1cec --- /dev/null +++ b/charts/redis-ha/ci/multi-value-configs-values.yaml @@ -0,0 +1,14 @@ +--- +## Testing if muti-valued config is working or not +redis: + config: + min-replicas-to-write: 1 + min-replicas-max-lag: 5 + maxmemory: "0" + maxmemory-policy: "volatile-lru" + save: + - "900 1" + - "300 10" + repl-diskless-sync: "yes" + rdbcompression: "yes" + rdbchecksum: "yes" diff --git a/charts/redis-ha/templates/_configs.tpl b/charts/redis-ha/templates/_configs.tpl index b68f7d04..459e78ae 100644 --- a/charts/redis-ha/templates/_configs.tpl +++ b/charts/redis-ha/templates/_configs.tpl @@ -27,7 +27,13 @@ {{- end }} {{- end }} {{- range $key, $value := .Values.redis.config }} + {{- if kindIs "slice" $value }} + {{- range $value }} + {{ $key }} {{ . }} + {{- end }} + {{- else }} {{ $key }} {{ $value }} + {{- end }} {{- end }} {{- if .Values.auth }} requirepass replace-default-auth