apiVersion: apps/v1 kind: Deployment metadata: name: {{ .Release.Name }} labels: app.kubernetes.io/name: {{ .Chart.Name }} app.kubernetes.io/instance: {{ .Release.Name }} spec: replicas: {{ .Values.replicaCount }} minReadySeconds: {{ .Values.deployment.minReadySeconds }} progressDeadlineSeconds: {{ .Values.deployment.progressDeadlineSeconds }} strategy: type: RollingUpdate rollingUpdate: maxUnavailable: {{ .Values.deployment.maxUnavailable }} maxSurge: {{ .Values.deployment.maxSurge }} selector: matchLabels: app.kubernetes.io/instance: {{ .Release.Name }} template: metadata: labels: app.kubernetes.io/name: {{ .Chart.Name }} app.kubernetes.io/instance: {{ .Release.Name }} spec: {{- if .Values.image.pullSecretName }} imagePullSecrets: - name: {{ .Values.image.pullSecretName }} {{- end }} securityContext: runAsNonRoot: true runAsUser: 101 runAsGroup: 101 seccompProfile: type: RuntimeDefault containers: - name: frontend image: "{{ .Values.image.repository }}:{{ .Chart.AppVersion }}" imagePullPolicy: {{ .Values.image.pullPolicy }} ports: - name: http containerPort: {{ .Values.service.targetPort }} protocol: TCP readinessProbe: httpGet: path: /healthz port: http initialDelaySeconds: 2 periodSeconds: 5 timeoutSeconds: 2 failureThreshold: 3 livenessProbe: httpGet: path: /healthz port: http initialDelaySeconds: 5 periodSeconds: 10 timeoutSeconds: 2 failureThreshold: 3 resources: {{- toYaml .Values.resources | nindent 12 }}