Commit Graph
1244 Commits
Author SHA1 Message Date
Ryan McKinley a4dabc31ed Folders: let unified storage handle authorization (#110825) 2025-09-24 16:26:47 +03:00
Ivan Ortega AlbaIvan Ortega [ivanortegaalba@gmail.com](mailto:ivanortegaalba@gmail.com)Dominik Prokop [dominik.prokop@grafana.com](mailto:dominik.prokop@grafana.com)
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
MisiandGabriel 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
KristinaandRyan 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 MABILLEandIeva 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 KhomenkoandRyan 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
MisiandGabriel 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 ZobninandJo 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