blob: 04d254f1b000f06b8d9e29d02860caaeead39ac8 [file] [log] [blame]
Aaron Hay343e6002018-08-21 13:55:00 -04001# Copyright © 2018 Amdocs, Bell Canada, AT&T
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
kosewski24e52292020-07-14 09:57:53 +000015apiVersion: apps/v1
Aaron Hay0fc90762019-03-20 19:48:42 -040016kind: StatefulSet
Aaron Hay343e6002018-08-21 13:55:00 -040017metadata:
18 name: {{ include "common.fullname" . }}
19 namespace: {{ include "common.namespace" . }}
20 labels:
21 app: {{ include "common.name" . }}
22 chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +010023 release: {{ include "common.release" . }}
Aaron Hay343e6002018-08-21 13:55:00 -040024 heritage: {{ .Release.Service }}
25spec:
Jakub Latusek7b30a732020-09-18 12:06:39 +020026 serviceName: {{ include "common.servicename" . }}
kosewski24e52292020-07-14 09:57:53 +000027 selector:
28 matchLabels:
29 app: {{ include "common.name" . }}
Aaron Hay343e6002018-08-21 13:55:00 -040030 replicas: {{ .Values.replicaCount }}
31 template:
32 metadata:
33 labels:
34 app: {{ include "common.name" . }}
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +010035 release: {{ include "common.release" . }}
Aaron Hay343e6002018-08-21 13:55:00 -040036 spec:
Taka Cho72759852019-06-26 13:51:46 -040037 initContainers:
38 - name: {{ include "common.name" . }}-chown
39 image: "busybox"
40 command: ["sh", "-c", "chown -R {{ .Values.config.ansibleUid }}:{{ .Values.config.ansibleGid}} {{ .Values.persistence.playbookPath }}"]
41 volumeMounts:
42 - mountPath: {{ .Values.persistence.playbookPath }}
43 name: {{ include "common.fullname" . }}-playbook
Aaron Hay343e6002018-08-21 13:55:00 -040044 containers:
45 - name: {{ include "common.name" . }}
46 command: ["/bin/bash"]
Aaron Hayfbe516c2018-09-27 08:06:15 -040047 args: ["-c", "cd /opt/onap/ccsdk && ./startAnsibleServer.sh"]
Aaron Hay343e6002018-08-21 13:55:00 -040048 image: "{{ include "common.repository" . }}/{{ .Values.image }}"
49 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
50 ports:
51 - containerPort: {{ .Values.service.internalPort }}
52 # disable liveness probe when breakpoints set in debugger
53 # so K8s doesn't restart unresponsive container
54 {{ if .Values.liveness.enabled }}
55 livenessProbe:
56 tcpSocket:
57 port: {{ .Values.service.internalPort }}
58 initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
59 periodSeconds: {{ .Values.liveness.periodSeconds }}
60 {{ end }}
61 readinessProbe:
62 tcpSocket:
63 port: {{ .Values.service.internalPort }}
64 initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
65 periodSeconds: {{ .Values.readiness.periodSeconds }}
66 volumeMounts:
67 - mountPath: /etc/localtime
68 name: localtime
69 readOnly: true
70 - mountPath: {{ .Values.config.configDir }}/RestServer_config
71 name: config
72 subPath: RestServer_config
Aaron Hay0fc90762019-03-20 19:48:42 -040073 - mountPath: {{ .Values.persistence.playbookPath }}
Taka Cho72759852019-06-26 13:51:46 -040074 name: {{ include "common.fullname" . }}-playbook
Aaron Hay343e6002018-08-21 13:55:00 -040075 resources:
Mandeep Khinda5e3f36a2018-09-24 15:25:42 +000076{{ include "common.resources" . | indent 12 }}
Sylvain Desbureaux45bb7132018-11-23 15:41:38 +010077 {{- if .Values.nodeSelector }}
Aaron Hay343e6002018-08-21 13:55:00 -040078 nodeSelector:
79{{ toYaml .Values.nodeSelector | indent 10 }}
80 {{- end -}}
81 {{- if .Values.affinity }}
82 affinity:
83{{ toYaml .Values.affinity | indent 10 }}
84 {{- end }}
85 volumes:
86 - name: localtime
87 hostPath:
88 path: /etc/localtime
89 - name: config
90 configMap:
91 name: {{ include "common.fullname" . }}
92 defaultMode: 0644
Aaron Hay0fc90762019-03-20 19:48:42 -040093{{ if not .Values.persistence.enabled }}
Taka Cho72759852019-06-26 13:51:46 -040094 - name: {{ include "common.fullname" . }}-playbook
Aaron Hay0fc90762019-03-20 19:48:42 -040095 emptyDir: {}
96{{ else }}
97 volumeClaimTemplates:
98 - metadata:
Taka Cho72759852019-06-26 13:51:46 -040099 name: {{ include "common.fullname" . }}-playbook
Aaron Hay0fc90762019-03-20 19:48:42 -0400100 labels:
101 name: {{ include "common.fullname" . }}
Sylvain Desbureaux5f46e6e2019-11-29 09:19:40 +0100102 chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +0100103 release: "{{ include "common.release" . }}"
Sylvain Desbureaux5f46e6e2019-11-29 09:19:40 +0100104 heritage: "{{ .Release.Service }}"
Aaron Hay0fc90762019-03-20 19:48:42 -0400105 spec:
Sylvain Desbureaux5f46e6e2019-11-29 09:19:40 +0100106 accessModes:
107 - {{ .Values.persistence.accessMode }}
108 storageClassName: {{ include "common.storageClass" . }}
Aaron Hay0fc90762019-03-20 19:48:42 -0400109 resources:
110 requests:
111 storage: {{ .Values.persistence.size }}
112{{ end }}