Skip to content

Commit d39e2f1

Browse files
authored
feat: support Azure Blob Storage on AKS via access key (#964)
1 parent 4c37811 commit d39e2f1

File tree

4 files changed

+89
-44
lines changed

4 files changed

+89
-44
lines changed

helm/templates/ingestor-statefulset.yaml

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ spec:
3232
{{- .Values.parseable.highAvailability.ingestor.labels | toYaml | nindent 8 }}
3333
{{- include "parseable.ingestorLabelsSelector" . | nindent 8 }}
3434
spec:
35-
terminationGracePeriodSeconds: 10
35+
terminationGracePeriodSeconds: 10
3636
serviceAccountName: {{ include "parseable.serviceAccountName" . }}
3737
containers:
3838
- name: {{ .Chart.Name }}
@@ -42,7 +42,7 @@ spec:
4242
imagePullPolicy: {{ .Values.parseable.image.pullPolicy }}
4343
args:
4444
- /usr/bin/parseable
45-
- s3-store
45+
- {{ .Values.parseable.store }}
4646
- --ingestor-endpoint=$(HOSTNAME).{{ include "parseable.fullname" . }}-ingestor-headless.{{ .Release.Namespace }}.svc.cluster.local:{{ .Values.parseable.highAvailability.ingestor.port }}
4747
env:
4848
{{- range $key, $value := .Values.parseable.highAvailability.ingestor.env }}
@@ -65,6 +65,17 @@ spec:
6565
key: {{ $key }}
6666
{{- end }}
6767
{{- end }}
68+
{{- range $secret := .Values.parseable.blobModeSecret }}
69+
{{- range $key := $secret.keys }}
70+
{{- $envPrefix := $secret.prefix | default "" | upper }}
71+
{{- $envKey := $key | upper | replace "." "_" | replace "-" "_" }}
72+
- name: {{ $envPrefix }}{{ $envKey }}
73+
valueFrom:
74+
secretKeyRef:
75+
name: {{ $secret.name }}
76+
key: {{ $key }}
77+
{{- end }}
78+
{{- end }}
6879
- name: P_MODE
6980
value: "ingest"
7081
ports:

helm/templates/querier-statefulset.yaml

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ spec:
3535
{{- .Values.parseable.podLabels | toYaml | nindent 8 }}
3636
{{- include "parseable.querierLabelsSelector" . | nindent 8 }}
3737
spec:
38-
terminationGracePeriodSeconds: 10
38+
terminationGracePeriodSeconds: 10
3939
serviceAccountName: {{ include "parseable.serviceAccountName" . }}
4040
containers:
4141
- name: {{ .Chart.Name }}
@@ -45,8 +45,13 @@ spec:
4545
imagePullPolicy: {{ .Values.parseable.image.pullPolicy }}
4646
args:
4747
- /usr/bin/parseable
48-
- s3-store
48+
- {{ .Values.parseable.store }}
4949
env:
50+
- name: HOSTNAME
51+
valueFrom:
52+
fieldRef:
53+
apiVersion: v1
54+
fieldPath: metadata.name
5055
{{- range $key, $value := .Values.parseable.env }}
5156
- name: {{ $key }}
5257
value: {{ tpl $value $ | quote }}
@@ -60,11 +65,6 @@ spec:
6065
secretKeyRef:
6166
name: {{ $secret.name }}
6267
key: {{ $key }}
63-
- name: HOSTNAME
64-
valueFrom:
65-
fieldRef:
66-
apiVersion: v1
67-
fieldPath: metadata.name
6868
{{- end }}
6969
{{- end }}
7070
- name: P_MODE
@@ -73,6 +73,17 @@ spec:
7373
- name: P_HOT_TIER_DIR
7474
value: "/parseable/hot-tier"
7575
{{- end }}
76+
{{- range $secret := .Values.parseable.blobModeSecret }}
77+
{{- range $key := $secret.keys }}
78+
{{- $envPrefix := $secret.prefix | default "" | upper }}
79+
{{- $envKey := $key | upper | replace "." "_" | replace "-" "_" }}
80+
- name: {{ $envPrefix }}{{ $envKey }}
81+
valueFrom:
82+
secretKeyRef:
83+
name: {{ $secret.name }}
84+
key: {{ $key }}
85+
{{- end }}
86+
{{- end }}
7687
ports:
7788
- containerPort: 8000
7889
{{- with .Values.readinessProbe }}

helm/templates/standalone-deployment.yaml

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -36,17 +36,18 @@ spec:
3636
imagePullPolicy: {{ .Values.parseable.image.pullPolicy }}
3737
# Uncomment to debug
3838
# command: [ "/bin/sh", "-c", "sleep 1000000" ]
39-
{{- if .Values.parseable.local }}
40-
args: ["/usr/bin/parseable", "local-store"]
41-
{{- else }}
42-
args: ["/usr/bin/parseable", "s3-store"]
43-
{{- end }}
39+
args: ["/usr/bin/parseable", {{ .Values.parseable.store | quote }}]
4440
env:
41+
- name: HOSTNAME
42+
valueFrom:
43+
fieldRef:
44+
apiVersion: v1
45+
fieldPath: metadata.name
4546
{{- range $key, $value := .Values.parseable.env }}
4647
- name: {{ $key }}
4748
value: {{ tpl $value $ | quote }}
4849
{{- end }}
49-
{{- if .Values.parseable.local }}
50+
{{- if .Values.parseable.localModeSecret }}
5051
{{- range $secret := .Values.parseable.localModeSecret }}
5152
{{- range $key := $secret.keys }}
5253
{{- $envPrefix := $secret.prefix | default "" | upper }}
@@ -56,14 +57,9 @@ spec:
5657
secretKeyRef:
5758
name: {{ $secret.name }}
5859
key: {{ $key }}
59-
- name: HOSTNAME
60-
valueFrom:
61-
fieldRef:
62-
apiVersion: v1
63-
fieldPath: metadata.name
6460
{{- end }}
6561
{{- end }}
66-
{{- else}}
62+
{{- else }}
6763
{{- range $secret := .Values.parseable.s3ModeSecret }}
6864
{{- range $key := $secret.keys }}
6965
{{- $envPrefix := $secret.prefix | default "" | upper }}
@@ -76,6 +72,17 @@ spec:
7672
{{- end }}
7773
{{- end }}
7874
{{- end }}
75+
{{- range $secret := .Values.parseable.blobModeSecret }}
76+
{{- range $key := $secret.keys }}
77+
{{- $envPrefix := $secret.prefix | default "" | upper }}
78+
{{- $envKey := $key | upper | replace "." "_" | replace "-" "_" }}
79+
- name: {{ $envPrefix }}{{ $envKey }}
80+
valueFrom:
81+
secretKeyRef:
82+
name: {{ $secret.name }}
83+
key: {{ $key }}
84+
{{- end }}
85+
{{- end }}
7986
ports:
8087
- containerPort: 8000
8188
{{- with .Values.readinessProbe }}
@@ -118,4 +125,4 @@ spec:
118125
tolerations:
119126
{{- toYaml . | nindent 8 }}
120127
{{- end }}
121-
{{- end }}
128+
{{- end }} # Closing for "if eq .Values.parseable.highAvailability.enabled false"

helm/values.yaml

Lines changed: 38 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ parseable:
33
repository: containers.parseable.com/parseable/parseable
44
tag: v1.5.5
55
pullPolicy: Always
6-
## Set to true if you want to deploy Parseable in local mode (store logs
7-
## on local mount point instead of S3 bucket)
8-
local: false
6+
## object store can be local, s3 or blob.
7+
## local needs to be false if set to object store.
8+
store: local-store
99
## Set to true if you want to deploy Parseable in a HA mode (multiple ingestors)
1010
## Please note that highAvailability is not supported in local mode
1111
highAvailability:
@@ -72,6 +72,10 @@ parseable:
7272
storageClass: ""
7373
accessMode: ReadWriteOnce
7474
size: 1Gi
75+
## comment out the secrets depending upon deployment option
76+
## localModeSecret if store is set to local
77+
## blobModeSecret if store is set to blob-store
78+
## s3ModeSecret if store is set to s3-store
7579
localModeSecret:
7680
- type: env
7781
name: parseable-env-secret
@@ -82,25 +86,37 @@ parseable:
8286
- password
8387
- staging.dir
8488
- fs.dir
85-
s3ModeSecret:
86-
- type: env
87-
name: parseable-env-secret
88-
prefix: P_
89-
keys:
90-
## Comment / uncomment the following lines as required
91-
# - tls.cert.path
92-
# - tls.key.path
93-
# - storage.upload.interval
94-
- addr
95-
- username
96-
- password
97-
- staging.dir
98-
- fs.dir
99-
- s3.url
100-
- s3.access.key
101-
- s3.secret.key
102-
- s3.bucket
103-
- s3.region
89+
# blobModeSecret:
90+
# - type: env
91+
# name: parseable-env-secret
92+
# prefix: p_
93+
# keys:
94+
# - addr
95+
# - username
96+
# - password
97+
# - azr.access_key
98+
# - azr.account
99+
# - azr.container
100+
# - azr.url
101+
# s3ModeSecret:
102+
# - type: env
103+
# name: parseable-env-secret
104+
# prefix: P_
105+
# keys:
106+
# ## Comment / uncomment the following lines as required
107+
# # - tls.cert.path
108+
# # - tls.key.path
109+
# # - storage.upload.interval
110+
# - addr
111+
# - username
112+
# - password
113+
# - staging.dir
114+
# - fs.dir
115+
# - s3.url
116+
# - s3.access.key
117+
# - s3.secret.key
118+
# - s3.bucket
119+
# - s3.region
104120
serviceAccount:
105121
create: true
106122
name: "parseable"

0 commit comments

Comments
 (0)