Skip to content

feat: let the collector write to a Prometheus outside the release - #102

Open
jtslear wants to merge 2 commits into
mainfrom
skarbek/collector-remote-write-url
Open

jtslear wants to merge 2 commits into
mainfrom
skarbek/collector-remote-write-url

Conversation

@jtslear

@jtslear jtslear commented Nov 5, 2026 •

Copy link
Copy Markdown
Collaborator

Adds global.telemetry.metrics.remoteWriteURL. When set, Alloy's remote_write sends there instead of the bundled Prometheus. When empty (the default), nothing changes: compiled/resources.yaml is byte-identical.

Previously the URL was built from the prometheus subchart's service name, so the chart failed to render with prometheus.enabled: false (no template "prometheus.server.fullname"). The lookup now only happens when remoteWriteURL is empty. I checked a render with prometheus.enabled: false and remoteWriteURL set: it succeeds and writes to the given URL.

Use case: workspace clusters run only the collector (Alloy, kube-state-metrics, node-exporter) and remote-write to the Prometheus in the primary cluster. Disabling just the Prometheus server also needs #101, which makes kube-state-metrics and node-exporter independent of the prometheus subchart.

  • The value is trimmed, and the chart fails with a clear message if prometheus.enabled is false and no URL is set.
  • Caveats now documented in the values comment, README and CHANGELOG: Loki's ruler and Grafana's datasource still target the bundled Prometheus when it is disabled, the receiver needs --web.enable-remote-write-receiver (and native histograms if enabled), each cluster needs a distinct externalLabels, and there is no auth or TLS option (restrict at the network level).
  • Ships together with refactor: make kube-state-metrics and node-exporter top-level subcharts #101; either alone does not give a collector-only install.

🤖 Generated with Claude Code

Add global.telemetry.metrics.remoteWriteURL. When set, Alloy writes there
instead of the bundled Prometheus, and the chart renders with
prometheus.enabled: false. Default output is unchanged.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…fix CHANGELOG placement

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant