Files
rippled/docker/telemetry/docker-compose.grafanacloud.yaml
Pratik Mankawde 6e71ee1888 feat(telemetry): add runtime-selectable Grafana Cloud export
Add an opt-in collector config + compose override that forward traces,
metrics, and logs to a Grafana Cloud OTLP gateway alongside the local
backends. Enabling it is a runtime choice (layer the override compose
file) — no xrpld rebuild, base stack unchanged. Credentials come from a
gitignored .env file. Documented in the telemetry runbook and TESTING.md.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 17:34:29 +01:00

27 lines
1.2 KiB
YAML

# Compose override — enable Grafana Cloud export at runtime.
#
# Layer this on top of the base stack to swap the collector onto the
# Grafana Cloud dual-export config and inject the OTLP credentials. The
# base docker-compose.yml is unchanged, so plain `up` stays local-only.
#
# Usage:
# 1. Put your three Grafana Cloud values in docker/telemetry/.env.grafanacloud
# (template: .env.grafanacloud.example). That file is gitignored.
# 2. Bring the stack up with BOTH compose files:
# docker compose -f docker/telemetry/docker-compose.yml \
# -f docker/telemetry/docker-compose.grafanacloud.yaml up -d
# 3. To go back to local-only, bring the stack up with just the base file.
services:
otel-collector:
# Mount the Grafana Cloud variant over the default config path. This
# replaces the local-only config for this run only — the file on disk
# is untouched.
volumes:
- ./otel-collector-config.grafanacloud.yaml:/etc/otel-collector-config.yaml:ro
# Secrets are read from the gitignored env file at compose time and
# passed into the container environment, where the collector resolves
# them via ${env:...}. Nothing is baked into the image or committed.
env_file:
- .env.grafanacloud