Merge "[DMAAP] DMaaP ServiceMesh compatibility"
[oom.git] / kubernetes / vnfsdk / templates / deployment.yaml
1 {{/*
2 # Copyright © 2017 Amdocs, Bell Canada
3 #
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 #       http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15 */}}
16
17 apiVersion: apps/v1
18 kind: Deployment
19 metadata:
20   name: {{ include "common.fullname" . }}
21   namespace: {{ include "common.namespace" . }}
22   labels:
23     app: {{ include "common.name" . }}
24     chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
25     release: {{ include "common.release" . }}
26     heritage: {{ .Release.Service }}
27 spec:
28   selector:
29     matchLabels:
30       app: {{ include "common.name" . }}
31   template:
32     metadata:
33       labels:
34         app: {{ include "common.name" . }}
35         release: {{ include "common.release" . }}
36       name: {{ include "common.name" . }}
37     spec:
38       initContainers: {{ include "common.certInitializer.initContainer" . | nindent 6 }}
39       - command:
40         - sh
41         args:
42         - -c
43         - "cd /config-input && for PFILE in `find . -not -type d | grep -v -F ..`; do envsubst <${PFILE} >/config/${PFILE}; done"
44         env:
45         - name: PG_USER
46           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "pg-user-creds" "key" "login") | indent 10 }}
47         - name: PG_PASSWORD
48           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "pg-user-creds" "key" "password") | indent 10 }}
49         volumeMounts:
50         - mountPath: /config-input
51           name: init-data-input
52         - mountPath: /config
53           name: init-data
54         image: {{ include "repositoryGenerator.image.envsubst" . }}
55         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
56         name: {{ include "common.name" . }}-update-config
57
58       - command:
59         - /app/ready.py
60         args:
61         - --container-name
62         - "{{ .Values.postgres.nameOverride }}"
63         env:
64         - name: NAMESPACE
65           valueFrom:
66             fieldRef:
67               apiVersion: v1
68               fieldPath: metadata.namespace
69         image: {{ include "repositoryGenerator.image.readiness" . }}
70         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
71         name: {{ include "common.name" . }}-readiness
72       containers:
73       - image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
74         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
75         name: {{ include "common.name" . }}
76         resources:
77 {{ include "common.resources" . | indent 12 }}
78         volumeMounts: {{ include "common.certInitializer.volumeMount" . | nindent 8 }}
79         - mountPath: /service/webapps/ROOT/WEB-INF/classes/mybatis/configuration/configuration.xml
80           name: init-data
81           subPath: configuration.xml
82         - mountPath: /etc/nginx/nginx.conf
83           name: nginx
84           subPath: nginx.conf
85         readinessProbe:
86           tcpSocket:
87             port: {{ .Values.service.internalPort }}
88           initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
89           periodSeconds: {{ .Values.readiness.periodSeconds }}
90       imagePullSecrets:
91       - name: "{{ include "common.namespace" . }}-docker-registry-key"
92       volumes: {{ include "common.certInitializer.volumes" . | nindent 6 }}
93       - name: init-data-input
94         configMap:
95           name: {{ include "common.fullname" . }}
96       - name: nginx
97         configMap:
98           name: {{ include "common.fullname" . }}-nginx
99       - name: init-data
100         emptyDir:
101           medium: Memory