fix(valkey)!: migrate to valkey/valkey (#1097)

Migrate from bitnamicharts/valkey (and bitnamicharts/valkey-cluster) to the official Valkey Helm chart (https://valkey.io/valkey-helm, v0.10.0).

Changes:
- Remove valkey-cluster dependency and all related values, templates, and unit tests
- Update valkey dependency to use https://valkey.io/valkey-helm
- Adapt _helpers.tpl (valkey.dns, valkey.port, valkey.servicename) to the new chart's service naming and value structure
- Update values.yaml to match the new chart's configuration schema (auth.aclUsers instead of global.valkey.password, service.port instead of primary.service.ports.valkey, dataStorage instead of
  primary.persistence)
- Update all affected unit tests
- Update README documentation

BREAKING CHANGE: valkey-cluster support has been removed. Users previously relying on valkey-cluster must migrate to standalone valkey or an external Redis-compatible service. The valkey values structure
has changed: `valkey.global.valkey.password` is now `valkey.auth.aclUsers.default.password`, and `valkey.primary.service.ports.valkey` is now `valkey.service.port`.

---------

Co-authored-by: rishub <183523+rishub@noreply.gitea.com>
Co-authored-by: rishub <itsrishub@gmail.com>
Reviewed-on: https://gitea.com/gitea/helm-gitea/pulls/1097
Co-authored-by: Markus Pesch <markus.pesch@cryptic.systems>
This commit is contained in:
2026-07-20 19:46:18 +00:00
committed by Markus Pesch
co-authored by rishub rishub
parent fbf1f4a62d
commit 407a7027bc
13 changed files with 113 additions and 419 deletions
+5
View File
@@ -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
+4 -7
View File
@@ -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"
+2 -7
View File
@@ -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
+24 -56
View File
@@ -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
<summary>values.yml</summary>
```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
<summary>values.yml</summary>
```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` |
| `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
+7 -15
View File
@@ -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" -}}
+3 -24
View File
@@ -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
+3 -24
View File
@@ -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
+3 -24
View File
@@ -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
@@ -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
@@ -3,54 +3,44 @@ release:
name: gitea-unittests
namespace: testing
set:
valkey-cluster:
enabled: false
valkey:
enabled: true
architecture: standalone
global:
valkey:
auth:
enabled: true
aclUsers:
default:
permissions: "~* &* +@all"
password: gitea-password
master:
count: 2
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
@@ -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.+$
@@ -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.
+40 -102
View File
@@ -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 (<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.
## @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:
## @param valkey.image.registry Image registry
## @param valkey.image.repository Image repository
## @param valkey.image.tag Image tag
image:
repository: bitnamilegacy/kubectl
registry: docker.io
repository: valkey/valkey
tag: ""
## @param valkey.image.repository Image repository, eg. `bitnamilegacy/valkey`.
image:
repository: bitnamilegacy/valkey
# ⚠️ 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.
## @param valkey.global.valkey.password Required password
global:
valkey:
## @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
## @param valkey.service.port Port of Valkey service
service:
ports:
valkey: 6379
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:
## @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:
repository: bitnamilegacy/valkey-sentinel
## @param valkey.volumePermissions.image.repository Image repository, eg. `bitnamilegacy/os-shell`.
volumePermissions:
image:
repository: bitnamilegacy/os-shell
registry: ghcr.io
repository: oliver006/redis_exporter
tag: ""
## @section PostgreSQL HA
postgresql-ha: