{{- if include "frontend.host" . -}} apiVersion: {{ template "common.capabilities.deployment.apiVersion" . }} kind: Deployment metadata: name: {{ template "common.names.fullname" . }} labels: {{- include "common.labels.standard" . | nindent 4 }} component: dashboard {{- if .Values.commonLabels }} {{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }} {{- end }} {{- if .Values.commonAnnotations }} annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }} {{- end }} spec: replicas: {{ .Values.replicaCount }} selector: matchLabels: {{- include "common.labels.matchLabels" . | nindent 6 }} component: dashboard {{- if .Values.updateStrategy }} strategy: {{- toYaml .Values.updateStrategy | nindent 4 }} {{- end }} template: metadata: labels: {{- include "common.labels.standard" . | nindent 8 }} component: dashboard {{- if .Values.podLabels }} {{- include "common.tplvalues.render" (dict "value" .Values.podLabels "context" $) | nindent 8 }} {{- end }} {{- if .Values.podAnnotations }} annotations: {{- include "common.tplvalues.render" (dict "value" .Values.podAnnotations "context" $) | nindent 8 }} {{- end }} spec: {{- include "dashboard.imagePullSecrets" . | nindent 6 }} {{- if .Values.hostAliases }} hostAliases: {{- include "common.tplvalues.render" (dict "value" .Values.hostAliases "context" $) | nindent 8 }} {{- end }} {{- if .Values.affinity }} affinity: {{- include "common.tplvalues.render" (dict "value" .Values.affinity "context" $) | nindent 8 }} {{- else }} affinity: podAffinity: {{- include "common.affinities.pods" (dict "type" .Values.podAffinityPreset "context" $) | nindent 10 }} podAntiAffinity: {{- include "common.affinities.pods" (dict "type" .Values.podAntiAffinityPreset "context" $) | nindent 10 }} nodeAffinity: {{- include "common.affinities.nodes" (dict "type" .Values.nodeAffinityPreset.type "key" .Values.nodeAffinityPreset.key "values" .Values.nodeAffinityPreset.values) | nindent 10 }} {{- end }} {{- if .Values.nodeSelector }} nodeSelector: {{- include "common.tplvalues.render" (dict "value" .Values.nodeSelector "context" $) | nindent 8 }} {{- end }} {{- if .Values.tolerations }} tolerations: {{- include "common.tplvalues.render" (dict "value" .Values.tolerations "context" $) | nindent 8 }} {{- end }} serviceAccountName: {{ include "dashboard.serviceAccountName" . }} securityContext: {{- toYaml .Values.podSecurityContext | nindent 8 }} initContainers: {{- if .Values.initContainers }} {{- include "common.tplvalues.render" (dict "value" .Values.initContainers "context" $) | nindent 8 }} {{- end }} containers: - name: frontend securityContext: {{- toYaml .Values.frontend.containerSecurityContext | nindent 12 }} image: {{ template "frontend.image" . }} imagePullPolicy: {{ .Values.image.pullPolicy | quote }} {{- if .Values.frontend.command }} command: {{- include "common.tplvalues.render" (dict "value" .Values.frontend.command "context" $) | nindent 12 }} {{- end }} {{- if .Values.frontend.args }} args: {{- include "common.tplvalues.render" (dict "value" .Values.frontend.args "context" $) | nindent 12 }} {{- end }} env: {{- if .Values.frontend.extraEnvVars }} {{- include "common.tplvalues.render" (dict "value" .Values.frontend.extraEnvVars "context" $) | nindent 12 }} {{- end }} envFrom: - configMapRef: name: {{ include "common.names.fullname" . }} {{- if .Values.frontend.extraEnvVarsCM }} - configMapRef: name: {{ .Values.frontend.extraEnvVarsCM }} {{- end }} {{- if .Values.frontend.extraEnvVarsSecret }} - secretRef: name: {{ .Values.frontend.extraEnvVarsSecret }} {{- end }} ports: - name: frontend-http containerPort: 80 protocol: TCP {{- if .Values.frontend.livenessProbe.enabled }} livenessProbe: httpGet: path: / port: frontend-http initialDelaySeconds: {{ .Values.frontend.livenessProbe.initialDelaySeconds }} periodSeconds: {{ .Values.frontend.livenessProbe.periodSeconds }} timeoutSeconds: {{ .Values.frontend.livenessProbe.timeoutSeconds }} successThreshold: {{ .Values.frontend.livenessProbe.successThreshold }} failureThreshold: {{ .Values.frontend.livenessProbe.failureThreshold }} {{- else if .Values.frontend.customLivenessProbe }} livenessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.frontend.customLivenessProbe "context" $) | nindent 12 }} {{- end }} {{- if .Values.frontend.readinessProbe.enabled }} readinessProbe: httpGet: path: / port: frontend-http initialDelaySeconds: {{ .Values.frontend.readinessProbe.initialDelaySeconds }} periodSeconds: {{ .Values.frontend.readinessProbe.periodSeconds }} timeoutSeconds: {{ .Values.frontend.readinessProbe.timeoutSeconds }} successThreshold: {{ .Values.frontend.readinessProbe.successThreshold }} failureThreshold: {{ .Values.frontend.readinessProbe.failureThreshold }} {{- else if .Values.frontend.customReadinessProbe }} readinessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.frontend.customReadinessProbe "context" $) | nindent 12 }} {{- end }} volumeMounts: {{- if .Values.frontend.extraVolumeMounts }} {{- include "common.tplvalues.render" (dict "value" .Values.frontend.extraVolumeMounts "context" $) | nindent 12 }} {{- end }} {{- if .Values.frontend.resources }} resources: {{- toYaml .Values.frontend.resources | nindent 12 }} {{- end }} - name: backend securityContext: {{- toYaml .Values.backend.containerSecurityContext | nindent 12 }} image: {{ template "backend.image" . }} imagePullPolicy: {{ .Values.image.pullPolicy | quote }} {{- if .Values.backend.command }} command: {{- include "common.tplvalues.render" (dict "value" .Values.backend.command "context" $) | nindent 12 }} {{- end }} {{- if .Values.backend.args }} args: {{- include "common.tplvalues.render" (dict "value" .Values.backend.args "context" $) | nindent 12 }} {{- end }} env: - name: ADMIN_PANEL_PASSWORD valueFrom: secretKeyRef: name: {{ include "backend.secretName" . }} key: backend-password {{- if (include "backend.smtp.password.enabled" .) }} - name: ADMIN_PANEL_SMTP_PASSWORD valueFrom: secretKeyRef: name: {{ include "backend.smtp.secretName" . }} key: smtp-password {{- end }} {{- if .Values.backend.extraEnvVars }} {{- include "common.tplvalues.render" (dict "value" .Values.backend.extraEnvVars "context" $) | nindent 12 }} {{- end }} envFrom: - configMapRef: name: {{ include "common.names.fullname" . }} {{- if .Values.backend.extraEnvVarsCM }} - configMapRef: name: {{ .Values.backend.extraEnvVarsCM }} {{- end }} {{- if .Values.backend.extraEnvVarsSecret }} - secretRef: name: {{ .Values.backend.extraEnvVarsSecret }} {{- end }} ports: - name: backend-http containerPort: 5000 protocol: TCP {{- if .Values.backend.livenessProbe.enabled }} livenessProbe: httpGet: path: / port: backend-http initialDelaySeconds: {{ .Values.backend.livenessProbe.initialDelaySeconds }} periodSeconds: {{ .Values.backend.livenessProbe.periodSeconds }} timeoutSeconds: {{ .Values.backend.livenessProbe.timeoutSeconds }} successThreshold: {{ .Values.backend.livenessProbe.successThreshold }} failureThreshold: {{ .Values.backend.livenessProbe.failureThreshold }} {{- else if .Values.backend.customLivenessProbe }} livenessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.backend.customLivenessProbe "context" $) | nindent 12 }} {{- end }} {{- if .Values.backend.readinessProbe.enabled }} readinessProbe: httpGet: path: / port: backend-http initialDelaySeconds: {{ .Values.backend.readinessProbe.initialDelaySeconds }} periodSeconds: {{ .Values.backend.readinessProbe.periodSeconds }} timeoutSeconds: {{ .Values.backend.readinessProbe.timeoutSeconds }} successThreshold: {{ .Values.backend.readinessProbe.successThreshold }} failureThreshold: {{ .Values.backend.readinessProbe.failureThreshold }} {{- else if .Values.backend.customReadinessProbe }} readinessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.backend.customReadinessProbe "context" $) | nindent 12 }} {{- end }} volumeMounts: {{- if .Values.backend.extraVolumeMounts }} {{- include "common.tplvalues.render" (dict "value" .Values.backend.extraVolumeMounts "context" $) | nindent 12 }} {{- end }} {{- if .Values.backend.resources }} resources: {{- toYaml .Values.backend.resources | nindent 12 }} {{- end }} {{- if .Values.sidecars }} {{- include "common.tplvalues.render" (dict "value" .Values.sidecars "context" $) | nindent 8 }} {{- end }} volumes: {{- if .Values.extraVolumes }} {{- include "common.tplvalues.render" (dict "value" .Values.extraVolumes "context" $) | nindent 8 }} {{- end }} {{- end }}