Merge "Update vfc charts configutation"
[oom.git] / kubernetes / vfc / charts / vfc-huawei-vnfm-driver / templates / deployment.yaml
1 # Copyright © 2017 Amdocs, Bell Canada
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 #       http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14
15 apiVersion: extensions/v1beta1
16 kind: Deployment
17 metadata:
18   name: {{ include "common.fullname" . }}
19   namespace: {{ include "common.namespace" . }}
20   labels:
21     app: {{ include "common.name" . }}
22     chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
23     release: {{ .Release.Name }}
24     heritage: {{ .Release.Service }}
25 spec:
26   replicas: {{ .Values.replicaCount }}
27   template:
28     metadata:
29       labels:
30         app: {{ include "common.name" . }}
31         release: {{ .Release.Name }}
32     spec:
33       initContainers:
34 #Example init container for dependency checking
35 #      - command:
36 #        - /root/ready.py
37 #        args:
38 #        - --container-name
39 #        - mariadb
40 #        env:
41 #        - name: NAMESPACE
42 #          valueFrom:
43 #            fieldRef:
44 #              apiVersion: v1
45 #              fieldPath: metadata.namespace
46 #        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
47 #        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
48 #        name: {{ include "common.name" . }}-readiness
49       containers:
50         - name: {{ include "common.name" . }}
51           image: "{{ include "common.repository" . }}/{{ .Values.image }}"
52           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
53           ports:
54           - containerPort: {{ .Values.service.internalPort }}
55           - containerPort: {{ .Values.service.internalPort2 }}
56           # disable liveness probe when breakpoints set in debugger
57           # so K8s doesn't restart unresponsive container
58           {{ if .Values.liveness.enabled }}
59           livenessProbe:
60             tcpSocket:
61               port: {{ .Values.service.internalPort }}
62             initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
63             periodSeconds: {{ .Values.liveness.periodSeconds }}
64           {{ end }}
65           readinessProbe:
66             tcpSocket:
67               port: {{ .Values.service.internalPort }}
68             initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
69             periodSeconds: {{ .Values.readiness.periodSeconds }}
70           env:
71             - name: MSB_ADDR
72               value: "{{ .Values.global.config.msbServiceName }}:{{ .Values.global.config.msbPort }}"
73           volumeMounts:
74           - name: {{ include "common.fullname" . }}-localtime
75             mountPath: /etc/localtime
76             readOnly: true
77           - name: {{ include "common.fullname" . }}-logs
78             mountPath: /var/log/onap
79           - name: {{ include "common.fullname" . }}-logconfig
80             mountPath: /opt/vfc/hwvnfmdriver/config/log4j.properties
81             subPath: log4j.properties
82           resources:
83 {{ toYaml .Values.resources | indent 12 }}
84         {{- if .Values.nodeSelector }}
85         nodeSelector:
86 {{ toYaml .Values.nodeSelector | indent 10 }}
87         {{- end -}}
88         {{- if .Values.affinity }}
89         affinity:
90 {{ toYaml .Values.affinity | indent 10 }}
91         {{- end }}
92
93         # side car containers
94         - name: {{ include "common.name" . }}-filebeat-onap
95           image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
96           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
97           volumeMounts:
98           - name: {{ include "common.fullname" . }}-filebeat-conf
99             mountPath: /usr/share/filebeat/filebeat.yml
100             subPath: filebeat.yml
101           - name: {{ include "common.fullname" . }}-logs
102             mountPath: /var/log/onap
103           - name: {{ include "common.fullname" . }}-data-filebeat
104             mountPath: /usr/share/filebeat/data
105
106       volumes:
107         - name: {{ include "common.fullname" . }}-localtime
108           hostPath:
109             path: /etc/localtime
110         - name:  {{ include "common.fullname" . }}-logs
111           emptyDir: {}
112         - name: {{ include "common.fullname" . }}-logconfig
113           configMap:
114             name : {{ include "common.fullname" . }}-logging-configmap
115
116         - name: {{ include "common.fullname" . }}-filebeat-conf
117           configMap:
118             name: {{ .Release.Name }}-vfc-filebeat-configmap
119         - name: {{ include "common.fullname" . }}-data-filebeat
120           emptyDir: {}
121       imagePullSecrets:
122       - name: "{{ include "common.namespace" . }}-docker-registry-key"