blob: 1498d273b23a223cfa416c0134d4680c83fbbd95 [file] [log] [blame]
mayankg2703ced85142018-03-20 05:42:53 +00001# Copyright © 2017 Amdocs, Bell Canada
jhhd4258672020-08-09 12:08:08 -05002# Modifications Copyright © 2018-2020 AT&T Intellectual Property
mayankg2703ced85142018-03-20 05:42:53 +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.
15
Grzegorz-Lis4fad3022020-07-31 10:18:21 +020016apiVersion: apps/v1
mayankg2703c7985462018-03-29 14:24:23 +000017kind: StatefulSet
mayankg2703ced85142018-03-20 05:42:53 +000018metadata:
19 name: {{ include "common.fullname" . }}
20 namespace: {{ include "common.namespace" . }}
21 labels:
22 app: {{ include "common.name" . }}
23 chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +010024 release: {{ include "common.release" . }}
mayankg2703ced85142018-03-20 05:42:53 +000025 heritage: {{ .Release.Service }}
26spec:
Mahendra Raghuwanshic1395ec2018-04-26 03:19:03 +000027 serviceName: {{ include "common.servicename" . }}
mayankg2703ced85142018-03-20 05:42:53 +000028 replicas: {{ .Values.replicaCount }}
mayankg2703c7985462018-03-29 14:24:23 +000029 selector:
30 matchLabels:
31 app: {{ include "common.name" . }}
mayankg2703ced85142018-03-20 05:42:53 +000032 template:
33 metadata:
34 labels:
35 app: {{ include "common.name" . }}
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +010036 release: {{ include "common.release" . }}
mayankg2703ced85142018-03-20 05:42:53 +000037 spec:
38 initContainers:
39 - command:
Sylvain Desbureaux1694e1d2020-08-21 09:58:25 +020040 - /app/ready.py
jhhd4258672020-08-09 12:08:08 -050041 args:
42 - --job-name
43 - {{ include "common.release" . }}-policy-galera-config
44 env:
45 - name: NAMESPACE
46 valueFrom:
47 fieldRef:
48 apiVersion: v1
49 fieldPath: metadata.namespace
Sylvain Desbureaux1694e1d2020-08-21 09:58:25 +020050 image: "{{ include "common.repository" . }}/{{ .Values.global.readinessImage }}"
jhhd4258672020-08-09 12:08:08 -050051 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
52 name: {{ include "common.name" . }}-db-readiness
53{{- if not .Values.nexus.offline }}
54 - command:
Sylvain Desbureaux1694e1d2020-08-21 09:58:25 +020055 - /app/ready.py
mayankg2703ced85142018-03-20 05:42:53 +000056 args:
57 - --container-name
jhhd4258672020-08-09 12:08:08 -050058 - {{ .Values.nexus.name }}
mayankg2703ced85142018-03-20 05:42:53 +000059 env:
60 - name: NAMESPACE
61 valueFrom:
62 fieldRef:
63 apiVersion: v1
64 fieldPath: metadata.namespace
Sylvain Desbureaux1694e1d2020-08-21 09:58:25 +020065 image: "{{ include "common.repository" . }}/{{ .Values.global.readinessImage }}"
mayankg2703ced85142018-03-20 05:42:53 +000066 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
67 name: {{ include "common.name" . }}-readiness
jhhd4258672020-08-09 12:08:08 -050068{{- end }}
69{{ include "common.certInitializer.initContainer" . | indent 6 }}
mayankg2703ced85142018-03-20 05:42:53 +000070 containers:
71 - name: {{ include "common.name" . }}
BorislavGdf11cd52018-05-06 12:55:20 +000072 image: "{{ include "common.repository" . }}/{{ .Values.image }}"
mayankg2703ced85142018-03-20 05:42:53 +000073 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
jhhd4258672020-08-09 12:08:08 -050074 command: ["bash","-c"]
75 args: ["if [ -f {{ .Values.certInitializer.credsPath }}/.ci ]; then \
76 source {{ .Values.certInitializer.credsPath }}/.ci; fi;\
jhhbf8d8a92020-09-10 14:01:49 -050077 cp {{ .Values.certInitializer.credsPath }}/org.onap.policy.p12 ${POLICY_HOME}/etc/ssl/policy-keystore;\
jhhd4258672020-08-09 12:08:08 -050078 /opt/app/policy/bin/pdpd-cl-entrypoint.sh boot"]
mayankg2703ced85142018-03-20 05:42:53 +000079 ports:
80 - containerPort: {{ .Values.service.externalPort }}
81 - containerPort: {{ .Values.service.externalPort2 }}
mayankg2703ced85142018-03-20 05:42:53 +000082 {{- if eq .Values.liveness.enabled true }}
83 livenessProbe:
84 tcpSocket:
85 port: {{ .Values.service.externalPort }}
86 initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
87 periodSeconds: {{ .Values.liveness.periodSeconds }}
88 {{- end }}
89 readinessProbe:
90 tcpSocket:
91 port: {{ .Values.service.externalPort }}
92 initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
93 periodSeconds: {{ .Values.readiness.periodSeconds }}
94 env:
95 - name: REPLICAS
96 value: "{{ .Values.replicaCount }}"
Krzysztof Opasiak68b1c922020-03-26 23:59:36 +010097 - name: SQL_USER
Krzysztof Opasiak4372e832020-09-01 19:17:20 +020098 {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-secret" "key" "login") | indent 12 }}
Krzysztof Opasiak68b1c922020-03-26 23:59:36 +010099 - name: SQL_PASSWORD
Krzysztof Opasiak4372e832020-09-01 19:17:20 +0200100 {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-secret" "key" "password") | indent 12 }}
mayankg2703ced85142018-03-20 05:42:53 +0000101 volumeMounts:
jhhd4258672020-08-09 12:08:08 -0500102{{ include "common.certInitializer.volumeMount" . | indent 10 }}
mayankg2703ced85142018-03-20 05:42:53 +0000103 - mountPath: /etc/localtime
104 name: localtime
105 readOnly: true
jhh01096592019-09-04 07:47:25 -0500106 {{- range $path, $bytes := .Files.Glob "resources/secrets/*" }}
107 - mountPath: /tmp/policy-install/config/{{ base $path }}
mayankg2703ced85142018-03-20 05:42:53 +0000108 name: drools-secret
jhh01096592019-09-04 07:47:25 -0500109 subPath: {{ base $path }}
110 {{- end }}
111 {{- range $path, $bytes := .Files.Glob "resources/configmaps/*" }}
112 - mountPath: /tmp/policy-install/config/{{ base $path }}
Jorge Hernandez328eadb2018-05-15 07:52:21 -0500113 name: drools-config
jhh01096592019-09-04 07:47:25 -0500114 subPath: {{ base $path }}
115 {{- end }}
mayankg2703ced85142018-03-20 05:42:53 +0000116 resources:
jhhd4258672020-08-09 12:08:08 -0500117{{ include "common.resources" . }}
mayankg2703ced85142018-03-20 05:42:53 +0000118 {{- if .Values.nodeSelector }}
mayankg2703ced85142018-03-20 05:42:53 +0000119 nodeSelector:
120{{ toYaml .Values.nodeSelector | indent 10 }}
121 {{- end -}}
122 {{- if .Values.affinity }}
123 affinity:
124{{ toYaml .Values.affinity | indent 10 }}
125 {{- end }}
126 volumes:
jhhd4258672020-08-09 12:08:08 -0500127{{ include "common.certInitializer.volumes" . | indent 8 }}
mayankg2703ced85142018-03-20 05:42:53 +0000128 - name: localtime
129 hostPath:
130 path: /etc/localtime
mayankg2703ced85142018-03-20 05:42:53 +0000131 - name: drools-config
132 configMap:
133 name: {{ include "common.fullname" . }}-configmap
134 items:
jhh01096592019-09-04 07:47:25 -0500135 {{- range $path, $bytes := .Files.Glob "resources/configmaps/*" }}
136 - key: {{ base $path }}
137 path: {{ base $path }}
mayankg2703ced85142018-03-20 05:42:53 +0000138 mode: 0755
jhh01096592019-09-04 07:47:25 -0500139 {{- end }}
mayankg2703ced85142018-03-20 05:42:53 +0000140 - name: drools-secret
141 secret:
142 secretName: {{ include "common.fullname" . }}-secret
143 items:
jhh01096592019-09-04 07:47:25 -0500144 {{- range $path, $bytes := .Files.Glob "resources/secrets/*" }}
145 - key: {{ base $path }}
146 path: {{ base $path }}
mayankg2703ced85142018-03-20 05:42:53 +0000147 mode: 0644
jhh01096592019-09-04 07:47:25 -0500148 {{- end }}
mayankg2703ced85142018-03-20 05:42:53 +0000149 imagePullSecrets:
150 - name: "{{ include "common.namespace" . }}-docker-registry-key"