[MULTICLOUD] Update chart with service account
[oom.git] / kubernetes / multicloud / components / multicloud-starlingx / templates / deployment.yaml
1 {{/*
2 # Copyright (c) 2019 Intel Corporation.
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
17 apiVersion: apps/v1
18 kind: Deployment
19 metadata:
20   name: {{ include "common.fullname" . }}
21   namespace: {{ include "common.namespace" . }}
22   labels:
23     app: {{ include "common.name" . }}
24     chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
25     release: {{ include "common.release" . }}
26     heritage: {{ .Release.Service }}
27 spec:
28   replicas: {{ .Values.replicaCount }}
29   selector:
30     matchLabels:
31       app: {{ include "common.name" . }}
32   template:
33     metadata:
34       labels:
35         app: {{ include "common.name" . }}
36         release: {{ include "common.release" . }}
37       name: {{ include "common.name" . }}
38       annotations:
39         sidecar.istio.io/inject: "{{.Values.istioSidecar}}"
40     spec:
41       containers:
42       - env:
43         - name: MSB_PROTO
44           value: {{ .Values.config.msbprotocol }}
45         - name: MSB_ADDR
46           value: "{{ .Values.config.msbgateway }}.{{ include "common.namespace" . }}"
47         - name: MSB_PORT
48           value: "{{ .Values.config.msbPort }}"
49         - name: AAI_ADDR
50           value: aai.{{ include "common.namespace" . }}
51         - name: AAI_PORT
52           value: "{{ .Values.config.aai.port }}"
53         - name: AAI_SCHEMA_VERSION
54           value: "{{ .Values.config.aai.schemaVersion }}"
55         - name: AAI_USERNAME
56           value: "{{ .Values.config.aai.username }}"
57         - name: AAI_PASSWORD
58           value: "{{ .Values.config.aai.password }}"
59         - name: SSL_ENABLED
60           value: "{{ .Values.config.ssl_enabled }}"
61         name: {{ include "common.name" . }}
62         volumeMounts:
63         - mountPath: /var/log/onap
64           name: starlingx-log
65         - mountPath: /opt/starlingx/starlingx/pub/config/log.yml
66           name: starlingx-logconfig
67           subPath: log.yml
68         - mountPath: /opt/artifacts/
69           name: artifact-data
70         resources: {{ include "common.resources" . | nindent 12 }}
71         image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
72         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
73         ports:
74         - containerPort: {{ .Values.service.internalPort }}
75         # disable liveness probe when breakpoints set in debugger
76         # so K8s doesn't restart unresponsive container
77         {{ if .Values.liveness.enabled }}
78         livenessProbe:
79           httpGet:
80             path: /api/multicloud-starlingx/v0/swagger.json
81             port: {{ .Values.service.internalPort }}
82             scheme: HTTPS
83           initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
84           periodSeconds: {{ .Values.liveness.periodSeconds }}
85           timeoutSeconds: {{ .Values.liveness.timeoutSeconds }}
86           successThreshold: {{ .Values.liveness.successThreshold }}
87           failureThreshold: {{ .Values.liveness.failureThreshold }}
88         {{ end }}
89       # side car containers
90       - image: {{ include "repositoryGenerator.image.logging" . }}
91         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
92         name: filebeat-onap
93         volumeMounts:
94         - mountPath: /usr/share/filebeat/filebeat.yml
95           name: filebeat-conf
96           subPath: filebeat.yml
97         - mountPath: /var/log/onap
98           name: starlingx-log
99         - mountPath: /usr/share/filebeat/data
100           name: starlingx-data-filebeat
101       - image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.global.artifactImage }}
102         name: framework-artifactbroker
103         command: ["/opt/app/distribution/bin/artifact-dist.sh"]
104         args: ["/opt/app/distribution/etc/mounted/config.json"]
105         ports:
106         - containerPort: 9014
107           protocol: TCP
108         volumeMounts:
109         - mountPath: /opt/app/distribution/etc/mounted/config.json
110           name: starlingx-logconfig
111           subPath: config.json
112         - mountPath: /data
113           name: artifact-data
114       serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
115       volumes:
116       - name: starlingx-log
117         emptyDir: {}
118       - name: starlingx-data-filebeat
119         emptyDir: {}
120       - name: filebeat-conf
121         configMap:
122           name: multicloud-filebeat-configmap
123       - name: starlingx-logconfig
124         configMap:
125           name: {{ include "common.fullname" . }}-log-configmap
126       - name: artifact-data
127         emptyDir: {}
128       imagePullSecrets:
129       - name: "{{ include "common.namespace" . }}-docker-registry-key"
130       restartPolicy: Always