blob: ed09551e6ac88258273f9665e925b48b0702048d [file] [log] [blame]
Jakub Latusekd71d26c2020-10-21 13:36:29 +02001{{/*
mayankg2703ced85142018-03-20 05:42:53 +00002# Copyright © 2017 Amdocs, Bell Canada
jhh0d1c0e82022-04-08 14:36:15 -05003# Modifications Copyright © 2018-2020, 2022 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
Andreas Geisslerf10c5552023-03-21 18:09:46 +010020metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
mayankg2703ced85142018-03-20 05:42:53 +000021spec:
Andreas Geisslerf10c5552023-03-21 18:09:46 +010022 selector: {{- include "common.selectors" . | nindent 4 }}
Mahendra Raghuwanshic1395ec2018-04-26 03:19:03 +000023 serviceName: {{ include "common.servicename" . }}
mayankg2703ced85142018-03-20 05:42:53 +000024 replicas: {{ .Values.replicaCount }}
25 template:
Andreas Geisslerf10c5552023-03-21 18:09:46 +010026 metadata: {{- include "common.templateMetadata" . | nindent 6 }}
mayankg2703ced85142018-03-20 05:42:53 +000027 spec:
28 initContainers:
29 - command:
Sylvain Desbureaux1694e1d2020-08-21 09:58:25 +020030 - /app/ready.py
jhhd4258672020-08-09 12:08:08 -050031 args:
32 - --job-name
33 - {{ include "common.release" . }}-policy-galera-config
34 env:
35 - name: NAMESPACE
36 valueFrom:
37 fieldRef:
38 apiVersion: v1
39 fieldPath: metadata.namespace
Sylvain Desbureaux7c8c6862020-11-19 18:02:37 +010040 image: {{ include "repositoryGenerator.image.readiness" . }}
jhhd4258672020-08-09 12:08:08 -050041 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
42 name: {{ include "common.name" . }}-db-readiness
Andreas Geissler47537432024-02-27 08:55:23 +010043 resources:
44 limits:
45 cpu: "100m"
Andreas Geissler8cbb3d92024-03-12 16:44:56 +010046 memory: "500Mi"
Andreas Geissler47537432024-02-27 08:55:23 +010047 requests:
48 cpu: "3m"
Andreas Geissler8cbb3d92024-03-12 16:44:56 +010049 memory: "20Mi"
jhhd4258672020-08-09 12:08:08 -050050{{- if not .Values.nexus.offline }}
51 - command:
Sylvain Desbureaux1694e1d2020-08-21 09:58:25 +020052 - /app/ready.py
mayankg2703ced85142018-03-20 05:42:53 +000053 args:
54 - --container-name
jhhd4258672020-08-09 12:08:08 -050055 - {{ .Values.nexus.name }}
mayankg2703ced85142018-03-20 05:42:53 +000056 env:
57 - name: NAMESPACE
58 valueFrom:
59 fieldRef:
60 apiVersion: v1
61 fieldPath: metadata.namespace
Sylvain Desbureaux7c8c6862020-11-19 18:02:37 +010062 image: {{ include "repositoryGenerator.image.readiness" . }}
mayankg2703ced85142018-03-20 05:42:53 +000063 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
64 name: {{ include "common.name" . }}-readiness
Andreas Geissler47537432024-02-27 08:55:23 +010065 resources:
66 limits:
67 cpu: "100m"
Andreas Geissler8cbb3d92024-03-12 16:44:56 +010068 memory: "500Mi"
Andreas Geissler47537432024-02-27 08:55:23 +010069 requests:
70 cpu: "3m"
Andreas Geissler8cbb3d92024-03-12 16:44:56 +010071 memory: "20Mi"
jhhd4258672020-08-09 12:08:08 -050072{{- end }}
mayankg2703ced85142018-03-20 05:42:53 +000073 containers:
74 - name: {{ include "common.name" . }}
Sylvain Desbureaux7c8c6862020-11-19 18:02:37 +010075 image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
mayankg2703ced85142018-03-20 05:42:53 +000076 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
Taka Cho9658ce82020-12-10 14:34:18 -050077 command: ["sh","-c"]
Andreas Geisslerf10c5552023-03-21 18:09:46 +010078 args: ["/opt/app/policy/bin/pdpd-cl-entrypoint.sh boot"]
79 ports: {{ include "common.containerPorts" . | nindent 12 }}
mayankg2703ced85142018-03-20 05:42:53 +000080 {{- if eq .Values.liveness.enabled true }}
81 livenessProbe:
jhh0d1c0e82022-04-08 14:36:15 -050082 httpGet:
83 path: /healthcheck/controllers
84 port: 6968
mayankg2703ced85142018-03-20 05:42:53 +000085 initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
86 periodSeconds: {{ .Values.liveness.periodSeconds }}
jhh0d1c0e82022-04-08 14:36:15 -050087 timeoutSeconds: {{ .Values.liveness.timeoutSeconds }}
mayankg2703ced85142018-03-20 05:42:53 +000088 {{- end }}
89 readinessProbe:
90 tcpSocket:
Andreas Geisslerf10c5552023-03-21 18:09:46 +010091 port: {{ .Values.service.internalPort }}
mayankg2703ced85142018-03-20 05:42:53 +000092 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:
102 - mountPath: /etc/localtime
103 name: localtime
104 readOnly: true
jhh01096592019-09-04 07:47:25 -0500105 {{- range $path, $bytes := .Files.Glob "resources/secrets/*" }}
106 - mountPath: /tmp/policy-install/config/{{ base $path }}
mayankg2703ced85142018-03-20 05:42:53 +0000107 name: drools-secret
jhh01096592019-09-04 07:47:25 -0500108 subPath: {{ base $path }}
109 {{- end }}
110 {{- range $path, $bytes := .Files.Glob "resources/configmaps/*" }}
111 - mountPath: /tmp/policy-install/config/{{ base $path }}
Jorge Hernandez328eadb2018-05-15 07:52:21 -0500112 name: drools-config
jhh01096592019-09-04 07:47:25 -0500113 subPath: {{ base $path }}
114 {{- end }}
miroslavmasaryka7ac7f02023-03-01 14:12:26 +0100115 resources: {{ include "common.resources" . | nindent 12 }}
mayankg2703ced85142018-03-20 05:42:53 +0000116 {{- if .Values.nodeSelector }}
mayankg2703ced85142018-03-20 05:42:53 +0000117 nodeSelector:
118{{ toYaml .Values.nodeSelector | indent 10 }}
119 {{- end -}}
120 {{- if .Values.affinity }}
121 affinity:
122{{ toYaml .Values.affinity | indent 10 }}
123 {{- end }}
farida azmyc1178372021-04-11 12:55:33 +0200124 serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
mayankg2703ced85142018-03-20 05:42:53 +0000125 volumes:
126 - name: localtime
127 hostPath:
128 path: /etc/localtime
mayankg2703ced85142018-03-20 05:42:53 +0000129 - name: drools-config
130 configMap:
131 name: {{ include "common.fullname" . }}-configmap
132 items:
jhh01096592019-09-04 07:47:25 -0500133 {{- range $path, $bytes := .Files.Glob "resources/configmaps/*" }}
134 - key: {{ base $path }}
135 path: {{ base $path }}
mayankg2703ced85142018-03-20 05:42:53 +0000136 mode: 0755
jhh01096592019-09-04 07:47:25 -0500137 {{- end }}
mayankg2703ced85142018-03-20 05:42:53 +0000138 - name: drools-secret
139 secret:
140 secretName: {{ include "common.fullname" . }}-secret
141 items:
jhh01096592019-09-04 07:47:25 -0500142 {{- range $path, $bytes := .Files.Glob "resources/secrets/*" }}
143 - key: {{ base $path }}
144 path: {{ base $path }}
mayankg2703ced85142018-03-20 05:42:53 +0000145 mode: 0644
jhh01096592019-09-04 07:47:25 -0500146 {{- end }}
mayankg2703ced85142018-03-20 05:42:53 +0000147 imagePullSecrets:
148 - name: "{{ include "common.namespace" . }}-docker-registry-key"