blob: b79c6bf9c7d37302b228fa0fe7555bae5e7369ae [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 "+" "_" }}
9 release: {{ .Release.Name }}
10 heritage: {{ .Release.Service }}
11spec:
12 replicas: {{ .Values.replicaCount }}
13 template:
14 metadata:
15 labels:
16 app: {{ include "common.name" . }}
17 release: {{ .Release.Name }}
18 spec:
Chenfei Gao8fdac3a2019-04-12 14:39:40 -040019 initContainers:
20 - command:
21 - /root/ready.py
22 args:
23 - --container-name
24 - {{ .Values.global.mariadb.nameOverride }}
25 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"