[COMMON] Use deployment for postgresql
[oom.git] / kubernetes / common / postgres / charts / pgpool / templates / deployment.yaml
index 15fa18d..a4b0ca8 100644 (file)
@@ -31,6 +31,33 @@ spec:
         app: {{ include "common.name" . }}
         release: {{ .Release.Name }}
     spec:
+      initContainers:
+      - name: {{ include "common.name" . }}-job
+        image: "{{.Values.repository}}/{{.Values.image}}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        volumeMounts:
+        - name: pgpool-pgconf
+          mountPath: /pgconf/pgpoolconfigdir
+          readOnly: false
+        - name: pgpool-pgconf-static
+          mountPath: /configdir/
+          readOnly: false
+        command:
+        - /bin/sh
+        args:
+        - -c
+        - |
+          cp /configdir/pgpool.conf   /pgconf/pgpoolconfigdir/
+          cp /configdir/pool_hba.conf /pgconf/pgpoolconfigdir/
+          pg_md5 -f /pgconf/pgpoolconfigdir/pgpool.conf --md5auth --username=${PG_USER} ${PG_PASSWORD} 
+        env:
+        - name: PG_PASSWORD
+          valueFrom:
+            secretKeyRef:
+              name: {{ template "common.fullname" . }}
+              key: db-user-password
+        - name: PG_USER
+          value: {{ index .Values.credentials.pgusername }}
       containers:
       - image: "{{.Values.repository}}/{{.Values.image}}"
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
@@ -43,7 +70,10 @@ spec:
         - name: PG_USERNAME
           value: {{.Values.credentials.pgusername}}
         - name: PG_PASSWORD
-          value: {{.Values.credentials.pgpassword}}
+          valueFrom:
+            secretKeyRef:
+              name: {{ template "common.fullname" . }}
+              key: db-user-password
         ports:
         - containerPort: 5432
           name: pgpool
@@ -64,5 +94,7 @@ spec:
           readOnly: false
       volumes:
       - name: pgpool-pgconf
+        emptyDir: {}
+      - name: pgpool-pgconf-static
         configMap:
           name: {{ include "common.fullname" . }}-pgpool-configmap