Skip to content

Commit 47b2495

Browse files
authored
Base manifest files to deploy tempo (#44)
* feat: Create base manifest files to deploy tempo * fix: disable tenants
1 parent 7fb9f13 commit 47b2495

File tree

12 files changed

+2828
-10
lines changed

12 files changed

+2828
-10
lines changed

applications/base/services/observability/kube-prometheus-stack/kustomization.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
apiVersion: kustomize.config.k8s.io/v1beta1
33
kind: Kustomization
44
resources:
5-
- "source.yaml"
5+
- "../sources/kube-prometheus-stack.yaml"
66
- "helmrelease.yaml"
77
secretGenerator:
88
- name: kube-prometheus-stack-values-base

applications/base/services/observability/loki/helm-values/hardened-values-v6.45.2.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -389,7 +389,7 @@ loki:
389389
{{- tpl (. | toYaml) $ | nindent 4 }}
390390
{{- end }}
391391
# Should authentication be enabled
392-
auth_enabled: true
392+
auth_enabled: false
393393
# -- memberlist configuration (overrides embedded default)
394394
memberlistConfig: {}
395395
# -- Extra memberlist configuration

applications/base/services/observability/loki/kustomization.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
apiVersion: kustomize.config.k8s.io/v1beta1
33
kind: Kustomization
44
resources:
5-
- "source.yaml"
5+
- "../sources/grafana.yaml"
66
- "helmrelease.yaml"
77
secretGenerator:
88
- name: loki-values-base

applications/base/services/observability/opentelemetry-kube-stack/helm-values/hardened-values-v0.11.1.yaml

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -523,11 +523,15 @@ collectors:
523523
send_batch_size: 1000
524524
timeout: 1s
525525
send_batch_max_size: 1500
526+
memory_limiter:
527+
# 80% of maximum memory up to 2G
528+
limit_mib: 400
529+
# 25% of limit up to 2G
530+
spike_limit_mib: 100
531+
check_interval: 5s
526532
exporters:
527533
otlphttp/loki:
528534
endpoint: http://observability-loki-gateway.observability.svc.cluster.local/otlp
529-
headers:
530-
X-Scope-OrgID: "default"
531535
compression: gzip
532536
timeout: 30s
533537
retry_on_failure:
@@ -539,18 +543,31 @@ collectors:
539543
enabled: true
540544
num_consumers: 10
541545
queue_size: 2000
542-
546+
otlp/tempo:
547+
endpoint: observability-tempo-distributor.observability.svc.cluster.local:4317
548+
tls:
549+
insecure: true
550+
compression: gzip
551+
timeout: 30s
552+
retry_on_failure:
553+
enabled: true
554+
initial_interval: 1s
555+
max_interval: 10s
556+
max_elapsed_time: 0s
557+
sending_queue:
558+
enabled: true
559+
num_consumers: 10
560+
queue_size: 2000
543561
service:
544562
pipelines:
545563
traces:
546564
receivers:
547565
- otlp
548566
processors:
549-
- resourcedetection/env
550-
- resource/hostname
567+
- memory_limiter
551568
- batch
552569
exporters:
553-
- debug
570+
- otlp/tempo
554571
logs:
555572
receivers:
556573
- otlp

applications/base/services/observability/opentelemetry-kube-stack/kustomization.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
apiVersion: kustomize.config.k8s.io/v1beta1
33
kind: Kustomization
44
resources:
5-
- "./source.yaml"
5+
- "../sources/opentelemetry.yaml"
66
- "./helmrelease.yaml"
77

88
secretGenerator:
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Tempo – Base Configuration
2+
3+
This directory contains the **base manifests** for deploying [Grafana Tempo](https://grafana.com/oss/tempo/), a horizontally-scalable, distributed tracing backend designed for cloud-native environments.
4+
It is designed to be **consumed by cluster repositories** as a remote base, allowing each cluster to apply **custom overrides** as needed.
5+
6+
**About Grafana Tempo:**
7+
8+
- Provides a **highly scalable, cost-effective tracing solution** optimized for collecting and storing distributed traces from Kubernetes clusters and microservices.
9+
- Deployed in **Distributed mode** with separate read and write paths for high availability and horizontal scaling.
10+
- Integrates natively with **OpenTelemetry** for trace collection using the OTLP protocol, enabling seamless ingestion without additional agents.
11+
- Stores trace data in **object storage** instead of databases, reducing operational overhead and storage costs.
12+
- Persists incoming spans using a **Write-Ahead Log (WAL)** and periodically compacts data into **Parquet blocks** for efficient long-term retention.
13+
- Supports querying through **TraceQL**, a query language purpose-built for filtering and analyzing trace data.
14+
- Automatically integrates with **Grafana** for unified visualization of **traces, logs, and metrics**.

0 commit comments

Comments
 (0)