blob: 7f178063b56546b9412b8bb3d36fc8aad49fee21 [file] [log] [blame]
Sylvain Desbureaux37dc40c2020-11-21 22:46:57 +01001{{/*
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
17apiVersion: apps/v1
18kind: Deployment
19metadata:
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 }}
27spec:
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
Andreas Geisslerdfa23c82022-05-13 16:54:43 +020044 value: "{{ if (include "common.needTLS" .) }}https{{ else }}http{{ end }}"
Sylvain Desbureaux37dc40c2020-11-21 22:46:57 +010045 - name: MSB_ADDR
46 value: "{{ .Values.config.msbgateway }}.{{ include "common.namespace" . }}"
47 - name: MSB_PORT
Andreas Geisslerdfa23c82022-05-13 16:54:43 +020048 value: "{{- if (include "common.needTLS" .) }}{{ .Values.config.msbPort }}{{ else }}{{ .Values.config.msbPlainPort }}{{ end }}"
Sylvain Desbureaux37dc40c2020-11-21 22:46:57 +010049 - name: AAI_ADDR
Andreas Geisslerdfa23c82022-05-13 16:54:43 +020050 value: "aai.{{ include "common.namespace" . }}"
Sylvain Desbureaux37dc40c2020-11-21 22:46:57 +010051 - name: AAI_PORT
Andreas Geisslerdfa23c82022-05-13 16:54:43 +020052 value: "{{- if (include "common.needTLS" .) }}{{ .Values.config.aai.aaiPort }}{{ else }}{{ .Values.config.aai.aaiPlainPort }}{{ end }}"
Sylvain Desbureaux37dc40c2020-11-21 22:46:57 +010053 - 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
Andreas Geisslerdfa23c82022-05-13 16:54:43 +020060 value: "{{- if (include "common.needTLS" .) }}{{ .Values.config.ssl_enabled }}{{ else }}false{{ end }}"
Sylvain Desbureaux37dc40c2020-11-21 22:46:57 +010061 name: {{ include "common.name" . }}
62 volumeMounts:
Maciej Wereski989c91c2021-11-17 16:45:14 +010063 - mountPath: "{{ .Values.log.path }}"
Sylvain Desbureaux37dc40c2020-11-21 22:46:57 +010064 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 }}
Andreas Geisslerdfa23c82022-05-13 16:54:43 +020082 scheme: {{ if (include "common.needTLS" .) }}HTTPS{{ else }}HTTP{{ end }}
Sylvain Desbureaux37dc40c2020-11-21 22:46:57 +010083 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
Maciej Wereski989c91c2021-11-17 16:45:14 +010090 {{ include "common.log.sidecar" . | nindent 7 }}
Bin Yangdf4fc032022-03-22 16:08:22 +080091 - image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.memcached }}
92 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
93 name: memcached
Sylvain Desbureaux37dc40c2020-11-21 22:46:57 +010094 - image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.global.artifactImage }}
95 name: framework-artifactbroker
96 command: ["/opt/app/distribution/bin/artifact-dist.sh"]
97 args: ["/opt/app/distribution/etc/mounted/config.json"]
98 ports:
99 - containerPort: 9014
100 protocol: TCP
101 volumeMounts:
102 - mountPath: /opt/app/distribution/etc/mounted/config.json
103 name: starlingx-logconfig
104 subPath: config.json
105 - mountPath: /data
106 name: artifact-data
farida azmy72513552021-10-12 18:55:21 +0200107 serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
Sylvain Desbureaux37dc40c2020-11-21 22:46:57 +0100108 volumes:
109 - name: starlingx-log
110 emptyDir: {}
Maciej Wereski989c91c2021-11-17 16:45:14 +0100111 {{ include "common.log.volumes" (dict "dot" . "configMapNamePrefix" (tpl .Values.logConfigMapNamePrefix . )) | nindent 7 }}
Sylvain Desbureaux37dc40c2020-11-21 22:46:57 +0100112 - name: starlingx-logconfig
113 configMap:
114 name: {{ include "common.fullname" . }}-log-configmap
115 - name: artifact-data
116 emptyDir: {}
117 imagePullSecrets:
118 - name: "{{ include "common.namespace" . }}-docker-registry-key"
119 restartPolicy: Always