Commit Graph
6571 Commits
Author SHA1 Message Date
ismail simsek 2679599968 Prometheus: Remove grafana/pkg/setting imports (#81813)
* upgrade grafana-azure-sdk-go v1.12.0

* add AzureAuthEnabled to config

* remove grafana/pkg/setting imports

* remove grafana/pkg/setting imports

* remove comment

* add better error message

* Fix the unit test

* fix lint
2024-02-07 11:01:09 +01:00
Yuri Tseretyan 47546a4c72 Alerting: Update API to use folders' full paths (#81214)
* update GetUserVisibleNamespaces to use FolderSeriver
* update GetNamespaceByUID to use FolderService.GetFolders
* update GetAlertRulesForScheduling to use FolderService.GetFolders 

* Update API and GetAlertRulesForScheduling to use the folder's full path
* get full path of folder in RouteTestGrafanaRuleConfig

* fix escaping of titles for MySQL
2024-02-06 17:12:13 -05:00
Ryan McKinley 91754bcda5 K8s: Refactor standalone apiserver initialization (#81932) 2024-02-06 08:40:35 -08:00
Gabriel MABILLE 4af5aef417 id forwarding: transfer Grafana id token to app plugins (#81967)
* id forwarding: allow for app plugins as well

* Add test
2024-02-06 16:26:17 +01:00
GokhanandYuri Tseretyan cf601fab09 Alerting: Enable sending notifications to a specific topic on Telegram (#79546)
Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2024-02-06 17:19:22 +02:00
William Wernert 2ea82af6e7 Alerting: Pass in receiver service to API struct (#81978) 2024-02-06 16:49:47 +02:00
Yuri TseretyanandSofia Papagiannaki 15223a4b85 Folders: Set FullPath and FullPathUIDs when feature flag is off and query requests (#81896)
* set FullPath and FullPathUIDs if feature flag is off and query requests

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2024-02-06 09:18:40 -05:00
Ashley Harrison 28b336ac80 DockedMegaMenu: Clean up toggle and old code (#81878)
* remove toggle

* remove code not behind toggle

* remove old MegaMenu

* rename DockedMegaMenu -> MegaMenu and clean up go code

* fix backend test

* run yarn i18n:extract

* fix some unit tests

* fix remaining unit tests

* fix remaining e2e/unit tests
2024-02-06 13:43:11 +00:00
Jo cf616d5074 Remove X-Grafana-Device-Id from outbound requests (#81957) 2024-02-06 14:06:19 +01:00
Sergej-Vlasov 3605d85c4c Dashboards: Remove advancedDataSourcePicker feature toggle (#81790)
* remove advancedDataSourcePicker feature toggle from DataSourcePickerWithPrompt

* remove advancedDataSourcePicker toggle from DataSourcePicker and adjust tests that relied on old picker

* adjust failing tests in QueryVariableEditorForm

* move DataSourceDropdown to DataSourcePicker file

* covert style declaration syntax to object style in DataSourcePicker

* remove advancedDataSourcePicker  feature flag from registry

* remove .only from test

* adjust QueryVariableEditor test to avoid console.error
2024-02-06 09:20:07 +00:00
George Robinson c8ccc4649c Alerting: Support UTF-8 (#81512)
This pull request updates our fork of Alertmanager to commit 65bdab0, which is based on commit 5658f8c in Prometheus Alertmanager.

It applies the changes from grafana/alerting#155 which removes the overrides for validation of alerts, labels and silences that we had put in place to allow alerts and silences to work for non-Prometheus datasources. However, as this is now supported in Alertmanager with the UTF-8 work, we can use the new upstream functions and remove these overrides.

The compat package is a package in Alertmanager that takes care of backwards compatibility when parsing matchers, validating alerts, labels and silences. It has three modes: classic mode, UTF-8 strict mode, fallback mode. These modes are controlled via compat.InitFromFlags. Grafana initializes the compat package without any feature flags, which is the equivalent of fallback mode. Classic and UTF-8 strict mode are used in Mimir.

While Grafana Managed Alerts have no need for fallback mode, Grafana can still be used as an interface to manage the configurations of Mimir Alertmanagers and view configurations of Prometheus Alertmanager, and those installations might not have migrated or being running on older versions. Such installations behave as if in classic mode, and Grafana must be able to parse their configurations to interact with them for some period of time. As such, Grafana uses fallback mode until we are ready to drop support for outdated installations of Mimir and the Prometheus Alertmanager.
2024-02-06 08:33:47 +00:00
Carl Bergquist c9de794d7f instrumentation: these features have been enabled for a while (#81617)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2024-02-06 00:29:41 -08:00
Diego Augusto Molina a6342fa576 Chore: Fix data race within tests and enable a few parallel tests in ssosettingsimpl (#81837)
* Chore: Fix data race within tests of SSO Setting implementation

* Chore: fix data race within tests to allow parallel testing

* Chore: rollback changes runtime code to test a different approach

* Chore: Fix data race in SSO Setting implementation Upsert method

* Chore: fix typo in comment
2024-02-05 16:41:38 -03:00
Isabella Siu 81da3ff753 CloudWatch: Remove dependencies on grafana/pkg/setting (#81208) 2024-02-05 13:59:32 -05:00
William Wernert 2ab7d3c725 Alerting: Receivers API (read only endpoints) (#81751)
* Add single receiver method

* Add receiver permissions

* Add single/multi GET endpoints for receivers

* Remove stable tag from time intervals

See end of PR description here: https://github.com/grafana/grafana/pull/81672
2024-02-05 20:12:15 +02:00
Jo 7852ea012d Access: Remove split scopes feature toggle (#81874)
* remove split scopes FT

* Revert "remove split scopes FT"

This reverts commit 349fb081d3.

* make toggle deprecated instead

* fix gen
2024-02-05 17:00:19 +01:00
596e828150 Fix: Refresh token when id_token is expired (#79569)
* Fix: Refresh token when id_token is expired

* add id_token comparison

* Fix wire

* Use userID as cache key

* Apply suggestions from code review

---------

Co-authored-by: linoman <2051016+linoman@users.noreply.github.com>
Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
2024-02-05 16:44:25 +01:00
ismail simsek 2002a6c4fb Chore: Bump grafana-azure-sdk-go to v1.12.0 and expose AzureAuthEnabled value in config (#81807)
* upgrade grafana-azure-sdk-go v1.12.0

* add AzureAuthEnabled to config
2024-02-05 13:36:33 +01:00
Sofia Papagiannaki c1547162e4 Dashboards: Restore deleted index (#81859)
Dashboards: Recreate deleted index
2024-02-05 11:35:13 +02:00
Gabriel MABILLE d9f7eda284 AuthN: Switch externalServiceAccounts toggle to public preview (#81583) 2024-02-05 09:31:20 +01:00
Sofia Papagiannaki ec5bc7c4ab Folders: Fix failure to update folder in SQLite (#81795) 2024-02-05 10:06:11 +02:00
Ryan McKinley 202eecccbc K8s: Update common openapi generation scripts (#81857) 2024-02-04 22:37:10 +02:00
Ryan McKinley ba3ee60711 K8s: Allow more control over the final openapi results (#81829) 2024-02-02 14:19:45 -08:00
Ryan McKinley 651faff08a Chore: go mod tidy after apiserver refactor (#81824) 2024-02-02 23:03:19 +02:00
Gabriel MABILLE 4a1e8f3d98 RBAC: Reject plugin registrations without a name (#81719)
* RBAC: Reject plugin registrations without a name

* Lint'
2024-02-02 11:12:00 +01:00
Sofia Papagiannaki 6f02d193f6 Provisioning: Fix failure to save dashboard (#81694) 2024-02-02 09:55:29 +00:00
Ryan McKinley 795eb4a8d8 K8s/Snapshots: Add dashboardsnapshot api group (#77667) 2024-02-01 22:40:11 -08:00
Michael MandrusandRyan McKinley 7464ea4346 Feature Toggles: Switch feature toggle admin page over to k8s API (#80854)
* add handling for legacy and k8s apis to frontend

* use backend srv directly not redux

* add unit test to make sure the correct apis are being called

* require api server flag

* fix feature toggle name

* ensure both pages work correctly

* make consistent with legacy api

* implement webhook update

* fix unit test

* remove old apis and update

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2024-02-01 23:52:02 -05:00
Ryan McKinley 9c9e5e68c8 User: Add uid colum to user table (#81615) 2024-02-01 18:14:10 -08:00
Todd Treece 67b6be5515 K8s: Refactor config/options for aggregation (#81739) 2024-02-01 17:27:30 -05:00
Yuri Tseretyan d1073deefd Alerting: Time intervals API (read only endpoints) (#81672)
* declare new API and models GettableTimeIntervals, PostableTimeIntervals
* add new actions alert.notifications.time-intervals:read and alert.notifications.time-intervals:write.
* update existing alerting roles with the read action. Add to all alerting roles.
* add integration tests
2024-02-01 15:17:13 -05:00
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 MandrusandRyan McKinley 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