apiVersion: apps/v1 kind: Deployment metadata: name: {{ template "kyoo.fullname" . }}-front namespace: {{ .Release.Namespace }} annotations: {{- with .Values.global.annotations }} {{- toYaml . | nindent 4 }} {{- end }} labels: {{- include "kyoo.front.labels" . | nindent 4 }} {{- with .Values.global.labels }} {{ toYaml . | nindent 4 }} {{- end }} spec: revisionHistoryLimit: 3 replicas: {{ .Values.front.replicas }} strategy: type: Recreate selector: matchLabels: {{- include "kyoo.front.matchLabels" . | nindent 6 }} template: metadata: labels: {{- include "kyoo.front.labels" . | nindent 8 }} app.kubernetes.io/component: {{ template "kyoo.name" . }}-front annotations: {{- with .Values.front.podAnnotations }} {{ toYaml . | nindent 8 }} {{- end }} spec: affinity: {{- with .Values.front.affinity }} {{ toYaml . | nindent 8 }} {{- end }} nodeSelector: {{- with .Values.front.nodeSelector }} {{ toYaml . | nindent 8 }} {{- end }} tolerations: {{- with .Values.front.tolerations }} {{ toYaml . | nindent 8 }} {{- end }} serviceAccountName: {{ template "kyoo.serviceAccountName" . }} securityContext: {{- with .Values.front.securityContext }} {{ toYaml . | nindent 8 }} {{- end }} containers: - name: {{ template "kyoo.fullname" . }}-front image: "{{ .Values.front.image.repository }}:{{ .Values.front.image.tag }}" imagePullPolicy: {{ .Values.front.image.pullPolicy }} resources: {{ toYaml .Values.front.resources | nindent 12 }} ports: - name: kyoo-front containerPort: {{ .Values.front.service.port }} protocol: TCP env: {{- with .Values.back.extraVars }} {{- toYaml . | nindent 12 }} {{- end }} - name: KYOO_URL value: http://{{ template "kyoo.fullname" . }}-back.{{ .Release.Namespace }}:{{ .Values.back.service.port }} {{- if .Values.front.livenessProbe.enabled }} livenessProbe: httpGet: path: {{ .Values.front.livenessProbe.path }} port: {{ .Values.front.service.port }} initialDelaySeconds: {{ .Values.front.livenessProbe.initialDelaySeconds }} periodSeconds: {{ .Values.front.livenessProbe.periodSeconds }} timeoutSeconds: {{ .Values.front.livenessProbe.timeoutSeconds }} successThreshold: {{ .Values.front.livenessProbe.successThreshold }} failureThreshold: {{ .Values.front.livenessProbe.failureThreshold }} {{- end }} {{- if .Values.front.readinessProbe.enabled }} readinessProbe: httpGet: path: {{ .Values.front.livenessProbe.path }} port: {{ .Values.front.service.port }} initialDelaySeconds: {{ .Values.front.readinessProbe.initialDelaySeconds }} periodSeconds: {{ .Values.front.readinessProbe.periodSeconds }} timeoutSeconds: {{ .Values.front.readinessProbe.timeoutSeconds }} successThreshold: {{ .Values.front.readinessProbe.successThreshold }} failureThreshold: {{ .Values.front.readinessProbe.failureThreshold }} {{- end }}