Commit Graph

6499 Commits

Author SHA1 Message Date
Gabriel MABILLE 7512b1a519 RBAC: Search fix userID filter (#81337) 2024-01-26 12:23:48 +02:00
Gabriel MABILLE 19194ea122 RBAC: Remove redundant search endpoint (#81331) 2024-01-26 11:11:41 +02:00
Gabriel MABILLE 722b78f3e0 RBAC: Add userLogin filter to the permission search endpoint (#81137)
* RBAC: Search add user login filter

* Switch to a userService resolving instead

* Remove unused error

* Fallback to use the cache

* account for userID filter

* Account for the error

* snake case

* Add test cases

* Add api tests

* Fix return on error

* Re-order imports
2024-01-26 09:43:16 +01:00
Alexander Weaver ae2e1aeee4 Alerting: Upgrade feature toggle stages for jitterAlertRules and jitterAlertRulesWithinGroups (#81314)
Upgrade jitter toggle stages
2024-01-25 16:46:22 -06:00
Sofia Papagiannaki b1eec36df3 Alerting: Fix authorisation to use namespace UIDs for scope (#81231) 2024-01-25 15:19:51 -05:00
William Wernert 2af8158f99 Remove Loki annotation toggle (#81296) 2024-01-25 12:56:09 -05:00
Ieva dc9e590b7b RBAC: Return the underlying error instead of internal server or bad request for managed permission endpoints (#80974)
* return not found instead of an internal server error when listing/updating permissions

* openapi gen
2024-01-25 16:24:52 +00:00
Sergej-Vlasov 9ba13dd309 Dashboards: Remove emptyDashboardPage feature flag (#81188)
* remove emptyDashboardPage feature toggle from DashNav

* remove emptyDashboardPage feature toggle from NewDashboardWithDS

* remove emptyDashboardPage feature toggle from DashboardGrid

* remove emptyDashboardPage feature toggle from DashboardModel

* remove emptyDashboardPage feature toggle from initDashboard

* remove unused AddPanelWidged component

* remove add-panel type from test

* remove emptyDashboardPage feature flag from registry.go
2024-01-25 14:04:29 +00:00
Hugo Kiyodi Oshiro d66d7a9642 Plugins: Change managedPluginsInstall to public preview (#81053) 2024-01-25 14:32:31 +01:00
Alexander Zobnin 3094531b63 Folders: Optimize shared folders listing (#81245)
* Folders: Expose function for getting all org folders with specific UIDs

* lint

* Fix test

* fixup

* Apply suggestion from code review

* Remove changes in alerting scheduler

* fixup

* fixup after merge with main

* Add batching

* Use strings.Builder

* Return all org folders if UIDs is empty

* Filter out not accessible folders by the user

* Remove comment

* Fix batching when count is zero

* Do not include dashboard permissions

* Add some tests

* fix test

* Use batch request for folders

* Use batch request to deduplicate folders

* Refactor

* Fix after merging main

* Refactor

---------

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2024-01-25 13:02:32 +01:00
idafurjes 0880a239f8 Add leftover metrics for FolderID (#81246) 2024-01-25 12:14:18 +01:00
Misi 4577e61ee7 Auth: Improve /admin/authentication permission checks and include new SSO pages (#81183)
* Move evalAuthSettings to ssoutils

* Improve permission check for auth page
2024-01-25 11:13:24 +01:00
idafurjes 7e5544ab21 Add MFolderIDsServiceCount to count folderIDs in services pkg (#81237) 2024-01-25 11:10:35 +01:00
Sofia Papagiannaki 478d7d58fa Nested folders: Allow creating folders with duplicate names in different locations (#77076)
* Add API test

* Add move tests

* Fix create folder

* Fix move

* Fix test

* Drop and re-create index so that allows a folder to contain a dashboard and a subfolder with same name

* Get folder by title defaults to root folder and optionally fetches folder by provided parent folder

* Apply suggestions from code review
2024-01-25 11:29:56 +02:00
Sofia Papagiannaki 6e827889b4 Chore: Fix folders flaky test (#81234)
It used to wrongly assume slice ordering
2024-01-25 10:55:44 +02:00
Sofia Papagiannaki 5e88d29814 Folders: Introduce folder service function for fetching folders by org and UIDs that contain optionally the folder full path (#80716)
* Folders: Expose function for getting all org folders with specific UIDs

* Return all org folders if UIDs is empty

* Filter out not accessible folders by the user

* Modify query to optionally returning a string that contains the UIDs of all parent folders separated by slash.
2024-01-25 09:27:13 +02:00
William Wernert 2203bc2a3d Alerting: Refactor provisioning tests/fakes (#81205)
* Fix up test Alertmanager config JSON

* Move fake AM config and provisioning stores to fakes package
2024-01-24 17:15:55 -05:00
Matthew Jacobson e45f664ca4 Alerting: Replace index role_id, action, scope with action, scope, role_id on permission table (#80336)
* Alerting: Add action, scope, role_id to permission table

The existing role_id, action, scope index has the wrong ordering to be most
effectively used in dashboard/folder permission requests.

On a large tests set, the slow database calls were on the order of ~30-40ms, so
when performed individually they don't have that large of a latency impact.
However, when done in bulk in the migration this adds up to some very slow
requests.

After the index is added these same database calls are reduced to ~4-5ms

* Change index to action, scope, role_id

* Make new index unique and drop [role_id, action, scope] index
2024-01-24 16:18:14 -05:00
Matthew Jacobson 71e70c424f Alerting: During legacy migration reduce the number of created silences (#78505)
* Alerting: During legacy migration reduce the number of created silences

During legacy migration every migrated rule was given a label rule_uid=<uid>.
This was used to silence DatasourceError/DatasourceNoData alerts for
migrated rules that had either ExecutionErrorState/NoDataState set to
keep_state, respectively.

This could potentially create a large amount of silences and a high cardinality
label. Both of these scenarios have poor outcomes for CPU load and latency in
unified alerting.

Instead, this change creates one label per ExecutionErrorState/NoDataState when
they are set to keep_state as well as two silence rules, if rules with said
labels were created during migration. These silence rules are:

- __legacy_silence_error_keep_state__ = true
- __legacy_silence_nodata_keep_state__ = true

This will drastically reduce the number of created silence rules in most cases
as well as not create the potentially high cardinality label `rule_uid`.
2024-01-24 15:56:19 -05:00
Santiago fbbda6c05e Alerting: Retry readiness check to the remote Alertmanager on 5xx status code responses (#81174) 2024-01-24 21:39:06 +01:00
Marcus Efraimsson 20fe0eb173 Chore: Extract DatabaseConfig parsing from SQLStore (#81157)
Extract the parsing/creating of database config/connectiong from SQLStore string 
to a separate DatabaseConfig struct.
2024-01-24 16:49:49 +01:00
Misi c47b55ae10 Auth: Add SSO settings usage stats (#81143)
* Add usage stats

* UsageStats test + svc rename

* Fix test
2024-01-24 15:39:50 +01:00
Alexander Zobnin 7872a128a2 Folders: Add metric for listing subfolders duration (#81144) 2024-01-24 14:15:32 +01:00
Karl Persson 28bb6979f5 IDForwading: cache based on expires in (#81136)
* IDFowarding: Cache based on expires in

* IDFowarding: Change default expires in

---------

Co-authored-by: Victor Cinaglia <victor@grafana.com>
2024-01-24 13:56:44 +01:00
Gabriel MABILLE 63679813b0 RBAC: prevent seeding oncall access (#80862)
* RBAC: prevent seeding oncall access

* Add comments and an early exit

* Test SeedAssignmentOnCallAccessMigrator

* imports

* Comment rework

* Check error

* Nit.
2024-01-24 09:23:40 +01:00
George Robinson 05d858635c Alerting: Add metric for inhibition rules (#81119)
This commit adds a metric for the number of inhibition rules.
It matches the metric added upstream in #3681.
2024-01-23 19:43:17 +00:00
Matthew Jacobson 2607528b52 Alerting: Update legacy migration docs to include Upgrade Preview (#80628)
* Alerting: Update legacy migration docs to include Upgrade Preview
2024-01-23 14:09:52 -05:00
Ryan McKinley 2b355ff280 K8s: Remove grafanaAPIServer feature toggle (#81030) 2024-01-23 08:27:28 -08:00
Jean-Philippe Quéméner aa25776f81 Alerting: Add a feature flag to periodically save states (#80987) 2024-01-23 17:03:30 +01:00
George Robinson 85b9edcd28 Alerting: Fix incorrect initialization of logger (#81099) 2024-01-23 17:29:38 +02:00
Misi ea1ab0d84f Auth: Remove DevModeRequired from the SsoSettingsApi feature toggle (#81091)
Remove DevModeRequired from ft
2024-01-23 16:11:26 +01:00
Misi 8246d97587 Auth: Introduce configurable_providers config option for SSO settings (#80911)
* Add SSOSettingsConfigurableProviders config option

* Add check to Delete and ListWithRedactedSecrets

* Add check to GET, small improvements
2024-01-23 15:48:06 +01:00
Jo 9f5a8bf926 AuthInfo: Revert #81013. Fix cache invalidation (#81050)
* Revert "Auth: Revert "Auth: Cache Auth Info" (#81013)"

This reverts commit ce84f7c540.

* fix cache invalidation during user takeover

* fix incomplete test
2024-01-23 15:26:38 +01:00
Eric Leijonmarck b43b2608b5 Chore: Enable and Fix flaky test in anonimpl service (#80896)
* fix: flaky test

* set fixed time instead

* flaky
2024-01-23 12:27:26 +00:00
Marcus Efraimsson 6768c6c059 Chore: Remove public vars in setting package (#81018)
Removes the public variable setting.SecretKey plus some other ones. 
Introduces some new functions for creating setting.Cfg.
2024-01-23 12:36:22 +01:00
Karl Persson 147bf01745 IDForwarding: Always forward id tokens to plugins (#81041)
* Always forward id tokens to plugins
2024-01-23 12:12:32 +01:00
Ryan McKinley c7c594dba0 K8s/DataSource: Introduce PluginConfigProvider (#80928) 2024-01-22 11:32:25 -08:00
Misi ce84f7c540 Auth: Revert "Auth: Cache Auth Info" (#81013)
Revert "Auth: Cache Auth Info"
2024-01-22 21:25:24 +02:00
Michael Mandrus cf13cb9f70 Cloud Migrations: Create new service for cloud migrations (#80949)
* introduce feature toggle

* create base service structure

* fix sample metric

* register metrics

* add to codeowners

* separate api dtos from service models

* remove leading newline
2024-01-22 11:09:08 -05:00
Tania 07aa173939 Nested Folders: Add back syncing of folders between folder and dashboard tbls (#80972)
Add back syncing of folders between folder and dashboard tbls

This partially reverts commit 06d2ae3ada.
2024-01-22 17:04:18 +01:00
Sofia Papagiannaki 4243079cb5 Folders: Fix creating/updating a folder whose title has leading and trailing spaces (#80909)
* Add tests

* Folders: Fix creating folder whose title has leading and trailing spaces

* Fix folder update

* Remove redundant argument

* Fix test
2024-01-22 18:03:30 +02:00
Dave Henderson e0402115ea Notifications: Optional trace propagation through SMTP (#80481)
* Notifications: Optional trace propagation through SMTP

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

* fix failing test

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

* Add documentation

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

---------

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2024-01-22 10:50:05 -05:00
Joey f3c64a7337 Tempo: Remove profiling toggles (#80792)
* Remove traceToProfiles toggle

* Remove tracesEmbeddedFlameGraph toggle

* Remove superfluous import

* Update ConfigDescriptionLink

* Update getting of profiles from standalone build PR
2024-01-22 14:21:14 +00:00
Misi 20bb0a3ab1 AuthN: Support reloading SSO config after the sso settings have changed (#80734)
* Add AuthNSvc reload handling

* Working, need to add test

* Remove commented out code

* Add Reload implementation to connectors

* Align and add tests, refactor

* Add more tests, linting

* Add extra checks + tests to oauth client

* Clean up based on reviews

* Move config instantiation into newSocialBase

* Use specific error
2024-01-22 14:54:48 +01:00
Jean-Philippe Quéméner eb7e1216a1 feat(alerting): add async state persister (#80763) 2024-01-22 13:07:11 +01:00
Sven Grossmann 61ed0ef73f Tests: Update geomap golden json (#80964)
update geomap golden json
2024-01-22 13:25:51 +02:00
Piotr Jamróz 98e3a01aff Correlations: Enable correlations feature toggle by default (#80881)
* Enable correlations by default

* Update docs
2024-01-22 09:27:11 +01:00
colin-stuart e241188f00 Auth: Implement the SSO Settings List endpoint (#80769)
* add list endpoint & initial tests

* add tests and ETag

* format service_test.go

* add list swagger param, generate openAPI, remove ETag, use RedactedPassword

* correct swagger param name

* Align tests to latest changes

* use setting.RedactedValue()

* add string assertion

* lint & require no error on res.Body.Close()

* add custom response type

---------

Co-authored-by: Mihaly Gyongyosi <mgyongyosi@users.noreply.github.com>
2024-01-19 14:39:09 -05:00
Julien Duchesne 40312c527b ngalert openapi: Fix ObjectMatchers definition (#79477)
These don't get marshalled and unmarshalled in the same way as they are represented in Go
This PR changes the OpenAPI spec to reflect what the API accepts and sends back
2024-01-19 14:37:11 -05:00
Will Browne d5bec225ed Plugins: Fix Plugin Context method docs (#80906)
* fix method docs

* add docs for new method
2024-01-19 16:22:17 +01:00