blob: bdf4e6cf9b1d5f040dd24b313a046135820dfa74 [file] [log] [blame]
jhhd4258672020-08-09 12:08:08 -05001# ============LICENSE_START=======================================================
2# Copyright (C) 2020 AT&T Intellectual Property.
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# SPDX-License-Identifier: Apache-2.0
17# ============LICENSE_END=========================================================
18
Grzegorz-Lis4fad3022020-07-31 10:18:21 +020019apiVersion: apps/v1
Michael Mokryafae9972019-03-11 14:46:34 -050020kind: Deployment
21metadata:
22 name: {{ include "common.fullname" . }}
23 namespace: {{ include "common.namespace" . }}
24 labels:
25 app: {{ include "common.name" . }}
26 chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +010027 release: {{ include "common.release" . }}
Michael Mokryafae9972019-03-11 14:46:34 -050028 heritage: {{ .Release.Service }}
29spec:
Grzegorz-Lis4fad3022020-07-31 10:18:21 +020030 selector:
31 matchLabels:
32 app: {{ include "common.name" . }}
Michael Mokryafae9972019-03-11 14:46:34 -050033 replicas: {{ .Values.replicaCount }}
34 template:
35 metadata:
36 labels:
37 app: {{ include "common.name" . }}
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +010038 release: {{ include "common.release" . }}
Michael Mokryafae9972019-03-11 14:46:34 -050039 spec:
Michael Mokry3b2647a2019-04-14 20:24:43 -050040 initContainers:
41 - command:
Sylvain Desbureaux1694e1d2020-08-21 09:58:25 +020042 - /app/ready.py
Michael Mokry3b2647a2019-04-14 20:24:43 -050043 args:
jhhd4258672020-08-09 12:08:08 -050044 - --job-name
45 - {{ include "common.release" . }}-policy-galera-config
Michael Mokry3b2647a2019-04-14 20:24:43 -050046 env:
47 - name: NAMESPACE
48 valueFrom:
49 fieldRef:
50 apiVersion: v1
51 fieldPath: metadata.namespace
Sylvain Desbureaux1694e1d2020-08-21 09:58:25 +020052 image: "{{ include "common.repository" . }}/{{ .Values.global.readinessImage }}"
Michael Mokry3b2647a2019-04-14 20:24:43 -050053 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
54 name: {{ include "common.name" . }}-readiness
Dominik Mizync88bcc92020-04-14 18:20:20 +020055 - command:
56 - sh
57 args:
58 - -c
Taka Choebd62952020-10-08 13:50:09 -040059 - "cd /config-input && for PFILE in `ls -1`; do envsubst <${PFILE} >/config/${PFILE}; done"
Dominik Mizync88bcc92020-04-14 18:20:20 +020060 env:
61 - name: RESTSERVER_USER
62 {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "restserver-creds" "key" "login") | indent 10 }}
63 - name: RESTSERVER_PASSWORD
64 {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "restserver-creds" "key" "password") | indent 10 }}
65 - name: API_USER
66 {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "api-creds" "key" "login") | indent 10 }}
67 - name: API_PASSWORD
68 {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "api-creds" "key" "password") | indent 10 }}
jhhed6839f2020-05-08 12:28:27 -050069 - name: SQL_USER
70 {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-secret" "key" "login") | indent 10 }}
71 - name: SQL_PASSWORD
72 {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-secret" "key" "password") | indent 10 }}
Dominik Mizync88bcc92020-04-14 18:20:20 +020073 volumeMounts:
74 - mountPath: /config-input
75 name: pdpxconfig
76 - mountPath: /config
77 name: pdpxconfig-processed
78 image: "{{ .Values.global.envsubstImage }}"
79 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
80 name: {{ include "common.name" . }}-update-config
jhhd4258672020-08-09 12:08:08 -050081{{ include "common.certInitializer.initContainer" . | indent 6 }}
Michael Mokryafae9972019-03-11 14:46:34 -050082 containers:
83 - name: {{ include "common.name" . }}
84 image: "{{ include "common.repository" . }}/{{ .Values.image }}"
85 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
jhhd4258672020-08-09 12:08:08 -050086{{- if .Values.global.aafEnabled }}
87 command: ["bash","-c"]
88 args: ["source {{ .Values.certInitializer.credsPath }}/.ci;\
jhhd4258672020-08-09 12:08:08 -050089 /opt/app/policy/pdpx/bin/policy-pdpx.sh /opt/app/policy/pdpx/etc/mounted/config.json"]
90{{- else }}
Michael Mokryafae9972019-03-11 14:46:34 -050091 command: ["/opt/app/policy/pdpx/bin/policy-pdpx.sh"]
jhhbf7fb4d2019-08-07 16:54:41 -050092 args: ["/opt/app/policy/pdpx/etc/mounted/config.json"]
jhhd4258672020-08-09 12:08:08 -050093 env:
94 - name: KEYSTORE_PASSWD
95 {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "keystore-password" "key" "password") | indent 12 }}
96 - name: TRUSTSTORE_PASSWD
97 {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "truststore-password" "key" "password") | indent 12 }}
98{{- end }}
Michael Mokryafae9972019-03-11 14:46:34 -050099 ports:
100 - containerPort: {{ .Values.service.internalPort }}
101 # disable liveness probe when breakpoints set in debugger
102 # so K8s doesn't restart unresponsive container
103 {{- if eq .Values.liveness.enabled true }}
104 livenessProbe:
105 tcpSocket:
106 port: {{ .Values.service.internalPort }}
107 initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
108 periodSeconds: {{ .Values.liveness.periodSeconds }}
109 {{ end -}}
110 readinessProbe:
111 tcpSocket:
112 port: {{ .Values.service.internalPort }}
113 initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
114 periodSeconds: {{ .Values.readiness.periodSeconds }}
115 volumeMounts:
jhhd4258672020-08-09 12:08:08 -0500116{{ include "common.certInitializer.volumeMount" . | indent 10 }}
Michael Mokryafae9972019-03-11 14:46:34 -0500117 - mountPath: /etc/localtime
118 name: localtime
119 readOnly: true
120 - mountPath: /opt/app/policy/pdpx/etc/mounted
Dominik Mizync88bcc92020-04-14 18:20:20 +0200121 name: pdpxconfig-processed
Michael Mokryafae9972019-03-11 14:46:34 -0500122 resources:
jhhd4258672020-08-09 12:08:08 -0500123{{ include "common.resources" . }}
Michael Mokryafae9972019-03-11 14:46:34 -0500124 {{- if .Values.nodeSelector }}
125 nodeSelector:
126{{ toYaml .Values.nodeSelector | indent 10 }}
127 {{- end -}}
128 {{- if .Values.affinity }}
129 affinity:
130{{ toYaml .Values.affinity | indent 10 }}
131 {{- end }}
132 volumes:
jhhd4258672020-08-09 12:08:08 -0500133{{ include "common.certInitializer.volumes" . | indent 8 }}
Michael Mokryafae9972019-03-11 14:46:34 -0500134 - name: localtime
135 hostPath:
136 path: /etc/localtime
137 - name: pdpxconfig
138 configMap:
139 name: {{ include "common.fullname" . }}-configmap
140 defaultMode: 0755
Dominik Mizync88bcc92020-04-14 18:20:20 +0200141 - name: pdpxconfig-processed
142 emptyDir:
143 medium: Memory
Michael Mokryafae9972019-03-11 14:46:34 -0500144 imagePullSecrets:
145 - name: "{{ include "common.namespace" . }}-docker-registry-key"