[COMMON] Use deployment for postgresql

Instead of statefulset + inner work in the container, use deployments in
order to be more reliable

Change-Id: Icf4fe1303ae3489c822558e28bb08b69af2d4970
Issue-ID: OOM-2234
Signed-off-by: Sylvain Desbureaux <sylvain.desbureaux@orange.com>
diff --git a/kubernetes/common/postgres-legacy/charts/pgpool/templates/deployment.yaml b/kubernetes/common/postgres-legacy/charts/pgpool/templates/deployment.yaml
new file mode 100644
index 0000000..15fa18d
--- /dev/null
+++ b/kubernetes/common/postgres-legacy/charts/pgpool/templates/deployment.yaml
@@ -0,0 +1,68 @@
+{{/*
+# Copyright © 2018 Amdocs, AT&T, Bell Canada
+# #
+# # Licensed under the Apache License, Version 2.0 (the "License");
+# # you may not use this file except in compliance with the License.
+# # You may obtain a copy of the License at
+# #
+# #       http://www.apache.org/licenses/LICENSE-2.0
+# #
+# # Unless required by applicable law or agreed to in writing, software
+# # distributed under the License is distributed on an "AS IS" BASIS,
+# # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# # See the License for the specific language governing permissions and
+# # limitations under the License.
+*/}}
+kind: Deployment
+apiVersion: extensions/v1beta1
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: 2
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      containers:
+      - image: "{{.Values.repository}}/{{.Values.image}}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        name: {{ include "common.name" . }}
+        env:
+        - name: PG_PRIMARY_SERVICE_NAME
+          value: {{.Values.container.name.primary}}
+        - name: PG_REPLICA_SERVICE_NAME
+          value: {{.Values.container.name.replica}}
+        - name: PG_USERNAME
+          value: {{.Values.credentials.pgusername}}
+        - name: PG_PASSWORD
+          value: {{.Values.credentials.pgpassword}}
+        ports:
+        - containerPort: 5432
+          name: pgpool
+          protocol: TCP
+        readinessProbe:
+          tcpSocket:
+            port: 5432
+          initialDelaySeconds: 20
+          periodSeconds: 10
+        livenessProbe:
+          tcpSocket:
+            port: 5432
+        initialDelaySeconds: 15
+        periodSeconds: 20
+        volumeMounts:
+        - name: pgpool-pgconf
+          mountPath: /pgconf/pgpoolconfigdir
+          readOnly: false
+      volumes:
+      - name: pgpool-pgconf
+        configMap:
+          name: {{ include "common.fullname" . }}-pgpool-configmap