apiVersion: apps/v1 kind: StatefulSet metadata: name: {{ .Release.Name }}-{{ .Chart.Name }}-sfs labels: app: {{ .Release.Name }}-{{ .Chart.Name }}-sfs spec: replicas: 1 serviceName: {{ .Release.Name }}-{{ .Chart.Name }}-service selector: matchLabels: app: {{ .Release.Name }}-{{ .Chart.Name }}-sfs template: metadata: name: {{ .Release.Name }}-{{ .Chart.Name }}-sfs labels: app: {{ .Release.Name }}-{{ .Chart.Name }}-sfs spec: automountServiceAccountToken: false securityContext: runAsNonRoot: true runAsUser: 20000 runAsGroup: 1000 fsGroup: 1000 fsGroupChangePolicy: Always containers: - name: {{ .Release.Name }}-{{ .Chart.Name }}-sfs image: "registry/image:{{ .Chart.AppVersion }}" imagePullPolicy: IfNotPresent ports: - containerPort: 80 protocol: TCP name: http # TODO: Add liveness and readiness probes {{- with .Values.xxx.resources }} resources: {{ toYaml . | nindent 12 }} {{- end }} securityContext: allowPrivilegeEscalation: false readOnlyRootFilesystem: true runAsNonRoot: true capabilities: drop: - ALL add: - restartPolicy: Always