VictoriaMetrics and Grafana Mimir both speak the Prometheus query API, but with small differences (URL base path and multi-tenancy headers such as AccountID/X-Scope-OrgID). Today the agent's Prometheus backend assumes vanilla Prometheus, so users running VM or Mimir can't point the agent at them cleanly.
Goal
Make the existing Prometheus observability backend work against VictoriaMetrics and Mimir, either via config knobs on the existing client or a thin backend variant.
Scope
- Support a configurable base path / URL prefix (e.g. VM's
/select/0/prometheus, Mimir's /prometheus).
- Support an optional tenant header (
X-Scope-OrgID for Mimir, AccountID/tenant for VM).
- Surface these as
values.yaml config on the runner.
- Unit test covering the path + header difference using
httptest.Server.
- Add a
values.yaml example and a short docs note.
Pointers
runner/pkg/observability/prometheus/
runner/docs/development.md → "Adding a new action"
runner/docs/configuration.md for the env-var surface
Acceptance
make test passes with new coverage for the tenant-header / base-path handling.
- A documented config example lets a user target VM or Mimir without code changes.
VictoriaMetrics and Grafana Mimir both speak the Prometheus query API, but with small differences (URL base path and multi-tenancy headers such as
AccountID/X-Scope-OrgID). Today the agent's Prometheus backend assumes vanilla Prometheus, so users running VM or Mimir can't point the agent at them cleanly.Goal
Make the existing Prometheus observability backend work against VictoriaMetrics and Mimir, either via config knobs on the existing client or a thin backend variant.
Scope
/select/0/prometheus, Mimir's/prometheus).X-Scope-OrgIDfor Mimir,AccountID/tenant for VM).values.yamlconfig on the runner.httptest.Server.values.yamlexample and a short docs note.Pointers
runner/pkg/observability/prometheus/runner/docs/development.md→ "Adding a new action"runner/docs/configuration.mdfor the env-var surfaceAcceptance
make testpasses with new coverage for the tenant-header / base-path handling.