apiVersion: apps/v1 kind: Deployment metadata: name: {{ .Release.Name }} spec: selector: matchLabels: app.kubernetes.io/name: nextcloud strategy: type: Recreate template: metadata: labels: app.kubernetes.io/name: nextcloud spec: tolerations: - key: "node.kubernetes.io/unreachable" operator: "Exists" effect: "NoExecute" tolerationSeconds: 1 - key: "node.kubernetes.io/not-ready" operator: "Exists" effect: "NoExecute" tolerationSeconds: 1 containers: - name: nextcloud image: {{ .Values.nextcloud.image }} ports: - containerPort: 80 name: http envFrom: - configMapRef: name: {{ .Release.Name }}-nextcloud - secretRef: name: {{ .Release.Name }}-nextcloud volumeMounts: - mountPath: /var/www/html name: html - mountPath: /var/www/html/data name: data resources: requests: memory: "1Gi" cpu: "1m" limits: memory: "4Gi" cpu: "4" - name: postgres image: postgres:15 envFrom: - configMapRef: name: {{ .Release.Name }}-postgres - secretRef: name: {{ .Release.Name }}-postgres volumeMounts: - name: postgres mountPath: /var/lib/postgresql/data - name: postgres-init mountPath: /docker-entrypoint-initdb.d/init-user-db.sh subPath: init-user-db.sh ports: - containerPort: 5432 name: postgres resources: requests: memory: "1Gi" cpu: "1m" limits: memory: "4Gi" cpu: "4" - name: redis image: redis:7 ports: - containerPort: 6379 name: redis volumeMounts: - mountPath: /data name: redis command: - redis-server - --save - "60" - "1" - --loglevel - warning - --requirepass - {{ include "REDIS_PASSWORD" . | b64dec | quote }} resources: requests: memory: "1Gi" cpu: "1m" limits: memory: "4Gi" cpu: "4" volumes: - name: html persistentVolumeClaim: claimName: {{ .Release.Name }}-html-iops - name: data persistentVolumeClaim: claimName: {{ .Release.Name }}-data - name: postgres persistentVolumeClaim: claimName: {{ .Release.Name }}-postgres-iops - name: redis emptyDir: sizeLimit: 500Mi - name: postgres-init secret: secretName: {{ .Release.Name }}-postgres-init