blob: fe8c74d4cc1c00b16fde20d47a969c313d6ab889 [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;\
89 cp {{ .Values.certInitializer.credsPath }}/org.onap.policy.p12 ${POLICY_HOME}/etc/ssl/policy-keystore;\
90 /opt/app/policy/pdpx/bin/policy-pdpx.sh /opt/app/policy/pdpx/etc/mounted/config.json"]
91{{- else }}
Michael Mokryafae9972019-03-11 14:46:34 -050092 command: ["/opt/app/policy/pdpx/bin/policy-pdpx.sh"]
jhhbf7fb4d2019-08-07 16:54:41 -050093 args: ["/opt/app/policy/pdpx/etc/mounted/config.json"]
jhhd4258672020-08-09 12:08:08 -050094 env:
95 - name: KEYSTORE_PASSWD
96 {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "keystore-password" "key" "password") | indent 12 }}
97 - name: TRUSTSTORE_PASSWD
98 {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "truststore-password" "key" "password") | indent 12 }}
99{{- end }}
Michael Mokryafae9972019-03-11 14:46:34 -0500100 ports:
101 - containerPort: {{ .Values.service.internalPort }}
102 # disable liveness probe when breakpoints set in debugger
103 # so K8s doesn't restart unresponsive container
104 {{- if eq .Values.liveness.enabled true }}
105 livenessProbe:
106 tcpSocket:
107 port: {{ .Values.service.internalPort }}
108 initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
109 periodSeconds: {{ .Values.liveness.periodSeconds }}
110 {{ end -}}
111 readinessProbe:
112 tcpSocket:
113 port: {{ .Values.service.internalPort }}
114 initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
115 periodSeconds: {{ .Values.readiness.periodSeconds }}
116 volumeMounts:
jhhd4258672020-08-09 12:08:08 -0500117{{ include "common.certInitializer.volumeMount" . | indent 10 }}
Michael Mokryafae9972019-03-11 14:46:34 -0500118 - mountPath: /etc/localtime
119 name: localtime
120 readOnly: true
121 - mountPath: /opt/app/policy/pdpx/etc/mounted
Dominik Mizync88bcc92020-04-14 18:20:20 +0200122 name: pdpxconfig-processed
123 emptyDir:
124 medium: Memory
Michael Mokryafae9972019-03-11 14:46:34 -0500125 resources:
jhhd4258672020-08-09 12:08:08 -0500126{{ include "common.resources" . }}
Michael Mokryafae9972019-03-11 14:46:34 -0500127 {{- if .Values.nodeSelector }}
128 nodeSelector:
129{{ toYaml .Values.nodeSelector | indent 10 }}
130 {{- end -}}
131 {{- if .Values.affinity }}
132 affinity:
133{{ toYaml .Values.affinity | indent 10 }}
134 {{- end }}
135 volumes:
jhhd4258672020-08-09 12:08:08 -0500136{{ include "common.certInitializer.volumes" . | indent 8 }}
Michael Mokryafae9972019-03-11 14:46:34 -0500137 - name: localtime
138 hostPath:
139 path: /etc/localtime
140 - name: pdpxconfig
141 configMap:
142 name: {{ include "common.fullname" . }}-configmap
143 defaultMode: 0755
Dominik Mizync88bcc92020-04-14 18:20:20 +0200144 - name: pdpxconfig-processed
145 emptyDir:
146 medium: Memory
Michael Mokryafae9972019-03-11 14:46:34 -0500147 imagePullSecrets:
148 - name: "{{ include "common.namespace" . }}-docker-registry-key"