apiVersion: apps/v1 kind: Deployment metadata: name: {{ include "gilded-rose.fullname" . }} labels: {{- include "gilded-rose.labels" . | nindent 4 }} service: backend spec: {{- if not .Values.backend.autoscaling.enabled }} replicas: {{ .Values.backend.replicaCount }} {{- end }} selector: matchLabels: {{- include "gilded-rose.selectorLabels" . | nindent 6 }} service: backend strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 maxUnavailable: 0 template: metadata: {{- with .Values.backend.podAnnotations }} annotations: {{- toYaml . | nindent 8 }} {{- end }} labels: {{- include "gilded-rose.selectorLabels" . | nindent 8 }} service: backend spec: {{- with .Values.imagePullSecrets }} imagePullSecrets: {{- toYaml . | nindent 8 }} {{- end }} serviceAccountName: {{ include "gilded-rose.serviceAccountName" . }} securityContext: {{- toYaml .Values.backend.podSecurityContext | nindent 8 }} containers: - name: {{ .Chart.Name }} securityContext: {{- toYaml .Values.backend.securityContext | nindent 12 }} image: "{{ .Values.backend.image.repository }}:{{ .Values.backend.image.tag | default .Chart.AppVersion }}" imagePullPolicy: {{ .Values.backend.image.pullPolicy }} ports: - name: http containerPort: 8080 protocol: TCP livenessProbe: httpGet: path: /status port: http readinessProbe: httpGet: path: /status port: http startupProbe: httpGet: path: /status port: http {{- with .Values.backend.volumeMounts }} volumeMounts: {{- toYaml . | nindent 12 }} {{- end }} resources: {{- toYaml .Values.backend.resources | nindent 12 }} env: {{- toYaml .Values.backend.env | nindent 12 }} - name: SERVER_PORT value: "8080" {{- with .Values.backend.nodeSelector }} nodeSelector: {{- toYaml . | nindent 8 }} {{- end }} {{- with .Values.backend.volumes }} volumes: {{- toYaml . | nindent 8 }} {{- end}} {{- with .Values.backend.affinity }} affinity: {{- toYaml . | nindent 8 }} {{- end }} {{- with .Values.backend.tolerations }} tolerations: {{- toYaml . | nindent 8 }} {{- end }} terminationGracePeriodSeconds: 10 topologySpreadConstraints: - maxSkew: 1 topologyKey: topology.kubernetes.io/zone #topologyKey: kubernetes.io/hostname whenUnsatisfiable: ScheduleAnyway labelSelector: matchLabels: {{- include "gilded-rose.selectorLabels" . | nindent 12 }} service: backend