Commit Graph

6540 Commits

Author SHA1 Message Date
William Wernert
7e939401dc
Alerting: Introduce initial common receiver service (#81211)
* Create locking config store that mimics existing provisioning store

* Rename existing receivers(_test).go

* Introduce shared receiver group service

* Fix test

* Move query model to models package

* ReceiverGroup -> Receiver

* Remove locking config store

* Move convert methods to compat.go

* Cleanup
2024-02-01 14:42:59 -05:00
ismail simsek
8fc8b03d1d
Prometheus: Remove featuremgmt imports (#81586)
* remove featuremgmt imports

* pass down feature flags instead of reading them for every query execution
2024-02-01 18:07:32 +01:00
Alyssa Bull
312fdf9ce0
Cloud Monitoring: Fix naming (#81654) 2024-02-01 09:05:54 -07:00
George Robinson
0726c7c3fa
Alerting: Prevent inhibition rules in Grafana Alertmanager (#81712)
This commit prevents saving configurations containing inhibition
rules in Grafana Alertmanager. It does not reject inhibition
rules when using external Alertmanagers, such as Mimir. This meant
the validation had to be put in the MultiOrgAlertmanager instead of
in the validation of PostableUserConfig. We can remove this when
inhibition rules are supported in Grafana Managed Alerts.
2024-02-01 14:53:15 +00:00
Ashley Harrison
3e01ba0f57
QueryEditor: remove slateAutocomplete toggle (#81696)
remove toggle
2024-02-01 13:03:11 +00:00
Gabriel MABILLE
3df0611f81
RBAC: Fix authorize in org (#81552)
* RBAC: Fix authorize in org

* Implement option 2

* Fix typo

* Fix alerting test

* Add test to cover the not member case
2024-02-01 12:37:01 +01:00
ismail simsek
536153c336
InfluxDB: Run queries in parallel behind influxdbRunQueriesInParallel feature toggle (#81209)
* create the feature flag

* bring the concurrency in to the play

* Update feature flag

* Use concurrency number from settings

* update influxdb dependency

* use ConcurrentQueryCount from plugin-sdk-go

* use helper method for concurrent query count

* log the error

* add value guard

* add unit tests

* handle concurrency error
2024-02-01 11:58:24 +01:00
idafurjes
1a51240dc7
Remove some folderIDs from database test (#81643)
* Remove some folderIDs from database test

* Add folderUID to insertTestDashboardForPlugin
2024-02-01 10:13:15 +01:00
Matthew Jacobson
0ce1ccd6f9
Alerting: Fix inconsistent AM raw config when applied via sync vs API (#81655)
AM config applied via API would use the PostableUserConfig as the AM raw
config and also the hash used to decide when the AM config has changed.
However, when applied via the periodic sync the PostableApiAlertingConfig would
be used instead.

This leads to two issues:
- Inconsistent hash comparisons when modifying the AM causing redundant applies.
- GetStatus assumed the raw config was PostableUserConfig causing the endpoint
to return correctly after a new config is applied via API and then nothing once
 the periodic sync runs.

Note: Technically, the upstream GrafanaAlertamanger GetStatus shouldn't be
returning PostableUserConfig or PostableApiAlertingConfig, but instead
GettableStatus. However, this issue required changes elsewhere and is out of
scope.
2024-01-31 21:05:30 +02:00
Ryan McKinley
e013cd427c
K8s: Add basic query service (#80325) 2024-01-31 20:36:51 +02:00
Ieva
c310a20966
AuthZ: add headers for IP range AC checks for cloud data sources (#80208)
* add feature toggle

* add a middleware that appens headers for IP range AC

* sort imports

* sign IP range header and only append it if the request is going to allow listed data sources

* sign a random generated string instead of IP, also change the name of the middleware to make it more generic

* remove the DS IP range AC options from the config file; remove unwanted change

* add test

* sanitize the URLs when comparing

* cleanup and fixes

* check if X-Real-Ip is present, and set the internal request header if it is not present

* use split string function from the util package
2024-01-31 18:09:24 +01:00
Andrej Ocenas
cb945aa5df
NodeGraph: Use layered layout instead of force based layout (#78957) 2024-01-31 17:26:12 +01:00
Mihai Doarna
395a06ab86
Auth: fix swagger responses for the SSO settings API (#81639)
fix swagger responses for the sso settings API
2024-01-31 18:06:22 +02:00
Alexander Zobnin
1bcd597bc0
Nested folders: Improve performance of shared with me dashboards listing (#81590)
* Nested folders: Improve performance of shared with me dashboards listing

* Fix tests

* Clean up guardian
2024-01-31 16:25:11 +01:00
Alexander Zobnin
b4d363e8fe
Chore: Fix broken anonymous devices test (#81649) 2024-01-31 17:09:32 +02:00
Ashley Harrison
39057552dc
QueryField: Handle autocomplete better (#81484)
* extract out function + add unit tests

* add feature toggle and default it to on
2024-01-31 10:01:20 +00:00
Michael Mandrus
cbd2032aea
Feature Toggles: Remove DocsURL from FeatureFlag struct (#79774)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2024-01-31 08:25:16 +02:00
Ryan McKinley
2ffd56c23b
K8s: Improve OpenAPI behaviour (#81606) 2024-01-31 01:17:14 +02:00
Alyssa Bull
be6efd9518
Cloud Monitoring: Add standalone files and modify plugin.json (#81596) 2024-01-30 15:52:44 -07:00
Yuri Tseretyan
131c72d655
Alerting: Fix scheduler to group folders by the unique key (orgID and UID) (#81303) 2024-01-30 17:14:11 -05:00
Ryan McKinley
e041055012
K8s/Folders: Rename api group to singular (#81443) 2024-01-30 08:50:37 -08:00
Sofia Papagiannaki
89d3b55bec
Folders: Reduce DB queries when counting and deleting resources under folders (#81153)
* Add folder store method for fetching all folder descendants

* Modify GetDescendantCounts() to fetch folder descendants at once

* Reduce DB calls when counting library panels under dashboard

* Reduce DB calls when counting dashboards under folder

* Reduce DB calls during folder delete

* Modify folder registry to count/delete entities under multiple folders

* Reduce DB calls when counting

* Reduce DB calls when deleting
2024-01-30 18:26:34 +02:00
ismail simsek
0139ac205d
Chore: Remove disablePrometheusExemplarSampling feature toggle (#81579)
remove disablePrometheusExemplarSampling ft
2024-01-30 17:00:04 +01:00
Tania
b84dde7b4a
Chore: Change response status for dashboard import with invalid input (#81521)
* Return BadRequest when dashboard import failed due to invalid input
2024-01-30 16:57:01 +01:00
Arati R
77775d548a
Chore: Add some tests for the Create method (#81364)
* Add test for create method
    Co-authored-by: Tania B <10127682+undef1nd@users.noreply.github.com>
* Change structure of entity package to break import cycle
* Update wire file

---------

Co-authored-by: Tania B <10127682+undef1nd@users.noreply.github.com>
2024-01-30 14:15:12 +01:00
Nathan Vērzemnieks
ec4fafa08f
Cloudwatch: Deprecate cloudwatchNewRegionsHandler feature toggle and remove core imports from featuremgmt (#81310)
* Remove core imports from grafana/pkg/services/featuremgmt in CloudWatch
2024-01-30 13:11:52 +01:00
Ida Štambuk
6e8495822a
Feature Management: Move awsDatasourcesNewFormStyling to Public Preview (#81257) 2024-01-30 12:25:16 +01:00
Gabriel MABILLE
08f305797f
RBAC: Add metric to count search user permissions cache hits (#81451) 2024-01-30 10:37:47 +01:00
Dominik Prokop
f77c831e3f
Data query: Allow logging panel plugin id when executing queries (#81164)
* Data query: Allo logging panel plugin id when executing queries

* Update tracing header middleware

* Test fix

* Add panelPluginType to query analytics

* Cleanup
2024-01-30 00:06:31 -08:00
Kyle Brandt
43d0664340
Prometheus: (Experimental) Inject label matchers into queries (also change drone to fix ARM rpm build and Update Swagger) (#81396)
- Feature Toggle is `promQLScope`.
 - Query property is:

"scope": {
  "matchers": "{job=~\".*\"}"
 }

Misc:
 - Also updates drone GO version to address ARM bug https://github.com/golang/go/issues/58425
 - Also updates Swagger defs that were causing builds to fail

---------

Co-authored-by: Kevin Minehart <kmineh0151@gmail.com>
2024-01-29 22:22:17 +02:00
Alyssa Bull
2d432d6ff3
Plugins: Externalize Cloud Monitoring data source (#80181) 2024-01-29 09:24:23 -07:00
William Wernert
de662810cf
Alerting: Create instance of alert rule generator in historian annotation tests (#81394)
* Create generator variable to ensure closures have correct context
2024-01-29 11:22:43 -05:00
Mihai Doarna
6b28669e1f
Send empty http response when body is nil (#80196)
* build empty response if body is nil

* fix test
2024-01-29 14:17:56 +02:00
Misi
bcc2409564
Auth: Add validation to Generic OAuth API and UI (#81345)
* wip

* Update validation

* Chore: Remove InputControl usage

* Fixes, validation

* Remove empty option

* Validation changes

* Add tests, rename

* lint

---------

Co-authored-by: Clarity-89 <homes89@ukr.net>
2024-01-29 12:04:22 +01:00
Misi
7e96a2be56
Auth: Reload OAuth provider after deletion of the current settings (#81374)
* Reload after deletion of the current settings

* Add grafana_ssosettings_setting_reload_failure_total counter

* Returns successfully if data reload failed
2024-01-29 12:02:04 +01:00
Ryan McKinley
1fab107e79
FeatureFlags: Avoid using cfg.IsFeatureToggleEnabled (#81407) 2024-01-28 15:22:45 -08:00
Ieva
048d1e7c86
RBAC: Annotation permission migration (#78899)
* add annotation permissions to dashboard managed role and add migrations for annotation permissions

* fix a bug with conditional access level definitions

* add tests

* Update pkg/services/sqlstore/migrations/accesscontrol/dashboard_permissions.go

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>

* apply feedback

* add batching, fix tests and a typo

* add one more test

* undo unneeded change

* undo unwanted change

* only check the default basic permissions for non-OSS instances

* account for all wildcards and simplify the check a bit

* error handling and extra conditionals to avoid test failures

* fix a bug with admin permissions not appearing for folders

* fix the OSS check

---------

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2024-01-26 17:17:29 +00:00
Yuri Tseretyan
a081abdd25
Folders: GetFolders to return empty respons if user does not have any permissions (#81304)
add check for list of permissions
2024-01-26 19:12:45 +02:00
idafurjes
f44592a97a
Remove folderID from service tests (#80615)
* Remove folderID from service tests

* Remove folderID from ngalert migration tests

* Remove tests related to folderIDs

* Roll back change

Before removing FolderID from this test, we need to adjust the code

* Remove FolderID from publicdashboard pkg

* Add back annotations test
2024-01-26 17:36:35 +02:00
Ashley Harrison
04396c001a
Navigation: Move asserts app to root, add asserts icon (#81362)
* move asserts app to root, add asserts icon

* remove width/height/fill from asserts icon
2024-01-26 15:30:36 +00:00
Jo
f3f36e37fa
AuthInfo: No mandatory auth_id in Auth Info service (#81335)
* fix auth info update not having mandatory auth_id

* remove uneeded newline
2024-01-26 11:54:00 +01:00
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