Compare commits

...

43 Commits

Author SHA1 Message Date
Todd Treece 07bb48e874 add storage test 2025-12-11 21:22:28 -05:00
Will Browne 306186c4ea Merge branch 'main' into wb/pluginmeta-local 2025-12-11 16:59:33 +00:00
Tobias Skarhed f63c2cb2dd Scopes: Don't use redirect if you're on an active scope navigation (#115149)
* Don't use redirectUrl if we are on an active scope navigation

* Remove superflous test
2025-12-11 17:42:47 +01:00
Tobias Skarhed fe4c615b3d Scopes: Sync nested scopes navigation open folders to URL (#114786)
* Sync nav_scope_path with url

* Let the current active scope remain if it is a child of the selected subscope

* Remove location updates based on nav_scope_path to maintain expanded folders

* Fix folder tests

* Remove console logs

* Better mock for changeScopes

* Update test to support the new calls

* Update test with function inputs

* Fix failinging test

* Add tests and add isEqual check for fetching new subscopes
2025-12-11 17:34:21 +01:00
grafana-pr-automation[bot] 02d3fd7b31 I18n: Download translations from Crowdin (#115123)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-11 16:31:02 +00:00
Jesse David Peterson 5dcfc19060 Table: Add title attribute to make truncated headings legible (#115155)
* fix(table): add HTML title attribute to make truncated headings legible

* fix(table): avoid redundant display name calculation

Co-authored-by: Paul Marbach <paul.marbach@grafana.com>

---------

Co-authored-by: Paul Marbach <paul.marbach@grafana.com>
2025-12-11 12:22:10 -04:00
Roberto Jiménez Sánchez 5bda17be3f Provisioning: Update provisioning docs to reflect kubernetesDashboards defaults to true (#115159)
Docs: Update provisioning docs to reflect kubernetesDashboards defaults to true

The kubernetesDashboards feature toggle now defaults to true, so users
don't need to explicitly enable it in their configuration. Updated
documentation and UI to reflect this:

- Removed kubernetesDashboards from configuration examples
- Added notes explaining it's enabled by default
- Clarified that users only need to take action if they've explicitly
  disabled it
- Kept validation checks to catch explicit disables

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-11 17:08:57 +01:00
Will Browne a28c70bbcc fix linter 2025-12-11 16:06:27 +00:00
Will Browne 1ebcd2319a undo var name change 2025-12-11 15:55:17 +00:00
Will Browne 5dc3767854 more tidying 2025-12-11 15:48:26 +00:00
Usman Ahmad bc88796e6e Created Troubleshooting guide for MySQL data source plugin (#114737)
* created troubleshooting guide for mysql data source plugin

Signed-off-by: Usman Ahmad <usman.ahmad@grafana.com>

* Apply suggestions from code review

thanks for the code review

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* rename file from _index.md to index.md

Signed-off-by: Usman Ahmad <usman.ahmad@grafana.com>

* Update docs/sources/datasources/mysql/troubleshoot/index.md

---------

Signed-off-by: Usman Ahmad <usman.ahmad@grafana.com>
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2025-12-11 16:42:09 +01:00
Will Browne 040dbfb5e3 tidy 2025-12-11 15:34:55 +00:00
Andres Torres 5d7b9c5050 fix(setting): Replacing dynamic client to reduce memory footprint (#115125) 2025-12-11 10:24:01 -05:00
Alexander Akhmetov 73bcfbcc74 Alerting: Collate alert_rule.namespace_uid column as binary (#115152)
Alerting: Collate namespace_uid column as binary
2025-12-11 16:05:13 +01:00
Will Browne 32d43f5b5d add gen files 2025-12-11 14:51:09 +00:00
Will Browne fef9c760a0 merge with main 2025-12-11 14:48:58 +00:00
Erik Sundell 4ab198b201 E2E Selectors: Fix package description (#115148)
dummie change
2025-12-11 14:00:54 +00:00
Erik Sundell 0c82f92539 NPM: Attempt to fix e2e-selectors dist-tag after OIDC migration (#115012)
* fetch oidc token from github

* use same approach as electron
2025-12-11 14:35:27 +01:00
Ivana Huckova 73de5f98e1 Assistant: Update origin for analyze-rule-menu-item (#115147)
* Assistant: Update origin for analyze-rule-menu-item

* Update origin, not test id
2025-12-11 13:06:09 +00:00
Oscar Kilhed b6ba8a0fd4 Dashboards: Make variables selectable in controls menu (#115092)
* Dashboard: Make variables selectable in controls menu and improve spacing

- Add selection support for variables in controls menu (onPointerDown handler and selection classes)
- Add padding to variables and annotations in controls menu (theme.spacing(1))
- Reduce menu container padding from 1.5 to 1
- Remove margins between menu items

* fix: remove unused imports in DashboardControlsMenu
2025-12-11 13:55:03 +01:00
Oscar Kilhed 350c3578c7 Dynamic dashboards: Update variable set state when variable hide property changes (#115094)
fix: update variable set state when variable hide property changes

When changing a variable's positioning to show in controls menu using the edit side pane, the state of dashboardControls does not immediately update. This makes it seem to the user that nothing was changed.

The issue was that when a variable's hide property changes, only the variable's state was updated, but not the parent SceneVariableSet state. Components that subscribe to the variable set state (like useDashboardControls) didn't detect the change because the variables array reference remained the same.

This fix updates the parent SceneVariableSet state when a variable's hide property changes, ensuring components that subscribe to the variable set will re-render immediately.

Co-authored-by: grafakus <marc.mignonsin@grafana.com>
2025-12-11 13:54:30 +01:00
Andres Martinez Gotor e6b5ece559 Plugins Preinstall: Fix URL parsing when includes basic auth (#115143)
Preinstall: Fix URL setting when includes basic auth
2025-12-11 13:38:02 +01:00
Ryan McKinley eef14d2cee Dependencies: update glob@npm for dependabot (#115146) 2025-12-11 12:33:34 +00:00
Anna Urbiztondo c71c0b33ee Docs: Configure Git Sync using CLI (#115068)
* WIP

* WIP

* Edits, Claude

* Prettier

* Update docs/sources/as-code/observability-as-code/provision-resources/git-sync-setup.md

Co-authored-by: Roberto Jiménez Sánchez <roberto.jimenez@grafana.com>

* Update docs/sources/as-code/observability-as-code/provision-resources/git-sync-setup.md

Co-authored-by: Roberto Jiménez Sánchez <roberto.jimenez@grafana.com>

* WIP

* Restructuring

* Minor tweaks

* Fix

* Update docs/sources/as-code/observability-as-code/provision-resources/git-sync-setup.md

Co-authored-by: Roberto Jiménez Sánchez <roberto.jimenez@grafana.com>

* Feedback

* Prettier

* Links

---------

Co-authored-by: Roberto Jiménez Sánchez <roberto.jimenez@grafana.com>
2025-12-11 11:27:36 +00:00
Lauren d568798c64 Alerting: Improve instance count display (#114997)
* Update button text to Show All if filters are enabled

* Show state in text if filters enabled

* resolve PR comments
2025-12-11 11:01:53 +00:00
Ryan McKinley 9bec62a080 Live: simplify dependencies (#115130) 2025-12-11 13:37:45 +03:00
Roberto Jiménez Sánchez 7fe3214f16 Provisioning: Add fieldSelector regression tests for Repository and Jobs (#115135) 2025-12-11 13:36:01 +03:00
Alexander Zobnin e2d12f4cce Zanzana: Refactor remote client initialization (#114142)
* Zanzana: Refactor remote client

* rename config field URL to Addr

* Instrument grpc queries

* fix duplicated field
2025-12-11 10:55:12 +01:00
Victor Marin d48455cd20 Dashboards: Panel non applicable filters optimization (#115132)
optimisations
2025-12-11 11:31:19 +02:00
Alexander Akhmetov 439d2c806c Alerting: Add folder_uid label to the grafana_alerting_rule_group_rules metric (#115129) 2025-12-11 09:30:55 +01:00
Ivan Ortega Alba 8aab6302c5 Fix conversion error shallowed and normalize conversion status (#115086)
* Fix the conversion shallowed error and normalize the conversion status

* Add unit tests to ensure all permutations data loss detection

* Fix counting issue
2025-12-11 08:01:31 +00:00
Torkel Ödegaard 33c5cbf4de Dashboards: Update edit button and share button (#115093)
* Dashboards: Update edit button and share button

* update translations
2025-12-11 08:54:50 +01:00
Ryan McKinley d686a49cf7 Preferences: Enable preferences APIserver (#115128) 2025-12-11 09:33:13 +02:00
Victor Marin cedf08c9ce DashboardDS: Fix datasource annotations not hiding on toggle hide (#115024)
* fix dashboard datasource annotations not hiding on toggle hide

* cleanup
2025-12-11 09:03:38 +02:00
Stephanie Hingtgen 5ca221743f Dashboards: Prevent query for ID 0; improve logging (#115120) 2025-12-11 00:02:52 -07:00
Will Browne 1fe9a38a2a add angular + translations 2025-11-27 15:04:20 +00:00
Will Browne 59bf7896f4 Merge branch 'main' into wb/pluginmeta-local 2025-11-27 10:40:45 +00:00
Will Browne 4b4ad544a8 Merge branch 'main' into wb/pluginmeta-local 2025-11-26 16:08:53 +00:00
Will Browne 7e3289f2c9 Merge branch 'main' into wb/pluginmeta-local 2025-11-26 12:24:17 +00:00
Will Browne 0d0b5b757b fix test + lint issues 2025-11-26 12:14:50 +00:00
Will Browne c49261cce2 fix another test 2025-11-26 11:54:12 +00:00
Will Browne d5efce72f3 fix tests 2025-11-26 11:48:13 +00:00
Will Browne 881c81f0b3 flesh out local for demo 2025-11-26 11:28:16 +00:00
544 changed files with 9152 additions and 3091 deletions
@@ -4,8 +4,6 @@ import (
"errors"
"fmt"
"k8s.io/apimachinery/pkg/conversion"
dashv0 "github.com/grafana/grafana/apps/dashboard/pkg/apis/dashboard/v0alpha1"
dashv1 "github.com/grafana/grafana/apps/dashboard/pkg/apis/dashboard/v1beta1"
dashv2alpha1 "github.com/grafana/grafana/apps/dashboard/pkg/apis/dashboard/v2alpha1"
@@ -121,6 +119,14 @@ func countPanelsV0V1(spec map[string]interface{}) int {
return count
}
// countTargetsFromPanel counts the number of targets/queries in a panel.
func countTargetsFromPanel(panelMap map[string]interface{}) int {
if targets, ok := panelMap["targets"].([]interface{}); ok {
return len(targets)
}
return 0
}
// countQueriesV0V1 counts data queries in v0alpha1 or v1beta1 dashboard spec
// Note: Row panels are layout containers and should not have queries.
// We ignore any queries on row panels themselves, but count queries in their collapsed panels.
@@ -145,9 +151,7 @@ func countQueriesV0V1(spec map[string]interface{}) int {
// Count queries in regular panels (NOT row panels)
if panelType != "row" {
if targets, ok := panelMap["targets"].([]interface{}); ok {
count += len(targets)
}
count += countTargetsFromPanel(panelMap)
}
// Count queries in collapsed panels inside row panels
@@ -155,9 +159,7 @@ func countQueriesV0V1(spec map[string]interface{}) int {
if collapsedPanels, ok := panelMap["panels"].([]interface{}); ok {
for _, cp := range collapsedPanels {
if cpMap, ok := cp.(map[string]interface{}); ok {
if targets, ok := cpMap["targets"].([]interface{}); ok {
count += len(targets)
}
count += countTargetsFromPanel(cpMap)
}
}
}
@@ -442,77 +444,3 @@ func collectDashboardStats(dashboard interface{}) dashboardStats {
}
return dashboardStats{}
}
// withConversionDataLossDetection wraps a conversion function to detect data loss
func withConversionDataLossDetection(sourceFuncName, targetFuncName string, conversionFunc func(a, b interface{}, scope conversion.Scope) error) func(a, b interface{}, scope conversion.Scope) error {
return func(a, b interface{}, scope conversion.Scope) error {
// Collect source statistics
var sourceStats dashboardStats
switch source := a.(type) {
case *dashv0.Dashboard:
if source.Spec.Object != nil {
sourceStats = collectStatsV0V1(source.Spec.Object)
}
case *dashv1.Dashboard:
if source.Spec.Object != nil {
sourceStats = collectStatsV0V1(source.Spec.Object)
}
case *dashv2alpha1.Dashboard:
sourceStats = collectStatsV2alpha1(source.Spec)
case *dashv2beta1.Dashboard:
sourceStats = collectStatsV2beta1(source.Spec)
}
// Execute the conversion
err := conversionFunc(a, b, scope)
if err != nil {
return err
}
// Collect target statistics
var targetStats dashboardStats
switch target := b.(type) {
case *dashv0.Dashboard:
if target.Spec.Object != nil {
targetStats = collectStatsV0V1(target.Spec.Object)
}
case *dashv1.Dashboard:
if target.Spec.Object != nil {
targetStats = collectStatsV0V1(target.Spec.Object)
}
case *dashv2alpha1.Dashboard:
targetStats = collectStatsV2alpha1(target.Spec)
case *dashv2beta1.Dashboard:
targetStats = collectStatsV2beta1(target.Spec)
}
// Detect if data was lost
if dataLossErr := detectConversionDataLoss(sourceStats, targetStats, sourceFuncName, targetFuncName); dataLossErr != nil {
getLogger().Error("Dashboard conversion data loss detected",
"sourceFunc", sourceFuncName,
"targetFunc", targetFuncName,
"sourcePanels", sourceStats.panelCount,
"targetPanels", targetStats.panelCount,
"sourceQueries", sourceStats.queryCount,
"targetQueries", targetStats.queryCount,
"sourceAnnotations", sourceStats.annotationCount,
"targetAnnotations", targetStats.annotationCount,
"sourceLinks", sourceStats.linkCount,
"targetLinks", targetStats.linkCount,
"error", dataLossErr,
)
return dataLossErr
}
getLogger().Debug("Dashboard conversion completed without data loss",
"sourceFunc", sourceFuncName,
"targetFunc", targetFuncName,
"panels", targetStats.panelCount,
"queries", targetStats.queryCount,
"annotations", targetStats.annotationCount,
"links", targetStats.linkCount,
)
return nil
}
}
File diff suppressed because it is too large Load Diff
@@ -237,5 +237,10 @@
"title": "V10 Table Thresholds Test",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -244,5 +244,10 @@
"title": "V10 Table Thresholds Test",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -206,5 +206,10 @@
}
]
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -213,5 +213,10 @@
}
]
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -203,5 +203,10 @@
}
]
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -216,5 +216,10 @@
}
]
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -351,5 +351,10 @@
"title": "V13 Graph Thresholds Migration Test",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -362,5 +362,10 @@
"title": "V13 Graph Thresholds Migration Test",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -129,5 +129,10 @@
"title": "Dashboard with minimal graph panel settings",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -132,5 +132,10 @@
"title": "Dashboard with minimal graph panel settings",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -210,5 +210,10 @@
}
]
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -217,5 +217,10 @@
}
]
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -1004,5 +1004,10 @@
}
]
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -1023,5 +1023,10 @@
}
]
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -223,5 +223,10 @@
}
]
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -231,5 +231,10 @@
}
]
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -1455,5 +1455,10 @@
}
]
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -1481,5 +1481,10 @@
}
]
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -719,5 +719,10 @@
"title": "V16 Grid Layout Migration Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -739,5 +739,10 @@
"title": "V16 Grid Layout Migration Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -1655,5 +1655,10 @@
}
]
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -1707,5 +1707,10 @@
}
]
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -636,5 +636,10 @@
"title": "V17 MinSpan to MaxPerRow Migration Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -657,5 +657,10 @@
"title": "V17 MinSpan to MaxPerRow Migration Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -401,5 +401,10 @@
"title": "V18 Gauge Options Migration Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -412,5 +412,10 @@
"title": "V18 Gauge Options Migration Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -434,5 +434,10 @@
"title": "V19 Panel Links Migration Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -447,5 +447,10 @@
"title": "V19 Panel Links Migration Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -354,5 +354,10 @@
}
]
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -365,5 +365,10 @@
}
]
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -426,5 +426,10 @@
"title": "V20 Variable Syntax Migration Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -437,5 +437,10 @@
"title": "V20 Variable Syntax Migration Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -401,5 +401,10 @@
"title": "V21 Data Links Series to Field Migration Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -412,5 +412,10 @@
"title": "V21 Data Links Series to Field Migration Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -123,5 +123,10 @@
"title": "V22 Table Panel Styles Test",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -126,5 +126,10 @@
"title": "V22 Table Panel Styles Test",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -374,5 +374,10 @@
}
]
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -391,5 +391,10 @@
}
]
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -1065,5 +1065,10 @@
"title": "No Title",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -1101,5 +1101,10 @@
"title": "No Title",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -217,5 +217,10 @@
}
]
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -226,5 +226,10 @@
}
]
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -240,5 +240,10 @@
"title": "No Title",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -247,5 +247,10 @@
"title": "No Title",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -207,5 +207,10 @@
}
]
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -211,5 +211,10 @@
}
]
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -131,5 +131,10 @@
}
]
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -134,5 +134,10 @@
}
]
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -393,5 +393,10 @@
}
]
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -406,5 +406,10 @@
}
]
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -622,5 +622,10 @@
"title": "V28 Singlestat and Variable Properties Migration Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -642,5 +642,10 @@
"title": "V28 Singlestat and Variable Properties Migration Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -435,5 +435,10 @@
}
]
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -458,5 +458,10 @@
}
]
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -294,5 +294,10 @@
"title": "V3 No-Op Migration - but tests ensuring panel IDs are unique",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -303,5 +303,10 @@
"title": "V3 No-Op Migration - but tests ensuring panel IDs are unique",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -689,5 +689,10 @@
"title": "V30 Value Mappings and Tooltip Options Migration Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -705,5 +705,10 @@
"title": "V30 Value Mappings and Tooltip Options Migration Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -669,5 +669,10 @@
"title": "V31 LabelsToFields Merge Migration Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -684,5 +684,10 @@
"title": "V31 LabelsToFields Merge Migration Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -310,5 +310,10 @@
}
]
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -320,5 +320,10 @@
}
]
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -720,5 +720,10 @@
"title": "V33 Panel Datasource Name to Ref Test",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -746,5 +746,10 @@
"title": "V33 Panel Datasource Name to Ref Test",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -1900,5 +1900,10 @@
"title": "CloudWatch Multiple Statistics Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -1964,5 +1964,10 @@
"title": "CloudWatch Multiple Statistics Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -595,5 +595,10 @@
"title": "X-Axis Visibility Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -612,5 +612,10 @@
"title": "X-Axis Visibility Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -1029,5 +1029,10 @@
}
]
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -1065,5 +1065,10 @@
}
]
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -629,5 +629,10 @@
"title": "V37 Legend Normalization Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -642,5 +642,10 @@
"title": "V37 Legend Normalization Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -659,5 +659,10 @@
"title": "V38 Table Migration Comprehensive Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -671,5 +671,10 @@
"title": "V38 Table Migration Comprehensive Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -659,5 +659,10 @@
"title": "V38 Table Migration Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -671,5 +671,10 @@
"title": "V38 Table Migration Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -586,5 +586,10 @@
"title": "V39 TimeSeriesTable Transformation Migration Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -596,5 +596,10 @@
"title": "V39 TimeSeriesTable Transformation Migration Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -237,5 +237,10 @@
"title": "V4 No-Op Migration Test",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -244,5 +244,10 @@
"title": "V4 No-Op Migration Test",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -64,5 +64,10 @@
"title": "Empty String Refresh Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -65,5 +65,10 @@
"title": "Empty String Refresh Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -64,5 +64,10 @@
"title": "Boolean False Refresh Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -65,5 +65,10 @@
"title": "Boolean False Refresh Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -64,5 +64,10 @@
"title": "Refresh Not Set Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -65,5 +65,10 @@
"title": "Refresh Not Set Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -64,5 +64,10 @@
"title": "Numeric Refresh Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -65,5 +65,10 @@
"title": "Numeric Refresh Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -64,5 +64,10 @@
"title": "String Refresh Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -65,5 +65,10 @@
"title": "String Refresh Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -64,5 +64,10 @@
"title": "Boolean Refresh Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -65,5 +65,10 @@
"title": "Boolean Refresh Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -64,5 +64,10 @@
"title": "No Time Picker Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -65,5 +65,10 @@
"title": "No Time Picker Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -64,5 +64,10 @@
"title": "Time Picker No Time Options Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -65,5 +65,10 @@
"title": "Time Picker No Time Options Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -64,5 +64,10 @@
"title": "Time Picker Time Options Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}
@@ -65,5 +65,10 @@
"title": "Time Picker Time Options Test Dashboard",
"variables": []
},
"status": {}
"status": {
"conversion": {
"failed": false,
"storedVersion": "v1beta1"
}
}
}

Some files were not shown because too many files have changed in this diff Show More