Commit Graph

8599 Commits

Author SHA1 Message Date
Emil Tullstedt
05b4ce4861 Chore: Upgrade Go version to 1.19.1 (backport) (#55733)
Upgrades the version of Go used to build Grafana v9.1.x to 1.19.1.

Backport of Chore: Upgrade Go to 1.19.1 #54902
Backport of Chore: Update swagger to v0.30.2 #55159
2022-09-28 10:58:56 +02:00
Gabriel MABILLE
f6365646a7 Fix: RBAC handle error no resolver found (#55676)
* Fix: Handle error no resolver found

* Fix test not to expect the error
2022-09-27 09:43:50 +02:00
Grot (@grafanabot)
51144a427f Library panels: Add backend route (#55746) (#55758)
(cherry picked from commit 70f48cc725)

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2022-09-26 11:42:19 -04:00
Grot (@grafanabot)
fbf3fe69b5 Alerting: cache general folder in migration based on org id (#55620) (#55691)
(cherry picked from commit f3a307778a)

Co-authored-by: Jean-Philippe Quéméner <JohnnyQQQQ@users.noreply.github.com>
2022-09-23 22:25:36 +02:00
Grot (@grafanabot)
936b3d8327 Alerting: support env variables in contact point settings when provsioning (#55666) (#55680)
(cherry picked from commit 0f2afb6417)

Co-authored-by: Jean-Philippe Quéméner <JohnnyQQQQ@users.noreply.github.com>
2022-09-23 09:22:19 -04:00
Grot (@grafanabot)
c3275d23ff Alerting: Fix flaky test (#55551) (#55673)
The length of the identifier from the underlying library is 9 or more characters depending on the rate at which the identifiers are generated. See https://pkg.go.dev/github.com/teris-io/shortid

The test previously made the assumption that the length will always be 10, which would intermittently fail.

(cherry picked from commit 647997cc4c)

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
2022-09-23 13:36:45 +02:00
Grot (@grafanabot)
8f5fbb88ac [v9.1.x] Prometheus: Restore FromAlert header (#55627)
This restores the FromAlert header to prometheus for Grafana managed alert Queries.

It does this by reverting "Prometheus: Remove middleware for custom headers (#51518)" , but also changing it so it is only the FromAlert header.

This reverts commit 2372501368.

(cherry picked from commit 27288276a2)

Co-authored-by: Kyle Brandt <kyle@grafana.com>
2022-09-23 07:19:13 -04:00
Grot (@grafanabot)
b7c66294fa CloudWatch: Add missing AWS/Prometheus metrics (#54990) (#55652)
(cherry picked from commit b1b4110ab1)

Co-authored-by: Jan Garaj <jan.garaj@gmail.com>
2022-09-22 22:54:20 -04:00
Artur Wierzbicki
98eab48d38 Search: Add search index configuration options (#55525) (#55529)
* Search: Add search index configuration options (#55525)

* Search: externalize config

* Search: update config descriptions

* Search: fix value

* Search: fix

* update

* Search: revert config values

* Search: rename copy/paste

* Search: fix tests

(cherry picked from commit c3ca5405ce)

* fix merge
2022-09-22 15:26:37 +02:00
Grot (@grafanabot)
97bee8a53a Alerting: Skip unsupported file types on provisioning (#55573) (#55584)
(cherry picked from commit 74c66b29d0)

Co-authored-by: Jean-Philippe Quéméner <JohnnyQQQQ@users.noreply.github.com>
2022-09-21 11:04:17 -04:00
Grot (@grafanabot)
b7cc6fdf94 Alerting: Fix mathexp.NoData cannot be reduced (#55347) (#55549)
This commit fixes a bug where queries from datasources such as InfluxDB that returned no data would not create a DatasourceNoData alert, but instead an error "can only reduce type series, got type noData".

(cherry picked from commit 7d20766ae9)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-09-21 10:18:03 +01:00
Jo
06b71c24c6 Auth: Add development manual override (#55496) (#55544)
* Auth: Add development manual override

* rename to disable_sync_lock

(cherry picked from commit 006944a360)
2022-09-21 10:29:18 +02:00
Grot (@grafanabot)
3303eb7881 Search: improve logging in case of failed dashboard loading phase (#55523) (#55524)
(cherry picked from commit 9db2720016)

Co-authored-by: Artur Wierzbicki <wierzbicki.artur.94@gmail.com>
2022-09-20 18:08:21 -04:00
Ieva
d9a39c1553 V9.1.3.1 security patch (#492) (#55515)
* apply security fix for admin only folder migration (#482)

* Data source: prevent from using auth proxy header as custom data source header (#474)

* applying changes from 446/fix-user-escalation-through-auth-proxy

* linting

* only validate custom headers if auth proxy is enabled

* import ordering

* add links to CVE

* clean up

* remove typo

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
(cherry picked from commit 0100a6aa9645313b25a79a17d947cbf936cc4e76)
(cherry picked from commit c048378ad5)
2022-09-20 14:57:15 -04:00
Nathan Marrs
90364a9173 Geomap: Sync v9.1.x with main (#55428)
* sync geomap

* Geomap: Add devenv dashboard for v9.1 of geomap (#53638)

* Geomap: Spatial operations location options transform e2e test (#54162)

* Devenv: Geomap global vs local field coloring (#54253)

* Geomap: cleanup (#54328)

* Geomap: Layer types e2e (#54666)

* Geomap: Map control options e2e (#54809)

* update betterer

* add missing icon for measure tools

* Geomap: Update language to match documentation and remove beta (#53703)

Co-authored-by: nmarrs <nathanielmarrs@gmail.com>

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Adela Almasan <88068998+adela-almasan@users.noreply.github.com>
Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
2022-09-19 18:05:53 -07:00
Jo
5f51a1425b Backport: Revert changes to oauth behavior to v9.1.x (#55302)
* OAuth: Allow assigning Server Admin (#54780)

* extract errors to errors file

* implement oauth server admin assignment

* add server admin tests

* deduplicate autoAssignOrgRole

* deduplicate strict setting

* deduplicate strict setting

* add support for generic oauth

* add role attribute strict support for generic oauth

* add support for github/gitlab

* assignGrafanaAdmin option is here to stay

* unify similar errors

* add config option

* add okta server admin mapping

* remove never used Company attribute

* unify generic oauth role extract with other methods

* case insensitive role match as in azure

* add ini settings

* add server admin to devenv

* remove duplicate fields

* add documentation to oauth

* fix titlecase test

* implement doc feedback

(cherry picked from commit ef245874da)

* Auth: Restore legacy behavior and add deprecation notice for empty org role in oauth (#55118)

* Auth: Add deprecation notice for empty org role

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

* fix recasts

* fix azure tests missing logger

* Adding test to gitlab oauth

* Covering more cases

* Cover more options

* Add role attributestrict check fail

* Adding one more edge case test

* Using legacy for gitlab

* Yet another edge case YAEC

* Reverting github oauth to legacy

Co-authored-by: Jguer <joao.guerreiro@grafana.com>

* Not using token

Co-authored-by: Jguer <joao.guerreiro@grafana.com>

* Nit.

* Adding warning in docs

Co-authored-by: Jguer <joao.guerreiro@grafana.com>

* add warning to generic oauth

Co-authored-by: Jguer <joao.guerreiro@grafana.com>

* Be more precise

Co-authored-by: Jguer <joao.guerreiro@grafana.com>

* Adding warning to github oauth

Co-authored-by: Jguer <joao.guerreiro@grafana.com>

* Adding warning to gitlab oauth

Co-authored-by: Jguer <joao.guerreiro@grafana.com>

* Adding warning to okta oauth

Co-authored-by: Jguer <joao.guerreiro@grafana.com>

* Add docs about mapping to AzureAD

Co-authored-by: Jguer <joao.guerreiro@grafana.com>

* Clarify oauth_skip_org_role_update_sync

Co-authored-by: Jguer <joao.guerreiro@grafana.com>

* Nit.

* Nit on Azure AD

Co-authored-by: Jguer <joao.guerreiro@grafana.com>

* Reorder docs index

Co-authored-by: Jguer <joao.guerreiro@grafana.com>

* Fix typo

Co-authored-by: Jguer <joao.guerreiro@grafana.com>

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
Co-authored-by: gamab <gabi.mabs@gmail.com>
(cherry picked from commit 00e7324bf6)

* Auth: Allow admins to manually change oauth user role if `oauth_skip_org_role_update_sync` is enabled  (#55182)

* Auth: Allow admins to change oauth user info it it's not synced.

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

* Update public/app/features/admin/UserAdminPage.tsx

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

* Add missing import

* Simplify init

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

* SAML: Add option to skip org role sync (#55230)

* SAML: Add option to skip org role sync

* Modify frontend accordingly

* Remove update from config option name

Co-authored-by: Jguer <joao.guerreiro@grafana.com>

* Remove update from config option name

Co-authored-by: Jguer <joao.guerreiro@grafana.com>

* Fix typo

Co-authored-by: Jguer <joao.guerreiro@grafana.com>

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
Co-authored-by: gamab <gabi.mabs@gmail.com>
Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
(cherry picked from commit 3e2e9f93b9)

* Update gitlab_oauth_test.go

* Update gitlab_oauth_test.go
2022-09-19 09:33:47 +02:00
Grot (@grafanabot)
946622f7c6 Provisioning Contact points: Support disableResolveMessage via YAML too (#54122) (#55254)
Signed-off-by: Michael Musenbrock <michael.musenbrock@gmail.com>
(cherry picked from commit 099d3cdf72)

Co-authored-by: Michael Musenbrock <michael.musenbrock@gmail.com>
2022-09-15 16:53:00 -05:00
Grot (@grafanabot)
b0124f0648 Alerting: Fix send resolved notifications (#54793) (#55256)
This commit fixes a bug where we did not send resolved alerts to Alertmanager for resolved alert instances. This meant that resolved notifications did not have the annotations from the resolved state, and a result did not also have the resolved screenshot.

(cherry picked from commit 5561f935e6)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-09-15 19:55:01 +01:00
Eric Leijonmarck
f500459303 [v9.1.x] fix: min metric to hourly metric (#55244)
* fixed merge

* fixed merge

* fixed merge
2022-09-15 16:21:59 +02:00
Grot (@grafanabot)
1c9091f85d Migrate user_id to BIGINT (#55084) (#55235)
(cherry picked from commit 7352c181c2)

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
2022-09-15 14:46:21 +02:00
Grot (@grafanabot)
3425aace85 Alerting: Fix legacy migration crash when rule name is too long (#55053) (#55128)
* Extract standardized UID field length to constant

* Extract default length to constant

* Truncate rule names that are too long

* Add tests for name normalization

* Fix whitespace lint error

* Another linter fix

* Empty commit to kick build

(cherry picked from commit 9f45e2e706)

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2022-09-13 15:12:16 -04:00
Domas
28997ed169 Frontend logging: handle logging endpoints without expensive middleware (#54960) (#55019)
(cherry picked from commit b5c67fe0dd)
2022-09-12 13:38:03 +03:00
Grot (@grafanabot)
a41e6ae453 AzureMonitor: Fix custom namespaces (#54937) (#55018)
(cherry picked from commit 879ee82b83)

Co-authored-by: Adam Simpson <adam@adamsimpson.net>
2022-09-12 06:28:32 -04:00
Grot (@grafanabot)
f80a9388cf Alerting: remove interpolation of annotations from alert rule file provisioning (#54975) (#54996)
(cherry picked from commit bc4d929c67)

Co-authored-by: Jean-Philippe Quéméner <JohnnyQQQQ@users.noreply.github.com>
2022-09-12 11:01:03 +02:00
Artur Wierzbicki
e1f5d698e6 Search: Add substring matcher (#54895)
* Search: Add substring matcher (#54813)

* search: bring back substring search

* lint fix

* search: bring back ngram

* search: bring back ngram

* search: more tests

* fix tests
2022-09-09 14:20:20 +02:00
Jean-Philippe Quéméner
19a58da54c Alerting: make sure to update contact point references when updating (#54896) (#54952)
(cherry picked from commit e41f78a56d)
2022-09-09 14:15:57 +02:00
Grot (@grafanabot)
c4f57481fd Alerting: validate am config changes before persisting (#54908) (#54944)
(cherry picked from commit d88f1c8e35)

Co-authored-by: Jean-Philippe Quéméner <JohnnyQQQQ@users.noreply.github.com>
2022-09-09 04:53:02 -04:00
Grot (@grafanabot)
ed52d422c1 instrumentation: dont instrument ErrSkip at all (#54880) (#54883)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
(cherry picked from commit b4e3c89f60)

Co-authored-by: Carl Bergquist <carl.bergquist@gmail.com>
2022-09-08 05:27:38 -04:00
Grot (@grafanabot)
1bf8c8563d Alerting: Sanitize invalid label/annotation names for external alertmanagers (#54537) (#54859)
* Alerting: Sanitize invalid label/annotation names for external alertmanagers

Grafana's built-in Alertmanager supports both Unicode label keys and values; however, if using an external
Prometheus Alertmanager label keys must be compatible with their data model.
This means label keys must only contain ASCII letters, numbers, as well as underscores and match the regex
`[a-zA-Z_][a-zA-Z0-9_]*`.

Any invalid characters will now be removed or replaced by the Grafana alerting engine before being sent to
the external Alertmanager according to the following rules:

- `Whitespace` will be removed.
- `ASCII characters` will be replaced with `_`.
- `All other characters` will be replaced with their lower-case hex representation.

* Prefix hex replacements with `0x`

* Refactor for clarity

* Apply suggestions from code review

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
(cherry picked from commit 940d18ad57)

Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
2022-09-07 11:52:00 -04:00
Grot (@grafanabot)
48ee6e6cb8 Alerting: Resetting the notification policy tree to the default policy will also restore default contact points (#54608) (#54855)
* Add test that resetting the route restores the default receiver

* Return error instead of panic

* Adjust error string to match styleguide

(cherry picked from commit b193eaed6e)

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2022-09-07 10:46:32 -05:00
Grot (@grafanabot)
9c3e1968da [v9.1.x] Alerting: Fix incorrect propagation of org ID and other fields in rule provisioning endpoints (#54807)
* Fix incorrect propagation of org ID in rule endpionts (#54603)

(cherry picked from commit b8d1474609)

* Work around OrgId -> OrgID rename in backport

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2022-09-06 15:20:15 -05:00
Grot (@grafanabot)
35d51435f4 Alerting: Telegram: truncate long messages (#54339) (#54796)
Truncate messages longer than 4096 characters

(cherry picked from commit b593d371ef)

Co-authored-by: Ilya Galimyanov <ilyaxa1@gmail.com>
2022-09-06 18:29:18 +01:00
Karl Persson
843ca0a355 [v9.1.x] RBAC: Fix resolver issue on wildcard resulting in wrong status code (#54692)
* RBAC: Fix resolver issue on wildcard resulting in wrong status code for endpoints (#54208)

* RBAC: Test evaluation before attaching mutator

* RBAC: Return error if no resolver is found for scope

* RBAC: Sync changes to evaluation in mock

* RBAC: Check for resolver not found error and just fail the evaluation in that case

(cherry picked from commit 552d3fec8d)
2022-09-06 09:08:49 +02:00
Grot (@grafanabot)
6f255cb089 LibraryElements: Fix inability to delete library panels under MySQL (#54600) (#54711)
Closes #53456

(cherry picked from commit 65c3ad6721)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2022-09-05 10:29:56 -04:00
Grot (@grafanabot)
9b816ea945 API: Do not expose user input in datasource error responses (#53483) (#54709)
(cherry picked from commit 950715b255)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2022-09-05 09:24:23 -04:00
Carl Bergquist
8790142aef Instrumentation: log the total number of db queries per request (#54647) (#54686)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
Co-authored-by: Dave Henderson <dave.henderson@grafana.com>
(cherry picked from commit 78978048c3)
2022-09-05 11:58:35 +02:00
Karl Persson
8526d2cb71 Correlations: Use correct fallback handlers (#54511) (#54569)
* Correlations: Use correct fallback handlers

* Add signed in middleware to all routes

(cherry picked from commit be6b8d91eb)
2022-09-01 15:08:10 +02:00
Dave Henderson
74734db443 [v9.1.x] Metrics: Fixed grafana_database_conn_* metrics, and added new go_sql_stats_* metrics as eventual replacement (#54540)
Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2022-08-31 11:32:29 -04:00
Gabriel MABILLE
9ea61eebfd FIX: RBAC prevents deleting empty snapshots (#54385) (#54510)
Co-authored-by: Mihály Gyöngyösi <mgyongyosi@users.noreply.github.com>
Co-authored-by: Emil Tullsted <sakjur@users.noreply.github.com>
(cherry picked from commit c2c319146a)
2022-08-31 09:21:42 +02:00
Grot (@grafanabot)
e5741c82d6 Rendering: Add support for renderer token (#54425) (#54431)
(cherry picked from commit a4f75cc0438712c90b02d24740416f8615e3a0cb)
(cherry picked from commit 6ec06f66b9)

Co-authored-by: Joan López de la Franca Beltran <5459617+joanlopez@users.noreply.github.com>
2022-08-30 11:32:29 +01:00
Grot (@grafanabot)
493c7866a2 RBAC: Display indicator if a permission is inherited (#54080) (#54380)
* RBAC: Add IsInherited property

* PermissionList: Display inherited indicator

(cherry picked from commit cc78486535)

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2022-08-29 05:29:37 -04:00
Marcus Efraimsson
c8a313c289 Plugins: Remove various custom headers logic (#54146) (#54284)
Removes various custom headers logic sprinkled around in the backend.
It should automatically be applied to outgoing HTTP requests via the
CustomHeadersMiddleware.
This also removes decryption of SecureJSONData to populate custom
headers in ngalert which seemed to have caused a ton of CPU usage.

(cherry picked from commit 87afd9cadc)
2022-08-29 10:21:34 +02:00
Grot (@grafanabot)
200a901829 Alerting: use raw query data in provisioning to bypass interpolation of macros (#54293) (#54357)
(cherry picked from commit a932428057)

Co-authored-by: Jean-Philippe Quéméner <JohnnyQQQQ@users.noreply.github.com>
2022-08-26 18:07:47 -04:00
Grot (@grafanabot)
867c695646 Alerting: add missing yaml tag to mute time struct (#54287) (#54355)
(cherry picked from commit 49b1182f34)

Co-authored-by: Jean-Philippe Quéméner <JohnnyQQQQ@users.noreply.github.com>
2022-08-26 17:41:51 -04:00
Artur Wierzbicki
108c2575f8 Search: use SQL search as a fallback during bluge's initial indexing (#54095) (#54276)
* Search: use SQL search as a fallback when bluge indexing is ongoing

* Search: lint

* Search: feedback fixes - return an empty frame with a special name

* Search: revert readiness check query type

* Search: remove println

* remove sleep, get coffee

(cherry picked from commit 74158ed66b)
2022-08-26 08:38:15 -07:00
Grot (@grafanabot)
fe7c483b9b elastic: always use millisecond-intervals for alerting (#54157) (#54317)
(cherry picked from commit a58edc9f5e)

Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
2022-08-26 08:54:59 -04:00
George Robinson
d941d0ba78 Alerting: Fix saving of screenshots uploaded with a signed url (#53933) (#54147)
The URL of screenshots uploaded to external image storages can be optionally signed, resulting in a long string (800+ chars).

Co-authored-by: Valério Valério <vdv100@gmail.com>
2022-08-25 09:06:59 +01:00
Yuriy Tseretyan
04967f4d8a Alerting: Update rules delete endpoint to handle rules in group (#53790) (#54184)
* update RouteDeleteAlertRules rules to update as a group
* remove expecter from scheduler mock to support variadic function
* create function to check for provisioning status + tests
2022-08-24 16:51:26 -04:00
Grot (@grafanabot)
7002c11006 Alerting: log external alertmanager URLs #54127 (#54177)
(cherry picked from commit 4fad827acd)

Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>
2022-08-24 14:08:34 -04:00
Grot (@grafanabot)
f80df9a187 [v9.1.x] Alerting: Fix width of Adaptive Cards in Teams notifications (#54045)
Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-08-22 17:18:08 +02:00