Skip to main content
The chart installs a controller (the operator) that reconciles LMCacheEngine custom resources into a DaemonSet of LMCache cache servers, and — when observability is enabled — wires those engines to an OpenTelemetry Collector that fans metrics and traces out to Prometheus and Tempo.

What gets created, and by whom

Every piece follows the same pattern: the chart writes a declaration (a CR); a controller reconciles it into a running thing. The chart runs exactly one controller itself — the Tensormesh Operator. The Collector and Tempo are reconciled by operators you pre-install; the chart only submits their CRs. This table is the precise “which thing belongs where”: The Tensormesh Operator itself runs as a plain Deployment (no CR needed) and owns the engine DaemonSet’s lifecycle.

Data flow

See Observability for enabling and verifying this path.

Resources the chart creates

Everything the chart can render, with its scope — this is the table to consult before a cleanup, because cluster-scoped resources survive a namespace delete and must be removed explicitly.

The three things a namespace delete leaves behind

If you kubectl delete namespace instead of helm uninstall, these cluster-scoped resources orphan and need explicit cleanup:
  1. CRD lmcacheengines.lmcache.lmcache.ai
  2. ClusterRole for the operator
  3. ClusterRoleBinding for the operator
See Troubleshooting → Cleaning up an inconsistent or orphaned install for the full recipe (including clearing the LMCacheEngine finalizer first).

Next steps

Configuration

Every values.yaml key and example overlays.

Observability

The OTel Collector / Tempo / Prometheus wiring in detail.