{{- if .Values.postgres.enabled }} apiVersion: v1 kind: Service metadata: name: postgres labels: app: postgres spec: ports: - port: 5432 targetPort: 5432 name: postgres selector: app: postgres --- apiVersion: apps/v1 kind: StatefulSet metadata: name: postgres labels: app: postgres spec: serviceName: postgres replicas: 1 selector: matchLabels: app: postgres podManagementPolicy: Parallel template: metadata: labels: app: postgres spec: containers: - name: postgres image: {{ .Values.postgres.image.repository }}:{{ .Values.postgres.image.tag }} env: - name: POSTGRES_DB value: handheld_devices - name: POSTGRES_USER value: devices_user - name: POSTGRES_PASSWORD valueFrom: secretKeyRef: name: handheld-devices-secrets key: db-password ports: - containerPort: 5432 volumeMounts: - name: postgres-data mountPath: /var/lib/postgresql/data volumes: - name: postgres-data {{- if .Values.postgres.persistence.enabled }} persistentVolumeClaim: claimName: postgres-pvc {{- else }} emptyDir: {} {{- end }} --- {{- if .Values.postgres.persistence.enabled }} apiVersion: v1 kind: PersistentVolumeClaim metadata: name: postgres-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: {{ .Values.postgres.persistence.size }} {{- end }} {{- end }}