apiVersion: apps/v1 kind: StatefulSet metadata: name: {{ .Values.database.name }} namespace: {{ .Values.common.namespace }} labels: app: {{ .Values.database.name }} spec: serviceName: {{ .Values.database.service.name }} selector: matchLabels: app: {{ .Values.database.name }} template: metadata: labels: app: {{ .Values.database.name }} spec: containers: - name: {{ .Values.database.name }} image: {{ .Values.database.image }} ports: - containerPort: {{ .Values.database.ports.containerPort }} name: {{ .Values.database.ports.name }} env: - name: MYSQL_ROOT_PASSWORD value: {{ .Values.database.env.root_password | quote }} - name: MYSQL_DATABASE value: {{ .Values.database.env.default_database | quote }} - name: MYSQL_USER value: {{ .Values.database.env.username | quote }} - name: MYSQL_PASSWORD value: {{ .Values.database.env.password | quote }} volumeMounts: - name: {{ .Values.database.volume.name }} mountPath: {{ .Values.database.volume.mountPath }} volumes: {{- if .Values.database.persistence.enabled }} - name: {{ .Values.database.volume.name }} persistentVolumeClaim: claimName: {{ .Values.database.persistence.existingClaim | default .Values.database.persistence.claimName }} {{- else }} - name: {{ .Values.database.volume.name }} emptyDir: {} {{- end }}