blob: 99345269ba45cae5e328b44af6f44f9b0ddd9028 [file] [log] [blame]
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001{{- if .Values.defaultBackend.enabled -}}
2apiVersion: apps/v1
3kind: Deployment
4metadata:
5 labels:
6 {{- include "ingress-nginx.labels" . | nindent 4 }}
7 app.kubernetes.io/component: default-backend
8 name: {{ include "ingress-nginx.defaultBackend.fullname" . }}
9 namespace: {{ .Release.Namespace }}
10spec:
11 selector:
12 matchLabels:
13 {{- include "ingress-nginx.selectorLabels" . | nindent 6 }}
14 app.kubernetes.io/component: default-backend
15{{- if not .Values.defaultBackend.autoscaling.enabled }}
16 replicas: {{ .Values.defaultBackend.replicaCount }}
17{{- end }}
18 revisionHistoryLimit: {{ .Values.revisionHistoryLimit }}
19 template:
20 metadata:
21 {{- if .Values.defaultBackend.podAnnotations }}
22 annotations: {{ toYaml .Values.defaultBackend.podAnnotations | nindent 8 }}
23 {{- end }}
24 labels:
25 {{- include "ingress-nginx.selectorLabels" . | nindent 8 }}
26 app.kubernetes.io/component: default-backend
27 {{- if .Values.defaultBackend.podLabels }}
28 {{- toYaml .Values.defaultBackend.podLabels | nindent 8 }}
29 {{- end }}
30 spec:
31 {{- if .Values.imagePullSecrets }}
32 imagePullSecrets: {{ toYaml .Values.imagePullSecrets | nindent 8 }}
33 {{- end }}
34 {{- if .Values.defaultBackend.priorityClassName }}
35 priorityClassName: {{ .Values.defaultBackend.priorityClassName }}
36 {{- end }}
37 {{- if .Values.defaultBackend.podSecurityContext }}
38 securityContext: {{ toYaml .Values.defaultBackend.podSecurityContext | nindent 8 }}
39 {{- end }}
40 containers:
41 - name: {{ template "ingress-nginx.name" . }}-default-backend
42 {{- with .Values.defaultBackend.image }}
43 image: "{{- if .repository -}}{{ .repository }}{{ else }}{{ .registry }}/{{ .image }}{{- end -}}:{{ .tag }}{{- if (.digest) -}} @{{.digest}} {{- end -}}"
44 {{- end }}
45 imagePullPolicy: {{ .Values.defaultBackend.image.pullPolicy }}
46 {{- if .Values.defaultBackend.extraArgs }}
47 args:
48 {{- range $key, $value := .Values.defaultBackend.extraArgs }}
49 {{- /* Accept keys without values or with false as value */}}
50 {{- if eq ($value | quote | len) 2 }}
51 - --{{ $key }}
52 {{- else }}
53 - --{{ $key }}={{ $value }}
54 {{- end }}
55 {{- end }}
56 {{- end }}
57 securityContext:
58 capabilities:
59 drop:
60 - ALL
61 runAsUser: {{ .Values.defaultBackend.image.runAsUser }}
62 runAsNonRoot: {{ .Values.defaultBackend.image.runAsNonRoot }}
63 allowPrivilegeEscalation: {{ .Values.defaultBackend.image.allowPrivilegeEscalation }}
64 readOnlyRootFilesystem: {{ .Values.defaultBackend.image.readOnlyRootFilesystem}}
65 {{- if .Values.defaultBackend.extraEnvs }}
66 env: {{ toYaml .Values.defaultBackend.extraEnvs | nindent 12 }}
67 {{- end }}
68 livenessProbe:
69 httpGet:
70 path: /healthz
71 port: {{ .Values.defaultBackend.port }}
72 scheme: HTTP
73 initialDelaySeconds: {{ .Values.defaultBackend.livenessProbe.initialDelaySeconds }}
74 periodSeconds: {{ .Values.defaultBackend.livenessProbe.periodSeconds }}
75 timeoutSeconds: {{ .Values.defaultBackend.livenessProbe.timeoutSeconds }}
76 successThreshold: {{ .Values.defaultBackend.livenessProbe.successThreshold }}
77 failureThreshold: {{ .Values.defaultBackend.livenessProbe.failureThreshold }}
78 readinessProbe:
79 httpGet:
80 path: /healthz
81 port: {{ .Values.defaultBackend.port }}
82 scheme: HTTP
83 initialDelaySeconds: {{ .Values.defaultBackend.readinessProbe.initialDelaySeconds }}
84 periodSeconds: {{ .Values.defaultBackend.readinessProbe.periodSeconds }}
85 timeoutSeconds: {{ .Values.defaultBackend.readinessProbe.timeoutSeconds }}
86 successThreshold: {{ .Values.defaultBackend.readinessProbe.successThreshold }}
87 failureThreshold: {{ .Values.defaultBackend.readinessProbe.failureThreshold }}
88 ports:
89 - name: http
90 containerPort: {{ .Values.defaultBackend.port }}
91 protocol: TCP
92 {{- if .Values.defaultBackend.extraVolumeMounts }}
93 volumeMounts: {{- toYaml .Values.defaultBackend.extraVolumeMounts | nindent 12 }}
94 {{- end }}
95 {{- if .Values.defaultBackend.resources }}
96 resources: {{ toYaml .Values.defaultBackend.resources | nindent 12 }}
97 {{- end }}
98 {{- if .Values.defaultBackend.nodeSelector }}
99 nodeSelector: {{ toYaml .Values.defaultBackend.nodeSelector | nindent 8 }}
100 {{- end }}
101 serviceAccountName: {{ template "ingress-nginx.defaultBackend.serviceAccountName" . }}
102 {{- if .Values.defaultBackend.tolerations }}
103 tolerations: {{ toYaml .Values.defaultBackend.tolerations | nindent 8 }}
104 {{- end }}
105 {{- if .Values.defaultBackend.affinity }}
106 affinity: {{ toYaml .Values.defaultBackend.affinity | nindent 8 }}
107 {{- end }}
108 terminationGracePeriodSeconds: 60
109 {{- if .Values.defaultBackend.extraVolumes }}
110 volumes: {{ toYaml .Values.defaultBackend.extraVolumes | nindent 8 }}
111 {{- end }}
112{{- end }}