blob: d389246b5cea60303715ba96a3653353460397fc [file] [log] [blame]
Jakub Latusekd71d26c2020-10-21 13:36:29 +02001{{/*
mayankg2703ced85142018-03-20 05:42:53 +00002# Copyright © 2017 Amdocs, Bell Canada
jhhd4258672020-08-09 12:08:08 -05003# Modifications Copyright © 2018-2020 AT&T Intellectual Property
mayankg2703ced85142018-03-20 05:42:53 +00004#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
Jakub Latusekd71d26c2020-10-21 13:36:29 +020016*/}}
mayankg2703ced85142018-03-20 05:42:53 +000017
Grzegorz-Lis4fad3022020-07-31 10:18:21 +020018apiVersion: apps/v1
mayankg2703c7985462018-03-29 14:24:23 +000019kind: StatefulSet
mayankg2703ced85142018-03-20 05:42:53 +000020metadata:
21 name: {{ include "common.fullname" . }}
22 namespace: {{ include "common.namespace" . }}
23 labels:
24 app: {{ include "common.name" . }}
25 chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +010026 release: {{ include "common.release" . }}
mayankg2703ced85142018-03-20 05:42:53 +000027 heritage: {{ .Release.Service }}
28spec:
Mahendra Raghuwanshic1395ec2018-04-26 03:19:03 +000029 serviceName: {{ include "common.servicename" . }}
mayankg2703ced85142018-03-20 05:42:53 +000030 replicas: {{ .Values.replicaCount }}
mayankg2703c7985462018-03-29 14:24:23 +000031 selector:
32 matchLabels:
33 app: {{ include "common.name" . }}
mayankg2703ced85142018-03-20 05:42:53 +000034 template:
35 metadata:
36 labels:
37 app: {{ include "common.name" . }}
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +010038 release: {{ include "common.release" . }}
mayankg2703ced85142018-03-20 05:42:53 +000039 spec:
40 initContainers:
41 - command:
Sylvain Desbureaux1694e1d2020-08-21 09:58:25 +020042 - /app/ready.py
jhhd4258672020-08-09 12:08:08 -050043 args:
44 - --job-name
45 - {{ include "common.release" . }}-policy-galera-config
46 env:
47 - name: NAMESPACE
48 valueFrom:
49 fieldRef:
50 apiVersion: v1
51 fieldPath: metadata.namespace
Sylvain Desbureaux7c8c6862020-11-19 18:02:37 +010052 image: {{ include "repositoryGenerator.image.readiness" . }}
jhhd4258672020-08-09 12:08:08 -050053 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
54 name: {{ include "common.name" . }}-db-readiness
55{{- if not .Values.nexus.offline }}
56 - command:
Sylvain Desbureaux1694e1d2020-08-21 09:58:25 +020057 - /app/ready.py
mayankg2703ced85142018-03-20 05:42:53 +000058 args:
59 - --container-name
jhhd4258672020-08-09 12:08:08 -050060 - {{ .Values.nexus.name }}
mayankg2703ced85142018-03-20 05:42:53 +000061 env:
62 - name: NAMESPACE
63 valueFrom:
64 fieldRef:
65 apiVersion: v1
66 fieldPath: metadata.namespace
Sylvain Desbureaux7c8c6862020-11-19 18:02:37 +010067 image: {{ include "repositoryGenerator.image.readiness" . }}
mayankg2703ced85142018-03-20 05:42:53 +000068 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
69 name: {{ include "common.name" . }}-readiness
jhhd4258672020-08-09 12:08:08 -050070{{- end }}
71{{ include "common.certInitializer.initContainer" . | indent 6 }}
mayankg2703ced85142018-03-20 05:42:53 +000072 containers:
73 - name: {{ include "common.name" . }}
Sylvain Desbureaux7c8c6862020-11-19 18:02:37 +010074 image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
mayankg2703ced85142018-03-20 05:42:53 +000075 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
Taka Cho9658ce82020-12-10 14:34:18 -050076 command: ["sh","-c"]
jhhd4258672020-08-09 12:08:08 -050077 args: ["if [ -f {{ .Values.certInitializer.credsPath }}/.ci ]; then \
78 source {{ .Values.certInitializer.credsPath }}/.ci; fi;\
jhhbf8d8a92020-09-10 14:01:49 -050079 cp {{ .Values.certInitializer.credsPath }}/org.onap.policy.p12 ${POLICY_HOME}/etc/ssl/policy-keystore;\
jhhd4258672020-08-09 12:08:08 -050080 /opt/app/policy/bin/pdpd-cl-entrypoint.sh boot"]
mayankg2703ced85142018-03-20 05:42:53 +000081 ports:
82 - containerPort: {{ .Values.service.externalPort }}
83 - containerPort: {{ .Values.service.externalPort2 }}
mayankg2703ced85142018-03-20 05:42:53 +000084 {{- if eq .Values.liveness.enabled true }}
85 livenessProbe:
86 tcpSocket:
87 port: {{ .Values.service.externalPort }}
88 initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
89 periodSeconds: {{ .Values.liveness.periodSeconds }}
90 {{- end }}
91 readinessProbe:
92 tcpSocket:
93 port: {{ .Values.service.externalPort }}
94 initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
95 periodSeconds: {{ .Values.readiness.periodSeconds }}
96 env:
97 - name: REPLICAS
98 value: "{{ .Values.replicaCount }}"
Krzysztof Opasiak68b1c922020-03-26 23:59:36 +010099 - name: SQL_USER
Krzysztof Opasiak4372e832020-09-01 19:17:20 +0200100 {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-secret" "key" "login") | indent 12 }}
Krzysztof Opasiak68b1c922020-03-26 23:59:36 +0100101 - name: SQL_PASSWORD
Krzysztof Opasiak4372e832020-09-01 19:17:20 +0200102 {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-secret" "key" "password") | indent 12 }}
mayankg2703ced85142018-03-20 05:42:53 +0000103 volumeMounts:
jhhd4258672020-08-09 12:08:08 -0500104{{ include "common.certInitializer.volumeMount" . | indent 10 }}
mayankg2703ced85142018-03-20 05:42:53 +0000105 - mountPath: /etc/localtime
106 name: localtime
107 readOnly: true
jhh01096592019-09-04 07:47:25 -0500108 {{- range $path, $bytes := .Files.Glob "resources/secrets/*" }}
109 - mountPath: /tmp/policy-install/config/{{ base $path }}
mayankg2703ced85142018-03-20 05:42:53 +0000110 name: drools-secret
jhh01096592019-09-04 07:47:25 -0500111 subPath: {{ base $path }}
112 {{- end }}
113 {{- range $path, $bytes := .Files.Glob "resources/configmaps/*" }}
114 - mountPath: /tmp/policy-install/config/{{ base $path }}
Jorge Hernandez328eadb2018-05-15 07:52:21 -0500115 name: drools-config
jhh01096592019-09-04 07:47:25 -0500116 subPath: {{ base $path }}
117 {{- end }}
mayankg2703ced85142018-03-20 05:42:53 +0000118 resources:
jhhd4258672020-08-09 12:08:08 -0500119{{ include "common.resources" . }}
mayankg2703ced85142018-03-20 05:42:53 +0000120 {{- if .Values.nodeSelector }}
mayankg2703ced85142018-03-20 05:42:53 +0000121 nodeSelector:
122{{ toYaml .Values.nodeSelector | indent 10 }}
123 {{- end -}}
124 {{- if .Values.affinity }}
125 affinity:
126{{ toYaml .Values.affinity | indent 10 }}
127 {{- end }}
farida azmyc1178372021-04-11 12:55:33 +0200128 serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
mayankg2703ced85142018-03-20 05:42:53 +0000129 volumes:
jhhd4258672020-08-09 12:08:08 -0500130{{ include "common.certInitializer.volumes" . | indent 8 }}
mayankg2703ced85142018-03-20 05:42:53 +0000131 - name: localtime
132 hostPath:
133 path: /etc/localtime
mayankg2703ced85142018-03-20 05:42:53 +0000134 - name: drools-config
135 configMap:
136 name: {{ include "common.fullname" . }}-configmap
137 items:
jhh01096592019-09-04 07:47:25 -0500138 {{- range $path, $bytes := .Files.Glob "resources/configmaps/*" }}
139 - key: {{ base $path }}
140 path: {{ base $path }}
mayankg2703ced85142018-03-20 05:42:53 +0000141 mode: 0755
jhh01096592019-09-04 07:47:25 -0500142 {{- end }}
mayankg2703ced85142018-03-20 05:42:53 +0000143 - name: drools-secret
144 secret:
145 secretName: {{ include "common.fullname" . }}-secret
146 items:
jhh01096592019-09-04 07:47:25 -0500147 {{- range $path, $bytes := .Files.Glob "resources/secrets/*" }}
148 - key: {{ base $path }}
149 path: {{ base $path }}
mayankg2703ced85142018-03-20 05:42:53 +0000150 mode: 0644
jhh01096592019-09-04 07:47:25 -0500151 {{- end }}
mayankg2703ced85142018-03-20 05:42:53 +0000152 imagePullSecrets:
153 - name: "{{ include "common.namespace" . }}-docker-registry-key"