blob: 8eadcf689df9629cb8dd7368267284dd46d35c8f [file] [log] [blame]
Sylvain Desbureaux37dc40c2020-11-21 22:46:57 +01001{{/*
2# Copyright © 2017 Amdocs, Bell Canada
3# Modifications Copyright © 2018 AT&T
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16*/}}
17
18apiVersion: apps/v1
19kind: Deployment
20metadata:
21 name: {{ include "common.fullname" . }}
22 namespace: {{ include "common.namespace" . }}
23 labels:
24 app: {{ include "common.name" . }}
25 chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
26 release: {{ include "common.release" . }}
27 heritage: {{ .Release.Service }}
28spec:
29 replicas: {{ .Values.replicaCount }}
30 selector:
31 matchLabels:
32 app: {{ include "common.name" . }}
33 template:
34 metadata:
35 labels:
36 app: {{ include "common.name" . }}
37 release: {{ include "common.release" . }}
38 name: {{ include "common.name" . }}
39 annotations:
40 sidecar.istio.io/inject: "{{.Values.istioSidecar}}"
41 spec:
42 initContainers:
43 - command: ["sh", "-c", "chown -R 100:101 /data"]
44 image: {{ include "repositoryGenerator.image.busybox" . }}
45 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
46 name: {{ include "common.name" . }}-init
47 volumeMounts:
48 - mountPath: /data
49 name: artifact-data
50 containers:
51 - env:
52 - name: MSB_PROTO
Andreas Geisslerdfa23c82022-05-13 16:54:43 +020053 value: "{{ if (include "common.needTLS" .) }}https{{ else }}http{{ end }}"
Sylvain Desbureaux37dc40c2020-11-21 22:46:57 +010054 - name: MSB_ADDR
55 value: "{{ .Values.config.msbgateway }}.{{ include "common.namespace" . }}"
56 - name: MSB_PORT
Andreas Geisslerdfa23c82022-05-13 16:54:43 +020057 value: "{{- if (include "common.needTLS" .) }}{{ .Values.config.msbPort }}{{ else }}{{ .Values.config.msbPlainPort }}{{ end }}"
Sylvain Desbureaux37dc40c2020-11-21 22:46:57 +010058 - name: AAI_ADDR
Andreas Geisslerdfa23c82022-05-13 16:54:43 +020059 value: "aai.{{ include "common.namespace" . }}"
Sylvain Desbureaux37dc40c2020-11-21 22:46:57 +010060 - name: AAI_PORT
Andreas Geisslerdfa23c82022-05-13 16:54:43 +020061 value: "{{- if (include "common.needTLS" .) }}{{ .Values.config.aai.aaiPort }}{{ else }}{{ .Values.config.aai.aaiPlainPort }}{{ end }}"
Sylvain Desbureaux37dc40c2020-11-21 22:46:57 +010062 - name: AAI_SCHEMA_VERSION
63 value: "{{ .Values.config.aai.schemaVersion }}"
64 - name: AAI_USERNAME
65 value: "{{ .Values.config.aai.username }}"
66 - name: AAI_PASSWORD
67 value: "{{ .Values.config.aai.password }}"
68 - name: SSL_ENABLED
Andreas Geisslerdfa23c82022-05-13 16:54:43 +020069 value: "{{- if (include "common.needTLS" .) }}{{ .Values.config.ssl_enabled }}{{ else }}false{{ end }}"
Sylvain Desbureaux37dc40c2020-11-21 22:46:57 +010070 name: {{ include "common.name" . }}
71 volumeMounts:
Maciej Wereski989c91c2021-11-17 16:45:14 +010072 - mountPath: "{{ .Values.log.path }}"
Sylvain Desbureaux37dc40c2020-11-21 22:46:57 +010073 name: windriver-log
74 - mountPath: /opt/windriver/titanium_cloud/pub/config/log.yml
75 name: windriver-logconfig
76 subPath: log.yml
77 - mountPath: /opt/artifacts/
78 name: artifact-data
79 resources: {{ include "common.resources" . | nindent 12 }}
80 image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
81 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
82 ports:
83 - containerPort: {{ .Values.service.internalPort }}
84 # disable liveness probe when breakpoints set in debugger
85 # so K8s doesn't restart unresponsive container
86 {{ if .Values.liveness.enabled }}
87 livenessProbe:
88 httpGet:
89 path: /api/multicloud-titaniumcloud/v1/swagger.json
90 port: {{ .Values.service.internalPort }}
Andreas Geisslerdfa23c82022-05-13 16:54:43 +020091 scheme: {{ if (include "common.needTLS" .) }}HTTPS{{ else }}HTTP{{ end }}
Sylvain Desbureaux37dc40c2020-11-21 22:46:57 +010092 initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
93 periodSeconds: {{ .Values.liveness.periodSeconds }}
94 timeoutSeconds: {{ .Values.liveness.timeoutSeconds }}
95 successThreshold: {{ .Values.liveness.successThreshold }}
96 failureThreshold: {{ .Values.liveness.failureThreshold }}
97 {{ end }}
98 # side car containers
Maciej Wereski989c91c2021-11-17 16:45:14 +010099 {{ include "common.log.sidecar" . | nindent 7 }}
Bin Yangdf4fc032022-03-22 16:08:22 +0800100 - image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.memcached }}
101 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
102 name: memcached
Sylvain Desbureaux37dc40c2020-11-21 22:46:57 +0100103 - image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.global.artifactImage }}
104 name: framework-artifactbroker
105 command: ["/opt/app/distribution/bin/artifact-dist.sh"]
106 args: ["/opt/app/distribution/etc/mounted/config.json"]
107 ports:
108 - containerPort: 9014
109 protocol: TCP
110 volumeMounts:
111 - mountPath: /opt/app/distribution/etc/mounted/config.json
112 name: windriver-logconfig
113 subPath: config.json
114 - mountPath: /data
115 name: artifact-data
farida azmy72513552021-10-12 18:55:21 +0200116 serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
Sylvain Desbureaux37dc40c2020-11-21 22:46:57 +0100117 volumes:
118 - name: windriver-log
119 emptyDir: {}
Maciej Wereski989c91c2021-11-17 16:45:14 +0100120 {{ include "common.log.volumes" (dict "dot" . "configMapNamePrefix" (tpl .Values.logConfigMapNamePrefix . )) | nindent 7 }}
Sylvain Desbureaux37dc40c2020-11-21 22:46:57 +0100121 - name: windriver-logconfig
122 configMap:
123 name: {{ include "common.fullname" . }}-log-configmap
124 - name: artifact-data
125 {{- if .Values.persistence.enabled }}
126 persistentVolumeClaim:
127 claimName: {{ include "common.fullname" . }}
128 {{- else }}
129 emptyDir: {}
130 {{- end }}
131 imagePullSecrets:
132 - name: "{{ include "common.namespace" . }}-docker-registry-key"
133 restartPolicy: Always