Commit Graph
1244 Commits
Author SHA1 Message Date
Denis VodopianovandDave Henderson 81683d554d chore : Deprecating FeatureToggles.IsEnabledGlobally (#112885)
* add deprecation on featuremgmt.IsEnabledGlobally

* add nolint reason

* add reasonable deprecation message

* remove junk edits

* add more nolints

* addressing review comments

* Update pkg/services/featuremgmt/models.go

Co-authored-by: Dave Henderson <dave.henderson@grafana.com>

---------

Co-authored-by: Dave Henderson <dave.henderson@grafana.com>
2025-10-24 12:02:53 -04:00
Ieva 4cea71ee73 Access Control: Fix the permission checks for saving/updating/deleting annotations (#112953)
pass in the correct scope for evaluating annotation permissions on a dashboard
2025-10-24 16:11:58 +01:00
Todd Treece dc77da11cf Plugins: API sync (#112452) 2025-10-24 08:09:26 -04:00
Mihai Doarna 4bdee91501 IAM: Implement the delete method for team bindings (#112844)
* implement the delete method for team bindings

* add integration test

* remove team binding search from legacy store
2025-10-24 11:58:13 +03:00
Gilles De Mey 62c5df36d6 Alerting: Always initialize an empty slice of routes for the routingtree (#112880) 2025-10-23 17:21:13 +02:00
Gábor Farkas 87f40c65e4 datasources: forward the x-forwarded-for header (#112863) 2025-10-23 17:14:50 +02:00
Misi 9c676b3ae7 IAM: Rename Name to Title in UserSpec (#112862)
* Use Title as the name of the display name for User

* Align tests
2025-10-23 16:03:28 +02:00
Tania 82e5b81a30 OpenFeature: Fix instrumentation in OFREP API (#112845)
OpenFeature: Fix instrumentation in ofrep api
2025-10-23 10:09:41 +00:00
ad9d8098ef IAM: Add email, login field validation to User create/update API (#112391)
* wip

* wip

* wip

(cherry picked from commit 8cedf25892)

* Search seems to be working, the validation is still wip

* Use keyword.Name analyzer for Filterable fields

* Only string fields should be indexed with keyword analyzer

* Change search query for email and login fields to use term query
* Remove unnecessary Exact from the resource protobuf definitions

Co-Authored-By: Ryan McKinley <ryantxu@gmail.com>

* Add legacy search support to the API

* Tests for legacy search, validate and integration tests for user

* Lint

* Add snapshot tests to userDocumentBuilder

* Address CodeQL issues

* Improvements, handle Mode2, tests should pass

* Change default limit from 0 to 1 for requests

* Cleanup

* Add fixme

* Update pkg/registry/apis/iam/register.go

Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>

* Update pkg/registry/apis/iam/user/legacy_search.go

Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-10-23 11:29:02 +02:00
Gábor Farkas a53ce56bca datasources: querier: handle the X-Real-IP header (#112838) 2025-10-23 10:47:48 +02:00
Mihai Doarna 3076f7a9b9 IAM: Implement the update method for team bindings (#112788)
* implement the update method for team bindings

* fix lint error

* add integration tests

* add integration test for non existing team binding

* try to fix lint error
2025-10-23 11:39:38 +03:00
Jo 2e1704b56f Access: Add AfterCreate hooks for Roles/Core Roles (#112666)
As part of migrating Grafana's authorization system to Zanzana (OpenFGA), we need to ensure that role permissions defined in the IAM API are automatically synced to the authorization backend. Without this sync, roles created through the API would not be enforced by Zanzana, creating an inconsistency between defined permissions and actual authorization decisions.

This is a critical piece of the dual-write pattern during the migration to Zanzana, ensuring that:

    Role permissions are immediately available for authorization checks
    The legacy RBAC system and new Zanzana system remain in sync
    Users experience consistent permission enforcement regardless of which backend is queried

safe to revert
2025-10-23 09:47:39 +02:00
Andres Martinez Gotor eb0824a881 Advisor: Add support for multiple orgs (#112577) 2025-10-23 09:22:31 +02:00
Roberto Jiménez SánchezandCharandas Batra c9daec7b6d Provisioning: discontinue use of service identity based background tasks when onlyApiServer is true (#112634)
* Skip informers if Provisioning disable controllers is enabled

* Hydrate requester correctly for Grafana Live

* revert to old code because eventualRestConfig provider issues

---------

Co-authored-by: Charandas Batra <charandas.batra@grafana.com>
2025-10-23 00:35:46 +00:00
Todd Treece 638a1808f8 Access Control: Add fixed role loader service (#112747) 2025-10-22 12:04:42 -04:00
Tania 451004d152 OpenFeature: Add debug logs (#112724) 2025-10-21 17:03:19 +02:00
Kyle Brandt e930b3e6c4 SQL Expressions: Replace NaN/Inf values with Null (#112641)
This is because MySQL doesn't support storing of NaN valuels, and therefore go-mysql-server isn't going to either.

Float fields/columns are always mapped to be nullable now, otherwise we would have to replace NaN/Inf with 0.
2025-10-21 10:43:04 -04:00
Mihai Doarna 7d88b0130c IAM: Generate a unique name for a new TeamBinding object (#112525)
* generate a unique name for TeamBinding and store it in the uid column

* generate testdata

* fix team binding name
2025-10-21 15:01:49 +03:00
Matheus Macabu 93af167f9c Secrets: Add config for enabling gRPC client-side load balancing (#111989) 2025-10-20 14:04:59 +02:00
Stephanie Hingtgen 891d5f0625 Unistore: Propagate DeprecatedLegacyID on upsert (#112619)
Unistore: Fix label propogation on upsert
2025-10-20 09:29:03 +02:00
Tania 688248198e OpenFeature: Add eval ctx and http status code to span attributes (#112572)
* Add HTTP status codes to handlers spans

* Add a span for namespace validation
2025-10-17 21:21:33 +02:00
Ryan McKinley 7c6afeabec Chore: Use IAM DBTime utility in dashboard migrator (#112589) 2025-10-17 17:48:30 +03:00
Jean-Philippe Quéméner d746266b0d fix(folders): allow correct max depth on update (#112570) 2025-10-17 12:17:13 +02:00
Ryan McKinley 1a372e2dec Dashboards: Use the common service authorizer (#111571)
* authorizer

* authorizer
2025-10-17 10:03:35 +03:00
Liza Detrick b3f9dad044 logsdrilldown: add app platform (#112133) 2025-10-17 00:31:42 +03:00
Ryan McKinley bea45a94f0 Correlations: Add legacy storage (#112038) 2025-10-16 21:13:39 +03:00
Costa Alexoglou 163a88056e feat: parallel processChange (#112198)
* feat: parallel processChange

* all except move work

* fix: tests and order of operations

* fix: tests

* chore: review feedback

* chore: review feedback
2025-10-16 19:17:04 +02:00
Tania bceeabd6c3 Revert "OpenFeature: Include HTTP status code and evaluation context in traces" (#112527)
Revert "OpenFeature: Include HTTP status code and evaluation context in trace…"

This reverts commit ffee922fae.
2025-10-16 16:28:54 +00:00
Torkel Ödegaard 77e571b079 RadialGauge: (#111841)
* Radial gauge

* Update

* Update

* Update

* Updated

* Progress

* Spotlight

* Glow

* More effects

* Update

* Update

* Update

* Update

* Fix overflow

* Progress

* Progress

* Barwidth factor

* Update

* segmemnted

* Update

* Update

* Update

* Display processor

* Progress

* Updated

* Update

* rounded bars option

* added option for rounded

* Fixed gauge shape and segments

* Updated text and sparkline placmeent

* progress

* New spotlight effect is working

* refactorings

* Update

* hue working in gauge mode

* Update

* Update

* Progress

* Refactorings and sizing improvements

* Refactorings

* Progress

* Unify arc path

* Thresholdsbar

* Update

* Progress

* Update

* Close to mergable

* Unit tests

* Update

* Update

* Fix

* Update

* update

* simple test

* Fix

* Minor tweak

* added icon to shape

* Progress on color simplification

* progress on new color system

* Simplify color gradient modes around a single auto mode

* Progress on text sizing

* Fixes

* Update

* Update

* Hook up manual font size

* Restore old behavior in old panel
2025-10-16 15:53:38 +02:00
Tania ffee922fae OpenFeature: Include HTTP status code and evaluation context in traces (#112422)
* Add HTTP status codes to handlers spans

* Add a span for namespace validation
2025-10-16 13:37:51 +02:00
Gabriel MABILLE 6e66a98ef7 grafana-iam: skip flaky TestAfterResourcePermissionCreate test (#112504)
`grafana-iam`: TestAfterResourcePermissionCreate flaky test skip
2025-10-16 09:54:38 +00:00
Mihai Doarna 3f9bf130c7 IAM: Move the teambinding code to a separate dir (#112405)
* move the teambinding code to a separate dir

* validate pagination limit to fix codeql error

* supress codeql warning

* convert int to int64
2025-10-16 11:56:08 +03:00
Gabriel MABILLE 0eb28d4f37 grafana-iam: Async write to zanzana (#112357)
* `grafana-iam`: Async write to zanzana

* More succint

* Add a metric to keep track of waiting times for future calibration

* metrics
2025-10-16 08:33:06 +02:00
Will Assis 3dceaac5dc fix pagination not working in legacy modes with kubernetes apis enabled (#112478)
* dashboards: fix pagination not working in legacy modes with kubernetes apis enabled
2025-10-15 16:32:25 -04:00
Mihai Turdean ae5ff7e8f0 Implement CoreRole Authorizer (#112401) 2025-10-15 20:27:59 +00:00
Haris Rozajac d9067b27eb Dashboard Migrations: V2 - legacy services.filter and graphite panel type (#112282)
* migrate to v2

* Fix tests

* graphite panels should be auto-migrated

* lint

* Provisioning: Fix dashboard export to preserve original API version

* Add error handling for the edge case where conversion fails but no
storedVersion is available.
2025-10-15 10:34:12 -06:00
Mihai Doarna 54c224dae7 IAM: Add the external field to the TeamBinding spec (#112382)
* add the external field to the TeamBinding spec

* fix unit tests
2025-10-15 11:21:33 +03:00
Mihai Doarna 7395f803c1 IAM: Implement create method for team bindings (#112003)
* implement create method for team bindings

* generate openapi specs

* enable dual writer for team bindings

* add validation rules

* generate openapi

* add integration tests and fix remaining issues

* fix validation test

* use UIDs instead of IDs to build team binding name

* use IDs when generating the TeamBinding name

* fix build error

* remove time truncate
2025-10-14 17:20:59 +03:00
Ieva aeb041a9af Folder permissions: Remove default creator can Admin permissions for folders (#111984)
* Remove default creator can Admin permissions for folders

* Actually, we only need to set permissions for root level folders

* Put back creator permission

* linting

* use FT for assessing what permissions to set

* fix tests
2025-10-14 14:54:19 +01:00
Gabriel MABILLE 0e34164329 grafana-iam: Populate Zanzana on resource permission creation (#111654)
* `grafana-iam`: Populate Zanzana on resource permission creation

* use zanzana const

* Adding a toggle

* Add a new feature toggle to manage zanzana sync

* wire

* wire

* WIP

* Fix hook issue

* comments and tests

* Account for PR feedback

* Add a timeout to writes

* Check tuples len

* comment

* validate basic role

* shorter error

* object reads better than entry
2025-10-13 21:37:13 +02:00
Tania 5e0af5f57c OpenFeature: Add logs to MTFF namespace validation (#112331) 2025-10-13 16:33:03 +02:00
Misi bd1dbb68ba IAM: Add the implementation of the Update User API (#112054)
* wip

* Add validate, wire mutate, add tests

* Address copilot's feedback

* Address feedback
2025-10-13 10:00:18 +02:00
Stephanie Hingtgen bd7872c4d9 Dashboard History: Fix service account parsing (#112300) 2025-10-10 15:25:00 -05:00
Stephanie Hingtgen 7a26d48e88 Grafana controllers: Add generic disable setting (#112250) 2025-10-10 17:21:10 +00:00
Ryan McKinley 7ceb4b90f6 Chore: Remove library panel thema (#112154) 2025-10-09 09:38:52 -03:00
Peter Štibraný d801b87db9 LastImportTime for resource. (#112153)
* LastImportTime for resource.

* Make StorageBackendImpl implement GetResourceLastImportTimes

* More missing implementations of GetResourceLastImportTimes

* Fix import.

* Skip TestGetResourceLastImportTime in TestBadgerKVStorageBackend.

* Implement GetResourceLastImportTimes by mockStorageBackend

* Bump test tolerance.

* Fix postgres query and timezone.

* Fix postgres query and timezone.

* Make linter happy.
2025-10-09 11:27:11 +02:00
Stephanie Hingtgen 53180d5a39 Dashboards: Add validation for manager property on parent folder (#112146) 2025-10-08 12:13:36 +00:00
Ryan McKinley 13a3c46079 DataSource: Fix openapi spec (#112150) 2025-10-08 14:36:24 +03:00
Stephanie Hingtgen 047c51be01 Provisioning: Do full sync on resync period when needed (#112144) 2025-10-08 05:25:57 -06:00
beejeebus b7c73a9bfc Make it safe to run new config CRUD APIs in DS API server
Using `configCrudUseNewApis` passed through for DS API servers from the
`grafana-enterprise` codebase.
2025-10-07 14:31:07 -04:00