Skip to content

Commit 20afef4

Browse files
committed
CSPL-4003 Helm charts support for bus and pipeline configs
1 parent 759b09b commit 20afef4

File tree

6 files changed

+4950
-5
lines changed

6 files changed

+4950
-5
lines changed

api/v4/indexercluster_types.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -114,10 +114,10 @@ type IndexerClusterStatus struct {
114114
Peers []IndexerClusterMemberStatus `json:"peers"`
115115

116116
// Pipeline configuration status
117-
PipelineConfig PipelineConfigSpec `json:"pipelineConfig"`
117+
PipelineConfig PipelineConfigSpec `json:"pipelineConfig,omitempty"`
118118

119-
// Push Bus status
120-
PullBus PushBusSpec `json:"pushBus"`
119+
// Pull Bus status
120+
PullBus PushBusSpec `json:"pullBus,omitempty"`
121121

122122
// Auxillary message describing CR status
123123
Message string `json:"message"`

config/crd/bases/enterprise.splunk.com_indexerclusters.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8397,8 +8397,8 @@ spec:
83978397
typing:
83988398
type: boolean
83998399
type: object
8400-
pushBus:
8401-
description: Push Bus status
8400+
pullBus:
8401+
description: Pull Bus status
84028402
properties:
84038403
sqs:
84048404
properties:

helm-chart/splunk-enterprise/templates/enterprise_v4_indexercluster.yaml

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,5 +163,63 @@ items:
163163
{{ toYaml . | indent 6 }}
164164
{{- end }}
165165
{{- end }}
166+
{{- with $.Values.indexerCluster.pipelineConfig }}
167+
pipelineConfig:
168+
{{- if .remoteQueueRuleset }}
169+
remoteQueueRuleset: {{ .remoteQueueRuleset }}
170+
{{- end }}
171+
{{- if .ruleSet }}
172+
ruleSet: {{ .ruleSet }}
173+
{{- end }}
174+
{{- if .remoteQueueTyping }}
175+
remoteQueueTyping: {{ .remoteQueueTyping }}
176+
{{- end }}
177+
{{- if .remoteQueueOutput }}
178+
remoteQueueOutput: {{ .remoteQueueOutput }}
179+
{{- end }}
180+
{{- if .typing }}
181+
typing: {{ .typing }}
182+
{{- end }}
183+
{{- if .indexerPipe }}
184+
indexerPipe: {{ .indexerPipe }}
185+
{{- end }}
186+
{{- end }}
187+
{{- with $.Values.indexerCluster.pullBus }}
188+
pullBus:
189+
type: {{ .type | quote }}
190+
{{- with .sqs }}
191+
sqs:
192+
{{- if .queueName }}
193+
queueName: {{ .queueName | quote }}
194+
{{- end }}
195+
{{- if .authRegion }}
196+
authRegion: {{ .authRegion | quote }}
197+
{{- end }}
198+
{{- if .endpoint }}
199+
endpoint: {{ .endpoint | quote }}
200+
{{- end }}
201+
{{- if .largeMessageStoreEndpoint }}
202+
largeMessageStoreEndpoint: {{ .largeMessageStoreEndpoint | quote }}
203+
{{- end }}
204+
{{- if .largeMessageStorePath }}
205+
largeMessageStorePath: {{ .largeMessageStorePath | quote }}
206+
{{- end }}
207+
{{- if .deadLetterQueueName }}
208+
deadLetterQueueName: {{ .deadLetterQueueName | quote }}
209+
{{- end }}
210+
{{- if not (eq .maxRetriesPerPart nil) }}
211+
maxRetriesPerPart: {{ .maxRetriesPerPart }}
212+
{{- end }}
213+
{{- if .retryPolicy }}
214+
retryPolicy: {{ .retryPolicy | quote }}
215+
{{- end }}
216+
{{- if .sendInterval }}
217+
sendInterval: {{ .sendInterval | quote }}
218+
{{- end }}
219+
{{- if .encodingFormat }}
220+
encodingFormat: {{ .encodingFormat | quote }}
221+
{{- end }}
222+
{{- end }}
223+
{{- end }}
166224
{{- end }}
167225
{{- end }}
Lines changed: 160 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,160 @@
1+
{{- if .Values.ingestorCluster.enabled }}
2+
apiVersion: enterprise.splunk.com/v4
3+
kind: IngestorCluster
4+
metadata:
5+
name: {{ .Values.ingestorCluster.name }}
6+
namespace: {{ default .Release.Namespace .Values.ingestorCluster.namespaceOverride }}
7+
{{- with .Values.ingestorCluster.additionalLabels }}
8+
labels:
9+
{{ toYaml . | nindent 4 }}
10+
{{- end }}
11+
{{- with .Values.ingestorCluster.additionalAnnotations }}
12+
annotations:
13+
{{ toYaml . | nindent 4 }}
14+
{{- end }}
15+
spec:
16+
replicas: {{ default 3 .Values.ingestorCluster.replicaCount }}
17+
{{- if .Values.image.repository }}
18+
image: {{ .Values.image.repository }}
19+
{{- end }}
20+
{{- if .Values.image.imagePullPolicy }}
21+
imagePullPolicy: {{ .Values.image.imagePullPolicy }}
22+
{{- end }}
23+
{{- with .Values.image.imagePullSecrets }}
24+
imagePullSecrets:
25+
{{- toYaml . | nindent 4 }}
26+
{{- end }}
27+
{{- if .Values.ingestorCluster.serviceAccount }}
28+
serviceAccount: {{ .Values.ingestorCluster.serviceAccount }}
29+
{{- end }}
30+
{{- if .Values.existingLicenseManager.name }}
31+
licenseManagerRef:
32+
name: {{ .Values.existingLicenseManager.name }}
33+
{{- if .Values.existingLicenseManager.namespace }}
34+
namespace: {{ .Values.existingLicenseManager.namespace }}
35+
{{- end }}
36+
{{- else if and .Values.licenseManager.enabled .Values.licenseManager.name }}
37+
licenseManagerRef:
38+
name: {{ .Values.licenseManager.name }}
39+
{{- if .Values.licenseManager.namespaceOverride }}
40+
namespace: {{ .Values.licenseManager.namespaceOverride }}
41+
{{- end }}
42+
{{- end }}
43+
{{- if .Values.existingMonitoringConsole.name }}
44+
monitoringConsoleRef:
45+
name: {{ .Values.existingMonitoringConsole.name }}
46+
{{- if .Values.existingMonitoringConsole.namespace }}
47+
namespace: {{ .Values.existingMonitoringConsole.namespace }}
48+
{{- end }}
49+
{{- else if and .Values.monitoringConsole.enabled .Values.monitoringConsole.name }}
50+
monitoringConsoleRef:
51+
name: {{ .Values.monitoringConsole.name }}
52+
{{- if .Values.monitoringConsole.namespaceOverride }}
53+
namespace: {{ .Values.monitoringConsole.namespaceOverride }}
54+
{{- end }}
55+
{{- end }}
56+
livenessInitialDelaySeconds: {{ default 300 .Values.ingestorCluster.livenessInitialDelaySeconds }}
57+
readinessInitialDelaySeconds: {{ default 10 .Values.ingestorCluster.readinessInitialDelaySeconds }}
58+
{{- with .Values.ingestorCluster.startupProbe }}
59+
startupProbe:
60+
{{- toYaml . | nindent 4 }}
61+
{{- end }}
62+
{{- with .Values.ingestorCluster.livenessProbe }}
63+
livenessProbe:
64+
{{- toYaml . | nindent 4 }}
65+
{{- end }}
66+
{{- with .Values.ingestorCluster.readinessProbe }}
67+
readinessProbe:
68+
{{- toYaml . | nindent 4 }}
69+
{{- end }}
70+
{{- with .Values.ingestorCluster.etcVolumeStorageConfig }}
71+
etcVolumeStorageConfig:
72+
{{- toYaml . | nindent 4 }}
73+
{{- end }}
74+
{{- with .Values.ingestorCluster.varVolumeStorageConfig }}
75+
varVolumeStorageConfig:
76+
{{- toYaml . | nindent 4 }}
77+
{{- end }}
78+
{{- with .Values.ingestorCluster.resources }}
79+
resources:
80+
{{- toYaml . | nindent 4 }}
81+
{{- end }}
82+
{{- with .Values.ingestorCluster.serviceTemplate }}
83+
serviceTemplate:
84+
{{- toYaml . | nindent 4 }}
85+
{{- end }}
86+
{{- with .Values.ingestorCluster.tolerations }}
87+
tolerations:
88+
{{- toYaml . | nindent 4 }}
89+
{{- end }}
90+
{{- with .Values.ingestorCluster.affinity }}
91+
affinity:
92+
{{- toYaml . | nindent 4 }}
93+
{{- end }}
94+
{{- with .Values.ingestorCluster.topologySpreadConstraints }}
95+
topologySpreadConstraints:
96+
{{- toYaml . | nindent 4 }}
97+
{{- end }}
98+
{{- with .Values.ingestorCluster.pipelineConfig }}
99+
pipelineConfig:
100+
{{- if hasKey . "remoteQueueRuleset" }}
101+
remoteQueueRuleset: {{ .remoteQueueRuleset }}
102+
{{- end }}
103+
{{- if hasKey . "ruleSet" }}
104+
ruleSet: {{ .ruleSet }}
105+
{{- end }}
106+
{{- if hasKey . "remoteQueueTyping" }}
107+
remoteQueueTyping: {{ .remoteQueueTyping }}
108+
{{- end }}
109+
{{- if hasKey . "remoteQueueOutput" }}
110+
remoteQueueOutput: {{ .remoteQueueOutput }}
111+
{{- end }}
112+
{{- if hasKey . "typing" }}
113+
typing: {{ .typing }}
114+
{{- end }}
115+
{{- if hasKey . "indexerPipe" }}
116+
indexerPipe: {{ .indexerPipe }}
117+
{{- end }}
118+
{{- end }}
119+
{{- with .Values.ingestorCluster.pushBus }}
120+
pushBus:
121+
type: {{ .type | quote }}
122+
{{- with .sqs }}
123+
sqs:
124+
{{- if .queueName }}
125+
queueName: {{ .queueName | quote }}
126+
{{- end }}
127+
{{- if .authRegion }}
128+
authRegion: {{ .authRegion | quote }}
129+
{{- end }}
130+
{{- if .endpoint }}
131+
endpoint: {{ .endpoint | quote }}
132+
{{- end }}
133+
{{- if .largeMessageStoreEndpoint }}
134+
largeMessageStoreEndpoint: {{ .largeMessageStoreEndpoint | quote }}
135+
{{- end }}
136+
{{- if .largeMessageStorePath }}
137+
largeMessageStorePath: {{ .largeMessageStorePath | quote }}
138+
{{- end }}
139+
{{- if .deadLetterQueueName }}
140+
deadLetterQueueName: {{ .deadLetterQueueName | quote }}
141+
{{- end }}
142+
{{- if not (eq .maxRetriesPerPart nil) }}
143+
maxRetriesPerPart: {{ .maxRetriesPerPart }}
144+
{{- end }}
145+
{{- if .retryPolicy }}
146+
retryPolicy: {{ .retryPolicy | quote }}
147+
{{- end }}
148+
{{- if .sendInterval }}
149+
sendInterval: {{ .sendInterval | quote }}
150+
{{- end }}
151+
{{- if .encodingFormat }}
152+
encodingFormat: {{ .encodingFormat | quote }}
153+
{{- end }}
154+
{{- end }}
155+
{{- end }}
156+
{{- with .Values.ingestorCluster.extraEnv }}
157+
extraEnv:
158+
{{- toYaml . | nindent 4 }}
159+
{{- end }}
160+
{{- end }}

helm-chart/splunk-enterprise/values.yaml

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -350,6 +350,10 @@ indexerCluster:
350350
# nodeAffinityPolicy: [Honor|Ignore] # optional; beta since v1.26
351351
# nodeTaintsPolicy: [Honor|Ignore] # optional; beta since v1.26
352352

353+
pipelineConfig: {}
354+
355+
pullBus: {}
356+
353357
searchHeadCluster:
354358

355359
enabled: false
@@ -808,3 +812,89 @@ extraManifests: []
808812
# spec:
809813
# securityPolicy:
810814
# name: "gcp-cloud-armor-policy-test"
815+
816+
ingestorCluster:
817+
818+
enabled: false
819+
820+
name: "ingestor"
821+
822+
namespaceOverride: ""
823+
824+
additionalLabels: {}
825+
826+
additionalAnnotations: {}
827+
828+
replicaCount: 3
829+
830+
appRepo: {}
831+
# appsRepoPollIntervalSeconds:
832+
# defaults:
833+
# volumeName:
834+
# scope:
835+
# appSources:
836+
# - name:
837+
# location:
838+
# volumes:
839+
# - name:
840+
# storageType:
841+
# provider:
842+
# path:
843+
# endpoint:
844+
# region:
845+
# secretRef:
846+
847+
volumes: []
848+
849+
extraEnv: []
850+
# - name:
851+
# value:
852+
853+
livenessInitialDelaySeconds: 300
854+
855+
readinessInitialDelaySeconds: 10
856+
857+
# Set Probes for Splunk instance pod containers
858+
# reference: https://github.com/splunk/splunk-operator/blob/main/docs/HealthCheck.md
859+
startupProbe: {}
860+
# initialDelaySeconds: 40
861+
# timeoutSeconds: 30
862+
# periodSeconds: 30
863+
# failureThreshold: 12
864+
livenessProbe: {}
865+
# initialDelaySeconds: 30
866+
# timeoutSeconds: 30
867+
# periodSeconds: 30
868+
# failureThreshold: 3
869+
readinessProbe: {}
870+
# initialDelaySeconds: 10
871+
# timeoutSeconds: 5
872+
# periodSeconds: 5
873+
# failureThreshold: 3
874+
875+
etcVolumeStorageConfig:
876+
ephemeralStorage: false
877+
storageCapacity: 10Gi
878+
# storageClassName: gp2
879+
880+
varVolumeStorageConfig:
881+
ephemeralStorage: false
882+
storageCapacity: 100Gi
883+
# storageClassName: gp2
884+
885+
resources: {}
886+
# requests:
887+
# memory: "2Gi"
888+
# cpu: "4"
889+
# limits:
890+
# memory: "12Gi"
891+
# cpu: "24"
892+
893+
serviceAccount: ""
894+
895+
# ServiceTemplate is a template used to create Kubernetes services
896+
serviceTemplate: {}
897+
898+
pipelineConfig: {}
899+
900+
pushBus: {}

0 commit comments

Comments
 (0)