Commit Graph

7311 Commits

Author SHA1 Message Date
Grot (@grafanabot) 3179d548bb Alerting: Fix updating notification channels in legacy (#45302) (#45331)
The problem here is that without the orgID we ignore the lookup of the existing notification channel just before updating and end up failing the update because there is no channel available.

(cherry picked from commit 8bf2e642aa)

Co-authored-by: gotjosh <josue.abreu@gmail.com>
2022-02-16 13:35:39 +00:00
Sofia Papagiannaki 3d2fbcba2d [8.4.x]: SQLStore: Prevent concurrent migrations (#44101) (#45447)
* SQLStore: Prevent concurrent migrations (#44101)

* SQLStore: Prevent concurrent migrations

* Hide behind a feature toggle

* Configurable locking attempt timeout

* Update docs/sources/administration/configuration.md

Co-authored-by: Igor Suleymanov <radiohead@users.noreply.github.com>
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
(cherry picked from commit d718ee1918)

* Resolve dependency cycle (#45427)

(cherry picked from commit 6a38ce2307)
2022-02-16 11:23:54 +02:00
Ieva 6fdb1d0440 merge (#45413) 2022-02-15 18:27:11 +01:00
Grot (@grafanabot) eeab540874 CloudWatch: Add tests to annotations query (#45337) (#45391)
(cherry picked from commit 1c1a45a880)

Co-authored-by: Shirley <4163034+fridgepoet@users.noreply.github.com>
2022-02-15 15:47:45 +01:00
Ieva 3a04080972 merge (#45335)
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2022-02-11 18:02:50 +01:00
Grot (@grafanabot) 18056a148c Alerting: support ok state in alert migration (#45264) (#45267)
(cherry picked from commit c59567a236)

Co-authored-by: Yuriy Tseretyan <yuriy.tseretyan@grafana.com>
2022-02-11 13:39:37 +01:00
Grot (@grafanabot) 0a9406b26c loki: enable-by-default the full-range-logs-volume feature (try2) (#45246) (#45280)
* loki: enable-by-default the full-range-logs-volume feature

* add explanation comment

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>

* fixed invalid code

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
(cherry picked from commit 4a7cc3e0f0)

Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
2022-02-11 12:13:11 +01:00
Grot (@grafanabot) 3e351914fd Cloudwatch: Remove unused parameters (#45237) (#45251)
* Remove unused parameters

* Remove unused context

* Make plugin context first parameter

(cherry picked from commit 89a0c0fc37)

Co-authored-by: Shirley <4163034+fridgepoet@users.noreply.github.com>
2022-02-11 11:20:29 +01:00
Grot (@grafanabot) f5212e4d5a Access control: team UI improvements with FGAC (#45255) (#45277)
* show teams page for user who can't list teams but can create teams

* Fixing buttons and routes

* Small refactor

Co-authored-by: gamab <gabi.mabs@gmail.com>
(cherry picked from commit 6fb3aac2e1)

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2022-02-11 11:09:54 +01:00
Grot (@grafanabot) 8d60ca53c5 Access control: Support uids for resource permissions (#45226) (#45254)
* add middleware to solve uid -> id for requests

(cherry picked from commit d2b9da9dde)

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2022-02-10 18:05:15 +01:00
Grot (@grafanabot) 57fa05501b add the permission to read org users to team creator (#45224) (#45245)
(cherry picked from commit 9fafbfc87e)

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2022-02-10 15:02:16 +00:00
Gabriel MABILLE e6d0f5367f AccessControl: Implement SQL filters for team members filtering (#44898) (#45219)
* AccessControl: Filter team members

* Modify GetTeamMembersByUser comment

* Fix postgres failing test due to quoting

* Rename GetTeamMembersByUser to GetUserTeamMemberships

* Update TeamStore interface

(cherry picked from commit 78fc0258b1)
2022-02-10 15:49:02 +01:00
Grot (@grafanabot) bab2f84155 Logging: Fix server hangs when using log.WithSuffix (#45213) (#45223)
Fixes a problem where server hangs if setting
GF_DATABASE_LOG_QUERIES=true.

Ref #44925

(cherry picked from commit ca311bf94f)

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-02-10 13:02:47 +01:00
Gabriel MABILLE 4c55c450c3 AccessControl: SQL filters for team search (#44557) (#45200)
* AccessControl: SQL filters for team search

Set test config

* Remove userIdFilter when FGAC is on

(cherry picked from commit 01b88adb3a)
2022-02-10 10:45:40 +01:00
Grot (@grafanabot) 6c370d7d66 Cloudwatch: Use generic null-insertion mechanism (#43507) (#45204)
* Cloudwatch: Fix nil values for a period gap in metrics

* Use fields periods for intervals

(cherry picked from commit 5edcc2e795)

Co-authored-by: Shirley <4163034+fridgepoet@users.noreply.github.com>
2022-02-10 10:31:21 +01:00
Grot (@grafanabot) 90316bedee Logging: Fix so that filters can contain commented lines (#45159) (#45202)
Fixes log filters that contains comments should not be enabled

(cherry picked from commit 2082eeb72f)

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-02-10 10:10:43 +01:00
Grot (@grafanabot) 7b67b1c961 Revert fixed roles and service accounts (#44778) (#44818)
* Revert fixed roles and service accounts

* Leave the fixed role for service accounts

(cherry picked from commit f38f10416a)

Co-authored-by: Vardan Torosyan <vardants@gmail.com>
2022-02-09 21:01:30 +01:00
Vardan Torosyan ff8e53a347 Security: Sync security changes on main (#45083) (#45140)
* Security: Sync security changes on main (#45083)

* * Teams: Appropriately apply user id filter in /api/teams/:id and /api/teams/search
* Teams: Ensure that users searching for teams are only able see teams they have access to
* Teams: Require teamGuardian admin privileges to list team members
* Teams: Prevent org viewers from administering teams
* Teams: Add org_id condition to team count query
* Teams: clarify permission requirements in teams api docs
* Teams: expand scenarios for team search tests
* Teams: mock teamGuardian in tests

Co-authored-by: Dan Cech <dcech@grafana.com>

* remove duplicate WHERE statement

* Fix for CVE-2022-21702

(cherry picked from commit 202d7c190082c094bc1dc13f7fe9464746c37f9e)

* Lint and test fixes

(cherry picked from commit 3e6b67d5504abf4a1d7b8d621f04d062c048e981)

* check content type properly

(cherry picked from commit 70b4458892bf2f776302720c10d24c9ff34edd98)

* basic csrf origin check

(cherry picked from commit 3adaa5ff39832364f6390881fb5b42ad47df92e1)

* compare origin to host

(cherry picked from commit 5443892699e8ed42836bb2b9a44744ff3e970f42)

* simplify url parsing

(cherry picked from commit b2ffbc9513fed75468628370a48b929d30af2b1d)

* check csrf for GET requests, only compare origin

(cherry picked from commit 8b81dc12d8f8a1f07852809c5b4d44f0f0b1d709)

* parse content type properly

(cherry picked from commit 16f76f4902e6f2188bea9606c68b551af186bdc0)

* mentioned get in the comment

(cherry picked from commit a7e61811ef8ae558ce721e2e3fed04ce7a5a5345)

* add content-type: application/json to test HTTP requests

* fix pluginproxy test

* Fix linter when comparing errors

Co-authored-by: Kevin Minehart <kmineh0151@gmail.com>
Co-authored-by: Dan Cech <dcech@grafana.com>
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
Co-authored-by: Serge Zaitsev <serge.zaitsev@grafana.com>
Co-authored-by: Vardan Torosyan <vardants@gmail.com>
(cherry picked from commit 605d056136)

* Apply suggestions from code review

* remove uneeded test fix from patch

Co-authored-by: Dimitris Sotirakis <sotirakis.dim@gmail.com>
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
Co-authored-by: jguer <joao.guerreiro@grafana.com>
2022-02-09 20:43:42 +01:00
Grot (@grafanabot) 24411c633c Provisioning: Ensure that the default value for orgID is set when provisioning datasources to be deleted (#44244) (#45130)
Fixes #44243

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
(cherry picked from commit 8e03541228)

Co-authored-by: maicon <maiconscosta@gmail.com>
2022-02-09 12:55:21 +01:00
Grot (@grafanabot) daf7c5fe93 Add context.Context to AlertingStore (#45069) (#45121)
(cherry picked from commit 4e3a72fc2a)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-02-09 09:40:05 +00:00
Grot (@grafanabot) 66f9e505e7 Access control: hide team role picker if user doesn't have access to it (#45068) (#45095)
* hide team role column

* hide or disable the role picker as needed

* add SWL filtering for role listing

(cherry picked from commit 4f4b1cb5ea)

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2022-02-08 17:55:02 +01:00
Grot (@grafanabot) fb3d542562 Auth: Guarantee consistency of signed SigV4 headers (#45054) (#45075)
* use latest sigv4 changes

* update configuration docs

* lint

* reformat lint ignore

* specific version for docs

(cherry picked from commit fc42dfe396)

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2022-02-08 15:54:38 +01:00
Grot (@grafanabot) 62a3b5a94d Add context.Context to InstanceStore (#45049) (#45065)
(cherry picked from commit 67a3e1d6fd)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-02-08 15:08:36 +01:00
Gabriel MABILLE dca648f034 AccessControl: Use an SQLFilter struct (#44887) (#44999)
(cherry picked from commit 178193c84b)
2022-02-08 14:59:49 +01:00
George Robinson 8291389f6c Alerting: Add context.Context to RuleStore (#45004) (#45046) 2022-02-08 13:48:15 +00:00
Grot (@grafanabot) 08ad99c36e API: Extract OpenAPI specification from source code using go-swagger (#40528) (#45061)
* API: Using go-swagger for extracting OpenAPI specification from source code

* Merge Grafana Alerting spec

* Include enterprise endpoints (if enabled)

* Serve SwaggerUI under feature flag

* Fix building dev docker images

* Configure swaggerUI

* Add missing json tags

Co-authored-by: Ying WANG <ying.wang@grafana.com>
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
(cherry picked from commit 35fe58de37)
2022-02-08 13:52:05 +01:00
Grot (@grafanabot) 6459fd73ed Chore: Logging improvements (#44925) (#44996)
Fixing a couple bugs, adds some tests and hopefully decrease
lock contention when logging.
Switching from using sync.RWMutex to go-kit SwapLogger.
Fixes bug when creating a new logger from an existing one that
screwed up the keyvals and/or lost the logger name.

Ref #44681

(cherry picked from commit 05ea825c76)

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-02-07 16:15:14 +01:00
Grot (@grafanabot) ce185ce6a3 Fix evaluation of alert rules for datasources with custom headers (#44862) (#44912)
* Fix evaluation of alert rules for datasources with custom headers

* Fix unit tests

* Fix integration tests

* Evaluator fields should be package private

(cherry picked from commit 9df43abbb5)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-02-04 18:32:57 +01:00
Grot (@grafanabot) 53313e4a2d Logging: Fix don't return an error trying to initialize the file logger (#42952) (#44867)
Fixes #42897

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

Co-authored-by: bolshoytoster <91278344+bolshoytoster@users.noreply.github.com>
2022-02-03 18:58:07 +01:00
Grot (@grafanabot) 6909246a7a AccessControl: Change teams permissions page when accesscontrol is enabled (#43971) (#44864)
* AccessControl: Change teams permissions page when frontend is hit

* Implement frontend changes for group sync

* Changing the org/teams/edit permissions

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

* Fixing routes

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

* Use props straight away no need to go through the state

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* Update public/app/features/teams/TeamPages.tsx

Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
(cherry picked from commit 8217d6d206)

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2022-02-03 18:00:38 +01:00
Grot (@grafanabot) 2b516126cf Prometheus: Fix Azure authentication support (#44407) (#44861)
Re-adding back Azure authentication support to Prometheus datasource
after the datasource query logic was rewritten from plugin.json routes to
Go backend.

Ref #35857

(cherry picked from commit 85ea1a5d64)

Co-authored-by: Sergey Kostrukov <sekost@microsoft.com>
2022-02-03 17:27:57 +01:00
Grot (@grafanabot) 36edcfe208 Prometheus: Set interval on time field (#44802) (#44837)
(cherry picked from commit c8bb4c733e)

Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>
2022-02-03 10:49:46 -05:00
Grot (@grafanabot) 358db0d130 Access control: FGAC for team sync endpoints (#44673) (#44856)
* add actions for team group sync

* extend the hook to allow specifying whether the user is external

* move user struct to type package

* interface for permission service to allow mocking it

* reuse existing permissions

* test fix

* refactor

* linting

(cherry picked from commit 602d62ebcc)

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2022-02-03 15:48:13 +00:00
Grot (@grafanabot) 9e0acc9ece Chore: Fix log filters (#44681) (#44853)
(cherry picked from commit bc7e55d99b)

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-02-03 16:34:18 +01:00
Grot (@grafanabot) 60fcb87a6b Feature Highlights: move setting to a feature toggle (#44780) (#44827)
* Add toggle

* Use the toggle

* Cleanup

(cherry picked from commit a79c048344)

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2022-02-03 14:54:42 +02:00
Grot (@grafanabot) a7ad5ee55f Encryption: Add support for data keys re-encryption (#43548) (#44814)
* Encryption: Add support for data keys re-encryption

* Add tests for data keys re-encryption

* Update code after refactorings

Co-authored-by: Leonard Gram <leo@xlson.com>
(cherry picked from commit b2655750e8)

Co-authored-by: Joan López de la Franca Beltran <5459617+joanlopez@users.noreply.github.com>
2022-02-03 09:58:12 +01:00
Grot (@grafanabot) 71a0ae7931 Encryption: CLI rollback command (#43935) (#44810)
* Encryption: CLI rollback command

* Update flag reference to 'featuremgmt' pkg

* Update feature toggles usage

* Clean up data keys table after envelope encryption rollback

(cherry picked from commit f8105efff3)

Co-authored-by: Joan López de la Franca Beltran <5459617+joanlopez@users.noreply.github.com>
2022-02-03 07:54:57 +01:00
Grot (@grafanabot) e031568aa4 Do not store EvaluationString in Evaluation. (#44606) (#44795)
* do not store evaluation string in Evaluation.
* reduce number of buckets to store for a single state

(cherry picked from commit 984c95de63)

Co-authored-by: Yuriy Tseretyan <tceretian@gmail.com>
2022-02-02 19:29:13 +01:00
Grot (@grafanabot) 918f1d943a Instrumentation: Fix HTTP request instrumentation of authentication failures (#44234) (#44793)
Moves the request tracing middleware earlier in the chain, just after the tracing middleware
and before the log middleware. With these changes we'll be able to track
authentication/authorization status failures that currently exits early and don't execute the
request tracing middleware. In addition, there might be some other routes now being tracked
with this that we didn't do before.

Fixes #39590

(cherry picked from commit 0092d10764)

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-02-02 19:07:37 +01:00
Eric Leijonmarck 1dd2579528 fix: remove migrated, and /org endpoint (#44788)
* fix: remove migrated, and /org endpoint

* Update pkg/api/index.go
2022-02-02 16:32:37 +01:00
Ieva 9247848a7b increment fixed role version (#44779) 2022-02-02 15:24:16 +00:00
Kyle Brandt 040ce40113 SSE: Mode to drop NaN/Inf/Null in Reduction operations (#43583)
Co-authored-by: Yuriy Tseretyan <yuriy.tseretyan@grafana.com>
Co-authored-by: gillesdemey <gilles.de.mey@gmail.com>
2022-02-02 14:50:44 +01:00
George Robinson 924deda589 Fix Discord Webhook URL for invalid template (#44763)
This commit fixes an issue where an invalid template for Discord would change the Webhook URL to "" and cause "unsupported protocol scheme" errors.
2022-02-02 14:28:41 +01:00
Joan López de la Franca Beltran 3b4e812449 Encryption: Keep legacy default provider id on providers map (#44721)
* Encryption: Keep legacy default provider id on providers map

* Minor fixes

* Refactor
2022-02-02 12:10:46 +01:00
Konrad Lalik 69e4796504 Alerting: Split legacy and unified routing configuration (#44641)
* Disable add alert menu entry for legacy alerting

* Split legacy and unified routing configuration

* Fix fallback routes configuration
2022-02-02 10:57:43 +01:00
Ryan McKinley ac90c8d68d Geomap: initialization fixes (#44745) 2022-02-01 22:08:07 -08:00
Santiago 04d93751b8 Alerting: send alerts to external, internal, or both alertmanagers (#40341)
* (WIP) send alerts to external, internal, or both alertmanagers

* Modify admin configuration endpoint, update swagger docs

* Integration test for admin config updated

* Code review changes

* Fix alertmanagers choice not changing bug, add unit test

* Add AlertmanagersChoice as enum in swagger, code review changes

* Fix API and tests errors

* Change enum from int to string, use 'SendAlertsTo' instead of 'AlertmanagerChoice' where necessary

* Fix tests to reflect last changes

* Keep senders running when alerts are handled just internally

* Check if any external AM has been discovered before sending alerts, update tests

* remove duplicate data from logs

* update comment

* represent alertmanagers choice as an int instead of a string

* default alertmanagers choice to all alertmanagers, test cases

* update definitions and generate spec
2022-02-01 20:36:55 -03:00
Ryan McKinley 7ee38af95a FeatureToggls: remove IsFeatureToggleEnabled from SettingsProvider (#44574) 2022-02-01 10:24:59 -08:00
Gabriel MABILLE f81b9c8150 AccessControl: Read team permissions from db (#44727) 2022-02-01 18:35:31 +01:00
Ryan McKinley 3749695594 TestData: support dropping points from random walk data and send interval (#44683) 2022-02-01 17:27:52 +01:00