Merge "Remove redundant Ingress service config"
[oom.git] / kubernetes / nbi / templates / deployment.yaml
1 # Copyright © 2018 Orange
2 # Modifications Copyright © 2018  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 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       name: {{ include "common.fullname" . }}
34     spec:
35       containers:
36         - name: {{ include "common.name" . }}
37           image: "{{ include "common.repository" . }}/{{ .Values.image }}"
38           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
39           ports:
40             - containerPort: {{ .Values.service.internalPort }}
41           # disable liveness probe when breakpoints set in debugger
42           # so K8s doesn't restart unresponsive container
43           {{ if .Values.liveness.enabled }}
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: SPRING_DATASOURCE_URL
57               value: jdbc:mariadb://{{ include "common.mariadbService" . }}:{{ include "common.mariadbPort" . }}/{{ index .Values "mariadb-galera" "config" "mysqlDatabase" }}
58             - name: SPRING_DATASOURCE_USERNAME
59               {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "nbi-db-secret" "key" "login") | indent 14 }}
60             - name: SPRING_DATASOURCE_PASSWORD
61               {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "nbi-db-secret" "key" "password") | indent 14 }}
62             - name: SPRING_DATA_MONGODB_HOST
63               value: {{ .Values.mongo.service.name }}.{{ include "common.namespace" . }}
64             - name: SPRING_DATA_MONGODB_PORT
65               value: "{{ .Values.mongo.service.internalPort }}"
66             - name: SPRING_DATA_MONGODB_DATABASE
67               value: {{ .Values.mongo.config.dbName }}
68             - name: ONAP_LCPCLOUDREGIONID
69               value: {{ .Values.config.openStackRegion }}
70             - name: ONAP_TENANTID
71               value: {{ .Values.config.openStackVNFTenantId | quote }}
72             - name: ONAP_CLOUDOWNER
73               value: {{ .Values.config.cloudOwner }}
74             - name: NBI_URL
75               value: "http://nbi.{{ include "common.namespace" . }}:8080/nbi/api/v4"
76             - name: SDC_HOST
77               value: "https://sdc-be.{{ include "common.namespace" . }}:8443"
78             - name: SDC_HEADER_ECOMPINSTANCEID
79               value: {{ .Values.config.ecompInstanceId }}
80             - name: SDC_HEADER_AUTHORIZATION
81               value: {{ .Values.sdc_authorization }}
82             - name: AAI_HOST
83               value: "https://aai.{{ include "common.namespace" . }}:8443"
84             - name: AAI_HEADER_AUTHORIZATION
85               value: {{ .Values.aai_authorization }}
86             - name: SO_HOST
87               value: http://so.{{ include "common.namespace" . }}:8080
88             {{- if .Values.so_authorization }}
89             - name: SO_HEADER_AUTHORIZATION
90               value: {{ .Values.so_authorization }}
91             {{- end }}
92             - name: DMAAP_HOST
93               value: "https://message-router.{{ include "common.namespace" . }}:3905"
94             - name: LOGGING_LEVEL_ORG_ONAP_NBI
95               value: {{ .Values.config.loglevel }}
96             - name: MSB_ENABLED
97               value: "true"
98             - name: MSB_DISCOVERY_HOST
99               value: "msb-discovery.{{ include "common.namespace" . }}"
100             - name: MSB_DISCOVERY_PORT
101               value: "10081"
102           volumeMounts:
103             - mountPath: /etc/localtime
104               name: localtime
105               readOnly: true
106           resources:
107 {{ include "common.resources" . | indent 12 }}
108         {{- if .Values.nodeSelector }}
109         nodeSelector:
110 {{ toYaml .Values.nodeSelector | indent 10 }}
111         {{- end -}}
112         {{- if .Values.affinity }}
113         affinity:
114 {{ toYaml .Values.affinity | indent 10 }}
115         {{- end }}
116       # side car containers
117         # - name: filebeat-onap
118         #   image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
119         #   imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
120         #   volumeMounts:
121         #   - mountPath: /usr/share/filebeat/filebeat.yml
122         #     name: filebeat-conf
123         #     subPath: filebeat.yml
124         #   - mountPath: /home/esr/works/logs
125         #     name: esr-server-logs
126         #   - mountPath: /usr/share/filebeat/data
127         #     name: esr-server-filebeat
128       volumes:
129         - name: localtime
130           hostPath:
131             path: /etc/localtime
132         # - name: filebeat-conf
133         #   configMap:
134         #     name: {{ include "common.fullname" . }}-esr-filebeat
135         # - name: esr-server-logs
136         #   emptyDir: {}
137         # - name: esr-server-filebeat
138         #   emptyDir: {}
139         # - name: esrserver-log
140         #   configMap:
141         #     name: {{ include "common.fullname" . }}-esr-esrserver-log
142       imagePullSecrets:
143       - name: "{{ include "common.namespace" . }}-docker-registry-key"