1
+ {{- if has "feature-complete" .Values.profiles }}
2
+ {{- if .Values.snuba.subscriptionConsumerGenericMetricsDistributions.enabled }}
3
+ apiVersion : apps/v1
4
+ kind : Deployment
5
+ metadata :
6
+ name : {{ template "sentry.fullname" . }}-snuba-subscription-consumer-generic-metrics-distributions
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 " : " 18"
20
+ {{- end }}
21
+ spec :
22
+ revisionHistoryLimit : {{ .Values.revisionHistoryLimit }}
23
+ selector :
24
+ matchLabels :
25
+ app : {{ template "sentry.fullname" . }}
26
+ release : " {{ .Release.Name }}"
27
+ role : snuba-subscription-consumer-generic-metrics-distributions
28
+ replicas : {{ .Values.snuba.subscriptionConsumerGenericMetricsDistributions.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.subscriptionConsumerGenericMetricsDistributions.annotations }}
35
+ {{ toYaml .Values.snuba.subscriptionConsumerGenericMetricsDistributions.annotations | indent 8 }}
36
+ {{- end }}
37
+ labels :
38
+ app : {{ template "sentry.fullname" . }}
39
+ release : " {{ .Release.Name }}"
40
+ role : snuba-subscription-consumer-generic-metrics-distributions
41
+ {{- if .Values.snuba.subscriptionConsumerGenericMetricsDistributions.podLabels }}
42
+ {{ toYaml .Values.snuba.subscriptionConsumerGenericMetricsDistributions.podLabels | indent 8 }}
43
+ {{- end }}
44
+ spec :
45
+ affinity :
46
+ {{- if .Values.snuba.subscriptionConsumerGenericMetricsDistributions.affinity }}
47
+ {{ toYaml .Values.snuba.subscriptionConsumerGenericMetricsDistributions.affinity | indent 8 }}
48
+ {{- end }}
49
+ {{- if .Values.snuba.subscriptionConsumerGenericMetricsDistributions.nodeSelector }}
50
+ nodeSelector :
51
+ {{ toYaml .Values.snuba.subscriptionConsumerGenericMetricsDistributions.nodeSelector | indent 8 }}
52
+ {{- else if .Values.global.nodeSelector }}
53
+ nodeSelector :
54
+ {{ toYaml .Values.global.nodeSelector | indent 8 }}
55
+ {{- end }}
56
+ {{- if .Values.snuba.subscriptionConsumerGenericMetricsDistributions.tolerations }}
57
+ tolerations :
58
+ {{ toYaml .Values.snuba.subscriptionConsumerGenericMetricsDistributions.tolerations | indent 8 }}
59
+ {{- else if .Values.global.tolerations }}
60
+ tolerations :
61
+ {{ toYaml .Values.global.tolerations | indent 8 }}
62
+ {{- end }}
63
+ {{- if .Values.snuba.subscriptionConsumerGenericMetricsDistributions.topologySpreadConstraints }}
64
+ topologySpreadConstraints :
65
+ {{ toYaml .Values.snuba.subscriptionConsumerGenericMetricsDistributions.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.snuba.subscriptionConsumerGenericMetricsDistributions.securityContext }}
72
+ securityContext :
73
+ {{ toYaml .Values.snuba.subscriptionConsumerGenericMetricsDistributions.securityContext | indent 8 }}
74
+ {{- end }}
75
+ containers :
76
+ - name : {{ .Chart.Name }}-snuba
77
+ image : " {{ template " snuba.image" . }}"
78
+ imagePullPolicy : {{ default "IfNotPresent" .Values.images.snuba.pullPolicy }}
79
+ command :
80
+ - " snuba"
81
+ - " subscriptions-scheduler-executor"
82
+ {{- if .Values.snuba.subscriptionConsumerGenericMetricsDistributions.autoOffsetReset }}
83
+ - " --auto-offset-reset"
84
+ - " {{ .Values.snuba.subscriptionConsumerGenericMetricsDistributions.autoOffsetReset }}"
85
+ {{- end }}
86
+ - " --dataset=generic_metrics"
87
+ - " --entity=generic_metrics_distributions"
88
+ {{- if .Values.snuba.subscriptionConsumerGenericMetricsDistributions.noStrictOffsetReset }}
89
+ - " --no-strict-offset-reset"
90
+ {{- end }}
91
+ - " --consumer-group=snuba-generic-metrics-distributions-subscriptions-schedulers"
92
+ - " --followed-consumer-group=snuba-gen-metrics-distributions-consumers"
93
+ - " --schedule-ttl=60"
94
+ - " --stale-threshold-seconds=900"
95
+ {{- if .Values.snuba.subscriptionConsumerGenericMetricsDistributions.livenessProbe.enabled }}
96
+ - " --health-check-file"
97
+ - " /tmp/health.txt"
98
+ {{- end }}
99
+ {{- if .Values.snuba.subscriptionConsumerGenericMetricsDistributions.livenessProbe.enabled }}
100
+ livenessProbe :
101
+ exec :
102
+ command :
103
+ - rm
104
+ - /tmp/health.txt
105
+ initialDelaySeconds : {{ .Values.snuba.subscriptionConsumerGenericMetricsDistributions.livenessProbe.initialDelaySeconds }}
106
+ periodSeconds : {{ .Values.snuba.subscriptionConsumerGenericMetricsDistributions.livenessProbe.periodSeconds }}
107
+ {{- end }}
108
+ ports :
109
+ - containerPort : {{ template "snuba.port" }}
110
+ env :
111
+ {{ include "sentry.snuba.env" . | indent 8 }}
112
+ {{- if .Values.snuba.subscriptionConsumerGenericMetricsDistributions.env }}
113
+ {{ toYaml .Values.snuba.subscriptionConsumerGenericMetricsDistributions.env | indent 8 }}
114
+ {{- end }}
115
+ envFrom :
116
+ - secretRef :
117
+ name : {{ template "sentry.fullname" . }}-snuba-env
118
+ volumeMounts :
119
+ - mountPath : /etc/snuba
120
+ name : config
121
+ readOnly : true
122
+ {{- if .Values.snuba.subscriptionConsumerGenericMetricsDistributions.volumeMounts }}
123
+ {{ toYaml .Values.snuba.subscriptionConsumerGenericMetricsDistributions.volumeMounts | indent 8 }}
124
+ {{- end }}
125
+ resources :
126
+ {{ toYaml .Values.snuba.subscriptionConsumerGenericMetricsDistributions.resources | indent 12 }}
127
+ {{- if .Values.snuba.subscriptionConsumerGenericMetricsDistributions.containerSecurityContext }}
128
+ securityContext :
129
+ {{ toYaml .Values.snuba.subscriptionConsumerGenericMetricsDistributions.containerSecurityContext | indent 12 }}
130
+ {{- end }}
131
+ {{- if .Values.snuba.subscriptionConsumerGenericMetricsDistributions.sidecars }}
132
+ {{ toYaml .Values.snuba.subscriptionConsumerGenericMetricsDistributions.sidecars | indent 6 }}
133
+ {{- end }}
134
+ {{- if .Values.global.sidecars }}
135
+ {{ toYaml .Values.global.sidecars | indent 6 }}
136
+ {{- end }}
137
+ {{- if .Values.serviceAccount.enabled }}
138
+ serviceAccountName : {{ .Values.serviceAccount.name }}-snuba
139
+ {{- end }}
140
+ volumes :
141
+ - name : config
142
+ configMap :
143
+ name : {{ template "sentry.fullname" . }}-snuba
144
+ {{- if .Values.snuba.subscriptionConsumerGenericMetricsDistributions.volumes }}
145
+ {{ toYaml .Values.snuba.subscriptionConsumerGenericMetricsDistributions.volumes | indent 6 }}
146
+ {{- end }}
147
+ {{- if .Values.global.volumes }}
148
+ {{ toYaml .Values.global.volumes | indent 6 }}
149
+ {{- end }}
150
+ {{- end }}
151
+ {{- end }}
0 commit comments