--- apiVersion: apps/v1 kind: Deployment metadata: name: {{ .Release.Name }} labels: app.kubernetes.io/name: {{ .Values.appName }} app.kubernetes.io/instance: {{ .Release.Name }} spec: replicas: {{ .Values.replicas }} selector: matchLabels: app.kubernetes.io/instance: {{ .Release.Name }} template: metadata: labels: app.kubernetes.io/name: {{ .Values.appName }} app.kubernetes.io/instance: {{ .Release.Name }} spec: {{- if .Values.volume }} volumes: - name: {{ .Values.volume.name }} persistentVolumeClaim: claimName: {{ .Values.volume.name }} {{- end}} containers: - image: {{ .Values.image.repo }}:{{ .Values.image.tag }} imagePullPolicy: {{ .Values.image.pullPolicy }} name: {{ .Values.appName }} {{- with .Values.env }} env: {{- range $name,$value := . }} - name: {{ $name }} value: {{ $value | quote }} {{- end }} {{- end }} {{- if .Values.secretEnv }} envFrom: - secretRef: name: {{ .Release.Name }}-env {{- end }} {{- if .Values.volume }} volumeMounts: - name: {{ .Values.volume.name }} mountPath: {{ .Values.volume.mountPath }} {{- end }} resources: {{- toYaml .Values.resources | nindent 12 }} readinessProbe: initialDelaySeconds: 5 periodSeconds: 10 timeoutSeconds: 5 failureThreshold: 20 httpGet: path: / port: {{ .Values.port }}