blob: 25e80d0ac35661e24687cd90ce1c3cefb6397fd2 [file] [log] [blame]
Chenfei Gao9292e882019-02-27 22:14:45 -05001apiVersion: extensions/v1beta1
2kind: Deployment
3metadata:
4 name: {{ include "common.fullname" . }}
5 namespace: {{ include "common.namespace" . }}
6 labels:
7 app: {{ include "common.name" . }}
8 chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +01009 release: {{ include "common.release" . }}
Chenfei Gao9292e882019-02-27 22:14:45 -050010 heritage: {{ .Release.Service }}
11spec:
12 replicas: {{ .Values.replicaCount }}
13 template:
14 metadata:
15 labels:
16 app: {{ include "common.name" . }}
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +010017 release: {{ include "common.release" . }}
Chenfei Gao9292e882019-02-27 22:14:45 -050018 spec:
Chenfei Gao8fdac3a2019-04-12 14:39:40 -040019 initContainers:
20 - command:
21 - /root/ready.py
22 args:
23 - --container-name
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +010024 - {{ include "common.release" . }}-galera-config
Chenfei Gao8fdac3a2019-04-12 14:39:40 -040025 env:
26 - name: NAMESPACE
27 valueFrom:
28 fieldRef:
29 apiVersion: v1
30 fieldPath: metadata.namespace
31 image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
32 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
33 name: {{ include "common.name" . }}-readiness
Chenfei Gao9292e882019-02-27 22:14:45 -050034 containers:
35 - name: {{ include "common.name" . }}
36 image: "{{ include "common.repository" . }}/{{ .Values.image }}"
37 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
38 command: ["/opt/app/policy/api/bin/policy-api.sh"]
39 args: ["/opt/app/policy/api/etc/mounted/config.json"]
40 ports:
41 - containerPort: {{ .Values.service.internalPort }}
42 # disable liveness probe when breakpoints set in debugger
43 # so K8s doesn't restart unresponsive container
44 {{- if eq .Values.liveness.enabled true }}
45 livenessProbe:
46 tcpSocket:
47 port: {{ .Values.service.internalPort }}
48 initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
49 periodSeconds: {{ .Values.liveness.periodSeconds }}
50 {{ end -}}
51 readinessProbe:
52 tcpSocket:
53 port: {{ .Values.service.internalPort }}
54 initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
55 periodSeconds: {{ .Values.readiness.periodSeconds }}
56 volumeMounts:
57 - mountPath: /etc/localtime
58 name: localtime
59 readOnly: true
60 - mountPath: /opt/app/policy/api/etc/mounted
61 name: apiconfig
62 resources:
63{{ include "common.resources" . | indent 12 }}
64 {{- if .Values.nodeSelector }}
65 nodeSelector:
66{{ toYaml .Values.nodeSelector | indent 10 }}
67 {{- end -}}
68 {{- if .Values.affinity }}
69 affinity:
70{{ toYaml .Values.affinity | indent 10 }}
71 {{- end }}
72 volumes:
73 - name: localtime
74 hostPath:
75 path: /etc/localtime
76 - name: apiconfig
77 configMap:
78 name: {{ include "common.fullname" . }}-configmap
79 defaultMode: 0755
80 imagePullSecrets:
81 - name: "{{ include "common.namespace" . }}-docker-registry-key"