Skip to content

Commit 5180c10

Browse files
committed
feat: Create base manifest files to deploy tempo
1 parent 7fb9f13 commit 5180c10

File tree

11 files changed

+2830
-7
lines changed

11 files changed

+2830
-7
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/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: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -523,6 +523,12 @@ 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
@@ -539,18 +545,33 @@ collectors:
539545
enabled: true
540546
num_consumers: 10
541547
queue_size: 2000
542-
548+
otlp/tempo:
549+
endpoint: observability-tempo-distributor.observability.svc.cluster.local:4317
550+
tls:
551+
insecure: true
552+
headers:
553+
X-Scope-OrgID: "default"
554+
compression: gzip
555+
timeout: 30s
556+
retry_on_failure:
557+
enabled: true
558+
initial_interval: 1s
559+
max_interval: 10s
560+
max_elapsed_time: 0s
561+
sending_queue:
562+
enabled: true
563+
num_consumers: 10
564+
queue_size: 2000
543565
service:
544566
pipelines:
545567
traces:
546568
receivers:
547569
- otlp
548570
processors:
549-
- resourcedetection/env
550-
- resource/hostname
571+
- memory_limiter
551572
- batch
552573
exporters:
553-
- debug
574+
- otlp/tempo
554575
logs:
555576
receivers:
556577
- 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:

applications/base/services/observability/loki/source.yaml renamed to applications/base/services/observability/sources/grafana.yaml

File renamed without changes.

applications/base/services/observability/kube-prometheus-stack/source.yaml renamed to applications/base/services/observability/sources/kube-prometheus-stack.yaml

File renamed without changes.

applications/base/services/observability/opentelemetry-kube-stack/source.yaml renamed to applications/base/services/observability/sources/opentelemetry.yaml

File renamed without changes.
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)