Commit Graph
7766 Commits
Author SHA1 Message Date
Grot (@grafanabot)andAndreas Christou f5f022e6ac CloudMonitor: Correctly encode default project response (#49510) (#49611)
* Correctly encode default project response

* Make getGCEDefaultProject a method of Service and add test

* Handle error appropriately

* Update test and function definition

(cherry picked from commit ccb8888055)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2022-05-25 17:46:23 +01:00
Grot (@grafanabot)andYuriy Tseretyan 525a9d041d show notification tab only to editor (#49624) (#49631)
(cherry picked from commit 307c207a24)

Co-authored-by: Yuriy Tseretyan <yuriy.tseretyan@grafana.com>
2022-05-25 18:35:24 +02:00
Karl Persson e91f044225 AccessControl: Grant data source reader to all users when running oss (#49514) (#49608)
* grant data source reader to all users when running oss or enterprise
without license

* fix asserts in alerting tests

* add oss licensing service for test setup

* fix tests to pass in enterprise

* lint

* fix tests

* set setting.IsEnterprise flag for tests

Co-authored-by: Yuriy Tseretyan <yuriy.tseretyan@grafana.com>
(cherry picked from commit 1796a1d277)
2022-05-25 14:26:25 +02:00
Grot (@grafanabot)andKarl Persson e9427f8b64 AzureAD: Fallback to no groups if user does not have permission to query groups from azure (#49506) (#49521)
* If GroupMemver.Read.All permissions is not configured return no groups

* fix log

(cherry picked from commit 624f8ef40d)

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2022-05-24 18:16:31 +02:00
Grot (@grafanabot)andWill Browne 80a3be920c Alerting: Validate alert notification UID length (#45546) (#49512)
* validate alert notification UID length

* simplify-ish

* remove unused field

* whoopsie

* delete newline

* remove check

* apply feedback

(cherry picked from commit 635fa4ab0f)

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2022-05-24 17:22:08 +02:00
Gilles De Mey 4bcb97acef Alerting: Make alertmanager datasource stable (#49485) (#49490)
(cherry picked from commit 86871807d2)
2022-05-24 15:24:22 +02:00
Andreas Christou 21a9ccbb3e AzureMonitor: Fix auto-selection of time-grain for metrics. (#49278) (#49420)
* AzureMonitor: Fix auto-selection of time-grain for metrics. (#49278)

* Update query editor to fix auto time-grain selection

* Update new query editor to fix auto time-grain selection

* Remove log and fix lint issues

* Add test for useMetricMetadata

- Add necessary types

* More test updates

- Update old dataHooks test
- Ensure query changes

Co-authored-by: Kevin Yu <kevinwcyu@users.noreply.github.com>
Co-authored-by: Andres Martinez Gotor <andres.mgotor@gmail.com>
Co-authored-by: Erik Sundell <erik.sundell87@gmail.com>
(cherry picked from commit 2780651ea8)

# Conflicts:
#	public/app/plugins/datasource/grafana-azure-monitor-datasource/components/MetricsQueryEditor/dataHooks.test.ts
#	public/app/plugins/datasource/grafana-azure-monitor-datasource/components/MetricsQueryEditor/dataHooks.ts
#	public/app/plugins/datasource/grafana-azure-monitor-datasource/components/NewMetricsQueryEditor/dataHooks.test.ts
#	public/app/plugins/datasource/grafana-azure-monitor-datasource/components/NewMetricsQueryEditor/dataHooks.ts

* Update mocks appropriately

* Separate asyncState tests

* Fix lint error
2022-05-24 11:16:11 +01:00
Konrad LalikandYuriy Tseretyan 46ea845720 [v8.5.x] Alerting: Fix access to alerts for viewer with editor permissions when RBAC is disabled (#49427)
* Alerting: Fix access to alerts for viewer with editor permissions when RBAC is disabled (#49270)

* Add folder edit permission for users with Viewer role
* relax permissions required to create an alert when RBAC is disabled

(cherry picked from commit 3dfafbadef)

* fix backend conflict

* fixup

Co-authored-by: Yuriy Tseretyan <yuriy.tseretyan@grafana.com>
2022-05-24 09:13:43 +02:00
Grot (@grafanabot)andAlexander Weaver ccab3e7e0f Parse template when validating it (#49282) (#49284)
(cherry picked from commit e8b498fe8b)

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2022-05-23 17:33:05 -05:00
Grot (@grafanabot)andJoan López de la Franca Beltran 5136f7de89 Encryption: Add support for decrypting ciphertexts with algorithm metadata (#49312) (#49336)
(cherry picked from commit 15605b6c80)

Co-authored-by: Joan López de la Franca Beltran <5459617+joanlopez@users.noreply.github.com>
2022-05-23 07:52:49 +02:00
Yuriy Tseretyan ce527c4084 Alerting: Fix RBAC actions for notification policies (#49185) (#49348)
* squash actions "alert.notifications:update", "alert.notifications:create", "alert.notifications:delete" to "alert.notifications:write"
* add migration
* update UI to use the write action
* update docs
* changelog

(cherry picked from commit 258b3ab18b)
2022-05-20 19:03:57 -04:00
Grot (@grafanabot)andLeonard Gram 7c4c6aa544 Security: fixes CVE-2022-29170 (#49240) (#49254)
* Request interceptor: block redirects

* handle location missing

* Update pkg/infra/httpclient/httpclientprovider/host_redirect_validation_middleware.go

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>

* Update pkg/infra/httpclient/httpclientprovider/host_redirect_validation_middleware.go

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>

* linter

* fixes tests

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
(cherry picked from commit aad2983350)

Co-authored-by: Leonard Gram <leo@xlson.com>
2022-05-20 11:16:30 +02:00
Grot (@grafanabot)andJguer 03a904c308 OAuth: make oauth case insensitive match for email (#49252) (#49264)
(cherry picked from commit 8919c8b014)

Co-authored-by: Jguer <joao.guerreiro@grafana.com>
2022-05-20 08:53:11 +02:00
Yuriy Tseretyan 1547e279b1 Alerting: Fix anonymous access to alerting (#49203) (#49268)
* introduce a fallback handler that checks that role is Viewer.
* update UI nav links to allow alerting tabs for anonymous user
* update rule api to check for Viewer role instead of SignedIn when RBAC is disabled

(cherry picked from commit f7f2253072)
2022-05-19 12:33:29 -04:00
Grot (@grafanabot)andYuriy Tseretyan 2a8c8280b8 Alerting: Update migration to migrate only alerts that belong to existing org\dashboard (#49192) (#49199)
* Update migration to migrate only alerts that belong to existing org\dashboard

(cherry picked from commit d87fdc1037)

Co-authored-by: Yuriy Tseretyan <yuriy.tseretyan@grafana.com>
2022-05-19 12:14:44 -04:00
Grot (@grafanabot)andMatthew Jacobson 67323206c4 Alerting: Fix flaky migration test (#48595) (#49190)
* Fix flaky migration test

(cherry picked from commit 5c32a6b6f6)

Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
2022-05-19 10:43:47 -04:00
Grot (@grafanabot)andAlexander Weaver 14bb847de6 Indicate whether templates are provisioned (#49025) (#49194)
(cherry picked from commit 25da759bf2)

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2022-05-18 14:19:56 -05:00
Alexander Weaver dfae1f9245 Fix flaky test. Sort records and only test the important fields (#49120) (#49191)
(cherry picked from commit 81e368dbb5)
2022-05-18 19:44:09 +02:00
Grot (@grafanabot)andJosh Hunt 88df5db710 LibraryPanels: Fix library panels not connecting properly in imported dashboards (#49161) (#49176)
* Use saved dashboard model to create library panel connections when importing

* Rename variables in dashboard import for clarity

(cherry picked from commit 71e1305364)

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2022-05-18 17:02:49 +02:00
Grot (@grafanabot)andKarl Persson e6357db4b0 fetch permissions by uid (#49100) (#49134)
(cherry picked from commit 5c4ebb6f34)

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2022-05-18 11:25:16 +02:00
Grot (@grafanabot)andqs_pang d15da13fca Fix CloudWatch: Add missing ELB metrics #48756 (#48985) (#49114)
* Fix CloudWatch: Add missing ELB metrics #48756

* run go fmt

(cherry picked from commit 78287618ab)

Co-authored-by: qs_pang <qingshuang.pang@gmail.com>
2022-05-17 17:27:48 -04:00
Grot (@grafanabot)andAlexander Weaver 6f5960fffa [v8.5.x] Alerting: Provisioning GET routes for mute timings (#49113)
* Alerting: Provisioning GET routes for mute timings (#49044)

* Define GET routes and run codegen

* Wire up forked and non-generated API

* Implement and wire

* Tests, authorization

* Fix linter error

(cherry picked from commit 9af30f6570)

* ErrorContains -> Error, then Contains

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2022-05-17 14:49:12 -05:00
Joan López de la Franca Beltran 86c84261e2 Encryption: Split database transactions within migration/rollback commands (#48394) (#49038)
(cherry picked from commit 6c4eae710f)
2022-05-17 20:03:19 +02:00
Joan López de la Franca Beltran 6883e451dc Encryption: Add Prometheus metrics (#48603) (#48888)
* Encryption: Add Prometheus metrics (#48603)

(cherry picked from commit 9826a694a8)

* Conflicts solved from commit 9826a69
2022-05-11 00:47:48 +02:00
Grot (@grafanabot)andIeva 939156bc2f Dashboard: Fix dashboard update permission check (#48746) (#48853)
* Change dash permission check for dashboards that are moved to a different folder

(cherry picked from commit 6923b4c6c6)

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2022-05-10 14:10:59 +02:00
Joe Blubaugh bae2055b0b Alerting: Apply Custom Headers to datasource queries. (#47860) (#48851)
Backport 53a4f39 from #47860
2022-05-10 09:54:18 +08:00
Grot (@grafanabot)andAlexander Weaver c15d34e273 Put identifier in path (#48831) (#48832)
(cherry picked from commit 99eaa0fc20)

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2022-05-06 16:55:10 -05:00
Grot (@grafanabot)andAlexander Weaver 37120a96d6 POST routes to PUT routes (#48828) (#48829)
(cherry picked from commit 809aa38103)

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2022-05-06 14:48:51 -05:00
Grot (@grafanabot)andJean-Philippe Quéméner 8917c920ae Alerting: check provenance of alert rules in current API (#48694) (#48827)
(cherry picked from commit 30d9cc81ec)

Co-authored-by: Jean-Philippe Quéméner <JohnnyQQQQ@users.noreply.github.com>
2022-05-06 21:27:51 +02:00
Grot (@grafanabot)andSzymon Szypulski 6f5d6426c3 Cloudwatch: Add support for new AWS/RDS EBS* metrics (#48798) (#48801)
Add support for the missing AWS/RDS metrics, EBSIOBalance% and
EBSByteBalance%. Change is based on the official AWS blog post[1]. Those
metrics work on for Nitro instances.

1. https://aws.amazon.com/blogs/compute/improving-application-performance-and-reducing-costs-with-amazon-ebs-optimized-instance-burst-capability/

(cherry picked from commit b6c5f29373)

Co-authored-by: Szymon Szypulski <szymon.szypulski@gmail.com>
2022-05-06 10:53:34 +02:00
Grot (@grafanabot)andIeva bd9073a6b6 fix a bug (#48782) (#48800)
(cherry picked from commit 3c78196d0b)

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2022-05-06 10:52:39 +02:00
Ieva fe351b308f backport 48171 (#48775) 2022-05-06 09:35:37 +01:00
Grot (@grafanabot)andAlexander Weaver f76a5f1796 [v8.5.x] Alerting: Provisioning message templates (#48789)
* Alerting: Provisioning message templates (#48665)

* Generate API for writing templates

* Persist templates app logic layer

* Validate templates

* Extract logic, make set and delete methods

* Drop post route for templates

* Fix response details, wire up remainder of API

* Authorize routes

* Mirror some existing tests on new APIs

* Generate mock for prov store

* Wire up prov store mock, add tests using it

* Cover cases for both storage paths

* Add happy path tests and fix bugs if file contains no template section

* Normalize template content with define statement

* Tests for deletion

* Fix linter error

* Move provenance field to DTO

* empty commit

* ID to name

* Fix in auth too

(cherry picked from commit 0f56462fbe)

* ErrorContains -> Error then Contains

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2022-05-06 09:33:33 +02:00
Grot (@grafanabot)andJeff Levin c375e67bf9 Update documentation to explicitly state we should not be putting migrations behind feature flags (#48663) (#48666)
(cherry picked from commit 38fc0c68e4)

Co-authored-by: Jeff Levin <jeff@levinology.com>
2022-05-05 10:12:34 -08:00
Grot (@grafanabot)andYuriy Tseretyan ed24f18234 unhide alert rule's data sources during migraiton (#48559) (#48703)
(cherry picked from commit f85e758972)

Co-authored-by: Yuriy Tseretyan <yuriy.tseretyan@grafana.com>
2022-05-04 09:52:35 -04:00
Karl Persson 52d2419667 Fix permission query for postgres (#48543) (#48568)
(cherry picked from commit 9622e7457e)
2022-05-04 09:22:37 +02:00
Grot (@grafanabot)andJean-Philippe Quéméner dd2bec5904 Alerting: skip flaky test (#48500) (#48517)
(cherry picked from commit 9e3a01a1be)

Co-authored-by: Jean-Philippe Quéméner <JohnnyQQQQ@users.noreply.github.com>
2022-05-04 07:31:51 +02:00
Will Browne 7f7803ba59 [v8.5.x] Backport 48550 to v8.5.x (#48656)
* resolve conflicts

* update swagger docs
2022-05-03 20:58:02 +02:00
Grot (@grafanabot)andAndreas Christou 633d598fcd Add new DynamoDB metrics & dimensions (#48551) (#48632)
(cherry picked from commit 7f4b1b767e)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2022-05-03 18:04:09 +01:00
Gábor Farkas a0ac6c692e loki: backend: use millisecond-timestamps (#48630) 2022-05-03 17:30:15 +02:00
Andreas Christou 5230178118 Backport 48077 to v8.5.x (#48620)
* AzureMonitor: Add support for not equals and startsWith operators when creating Azure Metrics dimension filters. (#48077)

* Allow dimension operator selection

- Add dimension operators and function to update the operator in the query
- Add logic to ensure the same dimension cannot be selected multiple times (Azure restriction)
- Add selection component

* Update backend logic to default operation and filter to eq '*'

- This must be done as the ne and sw operators do not work with the wildcard filter

* Add tests on dimension operators

* Correct placement of 'and' when building query

* Add comment and simplify filtering logic

* Allow multiSelect for eq and ne operators

- Pass PanelData to DimensionFields component
- Add logic to retrieve labels from PanelData
- Add MultiSelect component for relevant operators
- Update frontend types to allow filter to be an array of strings
- Update backend types to allow filter to be an array of strings
- Update filter string building

* Improve setting of labels

* Update go tests

* Update frontend tests

- Add panelData mock (to be expanded later)
- Update null check in DimensionFields

* Allow custom value and set default

* Add frontend test and fix lint issues

* Improved handling of options for sw operator

* Remove changes related to multiselect

* Add check on refId to ensure dimension labels are correct for query

* Extract custom hook for setting dimension labels

* Add documentation around Azure Monitor metrics dimensions

* Update MetricQueryEditor tests

- Add missing data prop

* Correctly set field values

* Add additional expect for onQueryChange

* Correctly set operators

- Simplify onFilterInputChange

* Ensure no duplicate filters appear

* Ensure that filters are displayed correctly for saved queries

* Update dimension filter test

* Include additional test around changing dimension labels

(cherry picked from commit d7c16e06d2)

# Conflicts:
#	public/app/plugins/datasource/grafana-azure-monitor-datasource/components/MetricsQueryEditor/MetricsQueryEditor.test.tsx
#	public/app/plugins/datasource/grafana-azure-monitor-datasource/components/NewMetricsQueryEditor/MetricsQueryEditor.test.tsx
#	public/app/plugins/datasource/grafana-azure-monitor-datasource/components/NewMetricsQueryEditor/MetricsQueryEditor.tsx
#	public/app/plugins/datasource/grafana-azure-monitor-datasource/components/QueryEditor/QueryEditor.tsx

* Update test for older testing-library version
2022-05-03 13:59:44 +01:00
Grot (@grafanabot)andJean-Philippe Quéméner 3b40f18af1 Alerting: add safeguard for migrations that might cause dataloss (#48526) (#48570)
* Alerting: add safeguard for migrations that might cause dataloss

* add test for panic

* add documentation

(cherry picked from commit 0a87ef06af)

Co-authored-by: Jean-Philippe Quéméner <JohnnyQQQQ@users.noreply.github.com>
2022-05-02 11:12:39 +02:00
Grot (@grafanabot)andAlexander Weaver 6fed38226d Alerting: Fix test intermittency caused by port conflicts (#48552) (#48556)
* Get golang to find an open port for us

* Update pkg/tests/api/alerting/api_notification_channel_test.go

Co-authored-by: gotjosh <josue.abreu@gmail.com>

* Fix merge

Co-authored-by: gotjosh <josue.abreu@gmail.com>
(cherry picked from commit a96510d03c)

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2022-04-29 13:17:37 -05:00
Grot (@grafanabot)andWill Browne 92c08f0fb3 Plugins: Ensure catching all appropriate 4xx api/ds/query scenarios (#47565) (#48514)
* catch ds 404s

* catch plugin errs

* go step back

(cherry picked from commit c8a71a2f91)

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2022-04-29 12:19:46 +02:00
Grot (@grafanabot)andKyle Schouviller d2d2929e8d AzureAd Oauth: Fix strictMode to reject users without an assigned role (#48474) (#48479)
* AzureAd Oauth: Fix strictMode to reject users without an assigned role

Signed-off-by: kyschouv <kyschouv@microsoft.com>

* AzureAd OAuth: Add test for strictMode auth when no role claims are returned

Signed-off-by: kyschouv <kyschouv@microsoft.com>
(cherry picked from commit 7b224adf9f)

Co-authored-by: Kyle Schouviller <kyschouv@microsoft.com>
2022-04-29 08:29:39 +02:00
Jean-Philippe Quéméner 65e55b70a9 Alerting: indicate whether an alertrule is provisioned (#48458) (#48471)
(cherry picked from commit 9e21e4d1c1)
2022-04-29 00:51:41 +02:00
Grot (@grafanabot)andAlexander Weaver d037b11e47 [v8.5.x] Alerting: Add provisioning GET routes for message templates (#48459)
* Alerting: Add provisioning GET routes for message templates (#48367)

* Template service

* Add GET routes and implement them

* Generate mock for persist layer

* Unit tests for reading templates

* Set up composition root and get integration tests working

* Fix prealloc issue

* Extract setup boilerplate

* Update AuthorizationTest

* Rebase and resolve

* Fix linter error

(cherry picked from commit 735822e48a)

* Avoid latest require features

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2022-04-28 14:33:37 -05:00
Grot (@grafanabot)andAlexander Weaver 098871e3d8 Extract Route validation from serialization methods so it can be re-used (#47649) (#48374)
* Extract validation and reject invalid policies

* Validation in dedicated file

* Tests for validation

* Extract root route validation

* Update call and drop TODO

* empty commit to kick actions

* Normalization should be idempotent

* Cleaner representation of validation errors, chain errors properly

* Make internal validate unexported

* Fix missed rename

* Genericize error message

* Improve method names

* Rebase, fix

* Update asserts

(cherry picked from commit 60ec10566f)

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2022-04-27 22:38:39 +02:00
Grot (@grafanabot)andYuriy Tseretyan 61b6a61721 use NaN if condition value is nil (#48370) (#48371)
(cherry picked from commit 4b417c8f3e)

Co-authored-by: Yuriy Tseretyan <yuriy.tseretyan@grafana.com>
2022-04-27 16:34:47 -03:00
Jean-Philippe Quéméner b0cc736f4f Alerting: indicate whether contact point is provisioned (#48323) (#48372)
(cherry picked from commit a3256bafa7)
2022-04-27 21:19:40 +02:00