1+ {{- if eq .Values.parseable.highAvailability.enabled true }}
2+ apiVersion : v1
3+ kind : Service
4+ metadata :
5+ name : {{ include "parseable.fullname" . }}-headless
6+ namespace : {{ .Release.Namespace }}
7+ spec :
8+ ports :
9+ - port : 8000
10+ name : " parseable-port"
11+ clusterIP : None
12+ selector :
13+ {{- include "parseable.ingestorLabelsSelector" . | nindent 4 }}
14+ ---
15+ apiVersion : apps/v1
16+ kind : StatefulSet
17+ metadata :
18+ name : {{ include "parseable.fullname" . }}-ingestor
19+ namespace : {{ .Release.Namespace }}
20+ spec :
21+ selector :
22+ matchLabels :
23+ {{- include "parseable.ingestorLabelsSelector" . | nindent 6 }}
24+ serviceName : {{ include "parseable.fullname" . }}-headless
25+ replicas : {{ .Values.parseable.highAvailability.ingestor.count }}
26+ minReadySeconds : 10
27+ template :
28+ metadata :
29+ labels :
30+ {{- include "parseable.ingestorLabelsSelector" . | nindent 6 }}
31+ spec :
32+ terminationGracePeriodSeconds : 10
33+ containers :
34+ - name : {{ .Chart.Name }}
35+ securityContext :
36+ {{- toYaml .Values.parseable.securityContext | nindent 8 }}
37+ image : {{ .Values.parseable.image.repository }}:{{ .Values.parseable.image.tag | default .Chart.AppVersion }}
38+ imagePullPolicy : {{ .Values.parseable.image.pullPolicy }}
39+ # Uncomment to debug
40+ # command: [ "/bin/sh", "-c", "sleep 1000000" ]
41+ args : ["parseable", "s3-store"]
42+ env :
43+ {{- range $key, $value := .Values.parseable.highAvailability.ingestor.env }}
44+ - name : {{ $key }}
45+ value : {{ tpl $value $ | quote }}
46+ {{- end }}
47+ {{- range $secret := .Values.parseable.s3ModeSecret }}
48+ {{- range $key := $secret.keys }}
49+ {{- $envPrefix := $secret.prefix | default "" | upper }}
50+ {{- $envKey := $key | upper | replace "." "_" | replace "-" "_" }}
51+ - name : {{ $envPrefix }}{{ $envKey }}
52+ valueFrom :
53+ secretKeyRef :
54+ name : {{ $secret.name }}
55+ key : {{ $key }}
56+ {{- end }}
57+ {{- end }}
58+ ports :
59+ - containerPort : 8000
60+ resources :
61+ {{- toYaml .Values.parseable.highAvailability.ingestor.resources | nindent 12 }}
62+ volumeMounts :
63+ # # No data volume for ingestor
64+ - mountPath : " /parseable/staging"
65+ name : stage-volume
66+ volumeClaimTemplates :
67+ - metadata :
68+ name : stage-volume
69+ spec :
70+ accessModes : [ "ReadWriteOnce" ]
71+ storageClassName : " my-storage-class"
72+ resources :
73+ requests :
74+ storage : 10Gi
75+ {{- end }}
0 commit comments