diff --git a/backend/duo-backend/templates/deployment.yaml b/backend/duo-backend/templates/deployment.yaml index 3e2ea87..5c3b98b 100644 --- a/backend/duo-backend/templates/deployment.yaml +++ b/backend/duo-backend/templates/deployment.yaml @@ -53,6 +53,9 @@ spec: port: http resources: {{- toYaml .Values.resources | nindent 12 }} + volumeMounts: + - name: uploads + mountPath: /home/node/app/uploads/ {{- with .Values.nodeSelector }} nodeSelector: {{- toYaml . | nindent 8 }} @@ -65,3 +68,11 @@ spec: tolerations: {{- toYaml . | nindent 8 }} {{- end }} + volumes: + - name: uploads + {{- if .Values.persistence.enabled }} + persistentVolumeClaim: + claimName: {{ include "duo-backend.fullname" . }} + {{- else }} + emptyDir: {} + {{- end }} diff --git a/backend/duo-backend/templates/pvc.yaml b/backend/duo-backend/templates/pvc.yaml new file mode 100644 index 0000000..7eaae20 --- /dev/null +++ b/backend/duo-backend/templates/pvc.yaml @@ -0,0 +1,17 @@ +{{- if .Values.persistence.enabled }} +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: "{{ include "duo-backend.fullname" . }}" + labels: + {{- include "duo-backend.labels" . | nindent 4 }} +spec: + accessModes: + - {{ required ".Values.persistence.accessMode must be set" .Values.persistence.accessMode }} + resources: + requests: + storage: {{ required ".Values.persistence.size must be set" .Values.persistence.size }} + {{- with .Values.persistence.storageClassName }} + storageClassName: {{ . }} + {{- end }} +{{- end }} \ No newline at end of file diff --git a/backend/duo-backend/values.yaml b/backend/duo-backend/values.yaml index fe8cd4e..1ef21a8 100644 --- a/backend/duo-backend/values.yaml +++ b/backend/duo-backend/values.yaml @@ -9,12 +9,12 @@ image: tag: develop pullPolicy: Always -env: - - name: DATABASE_URL - valueFrom: - secretKeyRef: - name: duo-db-svcbind-custom-user - key: uri +env: [] +# - name: DATABASE_URL +# valueFrom: +# secretKeyRef: +# name: duo-db-svcbind-custom-user +# key: uri envFrom: {} @@ -57,6 +57,15 @@ ingress: resources: {} +# -- Backend component needs a storage for Uploads. +persistence: + # -- If false, an EmptyDir is used. + enabled: false + size: "" + storageClassName: "" + # Should be ReadWriteMany, unless only one Pod is deployed. + accessMode: ReadWriteMany + nodeSelector: {} tolerations: [] diff --git a/user-office-app/.gitignore b/user-office-app/.gitignore new file mode 100644 index 0000000..1654d0d --- /dev/null +++ b/user-office-app/.gitignore @@ -0,0 +1,2 @@ +charts/ +Chart.lock \ No newline at end of file diff --git a/user-office-app/Chart.yaml b/user-office-app/Chart.yaml index 8deac0f..ebbf71f 100644 --- a/user-office-app/Chart.yaml +++ b/user-office-app/Chart.yaml @@ -41,6 +41,7 @@ dependencies: repository: https://charts.bitnami.com/bitnami version: 15.5.11 alias: duo-db + condition: duo-db.enabled - name: duo-scheduler-backend condition: scheduler.enabled version: 0.1.0 diff --git a/user-office-app/values.yaml b/user-office-app/values.yaml index d76d508..74a7bf0 100644 --- a/user-office-app/values.yaml +++ b/user-office-app/values.yaml @@ -27,6 +27,9 @@ duo-factory: fullnameOverride: duo-factory duo-db: + # If disabled, database configuration for external Postgresql should be + # provided via .duo-backend.env environment. + enabled: true fullnameOverride: duo-db serviceBindings: enabled: true