Skip to content

Commit 2923c76

Browse files
Merge pull request #3231 from DrFaust92/tempo-ingress-no-gateway
[tempo-distributed] add ingress with no gateway
2 parents 7cb7fcf + 92ea28f commit 2923c76

File tree

5 files changed

+99
-2
lines changed

5 files changed

+99
-2
lines changed

charts/tempo-distributed/Chart.yaml

Lines changed: 1 addition & 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.39.5
5+
version: 1.40.0
66
appVersion: 2.7.2
77
engine: gotpl
88
home: https://grafana.com/docs/tempo/latest/

charts/tempo-distributed/README.md

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

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

55
Grafana Tempo in MicroService mode
66

@@ -616,6 +616,18 @@ The memcached default args are removed and should be provided manually. The sett
616616
| ingester.zoneAwareReplication.zones[2].extraAffinity | object | `{}` | extraAffinity adds user defined custom affinity rules (merged with generated rules) |
617617
| 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 |
618618
| 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`. |
619+
| ingress.annotations | object | `{}` | |
620+
| ingress.enabled | bool | `false` | If you enable this, make sure to disable the gateway's ingress. |
621+
| ingress.hosts[0] | string | `"tempo.example.com"` | |
622+
| ingress.paths.compactor[0].path | string | `"/compactor/ring"` | |
623+
| ingress.paths.distributor[0].path | string | `"/v1/traces"` | |
624+
| ingress.paths.distributor[0].port | int | `4318` | |
625+
| ingress.paths.distributor[1].path | string | `"/distributor/ring"` | |
626+
| ingress.paths.distributor[2].path | string | `"/ingester/ring"` | |
627+
| ingress.paths.distributor[3].path | string | `"/metrics-generator/ring"` | |
628+
| ingress.paths.ingester[0].path | string | `"/flush"` | |
629+
| ingress.paths.ingester[1].path | string | `"/shutdown"` | |
630+
| ingress.paths.query-frontend[0].path | string | `"/api"` | |
619631
| kubectlImage.pullPolicy | string | `"IfNotPresent"` | |
620632
| kubectlImage.repository | string | `"bitnami/kubectl"` | |
621633
| kubectlImage.tag | string | `"latest"` | |

charts/tempo-distributed/templates/gateway/ingress-gateway.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
{{- if and .Values.ingress.enabled .Values.gateway.ingress.enabled -}}
2+
{{- fail "You have selected both ingress.enabled and gateway.ingress.enabled, you must select either ingress or gateway but not both" -}}
3+
{{- end -}}
4+
15
{{- if .Values.gateway.enabled -}}
26
{{- if .Values.gateway.ingress.enabled -}}
37
{{ $dict := dict "ctx" . "component" "gateway" }}
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
{{- if .Values.ingress.enabled }}
2+
{{- $ingressApiIsStable := eq (include "tempo.ingress.isStable" .) "true" -}}
3+
{{- $ingressSupportsIngressClassName := eq (include "tempo.ingress.supportsIngressClassName" .) "true" -}}
4+
{{- $ingressSupportsPathType := eq (include "tempo.ingress.supportsPathType" .) "true" -}}
5+
apiVersion: {{ include "tempo.ingress.apiVersion" . }}
6+
kind: Ingress
7+
metadata:
8+
name: {{ include "tempo.fullname" . }}
9+
labels:
10+
{{- include "tempo.labels" (dict "ctx" . "component" "gateway") | nindent 4 }}
11+
{{- with .Values.ingress.labels }}
12+
{{- toYaml . | nindent 4}}
13+
{{- end}}
14+
{{- with .Values.ingress.annotations }}
15+
annotations:
16+
{{- toYaml . | nindent 4 }}
17+
{{- end }}
18+
namespace: {{ .Release.Namespace }}
19+
spec:
20+
{{- with .Values.ingress.ingressClassName }}
21+
ingressClassName: {{ . }}
22+
{{- end -}}
23+
{{- with .Values.ingress.tls }}
24+
tls:
25+
{{- range . }}
26+
- hosts:
27+
{{- range .hosts }}
28+
- {{ . | quote }}
29+
{{- end }}
30+
{{- with .secretName }}
31+
secretName: {{ . }}
32+
{{- end }}
33+
{{- end }}
34+
{{- end }}
35+
rules:
36+
{{- range $.Values.ingress.hosts }}
37+
- host: {{ . | quote }}
38+
http:
39+
paths:
40+
{{- range $svcName, $paths := $.Values.ingress.paths }}
41+
{{- range $paths }}
42+
- path: {{ .path }}
43+
pathType: {{ .pathType | default "Prefix" }}
44+
backend:
45+
{{- if $ingressApiIsStable }}
46+
service:
47+
name: {{ include "tempo.fullname" $ }}-{{ $svcName }}
48+
port:
49+
number: {{ .port | default (printf "%s" (include "tempo.serverHttpListenPort" $ )) }}
50+
{{- else }}
51+
serviceName: {{ include "tempo.fullname" $ }}-{{ $svcName }}
52+
servicePort: {{ .port | default (printf "%s" (include "tempo.serverHttpListenPort" $ )) }}
53+
{{- end }}
54+
{{- end }}
55+
{{- end }}
56+
{{- end }}
57+
{{- end }}

charts/tempo-distributed/values.yaml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2170,6 +2170,30 @@ gateway:
21702170
}
21712171
}
21722172
2173+
ingress:
2174+
# -- If you enable this, make sure to disable the gateway's ingress.
2175+
enabled: false
2176+
# ingressClassName: nginx
2177+
annotations: {}
2178+
paths:
2179+
distributor:
2180+
- path: /v1/traces
2181+
port: 4318
2182+
- path: /distributor/ring
2183+
# -- pathType (e.g. ImplementationSpecific, Prefix, .. etc.) might also be required by some Ingress Controllers
2184+
# pathType: Prefix
2185+
- path: /ingester/ring
2186+
- path: /metrics-generator/ring
2187+
ingester:
2188+
- path: /flush
2189+
- path: /shutdown
2190+
query-frontend:
2191+
- path: /api
2192+
compactor:
2193+
- path: /compactor/ring
2194+
hosts:
2195+
- tempo.example.com
2196+
21732197
##############################################################################
21742198
# The values in and after the `enterprise:` key configure the enterprise features
21752199
enterprise:

0 commit comments

Comments
 (0)