Skip to main content
A full observability stack in one namespace, wired across two plugins. The Kubernetes plugin deploys Loki, Tempo, and Mimir (each in Simple Scalable mode with write, read, and backend tiers), MinIO as their shared object storage, an OpenTelemetry Collector (gateway plus per-node agent), and Grafana behind a LoadBalancer. The grafana plugin then configures Grafana over its HTTP API, provisioning a dashboard folder, Loki, Tempo, and Mimir datasources, and the shipped dashboards. Target chaining wires the two together: the grafana target’s URL is a reference on the Grafana Service’s LoadBalancer ingress, so nothing is hardcoded. Optional telemetrygen workloads produce synthetic traffic when you pass --enable-demo-traffic. Deploy. Apply the example forma. formae orders the resources by their dependencies automatically, so MinIO and its credentials come up before the backends that store to it, and the Grafana Service before the grafana target that derives its URL from it. Add --enable-demo-traffic to run synthetic telemetry through telemetrygen:
Verify. Once the command completes, the stack’s resources are under management:
Tear down. Remove everything the forma created:
The full forma is in the lgtm-observability example.