Skip to content

Commit c23a946

Browse files
Merge branch 'main' into main
2 parents b3afd05 + be2d0a3 commit c23a946

File tree

10 files changed

+302
-24
lines changed

10 files changed

+302
-24
lines changed

charts/promtail/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name: promtail
33
description: Promtail is an agent which ships the contents of local logs to a Loki instance
44
type: application
55
appVersion: 3.0.0
6-
version: 6.16.1
6+
version: 6.16.2
77
home: https://grafana.com/loki
88
sources:
99
- https://github.com/grafana/loki

charts/promtail/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# promtail
22

3-
![Version: 6.16.1](https://img.shields.io/badge/Version-6.16.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 3.0.0](https://img.shields.io/badge/AppVersion-3.0.0-informational?style=flat-square)
3+
![Version: 6.16.2](https://img.shields.io/badge/Version-6.16.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 3.0.0](https://img.shields.io/badge/AppVersion-3.0.0-informational?style=flat-square)
44

55
Promtail is an agent which ships the contents of local logs to a Loki instance
66

@@ -96,11 +96,11 @@ The new release which will pick up again from the existing `positions.yaml`.
9696
| deployment.autoscaling.enabled | bool | `false` | Creates a HorizontalPodAutoscaler for the deployment |
9797
| deployment.autoscaling.maxReplicas | int | `10` | |
9898
| deployment.autoscaling.minReplicas | int | `1` | |
99-
| deployment.autoscaling.strategy | object | `{"type":"RollingUpdate"}` | Set deployment object update strategy |
10099
| deployment.autoscaling.targetCPUUtilizationPercentage | int | `80` | |
101100
| deployment.autoscaling.targetMemoryUtilizationPercentage | string | `nil` | |
102101
| deployment.enabled | bool | `false` | Deploys Promtail as a Deployment |
103102
| deployment.replicaCount | int | `1` | |
103+
| deployment.strategy | object | `{"type":"RollingUpdate"}` | Set deployment object update strategy |
104104
| enableServiceLinks | bool | `true` | Configure enableServiceLinks in pod |
105105
| extraArgs | list | `[]` | |
106106
| extraContainers | object | `{}` | |

charts/promtail/values.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,9 @@ deployment:
5858
targetMemoryUtilizationPercentage:
5959
# behavior: {}
6060

61-
# -- Set deployment object update strategy
62-
strategy:
63-
type: RollingUpdate
61+
# -- Set deployment object update strategy
62+
strategy:
63+
type: RollingUpdate
6464

6565
service:
6666
enabled: false

charts/tempo-distributed/Chart.lock

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,8 @@ dependencies:
55
- name: grafana-agent-operator
66
repository: https://grafana.github.io/helm-charts
77
version: 0.2.2
8-
digest: sha256:761a500ff2fd8b8c5a52b70683abcdec8b6ffcae6b81ad26ea4ddeddbaf609f1
9-
generated: "2023-09-28T13:42:34.486521-07:00"
8+
- name: rollout-operator
9+
repository: https://grafana.github.io/helm-charts
10+
version: 0.15.0
11+
digest: sha256:7be5c7a4c0d1a71dc6de69b8e99ac5a61c1771d6241e7f9105393cc7117d4f0a
12+
generated: "2024-05-27T19:15:20.601670632+03:00"

charts/tempo-distributed/Chart.yaml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ apiVersion: v2
22
name: tempo-distributed
33
description: Grafana Tempo in MicroService mode
44
type: application
5-
version: 1.12.0
5+
version: 1.13.0
66
appVersion: 2.5.0
77
engine: gotpl
88
home: https://grafana.com/docs/tempo/latest/
@@ -31,3 +31,8 @@ dependencies:
3131
version: 0.2.2
3232
repository: https://grafana.github.io/helm-charts
3333
condition: metaMonitoring.grafanaAgent.installOperator
34+
- name: rollout-operator
35+
alias: rollout_operator
36+
repository: https://grafana.github.io/helm-charts
37+
version: 0.15.0
38+
condition: rollout_operator.enabled

charts/tempo-distributed/README.md

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# tempo-distributed
22

3-
![Version: 1.12.0](https://img.shields.io/badge/Version-1.12.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 2.5.0](https://img.shields.io/badge/AppVersion-2.5.0-informational?style=flat-square)
3+
![Version: 1.13.0](https://img.shields.io/badge/Version-1.13.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 2.5.0](https://img.shields.io/badge/AppVersion-2.5.0-informational?style=flat-square)
44

55
Grafana Tempo in MicroService mode
66

@@ -14,6 +14,7 @@ Grafana Tempo in MicroService mode
1414
|------------|------|---------|
1515
| https://charts.min.io/ | minio(minio) | 4.0.12 |
1616
| https://grafana.github.io/helm-charts | grafana-agent-operator(grafana-agent-operator) | 0.2.2 |
17+
| https://grafana.github.io/helm-charts | rollout_operator(rollout-operator) | 0.15.0 |
1718

1819
## Chart Repo
1920

@@ -45,6 +46,11 @@ The command removes all the Kubernetes components associated with the chart and
4546

4647
A major chart version change indicates that there is an incompatible breaking change needing manual actions.
4748

49+
### from Chart versions < 1.11.0
50+
51+
EXPERIMENTAL: Zone Aware Replication has been added to the ingester statefulset.
52+
Attention, the calculation of the pods per AZ is as follows ```(.values.ingester.replicas + numberOfZones -1)/numberOfZones```
53+
4854
### From Chart versions < 1.8.0
4955

5056
Switch to new overrides format, see https://grafana.com/docs/tempo/latest/configuration/#overrides.
@@ -519,6 +525,23 @@ The memcached default args are removed and should be provided manually. The sett
519525
| ingester.terminationGracePeriodSeconds | int | `300` | Grace period to allow the ingester to shutdown before it is killed. Especially for the ingestor, this must be increased. It must be long enough so ingesters can be gracefully shutdown flushing/transferring all data and to successfully leave the member ring on shutdown. |
520526
| ingester.tolerations | list | `[]` | Tolerations for ingester pods |
521527
| ingester.topologySpreadConstraints | string | Defaults to allow skew no more then 1 node per AZ | topologySpread for ingester pods. Passed through `tpl` and, thus, to be configured as string |
528+
| ingester.zoneAwareReplication | object | `{"enabled":false,"maxUnavailable":50,"topologyKey":null,"zones":[{"extraAffinity":{},"name":"zone-a","nodeSelector":null,"storageClass":null},{"extraAffinity":{},"name":"zone-b","nodeSelector":null,"storageClass":null},{"extraAffinity":{},"name":"zone-c","nodeSelector":null,"storageClass":null}]}` | EXPERIMENTAL Feature, disabled by default |
529+
| ingester.zoneAwareReplication.enabled | bool | `false` | Enable zone-aware replication for ingester |
530+
| ingester.zoneAwareReplication.maxUnavailable | int | `50` | Maximum number of ingesters that can be unavailable per zone during rollout |
531+
| ingester.zoneAwareReplication.topologyKey | string | `nil` | topologyKey to use in pod anti-affinity. If unset, no anti-affinity rules are generated. If set, the generated anti-affinity rule makes sure that pods from different zones do not mix. E.g.: topologyKey: 'kubernetes.io/hostname' |
532+
| ingester.zoneAwareReplication.zones | list | `[{"extraAffinity":{},"name":"zone-a","nodeSelector":null,"storageClass":null},{"extraAffinity":{},"name":"zone-b","nodeSelector":null,"storageClass":null},{"extraAffinity":{},"name":"zone-c","nodeSelector":null,"storageClass":null}]` | Zone definitions for ingester zones. Note: you have to redefine the whole list to change parts as YAML does not allow to modify parts of a list. |
533+
| ingester.zoneAwareReplication.zones[0] | object | `{"extraAffinity":{},"name":"zone-a","nodeSelector":null,"storageClass":null}` | Name of the zone, used in labels and selectors. Must follow Kubernetes naming restrictions: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ |
534+
| ingester.zoneAwareReplication.zones[0].extraAffinity | object | `{}` | extraAffinity adds user defined custom affinity rules (merged with generated rules) |
535+
| ingester.zoneAwareReplication.zones[0].nodeSelector | string | `nil` | nodeselector to restrict where pods of this zone can be placed. E.g.: nodeSelector: topology.kubernetes.io/zone: zone-a |
536+
| ingester.zoneAwareReplication.zones[0].storageClass | string | `nil` | Ingester data Persistent Volume Storage Class If defined, storageClassName: <storageClass> If set to "-", then use `storageClassName: ""`, which disables dynamic provisioning If undefined or set to null (the default), then fall back to the value of `ingester.persistentVolume.storageClass`. |
537+
| ingester.zoneAwareReplication.zones[1] | object | `{"extraAffinity":{},"name":"zone-b","nodeSelector":null,"storageClass":null}` | Name of the zone, used in labels and selectors. Must follow Kubernetes naming restrictions: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ |
538+
| ingester.zoneAwareReplication.zones[1].extraAffinity | object | `{}` | extraAffinity adds user defined custom affinity rules (merged with generated rules) |
539+
| ingester.zoneAwareReplication.zones[1].nodeSelector | string | `nil` | nodeselector to restrict where pods of this zone can be placed. E.g.: nodeSelector: topology.kubernetes.io/zone: zone-b |
540+
| ingester.zoneAwareReplication.zones[1].storageClass | string | `nil` | Ingester data Persistent Volume Storage Class If defined, storageClassName: <storageClass> If set to "-", then use `storageClassName: ""`, which disables dynamic provisioning If undefined or set to null (the default), then fall back to the value of `ingester.persistentVolume.storageClass`. |
541+
| ingester.zoneAwareReplication.zones[2] | object | `{"extraAffinity":{},"name":"zone-c","nodeSelector":null,"storageClass":null}` | Name of the zone, used in labels and selectors. Must follow Kubernetes naming restrictions: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ |
542+
| ingester.zoneAwareReplication.zones[2].extraAffinity | object | `{}` | extraAffinity adds user defined custom affinity rules (merged with generated rules) |
543+
| ingester.zoneAwareReplication.zones[2].nodeSelector | string | `nil` | nodeselector to restrict where pods of this zone can be placed. E.g.: nodeSelector: topology.kubernetes.io/zone: zone-c |
544+
| ingester.zoneAwareReplication.zones[2].storageClass | string | `nil` | Ingester data Persistent Volume Storage Class If defined, storageClassName: <storageClass> If set to "-", then use `storageClassName: ""`, which disables dynamic provisioning If undefined or set to null (the default), then fall back to the value of `ingester.persistentVolume.storageClass`. |
522545
| license.contents | string | `"NOTAVALIDLICENSE"` | |
523546
| license.external | bool | `false` | |
524547
| license.secretName | string | `"{{ include \"tempo.resourceName\" (dict \"ctx\" . \"component\" \"license\") }}"` | |

charts/tempo-distributed/README.md.gotmpl

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,11 @@ The command removes all the Kubernetes components associated with the chart and
3939

4040
A major chart version change indicates that there is an incompatible breaking change needing manual actions.
4141

42+
### from Chart versions < 1.11.0
43+
44+
EXPERIMENTAL: Zone Aware Replication has been added to the ingester statefulset.
45+
Attention, the calculation of the pods per AZ is as follows ```(.values.ingester.replicas + numberOfZones -1)/numberOfZones```
46+
4247
### From Chart versions < 1.8.0
4348

4449
Switch to new overrides format, see https://grafana.com/docs/tempo/latest/configuration/#overrides.
Lines changed: 176 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,180 @@
1-
{{/*
2-
ingester imagePullSecrets
3-
*/}}
41
{{- define "tempo.ingesterImagePullSecrets" -}}
52
{{- $dict := dict "tempo" .Values.tempo.image "component" .Values.ingester.image "global" .Values.global.image -}}
63
{{- include "tempo.imagePullSecrets" $dict -}}
74
{{- end }}
5+
{{- define "ingester.zoneAwareReplicationMap" -}}
6+
{{- $zonesMap := (dict) -}}
7+
{{- $defaultZone := (dict "affinity" .ctx.Values.ingester.affinity "nodeSelector" .ctx.Values.ingester.nodeSelector "replicas" .ctx.Values.ingester.replicas "storageClass" .ctx.Values.ingester.storageClass) -}}
8+
{{- if .ctx.Values.ingester.zoneAwareReplication.enabled -}}
9+
{{- $numberOfZones := len .ctx.Values.ingester.zoneAwareReplication.zones -}}
10+
{{- if lt $numberOfZones 3 -}}
11+
{{- fail "When zone-awareness is enabled, you must have at least 3 zones defined." -}}
12+
{{- end -}}
13+
{{- $requestedReplicas := .ctx.Values.ingester.replicas -}}
14+
{{- $replicaPerZone := div (add $requestedReplicas $numberOfZones -1) $numberOfZones -}}
15+
{{- range $idx, $rolloutZone := .ctx.Values.ingester.zoneAwareReplication.zones -}}
16+
{{- $_ := set $zonesMap $rolloutZone.name (dict
17+
"affinity" (($rolloutZone.extraAffinity | default (dict)) | mergeOverwrite (include "ingester.zoneAntiAffinity" (dict "rolloutZoneName" $rolloutZone.name "topologyKey" $.ctx.Values.ingester.zoneAwareReplication.topologyKey) | fromYaml))
18+
"nodeSelector" ($rolloutZone.nodeSelector | default (dict) )
19+
"replicas" $replicaPerZone
20+
"storageClass" $rolloutZone.storageClass
21+
) -}}
22+
{{- end -}}
23+
{{- $zonesMap | toYaml }}
24+
{{- end -}}
25+
{{- end -}}
26+
{{/*
27+
Calculate anti-affinity for a zone
28+
Params:
29+
rolloutZoneName = name of the rollout zone
30+
topologyKey = topology key
31+
*/}}
32+
{{- define "ingester.zoneAntiAffinity" -}}
33+
{{- if .topologyKey -}}
34+
podAntiAffinity:
35+
requiredDuringSchedulingIgnoredDuringExecution:
36+
- labelSelector:
37+
matchExpressions:
38+
- key: rollout-group
39+
operator: In
40+
values:
41+
- ingester
42+
- key: zone
43+
operator: NotIn
44+
values:
45+
- {{ .rolloutZoneName }}
46+
topologyKey: {{ .topologyKey | quote }}
47+
{{- else -}}
48+
{}
49+
{{- end -}}
50+
{{- end -}}
51+
52+
{{/*
53+
Calculate annotations with zone-awareness
54+
Params:
55+
ctx = . context
56+
component = component name
57+
rolloutZoneName = rollout zone name (optional)
58+
*/}}
59+
{{- define "ingester.Annotations" -}}
60+
{{- if and .ctx.Values.ingester.zoneAwareReplication.maxUnavailable .rolloutZoneName }}
61+
{{- $map := dict "rollout-max-unavailable" (.ctx.Values.ingester.zoneAwareReplication.maxUnavailable | toString) -}}
62+
{{- toYaml (deepCopy $map | mergeOverwrite .ctx.Values.ingester.annotations) }}
63+
{{- else -}}
64+
{{ toYaml .ctx.Values.ingester.annotations }}
65+
{{- end -}}
66+
{{- end -}}
67+
68+
{{/*
69+
ingester labels
70+
*/}}
71+
{{- define "ingester.labels" -}}
72+
{{- if and .ctx.Values.ingester.zoneAwareReplication.enabled .rolloutZoneName }}
73+
name: {{ printf "%s-%s" .component .rolloutZoneName }}
74+
rollout-group: {{ .component }}
75+
zone: {{ .rolloutZoneName }}
76+
{{- end }}
77+
helm.sh/chart: {{ include "tempo.chart" .ctx }}
78+
app.kubernetes.io/name: {{ include "tempo.name" .ctx }}
79+
app.kubernetes.io/instance: {{ .ctx.Release.Name }}
80+
{{- if .component }}
81+
app.kubernetes.io/component: {{ .component }}
82+
{{- end }}
83+
{{- if .memberlist }}
84+
app.kubernetes.io/part-of: memberlist
85+
{{- end }}
86+
{{- if .ctx.Chart.AppVersion }}
87+
app.kubernetes.io/version: {{ .ctx.Chart.AppVersion | quote }}
88+
{{- end }}
89+
app.kubernetes.io/managed-by: {{ .ctx.Release.Service }}
90+
{{- end -}}
91+
{{/*
92+
Resource name template
93+
*/}}
94+
{{- define "ingester.resourceName" -}}
95+
{{- $resourceName := include "tempo.fullname" .ctx -}}
96+
{{- if .component -}}{{- $resourceName = printf "%s-%s" $resourceName .component -}}{{- end -}}
97+
{{- if .rolloutZoneName -}}{{- $resourceName = printf "%s-%s" $resourceName .rolloutZoneName -}}{{- end -}}
98+
{{- $resourceName -}}
99+
{{- end -}}
100+
101+
102+
{{/*
103+
ingester selector labels
104+
Params:
105+
ctx = . context
106+
component = name of the component
107+
rolloutZoneName = rollout zone name (optional)
108+
*/}}
109+
{{- define "ingester.selectorLabels" -}}
110+
{{- if .ctx.Values.enterprise.legacyLabels }}
111+
{{- if .component -}}
112+
app: {{ include "tempo.name" .ctx }}-{{ .component }}
113+
{{- end }}
114+
release: {{ .ctx.Release.Name }}
115+
{{- else -}}
116+
app.kubernetes.io/name: {{ include "tempo.name" .ctx }}
117+
app.kubernetes.io/instance: {{ .ctx.Release.Name }}
118+
{{- if .component }}
119+
app.kubernetes.io/component: {{ .component }}
120+
{{- end }}
121+
{{- end -}}
122+
{{- if .rolloutZoneName }}
123+
{{- if not .component }}
124+
{{- printf "Component name cannot be empty if rolloutZoneName (%s) is set" .rolloutZoneName | fail }}
125+
{{- end }}
126+
rollout-group: {{ .component }}
127+
zone: {{ .rolloutZoneName }}
128+
{{- end }}
129+
{{- end -}}
130+
131+
{{/*
132+
ingester POD labels
133+
Params:
134+
ctx = . context
135+
component = name of the component
136+
memberlist = true if part of memberlist gossip ring
137+
rolloutZoneName = rollout zone name (optional)
138+
*/}}
139+
{{- define "ingester.podLabels" -}}
140+
{{ with .ctx.Values.global.podLabels -}}
141+
{{ toYaml . }}
142+
{{ end }}
143+
{{- if .ctx.Values.enterprise.legacyLabels }}
144+
{{- if .component -}}
145+
app: {{ include "tempo.name" .ctx }}-{{ .component }}
146+
{{- if not .rolloutZoneName }}
147+
name: {{ .component }}
148+
{{- end }}
149+
{{- end }}
150+
{{- if .memberlist }}
151+
gossip_ring_member: "true"
152+
{{- end -}}
153+
{{- if .component }}
154+
target: {{ .component }}
155+
release: {{ .ctx.Release.Name }}
156+
{{- end }}
157+
{{- else -}}
158+
helm.sh/chart: {{ include "tempo.chart" .ctx }}
159+
app.kubernetes.io/name: {{ include "tempo.name" .ctx }}
160+
app.kubernetes.io/instance: {{ .ctx.Release.Name }}
161+
app.kubernetes.io/version: {{ .ctx.Chart.AppVersion | quote }}
162+
app.kubernetes.io/managed-by: {{ .ctx.Release.Service }}
163+
{{- if .component }}
164+
app.kubernetes.io/component: {{ .component }}
165+
{{- end }}
166+
{{- if .memberlist }}
167+
app.kubernetes.io/part-of: memberlist
168+
{{- end }}
169+
{{- end }}
170+
{{- with .ctx.Values.ingester.podLabels }}
171+
{{ toYaml . }}
172+
{{- end }}
173+
{{- if .rolloutZoneName }}
174+
{{- if not .component }}
175+
{{- printf "Component name cannot be empty if rolloutZoneName (%s) is set" .rolloutZoneName | fail }}
176+
{{- end }}
177+
rollout-group: ingester
178+
zone: {{ .rolloutZoneName }}
179+
{{- end }}
180+
{{- end -}}

charts/tempo-distributed/templates/ingester/statefulset-ingester.yaml

Lines changed: 27 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,44 @@
1-
{{ $dict := dict "ctx" . "component" "ingester" "memberlist" true }}
1+
{{- $dict := dict "ctx" . "component" "ingester" "memberlist" true -}}
2+
{{- $zonesMap := include "ingester.zoneAwareReplicationMap" $dict | fromYaml -}}
3+
{{- range $zoneName, $rolloutZone := $zonesMap -}}
4+
{{- with $ -}}
5+
{{- $_ := set $dict "rolloutZoneName" $zoneName -}}
26
apiVersion: apps/v1
37
kind: StatefulSet
48
metadata:
5-
name: {{ template "tempo.resourceName" $dict }}
9+
name: {{ template "ingester.resourceName" $dict }}
610
namespace: {{ .Release.Namespace }}
711
labels:
8-
{{- include "tempo.labels" $dict | nindent 4 }}
12+
{{- include "ingester.labels" $dict | indent 4 }}
13+
{{- if .Values.ingester.zoneAwareReplication.enabled }}
14+
annotations:
15+
{{- include "ingester.Annotations" $dict | nindent 4}}
16+
{{- else }}
917
{{- with .Values.ingester.annotations }}
1018
annotations:
1119
{{- toYaml . | nindent 4 }}
1220
{{- end }}
21+
{{- end }}
1322
spec:
14-
{{- if not .Values.ingester.autoscaling.enabled }}
15-
replicas: {{ .Values.ingester.replicas }}
16-
{{- end }}
23+
{{- if not .Values.ingester.autoscaling.enabled }}
24+
replicas: {{ $rolloutZone.replicas }}
25+
{{- end }}
1726
selector:
1827
matchLabels:
19-
{{- include "tempo.selectorLabels" $dict | nindent 6}}
28+
{{- include "ingester.selectorLabels" $dict | nindent 6}}
2029
serviceName: ingester
2130
podManagementPolicy: Parallel
2231
updateStrategy:
32+
{{- if .Values.ingester.zoneAwareReplication.enabled }}
33+
type: OnDelete
34+
{{- else }}
2335
rollingUpdate:
2436
partition: 0
37+
{{- end }}
2538
template:
2639
metadata:
2740
labels:
28-
{{- include "tempo.podLabels" $dict | nindent 8 }}
41+
{{- include "ingester.podLabels" $dict | nindent 8 }}
2942
{{- with .Values.tempo.podLabels }}
3043
{{- toYaml . | nindent 8 }}
3144
{{- end }}
@@ -112,11 +125,11 @@ spec:
112125
{{- tpl . $ | nindent 8 }}
113126
{{- end }}
114127
{{- end }}
115-
{{- with .Values.ingester.affinity }}
128+
{{- with $rolloutZone.affinity }}
116129
affinity:
117-
{{- tpl . $ | nindent 8 }}
130+
{{- toYaml . | nindent 8 }}
118131
{{- end }}
119-
{{- with .Values.ingester.nodeSelector }}
132+
{{- with $rolloutZone.nodeSelector }}
120133
nodeSelector:
121134
{{- toYaml . | nindent 8 }}
122135
{{- end }}
@@ -169,3 +182,6 @@ spec:
169182
requests:
170183
storage: {{ .Values.ingester.persistence.size | quote }}
171184
{{- end }}
185+
---
186+
{{ end }}
187+
{{ end }}

0 commit comments

Comments
 (0)