blob: 882372e9c70a36aa996034553ea03bc2fce31fd6 [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:
kosewski24e52292020-07-14 09:57:53 +000026 selector:
27 matchLabels:
28 app: {{ include "common.name" . }}
Aaron Hay343e6002018-08-21 13:55:00 -040029 replicas: {{ .Values.replicaCount }}
30 template:
31 metadata:
32 labels:
33 app: {{ include "common.name" . }}
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +010034 release: {{ include "common.release" . }}
Aaron Hay343e6002018-08-21 13:55:00 -040035 spec:
Taka Cho72759852019-06-26 13:51:46 -040036 initContainers:
37 - name: {{ include "common.name" . }}-chown
38 image: "busybox"
39 command: ["sh", "-c", "chown -R {{ .Values.config.ansibleUid }}:{{ .Values.config.ansibleGid}} {{ .Values.persistence.playbookPath }}"]
40 volumeMounts:
41 - mountPath: {{ .Values.persistence.playbookPath }}
42 name: {{ include "common.fullname" . }}-playbook
Aaron Hay343e6002018-08-21 13:55:00 -040043 containers:
44 - name: {{ include "common.name" . }}
45 command: ["/bin/bash"]
Aaron Hayfbe516c2018-09-27 08:06:15 -040046 args: ["-c", "cd /opt/onap/ccsdk && ./startAnsibleServer.sh"]
Aaron Hay343e6002018-08-21 13:55:00 -040047 image: "{{ include "common.repository" . }}/{{ .Values.image }}"
48 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
49 ports:
50 - containerPort: {{ .Values.service.internalPort }}
51 # disable liveness probe when breakpoints set in debugger
52 # so K8s doesn't restart unresponsive container
53 {{ if .Values.liveness.enabled }}
54 livenessProbe:
55 tcpSocket:
56 port: {{ .Values.service.internalPort }}
57 initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
58 periodSeconds: {{ .Values.liveness.periodSeconds }}
59 {{ end }}
60 readinessProbe:
61 tcpSocket:
62 port: {{ .Values.service.internalPort }}
63 initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
64 periodSeconds: {{ .Values.readiness.periodSeconds }}
65 volumeMounts:
66 - mountPath: /etc/localtime
67 name: localtime
68 readOnly: true
69 - mountPath: {{ .Values.config.configDir }}/RestServer_config
70 name: config
71 subPath: RestServer_config
Aaron Hay0fc90762019-03-20 19:48:42 -040072 - mountPath: {{ .Values.persistence.playbookPath }}
Taka Cho72759852019-06-26 13:51:46 -040073 name: {{ include "common.fullname" . }}-playbook
Aaron Hay343e6002018-08-21 13:55:00 -040074 resources:
Mandeep Khinda5e3f36a2018-09-24 15:25:42 +000075{{ include "common.resources" . | indent 12 }}
Sylvain Desbureaux45bb7132018-11-23 15:41:38 +010076 {{- if .Values.nodeSelector }}
Aaron Hay343e6002018-08-21 13:55:00 -040077 nodeSelector:
78{{ toYaml .Values.nodeSelector | indent 10 }}
79 {{- end -}}
80 {{- if .Values.affinity }}
81 affinity:
82{{ toYaml .Values.affinity | indent 10 }}
83 {{- end }}
84 volumes:
85 - name: localtime
86 hostPath:
87 path: /etc/localtime
88 - name: config
89 configMap:
90 name: {{ include "common.fullname" . }}
91 defaultMode: 0644
Aaron Hay0fc90762019-03-20 19:48:42 -040092{{ if not .Values.persistence.enabled }}
Taka Cho72759852019-06-26 13:51:46 -040093 - name: {{ include "common.fullname" . }}-playbook
Aaron Hay0fc90762019-03-20 19:48:42 -040094 emptyDir: {}
95{{ else }}
96 volumeClaimTemplates:
97 - metadata:
Taka Cho72759852019-06-26 13:51:46 -040098 name: {{ include "common.fullname" . }}-playbook
Aaron Hay0fc90762019-03-20 19:48:42 -040099 labels:
100 name: {{ include "common.fullname" . }}
Sylvain Desbureaux5f46e6e2019-11-29 09:19:40 +0100101 chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +0100102 release: "{{ include "common.release" . }}"
Sylvain Desbureaux5f46e6e2019-11-29 09:19:40 +0100103 heritage: "{{ .Release.Service }}"
Aaron Hay0fc90762019-03-20 19:48:42 -0400104 spec:
Sylvain Desbureaux5f46e6e2019-11-29 09:19:40 +0100105 accessModes:
106 - {{ .Values.persistence.accessMode }}
107 storageClassName: {{ include "common.storageClass" . }}
Aaron Hay0fc90762019-03-20 19:48:42 -0400108 resources:
109 requests:
110 storage: {{ .Values.persistence.size }}
111{{ end }}