apiVersion: apps/v1 kind: StatefulSet metadata: name: {{ .Values.database.name }} namespace: {{ .Values.common.namespace }} labels: app: {{ .Values.database.name }} spec: 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 valueFrom: secretKeyRef: name: {{ .Values.common.secretName }} key: database_root_password - name: MYSQL_DATABASE valueFrom: secretKeyRef: name: {{ .Values.common.secretName }} key: default_database - name: MYSQL_USER valueFrom: secretKeyRef: name: {{ .Values.common.secretName }} key: database_username - name: MYSQL_PASSWORD valueFrom: secretKeyRef: name: {{ .Values.common.secretName }} key: database_password 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 }}