[DCAEMOD] Uses new tpls for repos / images
[oom.git] / kubernetes / dmaap / components / message-router / templates / statefulset.yaml
1 {{/*
2 # Copyright © 2017 Amdocs, Bell Canada
3 # Modifications Copyright © 2018 AT&T
4 #
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.
16 */}}
17
18 apiVersion: apps/v1
19 kind: StatefulSet
20 metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
21 spec:
22   selector: {{- include "common.selectors" . | nindent 4 }}
23   serviceName: {{ include "common.servicename" . }}
24   replicas: {{ .Values.replicaCount }}
25   template:
26     metadata: {{- include "common.templateMetadata" . | nindent 6 }}
27     spec:
28       initContainers:
29       - command:
30         - /app/ready.py
31         args:
32         - --container-name
33         - {{ .Values.kafka.name }}
34         - --container-name
35         - {{ .Values.zookeeper.name }}
36         env:
37         - name: NAMESPACE
38           valueFrom:
39             fieldRef:
40               apiVersion: v1
41               fieldPath: metadata.namespace
42         image: "{{ include "common.repository" . }}/{{ .Values.global.readinessImage }}"
43         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
44         name: {{ include "common.name" . }}-readiness
45       containers:
46       {{- if .Values.prometheus.jmx.enabled }}
47         - name: prometheus-jmx-exporter
48           image: "{{ .Values.prometheus.jmx.imageRepository }}/{{ .Values.prometheus.jmx.image }}:{{ .Values.prometheus.jmx.imageTag }}"
49           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
50           command:
51           - java
52           - -XX:+UnlockExperimentalVMOptions
53           - -XX:+UseCGroupMemoryLimitForHeap
54           - -XX:MaxRAMFraction=1
55           - -XshowSettings:vm
56           - -jar
57           - jmx_prometheus_httpserver.jar
58           - {{ .Values.prometheus.jmx.port | quote }}
59           - /etc/jmx-kafka/jmx-mrservice-prometheus.yml
60           ports:
61           - containerPort: {{ .Values.prometheus.jmx.port }}
62           resources:
63           volumeMounts:
64           - name: jmx-config
65             mountPath: /etc/jmx-kafka
66       {{- end }}
67         - name: {{ include "common.name" . }}
68           image: "{{ include "common.repository" . }}/{{ .Values.image }}"
69           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
70           ports: {{ include "common.containerPorts" . | nindent 10  }}
71           {{- if eq .Values.liveness.enabled true }}
72           livenessProbe:
73             tcpSocket:
74               port: {{ .Values.liveness.port }}
75             initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
76             periodSeconds: {{ .Values.liveness.periodSeconds }}
77             timeoutSeconds: {{ .Values.liveness.timeoutSeconds }}
78           {{ end -}}
79           readinessProbe:
80             tcpSocket:
81               port: {{ .Values.readiness.port }}
82             initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
83             periodSeconds: {{ .Values.readiness.periodSeconds }}
84             timeoutSeconds: {{ .Values.readiness.timeoutSeconds }}
85           env:
86           - name: enableCadi
87             value: "{{ .Values.global.aafEnabled }}"
88           volumeMounts:
89           - mountPath: /etc/localtime
90             name: localtime
91             readOnly: true
92           - mountPath: /appl/dmaapMR1/bundleconfig/etc/appprops/MsgRtrApi.properties
93             subPath: MsgRtrApi.properties
94             name: appprops
95           - mountPath: /appl/dmaapMR1/bundleconfig/etc/logback.xml
96             subPath: logback.xml
97             name: logback
98           - mountPath: /appl/dmaapMR1/etc/cadi.properties
99             subPath: cadi.properties
100             name: cadi
101           - mountPath: /appl/dmaapMR1/etc/keyfile
102             subPath: mykey
103             name: mykey
104           resources: {{ include "common.resources" . | nindent 12 }}
105       volumes:
106         - name: localtime
107           hostPath:
108             path: /etc/localtime
109         - name: appprops
110           configMap:
111             name: {{ include "common.fullname" . }}-msgrtrapi-prop-configmap
112         - name: logback
113           configMap:
114             name: {{ include "common.fullname" . }}-logback-xml-configmap
115         - name: cadi
116           configMap:
117             name: {{ include "common.fullname" . }}-cadi-prop-configmap
118         {{- if .Values.prometheus.jmx.enabled }}
119         - name: jmx-config
120           configMap:
121             name: {{ include "common.fullname" . }}-prometheus-configmap
122         {{- end }}
123         - name: mykey
124           secret:
125             secretName: {{ include "common.fullname" . }}-secret
126       imagePullSecrets:
127       - name: "{{ include "common.namespace" . }}-docker-registry-key"