Skip to content

feat!: replace grafana-agent with Grafana Alloy - #88

Merged
dannykopping merged 2 commits into
mainfrom
skarbek/grafana-agent-alloy-migration-326668
Oct 13, 2026
Merged

dannykopping merged 2 commits into
mainfrom
skarbek/grafana-agent-alloy-migration-326668

Conversation

@jtslear

@jtslear jtslear commented Oct 12, 2026 •

Copy link
Copy Markdown
Collaborator

What

grafana-agent is EOL. This swaps the grafana-agent subchart for the grafana/alloy chart (1.13.1, app v1.20.1) and renames the values key from grafana-agent to alloy.

  • Chart.yaml / Chart.lock: alloy dependency replaces grafana-agent.
  • values.yaml: alloy: block keeps the same collector ConfigMap, clustering, mounts and daemonset annotation. Drops agent.mode: flow, which Alloy doesn't have.
  • Templates: the collector ConfigMap, the relabel helpers and the status dashboard read the alloy values. The job label becomes <ns>/alloy/alloy and the metric becomes alloy_config_last_load_successful.
  • Docs: README, README.gotmpl, TESTING_KIND.md and CHANGELOG updated. compiled/resources.yaml regenerated.
% helm search repo grafana alloy
NAME                    CHART VERSION   APP VERSION     DESCRIPTION
grafana/alloy           1.13.1          v1.20.1         Grafana Alloy

Breaking changes

  • Rename any grafana-agent: values overrides to alloy:.
  • Pod job label changes from <ns>/grafana-agent/grafana-agent to <ns>/alloy/alloy. Queries and alerts on the old label need updating.
  • Alloy listens on 12345 instead of 80. Pod discovery uses the http-metrics named port, so scraping is unaffected.

Notes

  • The River collector config is unchanged. alloy validate --stability.level=generally-available passes on the rendered config against grafana/alloy:v1.20.1.
  • Alloy's cluster join address is now alloy-cluster, rendered by the chart.
  • Resource requests/limits are not set, matching the previous grafana-agent config in this chart.
  • Chart version is not bumped in this PR; it's set from the release tag at publish time (intended release: publish-minor, 0.8.0).

Reference:

jtslear and others added 2 commits October 12, 2026 11:07
grafana-agent is EOL. Swap the grafana-agent subchart for the grafana/alloy
chart (1.13.1) and rename the values key from `grafana-agent` to `alloy`.

- Chart.yaml/Chart.lock: alloy dependency replaces grafana-agent
- values.yaml: `alloy:` block with the same collector ConfigMap, clustering,
  mounts and daemonset annotations (drops the flow-mode `agent.mode`)
- collector ConfigMap, relabel helpers and status dashboard read the alloy
  values and job label (`<ns>/alloy/alloy`) and metric
- README, TESTING_KIND and CHANGELOG updated; compiled manifests regenerated

BREAKING: rename any `grafana-agent:` values overrides to `alloy:`. Pod job
label and listen port (12345) change.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
make lint's readme target syncs Chart.yaml to the latest stable tag
(v0.7.5) and regenerates the README install command; commit the output
so check-unstaged passes.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
@jtslear
jtslear marked this pull request as ready for review October 12, 2026 15:42
@jtslear
jtslear requested a review from dannykopping as a code owner October 12, 2026 15:42

@dannykopping dannykopping left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM; have you tested that it all works fine?

Comment thread CHANGELOG.md

- BREAKING: replaces the `grafana-agent` subchart with Grafana Alloy (`alloy` chart 1.13.1). Rename any `grafana-agent:` values overrides to `alloy:`.
- Pod `job` label changes from `<ns>/grafana-agent/grafana-agent` to `<ns>/alloy/alloy`; update queries and alerts that match the old label.
- Alloy listens on port 12345 instead of 80.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can make it listen on any port we want; maybe let's export both?

jtslear commented Oct 12, 2026

Copy link
Copy Markdown
Collaborator Author

@dannykopping my testing consisted of the following:

Kind cluster running version 0.7.5 (current latest), this confirmed current behavior and that the grafana-agent was in use. I then pulled this branch, ran the helm upgrade, confirmed alloy replaced. On reaching out to the port, the service was operating just fine and it looks like a copy and paste of grafana-agent, the service looks and operated the same, but did include a fancy chart. But the grafana-agent items were completely missing as expected.

@dannykopping dannykopping left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great stuff, thanks @jtslear!

@dannykopping
dannykopping merged commit 18b66e8 into main Oct 13, 2026
1 check passed
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.

2 participants