apiVersion: apps/v1 kind: Deployment metadata: name: {{ include "incidentops.fullname" . }}-web labels: {{- include "incidentops.web.labels" . | nindent 4 }} spec: {{- if not .Values.web.autoscaling.enabled }} replicas: {{ .Values.web.replicaCount }} {{- end }} selector: matchLabels: {{- include "incidentops.web.selectorLabels" . | nindent 6 }} template: metadata: {{- with .Values.web.podAnnotations }} annotations: {{- toYaml . | nindent 8 }} {{- end }} labels: {{- include "incidentops.web.selectorLabels" . | nindent 8 }} spec: {{- with .Values.global.imagePullSecrets }} imagePullSecrets: {{- toYaml . | nindent 8 }} {{- end }} serviceAccountName: {{ include "incidentops.serviceAccountName" . }} securityContext: {{- toYaml .Values.podSecurityContext | nindent 8 }} containers: - name: web securityContext: {{- toYaml .Values.securityContext | nindent 12 }} image: {{ include "incidentops.web.image" . }} imagePullPolicy: {{ .Values.web.image.pullPolicy }} ports: - name: http containerPort: 3000 protocol: TCP env: - name: NEXT_PUBLIC_API_URL value: "http://{{ include "incidentops.fullname" . }}-api:{{ .Values.api.service.port }}" livenessProbe: httpGet: path: / port: http initialDelaySeconds: 10 periodSeconds: 30 timeoutSeconds: 5 failureThreshold: 3 readinessProbe: httpGet: path: / port: http initialDelaySeconds: 5 periodSeconds: 10 timeoutSeconds: 5 failureThreshold: 3 resources: {{- toYaml .Values.web.resources | nindent 12 }} {{- with .Values.web.nodeSelector }} nodeSelector: {{- toYaml . | nindent 8 }} {{- end }} {{- with .Values.web.affinity }} affinity: {{- toYaml . | nindent 8 }} {{- end }} {{- with .Values.web.tolerations }} tolerations: {{- toYaml . | nindent 8 }} {{- end }}