[COMMON] Make imagePullSecrets configurable
[oom.git] / kubernetes / policy / components / policy-apex-pdp / templates / deployment.yaml
1 {{/*
2 #  ============LICENSE_START=======================================================
3 #   Copyright (C) 2018 Ericsson. All rights reserved.
4 #   Modifications Copyright (C) 2020 AT&T Intellectual Property.
5 #   Modifications Copyright © 2022 Nordix Foundation
6 #   Modification (C) 2023 Deutsche Telekom. All rights reserved.
7 #  ================================================================================
8 #  Licensed under the Apache License, Version 2.0 (the "License");
9 #  you may not use this file except in compliance with the License.
10 #  You may obtain a copy of the License at
11 #
12 #       http://www.apache.org/licenses/LICENSE-2.0
13 #
14 #  Unless required by applicable law or agreed to in writing, software
15 #  distributed under the License is distributed on an "AS IS" BASIS,
16 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 #  See the License for the specific language governing permissions and
18 #  limitations under the License.
19 #
20 #  SPDX-License-Identifier: Apache-2.0
21 #  ============LICENSE_END=========================================================
22 */}}
23
24 apiVersion: apps/v1
25 kind: Deployment
26 metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
27 spec:
28   selector: {{- include "common.selectors" . | nindent 4 }}
29   replicas: {{ .Values.replicaCount }}
30   template:
31     metadata: {{- include "common.templateMetadata" . | nindent 6 }}
32     spec:
33       initContainers:
34 {{- if not .Values.global.useStrimziKafkaPf }}
35 {{ include "common.readinessCheck.waitFor" . | nindent 6 }}
36 {{- end }}
37       - command: ["/bin/sh", "-cx"]
38 {{- if .Values.global.useStrimziKafkaPf }}
39         args:
40           - JAASLOGIN=`echo $JAASLOGIN | tr -d '"'`;
41             cd /config-input && for PFILE in `ls -1`;
42             do envsubst <${PFILE} >/config/${PFILE}; done
43 {{ else }}
44         args:
45           - cd /config-input && for PFILE in `ls -1`;
46             do envsubst <${PFILE} >/config/${PFILE}; done
47 {{ end }}
48         env:
49         - name: RESTSERVER_USER
50           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "restserver-creds" "key" "login") | indent 10 }}
51         - name: RESTSERVER_PASSWORD
52           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "restserver-creds" "key" "password") | indent 10 }}
53 {{- if .Values.global.useStrimziKafkaPf }}
54         - name: JAASLOGIN
55           valueFrom:
56             secretKeyRef:
57               name: {{ include "common.name" . }}-ku
58               key: sasl.jaas.config
59         - name: KAFKA_URL
60           value: {{ include "common.release" . }}-strimzi-kafka-bootstrap:9092
61         - name: SASL
62           value: {{ .Values.kafkaUser.authenticationType | upper }}
63         - name: GROUP_ID
64           value: {{ .Values.config.kafka.consumer.groupId }}
65         - name: PAP_TOPIC
66           value: {{ .Values.config.app.listener.policyPdpPapTopic }}
67 {{ else }}
68         - name: KAFKA_URL
69           value: message-router
70         - name: PAP_TOPIC
71           value: {{ .Values.config.app.listener.policyPdpPapTopic | upper }}
72 {{- end }}
73         volumeMounts:
74         - mountPath: /config-input
75           name: apexconfig-input
76         - mountPath: /config
77           name: apexconfig
78         image: {{ include "repositoryGenerator.image.envsubst" . }}
79         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
80         name: {{ include "common.name" . }}-update-config
81       containers:
82         - name: {{ include "common.name" . }}
83           image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
84           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
85           command: [ "/bin/sh", "-cx" ]
86           args:
87             - id apexuser;
88               cat /home/apexuser/config/OnapPfConfig.json;
89               /opt/app/policy/apex-pdp/bin/apexOnapPf.sh -c /home/apexuser/config/OnapPfConfig.json
90           ports: {{ include "common.containerPorts" . | nindent 12  }}
91           {{- if eq .Values.liveness.enabled true }}
92           livenessProbe:
93             tcpSocket:
94               port: {{ .Values.service.internalPort }}
95             initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
96             periodSeconds: {{ .Values.liveness.periodSeconds }}
97           {{- end }}
98           readinessProbe:
99             tcpSocket:
100               port: {{ .Values.service.internalPort }}
101             initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
102             periodSeconds: {{ .Values.readiness.periodSeconds }}
103           env:
104           - name: REPLICAS
105             value: "{{ .Values.replicaCount }}"
106           volumeMounts:
107           - mountPath: /etc/localtime
108             name: localtime
109             readOnly: true
110           - mountPath: /var/log/onap
111             name: policy-logs
112           - mountPath: /home/apexuser/config
113             name: apexconfig
114           resources: {{ include "common.resources" . | nindent 12 }}
115       {{- if .Values.nodeSelector }}
116       nodeSelector:
117 {{ toYaml .Values.nodeSelector | indent 10 }}
118         {{- end -}}
119       {{- if .Values.affinity }}
120       affinity:
121 {{ toYaml .Values.affinity | indent 10 }}
122         {{- end }}
123       serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
124       volumes:
125         - name: localtime
126           hostPath:
127             path: /etc/localtime
128         - name: policy-logs
129           emptyDir: {}
130         - name: apexconfig-input
131           configMap:
132             name: {{ include "common.fullname" . }}-configmap
133             defaultMode: 0755
134         - name: apexconfig
135           emptyDir:
136             medium: Memory
137       {{- include "common.imagePullSecrets" . | nindent 6 }}