Merge "Helm Chart Standardization of uui"
[oom.git] / kubernetes / sdc / charts / sdc-fe / templates / deployment.yaml
1 apiVersion: extensions/v1beta1
2 kind: Deployment
3 metadata:
4   name: {{ include "common.fullname" . }}
5   namespace: {{ include "common.namespace" . }}
6   labels:
7     app: {{ include "common.name" . }}
8     chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
9     release: {{ .Release.Name }}
10     heritage: {{ .Release.Service }}
11 spec:
12   replicas: {{ .Values.replicaCount }}
13   template:
14     metadata:
15       labels:
16         app: {{ include "common.name" . }}
17         release: {{ .Release.Name }}
18     spec:
19       initContainers:
20       - name: {{ include "common.name" . }}-readiness
21         command:
22         - /root/ready.py
23         args:
24         - --container-name
25         - "sdc-be"
26         env:
27         - name: NAMESPACE
28           valueFrom:
29             fieldRef:
30               apiVersion: v1
31               fieldPath: metadata.namespace
32         image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
33         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
34       containers:
35         - name: {{ include "common.name" . }}
36           image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
37           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
38           ports:
39           - containerPort: {{ .Values.service.internalPort }}
40           - containerPort: {{ .Values.service.internalPort2 }}
41           # disable liveness probe when breakpoints set in debugger
42           # so K8s doesn't restart unresponsive container
43           {{- if eq .Values.liveness.enabled true }}
44           livenessProbe:
45             tcpSocket:
46               port: {{ .Values.service.internalPort }}
47             initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
48             periodSeconds: {{ .Values.liveness.periodSeconds }}
49           {{ end -}}
50           readinessProbe:
51             tcpSocket:
52               port: {{ .Values.service.internalPort }}
53             initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
54             periodSeconds: {{ .Values.readiness.periodSeconds }}
55           env:
56           - name: ENVNAME
57             value: {{ .Values.global.env.name }}
58           - name: HOST_IP
59             valueFrom:
60               fieldRef:
61                 fieldPath: status.podIP
62           - name: JAVA_OPTIONS
63             value: ""
64           volumeMounts:
65           - name: {{ include "common.fullname" . }}-environments
66             mountPath: /root/chef-solo/environments/
67           - name: {{ include "common.fullname" . }}-localtime
68             mountPath: /etc/localtime
69             readOnly: true
70           - name: {{ include "common.fullname" . }}-logs
71             mountPath: /var/log/onap
72           - name: {{ include "common.fullname" . }}-logback
73             mountPath: /tmp/logback.xml
74           lifecycle:
75             postStart:
76               exec:
77                 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"]
78           resources:
79 {{ toYaml .Values.resources | indent 12 }}
80         {{- if .Values.nodeSelector }}
81         nodeSelector:
82 {{ toYaml .Values.nodeSelector | indent 10 }}
83         {{- end -}}
84         {{- if .Values.affinity }}
85         affinity:
86 {{ toYaml .Values.affinity | indent 10 }}
87         {{- end }}
88
89         # side car containers
90         - name: {{ include "common.name" . }}-filebeat-onap
91           image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
92           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
93           volumeMounts:
94           - name: {{ include "common.fullname" . }}-filebeat-conf
95             mountPath: /usr/share/filebeat/filebeat.yml
96             subPath: filebeat.yml
97           - name: {{ include "common.fullname" . }}-logs
98             mountPath: /var/log/onap
99           - name: {{ include "common.fullname" . }}-data-filebeat
100             mountPath: /usr/share/filebeat/data
101       volumes:
102         - name: {{ include "common.fullname" . }}-localtime
103           hostPath:
104             path: /etc/localtime
105         - name: {{ include "common.fullname" . }}-filebeat-conf
106           configMap:
107             name: {{ .Release.Name }}-sdc-filebeat-configmap
108         - name: {{ include "common.fullname" . }}-data-filebeat
109           emptyDir: {}
110         - name: {{ include "common.fullname" . }}-logback
111           configMap:
112             name : {{ include "common.fullname" . }}-logging-configmap
113         - name: {{ include "common.fullname" . }}-environments
114           configMap:
115             name: {{ .Release.Name }}-sdc-environments-configmap
116             defaultMode: 0755
117         - name:  {{ include "common.fullname" . }}-logs
118           emptyDir: {}
119       imagePullSecrets:
120       - name: "{{ include "common.namespace" . }}-docker-registry-key"