Skip to content

fix: Invalid handling of id in foreach when using discovery components#5322

Merged
thampiotr merged 5 commits intomainfrom
cursor/targets-map-conversion-6b30
Jan 26, 2026
Merged

fix: Invalid handling of id in foreach when using discovery components#5322
thampiotr merged 5 commits intomainfrom
cursor/targets-map-conversion-6b30

Conversation

@thampiotr
Copy link
Contributor

@thampiotr thampiotr commented Jan 22, 2026

Brief description of Pull Request

In the foreach close there is an option to use id for each element off the collection. This requires looking at the element conceptually as a map and extracting the required id. But in Alloy unfortunately there are many ways of expressing an conceptual map. The key ways are:

  • map[string]any: Inline object literals with simple values.

    • Example: collection = [{name = "one", port = "8080"}, {name = "two", port = "8081"}]
  • map[string]string: Plain Go maps - used to be common, but are now replaced by Target capsules for performance. We keep it for maximum compatibility in case it's needed in the future.

  • map[string]syntax.Value: Inline object literals with expressions or computed values.

    • Example: collection = [{name = "one", url = "http://" + hostname}]
  • syntax.ConvertibleIntoCapsule: Capsules from component exports, such as discovery.Target.

    • Example: collection = discovery.kubernetes.pods.targets

Previously we didn't support or test them all. Now we do.

Fixes #5297

PR Checklist

  • Documentation added
  • Tests updated
  • Config converters updated

@cursor
Copy link

cursor bot commented Jan 22, 2026

Cursor Agent can help with this pull request. Just @cursor in comments and I'll start working on changes in this branch.
Learn more about Cursor Agents

@CLAassistant
Copy link

CLAassistant commented Jan 22, 2026

CLA assistant check
All committers have signed the CLA.

@thampiotr thampiotr changed the title Targets map conversion fix: Invalid handling of id in foreach when using discovery components Jan 22, 2026
@thampiotr thampiotr force-pushed the cursor/targets-map-conversion-6b30 branch from a359709 to 0f6e70c Compare January 23, 2026 13:56
@thampiotr thampiotr requested a review from Copilot January 26, 2026 11:47
@thampiotr thampiotr marked this pull request as ready for review January 26, 2026 11:47
@thampiotr thampiotr requested a review from a team as a code owner January 26, 2026 11:47
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Fixes foreach ID extraction so id = "<field>" works consistently across different “map-like” collection item representations, including discovery target capsules.

Changes:

  • Refactors ID extraction into collectionItemID with support for map[string]any, map[string]string, map[string]syntax.Value, and syntax.ConvertibleIntoCapsule.
  • Updates existing foreach controller tests to use map[string]any and adds coverage for map[string]any and map[string]syntax.Value ID extraction.
  • Adds a new external-package test validating ID extraction from discovery.Target capsules.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
internal/runtime/internal/controller/node_config_foreach.go Adds generalized ID extraction helper to support capsules and additional map shapes.
internal/runtime/internal/controller/node_config_foreach_test.go Updates scope map typing and adds tests for ID extraction from map[string]any and map[string]syntax.Value.
internal/runtime/internal/controller/foreach_targets_test.go Adds external-package test to validate foreach ID extraction from discovery.Target capsules.

@thampiotr thampiotr enabled auto-merge (squash) January 26, 2026 12:28
@thampiotr thampiotr merged commit 61fe184 into main Jan 26, 2026
47 checks passed
@thampiotr thampiotr deleted the cursor/targets-map-conversion-6b30 branch January 26, 2026 12:46
jharvey10 added a commit that referenced this pull request Jan 29, 2026
An interesting thing I discovered with release please is that if a
commit has a reference to a closed issue, this will be called out in the
changelog 🎉

For example:

```
* Invalid handling of id in foreach when using discovery components (\#5322) (61fe184), closes \#5297
```

The only problem is this breaks the way I wrote the regex for the
release not enrichment script. This PR fixes that.
grafana-alloybot bot pushed a commit that referenced this pull request Jan 29, 2026
An interesting thing I discovered with release please is that if a
commit has a reference to a closed issue, this will be called out in the
changelog 🎉

For example:

```
* Invalid handling of id in foreach when using discovery components (\#5322) (61fe184), closes \#5297
```

The only problem is this breaks the way I wrote the regex for the
release not enrichment script. This PR fixes that.

(cherry picked from commit 8cfe2f1)
jharvey10 added a commit that referenced this pull request Jan 29, 2026
…#5400)

## Backport of #5398

This PR backports #5398 to release/v1.13.

### Original PR Author
@jharvey10

### Description
An interesting thing I discovered with release please is that if a
commit has a reference to a closed issue, this will be called out in the
changelog 🎉

For example:

```
* Invalid handling of id in foreach when using discovery components (#5322) (61fe184), closes #5297
```

The only problem is this breaks the way I wrote the regex for the
release not enrichment script. This PR fixes that.

---
*This backport was created automatically.*

Co-authored-by: Joe Harvey <51208233+jharvey10@users.noreply.github.com>
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Feb 6, 2026
This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [grafana/alloy](https://github.com/grafana/alloy) | minor | `v1.12.2` → `v1.13.0` |

MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot).

**Proposed changes to behavior should be submitted there as MRs.**

---

### Release Notes

<details>
<summary>grafana/alloy (grafana/alloy)</summary>

### [`v1.13.0`](https://github.com/grafana/alloy/blob/HEAD/CHANGELOG.md#1130-2026-02-05)

[Compare Source](grafana/alloy@v1.12.2...v1.13.0)

##### ⚠ BREAKING CHANGES

- **otelcol:** Upgrade to OTel Collector v0.142.0
- **otelcol.receiver.kafka:** The global `topic` attribute has been deleted; use the `topics` attributes inside the `logs`, `metrics`, and `traces` blocks instead.
- `otelcol.exporter` > `sending_queue` > `batch` > `min_size` changed from `8192` to `2000` and `max_size` changed from `0` to `3000`

##### Features 🌟

