893c5acbdeb79d39a928d6cbd7af4f58b46ffe67
[oom.git] / kubernetes / aaf / charts / aaf-cs / templates / deployment.yaml
1 # Copyright © 2017 Amdocs, Bell Canada
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 #       http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14
15 apiVersion: extensions/v1beta1
16 kind: Deployment
17 metadata:
18   name: {{ include "common.fullname" . }}
19   namespace: {{ include "common.namespace" . }}
20   labels:
21     app: {{ include "common.name" . }}
22     chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
23     release: {{ .Release.Name }}
24     heritage: {{ .Release.Service }}
25 spec:
26   replicas: {{ .Values.replicaCount }}
27   template:
28     metadata:
29       labels:
30         app: {{ include "common.name" . }}
31         release: {{ .Release.Name }}
32     spec:
33       hostname: {{ include "common.name" . }}
34       containers:
35       - args:
36         image: "{{ include "common.repository" . }}/{{ .Values.image }}"
37         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
38         name: {{ include "common.name" . }}
39         ports:
40         - containerPort: {{ .Values.service.externalPort }}
41         - containerPort: {{ .Values.service.externalPort2 }}
42         - containerPort: {{ .Values.service.externalPort3 }}
43         - containerPort: {{ .Values.service.externalPort4 }}
44         volumeMounts:
45         - mountPath: /data
46           name: aaf-cs-data
47         - mountPath: /etc/localtime
48           name: localtime
49           readOnly: true
50         # disable liveness probe when breakpoints set in debugger
51         # so K8s doesn't restart unresponsive container
52         {{- if eq .Values.liveness.enabled true }}
53         livenessProbe:
54           tcpSocket:
55             port: {{ .Values.service.internalPort3 }}
56           initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
57           periodSeconds: {{ .Values.liveness.periodSeconds }}
58         {{ end -}}
59         readinessProbe:
60           tcpSocket:
61             port: {{ .Values.service.internalPort3 }}
62           initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
63           periodSeconds: {{ .Values.readiness.periodSeconds }}
64         lifecycle:
65           postStart:
66             exec:
67               command: 
68               - /bin/sh
69               - -c
70               - >
71                 /bin/sleep {{ .Values.readiness.initialDelaySeconds }};
72                 cd /data/;
73                 cqlsh -u root -p root -f keyspace.cql ;
74                 cqlsh -u root -p root -f init.cql ;
75                 cqlsh -u root -p root -f osaaf.cql ;
76                 cqlsh -u root -p root -f temp_identity.cql
77         resources: 
78 {{ toYaml .Values.resources | indent 12 }}
79       {{- if .Values.nodeSelector }}
80       nodeSelector:
81 {{ toYaml .Values.nodeSelector | indent 10 }}
82       {{- end -}}
83       {{- if .Values.affinity }}
84       affinity:
85 {{ toYaml .Values.affinity | indent 10 }}
86       {{- end }}
87       volumes:
88         - name: localtime
89           hostPath:
90             path: /etc/localtime
91         - name: aaf-cs-data
92           secret:
93             secretName: {{ include "common.fullname" . }}
94       imagePullSecrets:
95       - name: "{{ include "common.namespace" . }}-docker-registry-key"