diff --git a/charts/tennotrade-chart/templates/service.yaml b/charts/tennotrade-chart/templates/service.yaml index 5d00d6f..0e77517 100644 --- a/charts/tennotrade-chart/templates/service.yaml +++ b/charts/tennotrade-chart/templates/service.yaml @@ -1,9 +1,9 @@ apiVersion: v1 kind: Service metadata: - name: {{ .Release.Name }} + name: {{ .Release.Name }}-headless spec: - type: ClusterIP + clusterIP: None selector: app: {{ .Release.Name }} ports: diff --git a/charts/tennotrade-chart/templates/deployment.yaml b/charts/tennotrade-chart/templates/statefullset.yaml similarity index 63% rename from charts/tennotrade-chart/templates/deployment.yaml rename to charts/tennotrade-chart/templates/statefullset.yaml index b89d799..3f4dd6f 100644 --- a/charts/tennotrade-chart/templates/deployment.yaml +++ b/charts/tennotrade-chart/templates/statefullset.yaml @@ -1,8 +1,9 @@ apiVersion: apps/v1 -kind: Deployment +kind: StatefulSet metadata: name: {{ .Release.Name }}-db spec: + serviceName: {{ .Release.Name }}-headless replicas: 1 selector: matchLabels: @@ -27,6 +28,15 @@ spec: volumeMounts: - name: data mountPath: /var/lib/postgresql/data - volumes: - - name: data - emptyDir: {} \ No newline at end of file + volumeClaimTemplates: + - metadata: + name: data + spec: + accessModes: + - {{ .Values.persistence.accessMode }} + resources: + requests: + storage: {{ .Values.persistence.size }} + {{- if .Values.persistence.storageClass }} + storageClassName: {{ .Values.persistence.storageClass | quote }} + {{- end }} \ No newline at end of file diff --git a/charts/tennotrade-chart/values.yaml b/charts/tennotrade-chart/values.yaml index 4469e1d..01ef0d5 100644 --- a/charts/tennotrade-chart/values.yaml +++ b/charts/tennotrade-chart/values.yaml @@ -4,4 +4,11 @@ postgres: password: wfpass # simple for POC database: wf service: - port: 5432 \ No newline at end of file + port: 5432 + +# Persistence configuration for StatefulSet +persistence: + enabled: true + accessMode: ReadWriteOnce + storageClass: "nfs-client" # empty -> default StorageClass. Set to e.g. 'fast' if needed + size: 8Gi \ No newline at end of file