Ashley Harrison
2da171595a
FieldColor: Add accessible color palettes ( #114424 )
...
* add viridis and others, allow passing interpolator directly to FieldColorSchemeMode
* fix bug
* be more defensive when getting the fieldcolor
* backend changes
* add d3-scale-chromatic to list of esModules
2025-12-01 09:51:11 +00:00
Alexander Akhmetov
32c1ad1b53
chore: update grafana-app-sdk to v0.48.4 ( #114563 )
...
(chore): update grafana-app-sdk to v0.48.4
2025-11-28 18:20:57 +01:00
Levente Balogh
930f7ce489
Dashboards: Cover the Switch variable in schema transformations - part 2. ( #114549 )
...
* feat: add v2alpha_1 conversion for the switch variable
* chore: gofmt fixes
* chore: update comments in tests
* chore: fix gofmt
* Update specs
* tests: update the v2alpha1 openapi snapshot
---------
Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com >
2025-11-28 14:21:33 +01:00
Stephanie Hingtgen
235ebbf5c5
Dashboards: Prevent panic in validation ( #114436 )
2025-11-25 20:27:38 +00:00
Will Browne
5694d6371e
Plugins: Upgrade github.com/grafana/grafana-plugin-sdk-go v0.283.0 => v0.284.0 ( #114400 )
...
* upgraded github.com/grafana/grafana-plugin-sdk-go v0.283.0 => v0.284.0
* make update-workspace
* apply fixes
* nolint for FieldTypeNullableJSON instead
* fmt
* fix lint issues
2025-11-25 15:46:07 +00:00
Matheus Macabu
a2f14d7306
Dependencies: Bump golang.org/x/crypto to v0.45.0 ( #114384 )
2025-11-25 10:43:20 +01:00
Oscar Kilhed
e09905df35
SchemaV2: Add library panel repeat options to v2 schema during conversion ( #114109 )
...
* Add library panel repeat options to v2 schema during conversion
* use any instead of interface{}
* change to common.Unstructured instead of byte[] for model field
* Fix the tests and let the library panel behavior fetch repeat options in public and scripted dashboards
* fix library panel differences between backend and frontend conversion
2025-11-21 11:41:03 +01:00
dependabot[bot]
e6a4e6fa4e
deps(go): bump github.com/prometheus/common from 0.67.1 to 0.67.2 in /pkg/promlib ( #113145 )
...
* deps(go): bump github.com/prometheus/common in /pkg/promlib
Bumps [github.com/prometheus/common](https://github.com/prometheus/common ) from 0.67.1 to 0.67.2.
- [Release notes](https://github.com/prometheus/common/releases )
- [Changelog](https://github.com/prometheus/common/blob/main/CHANGELOG.md )
- [Commits](https://github.com/prometheus/common/compare/v0.67.1...v0.67.2 )
---
updated-dependencies:
- dependency-name: github.com/prometheus/common
dependency-version: 0.67.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* deps(go): update github.com/prometheus/common to v0.67.3
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com >
2025-11-20 12:50:38 +00:00
maicon
5754d7fbad
chore: bump authlib/types to v0.0.0-20251119142549-be091cf2f4d4 ( #114177 )
...
* chore: bump authlib/types to v0.0.0-20251119142549-be091cf2f4d4
Signed-off-by: Maicon Costa <maiconscosta@gmail.com >
* Update Go Workspace
Signed-off-by: Maicon Costa <maiconscosta@gmail.com >
* Stop supporting deprecated namespace format in TestExtendedJWT_Authenticate
Signed-off-by: Maicon Costa <maiconscosta@gmail.com >
* Update go mod
Signed-off-by: Maicon Costa <maiconscosta@gmail.com >
---------
Signed-off-by: Maicon Costa <maiconscosta@gmail.com >
2025-11-19 16:05:20 -08:00
Ivan Ortega Alba
40fb421556
Schema: Implement v2beta1 → v2alpha1 conversion ( #113876 )
2025-11-19 15:56:33 +01:00
Gábor Farkas
fc18c9315e
update grafana/gafana-plugin-sdk-go dependency, and adjusted code accordingly ( #113922 )
...
* update dependencies
* query: stop handling _timeRange
* fixed unit test
2025-11-19 12:44:13 +01:00
Will Browne
374cb1b163
Plugins: Bump plugin SDK version to v0.282.0 ( #114079 )
...
bump plugin SDK version to v0.282.0
2025-11-18 10:42:58 +00:00
Costa Alexoglou
faabe2e46d
feat: add library elements to dash service ( #114016 )
2025-11-18 09:21:05 +01:00
Ryan McKinley
d0fe342cfe
Chore: Update app-sdk and k8s.io ( #113998 )
2025-11-17 13:34:15 +03:00
Ryan McKinley
1ef7c68f53
Chore: use context rather than golang.org/x/net/context ( #114000 )
2025-11-17 12:53:44 +03:00
Jean-Philippe Quéméner
9dd8c85448
feat(dashboards): add ttl based caching for datasources ( #113999 )
2025-11-17 09:48:17 +01:00
Jean-Philippe Quéméner
64c61c6916
fix(dashboards): use index for schema migration datasource lookups ( #113911 )
2025-11-17 08:56:54 +01:00
Jean-Philippe Quéméner
a8dda428ce
fix(dashboard): proper check int size ( #113766 )
2025-11-12 15:35:38 +00:00
Jean-Philippe Quéméner
16ddd536ab
fix(dashboard): proper check uint32 size ( #113760 )
2025-11-12 14:55:59 +00:00
Ivan Ortega Alba
e463781077
Schema: convert dashboards from v1beta1 to v2beta1 ( #109037 )
...
- Implement full conversion pipeline from v1beta1 → v2beta1
- Ensure frontend–backend parity for all dashboard serialization paths
- Add automatic data loss detection for conversions (panels, queries, annotations, links, variables)
- Extract atomic conversion functions for v0 → v1beta1 → v2alpha1 → v2beta1
- Introduce conversion metrics and detailed logging for loss tracking
- Normalize datasource resolution, defaults, and annotation processing
- Improve panel layout serialization and y-coordinate normalization
- Fix inconsistencies in nested panels and collapsed row behavior
- Refine variable handling:
- Filter refId from variable query specs
- Default variable refresh to 'never' (matches frontend)
- Fix constant and interval variable handling for missing queries
- Unify schema defaults (enable, hide, iconColor, editable, liveNow)
- Fix pluginId usage (UID vs type) and datasource references
- Fix metrics.go bug swallowing errors (return nil → return err)
- Add tests for version-specific conversion error handling
- Add data loss detection tests using source/target version comparison
- Clean up lint issues, legacy code, and redundant files
- Update OpenAPI snapshots and migrated dashboards
- Improve backend migrator to reuse datasource provider and match frontend logic
Co-authored-by: Haris Rozajac <haris.rozajac12@gmail.com >
Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com >
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com >
2025-11-12 11:43:46 +01:00
Galen Kistler
8149f586b3
Annotations: Multi-lane annotations rendering (lane per frame) ( #111559 )
...
* feat: support multi-lane annotations panel option
---------
Co-authored-by: Leon Sorokin <leeoniya@gmail.com >
2025-11-05 09:00:28 -06:00
Stephanie Hingtgen
4cecab3185
Dashboards: add isPublic to dto and remove public endpoint call ( #113334 )
...
---------
Co-authored-by: Matheus Macabu <macabu.matheus@gmail.com >
2025-11-04 16:57:05 -06:00
Paul Marbach
867e8bb98f
StatusHistory: Add e2e suite to confirm standard cases ( #113358 )
...
* StatusHistory: Add e2e suite to confirm standard cases
* update dev dashbord tests
* update CODEOWNERS
2025-11-04 16:21:30 -04:00
Levente Balogh
3c0409fe05
Dashboard Controls: Add annotations to the dashboard controls menu ( #112816 )
...
* feat: add a placement property to annotations model v2
* chore: update scenes to `v6.42.1`
* chore: run `make gen-apps`
* fix: cater for cases when there is no data layer
* chore: swagger clean
* chore: update api clients
* fix: correct type guard
* fix: display control labels in the default renderer as well for DashboardDataLayerSet
2025-11-03 11:33:44 +01:00
Paul Marbach
64da716a2e
Heatmap: Fix runtime error when no data is present, add e2e test ( #113242 )
...
* Heatmap: Fix runtime error when no xAxis is present, add e2e test
* update migration test fixture
* updates from review
2025-10-31 18:17:30 +00:00
Ryan McKinley
53aed34652
LibraryPanels: Support CRUD via apiserver ( #113035 )
2025-10-31 08:14:38 +03:00
Paul Marbach
c487952279
Table: Support DataLinks and Actions in SparklineCell ( #112244 )
...
* Table: Support DataLinks in SparklineCell
* add data links to sparkline gdev
* fix migrator test
* Clean up single action use case
2025-10-30 10:04:08 -04:00
Costa Alexoglou
bbfb8268d1
Provisioning: concurrent deletes in finalizers and 404 handling ( #113155 )
...
* fix: concurrent deletes in finalizers and 404 handling
* chore: feedback review
* fix: broken tests
2025-10-30 11:55:36 +01:00
Torkel Ödegaard
344fc5606f
PanelTimeCompare: Support saving time compare window ( #113150 )
...
* PanelTimeCompare: Support saving time compare window
* fix indentation
* Fix merge issue
* Update
* Update
* make gen-cue
---------
Co-authored-by: oscarkilhed <oscar.kilhed@grafana.com >
2025-10-30 10:50:05 +01:00
Paul Marbach
2a5ce2f031
Gauge: Fix migration version targeting and gdev dashboard ( #112974 )
2025-10-28 09:31:20 -04:00
Ryan McKinley
6783c7f998
Dashboards: Remove unused version types ( #113036 )
2025-10-27 09:12:31 -04:00
Ryan McKinley
5df4a3b9a3
Chore: Update app-sdk to v0.48.1 ( #113023 )
2025-10-27 09:34:26 +03:00
Paul Marbach
3f02f50cf9
StateTimeline: Complete E2E tests and add simple StateTimelineTooltip unit tests ( #112901 )
...
* StateTimeline: E2E tests for basic rendering, no data, and tooltip interactions
* Add tests for StateTimelineTooltip sub-component
* Remove unused import from state-timeline.spec.ts
* updates from PR review
2025-10-24 10:45:48 -04:00
Gábor Farkas
8ab7a20265
update dependency grafana/grafana-plugin-sdk-go to v0.281.0 ( #112726 )
...
* go get github.com/grafana/grafana-plugin-sdk-go@v0.281 .0
* make update-workspace
* updated failing unit test
* disable deprecation warnings
* datasources: allow underscore-prefixed local time range
* updated go.work.sum
2025-10-22 09:02:11 +02:00
Torkel Ödegaard
27ac08dd51
NewGauge: Fix segmented gauge with min value != 0 ( #112697 )
...
* NewGauge: Fix segmented gauge with min value != 0
* update gdev dashboard to exercise case
* update gdev dashboard with panel to exercise
* update
---------
Co-authored-by: Paul Marbach <paul.marbach@grafana.com >
2025-10-21 17:49:04 +02:00
Torkel Ödegaard
7df537c9fc
NewGauge: Adds new feature toggle named newGauge ( #112593 )
...
* NewGauge: Feature toggle and fixes
* Gauge: New migration test dashboard
* Update
* Updates
* Tweaked default barWidth
* Fix multi data links
* remove sizing options
* merge fix
* Update
* Restore
* Update
* Tweaked name font size logic
* use file snapshots instead of inline
---------
Co-authored-by: Paul Marbach <paul.marbach@grafana.com >
2025-10-20 18:33:19 +02:00
Torkel Ödegaard
e014f1ba0c
NewGauge: Adds scale labels (threshold labels) ( #112517 )
...
* Progress on scale label
* Progress
* Progress on labels
* Progress
* fix for segments
* Update
* Fix
* Update
* Some basic unit tests
* fixes
* fixes
2025-10-17 13:51:54 +02:00
Todd Treece
30d79476cd
App SDK: Update to v0.47.0 ( #112519 )
2025-10-16 15:41:41 +00:00
Dominik Prokop
26d36ec7ff
Fix v38 table panel overrides migration when defaults.custom is missing ( #112430 )
...
Dashboard Migration: Fix v38 table panel overrides migration when defaults.custom is missing
The v38 migration was incorrectly skipping field config overrides processing
when fieldConfig.defaults.custom didn't exist. This caused custom.displayMode
properties in overrides to not be migrated to the new custom.cellOptions format.
The fix ensures migrateOverrides is always called for table panels, regardless
of whether defaults.custom exists.
Added comprehensive unit test covering this edge case to prevent regression.
Issue discovered through comprehensive migration testing infrastructure.
2025-10-16 17:33:03 +02:00
Dominik Prokop
8449a2e4fb
Fix v16 grid position calculation for fractional spans ( #112428 )
...
Fix v16 grid position calculation for fractional spans
Match frontend span-to-width conversion logic by flooring span first,
then multiplying by width factor, instead of multiplying first then flooring.
This fixes dashboard layout inconsistencies where panels with fractional
spans (e.g. 5.929860088365242) would have different widths between
backend and frontend migration paths.
- Backend old: Math.floor(5.93 * 2) = Math.floor(11.86) = 11
- Backend new: Math.floor(5.93) * 2 = 5 * 2 = 10 (matches frontend)
Includes comprehensive unit test to prevent regression.
2025-10-16 17:32:42 +02:00
Ryan McKinley
a1a750d440
Chore: update dependencies in go.mod ( #112516 )
...
update go mod
2025-10-16 17:31:32 +03:00
Torkel Ödegaard
77e571b079
RadialGauge: ( #111841 )
...
* Radial gauge
* Update
* Update
* Update
* Updated
* Progress
* Spotlight
* Glow
* More effects
* Update
* Update
* Update
* Update
* Fix overflow
* Progress
* Progress
* Barwidth factor
* Update
* segmemnted
* Update
* Update
* Update
* Display processor
* Progress
* Updated
* Update
* rounded bars option
* added option for rounded
* Fixed gauge shape and segments
* Updated text and sparkline placmeent
* progress
* New spotlight effect is working
* refactorings
* Update
* hue working in gauge mode
* Update
* Update
* Progress
* Refactorings and sizing improvements
* Refactorings
* Progress
* Unify arc path
* Thresholdsbar
* Update
* Progress
* Update
* Close to mergable
* Unit tests
* Update
* Update
* Fix
* Update
* update
* simple test
* Fix
* Minor tweak
* added icon to shape
* Progress on color simplification
* progress on new color system
* Simplify color gradient modes around a single auto mode
* Progress on text sizing
* Fixes
* Update
* Update
* Hook up manual font size
* Restore old behavior in old panel
2025-10-16 15:53:38 +02:00
dependabot[bot]
a00bcb0154
deps(go): bump the go-opentelemetry-io group across 2 directories with 4 updates ( #112488 )
...
* deps(go): bump the go-opentelemetry-io group across 2 directories with 4 updates
Bumps the go-opentelemetry-io group with 4 updates in the / directory: [go.opentelemetry.io/collector/pdata](https://github.com/open-telemetry/opentelemetry-collector ), [go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace](https://github.com/open-telemetry/opentelemetry-go-contrib ), [go.opentelemetry.io/contrib/propagators/jaeger](https://github.com/open-telemetry/opentelemetry-go-contrib ) and [go.opentelemetry.io/contrib/samplers/jaegerremote](https://github.com/open-telemetry/opentelemetry-go-contrib ).
Bumps the go-opentelemetry-io group with 1 update in the /pkg/apiserver directory: [go.opentelemetry.io/contrib/propagators/jaeger](https://github.com/open-telemetry/opentelemetry-go-contrib ).
Updates `go.opentelemetry.io/collector/pdata` from 1.30.0 to 1.43.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-collector/releases )
- [Changelog](https://github.com/open-telemetry/opentelemetry-collector/blob/main/CHANGELOG-API.md )
- [Commits](https://github.com/open-telemetry/opentelemetry-collector/compare/pdata/v1.30.0...pdata/v1.43.0 )
Updates `go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace` from 0.62.0 to 0.63.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-go-contrib/releases )
- [Changelog](https://github.com/open-telemetry/opentelemetry-go-contrib/blob/main/CHANGELOG.md )
- [Commits](https://github.com/open-telemetry/opentelemetry-go-contrib/compare/zpages/v0.62.0...zpages/v0.63.0 )
Updates `go.opentelemetry.io/contrib/propagators/jaeger` from 1.37.0 to 1.38.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-go-contrib/releases )
- [Changelog](https://github.com/open-telemetry/opentelemetry-go-contrib/blob/main/CHANGELOG.md )
- [Commits](https://github.com/open-telemetry/opentelemetry-go-contrib/compare/v1.37.0...v1.38.0 )
Updates `go.opentelemetry.io/contrib/samplers/jaegerremote` from 0.31.0 to 0.32.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-go-contrib/releases )
- [Changelog](https://github.com/open-telemetry/opentelemetry-go-contrib/blob/main/CHANGELOG.md )
- [Commits](https://github.com/open-telemetry/opentelemetry-go-contrib/compare/zpages/v0.31.0...zpages/v0.32.0 )
Updates `go.opentelemetry.io/contrib/propagators/jaeger` from 1.37.0 to 1.38.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-go-contrib/releases )
- [Changelog](https://github.com/open-telemetry/opentelemetry-go-contrib/blob/main/CHANGELOG.md )
- [Commits](https://github.com/open-telemetry/opentelemetry-go-contrib/compare/v1.37.0...v1.38.0 )
---
updated-dependencies:
- dependency-name: go.opentelemetry.io/collector/pdata
dependency-version: 1.43.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: go-opentelemetry-io
- dependency-name: go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace
dependency-version: 0.63.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: go-opentelemetry-io
- dependency-name: go.opentelemetry.io/contrib/propagators/jaeger
dependency-version: 1.38.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: go-opentelemetry-io
- dependency-name: go.opentelemetry.io/contrib/samplers/jaegerremote
dependency-version: 0.32.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: go-opentelemetry-io
- dependency-name: go.opentelemetry.io/contrib/propagators/jaeger
dependency-version: 1.38.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: go-opentelemetry-io
...
Signed-off-by: dependabot[bot] <support@github.com >
* make update-workspace
Signed-off-by: Dave Henderson <dave.henderson@grafana.com >
---------
Signed-off-by: dependabot[bot] <support@github.com >
Signed-off-by: Dave Henderson <dave.henderson@grafana.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dave Henderson <dave.henderson@grafana.com >
2025-10-16 12:59:05 +00:00
Ivan Ortega Alba
ebd0d334bc
Dashboards: Fix preload field not being persisted via /v1beta1 ( #112475 )
2025-10-16 12:45:29 +02:00
dependabot[bot]
39031948b8
deps(go): bump golang.org/x/text from 0.29.0 to 0.30.0 ( #112462 )
...
* deps(go): bump golang.org/x/text from 0.29.0 to 0.30.0
Bumps [golang.org/x/text](https://github.com/golang/text ) from 0.29.0 to 0.30.0.
- [Release notes](https://github.com/golang/text/releases )
- [Commits](https://github.com/golang/text/compare/v0.29.0...v0.30.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/text
dependency-version: 0.30.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* make update-workspace
Signed-off-by: Dave Henderson <dave.henderson@grafana.com >
---------
Signed-off-by: dependabot[bot] <support@github.com >
Signed-off-by: Dave Henderson <dave.henderson@grafana.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dave Henderson <dave.henderson@grafana.com >
2025-10-15 20:07:00 +00:00
dependabot[bot]
4f4174a3d8
deps(go): bump github.com/grafana/pyroscope-go/godeltaprof from 0.1.8 to 0.1.9 ( #112464 )
...
* deps(go): bump github.com/grafana/pyroscope-go/godeltaprof
Bumps [github.com/grafana/pyroscope-go/godeltaprof](https://github.com/grafana/pyroscope-go ) from 0.1.8 to 0.1.9.
- [Release notes](https://github.com/grafana/pyroscope-go/releases )
- [Commits](https://github.com/grafana/pyroscope-go/compare/godeltaprof/v0.1.8...godeltaprof/v0.1.9 )
---
updated-dependencies:
- dependency-name: github.com/grafana/pyroscope-go/godeltaprof
dependency-version: 0.1.9
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* make update-workspace
Signed-off-by: Dave Henderson <dave.henderson@grafana.com >
---------
Signed-off-by: dependabot[bot] <support@github.com >
Signed-off-by: Dave Henderson <dave.henderson@grafana.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dave Henderson <dave.henderson@grafana.com >
2025-10-15 20:03:58 +00:00
Haris Rozajac
d9067b27eb
Dashboard Migrations: V2 - legacy services.filter and graphite panel type ( #112282 )
...
* migrate to v2
* Fix tests
* graphite panels should be auto-migrated
* lint
* Provisioning: Fix dashboard export to preserve original API version
* Add error handling for the edge case where conversion fails but no
storedVersion is available.
2025-10-15 10:34:12 -06:00
Haris Rozajac
e5ef29c202
Dashboard Migrations: V3 - no-op; remove v3 from DashboardMigrator.ts ( #112239 )
2025-10-14 18:39:24 -06:00
Haris Rozajac
01c4cb1fac
Dashboard Migrations: V4 - no-op and clean up dead code from DashboardMigrator.ts ( #112225 )
2025-10-14 14:38:31 -06:00
Haris Rozajac
f27900702c
Dashboard Migrations: V5 - no-op ( #112224 )
...
* migrate to v19
* migrate to v18
* Migration to be verified: v17 Convert minSpan to maxPerRow in panels
* Migration to be verified: 16 Grid layout migration
* Refactor v17 and v19 migrations to use shared helper functions
* Migration to be verified: 15 No-op migration for schema consistency
* Migration to be verified: 14 Shared crosshair to graph tooltip migration
* cleanup
* wip
* complete migration
* fix lint issues
* refactor and test with minimal graph config
* update tests
* migrate to v12
* extract defaults outside the func
* lint
* lint
* add missing showValues prop
* migrate to v11
* migrate to v10
* add test files
* update
* migrate to v9
* migrate to v8
* add context and fix latest version
* add context
* add context
* generate snapshots
* v13 should be no-op
* clean up
* fix tests
* add context
* snapshots
* generate snapshots
* update
* snapshots
* wip
* fix test
* remove nav when cleaning up defaults
* migrate to v6
* update comments
* migrate to v5
* remove v28
* remove singlestat migraiton from frontend migrator because this is an automigration
* remove unused function
* Remove v24 table plugin logic
* cleanup
* remove plugin version for automigrate as it was used only in v24 and v28 that have been removed
* cleanup
* update snapshot
* update snapshot
* update snapshot
* update snapshot
* update snapshot
---------
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com >
2025-10-14 07:53:13 -06:00