diff --git a/.gitea/workflows/test-pr.yml b/.gitea/workflows/test-pr.yml
index 987a54f..21a75bb 100644
--- a/.gitea/workflows/test-pr.yml
+++ b/.gitea/workflows/test-pr.yml
@@ -22,6 +22,11 @@ jobs:
apk update
apk add --update bash make nodejs npm yamllint ncurses
- uses: actions/checkout@v7.0.0
+ - name: define helm repositories
+ run: |
+ helm repo add bitnami https://charts.bitnami.com/bitnami
+ helm repo add valkey https://valkey.io/valkey-helm
+ helm repo update
- name: install chart dependencies
run: helm dependency build
- name: lint
diff --git a/Chart.lock b/Chart.lock
index 6b2ab8c..783590c 100644
--- a/Chart.lock
+++ b/Chart.lock
@@ -5,11 +5,8 @@ dependencies:
- name: postgresql-ha
repository: oci://registry-1.docker.io/bitnamicharts
version: 16.3.2
-- name: valkey-cluster
- repository: oci://registry-1.docker.io/bitnamicharts
- version: 3.0.24
- name: valkey
- repository: oci://registry-1.docker.io/bitnamicharts
- version: 3.0.31
-digest: sha256:ceb6a1890cfdc2627abb85d3e2a4baa64d30afd21dcfabce978a824a67f0a2bb
-generated: "2025-08-30T00:03:04.59764502Z"
+ repository: https://valkey.io/valkey-helm
+ version: 0.10.0
+digest: sha256:1afecbf0d4fc9f48e31417573d4bed7e0ac7848040b9e0c5f3989ada9d1f944f
+generated: "2026-07-20T19:52:11.548874634+02:00"
diff --git a/Chart.yaml b/Chart.yaml
index cc15d9e..3bd276a 100644
--- a/Chart.yaml
+++ b/Chart.yaml
@@ -46,13 +46,8 @@ dependencies:
repository: oci://registry-1.docker.io/bitnamicharts
version: 16.3.2
condition: postgresql-ha.enabled
- # https://github.com/bitnami/charts/blob/main/bitnami/valkey-cluster/Chart.yaml
- - name: valkey-cluster
- repository: oci://registry-1.docker.io/bitnamicharts
- version: 3.0.24
- condition: valkey-cluster.enabled
# https://github.com/bitnami/charts/blob/main/bitnami/valkey/Chart.yaml
- name: valkey
- repository: oci://registry-1.docker.io/bitnamicharts
- version: 3.0.31
+ repository: https://valkey.io/valkey-helm
+ version: 0.10.0
condition: valkey.enabled
diff --git a/README.md b/README.md
index afa4adf..78a3fe4 100644
--- a/README.md
+++ b/README.md
@@ -54,7 +54,6 @@
- [LivenessProbe](#livenessprobe)
- [ReadinessProbe](#readinessprobe)
- [StartupProbe](#startupprobe)
- - [valkey-cluster](#valkey-cluster)
- [valkey](#valkey)
- [PostgreSQL HA](#postgresql-ha)
- [PostgreSQL](#postgresql)
@@ -98,14 +97,13 @@ Users can also configure their own external providers via the configuration.
These dependencies are enabled by default:
- PostgreSQL HA ([Bitnami PostgreSQL-HA](https://github.com/bitnami/charts/blob/main/bitnami/postgresql-ha/Chart.yaml))
-- Valkey-Cluster ([Bitnami Valkey-Cluster](https://github.com/bitnami/charts/blob/main/bitnami/valkey-cluster/Chart.yaml))
+- Valkey ([Official Valkey Helm Chart](https://github.com/valkey-io/valkey-helm))
### Non-HA Dependencies
Alternatively, the following non-HA replacements are available:
- PostgreSQL ([Bitnami PostgreSQL](https://github.com/bitnami/charts/blob/main/bitnami/postgresql/Chart.yaml))
-- Valkey ([Bitnami Valkey](https://github.com/bitnami/charts/blob/main/bitnami/valkey/Chart.yaml))
### Dependency Versioning
@@ -123,8 +121,7 @@ Please double-check the image repository and available tags in the sub-chart:
- [PostgreSQL-HA](https://hub.docker.com/r/bitnami/postgresql-repmgr/tags)
- [PostgreSQL](https://hub.docker.com/r/bitnami/postgresql/tags)
-- [Valkey Cluster](https://hub.docker.com/r/bitnami/valkey-cluster/tags)
-- [Valkey](https://hub.docker.com/r/bitnami/valkey/tags)
+- [Valkey](https://hub.docker.com/r/valkey/valkey/tags)
and look up the image tag which fits your needs on Dockerhub.
@@ -326,7 +323,7 @@ If Valkey Cluster is disabled, the chart will fall back to the Gitea defaults wh
While these will work and even not cause immediate issues after startup, **they are not recommended for production use**.
Reasons being that a single pod will take on all the work for `session` and `cache` tasks in its available memory.
It is likely that the pod will run out of memory or will face substantial memory spikes, depending on the workload.
-External tools such as `valkey-cluster` or `memcached` handle these workloads much better.
+External tools such as `valkey` or `memcached` handle these workloads much better.
### Single-Pod Configurations
@@ -339,8 +336,6 @@ If HA is not needed/desired, the following configurations can be used to deploy
values.yml
```yaml
- valkey-cluster:
- enabled: false
valkey:
enabled: true
postgresql:
@@ -372,8 +367,6 @@ If HA is not needed/desired, the following configurations can be used to deploy
values.yml
```yaml
- valkey-cluster:
- enabled: false
valkey:
enabled: false
postgresql:
@@ -576,19 +569,13 @@ More about this issue [under this link](https://gitea.com/gitea/helm-gitea/issue
### Cache
-The cache handling is done via `valkey-cluster` (via the `bitnami` chart) by default.
-This deployment is HA-ready but can also be used for single-pod deployments.
-By default, 6 replicas are deployed for a working `valkey-cluster` deployment.
-Many cloud providers offer a managed valkey service, which can be used instead of the built-in `valkey-cluster`.
+The cache handling is done via `valkey` (via the [official Valkey Helm chart](https://github.com/valkey-io/valkey-helm)) by default.
```yaml
-valkey-cluster:
+valkey:
enabled: true
```
-⚠️ The valkey charts [do not work well with special characters in the password](https://gitea.com/gitea/helm-chart/issues/690).
-Consider omitting such or open an issue in the Bitnami repo and let us know once this got fixed.
-
### Persistence
Gitea will be deployed as a deployment.
@@ -1245,48 +1232,29 @@ To comply with the Gitea helm chart definition of the digest parameter, a "custo
| `gitea.startupProbe.successThreshold` | Success threshold for startup probe | `1` |
| `gitea.startupProbe.failureThreshold` | Failure threshold for startup probe | `10` |
-### valkey-cluster
-
-Valkey cluster and [Valkey](#valkey) cannot be enabled at the same time.
-
-| Name | Description | Value |
-| --------------------------------------------------- | --------------------------------------------------------------------------- | ------------------------------ |
-| `valkey-cluster.enabled` | Enable valkey cluster | `true` |
-| `valkey-cluster.usePassword` | Whether to use password authentication. | `false` |
-| `valkey-cluster.usePasswordFiles` | Whether to mount passwords as files instead of environment variables. | `false` |
-| `valkey-cluster.image.repository` | Image repository, eg. `bitnamilegacy/valkey-cluster`. | `bitnamilegacy/valkey-cluster` |
-| `valkey-cluster.cluster.nodes` | Number of valkey cluster master nodes | `3` |
-| `valkey-cluster.cluster.replicas` | Number of valkey cluster master node replicas | `0` |
-| `valkey-cluster.metrics.image.repository` | Image repository, eg. `bitnamilegacy/redis-exporter`. | `bitnamilegacy/redis-exporter` |
-| `valkey-cluster.persistence.enabled` | Enable persistence on Valkey replicas nodes using Persistent Volume Claims. | `true` |
-| `valkey-cluster.persistence.storageClass` | Persistent Volume storage class. | `""` |
-| `valkey-cluster.persistence.size` | Persistent Volume size. | `8Gi` |
-| `valkey-cluster.service.ports.valkey` | Port of Valkey service | `6379` |
-| `valkey-cluster.sysctlImage.repository` | Image repository, eg. `bitnamilegacy/os-shell`. | `bitnamilegacy/os-shell` |
-| `valkey-cluster.volumePermissions.image.repository` | Image repository, eg. `bitnamilegacy/os-shell`. | `bitnamilegacy/os-shell` |
-
### valkey
-Valkey and [Valkey cluster](#valkey-cluster) cannot be enabled at the same time.
-
-| Name | Description | Value |
-| ------------------------------------------- | --------------------------------------------------------------------------- | ------------------------------- |
-| `valkey.enabled` | Enable valkey standalone or replicated | `false` |
-| `valkey.architecture` | Whether to use standalone or replication | `standalone` |
-| `valkey.kubectl.image.repository` | Image repository, eg. `bitnamilegacy/kubectl`. | `bitnamilegacy/kubectl` |
-| `valkey.image.repository` | Image repository, eg. `bitnamilegacy/valkey`. | `bitnamilegacy/valkey` |
-| `valkey.global.valkey.password` | Required password | `changeme` |
-| `valkey.master.count` | Number of Valkey master instances to deploy | `1` |
-| `valkey.master.service.ports.valkey` | Port of Valkey service | `6379` |
-| `valkey.metrics.image.repository` | Image repository, eg. `bitnamilegacy/redis-exporter`. | `bitnamilegacy/redis-exporter` |
-| `valkey.primary.persistence.enabled` | Enable persistence on Valkey replicas nodes using Persistent Volume Claims. | `true` |
-| `valkey.primary.persistence.storageClass` | Persistent Volume storage class. | `""` |
-| `valkey.primary.persistence.size` | Persistent Volume size. | `8Gi` |
-| `valkey.replica.persistence.enabled` | Enable persistence on Valkey replicas nodes using Persistent Volume Claims. | `true` |
-| `valkey.replica.persistence.storageClass` | Persistent Volume storage class. | `""` |
-| `valkey.replica.persistence.size` | Persistent Volume size. | `8Gi` |
-| `valkey.sentinel.image.repository` | Image repository, eg. `bitnamilegacy/sentinel`. | `bitnamilegacy/valkey-sentinel` |
-| `valkey.volumePermissions.image.repository` | Image repository, eg. `bitnamilegacy/os-shell`. | `bitnamilegacy/os-shell` |
+| Name | Description | Value |
+| ------------------------------------------ | -------------------------------------------------- | -------------------------- |
+| `valkey.enabled` | Enable valkey standalone or replicated | `false` |
+| `valkey.image.registry` | Image registry | `docker.io` |
+| `valkey.image.repository` | Image repository | `valkey/valkey` |
+| `valkey.image.tag` | Image tag | `""` |
+| `valkey.auth.enabled` | Enable ACL-based authentication | `true` |
+| `valkey.auth.aclUsers.default.permissions` | ACL permissions for the default user | `~* &* +@all` |
+| `valkey.auth.aclUsers.default.password` | Password for the default user | `changeme` |
+| `valkey.service.port` | Port of Valkey service | `6379` |
+| `valkey.dataStorage.enabled` | Enable persistence using Persistent Volume Claims. | `false` |
+| `valkey.dataStorage.className` | Persistent Volume storage class. | `""` |
+| `valkey.dataStorage.requestedSize` | Persistent Volume size. | `8Gi` |
+| `valkey.replica.enabled` | Enable replication | `false` |
+| `valkey.replica.replicas` | Number of Valkey replica instances to deploy | `3` |
+| `valkey.replica.persistence.size` | Persistent Volume size for replicas. | `8Gi` |
+| `valkey.replica.persistence.storageClass` | Persistent Volume storage class for replicas. | `""` |
+| `valkey.metrics.enabled` | Enable Prometheus exporter sidecar | `false` |
+| `valkey.metrics.exporter.image.registry` | Image registry | `ghcr.io` |
+| `valkey.metrics.exporter.image.repository` | Image repository | `oliver006/redis_exporter` |
+| `valkey.metrics.exporter.image.tag` | Image tag | `""` |
### PostgreSQL HA
diff --git a/templates/_helpers.tpl b/templates/_helpers.tpl
index 4e49ccb..9d0b91a 100644
--- a/templates/_helpers.tpl
+++ b/templates/_helpers.tpl
@@ -215,28 +215,20 @@ app.kubernetes.io/instance: {{ .Release.Name }}
{{- end -}}
{{- define "valkey.dns" -}}
-{{- if and ((index .Values "valkey-cluster").enabled) ((index .Values "valkey").enabled) -}}
-{{- fail "valkey and valkey-cluster cannot be enabled at the same time. Please only choose one." -}}
-{{- else if (index .Values "valkey-cluster").enabled -}}
-{{- printf "redis+cluster://:%s@%s-valkey-cluster-headless.%s.svc.%s:%g/0?pool_size=100&idle_timeout=180s&" (index .Values "valkey-cluster").global.valkey.password .Release.Name .Release.Namespace .Values.clusterDomain (index .Values "valkey-cluster").service.ports.valkey -}}
-{{- else if (index .Values "valkey").enabled -}}
-{{- printf "redis://:%s@%s-valkey-primary.%s.svc.%s:%g/0?pool_size=100&idle_timeout=180s&" (index .Values "valkey").global.valkey.password .Release.Name .Release.Namespace .Values.clusterDomain (index .Values "valkey").master.service.ports.valkey -}}
+{{- if (index .Values "valkey").enabled -}}
+{{- printf "redis://:%s@%s-valkey.%s.svc.%s:%g/0?pool_size=100&idle_timeout=180s&" (index (index .Values "valkey").auth.aclUsers "default").password .Release.Name .Release.Namespace .Values.clusterDomain (index .Values "valkey").service.port -}}
{{- end -}}
{{- end -}}
{{- define "valkey.port" -}}
-{{- if (index .Values "valkey-cluster").enabled -}}
-{{ (index .Values "valkey-cluster").service.ports.valkey }}
-{{- else if (index .Values "valkey").enabled -}}
-{{ (index .Values "valkey").master.service.ports.valkey }}
+{{- if (index .Values "valkey").enabled -}}
+{{ (index .Values "valkey").service.port }}
{{- end -}}
{{- end -}}
{{- define "valkey.servicename" -}}
-{{- if (index .Values "valkey-cluster").enabled -}}
-{{- printf "%s-valkey-cluster-headless.%s.svc.%s" .Release.Name .Release.Namespace .Values.clusterDomain -}}
-{{- else if (index .Values "valkey").enabled -}}
-{{- printf "%s-valkey-primary.%s.svc.%s" .Release.Name .Release.Namespace .Values.clusterDomain -}}
+{{- if (index .Values "valkey").enabled -}}
+{{- printf "%s-valkey.%s.svc.%s" .Release.Name .Release.Namespace .Values.clusterDomain -}}
{{- end -}}
{{- end -}}
@@ -403,7 +395,7 @@ https
{{- $_ := set .Values.gitea.config.metrics "TOKEN" .Values.gitea.metrics.token -}}
{{- end -}}
{{- /* valkey queue */ -}}
- {{- if or ((index .Values "valkey-cluster").enabled) ((index .Values "valkey").enabled) -}}
+ {{- if (index .Values "valkey").enabled -}}
{{- $_ := set .Values.gitea.config.queue "TYPE" "redis" -}}
{{- $_ := set .Values.gitea.config.queue "CONN_STR" (include "valkey.dns" .) -}}
{{- $_ := set .Values.gitea.config.session "PROVIDER" "redis" -}}
diff --git a/unittests/helm/config/cache-config.yaml b/unittests/helm/config/cache-config.yaml
index c0d4f22..2bb0bae 100644
--- a/unittests/helm/config/cache-config.yaml
+++ b/unittests/helm/config/cache-config.yaml
@@ -3,26 +3,9 @@ release:
name: gitea-unittests
namespace: testing
tests:
- - it: "cache is configured correctly for valkey-cluster"
- template: templates/gitea/config.yaml
- set:
- valkey-cluster:
- enabled: true
- valkey:
- enabled: false
- asserts:
- - documentIndex: 0
- equal:
- path: stringData.cache
- value: |-
- ADAPTER=redis
- HOST=redis+cluster://:@gitea-unittests-valkey-cluster-headless.testing.svc.cluster.local:6379/0?pool_size=100&idle_timeout=180s&
-
- it: "cache is configured correctly for valkey"
template: templates/gitea/config.yaml
set:
- valkey-cluster:
- enabled: false
valkey:
enabled: true
asserts:
@@ -31,13 +14,11 @@ tests:
path: stringData.cache
value: |-
ADAPTER=redis
- HOST=redis://:changeme@gitea-unittests-valkey-primary.testing.svc.cluster.local:6379/0?pool_size=100&idle_timeout=180s&
+ HOST=redis://:changeme@gitea-unittests-valkey.testing.svc.cluster.local:6379/0?pool_size=100&idle_timeout=180s&
- - it: "cache is configured correctly for 'memory' when valkey (or valkey-cluster) is disabled"
+ - it: "cache is configured correctly for 'memory' when valkey is disabled"
template: templates/gitea/config.yaml
set:
- valkey-cluster:
- enabled: false
valkey:
enabled: false
asserts:
@@ -48,11 +29,9 @@ tests:
ADAPTER=memory
HOST=
- - it: "cache can be customized when valkey (or valkey-cluster) is disabled"
+ - it: "cache can be customized when valkey is disabled"
template: templates/gitea/config.yaml
set:
- valkey-cluster:
- enabled: false
valkey:
enabled: false
gitea.config.cache.ADAPTER: custom-adapter
diff --git a/unittests/helm/config/queue-config.yaml b/unittests/helm/config/queue-config.yaml
index 9113568..698716a 100644
--- a/unittests/helm/config/queue-config.yaml
+++ b/unittests/helm/config/queue-config.yaml
@@ -3,26 +3,9 @@ release:
name: gitea-unittests
namespace: testing
tests:
- - it: "queue is configured correctly for valkey-cluster"
- template: templates/gitea/config.yaml
- set:
- valkey-cluster:
- enabled: true
- valkey:
- enabled: false
- asserts:
- - documentIndex: 0
- equal:
- path: stringData.queue
- value: |-
- CONN_STR=redis+cluster://:@gitea-unittests-valkey-cluster-headless.testing.svc.cluster.local:6379/0?pool_size=100&idle_timeout=180s&
- TYPE=redis
-
- it: "queue is configured correctly for valkey"
template: templates/gitea/config.yaml
set:
- valkey-cluster:
- enabled: false
valkey:
enabled: true
asserts:
@@ -30,14 +13,12 @@ tests:
equal:
path: stringData.queue
value: |-
- CONN_STR=redis://:changeme@gitea-unittests-valkey-primary.testing.svc.cluster.local:6379/0?pool_size=100&idle_timeout=180s&
+ CONN_STR=redis://:changeme@gitea-unittests-valkey.testing.svc.cluster.local:6379/0?pool_size=100&idle_timeout=180s&
TYPE=redis
- - it: "queue is configured correctly for 'levelDB' when valkey (and valkey-cluster) is disabled"
+ - it: "queue is configured correctly for 'levelDB' when valkey is disabled"
template: templates/gitea/config.yaml
set:
- valkey-cluster:
- enabled: false
valkey:
enabled: false
asserts:
@@ -48,11 +29,9 @@ tests:
CONN_STR=
TYPE=level
- - it: "queue can be customized when valkey (and valkey-cluster) are disabled"
+ - it: "queue can be customized when valkey is disabled"
template: templates/gitea/config.yaml
set:
- valkey-cluster:
- enabled: false
valkey:
enabled: false
gitea.config.queue.TYPE: custom-type
diff --git a/unittests/helm/config/session-config.yaml b/unittests/helm/config/session-config.yaml
index e518fb5..9028483 100644
--- a/unittests/helm/config/session-config.yaml
+++ b/unittests/helm/config/session-config.yaml
@@ -3,26 +3,9 @@ release:
name: gitea-unittests
namespace: testing
tests:
- - it: "session is configured correctly for valkey-cluster"
- template: templates/gitea/config.yaml
- set:
- valkey-cluster:
- enabled: true
- valkey:
- enabled: false
- asserts:
- - documentIndex: 0
- equal:
- path: stringData.session
- value: |-
- PROVIDER=redis
- PROVIDER_CONFIG=redis+cluster://:@gitea-unittests-valkey-cluster-headless.testing.svc.cluster.local:6379/0?pool_size=100&idle_timeout=180s&
-
- it: "session is configured correctly for valkey"
template: templates/gitea/config.yaml
set:
- valkey-cluster:
- enabled: false
valkey:
enabled: true
asserts:
@@ -31,13 +14,11 @@ tests:
path: stringData.session
value: |-
PROVIDER=redis
- PROVIDER_CONFIG=redis://:changeme@gitea-unittests-valkey-primary.testing.svc.cluster.local:6379/0?pool_size=100&idle_timeout=180s&
+ PROVIDER_CONFIG=redis://:changeme@gitea-unittests-valkey.testing.svc.cluster.local:6379/0?pool_size=100&idle_timeout=180s&
- - it: "session is configured correctly for 'memory' when valkey (and valkey-cluster) is disabled"
+ - it: "session is configured correctly for 'memory' when valkey is disabled"
template: templates/gitea/config.yaml
set:
- valkey-cluster:
- enabled: false
valkey:
enabled: false
asserts:
@@ -48,11 +29,9 @@ tests:
PROVIDER=memory
PROVIDER_CONFIG=
- - it: "session can be customized when valkey (and valkey-cluster) is disabled"
+ - it: "session can be customized when valkey is disabled"
template: templates/gitea/config.yaml
set:
- valkey-cluster:
- enabled: false
valkey:
enabled: false
gitea.config.session.PROVIDER: custom-provider
diff --git a/unittests/helm/dependency-checks/customization-integrity-valkey-cluster.yaml b/unittests/helm/dependency-checks/customization-integrity-valkey-cluster.yaml
deleted file mode 100644
index ca02b89..0000000
--- a/unittests/helm/dependency-checks/customization-integrity-valkey-cluster.yaml
+++ /dev/null
@@ -1,99 +0,0 @@
-suite: Dependency checks | Customization integrity | valkey-cluster
-release:
- name: gitea-unittests
- namespace: testing
-set:
- valkey:
- enabled: false
- valkey-cluster:
- enabled: true
- usePassword: false
- cluster:
- nodes: 5
- replicas: 2
-tests:
- - it: "[valkey-cluster] configures correct nodes/replicas"
- template: charts/valkey-cluster/templates/valkey-statefulset.yaml
- asserts:
- - documentIndex: 0
- equal:
- path: spec.replicas
- value: 5
- - documentIndex: 0
- matchRegex:
- path: spec.template.spec.containers[0].args[0]
- pattern: VALKEY_CLUSTER_REPLICAS="2"
- - it: "[valkey-cluster] support auth-less connections"
- asserts:
- - template: charts/valkey-cluster/templates/secret.yaml
- hasDocuments:
- count: 0
- - template: charts/valkey-cluster/templates/valkey-statefulset.yaml
- documentIndex: 0
- contains:
- path: spec.template.spec.containers[0].env
- content:
- name: ALLOW_EMPTY_PASSWORD
- value: "yes"
- - it: "[valkey-cluster] support auth-full connections"
- set:
- valkey-cluster:
- usePassword: true
- asserts:
- - template: charts/valkey-cluster/templates/secret.yaml
- containsDocument:
- kind: Secret
- apiVersion: v1
- name: gitea-unittests-valkey-cluster
- namespace: testing
- - template: charts/valkey-cluster/templates/valkey-statefulset.yaml
- documentIndex: 0
- contains:
- path: spec.template.spec.containers[0].env
- content:
- name: REDISCLI_AUTH
- valueFrom:
- secretKeyRef:
- name: gitea-unittests-valkey-cluster
- key: valkey-password
- - template: charts/valkey-cluster/templates/valkey-statefulset.yaml
- documentIndex: 0
- contains:
- path: spec.template.spec.containers[0].env
- content:
- name: REDISCLI_AUTH
- valueFrom:
- secretKeyRef:
- name: gitea-unittests-valkey-cluster
- key: valkey-password
- - it: "[valkey-cluster] renders the referenced service"
- template: charts/valkey-cluster/templates/headless-svc.yaml
- asserts:
- - containsDocument:
- kind: Service
- apiVersion: v1
- name: gitea-unittests-valkey-cluster-headless
- namespace: testing
- - documentIndex: 0
- contains:
- path: spec.ports
- content:
- name: tcp-redis
- port: 6379
- targetPort: tcp-redis
- - it: "[gitea] waits for valkey-cluster to be up and running"
- template: templates/gitea/init.yaml
- asserts:
- - documentIndex: 0
- matchRegex:
- path: stringData["configure_gitea.sh"]
- pattern: nc -vz -w2 gitea-unittests-valkey-cluster-headless.testing.svc.cluster.local 6379
- - it: "[gitea] waits for valkey-cluster to be up and running with custom cluster domain"
- set:
- clusterDomain: my-special-cluster.local
- template: templates/gitea/init.yaml
- asserts:
- - documentIndex: 0
- matchRegex:
- path: stringData["configure_gitea.sh"]
- pattern: nc -vz -w2 gitea-unittests-valkey-cluster-headless.testing.svc.my-special-cluster.local 6379
diff --git a/unittests/helm/dependency-checks/customization-integrity-valkey.yaml b/unittests/helm/dependency-checks/customization-integrity-valkey.yaml
index eb7446b..2e32e55 100644
--- a/unittests/helm/dependency-checks/customization-integrity-valkey.yaml
+++ b/unittests/helm/dependency-checks/customization-integrity-valkey.yaml
@@ -3,54 +3,44 @@ release:
name: gitea-unittests
namespace: testing
set:
- valkey-cluster:
- enabled: false
valkey:
enabled: true
- architecture: standalone
- global:
- valkey:
- password: gitea-password
- master:
- count: 2
+ auth:
+ enabled: true
+ aclUsers:
+ default:
+ permissions: "~* &* +@all"
+ password: gitea-password
tests:
- - it: "[valkey] configures correct 'master' nodes"
- template: charts/valkey/templates/primary/application.yaml
- asserts:
- - documentIndex: 0
- equal:
- path: spec.replicas
- value: 1
- - it: "[valkey] valkey.global.valkey.password is applied as expected"
+ - it: "[valkey] valkey.auth.aclUsers.default.password is applied as expected"
template: charts/valkey/templates/secret.yaml
asserts:
- documentIndex: 0
equal:
- path: data["valkey-password"]
+ path: data.default-password
value: "Z2l0ZWEtcGFzc3dvcmQ="
- it: "[valkey] renders the referenced service"
- template: charts/valkey/templates/primary/service.yaml
+ template: charts/valkey/templates/service.yaml
asserts:
- containsDocument:
kind: Service
apiVersion: v1
- name: gitea-unittests-valkey-primary
- namespace: testing
+ name: gitea-unittests-valkey
- documentIndex: 0
contains:
path: spec.ports
content:
- name: tcp-redis
- nodePort: null
+ name: tcp
port: 6379
- targetPort: redis
+ targetPort: tcp
+ protocol: TCP
- it: "[gitea] waits for valkey to be up and running"
template: templates/gitea/init.yaml
asserts:
- documentIndex: 0
matchRegex:
path: stringData["configure_gitea.sh"]
- pattern: nc -vz -w2 gitea-unittests-valkey-primary.testing.svc.cluster.local 6379
+ pattern: nc -vz -w2 gitea-unittests-valkey.testing.svc.cluster.local 6379
- it: "[gitea] waits for valkey to be up and running with custom cluster domain"
set:
clusterDomain: my-special-cluster.local
@@ -59,4 +49,4 @@ tests:
- documentIndex: 0
matchRegex:
path: stringData["configure_gitea.sh"]
- pattern: nc -vz -w2 gitea-unittests-valkey-primary.testing.svc.my-special-cluster.local 6379
+ pattern: nc -vz -w2 gitea-unittests-valkey.testing.svc.my-special-cluster.local 6379
diff --git a/unittests/helm/dependency-checks/major-image-bump.yaml b/unittests/helm/dependency-checks/major-image-bump.yaml
index ce2a531..f5d35af 100644
--- a/unittests/helm/dependency-checks/major-image-bump.yaml
+++ b/unittests/helm/dependency-checks/major-image-bump.yaml
@@ -29,24 +29,9 @@ tests:
path: spec.template.spec.containers[0].image
# IN CASE OF AN INTENTIONAL MAJOR BUMP, ADJUST THIS TEST
pattern: bitnamilegacy/postgresql:17.+$
- - it: "[valkey-cluster] ensures we detect major image version upgrades"
- template: charts/valkey-cluster/templates/valkey-statefulset.yaml
- set:
- valkey-cluster:
- enabled: true
- valkey:
- enabled: false
- asserts:
- - documentIndex: 0
- matchRegex:
- path: spec.template.spec.containers[0].image
- # IN CASE OF AN INTENTIONAL MAJOR BUMP, ADJUST THIS TEST
- pattern: bitnamilegacy/valkey-cluster:8.+$
- it: "[valkey] ensures we detect major image version upgrades"
- template: charts/valkey/templates/primary/application.yaml
+ template: charts/valkey/templates/deploy_valkey.yaml
set:
- valkey-cluster:
- enabled: false
valkey:
enabled: true
asserts:
@@ -54,4 +39,4 @@ tests:
matchRegex:
path: spec.template.spec.containers[0].image
# IN CASE OF AN INTENTIONAL MAJOR BUMP, ADJUST THIS TEST
- pattern: bitnamilegacy/valkey:8.+$
+ pattern: valkey/valkey:9.+$
diff --git a/unittests/helm/values-conflicting-checks.yaml b/unittests/helm/values-conflicting-checks.yaml
deleted file mode 100644
index a1ba969..0000000
--- a/unittests/helm/values-conflicting-checks.yaml
+++ /dev/null
@@ -1,14 +0,0 @@
-suite: Values conflicting checks
-release:
- name: gitea-unittests
- namespace: testing
-tests:
- - it: fails when trying to configure valkey and valkey-cluster the same time
- set:
- valkey-cluster:
- enabled: true
- valkey:
- enabled: true
- asserts:
- - failedTemplate:
- errorMessage: valkey and valkey-cluster cannot be enabled at the same time. Please only choose one.
diff --git a/values.yaml b/values.yaml
index 8ab15bf..37be20f 100644
--- a/values.yaml
+++ b/values.yaml
@@ -646,125 +646,63 @@ gitea:
successThreshold: 1
failureThreshold: 10
-## @section valkey-cluster
-## @descriptionStart
-## Valkey cluster and [Valkey](#valkey) cannot be enabled at the same time.
-## @descriptionEnd
-valkey-cluster:
- ## @param valkey-cluster.enabled Enable valkey cluster
- # ⚠️ The valkey charts do not work well with special characters in the password ().
- # Consider omitting such or open an issue in the Bitnami repo and let us know once this got fixed.
- ## @param valkey-cluster.usePassword Whether to use password authentication.
- ## @param valkey-cluster.usePasswordFiles Whether to mount passwords as files instead of environment variables.
- enabled: true
- usePassword: false
- usePasswordFiles: false
-
- ## @param valkey-cluster.image.repository Image repository, eg. `bitnamilegacy/valkey-cluster`.
- image:
- repository: bitnamilegacy/valkey-cluster
-
- ## @param valkey-cluster.cluster.nodes Number of valkey cluster master nodes
- ## @param valkey-cluster.cluster.replicas Number of valkey cluster master node replicas
- cluster:
- nodes: 3 # default: 6
- replicas: 0 # default: 1
-
- ## @param valkey-cluster.metrics.image.repository Image repository, eg. `bitnamilegacy/redis-exporter`.
- metrics:
- image:
- repository: bitnamilegacy/redis-exporter
-
- ## @param valkey-cluster.persistence.enabled Enable persistence on Valkey replicas nodes using Persistent Volume Claims.
- ## @param valkey-cluster.persistence.storageClass Persistent Volume storage class.
- ## @param valkey-cluster.persistence.size Persistent Volume size.
- persistence:
- enabled: true
- storageClass: ""
- size: 8Gi
-
- ## @param valkey-cluster.service.ports.valkey Port of Valkey service
- service:
- ports:
- valkey: 6379
-
- ## @param valkey-cluster.sysctlImage.repository Image repository, eg. `bitnamilegacy/os-shell`.
- sysctlImage:
- repository: bitnamilegacy/os-shell
-
- ## @param valkey-cluster.volumePermissions.image.repository Image repository, eg. `bitnamilegacy/os-shell`.
- volumePermissions:
- image:
- repository: bitnamilegacy/os-shell
-
-
## @section valkey
-
-## @descriptionStart
-## Valkey and [Valkey cluster](#valkey-cluster) cannot be enabled at the same time.
-## @descriptionEnd
valkey:
## @param valkey.enabled Enable valkey standalone or replicated
- ## @param valkey.architecture Whether to use standalone or replication
enabled: false
- architecture: standalone
- ## @param valkey.kubectl.image.repository Image repository, eg. `bitnamilegacy/kubectl`.
- kubectl:
- image:
- repository: bitnamilegacy/kubectl
-
- ## @param valkey.image.repository Image repository, eg. `bitnamilegacy/valkey`.
+ ## @param valkey.image.registry Image registry
+ ## @param valkey.image.repository Image repository
+ ## @param valkey.image.tag Image tag
image:
- repository: bitnamilegacy/valkey
+ registry: docker.io
+ repository: valkey/valkey
+ tag: ""
- # ⚠️ The valkey charts do not work well with special characters in the password ().
- # Consider omitting such or open an issue in the Bitnami repo and let us know once this got fixed.
- ## @param valkey.global.valkey.password Required password
- global:
- valkey:
- password: changeme
+ ## @param valkey.auth.enabled Enable ACL-based authentication
+ ## @param valkey.auth.aclUsers.default.permissions ACL permissions for the default user
+ ## @param valkey.auth.aclUsers.default.password Password for the default user
+ auth:
+ enabled: true
+ aclUsers:
+ default:
+ permissions: "~* &* +@all"
+ password: changeme
- ## @param valkey.master.count Number of Valkey master instances to deploy
- ## @param valkey.master.service.ports.valkey Port of Valkey service
- master:
- count: 1
- service:
- ports:
- valkey: 6379
+ ## @param valkey.service.port Port of Valkey service
+ service:
+ port: 6379
- ## @param valkey.metrics.image.repository Image repository, eg. `bitnamilegacy/redis-exporter`.
- metrics:
- image:
- repository: bitnamilegacy/redis-exporter
-
- primary:
- ## @param valkey.primary.persistence.enabled Enable persistence on Valkey replicas nodes using Persistent Volume Claims.
- ## @param valkey.primary.persistence.storageClass Persistent Volume storage class.
- ## @param valkey.primary.persistence.size Persistent Volume size.
- persistence:
- enabled: true
- storageClass: ""
- size: 8Gi
+ ## @param valkey.dataStorage.enabled Enable persistence using Persistent Volume Claims.
+ ## @param valkey.dataStorage.className Persistent Volume storage class.
+ ## @param valkey.dataStorage.requestedSize Persistent Volume size.
+ dataStorage:
+ enabled: false
+ className: ""
+ requestedSize: 8Gi
+ ## @param valkey.replica.enabled Enable replication
+ ## @param valkey.replica.replicas Number of Valkey replica instances to deploy
+ ## @param valkey.replica.persistence.size Persistent Volume size for replicas.
+ ## @param valkey.replica.persistence.storageClass Persistent Volume storage class for replicas.
replica:
- ## @param valkey.replica.persistence.enabled Enable persistence on Valkey replicas nodes using Persistent Volume Claims.
- ## @param valkey.replica.persistence.storageClass Persistent Volume storage class.
- ## @param valkey.replica.persistence.size Persistent Volume size.
+ enabled: false
+ replicas: 3
persistence:
- enabled: true
- storageClass: ""
size: 8Gi
+ storageClass: ""
- ## @param valkey.sentinel.image.repository Image repository, eg. `bitnamilegacy/sentinel`.
- sentinel:
- image:
- repository: bitnamilegacy/valkey-sentinel
-
- ## @param valkey.volumePermissions.image.repository Image repository, eg. `bitnamilegacy/os-shell`.
- volumePermissions:
- image:
- repository: bitnamilegacy/os-shell
+ ## @param valkey.metrics.enabled Enable Prometheus exporter sidecar
+ ## @param valkey.metrics.exporter.image.registry Image registry
+ ## @param valkey.metrics.exporter.image.repository Image repository
+ ## @param valkey.metrics.exporter.image.tag Image tag
+ metrics:
+ enabled: false
+ exporter:
+ image:
+ registry: ghcr.io
+ repository: oliver006/redis_exporter
+ tag: ""
## @section PostgreSQL HA
postgresql-ha: