blob: 4d53914946e84969b225492c35b0064afaeadc6b [file] [log] [blame]
Jakub Latusek67f4e8d2020-10-21 13:36:29 +02001{{/*
Durgpal7ad40692018-08-03 07:28:36 +00002# Modifications Copyright © 2018 Amdocs,Bell Canada
Dominic Lunanuovae825fee2018-04-12 14:40:34 +00003#
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.
Jakub Latusek67f4e8d2020-10-21 13:36:29 +020015*/}}
Dominic Lunanuovae825fee2018-04-12 14:40:34 +000016
Sylvain Desbureaux0de113e2020-03-10 09:57:25 +010017apiVersion: apps/v1
Dominic Lunanuovae825fee2018-04-12 14:40:34 +000018kind: Deployment
Sylvain Desbureaux0de113e2020-03-10 09:57:25 +010019metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
Dominic Lunanuovae825fee2018-04-12 14:40:34 +000020spec:
Sylvain Desbureaux0de113e2020-03-10 09:57:25 +010021 selector: {{- include "common.selectors" . | nindent 4 }}
Dominic Lunanuovae825fee2018-04-12 14:40:34 +000022 replicas: {{ .Values.replicaCount }}
23 template:
Sylvain Desbureaux0de113e2020-03-10 09:57:25 +010024 metadata: {{- include "common.templateMetadata" . | nindent 6 }}
Dominic Lunanuovae825fee2018-04-12 14:40:34 +000025 spec:
Sylvain Desbureaux0de113e2020-03-10 09:57:25 +010026{{- if or .Values.global.aafEnabled .Values.PG.enabled }}
Dominic Lunanuovae825fee2018-04-12 14:40:34 +000027 initContainers:
Krzysztof Opasiak03a125a2020-05-05 02:11:09 +020028 - command:
29 - sh
30 args:
31 - -c
32 - "cd /config-input && for PFILE in `find . -not -type d | grep -v -F ..`; do envsubst <${PFILE} >/config/${PFILE}; done"
33 env:
34 - name: PG_USER
35 {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "pg-user-creds" "key" "login") | indent 10 }}
36 - name: PG_PASSWORD
37 {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "pg-user-creds" "key" "password") | indent 10 }}
38 volumeMounts:
39 - mountPath: /config-input
40 name: {{ include "common.name" . }}-config-input
41 - mountPath: /config
42 name: {{ include "common.name" . }}-config
43 image: "{{ .Values.global.envsubstImage }}"
44 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
45 name: {{ include "common.name" . }}-update-config
Krzysztof Opasiakc32ee222020-05-07 00:26:00 +020046{{ include "common.certInitializer.initContainer" . | nindent 6 }}
Dominic Lunanuovade7a02b2020-03-12 16:36:09 +000047 - name: {{ include "common.name" . }}-permission-fixer
48 image: "{{ .Values.global.busyBoxRepository }}/{{ .Values.global.busyBoxImage }}"
49 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
Krzysztof Opasiakc32ee222020-05-07 00:26:00 +020050 volumeMounts: {{ include "common.certInitializer.volumeMount" . | nindent 8 }}
Dominic Lunanuovade7a02b2020-03-12 16:36:09 +000051 command: ["chown","-Rf","1000:1001", "/opt/app/"]
52# See AAF-425 for explanation of why this is needed.
53# This artifact is provisioned in AAF for both pks12 and jks format and apparently
54# the cadi library is not using the jks password on the jks keystore.
55# So, this attempts to "fix" the credential property file until this is fixed properly.
56 - name: {{ include "common.name" . }}-cred-fixer
57 image: "{{ .Values.global.busyBoxRepository }}/{{ .Values.global.busyBoxImage }}"
58 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
Krzysztof Opasiakc32ee222020-05-07 00:26:00 +020059 volumeMounts: {{ include "common.certInitializer.volumeMount" . | nindent 8 }}
Dominic Lunanuovade7a02b2020-03-12 16:36:09 +000060 command: ["/bin/sh"]
61 args: [ "-c", "sed -i -e '/cadi_keystore_password=/d' -e '/cadi_keystore_password_jks/p' -e 's/cadi_keystore_password_jks/cadi_keystore_password/' -e 's/dmaap-bc.p12/dmaap-bc.jks/' /opt/app/osaaf/local/org.onap.dmaap-bc.cred.props" ]
Sylvain Desbureaux0de113e2020-03-10 09:57:25 +010062 - name: {{ include "common.name" . }}-postgres-readiness
63 command:
Sylvain Desbureaux1694e1d2020-08-21 09:58:25 +020064 - /app/ready.py
dglFromAttfb58a9d2019-04-12 20:12:26 +000065 args:
66 - --container-name
Dominic Lunanuovae825fee2018-04-12 14:40:34 +000067 - {{ .Values.postgres.nameOverride }}
efiacorc75eacb2020-04-24 14:29:17 +010068 - --container-name
69 - message-router
70 - --container-name
71 - dmaap-dr-node
Dominic Lunanuovae825fee2018-04-12 14:40:34 +000072 env:
73 - name: NAMESPACE
74 valueFrom:
75 fieldRef:
76 apiVersion: v1
77 fieldPath: metadata.namespace
Sylvain Desbureaux1694e1d2020-08-21 09:58:25 +020078 image: "{{ include "common.repository" . }}/{{ .Values.global.readinessImage }}"
Dominic Lunanuovae825fee2018-04-12 14:40:34 +000079 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
Sylvain Desbureaux0de113e2020-03-10 09:57:25 +010080{{- end }}
Dominic Lunanuovae825fee2018-04-12 14:40:34 +000081 containers:
82 - name: {{ include "common.name" . }}
Dominic Lunanuovade7a02b2020-03-12 16:36:09 +000083 image: "{{ .Values.repository }}/{{ .Values.image }}"
Dominic Lunanuovae825fee2018-04-12 14:40:34 +000084 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
Sylvain Desbureaux0de113e2020-03-10 09:57:25 +010085 ports: {{ include "common.containerPorts" . | nindent 10 }}
efiacore62958b2019-09-27 16:54:36 +010086 {{ if eq .Values.liveness.enabled true -}}
Dominic Lunanuovae825fee2018-04-12 14:40:34 +000087 livenessProbe:
88 httpGet:
Sylvain Desbureaux0de113e2020-03-10 09:57:25 +010089 port: {{ .Values.liveness.port }}
90 path: /webapi/topics
91 scheme: {{ if (include "common.needTLS" .) }}HTTPS{{ else }}HTTP{{ end }}
Dominic Lunanuovae825fee2018-04-12 14:40:34 +000092 initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
dglFromAttec0918d2018-10-17 19:34:49 +000093 periodSeconds: {{ .Values.liveness.periodSeconds }}
Sylvain Desbureaux0de113e2020-03-10 09:57:25 +010094 {{ end -}}
Dominic Lunanuovae825fee2018-04-12 14:40:34 +000095 readinessProbe:
96 httpGet:
Sylvain Desbureaux0de113e2020-03-10 09:57:25 +010097 port: {{ .Values.readiness.port }}
98 path: /webapi/topics
99 scheme: {{ if (include "common.needTLS" .) }}HTTPS{{ else }}HTTP{{ end }}
Dominic Lunanuovae825fee2018-04-12 14:40:34 +0000100 initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
101 periodSeconds: {{ .Values.readiness.periodSeconds }}
Krzysztof Opasiakc32ee222020-05-07 00:26:00 +0200102 volumeMounts: {{ include "common.certInitializer.volumeMount" . | nindent 10 }}
Dominic Lunanuovae825fee2018-04-12 14:40:34 +0000103 - mountPath: /etc/localtime
104 name: localtime
105 readOnly: true
dglFromAttec0918d2018-10-17 19:34:49 +0000106# NOTE: on the following several configMaps, careful to include / at end
107# since there may be more than one file in each mountPath
Dominic Lunanuovae825fee2018-04-12 14:40:34 +0000108 - name: {{ include "common.name" . }}-config
dglFromAtt82340072018-10-16 21:53:34 +0000109 mountPath: /opt/app/config/conf/
Sylvain Desbureaux0de113e2020-03-10 09:57:25 +0100110 resources: {{ include "common.resources" . | nindent 12 }}
Dominic Lunanuovae825fee2018-04-12 14:40:34 +0000111 {{- if .Values.nodeSelector }}
Sylvain Desbureaux0de113e2020-03-10 09:57:25 +0100112 nodeSelector: {{ toYaml .Values.nodeSelector | nindent 10 }}
Dominic Lunanuovae825fee2018-04-12 14:40:34 +0000113 {{- end -}}
114 {{- if .Values.affinity }}
Sylvain Desbureaux0de113e2020-03-10 09:57:25 +0100115 affinity: {{ toYaml .Values.affinity | nindent 10 }}
Dominic Lunanuovae825fee2018-04-12 14:40:34 +0000116 {{- end }}
Krzysztof Opasiakc32ee222020-05-07 00:26:00 +0200117 volumes: {{ include "common.certInitializer.volumes" . | nindent 8 }}
Dominic Lunanuovae825fee2018-04-12 14:40:34 +0000118 - name: localtime
119 hostPath:
120 path: /etc/localtime
Krzysztof Opasiak03a125a2020-05-05 02:11:09 +0200121 - name: {{ include "common.name" . }}-config-input
Dominic Lunanuovae825fee2018-04-12 14:40:34 +0000122 configMap:
123 name: {{ include "common.fullname" . }}-config
Krzysztof Opasiak03a125a2020-05-05 02:11:09 +0200124 - name: {{ include "common.name" . }}-config
125 emptyDir:
126 medium: Memory
Dominic Lunanuovae825fee2018-04-12 14:40:34 +0000127 imagePullSecrets:
128 - name: "{{ include "common.namespace" . }}-docker-registry-key"