Commit Graph

17247 Commits

Author SHA1 Message Date
Igor Suleymanov 4161f3a5ca Support dashboard restore across API versions (#110694)
What

This commit refactors the logic to restore a dashboard from a version.
The logic is moved from the API handler to the dashboard versions service,
which now supports restoring dashboards of different API versions.

Why

To make sure that dashboard version restoration works with v2 dashboards
API, as well as future API versions.

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
2025-09-11 13:35:58 +03:00
Tim Mulqueen 01b5543121 AzureMonitorDatasource: Add bounds check to fix panics (#110879)
(azure-monitor-datasource): add bounds check to fix panics
2025-09-11 12:31:11 +02:00
Gabriel MABILLE 5ce13061d5 AuthZ: Allow create without scope for specific resources (#110867)
* AuthZ: Create without scope for resources outside of folders

* Make it explicit that create requires a scope check

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

* Use skipScope instead of ReqScope

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>

* Explain why there is no need to skip scope for roles

---------

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2025-09-11 11:54:41 +02:00
Peter Štibraný 6fa6a5708a Cleanup of old search functionality (#110861)
* Remove support for initMinSize.
Remove support for searchAfterWrite option, now it defaults to true.

* Remove reference to deprecated feature toggle.

* Remove feature toggle completely.

* Remove code related to indexing on watch events.

* Fix compilation error.

* Remove unused field.
2025-09-11 08:23:03 +00:00
Jean-Philippe Quéméner ecf08ad7d5 fix(folders): allow correct max depth on app platform (#110907) 2025-09-11 10:00:23 +02:00
maicon 77fa3333e4 Page limit config for dashboards with visible annotations (#110911)
* Page limit config for dashboards with visible annotations

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-09-10 21:07:24 +00:00
Haris Rozajac 11898abccb Dashboard Schema V2: Fix public dashboards and snapshots (#110060)
* wip; public dashboards and snapshots work

* Chore: Fix example of major release (#110007)

baldm0mma/ fix example of major release

* CI: Push docker images to dockerhub on merges to main (#110056)

* support extracting queries in schema V2

* fix lint and test

* fix test

* clean up

* clean up

* apply feedback about early returns

* fix url issue when clicking open original dashboard in v1

* refactor to early returns

* fix api version comparison

---------

Co-authored-by: Jev Forsberg <46619047+baldm0mma@users.noreply.github.com>
Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2025-09-10 13:09:37 -06:00
Todd Treece 191ddb127a Background Services: Lifecycle o11y (#110570) 2025-09-10 14:33:03 -04:00
Andreas Christou d3c0980c84 Graphite: Decouple from core Grafana (#110294)
* Add lint rules

* Backend decoupling

- Add standalone files
- Add graphite query type
- Add logger to Service
- Create logger in the ProvideService method
- Use a pointer for the HTTP client provider
- Update logger usage everywhere
- Update tracer type
- Replace simplejson with json
- Add dummy CallResource and CheckHealth methods
- Update tests

* Update ConfigEditor imports

* Update types imports

* Update datasource

- Switch to using semver package
- Update imports

* Update store imports

* Update helper imports and notification creation

* Update context import

* Update version numbers and logic

* Copy array_move from core

* Test updates

* Add required files and update plugin.json

* Update core references and packages

* Remove commented code

* Update wire

* Lint

* Fix import

* Copy null type

* More lint

* Update snapshot

* Add tests

* Review

* Fix packages
2025-09-10 18:48:29 +01:00
Gabriel MABILLE ddbc5bce4f grafana-iam: Use namespace for dbHelper (#110888) 2025-09-10 18:08:42 +02:00
Mustafa Sencer Özcan b8b85fbf47 fix: add intrumentation for auth server grpc client (#110875) 2025-09-10 17:33:21 +02:00
Mihai Turdean 338fc84479 Enable metrics by default for the folder operator (#110852) 2025-09-10 08:55:28 -06:00
Alyssa Joyner b36bd7dd6a [OpenTSDB]: Support queries with different time ranges (#110818) 2025-09-10 08:04:04 -06:00
Javier Ruiz 646dd8de06 PluginExtensions: Add extension point for overriding Observability home page (#110500)
* feat/add_observability_landing

* Add check for observability path

* Fix existing tests

* Test that we're rendering the component when in the correct path

* Reset all mocks after testing

* Check for extension only on observability route

* Undo changes to tests

* Extract strings to constants

* Remove unused validator

* Remove unnecesary ObservabilityLanding component

* Update subtitle for Observability section

* Use proper '

* Expose extension point, allow plugins to hook into it, and render received components

* Fix and test

* Remove no longer needed unit tests

* Readd validation checks, allow for regex like paths

* refactor(extensions): extract dynamic extension point ids to a separate enum

* Undo unwanted const to let change

* Update extension point id to better transmit intent and use

---------

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2025-09-10 15:43:36 +02:00
Andreas Christou 0d6827eb75 Elasticsearch: Mark cross cluster search toggle as GA (#110806)
* Mark toggle as GA and update owners

* make gen toggles

* Do not enable by default for now

* Vale lint
2025-09-10 14:34:56 +01:00
Moustafa Baiou f65e219b21 Alerting: Update prometheus api to reuse list query logic
This lets the prometheus api respect NoGroup query logic and treat non-grouped rules consistently.

Co-authored-by: William Wernert <william.wernert@grafana.com>
2025-09-10 09:30:56 -04:00
Moustafa Baiou ca8324e62a Alerting: Add support for alpha rules apis in legacy storage
Rules created in the new api makes the rule have no group in the database, but the rule is returned in the old group api with a sentinel group name formatted with the rule uid for compatiblity with the old api.
This makes the UI continue to work with the rules without a group, and the ruler will continue to work with the rules without a group.

Rules are not allowed to be created in the provisioning api with a NoGroup sentinel mask, but NoGroup rules can be manipulated through both the new and old apis.

Co-authored-by: William Wernert <william.wernert@grafana.com>
2025-09-10 09:30:56 -04:00
Roberto Jiménez Sánchez 09ef9c8176 Provisioning: Remove again dependency cycle between provisioning app and grafana (#110863)
* Remove dependency cycle between provisioning app and grafana

* Format code

* Fix linting
2025-09-10 14:40:44 +02:00
Will Browne 5520a38726 Chore: Update log level for plugin container mode enabled path (#110873)
update log level
2025-09-10 12:36:55 +00:00
Will Browne 0a7e0e5298 Plugins: Add ability to run backend plugins in containers (#110534)
* add client cfg for containers

* remove unused code

* add field for skip host env for proto client

* add docker to Swagger ignore

* add to enterprise swagger gen

* undo go.mod changes

* pass container image

* propagate container image field
2025-09-10 11:12:23 +01:00
Gabriel MABILLE 5c6fd5e5af grafana-iam: Implement resourcepermission list (#110769)
* WIP: List

* make toV0ResourcePermissions work with an ordered list of assignments to ensure consistency in the results

* Test templates

* Split list query in two. I clearly need scopePatterns

* Add pagination with offsets

* Remove unecessary comment

* implement listiterator

* add listiterator tests

* return the correct resource version

* use SkipIntegrationTestInShortMode

* No need for the extra check on pagination being correctly set

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>

* Spec is out of date

* Remove wrong comment

* Add a test for the pagination token

---------

Co-authored-by: mohammad-hamid <mohammad.hamid@grafana.com>
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2025-09-10 11:17:53 +02:00
Todd Treece 7c242eeaef Background Services: Add wrapper to support startup order (#110225) 2025-09-10 09:06:25 +01:00
Stephanie Hingtgen 323738d191 Provisioning: Fix check of who can update (#110835) 2025-09-10 09:04:10 +03:00
Stephanie Hingtgen 8805e93b1d Provisioning: Add better nil check (#110847) 2025-09-09 18:23:11 -05:00
Stephanie Hingtgen 451cc00b6a Provisioning: Fix panic in webhook extra (#110845) 2025-09-09 17:16:57 -05:00
Roberto Jiménez Sánchez acbc2cf01a Provisioning: Configurable Repository Types in monolith and operators (#110822)
* Configurable repository types in monolith and operator

* Default to Github in operators

* Regenerate wire

* Fix and implement unit tests

* Same types for enterprise tests

* Remove unnecessary conversion

* Remove the issue with import cycles
2025-09-09 19:13:22 +02:00
Ryan McKinley 3f4c523ef5 Provisioning: Add k8s annotations for legacy folder provisioning (#110827) 2025-09-09 17:01:08 +00:00
Ryan McKinley 7e8bbd2ec4 DualWrite: Avoid dynamic wrapper when mode5 is configured (#110823) 2025-09-09 19:38:33 +03:00
Andre Pereira d26c6c112a Tempo: Migrates tags and tag values to datasource backend CallResource requests (#110511)
* Move tags and tag values request to datasource backend

* Remove outdated test

* Fix tests

* lint

* Refactor to use handlers for CallResource request

* lint

* Fix nit
2025-09-09 17:31:32 +01:00
Alexander Akhmetov 2a5e8c8f9f Alerting: Add alertenrichment feature toggles (#110815) 2025-09-09 16:50:49 +02:00
Ryan McKinley 0404eb3452 Chore: serverConfig.EffectiveVersion earlier in initialization (#110798) 2025-09-09 17:46:46 +03:00
Will Browne 05a6e8503e Plugins: StaticFS should implement FSRemover (#110706)
make staticfs implement fs removal interface
2025-09-09 15:33:05 +01:00
Sarah Zinger 3558a1c627 ds-querier: add status code log (#110783)
Add a log of final status code we send to ruler, that has ruleid label attached
2025-09-09 10:18:41 -04:00
Gabriel MABILLE d0f25b0cd7 Revert "Folders: Use authlib.AccessClient in authorizer" (#110812)
Revert "Folders: Use authlib.AccessClient in authorizer (#110602)"

This reverts commit 0cb52b8be0.
2025-09-09 15:45:37 +02:00
Todd Treece b30916c917 Alerting: Add alertenrichment dependency to go.mod (#110813) 2025-09-09 13:34:41 +00:00
Misi 3573736a75 Auth: Do not check externalUID when user authenticated by Grafana.com (#110801)
Check externalUID if the not authed by GrafanaCom
2025-09-09 14:18:23 +02:00
Peter Štibraný b3cc317cbc unified-storage search: Return bad request error for incomplete request. (#110802)
Return bad request error for incomplete request.
2025-09-09 14:15:45 +02:00
Georges Chaudy 7aa0622558 dashboard: editors can EDIT instead of admin. (#110650)
revert editor can admin
2025-09-09 14:11:16 +02:00
Gábor Farkas 95489fdca8 datasources: querier: refactor: simplify (#110516) 2025-09-09 13:27:52 +02:00
lean.dev b1a059ac4e CloudMigrations: wrap assert in EventuallyWithTf in case async sync hasnt finished (#110777)
* CloudMigrations: wrap assert in EventuallyWithTf in case async sync hasnt finished

* fix

* fix
2025-09-09 12:05:10 +01:00
Ryan McKinley 0cb52b8be0 Folders: Use authlib.AccessClient in authorizer (#110602) 2025-09-09 13:43:48 +03:00
Josh Hunt 4e05bb36f2 FS: Remove multiTenantFrontend flag (#110776)
* FS: Move multiTenantFrontend evaluation to OpenFeature

* comment

* actually, just remove the toggle

* fix k8s prefs test using toggle

* replace frontend flag usage

* codeowners

* move isFrontendService just into core

* put back comment
2025-09-09 09:39:29 +00:00
Peter Štibraný c32650e9d8 Replace remaining calls to testing.Short where possible. (#110765)
* Replace remaining calls to testing.Short where possible.
* Update style guide.
* Revert change in TestAlertmanager_ExtraDedupStage, as it doesn't work.
* Make TestAlertRulePostExport into integration test.
2025-09-09 08:16:12 +00:00
owensmallwood ffcc0e8de0 Unified Storage: Fix sortMeta always zero in legacy search api (#110779)
sort field is included in search request fields
2025-09-08 21:43:47 +00:00
William Wernert 61adae16f2 Alerting: Ensure failed query validation returns the proper error code (#110717)
Ensure presave error is a validation error
2025-09-08 13:51:22 -04:00
Daniele Stefano Ferru 76976ef648 Provisioning: add webhook support in API Server and Operator (#110673)
* Provisioning: add webhook support in API Server

* updating Extra interface

* adding extra with workers interface

* reverting extraWithWorkers in RegisterAPIService

* adding extra job worker provider

* adding new extra job provider

* Wire things differently

* Remove unused GetJobs

* Pass url variable as string

* Support webhooks in controller

* Fix condition

* Change the naming

---------

Co-authored-by: Roberto Jimenez Sanchez <roberto.jimenez@grafana.com>
2025-09-08 19:39:05 +02:00
Josh Hunt 454380431d FS: Get CDN prefix from configuration (#110615)
* FS: Get CDN prefix from configuration

* undo logger change

* fix tests

* add unused property

* tests

* fix tests

* remove dead comment
2025-09-08 15:57:03 +00:00
Ryan McKinley 7c95d3c8a9 Folders: Split legacy out of folder.Service (and remove folder.FolderStore) (#110734) 2025-09-08 18:27:49 +03:00
Andrew Hackmann 854a8f7e70 Prometheus data source: Remove migration background service (#110764)
Prometheus data source: remove mig bg service
:
2025-09-08 14:55:05 +00:00
Zoltán Bedi 67c26c493e PostgreSQL: Fix error source in PGX (#110752) 2025-09-08 16:21:05 +02:00