apiVersion: apps/v1 kind: Deployment metadata: name: {{ .Release.Name }}-{{ .Chart.Name }}-deployment labels: app: {{ .Release.Name }}-{{ .Chart.Name }}-deployment spec: replicas: 1 selector: matchLabels: app: {{ .Release.Name }}-{{ .Chart.Name }}-deployment template: metadata: name: {{ .Release.Name }}-{{ .Chart.Name }}-deployment labels: app: {{ .Release.Name }}-{{ .Chart.Name }}-deployment spec: automountServiceAccountToken: false securityContext: runAsNonRoot: true runAsUser: 20000 runAsGroup: 1000 fsGroup: 1000 fsGroupChangePolicy: Always containers: - name: {{ .Release.Name }}-{{ .Chart.Name }}-deployment image: "registry/image:{{ .Chart.AppVersion }}" imagePullPolicy: IfNotPresent ports: - containerPort: 80 protocol: TCP name: http livenessProbe: {{ toYaml .Values.xxx.livenessProbe | nindent 12 }} readinessProbe: {{ toYaml .Values.xxx.readinessProbe | nindent 12 }} startupProbe: {{ toYaml .Values.xxx.startupProbe | nindent 12 }} resources: {{ toYaml .Values.xxx.resources | nindent 12 }} securityContext: allowPrivilegeEscalation: false readOnlyRootFilesystem: true runAsNonRoot: true capabilities: drop: - ALL add: - restartPolicy: Always