Skip to content

Commit 0ae78b8

Browse files
committed
feat(snuba): add uptime consumer deployment configuration
1 parent 999e635 commit 0ae78b8

File tree

4 files changed

+260
-43
lines changed

4 files changed

+260
-43
lines changed
Lines changed: 40 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
{{- if .Values.sentry.subscriptionConsumerResultsEapItems.enabled }}
1+
{{- if .Values.sentry.uptimeResults.enabled }}
22
apiVersion: apps/v1
33
kind: Deployment
44
metadata:
5-
name: {{ template "sentry.fullname" . }}-subscription-consumer-results-eap-items
5+
name: {{ template "sentry.fullname" . }}-uptime-results-consumer
66
labels:
77
app: sentry
88
chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
@@ -24,53 +24,53 @@ spec:
2424
app: sentry
2525
release: "{{ .Release.Name }}"
2626
role: sentry-subscription-consumer-eap-spans
27-
replicas: {{ .Values.sentry.subscriptionConsumerResultsEapItems.replicas }}
27+
replicas: {{ .Values.sentry.uptimeResults.replicas }}
2828
template:
2929
metadata:
3030
annotations:
3131
checksum/configYml: {{ .Values.config.configYml | toYaml | toString | sha256sum }}
3232
checksum/sentryConfPy: {{ .Values.config.sentryConfPy | sha256sum }}
3333
checksum/config.yaml: {{ include "sentry.config" . | sha256sum }}
34-
{{- if .Values.sentry.subscriptionConsumerResultsEapItems.annotations }}
35-
{{ toYaml .Values.sentry.subscriptionConsumerResultsEapItems.annotations | indent 8 }}
34+
{{- if .Values.sentry.uptimeResults.annotations }}
35+
{{ toYaml .Values.sentry.uptimeResults.annotations | indent 8 }}
3636
{{- end }}
3737
labels:
3838
app: sentry
3939
release: "{{ .Release.Name }}"
4040
role: sentry-subscription-consumer-eap-spans
41-
{{- if .Values.sentry.subscriptionConsumerResultsEapItems.podLabels }}
42-
{{ toYaml .Values.sentry.subscriptionConsumerResultsEapItems.podLabels | indent 8 }}
41+
{{- if .Values.sentry.uptimeResults.podLabels }}
42+
{{ toYaml .Values.sentry.uptimeResults.podLabels | indent 8 }}
4343
{{- end }}
4444
spec:
4545
affinity:
46-
{{- if .Values.sentry.subscriptionConsumerResultsEapItems.affinity }}
47-
{{ toYaml .Values.sentry.subscriptionConsumerResultsEapItems.affinity | indent 8 }}
46+
{{- if .Values.sentry.uptimeResults.affinity }}
47+
{{ toYaml .Values.sentry.uptimeResults.affinity | indent 8 }}
4848
{{- end }}
49-
{{- if .Values.sentry.subscriptionConsumerResultsEapItems.nodeSelector }}
49+
{{- if .Values.sentry.uptimeResults.nodeSelector }}
5050
nodeSelector:
51-
{{ toYaml .Values.sentry.subscriptionConsumerResultsEapItems.nodeSelector | indent 8 }}
51+
{{ toYaml .Values.sentry.uptimeResults.nodeSelector | indent 8 }}
5252
{{- else if .Values.global.nodeSelector }}
5353
nodeSelector:
5454
{{ toYaml .Values.global.nodeSelector | indent 8 }}
5555
{{- end }}
56-
{{- if .Values.sentry.subscriptionConsumerResultsEapItems.tolerations }}
56+
{{- if .Values.sentry.uptimeResults.tolerations }}
5757
tolerations:
58-
{{ toYaml .Values.sentry.subscriptionConsumerResultsEapItems.tolerations | indent 8 }}
58+
{{ toYaml .Values.sentry.uptimeResults.tolerations | indent 8 }}
5959
{{- else if .Values.global.tolerations }}
6060
tolerations:
6161
{{ toYaml .Values.global.tolerations | indent 8 }}
6262
{{- end }}
63-
{{- if .Values.sentry.subscriptionConsumerResultsEapItems.topologySpreadConstraints }}
63+
{{- if .Values.sentry.uptimeResults.topologySpreadConstraints }}
6464
topologySpreadConstraints:
65-
{{ toYaml .Values.sentry.subscriptionConsumerResultsEapItems.topologySpreadConstraints | indent 8 }}
65+
{{ toYaml .Values.sentry.uptimeResults.topologySpreadConstraints | indent 8 }}
6666
{{- end }}
6767
{{- if .Values.images.sentry.imagePullSecrets }}
6868
imagePullSecrets:
6969
{{ toYaml .Values.images.sentry.imagePullSecrets | indent 8 }}
7070
{{- end }}
71-
{{- if .Values.sentry.subscriptionConsumerResultsEapItems.securityContext }}
71+
{{- if .Values.sentry.uptimeResults.securityContext }}
7272
securityContext:
73-
{{ toYaml .Values.sentry.subscriptionConsumerResultsEapItems.securityContext | indent 8 }}
73+
{{ toYaml .Values.sentry.uptimeResults.securityContext | indent 8 }}
7474
{{- end }}
7575
containers:
7676
- name: {{ .Chart.Name }}-subscription-consumer-eap-spans
@@ -80,33 +80,33 @@ spec:
8080
args:
8181
- "run"
8282
- "consumer"
83-
- "subscription-results-eap-items"
84-
{{- if .Values.sentry.subscriptionConsumerResultsEapItems.autoOffsetReset }}
83+
- "uptime-results"
84+
{{- if .Values.sentry.uptimeResults.autoOffsetReset }}
8585
- "--auto-offset-reset"
86-
- "{{ .Values.sentry.subscriptionConsumerResultsEapItems.autoOffsetReset }}"
86+
- "{{ .Values.sentry.uptimeResults.autoOffsetReset }}"
8787
{{- end }}
88-
{{- if .Values.sentry.subscriptionConsumerResultsEapItems.noStrictOffsetReset }}
88+
{{- if .Values.sentry.uptimeResults.noStrictOffsetReset }}
8989
- "--no-strict-offset-reset"
9090
{{- end }}
9191
- "--consumer-group"
92-
- "subscription-results-eap-items"
93-
{{- if .Values.sentry.subscriptionConsumerResultsEapItems.livenessProbe.enabled }}
92+
- "uptime-results"
93+
{{- if .Values.sentry.uptimeResults.livenessProbe.enabled }}
9494
- "--healthcheck-file-path"
9595
- "/tmp/health.txt"
9696
{{- end }}
97-
{{- if .Values.sentry.subscriptionConsumerResultsEapItems.livenessProbe.enabled }}
97+
{{- if .Values.sentry.uptimeResults.livenessProbe.enabled }}
9898
livenessProbe:
9999
exec:
100100
command:
101101
- rm
102102
- /tmp/health.txt
103-
initialDelaySeconds: {{ .Values.sentry.subscriptionConsumerResultsEapItems.livenessProbe.initialDelaySeconds }}
104-
periodSeconds: {{ .Values.sentry.subscriptionConsumerResultsEapItems.livenessProbe.periodSeconds }}
103+
initialDelaySeconds: {{ .Values.sentry.uptimeResults.livenessProbe.initialDelaySeconds }}
104+
periodSeconds: {{ .Values.sentry.uptimeResults.livenessProbe.periodSeconds }}
105105
{{- end }}
106106
env:
107107
{{ include "sentry.env" . | indent 8 }}
108-
{{- if .Values.sentry.subscriptionConsumerResultsEapItems.env }}
109-
{{ toYaml .Values.sentry.subscriptionConsumerResultsEapItems.env | indent 8 }}
108+
{{- if .Values.sentry.uptimeResults.env }}
109+
{{ toYaml .Values.sentry.uptimeResults.env | indent 8 }}
110110
{{- end }}
111111
volumeMounts:
112112
- mountPath: /etc/sentry
@@ -118,23 +118,23 @@ spec:
118118
- name: sentry-google-cloud-key
119119
mountPath: /var/run/secrets/google
120120
{{ end }}
121-
{{- if .Values.sentry.subscriptionConsumerResultsEapItems.volumeMounts }}
122-
{{ toYaml .Values.sentry.subscriptionConsumerResultsEapItems.volumeMounts | indent 8 }}
121+
{{- if .Values.sentry.uptimeResults.volumeMounts }}
122+
{{ toYaml .Values.sentry.uptimeResults.volumeMounts | indent 8 }}
123123
{{- end }}
124124
resources:
125-
{{ toYaml .Values.sentry.subscriptionConsumerResultsEapItems.resources | indent 12 }}
126-
{{- if .Values.sentry.subscriptionConsumerResultsEapItems.containerSecurityContext }}
125+
{{ toYaml .Values.sentry.uptimeResults.resources | indent 12 }}
126+
{{- if .Values.sentry.uptimeResults.containerSecurityContext }}
127127
securityContext:
128-
{{ toYaml .Values.sentry.subscriptionConsumerResultsEapItems.containerSecurityContext | indent 12 }}
128+
{{ toYaml .Values.sentry.uptimeResults.containerSecurityContext | indent 12 }}
129129
{{- end }}
130-
{{- if .Values.sentry.subscriptionConsumerResultsEapItems.sidecars }}
131-
{{ toYaml .Values.sentry.subscriptionConsumerResultsEapItems.sidecars | indent 6 }}
130+
{{- if .Values.sentry.uptimeResults.sidecars }}
131+
{{ toYaml .Values.sentry.uptimeResults.sidecars | indent 6 }}
132132
{{- end }}
133133
{{- if .Values.global.sidecars }}
134134
{{ toYaml .Values.global.sidecars | indent 6 }}
135135
{{- end }}
136136
{{- if .Values.serviceAccount.enabled }}
137-
serviceAccountName: {{ .Values.serviceAccount.name }}-subscription-consumer-results-eap-items
137+
serviceAccountName: {{ .Values.serviceAccount.name }}-uptime-results
138138
{{- end }}
139139
volumes:
140140
- name: config
@@ -157,13 +157,13 @@ spec:
157157
secret:
158158
secretName: {{ .Values.filestore.gcs.secretName }}
159159
{{ end }}
160-
{{- if .Values.sentry.subscriptionConsumerResultsEapItems.volumes }}
161-
{{ toYaml .Values.sentry.subscriptionConsumerResultsEapItems.volumes | indent 6 }}
160+
{{- if .Values.sentry.uptimeResults.volumes }}
161+
{{ toYaml .Values.sentry.uptimeResults.volumes | indent 6 }}
162162
{{- end }}
163163
{{- if .Values.global.volumes }}
164164
{{ toYaml .Values.global.volumes | indent 6 }}
165165
{{- end }}
166-
{{- if .Values.sentry.subscriptionConsumerResultsEapItems.priorityClassName }}
167-
priorityClassName: "{{ .Values.sentry.subscriptionConsumerResultsEapItems.priorityClassName }}"
166+
{{- if .Values.sentry.uptimeResults.priorityClassName }}
167+
priorityClassName: "{{ .Values.sentry.uptimeResults.priorityClassName }}"
168168
{{- end }}
169169
{{- end }}
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
{{- if and .Values.serviceAccount.enabled .Values.sentry.subscriptionConsumerResultsEapItems.enabled }}
1+
{{- if and .Values.serviceAccount.enabled .Values.sentry.uptimeResults.enabled }}
22
apiVersion: v1
33
kind: ServiceAccount
44
metadata:
5-
name: {{ .Values.serviceAccount.name }}-subscription-consumer-results-eap-items
5+
name: {{ .Values.serviceAccount.name }}-uptime-results
66
{{- if .Values.serviceAccount.annotations }}
77
annotations: {{ toYaml .Values.serviceAccount.annotations | nindent 4 }}
88
{{- end }}
Lines changed: 184 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,184 @@
1+
{{- if has "feature-complete" .Values.profiles }}
2+
{{- if .Values.snuba.uptimeConsumer.enabled }}
3+
apiVersion: apps/v1
4+
kind: Deployment
5+
metadata:
6+
name: {{ template "sentry.fullname" . }}-snuba-uptime-consumer
7+
labels:
8+
app: {{ template "sentry.fullname" . }}
9+
chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
10+
release: "{{ .Release.Name }}"
11+
heritage: "{{ .Release.Service }}"
12+
app.kubernetes.io/managed-by: "Helm"
13+
{{- if .Values.asHook }}
14+
{{- /* Add the Helm annotations so that deployment after asHook from true to false works */}}
15+
annotations:
16+
meta.helm.sh/release-name: "{{ .Release.Name }}"
17+
meta.helm.sh/release-namespace: "{{ .Release.Namespace }}"
18+
"helm.sh/hook": "post-install,post-upgrade"
19+
"helm.sh/hook-weight": "12"
20+
{{- end }}
21+
spec:
22+
revisionHistoryLimit: {{ .Values.revisionHistoryLimit }}
23+
selector:
24+
matchLabels:
25+
app: {{ template "sentry.fullname" . }}
26+
release: "{{ .Release.Name }}"
27+
role: snuba-transactions-consumer
28+
replicas: {{ .Values.snuba.uptimeConsumer.replicas }}
29+
template:
30+
metadata:
31+
annotations:
32+
checksum/snubaSettingsPy: {{ .Values.config.snubaSettingsPy | sha256sum }}
33+
checksum/config.yaml: {{ include "sentry.snuba.config" . | sha256sum }}
34+
{{- if .Values.snuba.uptimeConsumer.annotations }}
35+
{{ toYaml .Values.snuba.uptimeConsumer.annotations | indent 8 }}
36+
{{- end }}
37+
labels:
38+
app: {{ template "sentry.fullname" . }}
39+
release: "{{ .Release.Name }}"
40+
role: snuba-transactions-consumer
41+
{{- if .Values.snuba.uptimeConsumer.podLabels }}
42+
{{ toYaml .Values.snuba.uptimeConsumer.podLabels | indent 8 }}
43+
{{- end }}
44+
spec:
45+
affinity:
46+
{{- if .Values.snuba.uptimeConsumer.affinity }}
47+
{{ toYaml .Values.snuba.uptimeConsumer.affinity | indent 8 }}
48+
{{- end }}
49+
{{- if .Values.snuba.uptimeConsumer.nodeSelector }}
50+
nodeSelector:
51+
{{ toYaml .Values.snuba.uptimeConsumer.nodeSelector | indent 8 }}
52+
{{- else if .Values.global.nodeSelector }}
53+
nodeSelector:
54+
{{ toYaml .Values.global.nodeSelector | indent 8 }}
55+
{{- end }}
56+
{{- if .Values.snuba.uptimeConsumer.tolerations }}
57+
tolerations:
58+
{{ toYaml .Values.snuba.uptimeConsumer.tolerations | indent 8 }}
59+
{{- else if .Values.global.tolerations }}
60+
tolerations:
61+
{{ toYaml .Values.global.tolerations | indent 8 }}
62+
{{- end }}
63+
{{- if .Values.snuba.uptimeConsumer.topologySpreadConstraints }}
64+
topologySpreadConstraints:
65+
{{ toYaml .Values.snuba.uptimeConsumer.topologySpreadConstraints | indent 8 }}
66+
{{- end }}
67+
{{- if .Values.images.snuba.imagePullSecrets }}
68+
imagePullSecrets:
69+
{{ toYaml .Values.images.snuba.imagePullSecrets | indent 8 }}
70+
{{- end }}
71+
{{- if .Values.dnsPolicy }}
72+
dnsPolicy: {{ .Values.dnsPolicy | quote }}
73+
{{- end }}
74+
{{- if .Values.dnsConfig }}
75+
dnsConfig:
76+
{{ toYaml .Values.dnsConfig | indent 8 }}
77+
{{- end }}
78+
{{- if .Values.snuba.uptimeConsumer.securityContext }}
79+
securityContext:
80+
{{ toYaml .Values.snuba.uptimeConsumer.securityContext | indent 8 }}
81+
{{- end }}
82+
containers:
83+
- name: {{ .Chart.Name }}-snuba
84+
image: "{{ template "snuba.image" . }}"
85+
imagePullPolicy: {{ default "IfNotPresent" .Values.images.snuba.pullPolicy }}
86+
command:
87+
- "snuba"
88+
- {{ if .Values.snuba.rustConsumer -}}"rust-consumer"{{- else -}}"consumer"{{- end }}
89+
- "--storage"
90+
- "transactions"
91+
- "--consumer-group"
92+
- "transactions_group"
93+
{{- if .Values.snuba.uptimeConsumer.autoOffsetReset }}
94+
- "--auto-offset-reset"
95+
- "{{ .Values.snuba.uptimeConsumer.autoOffsetReset }}"
96+
{{- end }}
97+
{{- if .Values.snuba.uptimeConsumer.maxBatchSize }}
98+
- "--max-batch-size"
99+
- "{{ .Values.snuba.uptimeConsumer.maxBatchSize }}"
100+
{{- end }}
101+
{{- if .Values.snuba.uptimeConsumer.processes }}
102+
- "--processes"
103+
- "{{ .Values.snuba.uptimeConsumer.processes }}"
104+
{{- end }}
105+
{{- if .Values.snuba.uptimeConsumer.inputBlockSize }}
106+
- "--input-block-size"
107+
- "{{ .Values.snuba.uptimeConsumer.inputBlockSize }}"
108+
{{- end }}
109+
{{- if .Values.snuba.uptimeConsumer.outputBlockSize }}
110+
- "--output-block-size"
111+
- "{{ .Values.snuba.uptimeConsumer.outputBlockSize }}"
112+
{{- end }}
113+
{{- if .Values.snuba.uptimeConsumer.maxBatchTimeMs }}
114+
- "--max-batch-time-ms"
115+
- "{{ .Values.snuba.uptimeConsumer.maxBatchTimeMs }}"
116+
{{- end }}
117+
{{- if .Values.snuba.uptimeConsumer.queuedMaxMessagesKbytes }}
118+
- "--queued-max-messages-kbytes"
119+
- "{{ .Values.snuba.uptimeConsumer.queuedMaxMessagesKbytes }}"
120+
{{- end }}
121+
{{- if .Values.snuba.uptimeConsumer.queuedMinMessages }}
122+
- "--queued-min-messages"
123+
- "{{ .Values.snuba.uptimeConsumer.queuedMinMessages }}"
124+
{{- end }}
125+
{{- if .Values.snuba.uptimeConsumer.noStrictOffsetReset }}
126+
- "--no-strict-offset-reset"
127+
{{- end }}
128+
{{- if .Values.snuba.uptimeConsumer.livenessProbe.enabled }}
129+
- "--health-check-file"
130+
- "/tmp/health.txt"
131+
{{- end }}
132+
{{- if .Values.snuba.uptimeConsumer.livenessProbe.enabled }}
133+
livenessProbe:
134+
exec:
135+
command:
136+
- rm
137+
- /tmp/health.txt
138+
initialDelaySeconds: {{ .Values.snuba.uptimeConsumer.livenessProbe.initialDelaySeconds }}
139+
periodSeconds: {{ .Values.snuba.uptimeConsumer.livenessProbe.periodSeconds }}
140+
{{- end }}
141+
ports:
142+
- containerPort: {{ template "snuba.port" }}
143+
env:
144+
{{ include "sentry.snuba.env" . | indent 8 }}
145+
{{- if .Values.snuba.uptimeConsumer.env }}
146+
{{ toYaml .Values.snuba.uptimeConsumer.env | indent 8 }}
147+
{{- end }}
148+
envFrom:
149+
- secretRef:
150+
name: {{ template "sentry.fullname" . }}-snuba-env
151+
volumeMounts:
152+
- mountPath: /etc/snuba
153+
name: config
154+
readOnly: true
155+
{{- if .Values.snuba.uptimeConsumer.volumeMounts }}
156+
{{ toYaml .Values.snuba.uptimeConsumer.volumeMounts | indent 8 }}
157+
{{- end }}
158+
resources:
159+
{{ toYaml .Values.snuba.uptimeConsumer.resources | indent 12 }}
160+
{{- if .Values.snuba.uptimeConsumer.containerSecurityContext }}
161+
securityContext:
162+
{{ toYaml .Values.snuba.uptimeConsumer.containerSecurityContext | indent 12 }}
163+
{{- end }}
164+
{{- if .Values.snuba.uptimeConsumer.sidecars }}
165+
{{ toYaml .Values.snuba.uptimeConsumer.sidecars | indent 6 }}
166+
{{- end }}
167+
{{- if .Values.global.sidecars }}
168+
{{ toYaml .Values.global.sidecars | indent 6 }}
169+
{{- end }}
170+
{{- if .Values.serviceAccount.enabled }}
171+
serviceAccountName: {{ .Values.serviceAccount.name }}-snuba
172+
{{- end }}
173+
volumes:
174+
- name: config
175+
configMap:
176+
name: {{ template "sentry.fullname" . }}-snuba
177+
{{- if .Values.snuba.uptimeConsumer.volumes }}
178+
{{ toYaml .Values.snuba.uptimeConsumer.volumes | indent 8 }}
179+
{{- end }}
180+
{{- if .Values.global.volumes }}
181+
{{ toYaml .Values.global.volumes | indent 8 }}
182+
{{- end }}
183+
{{- end }}
184+
{{- end }}

0 commit comments

Comments
 (0)