blob: 0e9e60ab5f680fad1a63bdf77510c206a46d4175 [file] [log] [blame]
Jakub Latusek647e2cf2020-10-21 13:27:09 +02001{{/*
Aaron Hay343e6002018-08-21 13:55:00 -04002# Copyright © 2018 Amdocs, Bell Canada, AT&T
3#
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.
Jakub Latusek647e2cf2020-10-21 13:27:09 +020015*/}}
Aaron Hay343e6002018-08-21 13:55:00 -040016
kosewski24e52292020-07-14 09:57:53 +000017apiVersion: apps/v1
Aaron Hay0fc90762019-03-20 19:48:42 -040018kind: StatefulSet
Aaron Hay343e6002018-08-21 13:55:00 -040019metadata:
20 name: {{ include "common.fullname" . }}
21 namespace: {{ include "common.namespace" . }}
22 labels:
23 app: {{ include "common.name" . }}
24 chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +010025 release: {{ include "common.release" . }}
Aaron Hay343e6002018-08-21 13:55:00 -040026 heritage: {{ .Release.Service }}
27spec:
Jakub Latusek7b30a732020-09-18 12:06:39 +020028 serviceName: {{ include "common.servicename" . }}
kosewski24e52292020-07-14 09:57:53 +000029 selector:
30 matchLabels:
31 app: {{ include "common.name" . }}
Aaron Hay343e6002018-08-21 13:55:00 -040032 replicas: {{ .Values.replicaCount }}
33 template:
34 metadata:
35 labels:
36 app: {{ include "common.name" . }}
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +010037 release: {{ include "common.release" . }}
Aaron Hay343e6002018-08-21 13:55:00 -040038 spec:
Taka Cho72759852019-06-26 13:51:46 -040039 initContainers:
40 - name: {{ include "common.name" . }}-chown
Sylvain Desbureaux856fce12020-11-21 22:48:15 +010041 image: {{ include "repositoryGenerator.image.busybox" . }}
Taka Cho72759852019-06-26 13:51:46 -040042 command: ["sh", "-c", "chown -R {{ .Values.config.ansibleUid }}:{{ .Values.config.ansibleGid}} {{ .Values.persistence.playbookPath }}"]
43 volumeMounts:
44 - mountPath: {{ .Values.persistence.playbookPath }}
45 name: {{ include "common.fullname" . }}-playbook
Aaron Hay343e6002018-08-21 13:55:00 -040046 containers:
47 - name: {{ include "common.name" . }}
48 command: ["/bin/bash"]
Aaron Hayfbe516c2018-09-27 08:06:15 -040049 args: ["-c", "cd /opt/onap/ccsdk && ./startAnsibleServer.sh"]
Sylvain Desbureaux856fce12020-11-21 22:48:15 +010050 image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
Aaron Hay343e6002018-08-21 13:55:00 -040051 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
52 ports:
53 - containerPort: {{ .Values.service.internalPort }}
54 # disable liveness probe when breakpoints set in debugger
55 # so K8s doesn't restart unresponsive container
56 {{ if .Values.liveness.enabled }}
57 livenessProbe:
58 tcpSocket:
59 port: {{ .Values.service.internalPort }}
60 initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
61 periodSeconds: {{ .Values.liveness.periodSeconds }}
62 {{ end }}
63 readinessProbe:
64 tcpSocket:
65 port: {{ .Values.service.internalPort }}
66 initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
67 periodSeconds: {{ .Values.readiness.periodSeconds }}
68 volumeMounts:
69 - mountPath: /etc/localtime
70 name: localtime
71 readOnly: true
72 - mountPath: {{ .Values.config.configDir }}/RestServer_config
73 name: config
74 subPath: RestServer_config
Aaron Hay0fc90762019-03-20 19:48:42 -040075 - mountPath: {{ .Values.persistence.playbookPath }}
Taka Cho72759852019-06-26 13:51:46 -040076 name: {{ include "common.fullname" . }}-playbook
Aaron Hay343e6002018-08-21 13:55:00 -040077 resources:
Mandeep Khinda5e3f36a2018-09-24 15:25:42 +000078{{ include "common.resources" . | indent 12 }}
Sylvain Desbureaux45bb7132018-11-23 15:41:38 +010079 {{- if .Values.nodeSelector }}
Aaron Hay343e6002018-08-21 13:55:00 -040080 nodeSelector:
81{{ toYaml .Values.nodeSelector | indent 10 }}
82 {{- end -}}
83 {{- if .Values.affinity }}
84 affinity:
85{{ toYaml .Values.affinity | indent 10 }}
86 {{- end }}
87 volumes:
88 - name: localtime
89 hostPath:
90 path: /etc/localtime
91 - name: config
92 configMap:
93 name: {{ include "common.fullname" . }}
94 defaultMode: 0644
Aaron Hay0fc90762019-03-20 19:48:42 -040095{{ if not .Values.persistence.enabled }}
Taka Cho72759852019-06-26 13:51:46 -040096 - name: {{ include "common.fullname" . }}-playbook
Aaron Hay0fc90762019-03-20 19:48:42 -040097 emptyDir: {}
98{{ else }}
99 volumeClaimTemplates:
100 - metadata:
Taka Cho72759852019-06-26 13:51:46 -0400101 name: {{ include "common.fullname" . }}-playbook
Aaron Hay0fc90762019-03-20 19:48:42 -0400102 labels:
103 name: {{ include "common.fullname" . }}
Sylvain Desbureaux5f46e6e2019-11-29 09:19:40 +0100104 chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +0100105 release: "{{ include "common.release" . }}"
Sylvain Desbureaux5f46e6e2019-11-29 09:19:40 +0100106 heritage: "{{ .Release.Service }}"
Aaron Hay0fc90762019-03-20 19:48:42 -0400107 spec:
Sylvain Desbureaux5f46e6e2019-11-29 09:19:40 +0100108 accessModes:
109 - {{ .Values.persistence.accessMode }}
110 storageClassName: {{ include "common.storageClass" . }}
Aaron Hay0fc90762019-03-20 19:48:42 -0400111 resources:
112 requests:
113 storage: {{ .Values.persistence.size }}
114{{ end }}