Merge "Updated Cloud Guide with links to wiki"
[oom.git] / kubernetes / sdc / charts / sdc-be / 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-es"
26         - --container-name
27         - "sdc-cs"
28         env:
29         - name: NAMESPACE
30           valueFrom:
31             fieldRef:
32               apiVersion: v1
33               fieldPath: metadata.namespace
34         image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
35         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
36       - name: {{ include "common.name" . }}-job-completion
37         image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
38         imagePullPolicy: "{{ .Values.global.pullPolicy | default .Values.pullPolicy }}"
39         command:
40         - /root/job_complete.py
41         args:
42         - --job-name
43         - {{ .Release.Name }}-sdc-cs-config-cassandra
44         env:
45         - name: NAMESPACE
46           valueFrom:
47             fieldRef:
48               apiVersion: v1
49               fieldPath: metadata.namespace
50       containers:
51         - name: {{ include "common.name" . }}
52           image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
53           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
54           ports:
55           - containerPort: {{ .Values.service.internalPort }}
56           - containerPort: {{ .Values.service.internalPort2 }}
57           # disable liveness probe when breakpoints set in debugger
58           # so K8s doesn't restart unresponsive container
59           {{- if eq .Values.liveness.enabled true }}
60           livenessProbe:
61             tcpSocket:
62               port: {{ .Values.service.internalPort }}
63             initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
64             periodSeconds: {{ .Values.liveness.periodSeconds }}
65           {{ end -}}
66           readinessProbe:
67             tcpSocket:
68               port: {{ .Values.service.internalPort }}
69             initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
70             periodSeconds: {{ .Values.readiness.periodSeconds }}
71           env:
72           - name: ENVNAME
73             value: {{ .Values.global.env.name }}
74           - name: JAVA_OPTIONS
75             value: ""
76           - name: HOST_IP
77             valueFrom:
78               fieldRef:
79                 fieldPath: status.podIP
80           volumeMounts:
81           - name: {{ include "common.fullname" . }}-environments
82             mountPath: /root/chef-solo/environments/
83           - name: {{ include "common.fullname" . }}-localtime
84             mountPath: /etc/localtime
85             readOnly: true
86           - name: {{ include "common.fullname" . }}-logs
87             mountPath: /var/log/onap
88           - name: {{ include "common.fullname" . }}-logback
89             mountPath: /tmp/logback.xml
90           lifecycle:
91             postStart:
92               exec:
93                 command: ["/bin/sh", "-c", "export LOG=wait_logback.log; touch $LOG; export SRC=/tmp/logback.xml; export DST=/var/lib/jetty/config/catalog-be/; while [ ! -e $DST ]; do echo 'Waiting for $DST...' >> $LOG; sleep 5; done; sleep 2; /bin/cp -f $SRC $DST; echo 'Done' >> $LOG"]
94           resources:
95 {{ toYaml .Values.resources | indent 12 }}
96         {{- if .Values.nodeSelector }}
97         nodeSelector:
98 {{ toYaml .Values.nodeSelector | indent 10 }}
99         {{- end -}}
100         {{- if .Values.affinity }}
101         affinity:
102 {{ toYaml .Values.affinity | indent 10 }}
103         {{- end }}
104
105         # side car containers
106         - name: {{ include "common.name" . }}-filebeat-onap
107           image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
108           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
109           volumeMounts:
110           - name: {{ include "common.fullname" . }}-filebeat-conf
111             mountPath: /usr/share/filebeat/filebeat.yml
112             subPath: filebeat.yml
113           - name: {{ include "common.fullname" . }}-logs
114             mountPath: /var/log/onap
115           - name: {{ include "common.fullname" . }}-data-filebeat
116             mountPath: /usr/share/filebeat/data
117       volumes:
118         - name: {{ include "common.fullname" . }}-localtime
119           hostPath:
120             path: /etc/localtime
121         - name: {{ include "common.fullname" . }}-filebeat-conf
122           configMap:
123            name: {{ .Release.Name }}-sdc-filebeat-configmap
124         - name: {{ include "common.fullname" . }}-data-filebeat
125           emptyDir: {}
126         - name: {{ include "common.fullname" . }}-logback
127           configMap:
128             name : {{ include "common.fullname" . }}-logging-configmap
129         - name: {{ include "common.fullname" . }}-environments
130           configMap:
131             name: {{ .Release.Name }}-sdc-environments-configmap
132             defaultMode: 0755
133         - name:  {{ include "common.fullname" . }}-logs
134           emptyDir: {}
135       imagePullSecrets:
136       - name: "{{ include "common.namespace" . }}-docker-registry-key"