Ryan McKinley
a4dabc31ed
Folders: let unified storage handle authorization ( #110825 )
2025-09-24 16:26:47 +03: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
Misi and Gabriel MABILLE
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
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
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 and Ryan McKinley
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 and Ieva
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 and Ryan McKinley
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 and Gabriel MABILLE
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
Alexander Zobnin and Jo Garnier
294fd943c0
Chore: Update authlib ( #110880 )
...
* Chore: Update authlib
* exclude incompatible version of github.com/grafana/gomemcache
* Update go-jose to v4
* fix jose imports
* remove jose v3 from go.mod
* fix tests
* fix serialize
* fix failing live tests
* add v1 of ES256 testkeys. Port tests to use ES256 instead of HS256
* accept more signature algs for okta and azuread
* azure social graph token sig
* accept more signature algs for oauth refresh and jwt auth
* update workspace
* add a static signer for inproc
* rebase and fix ext_jwt
* fix jwt tests
* apply alex patch on gomemcache
* update linting
* fix ext_jwt panic
* update workspaces
---------
Co-authored-by: Jo Garnier <git@jguer.space >
2025-09-15 12:45:15 +02:00
Moustafa Baiou
cb7abbaa0f
Alerting: Rename expression elements of Rules APIs ( #110914 )
...
This renames `data` to `expressions` for clarity in the rules apis.
Also makes certain fields that are redundant optional in the case of pure expressions, so that users don't have to specify them when they are not needed (e.g. not datasource queries).
2025-09-12 22:15:55 +00:00