blob: a4d060ccfe07f0a83c37de06e4e2c0b8f08211b8 [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
jhhed6839f2020-05-08 12:28:27 -050059 - "export SQL_PASSWORD_BASE64=`echo -n ${SQL_PASSWORD} | base64`; 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
122 emptyDir:
123 medium: Memory
Michael Mokryafae9972019-03-11 14:46:34 -0500124 resources:
jhhd4258672020-08-09 12:08:08 -0500125{{ include "common.resources" . }}
Michael Mokryafae9972019-03-11 14:46:34 -0500126 {{- if .Values.nodeSelector }}
127 nodeSelector:
128{{ toYaml .Values.nodeSelector | indent 10 }}
129 {{- end -}}
130 {{- if .Values.affinity }}
131 affinity:
132{{ toYaml .Values.affinity | indent 10 }}
133 {{- end }}
134 volumes:
jhhd4258672020-08-09 12:08:08 -0500135{{ include "common.certInitializer.volumes" . | indent 8 }}
Michael Mokryafae9972019-03-11 14:46:34 -0500136 - name: localtime
137 hostPath:
138 path: /etc/localtime
139 - name: pdpxconfig
140 configMap:
141 name: {{ include "common.fullname" . }}-configmap
142 defaultMode: 0755
Dominik Mizync88bcc92020-04-14 18:20:20 +0200143 - name: pdpxconfig-processed
144 emptyDir:
145 medium: Memory
Michael Mokryafae9972019-03-11 14:46:34 -0500146 imagePullSecrets:
147 - name: "{{ include "common.namespace" . }}-docker-registry-key"