[DMAAP] DMaaP ServiceMesh compatibility
[oom.git] / kubernetes / aaf / components / aaf-templates / templates / _deployment.tpl
1 {*/
2 # Copyright © 2020 AT&T, Orange
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 {{- define "aaf.deployment" -}}
18 apiVersion: apps/v1
19 kind: Deployment
20 metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
21 spec:
22   selector: {{- include "common.selectors" . | nindent 4 }}
23   replicas: {{ .Values.replicaCount }}
24   template:
25     metadata: {{- include "common.templateMetadata" . | nindent 6 }}
26     spec: {{ include "aaf.initContainers" . | nindent 6 }}
27       containers:
28       - name: {{ include "common.name" . }}
29         workingDir: /opt/app/aaf
30         command: ["bin/{{ .Values.binary }}"]
31         image: {{ include "repositoryGenerator.repository" . }}/{{.Values.global.aaf.image}}
32         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
33         ports: {{ include "common.containerPorts" . | nindent 10  }}
34         volumeMounts:
35         - mountPath: "/opt/app/osaaf"
36           name: aaf-config-vol
37         - mountPath: /etc/localtime
38           name: localtime
39           readOnly: true
40         - mountPath: /opt/app/osaaf/etc/org.osaaf.aaf.log4j.props
41           name: aaf-log
42           subPath: org.osaaf.aaf.log4j.props
43         - mountPath: /opt/app/osaaf/data/
44           name: config-identity
45         {{- if eq .Values.liveness.enabled true }}
46         livenessProbe:
47           tcpSocket:
48             port: {{.Values.liveness.port }}
49           initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
50           periodSeconds: {{ .Values.liveness.periodSeconds }}
51         {{ end -}}
52         readinessProbe:
53           tcpSocket:
54             port: {{ .Values.readiness.port }}
55           initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
56           periodSeconds: {{ .Values.readiness.periodSeconds }}
57         resources: {{ include "common.resources" . | nindent 12 }}
58       {{- if .Values.nodeSelector }}
59       nodeSelector: {{ toYaml .Values.nodeSelector | nindent 10 }}
60       {{- end -}}
61       {{- if .Values.affinity }}
62       affinity: {{ toYaml .Values.affinity | nindent 10 }}
63       {{- end }}
64       volumes:
65       - name: localtime
66         hostPath:
67           path: /etc/localtime
68       - name: aaf-config-vol
69         emptyDir: {}
70       - name: aaf-log
71         configMap:
72           name: {{ include "common.release" . }}-aaf-log
73       - name: config-init-identity
74         configMap:
75           name: {{ include "common.release" . }}-aaf-identity
76       - name: config-identity
77         emptyDir: {}
78       imagePullSecrets:
79       - name: "{{ include "common.namespace" . }}-docker-registry-key"
80 {{- end -}}