{{- if .Values.defaultBackend.enabled -}} apiVersion: apps/v1 kind: Deployment metadata: labels: {{- include "ingress-nginx.labels" . | nindent 4 }} app.kubernetes.io/component: default-backend name: {{ include "ingress-nginx.defaultBackend.fullname" . }} spec: selector: matchLabels: {{- include "ingress-nginx.selectorLabels" . | nindent 6 }} app.kubernetes.io/component: default-backend replicas: {{ .Values.defaultBackend.replicaCount }} revisionHistoryLimit: {{ .Values.revisionHistoryLimit }} template: metadata: {{- if .Values.defaultBackend.podAnnotations }} annotations: {{ toYaml .Values.defaultBackend.podAnnotations | nindent 8 }} {{- end }} labels: {{- include "ingress-nginx.selectorLabels" . | nindent 8 }} app.kubernetes.io/component: default-backend {{- if .Values.defaultBackend.podLabels }} {{- toYaml .Values.defaultBackend.podLabels | nindent 8 }} {{- end }} spec: {{- if .Values.imagePullSecrets }} imagePullSecrets: {{ toYaml .Values.imagePullSecrets | nindent 8 }} {{- end }} {{- if .Values.defaultBackend.priorityClassName }} priorityClassName: {{ .Values.defaultBackend.priorityClassName }} {{- end }} {{- if .Values.defaultBackend.podSecurityContext }} securityContext: {{ toYaml .Values.defaultBackend.podSecurityContext | nindent 8 }} {{- end }} containers: - name: {{ template "ingress-nginx.name" . }}-{{ .Values.defaultBackend.name }} image: {{ .Values.defaultBackend.image.repository }}:{{ .Values.defaultBackend.image.tag }} imagePullPolicy: {{ .Values.defaultBackend.image.pullPolicy }} {{- if .Values.defaultBackend.extraArgs }} args: {{- range $key, $value := .Values.defaultBackend.extraArgs }} {{- if $value }} - --{{ $key }}={{ $value }} {{- else }} - --{{ $key }} {{- end }} {{- end }} {{- end }} securityContext: runAsUser: {{ .Values.defaultBackend.image.runAsUser }} {{- if .Values.defaultBackend.extraEnvs }} env: {{ toYaml .Values.defaultBackend.extraEnvs | nindent 12 }} {{- end }} livenessProbe: httpGet: path: /healthz port: {{ .Values.defaultBackend.port }} scheme: HTTP initialDelaySeconds: {{ .Values.defaultBackend.livenessProbe.initialDelaySeconds }} periodSeconds: {{ .Values.defaultBackend.livenessProbe.periodSeconds }} timeoutSeconds: {{ .Values.defaultBackend.livenessProbe.timeoutSeconds }} successThreshold: {{ .Values.defaultBackend.livenessProbe.successThreshold }} failureThreshold: {{ .Values.defaultBackend.livenessProbe.failureThreshold }} readinessProbe: httpGet: path: /healthz port: {{ .Values.defaultBackend.port }} scheme: HTTP initialDelaySeconds: {{ .Values.defaultBackend.readinessProbe.initialDelaySeconds }} periodSeconds: {{ .Values.defaultBackend.readinessProbe.periodSeconds }} timeoutSeconds: {{ .Values.defaultBackend.readinessProbe.timeoutSeconds }} successThreshold: {{ .Values.defaultBackend.readinessProbe.successThreshold }} failureThreshold: {{ .Values.defaultBackend.readinessProbe.failureThreshold }} ports: - name: http containerPort: {{ .Values.defaultBackend.port }} protocol: TCP {{- if .Values.defaultBackend.resources }} resources: {{ toYaml .Values.defaultBackend.resources | nindent 12 }} {{- end }} {{- if .Values.defaultBackend.nodeSelector }} nodeSelector: {{ toYaml .Values.defaultBackend.nodeSelector | nindent 8 }} {{- end }} serviceAccountName: {{ template "ingress-nginx.defaultBackend.serviceAccountName" . }} {{- if .Values.defaultBackend.tolerations }} tolerations: {{ toYaml .Values.defaultBackend.tolerations | nindent 8 }} {{- end }} {{- if .Values.defaultBackend.affinity }} affinity: {{ toYaml .Values.defaultBackend.affinity | nindent 8 }} {{- end }} terminationGracePeriodSeconds: 60 {{- end }}