Merge "Updated sdc cert."
[oom.git] / kubernetes / sdc / charts / sdc-fe / templates / deployment.yaml
1 # Copyright © 2017 Amdocs, Bell Canada
2 # Modifications Copyright © 2018 AT&T, ZTE
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 apiVersion: extensions/v1beta1
17 kind: Deployment
18 metadata:
19   name: {{ include "common.fullname" . }}
20   namespace: {{ include "common.namespace" . }}
21   labels:
22     app: {{ include "common.name" . }}
23     chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
24     release: {{ include "common.release" . }}
25     heritage: {{ .Release.Service }}
26 spec:
27   replicas: {{ .Values.replicaCount }}
28   template:
29     metadata:
30       labels:
31         app: {{ include "common.name" . }}
32         release: {{ include "common.release" . }}
33     spec:
34       initContainers:
35       - name: {{ include "common.name" . }}-job-completion
36         image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
37         imagePullPolicy: "{{ .Values.global.pullPolicy | default .Values.pullPolicy }}"
38         command:
39         - /root/job_complete.py
40         args:
41         - --job-name
42         - {{ include "common.release" . }}-sdc-be-config-backend
43         env:
44         - name: NAMESPACE
45           valueFrom:
46             fieldRef:
47               apiVersion: v1
48               fieldPath: metadata.namespace
49       - name: {{ include "common.name" . }}-update-config
50         image: "{{ .Values.global.envsubstImage }}"
51         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
52         command:
53           - sh
54         args:
55           - -c
56           - "cd /config-input && for PFILE in `find . -not -type d | grep -v -F ..`; do envsubst <${PFILE} >/config-output/${PFILE}; chmod 0755 /config-output/${PFILE}; done"
57         env:
58           - name: KEYSTORE_PASS
59             valueFrom:
60               secretKeyRef:
61                 name: {{ include "common.release" . }}-sdc-cs-secrets
62                 key: keystore_password
63           - name: TRUSTSTORE_PASS
64             valueFrom:
65               secretKeyRef:
66                 name: {{ include "common.release" . }}-sdc-cs-secrets
67                 key: truststore_password
68         volumeMounts:
69           - name: {{ include "common.fullname" . }}-environments
70             mountPath: /config-input/
71           - name: sdc-environments-output
72             mountPath: /config-output/
73       containers:
74         - name: {{ include "common.name" . }}
75           image: "{{ include "common.repository" . }}/{{ .Values.image }}"
76           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
77           ports:
78           - containerPort: {{ .Values.service.internalPort }}
79           - containerPort: {{ .Values.service.internalPort2 }}
80           {{ if eq .Values.liveness.enabled true }}
81           livenessProbe:
82             tcpSocket:
83               port: {{ .Values.service.internalPort2 }}
84             initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
85             periodSeconds: {{ .Values.liveness.periodSeconds }}
86             timeoutSeconds: {{ .Values.liveness.timeoutSeconds }}
87           {{ end }}
88           readinessProbe:
89             tcpSocket:
90               port: {{ .Values.service.internalPort2 }}
91             initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
92             periodSeconds: {{ .Values.readiness.periodSeconds }}
93             timeoutSeconds: {{ .Values.liveness.timeoutSeconds }}
94           resources:
95 {{ include "common.resources" . | indent 12 }}
96           env:
97           - name: ENVNAME
98             value: {{ .Values.global.env.name }}
99           - name: HOST_IP
100             valueFrom:
101               fieldRef:
102                 fieldPath: status.podIP
103           - name: JAVA_OPTIONS
104             value: {{ .Values.config.javaOptions }}
105           volumeMounts:
106           - name: sdc-environments-output
107             mountPath: /var/lib/jetty/chef-solo/environments/
108           - name: sdc-cert
109             mountPath: /var/lib/jetty/chef-solo/cookbooks/sdc-catalog-fe/files/default/org.onap.sdc.p12
110             subPath: org.onap.sdc.p12
111           - name: sdc-cert
112             mountPath: /var/lib/jetty/chef-solo/cookbooks/sdc-catalog-fe/files/default/org.onap.sdc.trust.jks
113             subPath: org.onap.sdc.trust.jks
114           - name: {{ include "common.fullname" . }}-localtime
115             mountPath: /etc/localtime
116             readOnly: true
117           - name: {{ include "common.fullname" . }}-logs
118             mountPath: /var/log/onap
119           - name: {{ include "common.fullname" . }}-configs
120             mountPath: /var/lib/jetty/config/catalog-fe/plugins-configuration.yaml
121             subPath: plugins-configuration.yaml
122           - name: {{ include "common.fullname" . }}-logback
123             mountPath: /tmp/logback.xml
124             subPath: logback.xml
125           lifecycle:
126             postStart:
127               exec:
128                 command: ["/bin/sh", "-c", "export LOG=wait_logback.log; touch $LOG; export SRC=/tmp/logback.xml; export DST=/var/lib/jetty/config/catalog-fe/; while [ ! -e $DST ]; do echo 'Waiting for $DST...' >> $LOG; sleep 5; done; sleep 2; /bin/cp -f $SRC $DST; echo 'Done' >> $LOG"]
129         # side car containers
130         - name: {{ include "common.name" . }}-filebeat-onap
131           image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
132           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
133           volumeMounts:
134           - name: {{ include "common.fullname" . }}-filebeat-conf
135             mountPath: /usr/share/filebeat/filebeat.yml
136             subPath: filebeat.yml
137           - name: {{ include "common.fullname" . }}-logs
138             mountPath: /var/log/onap
139           - name: {{ include "common.fullname" . }}-data-filebeat
140             mountPath: /usr/share/filebeat/data
141       volumes:
142         - name: {{ include "common.fullname" . }}-localtime
143           hostPath:
144             path: /etc/localtime
145         - name: sdc-cert
146           secret:
147             secretName: sdc-cert
148         - name: {{ include "common.fullname" . }}-filebeat-conf
149           configMap:
150             name: {{ include "common.release" . }}-sdc-filebeat-configmap
151         - name: {{ include "common.fullname" . }}-data-filebeat
152           emptyDir: {}
153         - name: {{ include "common.fullname" . }}-configs
154           configMap:
155             name : {{ include "common.fullname" . }}-plugins-configmap
156             defaultMode: 0777
157         - name: {{ include "common.fullname" . }}-logback
158           configMap:
159             name : {{ include "common.fullname" . }}-logging-configmap
160         - name: {{ include "common.fullname" . }}-environments
161           configMap:
162             name: {{ include "common.release" . }}-sdc-environments-configmap
163             defaultMode: 0755
164         - name: sdc-environments-output
165           emptyDir: { medium: "Memory" }
166         - name: {{ include "common.fullname" . }}-logs
167           emptyDir: {}
168       imagePullSecrets:
169       - name: "{{ include "common.namespace" . }}-docker-registry-key"