- Add a `virtual_node_peer_attributes` and `virtual_node_extra_label` arguments to `otelcol.connector.servicegraph` ([#&#8203;5058](grafana/alloy#5058)) ([20900c6](grafana/alloy@20900c6))
- Add an `otelcol.processor.metric_start_time` component ([#&#8203;5342](grafana/alloy#5342)) ([3fb13ac](grafana/alloy@3fb13ac))
- Add job level `period`, `length`, and `add_cloudwatch_timestamp` options and labels\_snake\_case to CW exporter \[backport] ([#&#8203;5355](grafana/alloy#5355)) ([60d73b7](grafana/alloy@60d73b7))
- Add missing configuration parameter `deployment_name_from_replicaset` to k8sattributes processor ([#&#8203;5183](grafana/alloy#5183)) ([b54ca77](grafana/alloy@b54ca77))
- Add parcas symbols upload to pyroscope.ebpf ([#&#8203;4948](grafana/alloy#4948)) ([30f2242](grafana/alloy@30f2242))
- Add sharding for loki.write ([#&#8203;4882](grafana/alloy#4882)) ([7570d65](grafana/alloy@7570d65))
- Add unexposed otel engine and extension to codebase and change build structure ([#&#8203;5114](grafana/alloy#5114)) ([6438176](grafana/alloy@6438176))
- **beyla.ebpf:** Add meta\_cache\_address to beyla.ebpf.attributes.kubernetes ([#&#8203;4871](grafana/alloy#4871)) ([08796f8](grafana/alloy@08796f8))
- **beyla.ebpf:** Upgrade Beyla to v2.8.5 ([f1f457f](grafana/alloy@f1f457f))
- Change the defaults for `sending_queue` > `batch` block inside `otelcol.exporter` components ([#&#8203;5061](grafana/alloy#5061)) ([714a2ed](grafana/alloy@714a2ed))
- **cluster:** Support DNS discovery mode prefixes in --cluster.join-addresses flag ([#&#8203;5034](grafana/alloy#5034)) ([08796f8](grafana/alloy@08796f8))
- **converter:** Update promtail converter to use file\_match block for loki.source.file ([#&#8203;4791](grafana/alloy#4791)) ([08796f8](grafana/alloy@08796f8))
- Database\_observability: add health check collector for postgres component ([#&#8203;5222](grafana/alloy#5222)) ([80917b1](grafana/alloy@80917b1))
- Database\_observability: expose `exclude_schemas` and `exclude_databases` settings ([#&#8203;5334](grafana/alloy#5334)) ([37656f8](grafana/alloy@37656f8))
- Database\_observability: support Azure cloud provider config data ([#&#8203;5245](grafana/alloy#5245)) ([d7a469f](grafana/alloy@d7a469f))
- Database\_observability: support Azure privatelink db name ([#&#8203;5260](grafana/alloy#5260)) ([22e4991](grafana/alloy@22e4991))
- Database\_observability.mysql: support excluding schemas in all collectors \[backport] ([#&#8203;5380](grafana/alloy#5380)) ([d67268c](grafana/alloy@d67268c))
- Database\_observability.postgres: support excluding DBs in all collectors \[backport] ([#&#8203;5383](grafana/alloy#5383)) ([165492c](grafana/alloy@165492c))
- **database\_observability:** Add health\_check collector to validate configuration ([#&#8203;5115](grafana/alloy#5115)) ([6d96740](grafana/alloy@6d96740))
- **database\_observability:** Always send explain plan log for each query including status ([#&#8203;4969](grafana/alloy#4969)) ([08796f8](grafana/alloy@08796f8))
- **database\_observability:** Append cloud provider information labels to metrics ([#&#8203;4942](grafana/alloy#4942)) ([08796f8](grafana/alloy@08796f8))
- **database\_observability:** Stop tracking own instrumentation queries ([#&#8203;4991](grafana/alloy#4991)) ([0b55557](grafana/alloy@0b55557))
- **deps:** Update Prometheus to v3.8.0 and Loki to v3.6.2 ([#&#8203;5035](grafana/alloy#5035)) ([08796f8](grafana/alloy@08796f8))
- Expose otel subcommand and add user-facing documentation ([#&#8203;5244](grafana/alloy#5244)) ([93f20b8](grafana/alloy@93f20b8))
- Improve faro.receiver.sourcemaps caching strategy ([#&#8203;4337](grafana/alloy#4337)) ([41e655c](grafana/alloy@41e655c))
- **loki.process:** Mark stage.windowsevent as GA ([#&#8203;4879](grafana/alloy#4879)) ([08796f8](grafana/alloy@08796f8))
- **loki.source.file:** Refactor tailer to reduce resource usage ([#&#8203;5003](grafana/alloy#5003)) ([08796f8](grafana/alloy@08796f8))
- **loki.source.syslog:** Implement livedebugging support ([#&#8203;5216](grafana/alloy#5216)) ([e26badb](grafana/alloy@e26badb))
- **loki.source.syslog:** Support cisco-specific syslog fields ([#&#8203;5165](grafana/alloy#5165)) ([3230ba0](grafana/alloy@3230ba0))
- **loki.source.syslog:** Support raw format ([#&#8203;5140](grafana/alloy#5140)) ([923d127](grafana/alloy@923d127))
- **mimir.alerts.kubernetes:** Add `alertmanagerconfig_matcher` block to change the matcher strategy ([f2b9671](grafana/alloy@f2b9671))
- **mimir.alerts.kubernetes:** Add component to discover AlertmanagerConfig Kubernetes resources ([#&#8203;3448](grafana/alloy#3448)) ([08796f8](grafana/alloy@08796f8))
- **mixin:** Provide rendered mixin outputs ([#&#8203;5118](grafana/alloy#5118)) ([738b9fb](grafana/alloy@738b9fb))
- **otelcol.auth.basic:** Add htpasswd file based authentication ([#&#8203;3916](grafana/alloy#3916)) ([08796f8](grafana/alloy@08796f8))
- **otelcol.connector.count:** Add component to count spans, metrics, and logs ([#&#8203;4913](grafana/alloy#4913)) ([08796f8](grafana/alloy@08796f8))
- **otelcol.exporter.file:** Add `otelcol.exporter.file` component to write metrics, logs, and traces to disk with optional rotation, compression, and grouping by resource attribute ([#&#8203;4475](grafana/alloy#4475)) ([08796f8](grafana/alloy@08796f8))
- **otelcol.exporter.prometheus:** Add `honor_metadata` config argument \[backport] ([#&#8203;5439](grafana/alloy#5439)) ([32cb175](grafana/alloy@32cb175))
- **otelcol.receiver.awss3:** Add experimental receiver for traces stored in S3 ([#&#8203;4928](grafana/alloy#4928)) ([08796f8](grafana/alloy@08796f8))
- **otelcol.receiver.kafka:** Deprecate the `topic` attribute inside the `logs`, `metrics`, and `traces` blocks in favour of a new `topics` attribute. ([f1f457f](grafana/alloy@f1f457f))
- **otelcol.receiver.kafka:** Remove the global `topic` attribute ([f1f457f](grafana/alloy@f1f457f))
- **otelcol:** Upgrade to OTel Collector v0.142.0 ([f1f457f](grafana/alloy@f1f457f))
- **prometheus.echo:** Add component for local metrics inspection in exposition format ([#&#8203;4105](grafana/alloy#4105)) ([08796f8](grafana/alloy@08796f8))
- **prometheus.exporter.cloudwatch:** Add delay option to account for CloudWatch ingestion latency ([#&#8203;4936](grafana/alloy#4936)) ([08796f8](grafana/alloy@08796f8))
- **prometheus.exporter.databricks:** Add Databricks exporter component ([#&#8203;5054](grafana/alloy#5054)) ([4442836](grafana/alloy@4442836))
- **prometheus.operator.scrapeconfigs:** Add HTTP service discovery support via httpSDConfigs ([#&#8203;4826](grafana/alloy#4826)) ([08796f8](grafana/alloy@08796f8))
- **prometheus.remote\_write:** Add metadata support to `prometheus.remote_write` component, but only if Remote Write v2 has been configured. In order for `prometheus.remote_write` to receive metadata, `prometheus.scrape` must be configured with `honor_metadata = true`. ([#&#8203;5045](grafana/alloy#5045)) ([08796f8](grafana/alloy@08796f8))
- **prometheus:** Reduce resource overhead by removing unnecessary labelstore usage ([#&#8203;4890](grafana/alloy#4890)) ([08796f8](grafana/alloy@08796f8))
- **pyroscope.ebpf:** Add `lazy_mode` argument to the `pyroscope.ebpf` to defer eBPF profiler startup until there are targets to profile ([#&#8203;4824](grafana/alloy#4824)) ([08796f8](grafana/alloy@08796f8))
- **pyroscope.enrich:** Add experimental component to enrich profiles using discovery labels ([#&#8203;4797](grafana/alloy#4797)) ([08796f8](grafana/alloy@08796f8))
- Strip comments from normalized sql text in `database_observability.postgres` ([#&#8203;5005](grafana/alloy#5005)) ([a58721a](grafana/alloy@a58721a))
- Support setting default scrape limit for prometheus.operator components ([#&#8203;5280](grafana/alloy#5280)) ([40ffe08](grafana/alloy@40ffe08))
- **tracing:** Add send\_traceparent option to enable traceparent header propagation ([#&#8203;4874](grafana/alloy#4874)) ([08796f8](grafana/alloy@08796f8))

##### Bug Fixes 🐛

- Add support for compressed files for tail package \[backport] ([#&#8203;5415](grafana/alloy#5415)) ([311662f](grafana/alloy@311662f))
- Allow loki.source.file to read renaming lines of a deleted file before it tries to re open a new one  ([#&#8203;5270](grafana/alloy#5270)) ([f8b1de8](grafana/alloy@f8b1de8))
- Compute signatures from files so that loki.source.file can handle atomic writes ([#&#8203;5143](grafana/alloy#5143)) ([3090c4a](grafana/alloy@3090c4a))
- **converter:** Fix promtail converter to limit Kubernetes discovery to same node ([#&#8203;5046](grafana/alloy#5046)) ([08796f8](grafana/alloy@08796f8))
- Database\_observability: add Azure provider relabeling rules \[backport] ([#&#8203;5382](grafana/alloy#5382)) ([c121178](grafana/alloy@c121178))
- Database\_observability: allow setting limit for mysql query\_details ([#&#8203;5314](grafana/alloy#5314)) ([085f300](grafana/alloy@085f300))
- Database\_observability: fix race in postgres query samples test ([#&#8203;5315](grafana/alloy#5315)) ([4f01753](grafana/alloy@4f01753))
- Database\_observability: grant check only require SELECT *.* on perf\_schema ([#&#8203;5294](grafana/alloy#5294)) ([490017c](grafana/alloy@490017c))
- Database\_observability: reuse cloud provider regexes ([#&#8203;5262](grafana/alloy#5262)) ([6009c54](grafana/alloy@6009c54))
- Database\_observability: update BackendXID type to int64 to better map to PG xid \[backport] ([#&#8203;5373](grafana/alloy#5373)) ([1cb4b0f](grafana/alloy@1cb4b0f))
- Database\_observability: update BackendXmin type to int64 to better map to PG BIGINT ([#&#8203;5296](grafana/alloy#5296)) ([d45ccc0](grafana/alloy@d45ccc0))
- **database\_observability.mysql:** Add setup\_actors collector to avoid tracking own queries ([#&#8203;4978](grafana/alloy#4978)) ([08796f8](grafana/alloy@08796f8))
- **database\_observability.mysql:** Replace server\_id label with hash from server\_uuid and hostname ([#&#8203;4943](grafana/alloy#4943)) ([08796f8](grafana/alloy@08796f8))
- **database\_observability.postgres:** Fix schema\_details collection for mixed case table names ([#&#8203;4872](grafana/alloy#4872)) ([08796f8](grafana/alloy@08796f8))
- **database\_observability:** Improve postgres version parsing for explain plans in database\_observability component ([#&#8203;5131](grafana/alloy#5131)) ([23c7f37](grafana/alloy@23c7f37))
- **database\_observability:** Skip explain plans which lookup individual records and return no rows ([#&#8203;5203](grafana/alloy#5203)) ([b7c7cbb](grafana/alloy@b7c7cbb))
- **deps:** Update npm dependencies ([#&#8203;5190](grafana/alloy#5190)) ([cd027e2](grafana/alloy@cd027e2))
- **docker:** Fix log corruption for multiplexed long lines ([#&#8203;4713](grafana/alloy#4713)) ([08796f8](grafana/alloy@08796f8))
- Ensure the squid exporter wrapper properly brackets ipv6 addresses ([#&#8203;5199](grafana/alloy#5199)) ([ee23162](grafana/alloy@ee23162))
- Guard pyroscope otel profiler code with unix go build tag \[backport] ([#&#8203;5360](grafana/alloy#5360)) ([b1ecdb6](grafana/alloy@b1ecdb6))
- HTTP/2 is no longer always disabled in loki.write ([#&#8203;5267](grafana/alloy#5267)) ([1c97c2d](grafana/alloy@1c97c2d))
- Invalid handling of `id` in `foreach` when using discovery components ([#&#8203;5322](grafana/alloy#5322)) ([61fe184](grafana/alloy@61fe184)), closes [#&#8203;5297](grafana/alloy#5297)
- Issues when reading files using non UTF-8 encoding in loki.source.file  ([#&#8203;5259](grafana/alloy#5259)) ([4740276](grafana/alloy@4740276))
- **loki.process:** Implement encoding.TextMarshaler and encoding.TextUnmarshaler for TruncateSourceType \[backport] ([#&#8203;5428](grafana/alloy#5428)) ([3585393](grafana/alloy@3585393))
- **loki.process:** Remove extraneous output stage from cri stage pipeline ([#&#8203;5002](grafana/alloy#5002)) ([08796f8](grafana/alloy@08796f8))
- **loki.source.api:** Prevent dropping request when relabel rules drop a specific stream. ([#&#8203;4834](grafana/alloy#4834)) ([08796f8](grafana/alloy@08796f8))
- **loki.source.file:** Make sure position is recorded when component exit \[backport] ([#&#8203;5418](grafana/alloy#5418)) ([64fb278](grafana/alloy@64fb278))
- **loki.source.file:** Update `tail_from_end` to properly handle file encoding \[backport] ([#&#8203;5436](grafana/alloy#5436)) ([731e8e5](grafana/alloy@731e8e5))
- **mimir.alerts.kubernetes:** Fix crash when using Kubernetes secret or configmap in AlertmanagerConfig ([#&#8203;5010](grafana/alloy#5010)) ([08796f8](grafana/alloy@08796f8))
- **mixin:** Correct invalid queries in alloy logs dashboard  ([#&#8203;5123](grafana/alloy#5123)) ([ad8efd3](grafana/alloy@ad8efd3))
- Only alert on cluster drift when cluster\_name is set ([#&#8203;5181](grafana/alloy#5181)) ([8b6f056](grafana/alloy@8b6f056))
- **otelcol:** Allow configuration of force\_attempt\_http2 and default to true ([#&#8203;5050](grafana/alloy#5050)) ([08796f8](grafana/alloy@08796f8))
- Perform drain when file is deleted in tail package ([#&#8203;5139](grafana/alloy#5139)) ([2e48867](grafana/alloy@2e48867))
- Preserve meta labels in loki.source.podlogs ([#&#8203;5097](grafana/alloy#5097)) ([23d787c](grafana/alloy@23d787c))
- Prevent panic in import.git when update fails ([#&#8203;5198](grafana/alloy#5198)) ([577a591](grafana/alloy@577a591))
- **prometheus.exporter.gcp:** Preserve colons in extra\_filters filter expressions ([#&#8203;5018](grafana/alloy#5018)) ([08796f8](grafana/alloy@08796f8))
- **prometheus.operator:** Enable native histogram ingestion in internal scrape manager ([#&#8203;4750](grafana/alloy#4750)) ([08796f8](grafana/alloy@08796f8))
- **relabel:** Fix default values for source\_labels to prevent labeldrop issues ([#&#8203;5059](grafana/alloy#5059)) ([08796f8](grafana/alloy@08796f8))
- Remove Parca debug info upload from user configuration \[backport] ([#&#8203;5395](grafana/alloy#5395)) ([58eb9cc](grafana/alloy@58eb9cc))
- Revert doublestar v4 update \[backport] ([#&#8203;5435](grafana/alloy#5435)) ([0e9e615](grafana/alloy@0e9e615))
- Set content-encoding header in loki.write ([#&#8203;5346](grafana/alloy#5346)) ([ffd2bea](grafana/alloy@ffd2bea))
- Show correct fallback alloy version instead of v1.13.0 ([#&#8203;5110](grafana/alloy#5110)) ([e2e96e9](grafana/alloy@e2e96e9))
- Update to use doublestar v4 ([#&#8203;5148](grafana/alloy#5148)) ([d8f0b3e](grafana/alloy@d8f0b3e))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this MR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi45NS4yIiwidXBkYXRlZEluVmVyIjoiNDIuOTUuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiUmVub3ZhdGUgQm90IiwiYXV0b21hdGlvbjpib3QtYXV0aG9yZWQiLCJkZXBlbmRlbmN5LXR5cGU6Om1pbm9yIl19-->
dadezzz pushed a commit to dadezzz/kubernetes that referenced this pull request Feb 7, 2026
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [docker.io/grafana/alloy](https://github.com/grafana/alloy) | minor | `v1.12.2` → `v1.13.0` |

---

> ⚠️ **Warning**
>
> Some dependencies could not be looked up. Check the Dependency Dashboard for more information.

---

### Release Notes

<details>
<summary>grafana/alloy (docker.io/grafana/alloy)</summary>

### [`v1.13.0`](https://github.com/grafana/alloy/releases/tag/v1.13.0)

[Compare Source](grafana/alloy@v1.12.2...v1.13.0)

##### ⚠ BREAKING CHANGES

- **otelcol:** Upgrade to OTel Collector v0.142.0
- **otelcol.receiver.kafka:** The global `topic` attribute has been deleted; use the `topics` attributes inside the `logs`, `metrics`, and `traces` blocks instead.
- `otelcol.exporter` > `sending_queue` > `batch` > `min_size` changed from `8192` to `2000` and `max_size` changed from `0` to `3000`

##### Features 🌟

- Add a `virtual_node_peer_attributes` and `virtual_node_extra_label` arguments to `otelcol.connector.servicegraph` ([#&#8203;5058](grafana/alloy#5058)) ([20900c6](grafana/alloy@20900c6)) ([@&#8203;ptodev](https://github.com/ptodev), [@&#8203;clayton-cornell](https://github.com/clayton-cornell))
- Add an `otelcol.processor.metric_start_time` component ([#&#8203;5342](grafana/alloy#5342)) ([3fb13ac](grafana/alloy@3fb13ac)) ([@&#8203;ptodev](https://github.com/ptodev))
- Add job level `period`, `length`, and `add_cloudwatch_timestamp` options and labels\_snake\_case to CW exporter \[backport] ([#&#8203;5355](grafana/alloy#5355)) ([60d73b7](grafana/alloy@60d73b7)) ([@&#8203;tmeijn](https://github.com/tmeijn), [@&#8203;clayton-cornell](https://github.com/clayton-cornell))
- Add missing configuration parameter `deployment_name_from_replicaset` to k8sattributes processor ([#&#8203;5183](grafana/alloy#5183)) ([b54ca77](grafana/alloy@b54ca77)) ([@&#8203;dehaansa](https://github.com/dehaansa))
- Add parcas symbols upload to pyroscope.ebpf ([#&#8203;4948](grafana/alloy#4948)) ([30f2242](grafana/alloy@30f2242)) ([@&#8203;korniltsev-grafanista](https://github.com/korniltsev-grafanista), [@&#8203;claude](https://github.com/claude))
- Add sharding for loki.write ([#&#8203;4882](grafana/alloy#4882)) ([7570d65](grafana/alloy@7570d65)) ([@&#8203;kalleep](https://github.com/kalleep), [@&#8203;thampiotr](https://github.com/thampiotr))
- Add unexposed otel engine and extension to codebase and change build structure ([#&#8203;5114](grafana/alloy#5114)) ([6438176](grafana/alloy@6438176)) ([@&#8203;blewis12](https://github.com/blewis12))
- **beyla.ebpf:** Add meta\_cache\_address to beyla.ebpf.attributes.kubernetes ([#&#8203;4871](grafana/alloy#4871)) ([b43864b](grafana/alloy@b43864b)) ([@&#8203;skl](https://github.com/skl))
- **beyla.ebpf:** Upgrade Beyla to v2.8.5 ([f1f457f](grafana/alloy@f1f457f)) ([@&#8203;ptodev](https://github.com/ptodev), [@&#8203;clayton-cornell](https://github.com/clayton-cornell))
- Change the defaults for `sending_queue` > `batch` block inside `otelcol.exporter` components ([#&#8203;5061](grafana/alloy#5061)) ([714a2ed](grafana/alloy@714a2ed)) ([@&#8203;ptodev](https://github.com/ptodev))
- **cluster:** Support DNS discovery mode prefixes in --cluster.join-addresses flag ([#&#8203;5034](grafana/alloy#5034)) ([d2fda91](grafana/alloy@d2fda91)) ([@&#8203;x1unix](https://github.com/x1unix))
- **converter:** Update promtail converter to use file\_match block for loki.source.file ([#&#8203;4791](grafana/alloy#4791)) ([a42f386](grafana/alloy@a42f386)) ([@&#8203;kalleep](https://github.com/kalleep))
- Database\_observability: add health check collector for postgres component ([#&#8203;5222](grafana/alloy#5222)) ([80917b1](grafana/alloy@80917b1)) ([@&#8203;matthewnolf](https://github.com/matthewnolf))
- Database\_observability: expose `exclude_schemas` and `exclude_databases` settings ([#&#8203;5334](grafana/alloy#5334)) ([37656f8](grafana/alloy@37656f8)) ([@&#8203;cristiangreco](https://github.com/cristiangreco))
- Database\_observability: support Azure cloud provider config data ([#&#8203;5245](grafana/alloy#5245)) ([d7a469f](grafana/alloy@d7a469f)) ([@&#8203;cristiangreco](https://github.com/cristiangreco))
- Database\_observability: support Azure privatelink db name ([#&#8203;5260](grafana/alloy#5260)) ([22e4991](grafana/alloy@22e4991)) ([@&#8203;cristiangreco](https://github.com/cristiangreco))
- Database\_observability.mysql: support excluding schemas in all collectors \[backport] ([#&#8203;5380](grafana/alloy#5380)) ([d67268c](grafana/alloy@d67268c)) ([@&#8203;cristiangreco](https://github.com/cristiangreco))
- Database\_observability.postgres: support excluding DBs in all collectors \[backport] ([#&#8203;5383](grafana/alloy#5383)) ([165492c](grafana/alloy@165492c)) ([@&#8203;cristiangreco](https://github.com/cristiangreco))
- **database\_observability:** Add health\_check collector to validate configuration ([#&#8203;5115](grafana/alloy#5115)) ([6d96740](grafana/alloy@6d96740)) ([@&#8203;matthewnolf](https://github.com/matthewnolf))
- **database\_observability:** Always send explain plan log for each query including status ([#&#8203;4969](grafana/alloy#4969)) ([03a5a20](grafana/alloy@03a5a20)) ([@&#8203;rgeyer](https://github.com/rgeyer))
- **database\_observability:** Append cloud provider information labels to metrics ([#&#8203;4942](grafana/alloy#4942)) ([166829e](grafana/alloy@166829e)) ([@&#8203;matthewnolf](https://github.com/matthewnolf))
- **database\_observability:** Stop tracking own instrumentation queries ([#&#8203;4991](grafana/alloy#4991)) ([0b55557](grafana/alloy@0b55557)) ([@&#8203;cristiangreco](https://github.com/cristiangreco))
- **deps:** Update Prometheus to v3.8.0 and Loki to v3.6.2 ([#&#8203;5035](grafana/alloy#5035)) ([01c4a62](grafana/alloy@01c4a62)) ([@&#8203;thampiotr](https://github.com/thampiotr))
- Expose otel subcommand and add user-facing documentation ([#&#8203;5244](grafana/alloy#5244)) ([93f20b8](grafana/alloy@93f20b8)) ([@&#8203;blewis12](https://github.com/blewis12), [@&#8203;thampiotr](https://github.com/thampiotr), [@&#8203;clayton-cornell](https://github.com/clayton-cornell))
- Improve faro.receiver.sourcemaps caching strategy ([#&#8203;4337](grafana/alloy#4337)) ([41e655c](grafana/alloy@41e655c)) ([@&#8203;mateagluhak](https://github.com/mateagluhak), [@&#8203;clayton-cornell](https://github.com/clayton-cornell))
- **loki.process:** Mark stage.windowsevent as GA ([#&#8203;4879](grafana/alloy#4879)) ([22de0cf](grafana/alloy@22de0cf)) ([@&#8203;kgeckhart](https://github.com/kgeckhart))
- **loki.source.file:** Refactor tailer to reduce resource usage ([#&#8203;5003](grafana/alloy#5003)) ([688da66](grafana/alloy@688da66)) ([@&#8203;kalleep](https://github.com/kalleep))
- **loki.source.syslog:** Implement livedebugging support ([#&#8203;5216](grafana/alloy#5216)) ([e26badb](grafana/alloy@e26badb)) ([@&#8203;x1unix](https://github.com/x1unix), [@&#8203;dehaansa](https://github.com/dehaansa))
- **loki.source.syslog:** Support cisco-specific syslog fields ([#&#8203;5165](grafana/alloy#5165)) ([3230ba0](grafana/alloy@3230ba0)) ([@&#8203;x1unix](https://github.com/x1unix))
- **loki.source.syslog:** Support raw format ([#&#8203;5140](grafana/alloy#5140)) ([923d127](grafana/alloy@923d127)) ([@&#8203;x1unix](https://github.com/x1unix), [@&#8203;clayton-cornell](https://github.com/clayton-cornell))
- **mimir.alerts.kubernetes:** Add `alertmanagerconfig_matcher` block to change the matcher strategy ([f2b9671](grafana/alloy@f2b9671)) ([@&#8203;timonegk](https://github.com/timonegk), [@&#8203;ptodev](https://github.com/ptodev), [@&#8203;clayton-cornell](https://github.com/clayton-cornell))
- **mimir.alerts.kubernetes:** Add component to discover AlertmanagerConfig Kubernetes resources ([#&#8203;3448](grafana/alloy#3448)) ([6f2396e](grafana/alloy@6f2396e)) ([@&#8203;ptodev](https://github.com/ptodev))
- **mixin:** Provide rendered mixin outputs ([#&#8203;5118](grafana/alloy#5118)) ([738b9fb](grafana/alloy@738b9fb)) ([@&#8203;thampiotr](https://github.com/thampiotr))
- **otelcol.auth.basic:** Add htpasswd file based authentication ([#&#8203;3916](grafana/alloy#3916)) ([c564d09](grafana/alloy@c564d09)) ([@&#8203;pkarakal](https://github.com/pkarakal))
- **otelcol.connector.count:** Add component to count spans, metrics, and logs ([#&#8203;4913](grafana/alloy#4913)) ([b1cb806](grafana/alloy@b1cb806)) ([@&#8203;hhertout](https://github.com/hhertout))
- **otelcol.exporter.file:** Add `otelcol.exporter.file` component to write metrics, logs, and traces to disk with optional rotation, compression, and grouping by resource attribute ([#&#8203;4475](grafana/alloy#4475)) ([1aef0ac](grafana/alloy@1aef0ac)) ([@&#8203;madhub](https://github.com/madhub))
- **otelcol.exporter.prometheus:** Add `honor_metadata` config argument \[backport] ([#&#8203;5439](grafana/alloy#5439)) ([32cb175](grafana/alloy@32cb175))
- **otelcol.receiver.awss3:** Add experimental receiver for traces stored in S3 ([#&#8203;4928](grafana/alloy#4928)) ([bc3885b](grafana/alloy@bc3885b)) ([@&#8203;x1unix](https://github.com/x1unix))
- **otelcol.receiver.kafka:** Deprecate the `topic` attribute inside the `logs`, `metrics`, and `traces` blocks in favour of a new `topics` attribute. ([f1f457f](grafana/alloy@f1f457f)) ([@&#8203;ptodev](https://github.com/ptodev), [@&#8203;clayton-cornell](https://github.com/clayton-cornell))
- **otelcol.receiver.kafka:** Remove the global `topic` attribute ([f1f457f](grafana/alloy@f1f457f)) ([@&#8203;ptodev](https://github.com/ptodev), [@&#8203;clayton-cornell](https://github.com/clayton-cornell))
- **otelcol:** Upgrade to OTel Collector v0.142.0 ([f1f457f](grafana/alloy@f1f457f)) ([@&#8203;ptodev](https://github.com/ptodev), [@&#8203;clayton-cornell](https://github.com/clayton-cornell))
- **prometheus.echo:** Add component for local metrics inspection in exposition format ([#&#8203;4105](grafana/alloy#4105)) ([7f6d0d2](grafana/alloy@7f6d0d2)) ([@&#8203;iamrajiv](https://github.com/iamrajiv))
- **prometheus.exporter.cloudwatch:** Add delay option to account for CloudWatch ingestion latency ([#&#8203;4936](grafana/alloy#4936)) ([1ab7f12](grafana/alloy@1ab7f12)) ([@&#8203;tmeijn](https://github.com/tmeijn))
- **prometheus.exporter.databricks:** Add Databricks exporter component ([#&#8203;5054](grafana/alloy#5054)) ([4442836](grafana/alloy@4442836)) ([@&#8203;aalhour](https://github.com/aalhour), [@&#8203;clayton-cornell](https://github.com/clayton-cornell))
- **prometheus.operator.scrapeconfigs:** Add HTTP service discovery support via httpSDConfigs ([#&#8203;4826](grafana/alloy#4826)) ([0d0fb65](grafana/alloy@0d0fb65)) ([@&#8203;QuentinBisson](https://github.com/QuentinBisson))
- **prometheus.remote\_write:** Add metadata support to `prometheus.remote_write` component, but only if Remote Write v2 has been configured. In order for `prometheus.remote_write` to receive metadata, `prometheus.scrape` must be configured with `honor_metadata = true`. ([#&#8203;5045](grafana/alloy#5045)) ([74d424b](grafana/alloy@74d424b)) ([@&#8203;ptodev](https://github.com/ptodev))
- **prometheus:** Reduce resource overhead by removing unnecessary labelstore usage ([#&#8203;4890](grafana/alloy#4890)) ([b89f510](grafana/alloy@b89f510)) ([@&#8203;kgeckhart](https://github.com/kgeckhart))
- **pyroscope.ebpf:** Add `lazy_mode` argument to the `pyroscope.ebpf` to defer eBPF profiler startup until there are targets to profile ([#&#8203;4824](grafana/alloy#4824)) ([2eb281c](grafana/alloy@2eb281c)) ([@&#8203;luweglarz](https://github.com/luweglarz))
- **pyroscope.enrich:** Add experimental component to enrich profiles using discovery labels ([#&#8203;4797](grafana/alloy#4797)) ([cc7448f](grafana/alloy@cc7448f)) ([@&#8203;AndreZiviani](https://github.com/AndreZiviani))
- Strip comments from normalized sql text in `database_observability.postgres` ([#&#8203;5005](grafana/alloy#5005)) ([a58721a](grafana/alloy@a58721a)) ([@&#8203;cristiangreco](https://github.com/cristiangreco))
- Support setting default scrape limit for prometheus.operator components ([#&#8203;5280](grafana/alloy#5280)) ([40ffe08](grafana/alloy@40ffe08)) ([@&#8203;dehaansa](https://github.com/dehaansa))
- **tracing:** Add send\_traceparent option to enable traceparent header propagation ([#&#8203;4874](grafana/alloy#4874)) ([3c4b4f6](grafana/alloy@3c4b4f6)) ([@&#8203;MyDigitalLife](https://github.com/MyDigitalLife))

##### Bug Fixes 🐛

- Add support for compressed files for tail package \[backport] ([#&#8203;5415](grafana/alloy#5415)) ([311662f](grafana/alloy@311662f)) ([@&#8203;kalleep](https://github.com/kalleep))
- Allow loki.source.file to read renaming lines of a deleted file before it tries to re open a new one  ([#&#8203;5270](grafana/alloy#5270)) ([f8b1de8](grafana/alloy@f8b1de8)) ([@&#8203;kalleep](https://github.com/kalleep))
- Compute signatures from files so that loki.source.file can handle atomic writes ([#&#8203;5143](grafana/alloy#5143)) ([3090c4a](grafana/alloy@3090c4a)) ([@&#8203;kalleep](https://github.com/kalleep))
- **converter:** Fix promtail converter to limit Kubernetes discovery to same node ([#&#8203;5046](grafana/alloy#5046)) ([27a5717](grafana/alloy@27a5717)) ([@&#8203;dehaansa](https://github.com/dehaansa))
- Database\_observability: add Azure provider relabeling rules \[backport] ([#&#8203;5382](grafana/alloy#5382)) ([c121178](grafana/alloy@c121178)) ([@&#8203;cristiangreco](https://github.com/cristiangreco))
- Database\_observability: allow setting limit for mysql query\_details ([#&#8203;5314](grafana/alloy#5314)) ([085f300](grafana/alloy@085f300)) ([@&#8203;cristiangreco](https://github.com/cristiangreco))
- Database\_observability: fix race in postgres query samples test ([#&#8203;5315](grafana/alloy#5315)) ([4f01753](grafana/alloy@4f01753)) ([@&#8203;cristiangreco](https://github.com/cristiangreco))
- Database\_observability: grant check only require SELECT *.* on perf\_schema ([#&#8203;5294](grafana/alloy#5294)) ([490017c](grafana/alloy@490017c)) ([@&#8203;matthewnolf](https://github.com/matthewnolf))
- Database\_observability: reuse cloud provider regexes ([#&#8203;5262](grafana/alloy#5262)) ([6009c54](grafana/alloy@6009c54)) ([@&#8203;cristiangreco](https://github.com/cristiangreco))
- Database\_observability: update BackendXID type to int64 to better map to PG xid \[backport] ([#&#8203;5373](grafana/alloy#5373)) ([1cb4b0f](grafana/alloy@1cb4b0f)) ([@&#8203;matthewnolf](https://github.com/matthewnolf))
- Database\_observability: update BackendXmin type to int64 to better map to PG BIGINT ([#&#8203;5296](grafana/alloy#5296)) ([d45ccc0](grafana/alloy@d45ccc0)) ([@&#8203;matthewnolf](https://github.com/matthewnolf))
- **database\_observability.mysql:** Add setup\_actors collector to avoid tracking own queries ([#&#8203;4978](grafana/alloy#4978)) ([1d34414](grafana/alloy@1d34414)) ([@&#8203;cristiangreco](https://github.com/cristiangreco))
- **database\_observability.mysql:** Replace server\_id label with hash from server\_uuid and hostname ([#&#8203;4943](grafana/alloy#4943)) ([51107ca](grafana/alloy@51107ca)) ([@&#8203;gaantunes](https://github.com/gaantunes))
- **database\_observability.postgres:** Fix schema\_details collection for mixed case table names ([#&#8203;4872](grafana/alloy#4872)) ([7d0f15e](grafana/alloy@7d0f15e)) ([@&#8203;fridgepoet](https://github.com/fridgepoet))
- **database\_observability:** Improve postgres version parsing for explain plans in database\_observability component ([#&#8203;5131](grafana/alloy#5131)) ([23c7f37](grafana/alloy@23c7f37)) ([@&#8203;rgeyer](https://github.com/rgeyer))
- **database\_observability:** Skip explain plans which lookup individual records and return no rows ([#&#8203;5203](grafana/alloy#5203)) ([b7c7cbb](grafana/alloy@b7c7cbb)) ([@&#8203;rgeyer](https://github.com/rgeyer))
- **deps:** Update npm dependencies ([#&#8203;5190](grafana/alloy#5190)) ([cd027e2](grafana/alloy@cd027e2)) ([@&#8203;jharvey10](https://github.com/jharvey10))
- **docker:** Fix log corruption for multiplexed long lines ([#&#8203;4713](grafana/alloy#4713)) ([cccbda7](grafana/alloy@cccbda7)) ([@&#8203;axd1x8a](https://github.com/axd1x8a))
- Ensure the squid exporter wrapper properly brackets ipv6 addresses ([#&#8203;5199](grafana/alloy#5199)) ([ee23162](grafana/alloy@ee23162)) ([@&#8203;dehaansa](https://github.com/dehaansa))
- Guard pyroscope otel profiler code with unix go build tag \[backport] ([#&#8203;5360](grafana/alloy#5360)) ([b1ecdb6](grafana/alloy@b1ecdb6)) ([@&#8203;korniltsev-grafanista](https://github.com/korniltsev-grafanista))
- HTTP/2 is no longer always disabled in loki.write ([#&#8203;5267](grafana/alloy#5267)) ([1c97c2d](grafana/alloy@1c97c2d)) ([@&#8203;kalleep](https://github.com/kalleep))
- Invalid handling of `id` in `foreach` when using discovery components ([#&#8203;5322](grafana/alloy#5322)) ([61fe184](grafana/alloy@61fe184)), closes [#&#8203;5297](grafana/alloy#5297) ([@&#8203;thampiotr](https://github.com/thampiotr))
- Issues when reading files using non UTF-8 encoding in loki.source.file  ([#&#8203;5259](grafana/alloy#5259)) ([4740276](grafana/alloy@4740276)) ([@&#8203;kalleep](https://github.com/kalleep))
- **loki.process:** Implement encoding.TextMarshaler and encoding.TextUnmarshaler for TruncateSourceType \[backport] ([#&#8203;5428](grafana/alloy#5428)) ([3585393](grafana/alloy@3585393)) ([@&#8203;kalleep](https://github.com/kalleep))
- **loki.process:** Remove extraneous output stage from cri stage pipeline ([#&#8203;5002](grafana/alloy#5002)) ([f2f08fc](grafana/alloy@f2f08fc)) ([@&#8203;kalleep](https://github.com/kalleep))
- **loki.source.api:** Prevent dropping request when relabel rules drop a specific stream. ([#&#8203;4834](grafana/alloy#4834)) ([74653ac](grafana/alloy@74653ac)) ([@&#8203;kalleep](https://github.com/kalleep))
- **loki.source.file:** Make sure position is recorded when component exit \[backport] ([#&#8203;5418](grafana/alloy#5418)) ([64fb278](grafana/alloy@64fb278)) ([@&#8203;kalleep](https://github.com/kalleep))
- **loki.source.file:** Update `tail_from_end` to properly handle file encoding \[backport] ([#&#8203;5436](grafana/alloy#5436)) ([731e8e5](grafana/alloy@731e8e5)) ([@&#8203;kalleep](https://github.com/kalleep))
- **mimir.alerts.kubernetes:** Fix crash when using Kubernetes secret or configmap in AlertmanagerConfig ([#&#8203;5010](grafana/alloy#5010)) ([9052910](grafana/alloy@9052910)) ([@&#8203;synthe102](https://github.com/synthe102))
- **mixin:** Correct invalid queries in alloy logs dashboard  ([#&#8203;5123](grafana/alloy#5123)) ([ad8efd3](grafana/alloy@ad8efd3)) ([@&#8203;thampiotr](https://github.com/thampiotr))
- Only alert on cluster drift when cluster\_name is set ([#&#8203;5181](grafana/alloy#5181)) ([8b6f056](grafana/alloy@8b6f056)) ([@&#8203;dehaansa](https://github.com/dehaansa))
- **otelcol:** Allow configuration of force\_attempt\_http2 and default to true ([#&#8203;5050](grafana/alloy#5050)) ([ff849f4](grafana/alloy@ff849f4)) ([@&#8203;dehaansa](https://github.com/dehaansa))
- Perform drain when file is deleted in tail package ([#&#8203;5139](grafana/alloy#5139)) ([2e48867](grafana/alloy@2e48867)) ([@&#8203;kalleep](https://github.com/kalleep))
- Preserve meta labels in loki.source.podlogs ([#&#8203;5097](grafana/alloy#5097)) ([23d787c](grafana/alloy@23d787c)) ([@&#8203;kalleep](https://github.com/kalleep))
- Prevent panic in import.git when update fails ([#&#8203;5198](grafana/alloy#5198)) ([577a591](grafana/alloy@577a591)) ([@&#8203;dehaansa](https://github.com/dehaansa))
- **prometheus.exporter.gcp:** Preserve colons in extra\_filters filter expressions ([#&#8203;5018](grafana/alloy#5018)) ([398365d](grafana/alloy@398365d)) ([@&#8203;Kim-Yukyung](https://github.com/Kim-Yukyung))
- **prometheus.operator:** Enable native histogram ingestion in internal scrape manager ([#&#8203;4750](grafana/alloy#4750)) ([86b3c7d](grafana/alloy@86b3c7d)) ([@&#8203;dehaansa](https://github.com/dehaansa))
- **relabel:** Fix default values for source\_labels to prevent labeldrop issues ([#&#8203;5059](grafana/alloy#5059)) ([d385cba](grafana/alloy@d385cba)) ([@&#8203;kalleep](https://github.com/kalleep))
- Remove Parca debug info upload from user configuration \[backport] ([#&#8203;5395](grafana/alloy#5395)) ([58eb9cc](grafana/alloy@58eb9cc))
- Revert doublestar v4 update \[backport] ([#&#8203;5435](grafana/alloy#5435)) ([0e9e615](grafana/alloy@0e9e615)) ([@&#8203;kalleep](https://github.com/kalleep))
- Set content-encoding header in loki.write ([#&#8203;5346](grafana/alloy#5346)) ([ffd2bea](grafana/alloy@ffd2bea)) ([@&#8203;kalleep](https://github.com/kalleep))
- Show correct fallback alloy version instead of v1.13.0 ([#&#8203;5110](grafana/alloy#5110)) ([e2e96e9](grafana/alloy@e2e96e9)) ([@&#8203;jharvey10](https://github.com/jharvey10))
- Update to use doublestar v4 ([#&#8203;5148](grafana/alloy#5148)) ([d8f0b3e](grafana/alloy@d8f0b3e)) ([@&#8203;kalleep](https://github.com/kalleep))

#### Upgrading

Read the [release notes] for specific instructions on upgrading from older versions:

[release notes]: https://grafana.com/docs/alloy/v1.13/release-notes/

#### Installation

Refer to our [installation guide] for how to install Grafana Alloy.

[installation guide]: https://grafana.com/docs/alloy/v1.13/get-started/install/

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi45Mi4xMiIsInVwZGF0ZWRJblZlciI6IjQyLjkyLjEyIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: Renovate Bot <renovate@zarantonello.dev>
Co-committed-by: Renovate Bot <renovate@zarantonello.dev>
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Feb 10, 2026
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Feb 10, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

foreach id doesn't work with discovery.file

5 participants