Alloy V1.16.0 #345

Merged
eblume merged 5 commits from alloy-v1.16.0 into main 2026-05-01 08:05:39 -07:00
Owner

Bump Grafana Alloy v1.14.0 → v1.16.0 across all four services (alloy-k8s, alloy-ringtail, alloy-tracing-ringtail; alloy native ansible). Also migrate the indri build path from Dockerfile to a native Dagger container.py per the build-container-image migration playbook.

Highlights from upstream

  • v1.15: database observability promoted to stable, OTel Collector → v0.147.0
  • v1.16: clustering for loki.source.kubernetes_events, MySQL exporter 0.19.0
  • One pre-existing breaking change in v1.15 (loki.source.awsfirehose undocumented metric prefix rename) — not used here.

Build infra

Alloy v1.16.0's go.mod requires Go 1.26.2. The nix derivation now uses pkgs.go_1_26 with GOTOOLCHAIN=local to avoid auto-downloading a toolchain blob that violated the fixed-output rule.

Test plan

  • CI: mise run container-build-and-release alloy --ref alloy-v1.16.0 (dispatched as run 522; nix job to be re-triggered with the v1.16.0 goModules outputHash once the local ringtail build surfaces it)
  • After CI green, bump images[].newTag in three kustomizations to the new -<sha> and -<sha>-nix tags, deploy from this branch via argocd app set <app> --revision alloy-v1.16.0 && argocd app sync <app>
  • Manual rebuild of macOS native binary on gilbert (per ansible/roles/alloy README) and mise run provision-indri -- --tags alloy --check --diff
  • mise run services-check after merge & redeploy
Bump Grafana Alloy v1.14.0 → v1.16.0 across all four services (alloy-k8s, alloy-ringtail, alloy-tracing-ringtail; alloy native ansible). Also migrate the indri build path from `Dockerfile` to a native Dagger `container.py` per the build-container-image migration playbook. ## Highlights from upstream - v1.15: database observability promoted to stable, OTel Collector → v0.147.0 - v1.16: clustering for `loki.source.kubernetes_events`, MySQL exporter 0.19.0 - One pre-existing breaking change in v1.15 (`loki.source.awsfirehose` undocumented metric prefix rename) — not used here. ## Build infra Alloy v1.16.0's go.mod requires Go 1.26.2. The nix derivation now uses `pkgs.go_1_26` with `GOTOOLCHAIN=local` to avoid auto-downloading a toolchain blob that violated the fixed-output rule. ## Test plan - [x] CI: `mise run container-build-and-release alloy --ref alloy-v1.16.0` (dispatched as run 522; nix job to be re-triggered with the v1.16.0 goModules outputHash once the local ringtail build surfaces it) - [x] After CI green, bump `images[].newTag` in three kustomizations to the new `-<sha>` and `-<sha>-nix` tags, deploy from this branch via `argocd app set <app> --revision alloy-v1.16.0 && argocd app sync <app>` - [x] Manual rebuild of macOS native binary on gilbert (per ansible/roles/alloy README) and `mise run provision-indri -- --tags alloy --check --diff` - [ ] `mise run services-check` after merge & redeploy
Bump alloy v1.14.0 → v1.16.0 across both build paths:
  - containers/alloy/Dockerfile replaced with native container.py
    (3-stage Node UI → make alloy Go build → Alpine runtime).
  - containers/alloy/default.nix bumped: src hash + npmDepsHash refreshed.
    goModules outputHash still TODO — will be updated after a build attempt
    on the ringtail nix runner reveals the new hash.

The container.py uses the upstream Makefile via `make alloy` (not plain
`go build`) so version stamping, release flags, and the netgo+embedalloyui
tags match upstream releases. promtail_journal_enabled is omitted as
before — k8s deployments read pod logs from the filesystem, not journald.

Per [[review-services]] for the four stale Alloy entries (alloy-k8s,
alloy-ringtail, alloy-tracing-ringtail, alloy ansible — all reviewed
2026-03-13).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- containers/alloy/default.nix: switch to pkgs.go_1_26 (1.26.2) with
  GOTOOLCHAIN=local. Alloy v1.16.0 requires Go 1.26.2; pkgs.go (1.25.x)
  triggers a toolchain auto-download whose patched shebangs violate the
  fixed-output derivation rule.
- service-versions.yaml: bump alloy/alloy-k8s/alloy-ringtail/
  alloy-tracing-ringtail to v1.16.0, last-reviewed 2026-04-30.
- docs/changelog.d/alloy-v1.16.0.infra.md: changelog fragment.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
CI run 522 dagger job failed with `go.mod requires go >= 1.26.2 (running
go 1.25.9; GOTOOLCHAIN=local)`. golang:1.25-alpine3.22 was a holdover
from the original Dockerfile; alloy v1.16.0's go.mod requires Go 1.26.

Switching to golang:alpine3.23 (currently Go 1.26.2) — matches both
alloy's toolchain requirement and the go_build helper's image choice.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Local nix-build on ringtail (after the go_1_26 + GOTOOLCHAIN=local fix)
surfaced the new module-cache hash:

  specified: sha256-rD7zqomSVv4d8NaC7jXXgihuQvK8guaAN0KrsBRWMVQ=
  got:       sha256-9/v85HyDInJB+9qHauKVuDol6Yf5mkXfMWgCr7RdRTk=

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Both container images published manually (CI on indri couldn't complete
due to host RAM pressure — 7.2 GB in macOS memory compressor causing
~10–100x slowdown on memory-touching work, see separate ticket thread):

  - registry.ops.eblu.me/blumeops/alloy:v1.16.0-26a3ab5
    (dagger build, run locally on gilbert via container.py)
  - registry.ops.eblu.me/blumeops/alloy:v1.16.0-26a3ab5-nix
    (nix build, run on ringtail's nix-container-builder)

Both images built from the alloy-v1.16.0 branch tip 26a3ab5b. After
PR squash-merge, follow up with a C0 to rebuild from the main SHA and
bump tags to a [main]-marked variant per the squash-merge convention.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
eblume merged commit 9564435b11 into main 2026-05-01 08:05:39 -07:00
eblume referenced this pull request from a commit 2026-05-01 08:05:39 -07:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
eblume/blumeops!345
No description provided.