--- apiVersion: apps/v1 kind: Deployment metadata: name: {{ .Values.name }}-backend namespace: {{ .Release.Namespace }} spec: selector: matchLabels: app: {{ .Values.name }} role: backend replicas: {{ .Values.backend_num_replicas }} template: metadata: labels: app: {{ .Values.name }} role: backend annotations: # force helm to update the deployment each time {{- if not .Values.frontend_only }} "helm.update": {{ randAlphaNum 5 | quote }} {{- end }} spec: {{- if .Values.main_node_type }} nodeSelector: nodeType: {{ .Values.main_node_type }} {{- end }} containers: - name: api image: {{ .Values.backend_image }} imagePullPolicy: {{ .Values.backend_pull_policy }} envFrom: - configMapRef: name: {{ .Values.name }}-env-config - secretRef: name: auth-secrets - secretRef: name: mongo-auth resources: limits: cpu: {{ .Values.backend_limits_cpu }} memory: {{ .Values.backend_limits_memory }} requests: cpu: {{ .Values.backend_requests_cpu }} memory: {{ .Values.backend_requests_memory }} startupProbe: httpGet: path: /healthz port: 8000 initialDelaySeconds: 5 periodSeconds: 5 failureThreshold: 30 successThreshold: 1 readinessProbe: httpGet: path: /healthz port: 8000 initialDelaySeconds: 5 periodSeconds: 30 failureThreshold: 5 successThreshold: 1 livenessProbe: httpGet: path: /healthz port: 8000 initialDelaySeconds: 5 periodSeconds: 30 failureThreshold: 5 successThreshold: 1 --- apiVersion: v1 kind: Service metadata: namespace: {{ .Release.Namespace }} name: {{ .Values.name }}-backend labels: app: {{ .Values.name }} role: backend {{- if .Values.service }} {{- if .Values.service.annotations }} annotations: {{- range $key, $val := .Values.service.annotations }} {{ $key }}: {{ $val | quote }} {{- end }} {{- end }} {{- end }} spec: selector: app: {{ .Values.name }} role: backend ports: - protocol: TCP port: 8000 name: api