Demo
Run canardstack against the full OpenTelemetry demo with pre-built Grafana dashboards and data sources.
Keep the otel demo repository in a separate checkout; this repo only supplies the collector extras file that points the demo collector at canardstack.
Start canardstack
Section titled “Start canardstack”In the canardstack checkout, start canardstack and the bundled Grafana datasources:
cd canardstackdocker compose up canardstack grafanaThis publishes canardstack on http://localhost:4318 with the default demo key
dev-canardstack-key. Grafana is available on http://localhost:3000.
By default, Compose pulls ghcr.io/smithclay/canardstack:latest.
To build canardstack from this checkout instead, add the build override:
docker compose -f compose.yaml -f compose.build.yaml up --build canardstack grafanaStart The OpenTelemetry Demo
Section titled “Start The OpenTelemetry Demo”In a separate checkout, start the full OpenTelemetry demo without its bundled observability stack, and mount the canardstack collector extras file:
git clone https://github.com/open-telemetry/opentelemetry-demo.git ../opentelemetry-democd ../opentelemetry-demo
CANARDSTACK_DIR="$(cd ../canardstack && pwd)"
OTEL_COLLECTOR_CONFIG_EXTRAS="$CANARDSTACK_DIR/config/otel-demo-collector-extras.yml" \make start-no-o11ystart-no-o11y skips the demo’s Jaeger, Prometheus, OpenSearch, and Grafana
services; use make start-minimal-no-o11y for the smaller core-only service
set.
Open the demo storefront:
http://localhost:8080/The demo load generator starts with the stack and sends logs, traces, and
metrics through the demo collector. The checked-in extras file adds an
otlp_http/canardstack exporter to the demo’s logs, traces, and metrics
pipelines, using OTLP/HTTP protobuf to http://host.docker.internal:4318.
Open Grafana
Section titled “Open Grafana”Open the canardstack Grafana dashboard to see the data:
http://localhost:3000/d/canardstack-overview/canardstack-overviewUse admin/admin if you log in to the bundled Grafana directly.

host.docker.internalworks out of the box on Docker Desktop and OrbStack. On plain Linux Docker Engine, use an equivalent host-gateway address or add a host alias for the demo collector.- The extras file sends logs, traces, and metrics to canardstack, and keeps the metrics receivers to OTLP and spanmetrics for local portability.