Commit Graph

8755 Commits

Author SHA1 Message Date
Konrad Lalik 0a8dccc19a Alerting: New alert list filter improvements (#103107)
* Move filtering code to generators for performance reasons

Discarding rules and groups early in the iterable chain limits the number of promises we need to wait for which improves performance significantly

* Add error handling for generators

* Add support for data source filter for GMA rules

* search WIP fix

* Fix datasource filter

* Move filtering back to filtered rules hook, use paged groups for improved performance

* Add queriedDatasources field to grafana managed rules and update filtering logic to rely on it

- Introduced a new field `queriedDatasources` in the AlertingRule struct to track data sources used in rules.
- Updated the Prometheus API to populate `queriedDatasources` when creating alerting rules.
- Modified filtering logic in the ruleFilter function to utilize the new `queriedDatasources` field for improved data source matching.
- Adjusted related tests to reflect changes in rule structure and filtering behavior.

* Add FilterView performance logging

* Improve GMA Prometheus types, rename queried datasources property

* Use custom generator helpers for flattening and filtering rule groups

* Fix lint errors, add missing translations

* Revert test condition

* Refactor api prom changes

* Fix lint errors

* Update backend tests

* Refactor rule list components to improve error handling and data source management

- Enhanced error handling in FilterViewResults by logging errors before returning an empty iterable.
- Simplified conditional rendering in GrafanaRuleLoader for better readability.
- Updated data source handling in PaginatedDataSourceLoader and PaginatedGrafanaLoader to use new individual rule group generator.
- Renamed toPageless function to toIndividualRuleGroups for clarity in prometheusGroupsGenerator.
- Improved filtering logic in useFilteredRulesIterator to utilize a dedicated function for data source type validation.
- Added isRulesDataSourceType utility function for better data source type checks.
- Removed commented-out code in PromRuleDTOBase for cleaner interface definition.

* Fix abort controller on FilterView

* Improve generators filtering

* fix abort controller

* refactor cancelSearch

* make states exclusive

* Load full page in one loadResultPage call

* Update tests, update translations

* Refactor filter status into separate component

* hoist hook

* Use the new function for supported rules source type

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2025-04-11 10:02:34 +02:00
Moustafa Baiou 032299011a Alerting: Relax permissions for access a rule (#103664)
This makes it so that it is:
- No longer required to have datasource permissions to delete a rule.
- No longer required to have datasource permissions to update non-query related fields of a rule.
2025-04-11 00:58:37 +01:00
Sven Grossmann 05338838b0 Sidecar: Remove experimental Sidecar implementation (#103786)
* Sidecar: remove `appSidecar` feature toggle

* Sidecar: Remove sidecar implementation

* lint
2025-04-10 22:04:12 +02:00
Kevin Yu fd6fd91115 Prometheus: Add support for cloud partners Prometheus data sources (#103482)
* wip

* Add prom flavor support for data source variables and export/import dashboards (#103321)

* add dashboard and data source var selection

* use match plugin id instead

* use updated matchpluginid

* formatting

* cleanup

* regex anchor

* update error msg

* Alerting: Clean up prometheus-flavored types and functions (#103703)

* clean up types and utility functions for dealing with
prometheus-flavored data sources

* Refactor alerting datasource types to use constants as source of truth

* Alerting: Clean up prometheus-flavored types and functions on the bac… (#103716)

Alerting: Clean up prometheus-flavored types and functions on the backend

* add matchPluginId tests

* Update matchPluginId func to bidirectional (#103746)

* update matchpluginid func to bidirectional

* lint

* formatting

* use actual isSupportedExternalRulesSourceType in test

* add tests in datasource_srv

* betterer

* remove type assertion

* remove unnecessary case

* use satisifies to not have to convert tuple to an array of string

* add prometheus_flavor test

---------

Co-authored-by: Andrew Hackmann <5140848+bossinc@users.noreply.github.com>
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
Co-authored-by: Alexander Akhmetov <me@alx.cx>
2025-04-10 12:49:11 -07:00
Mihai Doarna f8fc3d2db2 Chore: Fix lint error in accesscontrol API endpoints (#103792)
fix lint error
2025-04-10 12:29:04 -05:00
Kyle Brandt 4753c3f735 SQL Expressions: Set feature to private preview (#103734) 2025-04-10 10:46:48 -04:00
Ashley Harrison 6712a0331c Themes: Enable new (experimental) themes by default (#103790)
enable new (experimental) themes by default in g12
2025-04-10 15:44:00 +01:00
Mihai Doarna 42dd2336b9 Team: Add validation for provisioned teams in setUserPermission endpoint (#103623)
* removed provisioned team validation from team permissions

* validate team in setUserPermission
2025-04-10 17:28:31 +03:00
Will Browne a1b792b1f5 Plugins: Remove plugin dependency version (#103728)
remove plugin dependency version
2025-04-10 15:02:05 +01:00
Dana Axinte e86df64657 CloudMigrations: Change onPremToCloudMigrations feature toggle to GA (#103212)
* feature to ga

* change description
2025-04-10 14:53:22 +01:00
Dana Axinte 6fde69c333 CloudMigrations: Make improvements to the text content (#103770)
* change copy configuration

* comma and this token after token creation

* securely migrate and you'll need token

* add caret and modify steps

* period after check failed resources

* learn about migrating v1

* building snapshot reduce text

* right caret connect to a cloud stack

* building snapshot reduce text v2

* make i18n-extract after merge
2025-04-10 13:50:37 +01:00
Mariell Hoversholm 757be6365a CI: Bump golangci-lint to 2.0.2 (#103572) 2025-04-10 14:42:23 +02:00
xavi 5053aa576d [IAM] Prepend AppSubURL to redirectURI before validating it (#103475) 2025-04-10 11:15:19 +02:00
Stephanie Hingtgen 6eba5d74e1 Anonymous access: Allow setting org role in new authz service (#103669)
* Anonymous access: Allow setting org role in new authz service

* back out change that is not needed; rename struct

* cleanup

* Fix tests

---------

Co-authored-by: Gabriel Mabille <gabriel.mabille@grafana.com>
2025-04-10 09:51:10 +01:00
Andres Martinez Gotor 89c70fcdcf Chore: Advisor stats (#103711) 2025-04-10 10:51:00 +02:00
Zoltán Bedi 8c2e3dc308 Chore: Change owner for sqlDatasourceDatabaseSelection FT (#103680)
* Chore: Change owner for sqlDatasourceDatabaseSelection FT

* Update toggles_gen
2025-04-10 10:16:02 +02:00
Steve Simpson 870d401f75 Alerting: Update grafana/alerting (#103607)
* Alerting: Update grafana/alerting

* Run make update-workspace
2025-04-10 00:12:02 +02:00
Matias Chomicki b839be6086 Enable logsPanelControls by default (#103725) 2025-04-09 12:54:02 -05:00
Nick Richmond ac0c1ece79 MetricsDrilldown: Advance exploreMetricsUseExternalAppPlugin to GA (#103653)
chore: advance `exploreMetricsUseExternalAppPlugin` to GA
2025-04-09 13:22:47 -04:00
Alexander Akhmetov 97897b796e Alerting: Do not export MissingSeriesEvalsToResolve if it is not set (#103736) 2025-04-09 19:14:28 +02:00
Ieva d9dc93c4a6 AuthZService: improve authz caching (#103633)
* remove the use of client side cache for in-proc authz client

Co-authored-by: Gabriel MABILLE <gabriel.mabille@grafana.com>

* add a permission denial cache, fetch perms if not in either of the caches

Co-authored-by: Gabriel MABILLE <gabriel.mabille@grafana.com>

* Clean up tests

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

* Cache tests

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

* Add test to list + cache

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

* Add outdated cache test

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

* Re-organize metrics

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

---------

Co-authored-by: Gabriel MABILLE <gabriel.mabille@grafana.com>
2025-04-09 17:50:48 +01:00
Andres Martinez Gotor 890484ff6a Navigation: Allow apps to show IsNew badge in the navigation menu (#103608) 2025-04-09 15:32:34 +02:00
Andre Pereira ec2cd53b1a Tempo: Remove traceQLStreaming feature toggle (#103619)
Remove traceQLStreaming feature toggle and migration
2025-04-09 13:57:07 +01:00
Torkel Ödegaard 24474dcb9c AppChrome: Improved responsive use of vertical space (#103488)
* Progress

* Progress

* Update

* Update

* Update

* Update

* Responsive improvements

* Update

* Update

* Update

* Revert height change

* Update

* add missing testid

* update

* Fixes

* update

* Refactoring

* fix bug in app chrome service

* Fixed e2e tests

* fix

* fix

* Update

* Update

* fix bookmarks e2e

* Update

* improve responsiveness on small screens for breadcrumbs

* Always use two levels when menu is docked

* Adding kiosk toggle button to dashboards only

* update

* Update

* Update

* when menu is docked and no actions use 1 level

* removed formatting change that caused unnessary diff in PR

* remove extra separator line after merge with main

* Fix double separators

* Update

* remove temp change

* Update
2025-04-09 14:51:22 +02:00
Ryan McKinley af8a70bbab K8s/Permissions: Enable a grant-permissions annotation action to set default permissions (#102527)
* create permissions

* add key

* lint

* structure as a delayed callback

* legacy API hook

* merge main

* wired up

* and folders

* watch repos

* missing return statement

* Set the correct permissions

* add TestAfterCreatePermissionCreator

* do not add perms on folder create

* fix tests

* add annotation on create

* lint

* lint

* ensure we set permissions when the FT is disabled

* remove custom folder_storage

* fix lint

* change default

* lint

* lint

* fix: annotation

* ensure permissions are added on folder legacy

* remove folderstorage again

* fix tests

* add FT

* undo change to folder

* dashboard on create

* remove annotation for folder

* fix tests

* fix prepare after rebase

* fix tests

* fix tests

* fix tests

* lint

* address comments

* add test for prepareObjectForStorage

* add again skipIfMode as per comment

---------

Co-authored-by: Georges Chaudy <chaudyg@gmail.com>
2025-04-09 13:05:37 +02:00
Piotr Jamróz ceed824378 Profiles: add metrics from profiles feature toggle (#103453)
* Profiles: add metrics from profiles feature toggle

* Retrigger CI with new commit
2025-04-09 12:55:28 +02:00
linoman acf85504fc SCIM: Rename allow_non_provisioned_users (#103684)
Rename `allow_non_provisioned_users`
2025-04-09 12:38:56 +02:00
Alexander Akhmetov babe188e31 Alerting: Fix path for cortex-style Prometheus namespaces conversion endpoint (#103655) 2025-04-09 10:40:22 +02:00
linoman eeb4c045d3 SCIM: Add access control for non provisioned users (#103596)
* Add hook to validate access for users based on provisioning logic

* Wire the hook

* Add tests

* declare new variables for errors

* rework the authorization flow for provisioned users

* Add scim feature to testinfra opts

* Grant access if the identity doesn't have associated a user

* skip external uid check for subsequent calls

* Update tests
2025-04-08 22:50:39 +02:00
Matheus Macabu 3fad6183aa CloudMigrations: Create resource dependency map to validate snapshot request (#102594)
* CloudMigrations: Create resource dependency map to validate snapshot request

* CloudMigrations: Validate resource types dependencies in create snapshot request

* CloudMigrations: Update service interface to pass parsed resource types for creation

* CloudMigrations: Conditionally append resource to snapshot if enabled

* CloudMigrations: Add /cloudmigration/resources/dependencies endpoint

* CloudMigrations: Properly filter dashboards and folders from snapshot
2025-04-08 17:46:25 +02:00
Joey fc37bb4355 Remove nodeGraphDotLayout feature toggle (#103541) 2025-04-08 15:37:17 +01:00
Peter Štibraný 4efdef9b9c Switch to using in-mem sequence generator only when explicitly configured in connection string. Move spanner-related functions to pkg/util/spanner. (#103363)
* Switch to using in-mem sequence generator only when explicitly configured in connection string.
Move spanner-related functions to pkg/util/spanner.
2025-04-08 16:36:37 +02:00
Cory Forseth 4caa9853cb Authorization: Add group to role DisplayName to make filtered list more clear (#102950)
* add group to role DisplayName to make searching easier

* clean up more role names; add filtered display text when fetching

* pass filter state into role menu to decide how to display role name

* prop name better describes what it does
2025-04-08 09:15:03 -05:00
William Wernert a8f60de620 Alerting: Remove feature toggles relating to Loki Alert State History (#103540)
* Remove feature toggles relating to Loki Alert State History
2025-04-08 09:50:27 -04:00
Peter Štibraný 04ac3960de anonstore: Fix more test failures in anonstore package. (#103459)
Fix more test failures in anonstore package.
2025-04-08 14:57:59 +02:00
Michael Mandrus 0fd7dfeb2a CloudMigrations: Implement table sorting in the UI (#103061)
* implement sorting

* swagger gen

* minor fixes

* clean up param reading

* add todo

* add errors only prop

* codegen stuff

* fix copy paste error

* forgot the api gen

* implement sorting on the frontend

* remove unused enums

* cleanup

* remove tests that are obe

* fix merge

* change page length based on checked box

* cleanup

* fix test

* i18n-extract

* var name tweaks

* use switch and conditional rendering instead of checkbox

* i18n-extract

* use initial sort

* fix type

* fix layout

* fix bugs

* make betterer happy

* fix var names
2025-04-08 08:14:17 -04:00
Josh Hunt 577ea8f6a9 GrafanaUI: Remove blurred background from overlay backdrops to improve performance (#103563)
* default noBackdropBlur to enabled

* move blur from hacks to theme.components, tweak backdrop colour

* remove toggle completely

* fix unused import
2025-04-08 11:58:19 +01:00
Arati R. df537d6f0f UniStore/Large Objects: Make threshold configurable (#101774)
* Make blob threshold configurable
* Test condition for deconstructing large objects
* Refactor blob threshold naming
2025-04-08 10:50:35 +02:00
Mihai Doarna 64e005d12f Teams: Restrict provisioned teams from being updated and deleted (#103454)
* restrict provisioned teams from being updated and deleted

* check if team is provisioned before update and delete

* add function getTeamDTOByID()

* check if team is provisioned in access control

* fix TestDeleteTeamMembersAPIEndpoint

* add unit tests

* add function for validating a team
2025-04-08 11:27:30 +03:00
Alexander Zobnin 4bc9203cf6 Zanzana: Perform shadow requests (#103444)
* Zanzana: Execute checks in the background

* add metrics

* collect metrics

* cleanup

* shadow compile checker

* add time metrics for compiler

* run compile in parallel

* prevent deadlock
2025-04-08 10:03:35 +02:00
Alexander Akhmetov c4a2f99d8b Alerting: Allow importing Prometheus rules with keep_firing_for (#103557) 2025-04-07 22:33:07 +02:00
Alexander Akhmetov 66006928b8 Alerting: Set ExecErrState to Normal for imported Prometheus rules (#103556) 2025-04-07 21:55:32 +02:00
Alexander Akhmetov 09a7f9ba1c Alerting: Update external alert manager notifier (#103530) 2025-04-07 17:09:23 +02:00
Ryan McKinley 63af403897 Live: Remove queryOverLive and live-service-web-worker experimental feature flags (#103518) 2025-04-07 17:47:35 +03:00
Matias Chomicki e2a6f9a849 Logs: Add new Controls component to Explore (#103401)
* ControlledLogRows: create component

* Fix imports

* ControlledLogRows: handle scroll events

* Rename storage key prop

* LogListControls: externally control syntax highlighting

* ControlledLogRows: add support for level filtering

* Logs: implement deduplication from controls

* Fix imports

* Create feature flag

* Use feature flag

* LogListControls: add download button

* LogsMetaRow: extract download function to logs utils

* Filter and download logs

* Update tests with new props

* LogList: pass logs and logs meta to context

* Remove prefix from downloaded file

* Update unit tests

* LogListControl: update unit tests

* Fix type assertion

* Fix imports

* Formatting

* i18n

* Fix test

* LogListControls: adjust scroll to top styles

* LogListContext: control legacy options

* LogListControls: add showUniqueLabels and prettifyJSON options

* LogListControls: test new controls

* Extract translations

* Hide old controls by feature flag

* LogListControls: update prettify json copy

* ControlledLogRows: disable preview

* Prettier

* LogListControls: Fix test
2025-04-07 16:38:55 +02:00
Leonor Oliveira e9ed7223a6 Use authlib repo. Use otel (#103178)
* Use authlib repo. Use otel

* Use interceptors on the provider level

* Create a new wire set with otel

* Lint

* Fix test

* make update-workflow

* make update-workspace

* make update-workspace. Try to add authlib as enterprise imports

* make update-workspace
2025-04-07 15:47:40 +02:00
Will Assis 9bc4fbe900 alerting: batch user service calls (#103403)
* update alerting endpoints to batch requests to the user service via ListByIdOrUID
2025-04-07 07:33:15 -04:00
Alexander Akhmetov cf5da1d366 Alerting: Fix swagger in pkg/services/ngalert/api/tooling (#103500) 2025-04-07 12:38:07 +02:00
Peter Štibraný 68c6e88b00 Support creating temporary Spanner databases for integration tests. (#103347)
* Support creating temporary Spanner databases for integration tests.
2025-04-07 12:15:16 +02:00
Stephanie Hingtgen 8cd6f837a5 Dashboards: Prevent saving to a non-existent folder (#103503) 2025-04-07 09:02:20 +03:00