apiVersion: apps/v1 kind: Deployment metadata: name: {{ .Release.Name }}-backend labels: {{- include "switchboard.backend.labels" . | nindent 4 }} spec: replicas: {{ .Values.backend.replicaCount }} selector: matchLabels: app.kubernetes.io/name: {{ .Chart.Name }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/component: backend template: metadata: labels: app.kubernetes.io/name: {{ .Chart.Name }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/component: backend spec: {{- with .Values.imagePullSecrets }} imagePullSecrets: {{- toYaml . | nindent 8 }} {{- end }} containers: - name: backend image: {{ include "switchboard.backend.image" . }} imagePullPolicy: {{ .Values.backend.image.pullPolicy }} ports: - name: http containerPort: {{ .Values.backend.port }} protocol: TCP envFrom: - configMapRef: name: {{ .Release.Name }}-config - secretRef: name: {{ include "switchboard.secretName" . }} env: - name: DATABASE_URL value: {{ include "switchboard.databaseURL" . | quote }} resources: {{- toYaml .Values.backend.resources | nindent 12 }} {{- if .Values.persistence.enabled }} volumeMounts: - name: data mountPath: /data {{- end }} livenessProbe: httpGet: path: {{ .Values.basePath }}/api/v1/health port: http initialDelaySeconds: 10 periodSeconds: 30 readinessProbe: httpGet: path: {{ .Values.basePath }}/api/v1/health port: http initialDelaySeconds: 5 periodSeconds: 10 {{- if .Values.persistence.enabled }} volumes: - name: data persistentVolumeClaim: claimName: {{ .Release.Name }}-data {{- end }}