You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# For high availability deploy multiple instances of Django, Celery and Redis
286
+
# For high availability deploy multiple instances of Django, Celery and Valkey
287
287
helm install \
288
288
defectdojo \
289
289
./helm/defectdojo \
@@ -292,9 +292,10 @@ helm install \
292
292
--set django.ingress.secretName="minikube-tls" \
293
293
--set django.replicas=3 \
294
294
--set celery.worker.replicas=3 \
295
-
--set redis.replicas=3 \
295
+
--set valkey.architecture=replication \
296
+
--set valkey.replicaCount=3 \
296
297
--set createSecret=true \
297
-
--set createRedisSecret=true \
298
+
--set createValkeySecret=true \
298
299
--set createPostgresqlSecret=true
299
300
300
301
# Run highly available PostgreSQL cluster
@@ -306,13 +307,14 @@ helm install \
306
307
--set host="defectdojo.${TLS_CERT_DOMAIN}" \
307
308
--set django.replicas=3 \
308
309
--set celery.worker.replicas=3 \
309
-
--set redis.replicas=3 \
310
+
--set valkey.architecture=replication \
311
+
--set valkey.replicaCount=3 \
310
312
--set django.ingress.secretName="minikube-tls" \
311
313
--set postgresql.enabled=true \
312
314
--set postgresql.replication.enabled=true \
313
315
--set postgresql.replication.slaveReplicas=3 \
314
316
--set createSecret=true \
315
-
--set createRedisSecret=true \
317
+
--set createValkeySecret=true \
316
318
--set createPostgresqlSecret=true
317
319
318
320
# Note: If you run `helm install defectdojo before, you will get an error
@@ -359,16 +361,13 @@ You will still need to set a host value as well.
359
361
360
362
If you want to use a redis-sentinel setup as the Celery broker, you will need to set the following.
361
363
362
-
1. Set redis.scheme to "sentinel" in values.yaml
364
+
1. Set valkey.scheme to "sentinel" in values.yaml
363
365
2. Set two additional extraEnv vars specifying the sentinel master name and port in values.yaml
364
366
365
367
```yaml
366
-
celery:
367
-
broker: 'redis'
368
-
369
-
redis:
370
-
redisServer: 'PutYourRedisSentinelAddress'
368
+
valkey:
371
369
scheme: 'sentinel'
370
+
redisServer: 'PutYourRedisSentinelAddress'
372
371
373
372
extraEnv:
374
373
- name: DD_CELERY_BROKER_TRANSPORT_OPTIONS
@@ -451,10 +450,10 @@ extraEnv:
451
450
452
451
#### Step 4: Deploy DefectDojo
453
452
454
-
After modifying the `values.yaml` file as needed, deploy DefectDojo using Helm. This command also generates the required secrets for the DefectDojo admin UI and Redis:
453
+
After modifying the `values.yaml` file as needed, deploy DefectDojo using Helm. This command also generates the required secrets for the DefectDojo admin UI and Valkey:
**NOTE**: It is important to highlight that this setup can also be utilized for achieving high availability (HA) in PostgreSQL. By placing a load balancer in front of the PostgreSQL cluster, read and write requests can be efficiently routed to the appropriate primary or standby servers as needed.
@@ -509,8 +508,8 @@ A Helm chart for Kubernetes to install DefectDojo
| createValkeySecret | bool | `false` | create valkey secret in defectdojo chart, outside of valkey chart |
588
587
| dbMigrationChecker.containerSecurityContext | object | `{}` | Container security context for the DB migration checker. |
589
588
| dbMigrationChecker.enabled | bool | `true` | Enable/disable the DB migration checker. |
590
589
| dbMigrationChecker.extraEnv | list | `[]` | Additional environment variables for DB migration checker. |
@@ -727,9 +726,6 @@ A Helm chart for Kubernetes to install DefectDojo
727
726
| postgresql.primary.podSecurityContext.enabled | bool | `true` | Default is true for K8s. Enabled needs to false for OpenShift restricted SCC and true for anyuid SCC |
728
727
| postgresql.primary.podSecurityContext.fsGroup | int | `1001` | fsGroup specification below is not applied if enabled=false. enabled=false is the required setting for OpenShift "restricted SCC" to work successfully. |
729
728
| postgresql.volumePermissions.containerSecurityContext | object | `{"runAsUser":1001}` | if using restricted SCC set runAsUser: "auto" and if running under anyuid SCC - runAsUser needs to match the line above |
730
-
| redis | object | `{"architecture":"standalone","auth":{"existingSecret":"defectdojo-redis-specific","existingSecretPasswordKey":"redis-password","password":""},"enabled":true,"sentinel":{"enabled":false},"tls":{"enabled":false}}` | For more advance options check the bitnami chart documentation: https://github.com/bitnami/charts/tree/main/bitnami/redis |
731
-
| redis.enabled | bool | `true` | To use an external instance, switch enabled to `false`` and set the address in `redisServer` below |
732
-
| redis.tls.enabled | bool | `false` | If TLS is enabled, the Redis broker will use the redis:// and optionally mount the certificates from an existing secret. |
733
729
| redisParams | string | `""` | Parameters attached to the redis connection string, defaults to "ssl_cert_reqs=optional" if `redis.tls.enabled` |
734
730
| redisServer | string | `nil` | To use an external Redis instance, set `redis.enabled` to false and set the address here: |
735
731
| revisionHistoryLimit | int | `10` | Allow overriding of revisionHistoryLimit across all deployments. |
@@ -747,6 +743,10 @@ A Helm chart for Kubernetes to install DefectDojo
| trackConfig | string | `"disabled"` | Track configuration (trackConfig): will automatically respin application pods in case of config changes detection can be: 1. disabled (default) 2. enabled, enables tracking configuration changes based on SHA256 |
746
+
| valkey | object | `{"auth":{"existingSecret":"defectdojo-valkey-specific","existingSecretPasswordKey":"valkey-password","password":""},"enabled":true,"sentinel":{"enabled":false},"service":{"port":6379},"tls":{"enabled":false}}` | For more advance options check the bitnami chart documentation: https://artifacthub.io/packages/helm/cloudpirates-valkey/valkey |
747
+
| valkey.enabled | bool | `true` | To use an external instance, switch enabled to `false` and set the address in `redisServer` below |
748
+
| valkey.service | object | `{"port":6379}` | To use a different port for Redis (default: 6379) |
749
+
| valkey.tls.enabled | bool | `false` | If TLS is enabled, the Redis broker will use the redis:// and optionally mount the certificates from an existing secret. |
750
750
751
751
----------------------------------------------
752
752
Autogenerated from chart metadata using [helm-docs v1.14.2](https://github.com/norwoodj/helm-docs/releases/v1.14.2)
# For high availability deploy multiple instances of Django, Celery and Redis
286
+
# For high availability deploy multiple instances of Django, Celery and Valkey
287
287
helm install \
288
288
defectdojo \
289
289
./helm/defectdojo \
@@ -292,9 +292,10 @@ helm install \
292
292
--set django.ingress.secretName="minikube-tls" \
293
293
--set django.replicas=3 \
294
294
--set celery.worker.replicas=3 \
295
-
--set redis.replicas=3 \
295
+
--set valkey.architecture=replication \
296
+
--set valkey.replicaCount=3 \
296
297
--set createSecret=true \
297
-
--set createRedisSecret=true \
298
+
--set createValkeySecret=true \
298
299
--set createPostgresqlSecret=true
299
300
300
301
# Run highly available PostgreSQL cluster
@@ -306,13 +307,14 @@ helm install \
306
307
--set host="defectdojo.${TLS_CERT_DOMAIN}" \
307
308
--set django.replicas=3 \
308
309
--set celery.worker.replicas=3 \
309
-
--set redis.replicas=3 \
310
+
--set valkey.architecture=replication \
311
+
--set valkey.replicaCount=3 \
310
312
--set django.ingress.secretName="minikube-tls" \
311
313
--set postgresql.enabled=true \
312
314
--set postgresql.replication.enabled=true \
313
315
--set postgresql.replication.slaveReplicas=3 \
314
316
--set createSecret=true \
315
-
--set createRedisSecret=true \
317
+
--set createValkeySecret=true \
316
318
--set createPostgresqlSecret=true
317
319
318
320
# Note: If you run `helm install defectdojo before, you will get an error
@@ -359,16 +361,13 @@ You will still need to set a host value as well.
359
361
360
362
If you want to use a redis-sentinel setup as the Celery broker, you will need to set the following.
361
363
362
-
1. Set redis.scheme to "sentinel" in values.yaml
364
+
1. Set valkey.scheme to "sentinel" in values.yaml
363
365
2. Set two additional extraEnv vars specifying the sentinel master name and port in values.yaml
364
366
365
367
```yaml
366
-
celery:
367
-
broker: 'redis'
368
-
369
-
redis:
370
-
redisServer: 'PutYourRedisSentinelAddress'
368
+
valkey:
371
369
scheme: 'sentinel'
370
+
redisServer: 'PutYourRedisSentinelAddress'
372
371
373
372
extraEnv:
374
373
- name: DD_CELERY_BROKER_TRANSPORT_OPTIONS
@@ -451,10 +450,10 @@ extraEnv:
451
450
452
451
#### Step 4: Deploy DefectDojo
453
452
454
-
After modifying the `values.yaml` file as needed, deploy DefectDojo using Helm. This command also generates the required secrets for the DefectDojo admin UI and Redis:
453
+
After modifying the `values.yaml` file as needed, deploy DefectDojo using Helm. This command also generates the required secrets for the DefectDojo admin UI and Valkey:
0 commit comments