Rafael Bortolon Paulovic
5eae7d4f22
feat: legacy ListIterator with batches ( #115038 )
...
* feat: legacy ListIterator with batches
* chore: address code review
* chore: remove nil check in nextBatch
* chore: move close before count check
* chore: add err field to batchingIterator for its own errors
* chore: remove unused import
2025-12-10 16:12:08 +01:00
Renato Costa
83311049ad
fix: create dashboard in legacy storage within transaction ( #114808 )
...
fix: create dashboard within transaction
2025-12-09 10:16:33 -05:00
Mustafa Sencer Özcan
4c5d9cb95f
feat: add unified storage data migration step for playlists ( #114582 )
...
* fix: add type
* feat: register step
* feat: add playlist support
* test: add test case
* fix: gen mock
* fix: go gen
* fix: lint
* fix: lint
* fix: tests
* fix: add resource
* fix: readd
* fix: address comments
* fix: independent playlist query for migrations
* fix: remove lock logic for sqlite
* fix: handle creation and update datetimes
* fix: query templating
* fix: simply resources and address comments
2025-12-04 15:15:00 +00:00
Mustafa Sencer Özcan
2f6836e78a
fix: make graceful handle default for the malformed dashboard jsons during unified migration ( #114295 )
...
* fix: graceful handling by default
* fix: make fallback the default behavior
2025-11-24 14:12:52 +01:00
Denis Vodopianov
0e460a267e
chore : Deprecating FeatureToggles.IsEnabled ( #113062 )
...
* Deprecating features.IsEnabled
* add one more nolint
* add one more nolint
* Give better hints to devs in the deprecation message of IsEnabledGlobally
* adding more doc strings
* fix linter after rebase
* Extend deprecation message
2025-11-21 18:43:42 +01:00
João Calisto
c2c443757d
Unified Storage: allow rebuilding indexes for resource with a new grpc endpoint ( #113748 )
...
* Unified Storage: allow rebuilding indexes for resource from a new grpc endpoint
* remove log line
* fix trace def
* lint
* fix after rebase
* addressing code review changes
* update with one channel per rebuild request
* other review suggestions
* update with review suggestions
* run mockery generate for MockResourceClient
* update tests
* update tests and lint
* fix test
2025-11-21 16:42:15 +00:00
Mustafa Sencer Özcan and Rafael Paulovic
30c04ab3fc
feat: inject unified data migrations in dual writer ( #114138 )
...
* feat: draft changes for on-prem unified migration
* feat: further draft changes for on-prem unified migration
* fix: remove some tbis
* refactor: rename
* fix: another approach
* fix: background service related issues
* fix: address comments
* fix: make gen-go
* fix: background service related issues
* feat: refactor dual writer and legacy migrator
* fix: minor issues
* feat: working version in oss
* fix: wire
* fix: revert test data override
* fix: enterprise related issues
* chore: add todo
* fix: revert dual writer method
* fix: lint
* chore: logger format
* fix: reduce log level
* fix: log change
* fix: disable
* fix: address comments
* fix: return error on dual writer service
* fix: merge conflict
---------
Co-authored-by: Rafael Paulovic <rafael.paulovic@grafana.com >
2025-11-20 16:40:20 +01:00
owensmallwood
8dddff3ce4
Unified Storage: Pass ns, group, resource to GetResourceStats instead of just namespace ( #114050 )
...
* passes nsr to GetResourceStats instead of just namespace
* removes ns check
* fixes failing tests
* make update-workspace
* pass group and resource from rebuild request when getting resource stats
2025-11-18 13:05:21 -06:00
Jean-Philippe Quéméner and Mustafa Sencer Özcan
fd14d4a5ed
feat(unified-storage): add tracing to dual writer and legacy storage ( #113504 )
...
Co-authored-by: Mustafa Sencer Özcan <32759850+mustafasencer@users.noreply.github.com >
2025-11-06 11:42:46 +00:00
Ryan McKinley
7c6afeabec
Chore: Use IAM DBTime utility in dashboard migrator ( #112589 )
2025-10-17 17:48:30 +03:00
Stephanie Hingtgen
bd7872c4d9
Dashboard History: Fix service account parsing ( #112300 )
2025-10-10 15:25:00 -05:00
a72e02f88a
Fix dashboard migration discrepancies between backend and frontend implementations (use toEqual) ( #110268 )
...
**Highlights**
* **Single-version migrations**: add `targetVersion` to migrator & model, separate outputs, enforce exact version.
* **Datasource fixes**: include `apiVersion` in tests, empty-string → `{}`, preserve `{}` refs, drop unwanted defaults.
* **Panel defaults & nesting**: only top-level panels get defaults; preserve empty `transformations` context-aware; filter repeated panels.
* **Migration parity**
* V16: collapsed rows, grid height parsing (`px`).
* V17: omit `maxPerRow` when `minSpan=1`.
* V19–V20: cleanup defaults (`targetBlank`, style).
* V23–V24: template vars + table panel consistency.
* V28: full singlestat/stat parity, mappings & color.
* V30–V36: threshold logic, empty refs, nested targets.
* **Save-model cleanup**: replicate frontend defaults/filtering, drop null IDs, metadata, unused props.
* **Testing**: unified suites, dev dashboards (v42), full unit coverage for major migrations.
Co-authored-by: Ivan Ortega [ivanortegaalba@gmail.com ](mailto:ivanortegaalba@gmail.com )
Co-authored-by: Dominik Prokop [dominik.prokop@grafana.com ](mailto:dominik.prokop@grafana.com )
2025-09-24 12:20:25 +02:00
maicon and Jean-Philippe Quéméner
5270d8e53f
fix(unified-storage): remove permissions after executing on both stores ( #109722 )
...
Signed-off-by: Maicon Costa <maiconscosta@gmail.com >
Co-authored-by: Jean-Philippe Quéméner <jeanphilippe.quemener@grafana.com >
2025-08-15 15:57:42 +00:00
Mustafa Sencer Özcan and Will Assis
98e37f2ca9
fix: special handling of unmarshalling for invalid json dashboards ( #108519 )
...
* implement special dashboard fallback logic when dashboard data has invalid json behind feature flag
---------
Co-authored-by: Will Assis <william@williamassis.com >
2025-07-30 10:18:38 -04:00
Will Assis
71cb623cb7
improve logging and fail unified-storage migration with more than 0 errors ( #108471 )
...
improve logging and fail unified-storage migration with more than 0 errors
2025-07-22 13:44:04 +00:00
Bruno Abrantes
be79eb0ace
fix: handle dashboards without version entries in unified storage migration ( #108139 )
...
* fix: handle dashboards without version entries in migration
Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com >
* fix: adds AllowFallback flag to enable COALESCE logic explicitly during migrations
Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com >
* fix: update dependencies
Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com >
* fix: maintain original behavior when not using AllowFallback option
Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com >
---------
Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com >
2025-07-21 15:32:24 +02:00
Bruno Abrantes
c06c1b1e8a
fix: Makes created and updated by nullable strings for library panel migration ( #108122 )
...
Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com >
2025-07-15 16:30:31 +02:00
Stephanie Hingtgen
b1d3155b60
K8s: Library Panels: Add rerouting for get ( #107362 )
2025-06-30 13:26:24 -05:00
Stephanie Hingtgen
feeced9618
K8s: Dashboards /apis: Fix library element connections ( #106734 )
2025-06-13 21:40:39 +02:00
Georges Chaudy
04d39cbbc6
unistore: split ListIterator and ListHistory in StorageBackend ( #105654 )
...
split listIterator from ListHistory
2025-05-23 15:00:18 +02:00
Ryan McKinley
da24ad06bd
Provisioning: Hide full path for classic provisioing resources ( #105440 )
2025-05-15 16:01:12 +00:00
Stephanie Hingtgen
9968576acf
Folders & Dashboards: Cleanup timestamps and error codes ( #104665 )
...
K8s: Fix timestamps and error codes
2025-04-30 03:03:21 +03:00
Stephanie Hingtgen
b5281c923f
K8s: Dashboards: Fix provisioned dashboard cleanup ( #104504 )
2025-04-25 05:55:50 -06:00
Ryan McKinley
b09d79b21c
K8s/Dashboard: Promote from alpha1 to beta1 ( #104009 )
2025-04-23 20:54:35 +03:00
b887e8aa05
K8s: Dashboards: Add fine grained access control checks to /apis ( #104347 )
...
---------
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com >
Co-authored-by: Gabriel MABILLE <gabriel.mabille@grafana.com >
Co-authored-by: Marco de Abreu <marco.deabreu@grafana.com >
Co-authored-by: Georges Chaudy <chaudyg@gmail.com >
2025-04-23 03:29:05 +01:00
Marco de Abreu and Marco de Abreu
d57fa1291f
Dashboards: Disallow List with RV filter on legacy & align RV format ( #104003 )
...
Throw errors when trying to call List in legacy with an RV specified
Change ResourceVersion to microseconds
Co-authored-by: Marco de Abreu <18629099+marcoabreu@users.noreply.github.com >
2025-04-15 22:08:54 +01:00
c47ab101d1
Dashboards: Add Dashboard Schema validation (2) ( #103844 )
...
* Activate schema validation and align underlying systems
* update to save as v0 if not the right schema version
* Resolve merge conflicts
* Move RequireApiErrorStatus to tests package
* Add mutation tests
* Fix lint
* Only do min version check if dashboard is v1
* Fix lint and disable provisioning test
* Revert provisioning changes
* Revert more tests and add schema test
* Reran gen
* SQL Dashboard save
* Adjust APIVERSION
* Fixed mutation test
* Add logging on downgrade
---------
Co-authored-by: Marco de Abreu <18629099+marcoabreu@users.noreply.github.com >
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com >
2025-04-11 23:05:41 +02:00
Marco de Abreu
b2f80d4dca
Dashboards: Add Dashboard API Validation tests and fix underlying issues ( #103502 )
2025-04-07 05:44:28 +03:00
Stephanie Hingtgen
4918d8720c
Dashboard Restore: Remove experimental functionality under feature flag dashboardRestore for now - this will be reworked ( #103204 )
2025-04-03 02:52:54 -05:00
Stephanie Hingtgen
7c2890384a
K8s: Dashboards: Set v1alpha1 as priority ( #102729 )
2025-03-25 10:32:49 -06:00
Stephanie Hingtgen
da95ee22cc
K8s: Fix dashboard creation timestamp ( #102578 )
2025-03-21 07:47:09 +02:00
Ryan McKinley
bb881f38bb
K8s/Dashboards: Remove uid+version from spec ( #101992 )
2025-03-16 20:46:12 -05:00
Stephanie Hingtgen
5c24312625
Dashboards: Fix duplicate provisioning when errors occur on title-only based provisioning ( #102249 )
...
Dashboards: fix title based provisioning
2025-03-15 21:12:48 -06:00
Igor Suleymanov
5d2ba10113
K8s/Dashboards: Extract Dashboard APIs to an app submodule ( #102029 )
...
* Move dashboard k8s APIs to a separate app
Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com >
* Copy dashboard code in Dockerfile
Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com >
* Fix conversion generation
Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com >
* Update OpenAPI snapshot for dashboard/v0alpha1
Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com >
---------
Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com >
2025-03-13 11:05:01 +02:00
Ryan McKinley and Stephanie Hingtgen
dc2defd84f
K8s/Annotations: Use manager/source annotations rather than repo ( #101313 )
...
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com >
2025-03-05 08:54:20 +02:00
Ryan McKinley
c1b48cc488
Dashboards: Add apiVersion to dashboard table ( #100845 )
2025-03-04 07:47:45 +03:00
Stephanie Hingtgen
67be9aeed6
K8s: Search fallback: Support all sort by methods ( #100776 )
2025-02-18 12:30:11 -06:00
Stephanie Hingtgen
e2081c3e0c
K8s: Fix legacy fallback provisioning ( #100566 )
2025-02-13 21:32:25 +02:00
Stephanie Hingtgen
b06f83670e
Cleanup: comment out unreachable code ( #99723 )
2025-01-29 07:00:49 +03:00
Ryan McKinley
5cd1efb2d1
K8s/Dashboard: Improve legacy error handling ( #99658 )
2025-01-28 18:47:02 -06:00
Stephanie Hingtgen
0cef2b9ae7
Dashboard Versions: Make compatible with app platform ( #99327 )
2025-01-28 08:17:52 -06:00
William Assis
be8396cafa
Setup legacy search based on mode ( #98908 )
2025-01-27 12:32:07 -06:00
Ryan McKinley
3bc9f10bb3
Dashboards/SQL: Improve SQL query behavior ( #99253 )
...
* update legacy dashboard SQL
* merge main
* trim message
2025-01-21 19:35:33 +03:00
Ryan McKinley
d8b6ded101
K8s: use deprecatedInternalID label rather than SQL annotation ( #99263 )
2025-01-21 12:38:14 +03:00
Ryan McKinley
680e6bc1f8
Authlib: Use types package rather than claims ( #99243 )
2025-01-21 12:06:55 +03:00
Ryan McKinley and Stephanie Hingtgen
356b32008b
Storage: Show history+trash using the list command ( #99009 )
...
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com >
2025-01-17 15:54:25 +03:00
Ryan McKinley
7c04247d6f
K8s/Dashboard: Set generation from version ( #99142 )
2025-01-17 13:52:01 +02:00
Stephanie Hingtgen
9ec10be1c7
K8s: Provisioned dashboard support ( #98843 )
2025-01-13 08:14:12 -06:00
Stephanie Hingtgen
b4ab55ae38
K8s: Dashboard spec should not have id ( #98336 )
2025-01-03 09:28:45 -06:00
1a46039037
K8s/Dashboards: Pass the legacy internal ID into labels ( #98311 )
...
---------
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com >
Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com >
2024-12-20 21:33:49 +02:00