UNCLASSIFIED - NO CUI

Skip to content

Commits on Source 6

......@@ -3,6 +3,12 @@
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
---
## [20.13.0-bb.0] - 2025-04-16
### Changed
- Changed registry1.dso.mil/ironbank/bitnami/analytics/redis-exporter (source) v1.69.0 -> v1.70.0
- Updated Chart version to 20.13.0
## [20.11.4-bb.1] - 2025-03-28
### Changed
......
* @michaelmartin @benjamin.starks @kershaw.jacob @dchen @pchristiel @chris.oconnell @chukwuka.c.akagbusi @samvongsay @justinguidry11
\ No newline at end of file
* @kershaw.jacob @benjamin.starks @dchen @michaelmartin @chukwuka.c.akagbusi @pchristiel @justinguidry11 @chris.oconnell
\ No newline at end of file
<!-- Warning: Do not manually edit this file. See notes on gluon + helm-docs at the end of this file for more information. -->
# redis
![Version: 20.11.4-bb.1](https://img.shields.io/badge/Version-20.11.4--bb.1-informational?style=flat-square) ![AppVersion: 7.4.2](https://img.shields.io/badge/AppVersion-7.4.2-informational?style=flat-square) ![Maintenance Track: bb_maintained](https://img.shields.io/badge/Maintenance_Track-bb_maintained-yellow?style=flat-square)
![Version: 20.13.0-bb.0](https://img.shields.io/badge/Version-20.13.0--bb.0-informational?style=flat-square) ![AppVersion: 7.4.2](https://img.shields.io/badge/AppVersion-7.4.2-informational?style=flat-square) ![Maintenance Track: bb_maintained](https://img.shields.io/badge/Maintenance_Track-bb_maintained-yellow?style=flat-square)
Redis(R) is an open source, advanced key-value store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets and sorted sets.
......@@ -108,6 +108,7 @@ helm install redis chart/
| auth.acl.enabled | bool | `false` | |
| auth.acl.sentinel | bool | `false` | |
| auth.acl.users | list | `[]` | |
| auth.acl.userSecret | string | `""` | |
| commonConfiguration | string | `"# Enable AOF https://redis.io/topics/persistence#append-only-file\nappendonly yes\n# Disable RDB persistence, AOF persistence already enabled.\nsave \"\""` | |
| existingConfigmap | string | `""` | |
| master.count | int | `1` | |
......@@ -364,7 +365,7 @@ helm install redis chart/
| sentinel.enabled | bool | `false` | |
| sentinel.image.registry | string | `"docker.io"` | |
| sentinel.image.repository | string | `"bitnami/redis-sentinel"` | |
| sentinel.image.tag | string | `"7.4.2-debian-12-r6"` | |
| sentinel.image.tag | string | `"7.4.2-debian-12-r11"` | |
| sentinel.image.digest | string | `""` | |
| sentinel.image.pullPolicy | string | `"IfNotPresent"` | |
| sentinel.image.pullSecrets | list | `[]` | |
......@@ -515,7 +516,7 @@ helm install redis chart/
| metrics.enabled | bool | `false` | |
| metrics.image.registry | string | `"registry1.dso.mil"` | |
| metrics.image.repository | string | `"ironbank/bitnami/analytics/redis-exporter"` | |
| metrics.image.tag | string | `"v1.69.0"` | |
| metrics.image.tag | string | `"v1.70.0"` | |
| metrics.image.digest | string | `""` | |
| metrics.image.pullPolicy | string | `"IfNotPresent"` | |
| metrics.image.pullSecrets | list | `[]` | |
......
# Changelog
## 20.11.4 (2025-03-22)
## 20.13.0 (2025-04-22)
* [bitnami/redis] Release 20.11.4 ([#32561](https://github.com/bitnami/charts/pull/32561))
* [bitnami/redis] feat: :sparkles: Disable empty-dirs when readOnlyRootFS is disabled ([#33108](https://github.com/bitnami/charts/pull/33108))
## <small>20.12.2 (2025-04-21)</small>
* [bitnami/redis] fix 32573 - Always announce hostname independent of external service configuration ( ([282ae5c](https://github.com/bitnami/charts/commit/282ae5c01b12f4a0ad72e6cd0463f5f941244f3d)), closes [#33024](https://github.com/bitnami/charts/issues/33024)
## <small>20.12.1 (2025-04-16)</small>
* [bitnami/redis] Fix sentinel masterService extraPorts not rendered (#32961) ([cbc134f](https://github.com/bitnami/charts/commit/cbc134f26b1f146e2a482a27db72d98c1d1b344e)), closes [#32961](https://github.com/bitnami/charts/issues/32961)
## 20.12.0 (2025-04-15)
* [bitnami/redis] Support retrieving Redis ACL user passwords from Kubernetes Secrets (#32434) ([e4fd127](https://github.com/bitnami/charts/commit/e4fd1274291da70e85b0891c9f1a985bd5dc7e0e)), closes [#32434](https://github.com/bitnami/charts/issues/32434)
## <small>20.11.5 (2025-04-09)</small>
* [bitnami/redis] Handle SIGTERM in `kubectl-shared` container (#32085) ([dad454d](https://github.com/bitnami/charts/commit/dad454d7912fa3328dd1ba528d3be370d6c00342)), closes [#32085](https://github.com/bitnami/charts/issues/32085)
## <small>20.11.4 (2025-03-22)</small>
* [bitnami/*] Add tanzuCategory annotation (#32409) ([a8fba5c](https://github.com/bitnami/charts/commit/a8fba5cb01f6f4464ca7f69c50b0fbe97d837a95)), closes [#32409](https://github.com/bitnami/charts/issues/32409)
* [bitnami/redis] Release 20.11.4 (#32561) ([f40ecff](https://github.com/bitnami/charts/commit/f40ecff063a597f93d251613746c3d52c11c638d)), closes [#32561](https://github.com/bitnami/charts/issues/32561)
## <small>20.11.3 (2025-03-10)</small>
......
......@@ -11,7 +11,7 @@ annotations:
- name: redis
image: registry1.dso.mil/ironbank/bitnami/redis:7.4.2
- name: exporter
image: registry1.dso.mil/ironbank/bitnami/analytics/redis-exporter:v1.69.0
image: registry1.dso.mil/ironbank/bitnami/analytics/redis-exporter:v1.70.0
tanzuCategory: service
apiVersion: v2
appVersion: 7.4.2
......@@ -34,4 +34,4 @@ maintainers:
name: redis
sources:
- https://github.com/bitnami/charts/tree/main/bitnami/redis
version: 20.11.4-bb.1
version: 20.13.0-bb.0
......@@ -5,7 +5,7 @@ metadata:
upstream:
type: git
git:
commit: f40ecff063a597f93d251613746c3d52c11c638d
commit: ed03d4d35176239e124e5fd7ed26f92eb49db9ba
repo: https://github.com/bitnami/charts
directory: bitnami/redis
ref: redis/20.11.4
ref: redis/20.13.0
......@@ -504,7 +504,7 @@ helm install my-release --set master.persistence.existingClaim=PVC_NAME oci://RE
### Redis&reg; common configuration parameters
| Name | Description | Value |
| -------------------------------- | ------------------------------------------------------------------------------------- | ------------- |
| -------------------------------- | ----------------------------------------------------------------------------------------- | ------------- |
| `architecture` | Redis&reg; architecture. Allowed values: `standalone` or `replication` | `replication` |
| `auth.enabled` | Enable password authentication | `true` |
| `auth.sentinel` | Enable authentication on sentinels too | `true` |
......@@ -516,6 +516,7 @@ helm install my-release --set master.persistence.existingClaim=PVC_NAME oci://RE
| `auth.acl.enabled` | Enables the support of the Redis ACL system | `false` |
| `auth.acl.sentinel` | Enables the support of the Redis ACL system for Sentinel Nodes | `false` |
| `auth.acl.users` | A list of the configured users in the Redis ACL system | `[]` |
| `auth.acl.userSecret` | Name of the Secret, containing user credentials for ACL users. Keys must match usernames. | `""` |
| `commonConfiguration` | Common configuration to be added into the ConfigMap | `""` |
| `existingConfigmap` | The name of an existing ConfigMap with your custom configuration for Redis&reg; nodes | `""` |
......
......@@ -231,6 +231,19 @@ Return Redis&reg; password
{{- end }}
{{- end }}
{{/*
Returns the secret value if found or an empty string otherwise
Used for fetching Redis ACL user passwords from Kubernetes Secrets
*/}}
{{- define "common.secrets.get" -}}
{{- $secret := (lookup "v1" "Secret" .context.Release.Namespace .secret) -}}
{{- if and $secret (index $secret.data .key) -}}
{{- index $secret.data .key | b64dec -}}
{{- else -}}
{{- "" -}}
{{- end }}
{{- end }}
{{/* Check if there are rolling tags in the images */}}
{{- define "redis.checkRollingTags" -}}
{{- include "common.warnings.rollingTag" .Values.image }}
......
......@@ -56,8 +56,11 @@ data:
user default on {{ if $password}}#{{ sha256sum $password}}{{ else }}nopass{{ end }} ~* &* +@all
{{- if .Values.auth.acl.users -}}
{{- /* custom users */ -}}
{{- $userSecret := .Values.auth.acl.userSecret -}}
{{- range .Values.auth.acl.users }}
user {{ .username }} {{ default "on" .enabled}} {{ if .password}}#{{ sha256sum .password}}{{ else }}nopass{{ end }} {{ default "~*" .keys}} {{ default "&*" .channels }} {{ default "+@all" .commands }}
{{- $userPassword := .password | default "" }}
{{- $secretPassword := (include "common.secrets.get" (dict "secret" $userSecret "key" .username "context" $))}}
user {{ .username }} {{ default "on" .enabled }} {{ if $secretPassword }}#{{ sha256sum $secretPassword }}{{ else if $userPassword }}#{{ sha256sum $userPassword }}{{ else }}nopass{{ end }} {{ default "~*" .keys }} {{ default "&*" .channels }} {{ default "+@all" .commands }}
{{- end }}
{{- end }}
{{- end }}
......
......@@ -258,12 +258,14 @@ spec:
{{- end }}
- name: config
mountPath: /opt/bitnami/redis/mounted-etc
{{- if and .Values.master.containerSecurityContext.enabled .Values.master.containerSecurityContext.readOnlyRootFilesystem }}
- name: empty-dir
mountPath: /opt/bitnami/redis/etc/
subPath: app-conf-dir
- name: empty-dir
mountPath: /tmp
subPath: tmp-dir
{{- end }}
{{- if .Values.tls.enabled }}
- name: redis-certificates
mountPath: /opt/bitnami/redis/certs
......@@ -365,9 +367,11 @@ spec:
resources: {{- include "common.resources.preset" (dict "type" .Values.metrics.resourcesPreset) | nindent 12 }}
{{- end }}
volumeMounts:
{{- if and .Values.metrics.containerSecurityContext.enabled .Values.metrics.containerSecurityContext.readOnlyRootFilesystem }}
- name: empty-dir
mountPath: /tmp
subPath: app-tmp-dir
{{- end }}
{{- if and .Values.auth.enabled .Values.auth.usePasswordFiles }}
- name: redis-password
mountPath: /secrets/
......@@ -418,9 +422,6 @@ spec:
resources: {{- include "common.resources.preset" (dict "type" .Values.volumePermissions.resourcesPreset) | nindent 12 }}
{{- end }}
volumeMounts:
- name: empty-dir
mountPath: /tmp
subPath: tmp-dir
- name: redis-data
mountPath: {{ .Values.master.persistence.path }}
{{- if .Values.master.persistence.subPath }}
......@@ -446,9 +447,6 @@ spec:
{{- end }}
{{- if .Values.sysctl.mountHostSys }}
volumeMounts:
- name: empty-dir
mountPath: /tmp
subPath: tmp-dir
- name: host-sys
mountPath: /host-sys
{{- end }}
......@@ -483,6 +481,7 @@ spec:
hostPath:
path: /sys
{{- end }}
{{- if or (and .Values.master.containerSecurityContext.enabled .Values.master.containerSecurityContext.readOnlyRootFilesystem) (and .Values.metrics.enabled .Values.metrics.containerSecurityContext.enabled .Values.metrics.containerSecurityContext.readOnlyRootFilesystem) }}
- name: empty-dir
{{- if or .Values.master.persistence.medium .Values.master.persistence.sizeLimit }}
emptyDir:
......@@ -495,6 +494,7 @@ spec:
{{- else }}
emptyDir: {}
{{- end }}
{{- end }}
{{- if .Values.tls.enabled }}
- name: redis-certificates
secret:
......
......@@ -278,12 +278,14 @@ spec:
{{- end }}
- name: config
mountPath: /opt/bitnami/redis/mounted-etc
{{- if and .Values.replica.containerSecurityContext.enabled .Values.replica.containerSecurityContext.readOnlyRootFilesystem }}
- name: empty-dir
mountPath: /opt/bitnami/redis/etc
subPath: app-conf-dir
- name: empty-dir
mountPath: /tmp
subPath: tmp-dir
{{- end }}
{{- if .Values.tls.enabled }}
- name: redis-certificates
mountPath: /opt/bitnami/redis/certs
......@@ -385,9 +387,11 @@ spec:
resources: {{- include "common.resources.preset" (dict "type" .Values.metrics.resourcesPreset) | nindent 12 }}
{{- end }}
volumeMounts:
{{- if and .Values.metrics.containerSecurityContext.enabled .Values.metrics.containerSecurityContext.readOnlyRootFilesystem }}
- name: empty-dir
mountPath: /tmp
subPath: tmp-dir
{{- end }}
{{- if and .Values.auth.enabled .Values.auth.usePasswordFiles }}
- name: redis-password
mountPath: /secrets/
......@@ -438,9 +442,6 @@ spec:
resources: {{- include "common.resources.preset" (dict "type" .Values.volumePermissions.resourcesPreset) | nindent 12 }}
{{- end }}
volumeMounts:
- name: empty-dir
mountPath: /tmp
subPath: tmp-dir
- name: redis-data
mountPath: {{ .Values.replica.persistence.path }}
{{- if .Values.replica.persistence.subPath }}
......@@ -466,9 +467,6 @@ spec:
{{- end }}
{{- if .Values.sysctl.mountHostSys }}
volumeMounts:
- name: empty-dir
mountPath: /tmp
subPath: tmp-dir
- name: host-sys
mountPath: /host-sys
{{- end }}
......@@ -503,6 +501,7 @@ spec:
hostPath:
path: /sys
{{- end }}
{{- if or (and .Values.replica.containerSecurityContext.enabled .Values.replica.containerSecurityContext.readOnlyRootFilesystem) (and .Values.metrics.enabled .Values.metrics.containerSecurityContext.enabled .Values.metrics.containerSecurityContext.readOnlyRootFilesystem) }}
- name: empty-dir
{{- if or .Values.replica.persistence.medium .Values.replica.persistence.sizeLimit }}
emptyDir:
......@@ -515,6 +514,7 @@ spec:
{{- else }}
emptyDir: {}
{{- end }}
{{- end }}
{{- if .Values.tls.enabled }}
- name: redis-certificates
secret:
......
......@@ -466,8 +466,8 @@ data:
{{- if not (contains "sentinel announce-port" .Values.sentinel.configuration) }}
echo "sentinel announce-port $SERVPORT" >> /opt/bitnami/redis-sentinel/etc/prepare-sentinel.conf
{{- end }}
{{- if .Values.sentinel.externalAccess.enabled }}
{{- if not (contains "sentinel announce-ip" .Values.sentinel.configuration) }}
{{- if .Values.sentinel.externalAccess.enabled }}
if [[ -n "${REDIS_CLUSTER_ANNOUNCE_IP}" ]]; then
echo "sentinel announce-ip $REDIS_CLUSTER_ANNOUNCE_IP" >> /opt/bitnami/redis-sentinel/etc/prepare-sentinel.conf
else
......@@ -847,9 +847,11 @@ data:
update-master-label.sh: |
#!/bin/bash
while true; do
while [ ! -f "/etc/shared/current" ]; do
while [ ! -f "/etc/shared/current" ] && [ ! -f "/etc/shared/terminate" ]; do
sleep 1
done
if [ -f "/etc/shared/current" ]; then
echo "new master elected, updating label(s)..."
kubectl label pod --field-selector metadata.name="$(< "/etc/shared/current")" isMaster="true" --overwrite
kubectl label pod --field-selector metadata.name="$(< "/etc/shared/current")" app.kubernetes.io/role-
......@@ -857,5 +859,12 @@ data:
kubectl label pod --field-selector metadata.name="$(< "/etc/shared/previous")" isMaster="false" --overwrite
fi
rm "/etc/shared/current" "/etc/shared/previous"
fi
if [ -f "/etc/shared/terminate" ]; then
echo "received signal to terminate"
rm "/etc/shared/terminate"
exit
fi
done
{{- end }}
......@@ -153,6 +153,9 @@ spec:
{{- else if eq $masterServiceConfig.type "NodePort" }}
nodePort: {{ $redisport }}
{{- end }}
{{- if $masterServiceConfig.extraPorts }}
{{- include "common.tplvalues.render" (dict "value" $masterServiceConfig.extraPorts "context" $) | nindent 4 }}
{{- end }}
selector: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 4 }}
isMaster: "true"
{{- end }}
......
......@@ -319,12 +319,14 @@ spec:
{{- end }}
- name: config
mountPath: /opt/bitnami/redis/mounted-etc
{{- if and .Values.replica.containerSecurityContext.enabled .Values.replica.containerSecurityContext.readOnlyRootFilesystem }}
- name: empty-dir
mountPath: /opt/bitnami/redis/etc
subPath: app-conf-dir
- name: empty-dir
mountPath: /tmp
subPath: tmp-dir
{{- end }}
{{- if .Values.tls.enabled }}
- name: redis-certificates
mountPath: /opt/bitnami/redis/certs
......@@ -494,9 +496,11 @@ spec:
resources: {{- include "common.resources.preset" (dict "type" .Values.sentinel.resourcesPreset) | nindent 12 }}
{{- end }}
volumeMounts:
{{- if and .Values.sentinel.containerSecurityContext.enabled .Values.sentinel.containerSecurityContext.readOnlyRootFilesystem }}
- name: empty-dir
mountPath: /tmp
subPath: tmp-dir
{{- end }}
- name: start-scripts
mountPath: /opt/bitnami/scripts/start-scripts
- name: health
......@@ -619,9 +623,11 @@ spec:
resources: {{- include "common.resources.preset" (dict "type" .Values.metrics.resourcesPreset) | nindent 12 }}
{{- end }}
volumeMounts:
{{- if and .Values.metrics.containerSecurityContext.enabled .Values.metrics.containerSecurityContext.readOnlyRootFilesystem }}
- name: empty-dir
mountPath: /tmp
subPath: tmp-dir
{{- end }}
{{- if and .Values.auth.enabled .Values.auth.usePasswordFiles }}
- name: redis-password
mountPath: /secrets/
......@@ -640,6 +646,12 @@ spec:
image: {{ template "redis.kubectl.image" . }}
imagePullPolicy: {{ .Values.kubectl.image.pullPolicy | quote }}
command: {{- toYaml .Values.kubectl.command | nindent 12 }}
lifecycle:
preStop:
exec:
command:
- touch
- /etc/shared/terminate
{{- if .Values.kubectl.containerSecurityContext.enabled }}
securityContext: {{- include "common.compatibility.renderSecurityContext" (dict "secContext" .Values.kubectl.containerSecurityContext "context" $) | nindent 12 }}
{{- end }}
......@@ -689,9 +701,11 @@ spec:
resources: {{- include "common.resources.preset" (dict "type" .Values.volumePermissions.resourcesPreset) | nindent 12 }}
{{- end }}
volumeMounts:
{{- if and .Values.volumePermissions.containerSecurityContext.enabled .Values.volumePermissions.containerSecurityContext.readOnlyRootFilesystem }}
- name: empty-dir
mountPath: /tmp
subPath: tmp-dir
{{- end }}
- name: redis-data
mountPath: {{ .Values.replica.persistence.path }}
{{- if .Values.replica.persistence.subPath }}
......@@ -717,9 +731,6 @@ spec:
{{- end }}
{{- if .Values.sysctl.mountHostSys }}
volumeMounts:
- name: empty-dir
mountPath: /tmp
subPath: tmp-dir
- name: host-sys
mountPath: /host-sys
{{- end }}
......@@ -776,6 +787,7 @@ spec:
emptyDir: {}
{{- end }}
{{- end }}
{{- if or (and .Values.sentinel.containerSecurityContext.enabled .Values.sentinel.containerSecurityContext.readOnlyRootFilesystem) (and .Values.metrics.enabled .Values.metrics.containerSecurityContext.enabled .Values.metrics.containerSecurityContext.readOnlyRootFilesystem) }}
- name: empty-dir
{{- if or .Values.sentinel.persistence.medium .Values.sentinel.persistence.sizeLimit }}
emptyDir:
......@@ -788,6 +800,7 @@ spec:
{{- else }}
emptyDir: {}
{{- end }}
{{- end }}
{{- if .Values.replica.extraVolumes }}
{{- include "common.tplvalues.render" ( dict "value" .Values.replica.extraVolumes "context" $ ) | nindent 8 }}
{{- end }}
......
......@@ -244,6 +244,8 @@ auth:
## keys: "~*"
## channels: "&*"
users: []
## @param auth.acl.userSecret Name of the Secret, containing user credentials for ACL users. Keys must match usernames.
userSecret: ""
## @param commonConfiguration [string] Common configuration to be added into the ConfigMap
## ref: https://redis.io/topics/config
##
......@@ -1259,7 +1261,7 @@ sentinel:
image:
registry: docker.io
repository: bitnami/redis-sentinel
tag: 7.4.2-debian-12-r6
tag: 7.4.2-debian-12-r11
digest: ""
## Specify a imagePullPolicy
## ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
......@@ -1866,7 +1868,7 @@ metrics:
image:
registry: registry1.dso.mil
repository: ironbank/bitnami/analytics/redis-exporter
tag: v1.69.0
tag: v1.70.0
digest: ""
pullPolicy: IfNotPresent
## Optionally specify an array of imagePullSecrets.
......