chart - Add configuration for extra volumes / volume mounts (#3042)

Adds configuration for additional volumes / volumeMounts to the Dendrite
pod to inject configuration / secrets outside of the chart's templates

### Pull Request Checklist

* [x] I have added Go unit tests or [Complement integration
tests](https://github.com/matrix-org/complement) for this PR _or_ I have
justified why this PR doesn't need tests - Helm chart changes
* [x] Pull request includes a [sign off below using a legally
identifiable
name](https://matrix-org.github.io/dendrite/development/contributing#sign-off)
_or_ I have already signed off privately

Signed-off-by: Rhea Danzey <rdanzey@element.io>

---------

Signed-off-by: Rhea Danzey <rdanzey@element.io>
Co-authored-by: Till <2353100+S7evinK@users.noreply.github.com>

[skip ci]
This commit is contained in:
Rhea Danzey 2023-04-03 02:00:32 -05:00 committed by GitHub
parent 44ed0a3279
commit 01dd02dad2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 28 additions and 8 deletions

View file

@ -1,6 +1,6 @@
apiVersion: v2 apiVersion: v2
name: dendrite name: dendrite
version: "0.12.1" version: "0.12.2"
appVersion: "0.12.0" appVersion: "0.12.0"
description: Dendrite Matrix Homeserver description: Dendrite Matrix Homeserver
type: application type: application

View file

@ -12,13 +12,6 @@ spec:
matchLabels: matchLabels:
{{- include "dendrite.selectorLabels" . | nindent 6 }} {{- include "dendrite.selectorLabels" . | nindent 6 }}
replicas: 1 replicas: 1
template:
metadata:
labels:
{{- include "dendrite.selectorLabels" . | nindent 8 }}
annotations:
confighash: secret-{{ .Values.dendrite_config | toYaml | sha256sum | trunc 32 }}
spec:
strategy: strategy:
type: {{ $.Values.strategy.type }} type: {{ $.Values.strategy.type }}
{{- if eq $.Values.strategy.type "RollingUpdate" }} {{- if eq $.Values.strategy.type "RollingUpdate" }}
@ -26,6 +19,13 @@ spec:
maxSurge: {{ $.Values.strategy.rollingUpdate.maxSurge }} maxSurge: {{ $.Values.strategy.rollingUpdate.maxSurge }}
maxUnavailable: {{ $.Values.strategy.rollingUpdate.maxUnavailable }} maxUnavailable: {{ $.Values.strategy.rollingUpdate.maxUnavailable }}
{{- end }} {{- end }}
template:
metadata:
labels:
{{- include "dendrite.selectorLabels" . | nindent 8 }}
annotations:
confighash: secret-{{ .Values.dendrite_config | toYaml | sha256sum | trunc 32 }}
spec:
volumes: volumes:
- name: {{ include "dendrite.fullname" . }}-conf-vol - name: {{ include "dendrite.fullname" . }}-conf-vol
secret: secret:
@ -47,6 +47,9 @@ spec:
- name: {{ include "dendrite.fullname" . }}-search - name: {{ include "dendrite.fullname" . }}-search
persistentVolumeClaim: persistentVolumeClaim:
claimName: {{ default (print ( include "dendrite.fullname" . ) "-search-pvc") $.Values.persistence.search.existingClaim | quote }} claimName: {{ default (print ( include "dendrite.fullname" . ) "-search-pvc") $.Values.persistence.search.existingClaim | quote }}
{{- with .Values.extraVolumes }}
{{ . | toYaml | nindent 6 }}
{{- end }}
containers: containers:
- name: {{ .Chart.Name }} - name: {{ .Chart.Name }}
{{- include "image.name" . | nindent 8 }} {{- include "image.name" . | nindent 8 }}
@ -80,6 +83,9 @@ spec:
name: {{ include "dendrite.fullname" . }}-jetstream name: {{ include "dendrite.fullname" . }}-jetstream
- mountPath: {{ .Values.dendrite_config.sync_api.search.index_path }} - mountPath: {{ .Values.dendrite_config.sync_api.search.index_path }}
name: {{ include "dendrite.fullname" . }}-search name: {{ include "dendrite.fullname" . }}-search
{{- with .Values.extraVolumeMounts }}
{{ . | toYaml | nindent 8 }}
{{- end }}
livenessProbe: livenessProbe:
initialDelaySeconds: 10 initialDelaySeconds: 10
periodSeconds: 10 periodSeconds: 10

View file

@ -43,6 +43,20 @@ persistence:
# -- PVC Storage Request for the search volume # -- PVC Storage Request for the search volume
capacity: "1Gi" capacity: "1Gi"
# Add additional volumes to the Dendrite Pod
extraVolumes: []
# ex.
# - name: extra-config
# secret:
# secretName: extra-config
# Configure additional mount points volumes in the Dendrite Pod
extraVolumeMounts: []
# ex.
# - mountPath: /etc/dendrite/extra-config
# name: extra-config
strategy: strategy:
# -- Strategy to use for rolling updates (e.g. Recreate, RollingUpdate) # -- Strategy to use for rolling updates (e.g. Recreate, RollingUpdate)
# If you are using ReadWriteOnce volumes, you should probably use Recreate # If you are using ReadWriteOnce volumes, you should probably use Recreate