Commit Graph

946 Commits

Author SHA1 Message Date
Dominik Prokop e266c88505 Merge main into feat/faro-tracing-integration-part1
- Sync feature branch with latest main branch changes
- Resolve conflicts in dashboard scene serialization imports
- Include both existing and new profiler functions for compatibility
- Refactor dashboard performance profiling architecture
- Create shared performanceUtils.ts with memory utilities and grouped logging
- Convert observer methods to arrow functions in analytics and logger classes
- Add type-safe performance.memory access with proper TypeScript interfaces
- Standardize performance logging with writePerformanceGroup utilities
- Convert duration logging from strings to numeric values for better analysis
- Fix localStorage usage to use @grafana/data store for consistency
- Update dashboard scene integration to use improved profiling system
2025-10-07 22:28:34 +02:00
Stephanie Hingtgen 8c5ca9ca12
Folders: fix panic on move (#111551) 2025-09-24 10:21:34 -05:00
Ryan McKinley a4dabc31ed
Folders: let unified storage handle authorization (#110825) 2025-09-24 16:26:47 +03:00
Ivan Ortega Alba 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
Misi 54a347463e
IAM: Use the new authorizer for the User resource (#111479)
* Use the new authorizer for the User resource

* Use accessClient

* Update pkg/services/authz/rbac/mapper.go

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>

---------

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2025-09-24 11:32:29 +02:00
Stephanie Hingtgen c2b513a2b3
Dashboards: Cleanup folder client (#111510) 2025-09-23 16:54:52 -05:00
Stephanie Hingtgen 8caaf87584
Dashboards: Use folder client provider if folder client is nil (#111506) 2025-09-23 20:59:27 +00:00
Costa Alexoglou 8f77a3e0e8
chore: swap access check to folder client (#111490) 2025-09-23 11:40:10 -05:00
Ryan McKinley a9de52c3e9
Folders: Build the same apiserver regardless of ST or MT (#111481) 2025-09-23 11:27:02 -05:00
Ryan McKinley 9494175984
Folders: Use access checker for /access endpoint (#110745) 2025-09-23 15:35:26 +00:00
Ryan McKinley 94b82b0e5e
Stars: Manage from apiserver (#111368) 2025-09-23 17:13:05 +03:00
Yuri Tseretyan 896a56ada8
Migrate Alerting Notifications API to app installer (#109309)
* migrate to new manifest format
* rename app to alerting.notifications to not conflict with rules
* disable custom field selectors as they are not supported in appinstaller
2025-09-23 09:42:40 -04:00
Ryan McKinley 6c5bd69f98
Folders: Improve integration tests (#111474) 2025-09-23 08:39:21 -05:00
Gábor Farkas 969eeb1d02
datasources: querier: deduplicate logging code (#111019) 2025-09-23 13:35:53 +02:00
Ieva cbbbcd591d
Resource permissions: Make sure that list response includes the next page token (#111446)
make sure that list iterator returns a next page token
2025-09-23 10:16:41 +01:00
Stephanie Hingtgen e53b5902fa
Provisioning: Wire up tracing and add trace for job sync (#111455) 2025-09-22 22:23:29 -06:00
Stephanie Hingtgen 63e1d52663
Provisioning: Add metrics around webhooks (#111453) 2025-09-22 16:53:50 -05:00
Stephanie Hingtgen 8b1caccc72
Provisioning: Add metrics for repo controller (#111450) 2025-09-22 20:14:03 +00:00
Stephanie Hingtgen a2d09490ae
Provisioning: Allow setting concurrent jobs settings and add metric (#111451) 2025-09-22 20:07:22 +00:00
Stephanie Hingtgen b02d2762f5
Provisioning: Add metrics to jobs (#111447) 2025-09-22 19:05:34 +00:00
Stephanie Hingtgen bd550d2f06
Provisioning: Wire up prometheus (#111444) 2025-09-22 09:54:50 -05:00
Stephanie Hingtgen 6203a6f3c5
Provisioning: Allow non-loopback config (#111353) 2025-09-19 09:58:36 -05:00
mohammad-hamid db61acf513
`grafana-iam`: prevent duplicate permissions upon ResourcePermission create (#111361)
prevent duplicate permissions
2025-09-19 16:55:08 +02:00
Misi c20fdbe39e
IAM: Fix display_query.sql (#111388)
Fix
2025-09-19 14:09:28 +00:00
Ieva b7bb62747a
Resource permissions: Fix permission cleanup during resource permission update (#111317)
* fix permission cleanup during resource permission update

* fix template tests
2025-09-19 14:04:05 +01:00
Daniele Stefano Ferru e69cc03ef9
Secret: add ability to configure extra owner decrypters (#111301)
---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-09-19 07:41:56 -05:00
Stephanie Hingtgen 15ee224da5
Provisioning: Allow disabling of image rendering instance wide (#111359) 2025-09-19 12:40:14 +03:00
Misi c012a95fa1
IAM: Add role to User (#111256)
* codegen fix

* Return user role from the legacy store

* Lint

* Add tests, gen openapi

* make generate

* revert go.mod, go.sum, go.work.sum changes

* Update go.mod and go.sum
2025-09-19 11:12:00 +02:00
Charandas 76b3d855c7
fix: use multi client for provisioning API builder (#111144) 2025-09-18 16:35:40 -07:00
Cory Forseth b8f5effd85
Feat/add zanzana apiserver args (#111278)
* initialize permissionstore if ignoring legacy storage

* pass through feature toggles

* extract repeated logic to method

* remove extra TODOs

* workspace
2025-09-18 16:17:05 -05:00
Stephanie Hingtgen cb11bc15fa
Provisioning: Allow disabling of instance sync (#111270)
---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2025-09-18 10:40:02 -05:00
Costa Alexoglou 28952cc490
fix: inaccurate reported changes (#111309) 2025-09-18 09:40:01 -05:00
Alexander Zobnin 72d212c5f9
Authlib: Update authz client to use zookies (#111291)
* Authlib: Update authz client to use zookies

* fix zookie return

* fix linter
2025-09-18 16:24:22 +02:00
Mihai Doarna 7c2846dfdf
IAM: Add String() method to DBTime struct (#111308)
add String() method to DBTime struct
2025-09-18 15:41:20 +03:00
Mihai Doarna 9d9dca3208
IAM: Adds the team creation endpoint in app platform (#111003)
* implement team creation for legacy store

* add generated code

* add basic integration test

* add new fields to get and list teams

* fix sql tests for teams

* register dual writer for team resource

* add generated code

* add more sql tests for team creation

* address feedback

* add integration tests
2025-09-18 14:43:07 +03:00
Ieva 7bd20b98ba
AuthZ: code and error cleanup (#111037)
* use API errors where possible

* fix test
2025-09-18 11:38:02 +01:00
Dana Axinte 1f071f5bd7
Secrets: Adding developer mode config (#111008)
adding developer mode and feature flags for e2e tests
2025-09-18 10:10:24 +01:00
Ryan McKinley 14b6e60f31
Folders: Add better integration tests (#111241) 2025-09-17 20:19:50 +03:00
Stephanie Hingtgen 91008cc82e
Provisioning: Fix cleanup (#111257) 2025-09-17 10:11:25 -05:00
Stephanie Hingtgen 163b9007a7
Provisioning: Fix flaky tests and race condition in folder existing check (#111209)
Provisioning: Fix some of the flakiness
2025-09-17 08:37:10 -05:00
Kristina a6db37c2b7
Correlations: Create first version of correlations on app platform (#110843)
* WIP

* Generate API

* use different logging, change typing as recommended

* Add feature flag and only add to installer when enabled

* add codeowner

* Lint/fmt

* fix dockerfile

* move from UID to group/name reference

* add generated code

* change from enterprise build

* build workspace

* Remove deprecated field, build api, build for enterprise, build workspace

* Not sure what caused this..

* Rebuild?

* Fix this file

* update sdk

* update sdk

* fix workspace

* fix test build

* add to go.mod

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2025-09-17 08:07:45 -05:00
Gabriel MABILLE ee34c015ce
`grafana-iam`: Fix context for identity store queries to work (#111228)
`grafana-iam`: Fix context for identity store

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2025-09-17 11:24:58 +01:00
Costa Alexoglou 0248a393d7
fix: dashboard upsert with empty ref (#111190)
* fix: dashboard upsert with empty ref

* chore: cleanup

* fix: branches in other git providers and linter
2025-09-17 11:49:15 +02:00
Alex Khomenko 571b3226ba
Dashboard search: Return description in search results (#110857)
* DashList: Add description

* Support unified storage

* Support unified storage[2]

* Exclude description from field

* Cleanup

* add description

* Revert dashlist changes

* Update cue

* Fix test

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2025-09-16 18:17:22 +03:00
Misi 29551a6edf
IAM: Implement Delete in Service Account API (#110584)
* wip

* IAM: Create Service Account

* Add dual writer

* Update openapi_test.go

* Add integration tests

* Add sql tests

* Add Role to SA spec, add validation, add DBTime, add tests

* Format, update test

* Fixes

* Add check for External

* wip

* Fix merge

* wip

* Use plugin name instead of title for ext svc account login

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>

* Remove OrgID from DeleteUserCommand

* Use the new authorizer

* Fix tests

* cleanup

* Move test to enterprise

* Revert unnecessary change

* Address feedback

* Revert "Address feedback"

This reverts commit 8ab9559076.

---------

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2025-09-16 15:39:01 +02:00
Yuri Tseretyan 356521c9b9
Alerting: Annotation CanUse for receiver resource (#110839)
* add origin to receiver
* populate origin of the receiver
* set CanUse to false if origin is not Grafana
* set provenance if origin is imported
* set Grafana origin by default in conversion API
* set canUse annotation
* reject update\delete operations on resources with origin other than Grafana
* fail to create with wrong origin
2025-09-16 09:32:04 -04:00
Ryan McKinley 0a79b3bdc5
Chore: Upgrade k8s.io/api v0.34.1 and grafana-app-sdk v0.43.1 (#111009) 2025-09-16 13:35:20 +03:00
Costa Alexoglou 8a352cc352
fix: reduce logs for Github repo.build (#111117)
* fix: reduce logs for Github repo.build

* ci: go workspace
2025-09-16 09:57:08 +00:00
Alexander Akhmetov a5ad4715a6
Alerting: Fix start with unified_alerting disabled (#111160) 2025-09-16 08:56:09 +00:00
Ryan McKinley a5bd313f5a
ShortURL: Implement /goto with a sub-resource (#110972) 2025-09-15 16:56:20 +03:00