blob: dfb4bbc98cdbaf3a3b8fb315cf8041c017a5964c [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
53 value: {{ .Values.config.msbprotocol }}
54 - name: MSB_ADDR
55 value: "{{ .Values.config.msbgateway }}.{{ include "common.namespace" . }}"
56 - name: MSB_PORT
57 value: "{{ .Values.config.msbPort }}"
58 - name: AAI_ADDR
59 value: aai.{{ include "common.namespace" . }}
60 - name: AAI_PORT
61 value: "{{ .Values.config.aai.port }}"
62 - 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
69 value: "{{ .Values.config.ssl_enabled }}"
70 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 }}
91 scheme: HTTPS
92 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 }}
Sylvain Desbureaux37dc40c2020-11-21 22:46:57 +0100100 - image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.global.artifactImage }}
101 name: framework-artifactbroker
102 command: ["/opt/app/distribution/bin/artifact-dist.sh"]
103 args: ["/opt/app/distribution/etc/mounted/config.json"]
104 ports:
105 - containerPort: 9014
106 protocol: TCP
107 volumeMounts:
108 - mountPath: /opt/app/distribution/etc/mounted/config.json
109 name: windriver-logconfig
110 subPath: config.json
111 - mountPath: /data
112 name: artifact-data
farida azmy72513552021-10-12 18:55:21 +0200113 serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
Sylvain Desbureaux37dc40c2020-11-21 22:46:57 +0100114 volumes:
115 - name: windriver-log
116 emptyDir: {}
Maciej Wereski989c91c2021-11-17 16:45:14 +0100117 {{ include "common.log.volumes" (dict "dot" . "configMapNamePrefix" (tpl .Values.logConfigMapNamePrefix . )) | nindent 7 }}
Sylvain Desbureaux37dc40c2020-11-21 22:46:57 +0100118 - name: windriver-logconfig
119 configMap:
120 name: {{ include "common.fullname" . }}-log-configmap
121 - name: artifact-data
122 {{- if .Values.persistence.enabled }}
123 persistentVolumeClaim:
124 claimName: {{ include "common.fullname" . }}
125 {{- else }}
126 emptyDir: {}
127 {{- end }}
128 imagePullSecrets:
129 - name: "{{ include "common.namespace" . }}-docker-registry-key"
130 restartPolicy: Always