Skip to content

Project 5 Zero Touch Telemetry

Huzefaaa2 edited this page Jan 26, 2026 · 6 revisions

Project 5 – Zero‑Touch Telemetry for Kubernetes

Zero‑Touch Telemetry discovers Kubernetes workloads and services, plans an OpenTelemetry collector topology, and emits ready‑to‑apply configs and manifests with minimal manual wiring.

Architecture

flowchart LR
  Manifests[K8s Manifests] --> Discovery[Service Discovery]
  Discovery --> Planner[Collector Planner]
  Planner --> Config[OTEL Config]
  Planner --> Manifest[Collector Manifests]
  Planner --> Patches[Instrumentation Patches]
Loading

What’s implemented

  • Manifest discovery for Deployments/StatefulSets/DaemonSets + Services.
  • Auto‑planner for gateway/daemonset/sidecar modes.
  • Collector config + manifest generation.
  • Instrumentation env var plans and patch hints.
  • Helm chart for gateway/daemonset/sidecar collectors.
  • Operator CRD + Instrumentation resources packaged in the chart.
  • Plan → apply workflow with kubectl patching.

Quickstart

PYTHONPATH=projects/zero-touch-telemetry/src python3 -m zero_touch_telemetry.cli \
  --manifests projects/zero-touch-telemetry/examples/sample_k8s.yaml \
  --mode auto \
  --output-dir out

Plan → Apply

PYTHONPATH=projects/zero-touch-telemetry/src python3 -m zero_touch_telemetry.cli \
  --manifests projects/zero-touch-telemetry/examples/sample_k8s.yaml \
  --mode gateway \
  --output-dir out \
  --apply \
  --diff

Diff-only preview (no apply):

PYTHONPATH=projects/zero-touch-telemetry/src python3 -m zero_touch_telemetry.cli \
  --manifests projects/zero-touch-telemetry/examples/sample_k8s.yaml \
  --mode gateway \
  --output-dir out \
  --diff-only

Helm

helm install ztt projects/zero-touch-telemetry/deploy/helm/zero-touch-telemetry \
  --set mode=gateway \
  --set collector.exporters[0]=logging

Sidecar mode:

helm install ztt projects/zero-touch-telemetry/deploy/helm/zero-touch-telemetry --set mode=sidecar

Enable operator resources:

helm install ztt projects/zero-touch-telemetry/deploy/helm/zero-touch-telemetry \
  --set operator.enabled=true

Key files

  • projects/zero-touch-telemetry/src/zero_touch_telemetry/cli.py
  • projects/zero-touch-telemetry/src/zero_touch_telemetry/apply.py
  • projects/zero-touch-telemetry/deploy/helm/zero-touch-telemetry/

Clone this wiki locally