Compare commits

...

1546 Commits

Author SHA1 Message Date
Horst Gutmann
210e06b67a [v8.5.x] Fix environment for linux-package building 2023-03-22 11:09:55 +01:00
Julien Duchesne
77d92fc5ae Drone: Always have image_pull_secrets (#55530)
Having it doesn't prevent pulling any images, so it's easier if it's everywhere
2023-03-22 10:56:50 +01:00
Horst Gutmann
d8ae276209 [v8.5.x] Backporting publish grafana-com command (#820) 2023-03-22 10:34:09 +01:00
ismail simsek
42911348a7 [v8.5.x] Fix xss in Graphite functions tooltip (#808)
Fix xss in Graphite functions tooltip (#804)

(cherry picked from commit 87aad3f11836f810ee1fdfee27827e746ef36055)

Co-authored-by: Ludovic Viaud <ludovic.viaud@gmail.com>
2023-03-16 17:30:45 -05:00
Dimitris Sotirakis
b2d39a1791 CI: Update grabpl for v8.5.x (#64332)
Update grabpl for v8.5.x
2023-03-09 11:54:25 +02:00
Grot (@grafanabot)
59df6f707b Release: Bump version to 8.5.22 (#63885)
"Release: Updated versions in package to 8.5.22"
2023-02-28 17:28:49 +01:00
Horst Gutmann
9043a10dfb [v8.5.x] Changelog: Updated changelog for 8.5.21 (#63882) (#63889)
Changelog: Updated changelog for 8.5.21 (#63882)

* Changelog: Updated changelog for 8.5.21

* Update CHANGELOG.md

---------

Co-authored-by: Horst Gutmann <horst.gutmann@grafana.com>
(cherry picked from commit a393124e73)

Co-authored-by: Grot (@grafanabot) <43478413+grafanabot@users.noreply.github.com>
2023-02-28 17:24:49 +01:00
Andrej Ocenas
f314f82791 [v8.5.x] TraceView: Add key and url escaping of json tag values (#759) 2023-02-21 07:11:40 +01:00
Drew Slobodnjak
cb97b1bc7b [v8.5.x] Geomap: Sanitize the attribution string (#763)
Apply attribute sanitation to GeomapPanel
2023-02-21 07:11:39 +01:00
nmarrs
a0fdec0209 Apply attribute sanitation to GeomapPanel 2023-02-21 07:11:38 +01:00
Grot (@grafanabot)
d3f81e5f5f [v8.5.x] Update publishing workflows to use organization secret (#63042)
Update publishing workflows to use organization secret (#63001)

The new tokens are managed centrally and have a longer expiry.
Administrators of the grafanabot account will be
notified of the pending expiry and the secret can be rotated centrally
without the need for a repository administrator to update their
secrets.

The existing repository secrets can safely be removed. The tokens for
those secrets will be removed by the end of this week.

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
(cherry picked from commit ba9bdf3455)

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2023-02-07 12:24:05 -05:00
Grot (@grafanabot)
6d97b7998b [v8.5.x] [v9.0.x] docs: update broken elasticsearch metrics play link (#62729)
[v9.0.x] docs: update broken elasticsearch metrics play link (#62720)

update broken elasticsearch metrics play link

(cherry picked from commit 9d659f0851)

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
2023-02-06 09:45:55 +00:00
Kevin Minehart
58261a814a [v8.5.x] CI: backport the rpm and deb packaging to 8.5.x (#62639)
* backport the rpm and deb packaging to 8.5.x

Co-authored-by: Julien Duchesne <julien.duchesne@grafana.com>
2023-02-02 16:22:57 +00:00
Emil Tullstedt
bbe9c1bd2a [v8.5.x] Login: Fix panic when UpsertUser is called without ReqContext (#62539) (#62575)
Login: Fix panic when UpsertUser is called without ReqContext (#62539)

(cherry picked from commit b1151dd118)
2023-01-31 13:23:12 +01:00
Dimitris Sotirakis
d1c4560d6e [v8.5.x] Merge changes from release-8.5.20 branch (#62103)
Update gpg secret name

# Conflicts:
#	.drone.yml
#	scripts/drone/steps/lib.star
2023-01-25 15:35:29 +02:00
Horst Gutmann
e5520833d2 Merge v8.5.x into v8.5.x 2023-01-25 13:55:22 +01:00
Grot (@grafanabot)
56e30b8aff Release: Bump version to 8.5.21 (#62081)
"Release: Updated versions in package to 8.5.21"
2023-01-25 12:06:41 +02:00
Kevin Minehart
623cd8f41c update gpg secret name (#731) 2023-01-24 11:16:21 -06:00
Horst Gutmann
3b8707ddb4 [v8.5.x] Remove duplicate code change (#719) 2023-01-24 09:01:21 +01:00
Nathan Marrs
5f3fef7789 [v8.5.x] SVG: Add dompurify preprocessor step (#707)
* SVG: Add dompurify preprocessor step (#698)

* add sanitized SVG component

(cherry picked from commit dbbe819368f507b9493b7a3cf6e080a5dd752b3e)

* Remove unused import to fix build

* Fix lint issues

* Remove additional class handling as not needed

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2023-01-24 09:01:20 +01:00
kay delaney
990cac09b9 Snapshots: Fix originalUrl spoof security issue (#671) 2023-01-24 09:01:19 +01:00
Misi
13acd134c8 [v8.5.x] Update grafana/saml library (#687)
SAML: update grafana/saml

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

Co-authored-by: linoman <2051016+linoman@users.noreply.github.com>
2023-01-24 09:01:18 +01:00
Kevin Minehart
18426f19d6 [v8.5.x] Packaging: Use base64 key (#61821)
backport

Co-authored-by: Julien Duchesne <julien.duchesne@grafana.com>
2023-01-19 22:49:21 +00:00
Kevin Minehart
40831fa5a1 [v8.5.x] Use new GPG key when publishing (#61790)
update .drone.yml

Co-authored-by: Julien Duchesne <julien.duchesne@grafana.com>
2023-01-19 19:56:56 +00:00
Levente Balogh
9a39ce480a Levitate: Only run against the main branch (#61401) (#61460)
chore: only run Levitate against the main branch
(cherry picked from commit b8aaf85fdc)
2023-01-13 09:50:52 +00:00
linoman
d2012e4623 Add reference to Google OAuth docs (#61146) 2023-01-11 14:32:11 +01:00
Grot (@grafanabot)
98bd3e89b2 [v8.5.x] Update publishing workflows to use PATs with fine-grained access control (#61265)
Update publishing workflows to use PATs with fine-grained access control (#61098)

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
(cherry picked from commit 87ccf10ffe)

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2023-01-11 11:11:10 +00:00
Esteban Beltran
f5301859e0 Docs: Add source code url field description in publish a plugin documentation (#61080) (#61138) 2023-01-09 10:50:41 +01:00
Jack Baldry
4cacab01f4 [v8.5.x] Use relative aliases for all non-current Grafana aliases and remove current page latest aliases (#60062) (#61032)
* Use relative aliases for all non-current Grafana aliases

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Remove all current page aliases

find docs/sources -type f -name '*.md' -exec sed -z -i 's#\n *- /docs/grafana/latest/[^\n]*\n#\n#' {} \;
find docs/sources -type f -name '*.md' -exec sed -Ez -i 's#\n((aliases:\n *-)|aliases:\n)#\n\2#' {} \;

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
2023-01-05 14:29:40 +00:00
Grot (@grafanabot)
246b9cc82c [v8.5.x] Remove packages path from branch filter (#60944)
Remove packages path from branch filter (#60128)

That directory is no longer used in published docs and causes this
workflow to fail when changes only affect the packages directory.

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
(cherry picked from commit 1516aa2762)

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2023-01-04 10:40:59 +00:00
Emil Tullstedt
df7504737a [v8.5.x] Chore: Upgrade Go to 1.19.4 (#60794) (#60824) 2022-12-30 11:50:37 +01:00
Grot (@grafanabot)
aaa4698064 [v8.5.x] Add copyright notice (#60659)
* Add copyright notice (#60658)

* Create copyright

* add copyright notice

(cherry picked from commit c7671b6d1d)

* yarn run prettier:write

(cherry picked from commit 160ea3e262)
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>
Co-authored-by: dsotirakis <dimitrios.sotirakis@grafana.com>
2022-12-23 10:01:31 +00:00
Dominik Prokop
7880990c5f [v8.5.x] Snapshots: Build snapshot originalUrl on the backend (#60232) (#60245)
Co-authored-by: kay delaney <kay@grafana.com>
Co-authored-by: Alexandra Vargas <alexa1866@gmail.com>
2022-12-13 17:43:42 +01:00
Grot (@grafanabot)
b8f9d46328 [v8.5.x] Fix branch filter for release workflows (#60120)
Fix branch filter for release workflows (#59963)

Ensures the workflow is run on every push to all version branches.

This was thought to be working because it was tested with a manual
dispatch, however, that trigger does not consider filters and was not
an accurate test.

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
(cherry picked from commit 6f9ee7acf9)

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2022-12-09 15:39:48 -04:00
Grot (@grafanabot)
669ff8909a [v8.5.x] Restrict workflow to grafana/grafana repository (#59753)
Restrict workflow to grafana/grafana repository (#59740)

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
(cherry picked from commit e7bdcb4ba8)

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2022-12-02 17:29:38 -04:00
Grot (@grafanabot)
f954b4c03d [v8.5.x] Automate docs publishing steps (#59563)
* Automate docs publishing steps (#59550)

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
(cherry picked from commit 10a83714c8)

* Remove dependency on test job (#59575)

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Fix release_branch_regexp (#59590)

Apparently the non-capturing group was incorrect.

I verified the logic in a branch in grafana-github-actions:
https://github.com/grafana/grafana-github-actions/compare/jdb/2022-11-prove-grafana-regexp-behaves-correctly?expand=1

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2022-11-30 15:04:33 -04:00
Emil Tullstedt
14273c598c [v8.5.x] Chore: Upgrade go-sqlite3 to v1.14.16 (#58696)
Chore: Upgrade go-sqlite3 to v1.14.16
2022-11-22 10:50:12 +00:00
Jo
4e4f4218d1 Fix: Email and username trimming and invitation validation (#58449)
* Trim leading and trailing whitespaces from email and username on signup

* Check whether the provided email address is the same as where the invitation sent

Co-authored-by: Mihaly Gyongyosi <mgyongyosi@users.noreply.github.com>
2022-11-14 13:13:06 +01:00
Garrett Guillotte
5facdc6510 [v8.5.x] Docs: Add document for jsondata field alertmanagerUid (#57118)
* Add document for jsondata field `alertmanagerUid` (#52895)

alertmanagerUid can be used to specify Alert Manager for a particular Prometheus/Loki data source.

Co-authored-by: Garrett Guillotte <garrett.guillotte@grafana.com>

* Docs: Fix provisioning table formatting (#57042)

Co-authored-by: Vũ Quốc Phong <phong.vq.198@gmail.com>
2022-11-14 10:55:43 +01:00
Karl Persson
4cfb76b4bc [v8.5.x] Omit error from http response (#58453) 2022-11-14 09:42:58 +01:00
Will Browne
d25246ca15 resolve conflicts (#58466)
Co-authored-by: Grot (@grafanabot) <43478413+grafanabot@users.noreply.github.com>
2022-11-08 12:42:56 -05:00
Grot (@grafanabot)
f31ba9a34f "Release: Updated versions in package to 8.5.16" (#58457) 2022-11-08 10:53:13 -05:00
Emil Tullstedt
62c41e99b8 Chore: Upgrade Go to 1.19.3 (#58070) 2022-11-07 15:07:24 +01:00
Karl Persson
360994050c [v8.5.x] Login email before username (#57408)
* Add test for username/login field conflict

* Swap order of login fields

Co-authored-by: linoman <2051016+linoman@users.noreply.github.com>
2022-10-21 14:14:00 +02:00
Emil Tullstedt
656e270bd9 Chore: Upgrade Go to 1.19.2 (#56857)
We also need to upgrade the linter together with the Go version, all the changes should relate to either fixing linting problems or upgrading the Go version used to build Grafana.
2022-10-13 14:53:51 +02:00
Grot (@grafanabot)
9e70696f09 "Release: Updated versions in package to 8.5.15" (#56707) 2022-10-11 09:07:29 -04:00
Sofia Papagiannaki
58b7ae14ce [v8.5.x] Chore: Release 8.5.14 (#56698)
* remove support for v1

(cherry picked from commit 8630a7a991af74edc4030f57d37a4bc263202fde)

* Security: Make proxy endpoints not leak sensitive HTTP headers

Fixes CVE-2022-31130

(cherry picked from commit 2974574a53ab6d26be7b706e76271173a91fea3a)

* Security: Fix do not forward login cookie in outgoing requests

(cherry picked from commit 54a32fc83b233f5910495b5fcca0b4f881221538)

* Add test for username/login field conflict

(cherry picked from commit 7aabcf2694)

* Swap order of login fields

(cherry picked from commit 5ec176cada)

* "Release: Updated versions in package to 8.5.14" (#547)

Co-authored-by: Will Browne <will.browne@grafana.com>
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
Co-authored-by: linoman <2051016+linoman@users.noreply.github.com>
Co-authored-by: Grot (@grafanabot) <43478413+grafanabot@users.noreply.github.com>
2022-10-11 15:25:10 +03:00
Grot (@grafanabot)
811b6c06b0 Docs: Fix caching.memcached setting name (#56606) (#56672)
(cherry picked from commit ef17f12c23)

Co-authored-by: Joan López de la Franca Beltran <5459617+joanlopez@users.noreply.github.com>
2022-10-11 05:07:45 -04:00
Grot (@grafanabot)
de78d1880b Dashboard: Single right-aligned y axis loses gridlines (#54206) (#55536)
Co-authored-by: gitstart <gitstart@gitstart.com>
Co-authored-by: gitstart <gitstart@users.noreply.github.com>
Co-authored-by: Nitesh Singh <nitesh.singh@gitstart.dev>
Co-authored-by: Murilo Amaral <87545137+MuriloAmarals@users.noreply.github.com>
Co-authored-by: Matheus Benini Ferreira <88898100+MatheusBeniniF@users.noreply.github.com>
Co-authored-by: Rafael Toledo <87545086+Toledodev@users.noreply.github.com>
Co-authored-by: Rubens Rafael <70234898+RubensRafael@users.noreply.github.com>
Co-authored-by: Júlio Piubello da Silva Cabral <julio.piubello@gitstart.dev>
Co-authored-by: Thiago Nascimbeni <tnascimbeni@gmail.com>

Co-authored-by: gitstart <gitstart@users.noreply.github.com>
Co-authored-by: gitstart <gitstart@gitstart.com>
Co-authored-by: Nitesh Singh <nitesh.singh@gitstart.dev>
Co-authored-by: Murilo Amaral <87545137+MuriloAmarals@users.noreply.github.com>
Co-authored-by: Matheus Benini Ferreira <88898100+MatheusBeniniF@users.noreply.github.com>
Co-authored-by: Rafael Toledo <87545086+Toledodev@users.noreply.github.com>
Co-authored-by: Rubens Rafael <70234898+RubensRafael@users.noreply.github.com>
Co-authored-by: Júlio Piubello da Silva Cabral <julio.piubello@gitstart.dev>
Co-authored-by: Thiago Nascimbeni <tnascimbeni@gmail.com>
(cherry picked from commit 667993eae7)

Co-authored-by: GitStart <1501599+gitstart@users.noreply.github.com>
2022-09-23 17:10:36 -05:00
Ieva
992ea8b765 Access Control: Allow org admins to invite new users (#55585)
* backport change to allow org admins to invite new users to org

* remove docs from backport
2022-09-21 11:19:06 -04:00
Ieva
0e5b1a7c5d resolve merge conflicts (#55508)
Co-authored-by: Grot (@grafanabot) <43478413+grafanabot@users.noreply.github.com>
2022-09-20 12:26:45 -04:00
Grot (@grafanabot)
8df7f5b1d4 "Release: Updated versions in package to 8.5.13" (#55501) 2022-09-20 12:01:34 -04:00
Ieva
3282afc648 V8.5.12 security patch (#486) (#55495)
* Data source: prevent from using auth proxy header as custom data source header (#477)

* apply security changes for auth proxy permission escalation

* add links to CVE

* remove duplicate check

* apply security fix for admin only folder migration (#484)

Co-authored-by: Karl Persson <kalle.persson@grafana.com>

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2022-09-20 16:40:52 +01:00
Grot (@grafanabot)
8806b8fc1b Plugins: Expose emotion/react to plugins to prevent load failures (#55297) (#55398)
(cherry picked from commit db17a88193)

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2022-09-19 17:36:36 +02:00
kay delaney
9e7d9fd123 [v8.5.x] Chore: Update slate and related packages (#54566) (#54800)
* Chore: Update slate and related packages (#54566)
2022-09-14 15:21:53 +01:00
Gilles De Mey
157cc68501 Manual back-port of #52399 (#55035) 2022-09-12 10:36:09 -04:00
Grot (@grafanabot)
b3f4a71c77 API: Do not expose user input in datasource error responses (#53483) (#54707)
(cherry picked from commit 950715b255)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2022-09-05 09:24:08 -04:00
Grot (@grafanabot)
46bbc0d3ab AppRootPage: Fixes issue navigating between two app plugin pages (#54519) (#54527)
* AppRootPage: Fixes issue where it was not possible to navigate to another plugin

* Externalize react-router

* fixing test

(cherry picked from commit e5fba788d6)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-08-31 09:48:14 -04:00
Grot (@grafanabot)
3d42e06e35 "Release: Updated versions in package to 8.5.11" (#54457) 2022-08-30 20:11:29 +02:00
Joan López de la Franca Beltran
51fa81c419 Rendering: Add support for renderer token (#54425) (#54438)
(cherry picked from commit a4f75cc0438712c90b02d24740416f8615e3a0cb)
(cherry picked from commit 6ec06f66b9)
2022-08-30 14:05:05 +02:00
Grot (@grafanabot)
d043d12427 Geomap: Local color range for dimensions (#54348) (#54350)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
(cherry picked from commit 0707d682e0)
2022-08-26 16:58:53 -04:00
Grot (@grafanabot)
390c53a81e [v8.5.x] Build: Use specific nodejs version for levitate pipeline (#54211)
Co-authored-by: Esteban Beltran <academo@users.noreply.github.com>
2022-08-25 05:32:39 -04:00
Grot (@grafanabot)
5260d264fb alerting: redact alertmanagers in scheduler logs (#54183) (#54186)
(cherry picked from commit 438c95892f)

Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>
2022-08-24 17:07:26 -04:00
Grot (@grafanabot)
f997ac8532 Geomap: Fix geohash editor settings #54058 (#54063)
(cherry picked from commit 13aacf3590)

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-08-22 17:26:58 -04:00
Grot (@grafanabot)
25033280fd TimeSeries: Fix memory leak on viz re-init caused by KeyboardPlugin (#53892)
(cherry picked from commit 329aab7395)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-08-18 08:29:45 -04:00
Grot (@grafanabot)
99d7e7b4f2 Fix small typo in panel doc (#52568) (#52726)
(cherry picked from commit bdcef92e35)

Co-authored-by: Chris Hodges <chris.hodges@gmail.com>
2022-08-16 10:40:22 +02:00
Yuriy Tseretyan
ac565335ff [v8.5.x] Alerting: AlertingProxy to elevate permissions for request forwarded to data proxy when RBAC enabled (#53681)
* use constants from prior to the refactoring
2022-08-12 13:28:19 -04:00
Grot (@grafanabot)
4b2f8a8420 Chore: Panic! in the Logs (#53664) (#53667)
(cherry picked from commit cc777e175e)

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
2022-08-12 10:00:36 -04:00
Grot (@grafanabot)
d8583237ea [v8.5.x] Geomap: Revert temporary fix for markers coloring (#53611) (#53630)
(cherry picked from commit 1f93216f1d)

Co-authored-by: Adela Almasan <88068998+adela-almasan@users.noreply.github.com>
2022-08-11 17:57:01 -04:00
Grot (@grafanabot)
b48e5fcc53 Geomap: Set markers color based on selected color field #53493 (#53496)
(cherry picked from commit 45750da667)

Co-authored-by: Adela Almasan <88068998+adela-almasan@users.noreply.github.com>
2022-08-09 19:00:12 -04:00
Jean-Philippe Quéméner
c93f0439db Backport release notes of 8.5.10
Co-authored-by: Grot (@grafanabot) <43478413+grafanabot@users.noreply.github.com>
2022-08-08 09:40:44 -04:00
Grot (@grafanabot)
030d52282f "Release: Updated versions in package to 8.5.10" (#53394) 2022-08-08 15:27:51 +02:00
Sofia Papagiannaki
dc52320fc9 [v8.5.x] API: Fix snapshot responses (#53301)
* API: Fix snapshot responses (#52998)

* API: Fix response status when snapshots are not found

* API: Fix response status when snapshot key is empty

* Apply suggestions from code review

(cherry picked from commit 5fec6cc4f5)
2022-08-04 19:21:39 +03:00
Grot (@grafanabot)
6c8768020e add missing check for root URLs length (#53239) (#53249)
(cherry picked from commit 46b7ca12e1)

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2022-08-03 17:27:16 +02:00
Grot (@grafanabot)
557b044c15 check not empty root urls before setting field (#53135) (#53234)
(cherry picked from commit 5523c00b01)

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2022-08-03 10:20:31 -04:00
Grot (@grafanabot)
ada287544f Plugins: Validate root URLs when signing private plugins via grafana-toolkit (#51968) (#53227)
* validate URLs

* apply PR review feedback

* fix err msg

(cherry picked from commit b32ad993c5)

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2022-08-03 15:48:39 +02:00
Yuriy Tseretyan
af8853d0bf [8.5.x] Alerting: Remove user input from error response (#53147) 2022-08-02 16:51:55 -04:00
Grot (@grafanabot)
2f2e0752ec TimeSeriesPanel: Tooltip works properly when changing modes (#52876) (#53054)
* TimeSeriesPanel: Tooltip works properly when changing modes

* TooltipPlugin respects display mode

* Pass options to TimeSeriesPanel props

(cherry picked from commit 2948bf01dc)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2022-08-01 11:27:28 -04:00
Grot (@grafanabot)
9c779fd805 BarchartPanel: Fix color from thresholds show incorrectly (#52038) (#52968)
Signed-off-by:  Kyle Cunningham <kyle.cunningham@grafana.com>
(cherry picked from commit 11c79cd6da)

Co-authored-by: mingozh <77652617+mingozh@users.noreply.github.com>
2022-08-01 05:00:13 -04:00
MicroOps-cn
1b1076ea2e Variables: Add 'jsonwithoutquote' formatting options for variables, and format of variable supports pipeline. (#51859) 2022-07-29 17:32:48 +01:00
Grot (@grafanabot)
617cf776bd [v8.5.x] API: Do not expose user input in datasource error responses (#52995)
* API: Do not expose user input in datasource error responses (#52992)

(cherry picked from commit 87004cc22d)

* Remove unused import

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2022-07-29 16:18:16 +03:00
Will Browne
efe6c1d1b8 [v8.5.x] Plugins: Add validation for plugin manifest (#52865)
* resolve conflicts

* add plugin data for test
2022-07-27 14:23:00 +02:00
Selene
8ce81019db Add GetDialect function (#52818) 2022-07-27 12:58:41 +02:00
Grot (@grafanabot)
5c51d32098 [v8.5.x] UI/Card: Fix card items always having pointer cursor (#52816)
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2022-07-26 16:44:33 +02:00
Konrad Lalik
804a52b059 [v8.5.x] Alerting: Fix alert panel instance-based rules filtering (#52583) (#52653) 2022-07-26 10:02:18 +02:00
Gabriel MABILLE
393c63e479 RBAC: Fix Anonymous Editors missing dashboard controls (#52649) 2022-07-26 09:19:35 +02:00
Grot (@grafanabot)
3ace91016e Fix anonymous access (#52615) (#52635)
(cherry picked from commit 8d938175f5)

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2022-07-22 11:08:50 +02:00
gotjosh
79c998c760 Alerting: Allow the webhook notifier to support a custom Authorization header (#52515) (#52621)
* Allow the webhook notifier to support a custom Authorization header

Instead of doing something clever of re-using the existing username/password fields of Basic Authentication - I opted for two diffent fields to match the upstream Alertmanager configuration (that in turn is based of the HTTP Basic authentication).

 It'll fail if you have values for both HTTP Basic Authentication and Authorization.

(cherry picked from commit b026f2bc5d)
2022-07-22 09:41:49 +01:00
Grot (@grafanabot)
c04cce903f Docs: Update query caching support (#50706) (#52461)
* Docs: Update query caching support

* Update query-caching.md

(cherry picked from commit 2b7fe7251c)

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
2022-07-19 10:34:15 -04:00
Andreas Christou
75be60cd0a Bump grafana-azure-sdk-go version (#52328) 2022-07-15 14:18:48 +01:00
Matthew Jacobson
6162f12369 Alerting: Fix Teams notifier not failing on 200 response with error (#52254) (#52269)
Team's webhook API does not always use the status code to communicate errors.
There are cases where it returns 200 and an error message in the body.
For example, 429 - Too Many Requests or when the message is too large.
Instead, what we should be looking for is a response body = "1".

https://docs.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/connectors-using?tabs=cURL#send-messages-using-curl-and-powershell
(cherry picked from commit efa0d90093)
2022-07-14 15:04:17 -04:00
Ieva
47fe0c40be backport changelog (#52258)
* backport changelog

* add 8.5.9 back in

* add date

Co-authored-by: Grot (@grafanabot) <43478413+grafanabot@users.noreply.github.com>
2022-07-14 19:15:21 +01:00
Grot (@grafanabot)
a1a1c00c0f "Release: Updated versions in package to 8.5.9" (#408) 2022-07-14 15:04:41 +01:00
Dimitris Sotirakis
586f9d18d4 [v8.5.x] Merge release-8.5.8 branch (#406)
* "Release: Updated versions in package to 8.5.6" (#370)

* Fix XSS in runbook URL (#379)

(cherry picked from commit ac3f79956d)

* "Release: Updated versions in package to 8.5.7" (#380)

* Fix: Choose Lookup params per auth module

Co-authored-by: Karl Persson <kalle.persson@grafana.com>

Fix: Prefer pointer to struct in lookup

Co-authored-by: Karl Persson <kalle.persson@grafana.com>

Fix: user email for ldap

Co-authored-by: Karl Persson <kalle.persson@grafana.com>

Fix: Use only login for lookup in LDAP

Co-authored-by: Karl Persson <kalle.persson@grafana.com>

Fix: use user email for ldap

Co-authored-by: Karl Persson <kalle.persson@grafana.com>

fix remaining test

fix nit picks

(cherry picked from commit 51c83909ebc99017fa0029c1e3f75724f25c5660)

* "Release: Updated versions in package to 8.5.8" (#398)

Co-authored-by: Grot (@grafanabot) <43478413+grafanabot@users.noreply.github.com>
Co-authored-by: George Robinson <george.robinson@grafana.com>
Co-authored-by: jguer <joao.guerreiro@grafana.com>
2022-07-14 15:04:41 +01:00
Jguer
b3e1d5cb5d Fix: Choose Lookup params per auth module (#397)
Co-authored-by: Karl Persson <kalle.persson@grafana.com>

Fix: Prefer pointer to struct in lookup

Co-authored-by: Karl Persson <kalle.persson@grafana.com>

Fix: user email for ldap

Co-authored-by: Karl Persson <kalle.persson@grafana.com>

Fix: Use only login for lookup in LDAP

Co-authored-by: Karl Persson <kalle.persson@grafana.com>

Fix: use user email for ldap

Co-authored-by: Karl Persson <kalle.persson@grafana.com>

fix remaining test

fix nit picks
2022-07-14 15:04:41 +01:00
George Robinson
d647fa61b7 Fix XSS in runbook URL (#379) 2022-07-14 15:04:41 +01:00
Grot (@grafanabot)
6c70574ff1 Alerting: Fix bug where state did not change between Alerting and Error (#52204) (#52208)
This commit fixes a bug where the state did not change from Alerting to Error if the evaluation result returned an error, or from Error to Alerting if evaluations stopped returning errors.

(cherry picked from commit 34d45977ca)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-07-14 06:08:27 -04:00
George Robinson
2160b0e9ab Alerting: Backport fix database unavailable removes rules from scheduler (#52140) 2022-07-14 09:45:04 +01:00
Leon Sorokin
702f6860f7 [v8.5.x] GraphNG: uPlot 1.6.22 (#51945) (#51991)
* GraphNG: uPlot 1.6.22 (#51945)

(cherry picked from commit fda7f064ad)

# Conflicts:
#	.betterer.results
#	package.json
#	packages/grafana-data/package.json
#	packages/grafana-data/src/transformations/transformers/joinDataFrames.ts
#	packages/grafana-ui/package.json
#	yarn.lock

* revert changes to isLikelyAscendingVector()

* types
2022-07-13 15:17:30 -07:00
Grot (@grafanabot)
aafcd83761 Plugins: Improved handling of symlinks (#51324) (#52089)
Improves how we handle symlinks in plugin management.

(cherry picked from commit 04df634ef5)

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-07-12 14:16:38 +02:00
Grot (@grafanabot)
e24416e678 BarChart: fix crash when checking bar value text overlap (#52061) (#52063)
(cherry picked from commit 254159ad69)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-07-11 14:03:03 -04:00
Will Browne
022d7c14d9 [v8.5.x] CLI: Allow relative symlinks in zip archives when installing plugins (#52049)
* resolve conflicts

* fix build issue

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-07-11 16:28:56 +02:00
Grot (@grafanabot)
e62f2a7b74 Prometheus datasource: query builder freezes when metrics metadata is undefined (#51929) (#51988)
* add error handling for prom query builder returning undefined metrics metadata

* remove reference to escalation

(cherry picked from commit e51187a474)

Co-authored-by: Brendan O'Handley <brendan.ohandley@grafana.com>
2022-07-08 12:22:35 -04:00
Ieva
0ad8a8fc4f backport (#51964) 2022-07-08 16:28:41 +02:00
Grot (@grafanabot)
f1f6feee8b Alerting: Fix RegExp matchers in frontend for Silences and other previews. (#51726) (#51872)
(cherry picked from commit d99a7334d5)

Co-authored-by: Joe Blubaugh <joe.blubaugh@grafana.com>
2022-07-08 10:42:19 +08:00
Grot (@grafanabot)
aa247f5833 Time series panel: Fix an issue with stacks being not complete due to the incorrect data frame length (#51910) (#51914)
* Test failure

* Fix

(cherry picked from commit 5a65a12278)

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2022-07-07 07:45:09 -07:00
Grot (@grafanabot)
11b8cefe09 [v8.5.x] Bar chart: Fix stacking bug when data produces 0 accumulators (#51809)
* Bar chart: Fix stacking bug when data produces 0 accumulators (#51450)

* Don't divide by 0 ...

* Add test panel to gdev dashboard

(cherry picked from commit daf0e3cb4e)

* betterer

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2022-07-07 02:07:47 -07:00
Grot (@grafanabot)
14e622414b Plugins: Register management endpoints only when external managed is also false (#51802) (#51816)
* Only define plugin install endpoints when catalog enabled

* add external check

(cherry picked from commit 40dff288cd)

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2022-07-07 04:58:51 -04:00
Yuriy Tseretyan
e347be769f Chore: Update ConcreteLogger to implement gokit Logger interface (#51599) (#51647)
# Conflicts:
#	pkg/infra/log/log.go
2022-07-06 11:49:27 -04:00
Grot (@grafanabot)
17b083f861 Histogram: filter nulls, bucket-adaptive xAxis decimals (#51773) (#51822)
(cherry picked from commit 173636aa61)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-07-06 11:29:41 -04:00
Grot (@grafanabot)
a0aba4319f Only define plugin install endpoints when catalog enabled (#51788) (#51789)
(cherry picked from commit ba9fc10a74)

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2022-07-06 11:27:55 +02:00
Grot (@grafanabot)
f2dc6c9330 Graphite: Use TimeRange with applied fiscalYearStartMonth (#51623) (#51774)
* Parse date with fiscalYearStartMonth in graphite ds

* Use precalculated timeranges

* Always use precalculated values

* Modify test

(cherry picked from commit 5b058d617d)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2022-07-06 10:11:09 +03:00
Ieva
8a7fe0f49f Access Control: Allow dashboard admins to query org users (#51695)
* "Release: Updated versions in package to 8.5.6" (#370)

* allow dashboard admins to query org users

Co-authored-by: Grot (@grafanabot) <43478413+grafanabot@users.noreply.github.com>
2022-07-04 14:22:37 +01:00
Grot (@grafanabot)
f7d9c401c2 Access control: role checks before updates (#51449) (#51457)
* add role checks

* linting

(cherry picked from commit 0c0cf36ab8)

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2022-06-28 06:23:17 -04:00
Victor Marin
ddfdc9ee7a Variables: improve performance of transformMetricFindResponse (#49360) (#51435)
* improve performance of transformMetricFindResponse

* use lodash uniqBy for postgres

* use lodash uniqBy for mysql

* use lodash uniqBy for mssql

* hopefully conform to import linting rules

* Added .betterer.results

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: Victor Marin <victor.marin@grafana.com>
(cherry picked from commit 683f31f2c6)

Co-authored-by: Nathaniel Saxe <NathanielSaxophone@gmail.com>
2022-06-27 05:02:30 -07:00
Emil Tullstedt
db5dee09d2 Chore: update golang.org/x dependencies (#51430) 2022-06-27 12:35:42 +02:00
Todd Treece
2200c3ca50 Variables: Selectively reload panels on URL update (#51003) (#51396)
(cherry picked from commit 342344bb03)
2022-06-24 21:23:01 +02:00
gotjosh
8356365b0a Alerting: Don't stop the migration when alert rule tags are invalid (#51253) (#51339)
* Alerting: Don't stop the migration when alert rule tags are invalid

As we migrate we expect the `alertRuleTags` on a dashboard alert to be a JSON object. However, it seems this is not really validated by Grafana and an user can change the format to something else that the JSON parser is not able to marshal into a `map[string]string`.

Let's do a bit better by "attempting" to parse the tags and if we can't we'll simple return an empty map. The data is still there so if the user wishes they can go back, fix the data and attemp the migration again.

(cherry picked from commit 90646e7f41)
2022-06-23 12:37:21 -05:00
Grot (@grafanabot)
f60aeb4b5d Fix query parameter template variable (#50023) (#51173)
As documented under [Advanced variable format options – Query parameters](https://grafana.com/docs/grafana/latest/variables/advanced-variable-format-options/#query-parameters), the option is `queryparam`, not `queryparams`.

I have verified in Grafana 8.5.3 that the former works while the latter doesn't.

(cherry picked from commit 1b091454ec)

Co-authored-by: kiwi-oss <71145773+kiwi-oss@users.noreply.github.com>
2022-06-21 15:49:59 +02:00
Grot (@grafanabot)
4b378485cf [v8.5.x] Alerting: Fix alert rule page crashing when datasource contained URL unsafe characters (#51122)
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2022-06-20 15:59:23 +02:00
Victor Marin
87420e15b8 TablePanel: Show filter icon on correct field when other fields are hidden (#50940) (#51090) 2022-06-20 10:27:39 +03:00
Dimitris Sotirakis
f73fa13e58 Update gopkg.in/yaml.v3 dep (#51042) 2022-06-20 10:04:19 +03:00
Grot (@grafanabot)
08c182bf2b Time Series Panel: Add Null Filling and "No Value" Support (#50907) (#51066)
* Use nullInsertThreshold and nullToValue in time series

* Allow for undefined timeRange to support certain candlestick uses of prepareGraphableFields

* Make sure null to value doesn't modify initial data

* Do a shallow values copy and avoid Array.push()

* Clean up null to value transformation.

* Add basic tests

* Remove redunant null threshold application flagging

* set nullThresholdApplied flag even when no null inserts were done

* Include nullThresholdApplied in test snapshot

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
(cherry picked from commit 86b785d039)

Co-authored-by: Kyle Cunningham <codeincarnate@users.noreply.github.com>
2022-06-17 16:32:15 -05:00
Matthew Jacobson
ca436db452 Alerting: Fix AM config overwrite when SQLite db is locked during sync (#50951) (#51001)
If SQLite is used and the database is locked temporarily (ex. heavy write-load) during periodic
AM config sync, it was possible for your AM config to be overwritten with the default one.

This fixes that by patching a bug in xorm v0.8.2 which was causing SQLITE_BUSY errors to be ignored
in certain cases.

(cherry picked from commit 8f5912b94c)
2022-06-17 12:19:05 -04:00
Grot (@grafanabot)
bdd1b2a6af StateTimeline: make sure we use result of applyNullInsertThreshold() (#50988) (#50993)
Co-authored-by: Kyle Cunningham <kyle@codeincarnate.com>
(cherry picked from commit 406509cdd3)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-06-16 17:46:30 -05:00
Adam Simpson
b03353537d ReleaseNotes: Updated changelog and release notes for 8.5.6 (#50807) (#50830)
(cherry picked from commit 2dd784852c)

Co-authored-by: Grot (@grafanabot) <43478413+grafanabot@users.noreply.github.com>
2022-06-16 13:10:00 +00:00
Dimitris Sotirakis
09fe518981 Remove publish.yml for v8.5.x (#50811) 2022-06-14 18:39:33 +02:00
Grot (@grafanabot)
15130a30fb "Release: Updated versions in package to 8.5.6" (#50806) 2022-06-14 16:03:29 +00:00
Agnès Toulet
89466ef3fc Docs: update query caching InfluxDB support (#50662) 2022-06-13 16:03:44 +02:00
Jack Baldry
88f730f062 Add current alias to all files (#48635) (#49102)
* Add aliases to all files

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Prettify front matter

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
(cherry picked from commit 51dfcd7)
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
2022-06-13 14:09:38 +02:00
Zoltán Bedi
c114e3ff5c [v8.5.x] TimeSeries: Add an option to set legend width (#50549)
* TimeSeries: Add an option to set legend width (#49126)

* Add an option to set legend width

* Add width to the cue file

* Use legendStyle

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
(cherry picked from commit a6693ba62f)

* Add missing migration

Co-authored-by: Ivan Babrou <github@ivan.computer>
2022-06-10 09:55:15 +02:00
Gabriel MABILLE
e9ec97b34c RBAC: Include alert.rules action when setting folder permissions (#49946) (#50510)
* Generate additional actions when setting folder permissions in acl list

* Add migration for managed folder permissions to include alert rule
actions

(cherry picked from commit bdff63d4a8)

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2022-06-09 14:25:04 +02:00
Grot (@grafanabot)
9500c94c98 [v8.5.x] RBAC: drop permissions with folder:create action added by migration (#50493)
* add migrator to drop folder create actions that was set fromt he folder (#49878)

(cherry picked from commit f4f25d911b)

* Add missing const

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
Co-authored-by: gamab <gabi.mabs@gmail.com>
2022-06-09 13:45:29 +02:00
Grot (@grafanabot)
18d37f81d8 Alerting: Improve Unified Alerting Rollback Warning (#50470) (#50471)
After migrating to unified alerting, users must explicitly allow rolling
back to legacy alerting by setting force_migration = true in config.
This updates the panic message to clarify why that's required and what
the consequences of rolling back will be.

Fixes #50469

(cherry picked from commit 30f035ca34)

Co-authored-by: Joe Blubaugh <joe.blubaugh@grafana.com>
2022-06-09 07:48:34 +02:00
lean.dev
7ebae85355 Bumping protobufjs version (#50435) (#50445)
Backport (cherry picked from commit b9cce18f72)
2022-06-08 18:11:46 +02:00
Grot (@grafanabot)
8328d823b8 Security: Fixes javascript security warnings in old vendored libs (#50382) (#50412)
(cherry picked from commit 74608d6480)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-06-08 14:12:16 +02:00
Grot (@grafanabot)
fc324d07cd Dashboard: Fixes random scrolling on time range change (#50379) (#50383)
* Dashboard: Fixes random scrolling on time range change

* fix ts issue

* removed logging

(cherry picked from commit fd408652dc)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-06-08 13:17:00 +02:00
Ezequiel Victorero
b09980dc4f Backport 50340 to v8.5.x (#50355)
* ReleaseNotes: Updated changelog and release notes for 8.5.5 (#50340)

(cherry picked from commit 5f65edff28)

Co-authored-by: Grot (@grafanabot) <43478413+grafanabot@users.noreply.github.com>
2022-06-07 14:10:14 -03:00
Grot (@grafanabot)
9fd27abb44 "Release: Updated versions in package to 8.5.5" (#50339) 2022-06-07 12:42:15 -03:00
Grot (@grafanabot)
c95a7911ac State Timeline: Fix Null Value Filling and Value Transformation (#50054) (#50195)
(cherry picked from commit 12ba2d6b8b)

Co-authored-by: Kyle Cunningham <codeincarnate@users.noreply.github.com>
2022-06-06 11:16:24 -07:00
Grot (@grafanabot)
e4a8c9327e DashboardExport: Fixes issues sharing dashboards where query data source was set wrong (#48410) (#49344)
(cherry picked from commit 6fe28854bc)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-06-06 14:58:12 -03:00
Grot (@grafanabot)
9c0cbda665 AngularSupport: Update description for angular_support_enabled config option (#49569) (#49573)
* AngularSupport: Update description for angular_support_enabled config option

* Update angular deprecration plan doc

* Update

* Update article

* Updated

(cherry picked from commit e1909fe74b)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-06-06 14:56:41 -03:00
Grot (@grafanabot)
0876c647d5 Legend: Use correct unit for percent and count calculations (#49004) (#49151)
(cherry picked from commit cdc6344a96)

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2022-06-06 14:55:27 -03:00
Grot (@grafanabot)
8be62ce2ff Docs: Add documentation for reporting.enabled config option (#46606) (#50129)
Co-authored-by: JitaC <70489351+achatterjee-grafana@users.noreply.github.com>
(cherry picked from commit d3c6c2ed94)

Co-authored-by: Jesse Weaver <jesse.weaver@grafana.com>
2022-06-06 14:52:46 -03:00
Dimitris Sotirakis
90c79115a3 Update Golang - bump grabpl and build-container (#50253) (#50257)
(cherry picked from commit 7b750cc0f0)
2022-06-06 15:42:41 +01:00
Tania
711ea1c2cb Encryption: Stop decrypting EE encrypted secrets with legacy encryption (#50090) (#50176)
(cherry picked from commit 7a614fd8a1)
2022-06-03 17:35:53 +02:00
Yaelle Chaudy
f037b23f9f [v8.5.x] Cloudwatch: Add template variable query function for listing log grou… (#50161)
* Cloudwatch: Add template variable query function for listing log groups (#50100)

* cloud-datasources mob! :shipit:

* cloud-datasources mob! :shipit:

lastFile:public/app/plugins/datasource/cloudwatch/components/VariableQueryEditor/VariableQueryEditor.tsx

* mob next [ci-skip] [ci skip] [skip ci]

lastFile:public/app/plugins/datasource/cloudwatch/variables.ts

* cloud-datasources mob! 👶

lastFile:public/app/plugins/datasource/cloudwatch/components/VariableQueryEditor/VariableQueryEditor.test.tsx

* cloud-datasources mob! 👶

lastFile:public/app/plugins/datasource/cloudwatch/components/VariableQueryEditor/VariableQueryEditor.test.tsx

* mob next [ci-skip] [ci skip] [skip ci]

lastFile:public/app/plugins/datasource/cloudwatch/components/VariableQueryEditor/VariableQueryEditor.test.tsx

* cloud-datasources mob! :shipit:

lastFile:public/app/plugins/datasource/cloudwatch/variables.test.ts

* cloud-datasources mob! 

* prettier md

Co-authored-by: Kevin Yu <kevinwcyu@users.noreply.github.com>
Co-authored-by: Andres <andres.martinez@grafana.com>
Co-authored-by: Erik Sundell <erik.sundell87@gmail.com>
Co-authored-by: Adam Simpson <adam@adamsimpson.net>
(cherry picked from commit bcf8320e07)

* Fixed test
2022-06-03 16:58:55 +02:00
Grot (@grafanabot)
450314947b [v8.5.x] Alerting: Fix alert list panel showing firing alerts with no instances (#50094)
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2022-06-02 17:03:45 +02:00
Eric Leijonmarck
f8c6bba2ce merged and backport to 8.5 (#50104)
Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
2022-06-02 16:44:17 +02:00
Tania
1c2e240995 [v8.5.x]Encryption: Fix decrypting secrets with inactive deks (#50011) 2022-06-02 11:23:41 +02:00
Grot (@grafanabot)
03a44fd689 Azure OAuth: silent fail on getting groups (#49909) (#50021)
(cherry picked from commit 3049534c40)

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2022-06-02 09:23:25 +02:00
Alexander Weaver
b90006d723 Alerting: Remove double quotes from matchers (#50038) (#50044)
* Alerting: Remove double quotes from matchers

With #38629 a new Alertmanager configuration object was introduced with `object_matchers`, it was meant to circumvent around the fact that Prometheus label names don't support a set of characters that Grafana needs to support for alerts, silences, matchers, etc. (with a common example being elasticsearch's `.`).
This new object does not include the label of sanitzation or validation that its Prometheus equivalent supports in `matchers` and therefore are semantically not equivalent.

This triggered the problem that when the migration is run, we use `matchers` as the object to populate in configuration for routing policies, but when the UI does its first save this object is transformed to `object_matchers`.

Matchers that were previously running just fine would immediately stop working as soon as the configuration is saved.

This problem surfaced with the introduction of #49952 where we stopped stripping double quotes from matchers (not just regex but _all_ of them).

* Add comment explaining rationale and future removal

Co-authored-by: Alex Weaver <weaver.alex.d@gmail.com>
(cherry picked from commit 1a50b0dbb7)

Co-authored-by: gotjosh <josue.abreu@gmail.com>
2022-06-01 16:51:47 -05:00
Grot (@grafanabot)
7d097dc0b8 CloudWatch: Add multi-value template variable support for log group names in logs query builder (#49737) (#50036)
* Add multi-value template variable support for log group names

* add test for multi-value template variable for log group names

* add test

(cherry picked from commit dca0453c2e)

Co-authored-by: Kevin Yu <kevinwcyu@users.noreply.github.com>
2022-06-01 19:43:38 +02:00
Gilles De Mey
577e85b46d Alerting: do not overwrite existing alert rule condition (#49920) (#49991)
(cherry picked from commit 82e9f4e7e7)
2022-06-01 15:14:45 +02:00
Kevin Yu
d9c6d7f220 Azure Monitor: Include datasource ref when interpolating variables (#49543) (#49955) 2022-06-01 05:30:35 -07:00
Ezequiel Victorero
54d31fad81 ReleaseNotes: Updated changelog and release notes for 8.5.4 (#49954) (#49961)
(cherry picked from commit 3e04dcb72c)

Co-authored-by: Grot (@grafanabot) <43478413+grafanabot@users.noreply.github.com>
2022-05-31 16:46:35 -03:00
Grot (@grafanabot)
db0d1631b0 "Release: Updated versions in package to 8.5.4" (#49953) 2022-05-31 14:34:55 -03:00
Grot (@grafanabot)
b1c222b913 [v8.5.x] Alerting: Add fgac support to alert list panel (#49911)
Co-authored-by: gillesdemey <gilles.de.mey@gmail.com>
Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
2022-05-31 16:14:27 +02:00
Grot (@grafanabot)
9b942fc8e2 Alerting: fix layout with long words / numbers (#49882) (#49888)
(cherry picked from commit e04f84fd1b)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2022-05-31 13:39:28 +02:00
Grot (@grafanabot)
5df8a04cd0 Fix typo in curl command (#46729) (#49818)
* Fix typo in curl command

Co-authored-by: eleijonmarck <eric.leijonmarck@gmail.com>
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Fix typo in another curl command

Co-authored-by: eleijonmarck <eric.leijonmarck@gmail.com>
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

Co-authored-by: eleijonmarck <eric.leijonmarck@gmail.com>
(cherry picked from commit 0a23299878)

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2022-05-30 14:24:10 +02:00
Grot (@grafanabot)
38b4a458ed Dashboards: Remove "delete dashboard" button for new dashboards (#48947) (#48959)
(cherry picked from commit 90b7a76328)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2022-05-30 09:19:39 +00:00
Isabella Siu
9cb11a3c53 CloudWatch: Use scopedVars in expressions (#49178) (#49769)
* CloudWatch: Use scopedVars in expressions

* fix spec test

(cherry picked from commit b80934617b)
2022-05-30 09:38:15 +02:00
Grot (@grafanabot)
1cee0bee9d [v8.5.x] Timeseries: Fix outside range stale state (#49655)
* Timeseries: fix outside range stale state (#49633)

Co-authored-by: Todd Treece <todd.treece@grafana.com>
(cherry picked from commit df90393057)

* remove typed array

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-05-26 19:00:24 +02:00
Jack Baldry
3ea049fcae Convert TOML front matter to YAML (#49724)
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
2022-05-26 12:38:05 -04:00
Andreas Christou
1d9d1bd41a AzureMonitor: Ensure original query properties are included unchanged (#49712)
* AzureMonitor: Ensure original query properties are included unchanged (#49642)

* Ensure original query properties are included unchanged

* Remove refId from pseudo datasources

* Include testing for interpolateVariablesInQueries

- Add util function to create template variables
- Update mock query with missing props
- Additional tests on each ds for template variables

* Correct typo and add explicit check for datasource

(cherry picked from commit c8094b33cd)

# Conflicts:
#	public/app/plugins/datasource/grafana-azure-monitor-datasource/azure_monitor/azure_monitor_datasource.test.ts

* Add missing prop
2022-05-26 16:13:46 +01:00
Grot (@grafanabot)
fa9c19b831 loki: better unpack handling (#49074) (#49673)
(cherry picked from commit b54817033a)

Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
2022-05-26 11:38:04 +02:00
Grot (@grafanabot)
34ca45c78e Old Graph migration: Preserve null values settings (#49493) (#49578)
* Graph migration: Preserve null values settings

* Review

(cherry picked from commit 30880e6e18)

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2022-05-26 00:47:27 -07:00
Grot (@grafanabot)
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)
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)
4487842227 Transformations: Add an All Unique Values Reducer (#48653) (#48733)
(cherry picked from commit 570ff074f6)

Co-authored-by: Josiah (Jay) Goodson <josiah.goodson@gmail.com>
2022-05-25 11:52:54 +02:00
Grot (@grafanabot)
c505337dfa Prevent exception when panel has multiple queries (#49368) (#49561)
This fixes the issues that when a panel has multiple queries this throws an exception if source is not part of the current frame

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

Co-authored-by: Ward Bekker <ward@wardbekker.com>
2022-05-25 09:30:18 +02:00
Sriram
541edd38cc [v8.5.x] InfluxDB: Removing influxDB backend migration feature flag (#49533)
* InfluxDB: Removing influxDB backend migration feature flag (#49531)

Removing the `influxdbBackendMigration` feature toggle default value.

(cherry picked from commit 27c26c30d1)

* Update defaults.ini
2022-05-24 19:59:05 +02:00
Grot (@grafanabot)
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)
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
Sriram
636cb95bc9 [v8.5.x] InfluxDB: Use backend for influxDB by default via feature toggle (#48453) (#49398)
* InfluxDB: Use backend for influxDB by default via feature toggle (#48453)

(cherry picked from commit 755ec3b469)

* Update defaults.ini
2022-05-24 16:03:06 +01:00
Grot (@grafanabot)
9f9cc64d04 Release: downgrade to centos 7 in verify repo as 8 doesn't have a valid mirror list (#48422) (#48424)
(cherry picked from commit 9688d7d7aa)

Co-authored-by: Leonard Gram <leo@xlson.com>
2022-05-24 16:07:23 +02:00
Grot (@grafanabot)
45b2189993 ReleaseNotes: Updated changelog and release notes for 8.5.3 (#49275) (#49277)
* ReleaseNotes: Updated changelog and release notes for 8.5.3

* Update CHANGELOG.md

Co-authored-by: Leonard Gram <leo@xlson.com>
(cherry picked from commit 3bd6b8a5ae)
2022-05-24 16:06:38 +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
Grot (@grafanabot)
19480aaedf Variables: Fixes issue with data source variables not updating queries with variable (#49478) (#49481)
(cherry picked from commit 04bc482f11)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-05-24 13:30:49 +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
Grot (@grafanabot)
f34627b068 AzureMonitor: Do not quote variables when a custom All variable option is used (#49428) (#49474)
(cherry picked from commit b0300d56ac)

Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>
2022-05-24 11:42:57 +02:00
Grot (@grafanabot)
fdb949786f DashList: Handle long dashboard titles more gracefully (#49460) (#49464)
(cherry picked from commit a1b709626f)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2022-05-24 09:42:06 +02:00
Konrad Lalik
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)
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)
19cd446f05 Plugins: Fix Azure Devops plugin link and plugins list order (#49394) (#49432)
* Plugins: Fix Azure Devops plugin link and plugins list order

* tests added for plugins sorting

(cherry picked from commit f9d1d8370f)

Co-authored-by: Sriram <yesoreyeram@gmail.com>
2022-05-23 19:18:00 +02:00
Andreas Christou
4ed9a00909 AzureMonitor: Fixes metric definition for Azure Storage queue/file/bl… (#49412)
* AzureMonitor: Fixes metric definition for Azure Storage queue/file/blob/table resources. (#49101)

* Appropriately set metric definition

- Nested storage account resources (queues/blobs/tables/files) require metric definition of Microsoft.Storage/storageAccounts
- Update tests accordingly

* Restructure getResourceNames test

- Add expect on getResource args

* Update to fix issue for new query editor

- Reconstruct resourceUri if the resource is a storage account
- Correctly push storage namespaces as options for metric namespaces
- Filter options appropriately

* Fix duplicate options

* Fix lint issues

* Add comment explaining URI modification

(cherry picked from commit 34fa7b493c)

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

* Fix lint issue
2022-05-23 16:00:51 +01:00
Grot (@grafanabot)
8f87fd9bfe Alerting: Fix notification policies label matchers layout (#49159) (#49164)
(cherry picked from commit 0ae8e3bd4e)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2022-05-23 11:24:13 +02:00
Grot (@grafanabot)
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)
fc736471ba GrafanaUI: Fix color of links in error Tooltips in light theme (#49327) (#49345)
* GrafanaUI: Fix color of links in input validation errors in light theme

* Change colors

(cherry picked from commit 426ca2999e)

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2022-05-20 19:21:49 +01:00
Grot (@grafanabot)
954fbb0651 Transforms: Labels to fields, fix label picker layout (#49304) (#49343)
(cherry picked from commit c3a5ff1eeb)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-05-20 20:02:06 +02:00
Isabella Siu
4c15f8356e CloudWatch: migrate old variable queries with empty array (#49197) (#49269)
(cherry picked from commit 66220758b3)
2022-05-20 08:59:40 -04:00
Grot (@grafanabot)
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)
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
Grot (@grafanabot)
f9d50206bd "Release: Updated versions in package to 8.5.3" (#49274) 2022-05-19 18:58:38 +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)
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)
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)
8fb2d49982 Templating: Prefix variable picker element IDs (#48405) (#48682)
(cherry picked from commit bb7e556efc)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2022-05-19 11:32:06 +02:00
Grot (@grafanabot)
209e765ea1 List Azure Devops as an enterprise plugin (#49189) (#49196)
* list azure devops as an enterprise plugin

* change base url to grafana.com/grafana/plugins and remove trailing slashes for consistency

(cherry picked from commit 5b52a1c391)

Co-authored-by: Brendan O'Handley <brendan.ohandley@grafana.com>
2022-05-18 15:28:57 -04:00
Grot (@grafanabot)
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)
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
Konrad Lalik
f1e390ebf9 Alerting: Fix Loki buildinfo request error (#49073) (#49144)
* Skip buildinfo fetching for Loki data sources

* Fix and add tests

* Fix linter

* Improve typings

* Improve Loki's buildinfo notice

* Fix rename, improve prom app display name

(cherry picked from commit 43ab0c1f95)
2022-05-18 11:32:38 +02:00
Grot (@grafanabot)
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)
c41e87d834 Alerting: Do not serve alerting images from root (#49022) (#49135)
Manually tested with serve_from_sub_path = true and a custom pathUrl

(cherry picked from commit 0a44fbdd42)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2022-05-18 10:46:32 +02:00
Grot (@grafanabot)
5c1116679d Tooltip: Sort decimals using standard numeric compare (#49084) (#49093)
* Failing test case

* Compare numeric values not using collator

(cherry picked from commit 6a5a0e5770)

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2022-05-18 00:51:50 -07:00
Grot (@grafanabot)
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)
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
Grot (@grafanabot)
8fc8ab1320 [v8.5.x] TimeSeries: Fix detection & rendering of sparse datapoints (#49050)
* TimeSeries: Fix detection & rendering of sparse datapoints (#48841)

(cherry picked from commit 84d4ce51ad)

* revert annotations list datasource

* revert more

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-05-17 00:32:08 -05:00
Grot (@grafanabot)
1af5c67c37 TimeSeries: insert null values at each missing interval (#49036) (#49047)
(cherry picked from commit eecdbebf75)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-05-17 05:27:47 +02:00
Torkel Ödegaard
a7ce681a84 Revert "Transformation: Added variance and standard deviation (#48844) (#48921)" (#48996)
This reverts commit 4597c33c3f.
2022-05-16 17:20:58 +02:00
Gilles De Mey
104c3a3a1c Alerting: Allow disabling override timings for notification policies (#48648) (#49001)
(cherry picked from commit fa37c6c9d3)
2022-05-16 12:57:02 +02:00
Grot (@grafanabot)
cd70ea3310 Expressions: adds inline documentation for the Math expression (#48784) (#48999)
(cherry picked from commit 1a7ca3f0de)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2022-05-16 11:45:59 +02:00
Grot (@grafanabot)
093b8c7493 Add note to docs: log out / in after plugin add. (#47666) (#48986)
(cherry picked from commit 08268d8713)

Co-authored-by: Dan Roscigno <dan@roscigno.com>
2022-05-15 11:00:12 -04:00
Grot (@grafanabot)
943343f2df Update dashboard-header.md (#46986) (#48987)
Just a tiny typo -> point 4, "homw" to "home"

(cherry picked from commit 6f1f7cdc88)

Co-authored-by: Anind Kiran <53901204+AnindKiran@users.noreply.github.com>
2022-05-15 10:59:54 -04:00
Grot (@grafanabot)
4597c33c3f Transformation: Added variance and standard deviation (#48844) (#48921)
* Transformation: Added variance and standard deviation for sample and population. Modified mean calculation approach

* Transformation: Removed existing mean calculation

* Transformation: Added testcases for variance and Standard deviation

* Update docs/sources/panels/calculation-types.md

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

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

Co-authored-by: selvavm <selvavm@hotmail.com>
2022-05-11 17:47:27 -07: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)
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)
9ee1446de7 chore: update contribution docs (#46942) (#48732)
* add bus deprecation note in contribution docs

(cherry picked from commit dac8abfc2c)

Co-authored-by: Jeff Levin <jeff@levinology.com>
2022-05-09 08:32:13 -07:00
Grot (@grafanabot)
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)
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)
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
Gilles De Mey
c9b8317352 Alerting: automatically select last expression (#48787) (#48818)
(cherry picked from commit 2d6ab03e4f)
2022-05-06 16:13:04 +02:00
Grot (@grafanabot)
10062348f5 RolePicker: Fix menu position on smaller screens (#48429) (#48809)
* RolePicker: Fix menu position on smaller screens

* RolePicker: Add comment

* Add offset for the bottom position

(cherry picked from commit 25b4aa8d86)

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2022-05-06 13:17:35 +02:00
Grot (@grafanabot)
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)
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)
9a98dba26c Alerting: Fix notification route removal (#48774) (#48799)
* Fix notification route removal

* fix tests

Co-authored-by: gillesdemey <gilles.de.mey@gmail.com>
(cherry picked from commit ee8e125134)

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
2022-05-06 09:56:45 +02:00
Grot (@grafanabot)
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)
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)
6ec7434fde Prometheus: make parsing of Infinity variants case-insensitive (#48660) (#48785)
(cherry picked from commit 6de77283c6)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-05-05 19:54:41 +02:00
Grot (@grafanabot)
59359e512f FileUpload: associate the label with the input (#48766) (#48779)
* FileUpload: associate the label with the input

* generate a unique id and set the correct role

* add a test to prevent regressions

(cherry picked from commit 10db618204)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-05-05 18:19:51 +02:00
Grot (@grafanabot)
8c5026d4cd Tooltip: Make tooltip use secondary background color for legible links (#48748) (#48764)
(cherry picked from commit af57804513)

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2022-05-05 15:08:31 +01:00
Grot (@grafanabot)
86e538c8c2 Alerting: Improved RBAC for Alert managers (#48344) (#48757)
* Initial support for grafana or cloud only alert managers

* Handle missing alert manager

* Refactor code, fix tests

* Fix redirect url

* Bring back the test

* Improve missing alert manager warning, add useAlertManagerSourceName tests

* Fix lint errors

* Rename alert manager hook

* Refactor alert manager label creation

* Improve warnings' messages

* Fix linter

* Fix warning condition in RuleEditor

(cherry picked from commit 65d7d466d7)

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
2022-05-05 14:10:16 +02:00
Grot (@grafanabot)
925d5f76b2 Variables: Fixes issue with null variables breaking the dropdown (#48644) (#48702) 2022-05-04 15:28:17 +01:00
Grot (@grafanabot)
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
Grot (@grafanabot)
8abf427524 Alerting: correctly show all alerts in a folder (#48684) (#48685)
(cherry picked from commit e04d8fca7b)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2022-05-04 12:13:09 +02:00
Grot (@grafanabot)
3b7ecd1732 TimeRange: Fixes updating time range from url and browser history (#48657) (#48687)
(cherry picked from commit b71aa912c6)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-05-04 12:07:11 +02:00
Grot (@grafanabot)
f53135b93e ReleaseNotes: Updated changelog and release notes for 8.5.2 (#48681) (#48686)
(cherry picked from commit f45dc224d9)
2022-05-04 11:51:28 +02:00
Grot (@grafanabot)
f0c2ae98e4 "Release: Updated versions in package to 8.5.2" (#48680) 2022-05-04 11:30:31 +02:00
Grot (@grafanabot)
3927fa94a6 QueryGroup: More efficient way to scroll to bottom when adding new queries (#48399) (#48457) 2022-05-04 10:13:20 +02: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)
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)
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
Grot (@grafanabot)
be96c872d1 AzureMonitor: Updates allowed namespaces (#48468) (#48634)
(cherry picked from commit 3ee99821bc)

Co-authored-by: jcolladokuri <jcolladokuri@microsoft.com>
2022-05-03 15:39:09 +02:00
Christopher Moyer
ecdd52dbb1 docs: backport alias fixes (#48464)
* backport alias fixes

* Delete about-rbac.md

* Delete assign-rbac-roles.md

* Delete plan-rbac-rollout-strategy.md

* Delete manage-rbac-roles.md

* revert to 8.5
2022-05-03 08:21:09 -05: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)
eb60689141 Elasticsearch: Add deprecation notice for < 7.10 versions (#48506) (#48591)
* Elasticsearch: Add deprecation notice for old versions

* Add option to remove notice

* Remove deprecation from editor

* Update

* Update public/app/plugins/datasource/elasticsearch/configuration/ConfigEditor.tsx

* Simplify

* Update documentation

* Update

* Update docs/sources/datasources/elasticsearch.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

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

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2022-05-03 08:05:44 +02:00
achatterjee-grafana
d30443342d add alias to fix 404 error (#48599) (#48601) 2022-05-02 16:37:00 -04:00
Grot (@grafanabot)
d49243bc55 Variables: allow Regex tooltip links to be clickable (#48560) (#48597)
Fixes #48558

I had to rebase in some additional changes from #47907 (specifically 87de4d7)

Co-authored-by: Adam Simpson <adam@adamsimpson.net>
2022-05-02 19:38:41 +00:00
Isabella Siu
be48ab689f CloudWatch: fix variable query tag migration (#48587) 2022-05-02 14:44:25 -04:00
Grot (@grafanabot)
d466fcac1c Graphite Datasource: add responseType: 'text' to http options to return full list of functions (#47663) (#48594)
* add response type text to graphite datasource http options to return full list of functions

* add comment for adding response type text to call to  graphite /functions endpoint

* Add tests for invalid and valid JSON mocking backendSrv fromFetch

* remove unnecessary code from tests

* remove extra logic for graphite /functions endpoint returning {} #46681

* add graphite functions list logic back in to see why alert test broke

* fix conflict message

* fix conflicts

* fix issues with rebase, add responseType text back in, remove extra graphite functions list logic checks

* add email for license/cla check

(cherry picked from commit 4867a6b15f)

Co-authored-by: Brendan O'Handley <brendan.ohandley@grafana.com>
2022-05-02 13:19:47 -04:00
Grot (@grafanabot)
6e8ef91c03 A11y: Fix remaining focus issues with Switch (#48376) (#48584)
* refactor: replace uses of checked prop for <Switch> with value prop

* fix: remove spaces from ids

The ID format is stated as follows([source][1]):

> ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]),
hyphens ("-"), underscores ("_"), colons (":"), and periods (".").

Since `QueryHeaderSwitch` is used in two places I created a new variable that replaces spaces with a dash in the label.

[1]: https://www.w3.org/TR/html401/types.html#type-name

* fix: allow Switch in AlertingSettings to be focused by keyboard

* fix: allow Switch in PromSettings to be focused by keyboard

Fixes #46472

Co-authored-by: Elfo404 <me@giordanoricci.com>
(cherry picked from commit c57924e332)

Co-authored-by: Adam Simpson <adam@adamsimpson.net>
2022-05-02 16:04:02 +02:00
Grot (@grafanabot)
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)
ae17f58a37 Explore: Fix legend toggling (#47823) (#48441)
(cherry picked from commit f0f3134cb1)

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
2022-05-02 09:13:05 +02:00
Grot (@grafanabot)
66dfe9386a Chore: do not run husky hooks on backend-only changes (#48439) (#48527)
(cherry picked from commit e9a2a06651)

Co-authored-by: Serge Zaitsev <serge.zaitsev@grafana.com>
2022-04-29 22:53:41 +02:00
Grot (@grafanabot)
f790be606d Cloudwatch: Update variable query docs (#48307) (#48466)
* Cloudwatch: Update variable query docs

* andres comments

* Apply suggestions from code review

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
(cherry picked from commit ce8becdfe2)

Co-authored-by: Isabella Siu <Isabella.siu@grafana.com>
2022-04-29 16:04:39 -04:00
Grot (@grafanabot)
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)
0af09cd081 Service accounts: doc fixes (#48518) (#48539)
* some doc fixes

* Update docs/sources/administration/service-accounts/add-service-account-token.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/administration/service-accounts/add-service-account-token.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update create-service-account.md

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

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2022-04-29 15:07:50 +01:00
Grot (@grafanabot)
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)
eb6f9f1e23 Prometheus: Fix disappearing multi values in metric label values (#48127) (#48487)
(cherry picked from commit bd9cec8827)

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2022-04-29 11:12:19 +02:00
Grot (@grafanabot)
5e6354d62b Docs: Update axis placement docs (#48163) (#48430)
* Docs: Update axis placement docs

* Update docs/sources/visualizations/bar-chart.md

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

* Update docs/sources/visualizations/time-series/change-axis-display.md

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

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

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2022-04-29 01:28:01 -07:00
Grot (@grafanabot)
9ddf010074 Making FileUpload component accessible via keyboard (#47497) (#48482)
(cherry picked from commit 17eca4505c)

Co-authored-by: Timur Olzhabayev <timur.olzhabayev@grafana.com>
2022-04-29 10:06:54 +02:00
Grot (@grafanabot)
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)
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)
e8ff3762c6 ReleaseNotes: Updated changelog and release notes for 8.5.1 (#48425) (#48427)
(cherry picked from commit 9fcbfe2c1c)
2022-04-28 15:05:10 +02:00
Grot (@grafanabot)
002eb3f79f "Release: Updated versions in package to 8.5.1" (#48423) 2022-04-28 14:44:12 +02:00
Dimitris Sotirakis
50bf499742 Reorder dependencies for npm release steps (#48403) (#48419)
(cherry picked from commit 67752ad88c)
2022-04-28 14:24:31 +02:00
Dimitris Sotirakis
e654d485f1 CI: Split publish-packages pipeline (#48414) (#48417)
* Split publish packages pipeline

* Small refactoring

(cherry picked from commit a7a5476ac2)
2022-04-28 14:09:29 +02:00
Christopher Moyer
240f5235bc alias update merge (#48379) 2022-04-27 17:03:34 -05:00
achatterjee-grafana
75195cb09e removed file extension from alias (#48375)
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2022-04-27 16:43:51 -04:00
Grot (@grafanabot)
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)
7d5ad1b440 Azure Monitor: Scroll on resource picker fix and general clean up (#48311) (#48368)
* Fix bug where resource picker doesn't open automatically to a previously selected resource.

(cherry picked from commit ebfb70dc12)

Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>
2022-04-27 16:33:32 -04:00
Grot (@grafanabot)
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
Grot (@grafanabot)
32d7819894 Docs: clarifies viewer can edit prose (#48352) (#48358)
* clarifies viewer can edit prose

* updates task title

(cherry picked from commit 9d129bde76)

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2022-04-27 11:43:37 -05:00
Grot (@grafanabot)
e3bcaa3475 Make clear that the two example templates must be used together (#48305) (#48366)
* make clear that the two templates work in conjunction

* PR review changes

* Update docs/sources/alerting/unified-alerting/message-templating/_index.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/alerting/unified-alerting/message-templating/_index.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* make numbered steps

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
(cherry picked from commit 9237729c19)

Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>
2022-04-27 11:54:32 -04:00
Grot (@grafanabot)
95c8a9f207 TimeSeries: properly stack series with missing datapoints (#48321) (#48360)
(cherry picked from commit 647f749652)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-04-27 16:57:38 +02:00
Grot (@grafanabot)
22d94d92ae Unified Alerting: Validate PostableSilence API. (#46892) (#48318)
Invalid PostableSilences could be passed to the Alerting API - if they
are passed all the way down into the alertmanager data layer, they can
cause a panic. This change adds validation to avoid a panic in the
alertmanager.

(cherry picked from commit 103087a1a5)

Co-authored-by: Joe Blubaugh <joe.blubaugh@grafana.com>
2022-04-27 15:00:44 +01:00
Grot (@grafanabot)
be8419b384 Notifications: Hide display of trace ID behind feature flag (#48057) (#48273)
* Notifications: Hide display of trace ID behind feature flag

(cherry picked from commit 3b4d237ade)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2022-04-27 14:45:37 +01:00
Grot (@grafanabot)
23062ddab8 Explore Split Logs - use unique IDs and save state vals to unique place (#48300) (#48345)
* Explore Split Logs - use unique IDs and save state vals to unique place

* Remove exploreID from store

(cherry picked from commit a320e942a6)

Co-authored-by: Kristina <kristina.durivage@grafana.com>
2022-04-27 15:01:07 +02:00
Grot (@grafanabot)
012b1bd41a Plugins Catalog: Fix styling of hyperlinks (#48196) (#48341)
Adds some styling (default hyperlink color and underline on hover) to
plugin header and body hyperlinks.

Fixes #48078

(cherry picked from commit 199cacc7b6)

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-04-27 14:52:14 +02:00
Grot (@grafanabot)
35f60c9aa6 fixes invalid no data alerts in influx datasource (#48295) (#48316)
(cherry picked from commit 7798b08b1e)

Co-authored-by: Sriram <yesoreyeram@gmail.com>
2022-04-27 10:58:05 +01:00
Matthew Jacobson
771ab80b4b Alerting: Create fewer contact points on migration (#47291) (#48301)
* Alerting: Create fewer contact points on migration

Previously a new contact point was created for every unique combination
of channels attached to any legacy alert. This was very hard to maintain,
requiring modifications in every generated contact point.

This change deduplicates the generated contact points to a more
reasonable state. There should now only be one contact point per legacy
channel, and we attached multiple contact points to a route by nesting
them. The sole exception to this is if there were multiple default
legacy channels, in which case we create a redundant contact point
containing all of them used only in the root policy. This allows for a
much simpler notification policy structure.

Co-authored-by: gotjosh <josue.abreu@gmail.com>
(cherry picked from commit 0301d956da)
2022-04-26 14:07:07 -05:00
Grot (@grafanabot)
7e4dbca2fa Service Graph: Display alert if no metrics found (#48214) (#48298)
(cherry picked from commit 0da50294fe)

Co-authored-by: Connor Lindsey <cblindsey3@gmail.com>
2022-04-26 20:00:55 +02:00
Grot (@grafanabot)
1473dd1365 Drop ProvenanceOrgAdapter and build into store API instead (#48137) (#48289)
(cherry picked from commit 078a578803)

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2022-04-26 11:15:38 -05:00
Isabella Siu
8f43240e2c Cloudwatch: fix template variables in variable queries (#48140) (#48203)
(cherry picked from commit 801a2a240a)
2022-04-26 11:35:40 -04:00
Grot (@grafanabot)
b09ce8478e Indicate whether routes are provisioned when GETting Alertmanager configuration (#47857) (#48286)
* Test composition simplification from last PR

* Policies use proper API model everywhere

* Expose policy provenance in API, miss some dep injection

* Complete injection

* fix args

* Tests for provenance value

* Extract test helpers so tests are very readable

* Single source adapter struct that was copied in 3 places

* Drop redundant test

* Resolve merge conflicts on changelog

(cherry picked from commit 8310789ef1)

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2022-04-26 10:28:10 -05:00
Grot (@grafanabot)
c67e1d37d3 [v8.5.x] Alerting: Refactor GET/POST alerting config routes to be more extensible (#48280)
* Alerting: Refactor GET/POST alerting config routes to be more extensible (#47229)

* Refactor GET am config to be extensible

* Extract post config route

* Fix tests

* Remove temporary duplication

* Fix broken test due to layer shift

* Fix duplicated error message

* Properly return 400 on config rejection

* Revert weird half method extraction

* Move things to notifier package and avoid redundant interface

* Simplify documentation

* Split encryption service and depend on minimal abstractions

* Properly initialize things all the way up to the composition root

* Encryption -> Crypto

* Address misc feedback

* Missing docstring

* Few more simple polish improvements

* Unify on MultiOrgAlertmanager. Discover bug in existing test

* Fix rebase conflicts

* Misc feedback, renames, docs

* Access crypto hanging off MultiOrgAlertmanager rather than having a separate API to initialize

(cherry picked from commit 758364e78b)

* Empty commit to kick PR build

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2022-04-26 10:13:18 -05:00
Connor Lindsey
0b52d0d7c3 NodeGraph: Detect dataframes more accurately based on fields (#47213) (#48276)
* NodeGraph: Detect dataframes more accurately based on fields

* Make get fields case insensitive

* Update node graph docs

(cherry picked from commit 939a778111)
2022-04-26 08:57:23 -06:00
Grot (@grafanabot)
de322a6010 Alerting: Fix folder permissions (#48189) (#48277)
(cherry picked from commit 5f594addbf)

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
2022-04-26 16:54:24 +02:00
Grot (@grafanabot)
22a78cb1f5 Alerting: use a single move operation for alert rules (#48125) (#48279)
(cherry picked from commit 9b95d77be9)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2022-04-26 16:52:57 +02:00
Grot (@grafanabot)
8528e17f7e Tracing: Add string unit to trace search results to prevent Infinity bug (#48206) (#48270)
(cherry picked from commit 4e6c3be7ab)

Co-authored-by: Connor Lindsey <cblindsey3@gmail.com>
2022-04-26 07:36:14 -06:00
Grot (@grafanabot)
a5fd91e492 Table: Fix filter crashes table (#48258) (#48261)
(cherry picked from commit 9df26c7b7c)

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2022-04-26 14:04:30 +02:00
kay delaney
b07c7797f3 Dashboard: Refactor panel cleanup (#47323) (#48134)
(cherry picked from commit f10047b708)
2022-04-26 12:44:39 +01:00
Grot (@grafanabot)
7ea5d255c1 TimeSeries: use positive stacks for 0-valued series (#48197) (#48210)
(cherry picked from commit 0ca32f0c61)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-04-26 13:10:10 +02:00
Grot (@grafanabot)
0aafd4baee CI: Rename main pipelines (#48245) (#48251)
* Rename main pipelines

* Rename dependencies

(cherry picked from commit 430b9ae5cb)

Co-authored-by: Dimitris Sotirakis <sotirakis.dim@gmail.com>
2022-04-26 12:56:42 +02:00
Will Browne
fd8af0df29 set base branch to 8.5 release branch (#48241) 2022-04-26 10:40:53 +02:00
Grot (@grafanabot)
bdcfbce889 CloudWatch: prevent log groups from being removed on query change. (#47994) (#48215)
* CloudWatch: prevent log groups from being removed on query change.

Previously when a query was changed the existing log groups for that query were "dropped". The fix is to combine the
new query with the existing query object in memory to preserve the log groups.

fixes #33626

* CloudWatch: fix typos in runWithRetry documentation

* chore: fix eslint issue

(cherry picked from commit 6c0a5b121e)

Co-authored-by: Adam Simpson <adam@adamsimpson.net>
2022-04-26 09:53:39 +02:00
Grot (@grafanabot)
ec0ccc6b30 TimeSeries: update frame.length when syncing bar widths (#48223) (#48236)
(cherry picked from commit fe7b594bbd)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-04-26 07:15:56 +02:00
Grot (@grafanabot)
7bf41c7e39 Remove redundant queries in GetAlertRules and GetOrgAlertRules and replace with ListAlertRules (#48108) (#48173)
(cherry picked from commit c5547123bc)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-04-26 11:11:19 +08:00
achatterjee-grafana
2539261b57 replaced next with latest (#48198) 2022-04-25 11:16:33 -04:00
Grot (@grafanabot)
88cb70b1cb fix argument ordering (#48124) (#48191)
(cherry picked from commit ea25f7e1ca)

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2022-04-25 15:43:13 +02:00
Grot (@grafanabot)
899ba5e7da Usage stats: Detect Prometheus flavors (#47942) (#48187)
* Naïve Prometheus flavor detector

* Add concurrency and memoization

* Remove concurrency

* Fix tests

* close response body

* Add tests

(cherry picked from commit d76e5d7c6a)

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
2022-04-25 15:27:35 +02:00
Grot (@grafanabot)
1db7ca2056 AzureMonitor: fix the encoding of the metrics query deep link to Azure Portal (#48139) (#48186)
(cherry picked from commit 9829195829)

Co-authored-by: Kevin Yu <kevinwcyu@users.noreply.github.com>
2022-04-25 15:12:17 +02:00
Grot (@grafanabot)
e6b9f65c5c UsageStats: Move stats collection to separate service (#47381) (#47505)
* Remove specific stats from usage stats service

* Create statscollector service

* refactor

* Update and move tests

Mostly equivalent tests to before, but they've been divided over the two
services and removed the behavior driven legacy from GoConvey to
reduce the complexity of the tests.

* Collect featuremgmr metrics (copied over from #47407)

I removed the metrics registration from the feature manager in the merge
and re-add them in this commit. Separated to make things easier to
review.

(cherry picked from commit 3df625e9f4)

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
2022-04-25 14:45:34 +02:00
Grot (@grafanabot)
67362d8e25 Chore: Fix e2e selector (#48168) (#48178)
(cherry picked from commit c1c94f478a)

Co-authored-by: Andres Martinez Gotor <andres.mgotor@gmail.com>
2022-04-25 13:39:54 +02:00
Grot (@grafanabot)
525fa7e9e5 AzureMonitor: Remove workaround in Logs editor (#48104) (#48172)
(cherry picked from commit 7cfab77650)

Co-authored-by: Andres Martinez Gotor <andres.mgotor@gmail.com>
2022-04-25 12:59:43 +02:00
Grot (@grafanabot)
a3cbc6a272 Access control: refactor RBAC checks (#48107) (#48164)
* refactor RBAC checks

* fix a test

* another test fix

* and another

(cherry picked from commit 68ca5b2e05)

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2022-04-25 10:59:26 +02:00
Grot (@grafanabot)
5328f55093 Alerting: Add GetRuleGroups to RuleStore (#48036) (#48075)
This commit adds a new method GetRuleGroups to RuleStore which returns the set of rule groups across all organizations.

(cherry picked from commit d66fc6ed1a)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-04-25 13:54:27 +08:00
Grot (@grafanabot)
42dc9c1a57 TimeSeries: sync minimum bar width across all bar series (#48030) (#48147)
(cherry picked from commit 1c977281c8)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-04-23 02:50:30 +02:00
Grot (@grafanabot)
e37026a059 Update what's new with correct image link (#48133) (#48135)
(cherry picked from commit f915767fdc)

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2022-04-22 13:11:33 -04:00
Josh Hunt
bf272ad57d Backport 44959 ESlint import order to v8.5.x (#48126)
* Add and configure eslint-plugin-import

* Fix the lint:ts npm command

* Autofix + prettier bulk files

* Manually fix files

* @ts-ignore

* Move jquery code in jest-setup to external file to safely reorder imports

* betterer

* Resolve issue caused by circular dependencies within Prometheus

* ignore iconBundle.ts
2022-04-22 16:19:02 +01:00
Grot (@grafanabot)
9e0e3bec76 Syntax fix in whats-new-in-v8-5.md (#48111) (#48119)
(cherry picked from commit 147a1600e7)

Co-authored-by: Alexandre de Verteuil <alexandre@grafana.com>
2022-04-22 09:32:43 -04:00
Grot (@grafanabot)
06ea4793bc Alerting: fix alert creation interval layout bug (#48112) (#48113)
(cherry picked from commit 2713de2bd1)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2022-04-22 14:50:28 +02:00
Joao Silva
7202de467b Annotations: Fixes data source showing as a uid in annotation settings (#48105) 2022-04-22 12:43:15 +01:00
Grot (@grafanabot)
45eba672c4 Prometheus: Add report interaction for editor modes (#47940) (#48099)
* Prometheus: Add report interaction for editor modes

* Add new query

* Fix test

* Update public/app/plugins/datasource/prometheus/querybuilder/components/PromQueryEditorSelector.tsx

* Add app to feature tracking

* Update

(cherry picked from commit 28665a869b)

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2022-04-22 12:45:02 +02:00
Grot (@grafanabot)
25713a853b Explore: prevent direct access to explore if disabled via feature toggle (#47714) (#48096)
* Explore: prevent explore route to be registered if explore is disabled

* add feature toggle page

(cherry picked from commit 6899f23a22)

Co-authored-by: Giordano Ricci <me@giordanoricci.com>
2022-04-22 09:48:53 +01:00
Grot (@grafanabot)
a91cb6cf6c Docs: resize images in what's news 8.5 (#48082) (#48084)
* Updated image size.

* Few more resizing. Also, added link for signup for beta testing (nav bar).

* Few minor tweaks

* Fixed a typo

(cherry picked from commit 75d528d7bd)

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2022-04-21 17:20:27 -04:00
Grot (@grafanabot)
63b7692caf Cloudwatch: Update grafana-aws-sdk (#48039) (#48069)
(cherry picked from commit f50cd90301)

Co-authored-by: Andres Martinez Gotor <andres.mgotor@gmail.com>
2022-04-21 17:32:18 +02:00
Grot (@grafanabot)
0e9b91fb13 Add yarn-install when publishing npm packages (#48061) (#48064)
(cherry picked from commit 412be1f1cf)

Co-authored-by: Dimitris Sotirakis <sotirakis.dim@gmail.com>
2022-04-21 16:49:09 +02:00
Grot (@grafanabot)
2e851e2176 ReleaseNotes: Updated changelog and release notes for 8.5.0 (#48060) (#48062)
(cherry picked from commit 3b256afb9e)
2022-04-21 16:36:29 +02:00
Grot (@grafanabot)
79e1ab4d89 "Release: Updated versions in package to 8.5.0" (#48058) 2022-04-21 16:14:16 +02:00
Grot (@grafanabot)
bf5b59c911 Docs: Clarify transformation functions reference docs (#46903) (#48056)
* Docs: Remove 'Reference' prefix from all reference topic filenames: Per issue #46818, prefixing reference topics with "Reference" can damage usability. Remove the prefix from filenames.

* Docs: Remove "Reference:" prefix from titles and ToC headings: Per issue #46818, prefixing reference topics with "Reference" can damage usability. Remove the prefix from titles and ToC headings. H1s retain the prefix to emphasize the nature of the doc without affecting the docs' discoverability.

* Docs: Move Transformation functions reference alongside Transformation docs
* Docs: Update links to reference docs in Transformation docs
* Docs: Update links to reference docs in Panels docs
* Docs: Update links to query options reference across docs
* Docs: Update links to standard field definitions reference across docs
* Docs: Update links to calculation types reference across docs
* Docs: Update links to transformation functions reference across docs
* Docs: Rename apply transformation doc filename to add transformation
* Docs: Rename apply transformation doc to add transformation
* Docs: Update links to add transformation doc across docs
* Docs: Update relrefs in Transformation functions reference

(cherry picked from commit d93bcd547e)

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>
2022-04-21 09:42:46 -04:00
Grot (@grafanabot)
23a8704b67 Text Panel: Fixes issue with hash anchor links (#47980) (#48055) 2022-04-21 14:33:56 +01:00
Grot (@grafanabot)
93b3d219a2 Hide navbar behind ready check to prevent flicker of navbar on login (#47968) (#48050)
(cherry picked from commit b727c324b8)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-04-21 14:23:10 +02:00
Grot (@grafanabot)
ad35db8636 Service accounts: rename feature toggle (#48037) (#48040)
* refactor: renaming service-accounts to serviceAccounts

* refactor: renaming service-accounts to serviceAccounts in docs

* tests

(cherry picked from commit 8677552dda)

Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
2022-04-21 11:53:32 +02:00
Grot (@grafanabot)
c75be3bb3e Navigation: Fixes issue with menu closing when hovering back to the trigger (#47992) (#48038) 2022-04-21 10:35:41 +01:00
Grot (@grafanabot)
f368cac796 Prometheus: Highlight operations added in the query builder (#47961) (#48033)
* Highlight newly added operations

* Better diff for the operations change

* Changed the highlight style

(cherry picked from commit ff5aef194c)

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2022-04-21 10:39:41 +02:00
Grot (@grafanabot)
a228985d97 Alerting: Add integration test for AddDashAlertMigration (#47730) (#48019)
Adds tests for: 
what circumstances should trigger alert migration from legacy alerting to unified alerting. 
the execution of the migration itself.

Co-authored-by: gotjosh <josue.abreu@gmail.com>
Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
2022-04-21 13:38:31 +08:00
Grot (@grafanabot)
feaf32f04c TimeSeries: clamp max bar width to 200px (#48021) (#48024)
(cherry picked from commit 5c3be630f2)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-04-21 07:22:16 +02:00
Grot (@grafanabot)
447752c00d Docs: Adding What's New for the 8.5 release (#47995) (#48005)
* initial commit

* more changes

* more changes

* run prettier check

(cherry picked from commit b034bd18b5)

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2022-04-20 16:20:40 -04:00
Grot (@grafanabot)
d300a27ee7 Comments: fix wrong SQL query generated if Settings are not empty (#47552) (#47999)
(cherry picked from commit ce89d7e874)

Co-authored-by: Alexander Emelin <frvzmb@gmail.com>
2022-04-20 13:00:37 -07:00
Grot (@grafanabot)
301be18d86 Use trialExpiry for determining if a user is on trial (#47975) (#47998)
(cherry picked from commit 6c1994cb86)

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2022-04-20 20:54:14 +02:00
Grot (@grafanabot)
644b23aba2 Alerting: Fix navlinks for legacy alerting (#47972) (#47984)
* split building legacy and ng alert nav links.

(cherry picked from commit c1f766a374)

Co-authored-by: Yuriy Tseretyan <yuriy.tseretyan@grafana.com>
2022-04-20 18:26:11 +02:00
Grot (@grafanabot)
da335ce32e Fix: Parse exemplars before parsing heatmap data (#47463) (#47469)
* parse exemplars before parsing the heatmap. Exemplars are overlayed. Not part of the main heatmap

* added tests

(cherry picked from commit 222325c7f1)

Co-authored-by: Stephanie Closson <srclosson@gmail.com>
2022-04-20 12:59:21 -03:00
Grot (@grafanabot)
7065ee20ee Alerting: Update RBAC documentation with information about alerting (#47858) (#47982)
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
(cherry picked from commit c1ec122f75)

Co-authored-by: Yuriy Tseretyan <yuriy.tseretyan@grafana.com>
2022-04-20 11:48:44 -04:00
Grot (@grafanabot)
5c64c3559d Transformations: Support escaped characters in key-value pair parsing (#47901) (#47973)
* Additional logic to handle quoted values

* Simple test with quoted values that include spaces

* Update test description

* Updating logic to account for nested quotes

- Adding additional test for nested quotes

* Strip out line breaks and carriage returns pre-processing

* Fix typo in test result

* Update key-value logic to avoid regexp

- Minor changes to account for null values

* Correct escaping on test

* Additional tests

- Test for null values
- Test for nested separator characters
- Update quoting

(cherry picked from commit d0b41f882e)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2022-04-20 16:37:55 +01:00
Grot (@grafanabot)
e9c13f824c Alerting: Notification URL points to alert view page instead of alert edit page (#47752) (#47960)
Before this change, notifications generated by the Grafana Alertmanager
pointed to '/alerting/:ruleID/edit'. This change instead points them to
the view path '/alerting/grafana/:ruleID/view'. The view page has a
better UX, including timeseries display. It's also where many alert
state improvements will land in the next few versions of Grafana.

Fixes #45301

Signed-off-by: Joe Blubaugh <joe.blubaugh@grafana.com>
(cherry picked from commit 3d91047e6e)

Co-authored-by: Joe Blubaugh <joe.blubaugh@grafana.com>
2022-04-20 17:32:26 +02:00
Grot (@grafanabot)
c0e157300b DashboardPage: Remember scroll position when coming back panel edit / view panel (#47639) (#47792)
* DashboardPage: Remember scroll position when coming back panel edit / view panel

* Use scollElement callback

* Fixed ts issue

(cherry picked from commit a126c07e54)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-04-20 17:25:40 +02:00
Grot (@grafanabot)
9c1c446b44 UserListAdminPage: Reset page when changing filters (#47958) (#47976)
(cherry picked from commit e19e934178)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2022-04-20 16:20:56 +01:00
Grot (@grafanabot)
d2feeb8455 PanelQueryRunner: use refId from results if the key value was not set in the packet (#47598) (#47647)
(cherry picked from commit f80a0d2a9b)

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-04-20 19:14:57 +04:00
Grot (@grafanabot)
f08c5a796c Modify the Server Error scenario to return frontend errors (#47157) (#47425)
(cherry picked from commit 41642fd5f4)

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2022-04-20 16:11:23 +01:00
Grot (@grafanabot)
690c08b80d Chore: Bump minimist to 1.2.6 (#47401) (#47681)
(cherry picked from commit b8e3c77adb)

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2022-04-20 17:01:52 +02:00
Grot (@grafanabot)
1bd1838363 Alerting: adds variable replacement to panel filters (#47962) (#47967)
(cherry picked from commit 459c64fd44)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2022-04-20 16:58:41 +02:00
Grot (@grafanabot)
b37047eadb Chore: Try to fix flaky reverse proxy test (#47957) (#47966)
(cherry picked from commit 0afc542998)

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-04-20 16:38:41 +02:00
Grot (@grafanabot)
9841f1d488 ReleaseNotes: Updated changelog and release notes for 8.4.7 (#47952) (#47955)
(cherry picked from commit 6eb41f9cb3)
2022-04-20 15:33:16 +02:00
Grot (@grafanabot)
7b7f7facca Folders: Fix flaky test (#47953) (#47954)
(cherry picked from commit db8d85e2f2)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2022-04-20 15:14:25 +02:00
Grot (@grafanabot)
52fe9ba3fe Wrap individual meta items in zIndex: 0 (#47935) (#47941)
(cherry picked from commit e8fc6637ec)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-04-20 14:38:51 +02:00
Grot (@grafanabot)
f7683af8b5 Prometheus: Remove running of query on raw query toggle (#47938) (#47939)
(cherry picked from commit 5c4459a723)

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2022-04-20 14:37:54 +02:00
Grot (@grafanabot)
0508656182 Prometheus: Move count_values from function to aggregation (#47260) (#47645)
* Move count_values from function to aggregation

* Fix typos

* Fix loki operations

* Fix error that change the aggregation variant on blur

* Fix loki ops

(cherry picked from commit 95009995e4)

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2022-04-20 14:30:57 +02:00
Grot (@grafanabot)
0a4b6dccfc Feature Highlights: update upgrade components UI (#47885) (#47948)
* Highlights: add action prop

* Highlight team sync for trial users

* Add badges for trial highlights

* Move events to UpgradeBox

* Fix undefined license settings

* Update snapshot

* Update public/app/features/datasources/state/navModel.ts

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>

* Update public/app/features/datasources/state/navModel.ts

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>

* Update public/app/features/datasources/state/navModel.ts

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>

* Update copy and event handling

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
(cherry picked from commit 9c0aa09a85)

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2022-04-20 14:24:51 +02:00
Grot (@grafanabot)
f682ad8c60 Prometheus/Loki: Fixes the query type option when multiple queries present (#47846) (#47944)
(cherry picked from commit 68aac0bd90)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-04-20 14:17:38 +02:00
Grot (@grafanabot)
4ea9193696 Alerting: grafana managed group names (#47785) (#47929)
(cherry picked from commit be3f52abb1)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2022-04-20 13:12:50 +02:00
Grot (@grafanabot)
ffab9f6587 Library panels: Fix issue where query editor options wouldn't be updated (#47242) (#47421)
Closes #47241

(cherry picked from commit 0cff2d5980)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2022-04-20 11:19:04 +01:00
Grot (@grafanabot)
37b762fe9c Don't set autofocus on logarithmic base select (#47927) (#47933)
(cherry picked from commit 8b4b57a6c6)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-04-20 12:18:37 +02:00
kay delaney
45d8bbba3a Dashboards: Defer loading of plugin exports until panel is visible (#47361) (#47932)
(cherry picked from commit 8ae5dd74e6)
2022-04-20 11:18:27 +01:00
Grot (@grafanabot)
78659b6814 Explore: minor copy changes (#47922) (#47928)
* Explore: minor copy changes

* fix tests

(cherry picked from commit c1490a464a)

Co-authored-by: Giordano Ricci <me@giordanoricci.com>
2022-04-20 10:57:36 +01:00
Grot (@grafanabot)
e59f21a22e Frontend: Add notification persistence behind feature flag (#47871) (#47931)
(cherry picked from commit c48d8d1d48)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2022-04-20 11:57:15 +02:00
Grot (@grafanabot)
f62e76b5d5 Export: Explicitly include default datasources in exported dashboard json (#47244) (#47924)
* Export: Explicitly include default datasources in exported dashboard json

(cherry picked from commit f9f4a4cbf6)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2022-04-20 10:48:19 +01:00
Grot (@grafanabot)
5ba2aafa88 Revert "DataLinks: Encode variable params for data link URLs (#46100)" (#47763) (#47926)
This reverts commit b47f5433d7.

(cherry picked from commit ff60f39e96)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2022-04-20 11:45:54 +02:00
Grot (@grafanabot)
b53f5675f4 check that the user has RBAC permissions to save dashboard annotation (#47882) (#47920)
(cherry picked from commit 1588cd393a)

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2022-04-20 10:49:32 +02:00
Grot (@grafanabot)
5de766a202 Update API Keys UI to adjust based on users permissions (#47802) (#47921)
* Update API Keys UI to adjust based on users permissions

Since API Keys support now RBAC we need to ensure that UI
is adjusted based on the user permissions.

* Applying PR suggestions

(cherry picked from commit cbd2d09d70)

Co-authored-by: Vardan Torosyan <vardants@gmail.com>
2022-04-20 10:45:54 +02:00
Grot (@grafanabot)
8888dac836 Alerting: Fix issue with Slack contact point validation (#47559) (#47919)
Co-authored-by: gillesdemey <gilles.de.mey@gmail.com>
(cherry picked from commit 39d3c8afd7)

Co-authored-by: Peter Holmberg <peterholmberg@users.noreply.github.com>
2022-04-20 10:18:41 +02:00
Grot (@grafanabot)
17c51dcd32 AzureMonitor: Update kusto-monaco package (#47897) (#47916)
(cherry picked from commit 70802447a5)

Co-authored-by: Andres Martinez Gotor <andres.mgotor@gmail.com>
2022-04-20 09:41:15 +02:00
Grot (@grafanabot)
482ca1b0f7 Chore: Update Go version (#47914) (#47915)
* Remove makefile (it's not used anymore)

* Directly download and install nodejs package

The Packages file for deb.nodesource.com/node_16.x doesn't list older
versions, so only the most recent version of nodejs is available. We
don't want to require every update to the build container to have to
update nodejs if a never version is available, so I manually download
the deb and install it with dpkg.

* Update Go version

* Update lib.star

* Generate new .drone.yml

(cherry picked from commit 24038d9985)

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
2022-04-20 09:30:59 +02:00
Grot (@grafanabot)
cd66d6cdc4 TimeSeries: always try to detect & fix reverse-sorted time field (#47906) (#47910)
(cherry picked from commit aa98123e72)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-04-20 06:36:52 +02:00
Grot (@grafanabot)
548145691b Timeseries: add zoom to data button (#47862) (#47908)
(cherry picked from commit f4e285b8b4)

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-04-19 18:27:13 -07:00
Grot (@grafanabot)
aa5bc10bcf Instrumentation: Proxy status code correction and various improvements (#47473) (#47903)
For a proxied request, e.g. Grafana's datasource or plugin proxy:
If the request is cancelled, e.g. from the browser, the HTTP status code is
now 499 Client closed request instead of 502 Bad gateway.
If the request times out, e.g. takes longer time than allowed, the HTTP status
code is now 504 Gateway timeout instead of 502 Bad gateway.
This also means that request metrics and logs will get their status codes
adjusted according to above.

Fixes #46337
Fixes #46338

(cherry picked from commit 4bc582570e)

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-04-19 20:41:57 +02:00
Grot (@grafanabot)
39cab9c066 Alerting: FGAC bug bash fixes (#47873) (#47900)
* Improve new alert and new silence buttons permission handling

* Prevent loading alert rules when no sufficient permissions provided

* Improve add and edit rule permissions

* Add new rule CTA button for non-editors

* Update mock

* Fix imports

(cherry picked from commit 785145c045)

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
2022-04-19 18:55:25 +02:00
Grot (@grafanabot)
bc9621699b Alerting: Fix nav-links for RBAC and other (#47798) (#47895)
(cherry picked from commit 0c31399e34)

Co-authored-by: Yuriy Tseretyan <yuriy.tseretyan@grafana.com>
2022-04-19 12:12:55 -04:00
Grot (@grafanabot)
2dbe8dfcbc AzureMonitor: Fix Microsoft.ClassicCompute/domainNames namespace (#47877) (#47888)
(cherry picked from commit 2d8d9bc137)

Co-authored-by: Andres Martinez Gotor <andres.mgotor@gmail.com>
2022-04-19 16:36:57 +02:00
Grot (@grafanabot)
73a0da54e4 Alerting: add confirmation modal for deleting notification policies (#47819) (#47886)
(cherry picked from commit 69eb6efd6e)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2022-04-19 16:07:05 +02:00
Grot (@grafanabot)
c724639f56 Alerting: Display alert instances instead of alert rules when creating silence (#47396) (#47881)
* modify matchers util for instances

* filter alerts

* change label to include instances

* re add empty case

(cherry picked from commit 4570615afc)

Co-authored-by: Peter Holmberg <peterholmberg@users.noreply.github.com>
2022-04-19 15:28:05 +02:00
Grot (@grafanabot)
1bffc1f4ad prevent horizontal scrollbar on firefox during expand animation (#47758) (#47869)
(cherry picked from commit bb5f77703c)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-04-19 11:49:03 +02:00
Grot (@grafanabot)
7f4a77fb75 Prometheus: Add documentation for the query builder (#47324) (#47868)
* Update documentation for the query builder

* Review feedback

* Update docs and add pictures

(cherry picked from commit 378ce4f685)

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2022-04-19 11:31:26 +02:00
Grot (@grafanabot)
8bb7c88e07 Alerting: Sort StateHistoryItem after fetch instead of on render. (#47842) (#47864)
PR #47674 attempted to sort a read-only managed async array. This change
moves the sort logic to the fetch code so sort happens once on fetch, to
a mutable array, rather than trying on each render for an immutable
array.

Signed-off-by: Joe Blubaugh <joe.blubaugh@grafana.com>
(cherry picked from commit 7d5cb170c6)

Co-authored-by: Joe Blubaugh <joe.blubaugh@grafana.com>
2022-04-19 16:22:35 +08:00
Grot (@grafanabot)
190766fed1 Create fixed roles for reading API Keys and service accounts and fix listing of service account tokens (#47767) (#47777)
* Create fixed roles for reading API Keys and service accounts

* Handle PR comments and fix the listing of token

(cherry picked from commit 782ec05d8c)

Co-authored-by: Vardan Torosyan <vardants@gmail.com>
2022-04-18 20:34:12 +02:00
Grot (@grafanabot)
8dd16fb871 CloudWatch: Run query on blur in logs query field (#47454) (#47855)
* Cloudwatch: add test to ensure RunQuery is fired onBlur of LogQuery

Also remove the `onBlur` prop for the `QueryField` in `LogsQueryField` since `QueryField` is configured to re-run
queries `onBlur` by default.

Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>
Co-authored-by: Isabella Siu <isabella.siu@grafana.com>
Co-authored-by: Adam Simpson <adam@adamsimpson.net>
(cherry picked from commit 4f26129aa4)

Co-authored-by: Shirley <4163034+fridgepoet@users.noreply.github.com>
2022-04-18 20:22:10 +02:00
Grot (@grafanabot)
2250c245ef Update grabpl (#47824) (#47825)
(cherry picked from commit 4510519941)

Co-authored-by: Dimitris Sotirakis <sotirakis.dim@gmail.com>
2022-04-15 16:12:44 +02:00
Grot (@grafanabot)
ee066425ee Docs: Addition of more prominent link to docker conf (#46504) (#47822)
* Docs: Addition of more prominent link to docker conf

Saw a comment on Reddit indicating a lack of information - docs were available, just a little hard to find.

Added a note pointing our community to where they might find docker image configuration help.

* Update docs/sources/installation/docker.md

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
(cherry picked from commit 67ff5f5815)

Co-authored-by: Petros Kolyvas <code@petros.io>
2022-04-15 09:26:18 -04:00
Grot (@grafanabot)
c8987a040c Navigation: Add shortcut to add new alert rule to alerting section behind feature toggle (#47713) (#47814)
* Add new alert rule to alerting section

* Check access control for ability to create

(cherry picked from commit 7905957ee8)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-04-15 11:43:55 +02:00
Grot (@grafanabot)
c8aeb049ab CI: Remove unused --github-token flag (#47773) (#47809)
* Remove github token flag

* Minor cleanup

* Update grabpl

(cherry picked from commit 508cc58a63)

Co-authored-by: Dimitris Sotirakis <sotirakis.dim@gmail.com>
2022-04-15 11:53:26 +03:00
Grot (@grafanabot)
c2a6188334 Service accounts: RBAC the service account UI (#47788) (#47804)
* WIP

* fix: bug for saving name did not remove edit

* refactor: better error msg

* Display the column Roles even when user can't see the role picker

* Remove spaces when building the search query request

* Disable Edit button and fix token addition and deletion

* Fix the error message text

Co-authored-by: Vardan Torosyan <vardants@gmail.com>
(cherry picked from commit b43e9b50b4)

Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
2022-04-15 00:21:51 +02:00
Grot (@grafanabot)
00e572dc3b Table panel: Fix horizontal scrolling when pagination is enabled (#47776) (#47787) 2022-04-14 19:56:27 +02:00
Grot (@grafanabot)
c8327d04a8 Tracing: Use common traceID context value for opentracing and opentelemetry (#46411) (#47786)
* use common traceID context value for opentracing and opentelemetry

* support sampled trace IDs as well

* inject traceID into NormalResponse on errors

* Finally the test passed

* fix the test

* fix linter

* change the function parameter

Co-authored-by: Ying WANG <ying.wang@grafana.com>
(cherry picked from commit 41012af997)

Co-authored-by: Serge Zaitsev <serge.zaitsev@grafana.com>
2022-04-14 18:08:51 +02:00
Grot (@grafanabot)
a0ff246fcb Alerting: Add FGAC to alerts tab in panel editor (#47732) (#47771)
* add FGAC for alert panel tab

* add test for panel tabs

* Refactor condition

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
(cherry picked from commit c63086822d)

Co-authored-by: Nathan Rodman <nathanrodman@gmail.com>
2022-04-14 15:59:05 +02:00
Grot (@grafanabot)
05fb17c3f3 Prometheus: Query builder UX tweaks and feedback link (#47655) (#47778)
* Prometheus: Query builder UX tweaks and feedback link

* Remove .

* Fixed link

* added option to hide feedback links

* feedback link setting name change

* move config check

* fixed ts issue

(cherry picked from commit 057ff5bcf5)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-04-14 15:40:57 +02:00
Grot (@grafanabot)
2a34264cdd Docs: remove outdated section from Explore docs (#47768) (#47775)
(cherry picked from commit f79e0c68cc)

Co-authored-by: Giordano Ricci <me@giordanoricci.com>
2022-04-14 09:04:53 -04:00
Grot (@grafanabot)
91f7cd2307 Alerting: unwrap upsert into insert and update function (#47731) (#47772)
* Alerting: unwrap upsert into insert and update function

* add changelog entry

* remove changelog entry

* rename upsertrule to updaterule

* use directly alertrule model for inserts

* add test for updating a rule with a conflicting name

(cherry picked from commit 060ccacbf9)

Co-authored-by: Jean-Philippe Quéméner <JohnnyQQQQ@users.noreply.github.com>
2022-04-14 14:37:54 +02:00
Dimitris Sotirakis
ff6a7b0a7f CI: Remove initialize step (#47622) (#47770)
* Remove initialize step from pr.star

* Remove initialize step from main.star

* Remove initialize step from release.star

* Reorder dependencies

* Re-add identify runner step

* Add enterprise steps

* Remove is_downstream variable from starlark logic (#47715)

* Make init steps depend on init-enterprise for enterprise pipelines

* Exclude shellcheck from enterprise pipelines

* Add init steps to enterprise integration tests pipeline

* Add dependency for windows enterprise step

* Update grabpl version

(cherry picked from commit 90892050d0)
2022-04-14 15:36:16 +03:00
Grot (@grafanabot)
5c41d84f88 Access control: expose SA frontend to users with the right permissions (#47727) (#47766)
* expose frontend to users with permissions

* cover the ui endpoints

* fix permissions

(cherry picked from commit e50bd5cac8)

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2022-04-14 14:13:30 +02:00
Grot (@grafanabot)
37e5b0fbc7 Alerting: Remove mis-behaving fake and fix masked test failure in AM config API (#47747) (#47751)
* Remove misbehaving fake

* Fix bug and inject logger

(cherry picked from commit c266a4ac81)

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2022-04-14 02:49:37 +02:00
Yuriy Tseretyan
0e8ba02479 Alerting: Support OK option for Error state (#47670) (#47741)
* support OK state for Error
* add CHANGELOG to ngalert package
2022-04-13 22:39:26 +02:00
Grot (@grafanabot)
21404f4169 Alerting: Provisioning API - Contact points (#47197) (#47743)
(cherry picked from commit 388ecb4037)

Co-authored-by: Jean-Philippe Quéméner <JohnnyQQQQ@users.noreply.github.com>
2022-04-13 22:28:20 +02:00
Grot (@grafanabot)
b8039a80b7 Live: collect more usage stats – enabled, ha enabled, num nodes, channels, subs (#47378) (#47738)
(cherry picked from commit e00db6a826)

Co-authored-by: Alexander Emelin <frvzmb@gmail.com>
2022-04-13 13:07:19 -07:00
Grot (@grafanabot)
e8e03d7b1f Alerting: Add check for datasource permission in alert rule read API (#47087) (#47595)
* add check for access to rule's data source in GET APIs

* use more general method GetAlertRules instead of GetNamespaceAlertRules.
* remove unused GetNamespaceAlertRules.

Tests:
* create a method to generate permissions for rules
* extract method to create RuleSrv
* add tests for RouteGetNamespaceRulesConfig

(cherry picked from commit af9353caec)

Co-authored-by: Yuriy Tseretyan <yuriy.tseretyan@grafana.com>
2022-04-13 15:54:24 -04:00
Grot (@grafanabot)
f01f1073b8 Chore: Remove bus.Bus field (#47695) (#47704)
* Chore: Remove bus.Bus field

* fix integration test

(cherry picked from commit e86b6662a1)

Co-authored-by: Serge Zaitsev <serge.zaitsev@grafana.com>
2022-04-13 19:11:20 +02:00
Grot (@grafanabot)
5332a2db05 fix: bug where disabled didnt disable the use of service account (#47688) (#47725)
(cherry picked from commit 673a2ab49e)

Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
2022-04-13 18:47:08 +02:00
Grot (@grafanabot)
67d42fc51c Access control: service account role check (#47710) (#47724)
* forbid setting role higher than user's role

* change response code

* can assign API key permissions to non-admin users

* add: assign viewer role directly upon creation

* refactor: add AddSATcommand infavor of AddAPIkey

* refactor: frontend fixes for ServiceAccountToken

Co-authored-by: eleijonmarck <eric.leijonmarck@gmail.com>
(cherry picked from commit a245531f0c)

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2022-04-13 17:27:23 +01:00
Grot (@grafanabot)
a8bfaafeb5 Alerting: FGAC for alert rule view and edit page (#47441) (#47717)
* Add permission check to the find route, add query not accessible warning for the view page

* Hide grafana or mimir rule buttons depending on user's permissions

* Add grafana and cloud read rules checking on the alert rules list view

* Improve missing data source handling, refactor edit and remove permissions handling

* Add tests for rule edit permissions

* PR feedback

(cherry picked from commit a30ab51550)

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
2022-04-13 18:09:25 +02:00
Grot (@grafanabot)
7366fa2530 fix terminal format (#47718) (#47721)
(cherry picked from commit f62c261900)

Co-authored-by: ying-jeanne <74549700+ying-jeanne@users.noreply.github.com>
2022-04-13 17:57:20 +02:00
Grot (@grafanabot)
6aa95a6b86 TimeSeries & BarChart: refactor stacking (#47373) (#47720)
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
(cherry picked from commit dfdfe3f428)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-04-13 17:47:04 +02:00
Grot (@grafanabot)
9534cebdc1 Chore: Bump moment to 2.29.2 (#47680) (#47699)
* chore: bump moment to 2.29.2

* chore(yarn): clean up remaining moment nested deps

(cherry picked from commit c3db3121b0)

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2022-04-13 16:19:29 +02:00
Grot (@grafanabot)
e8517ecf15 AzureMonitor: Include macros and template variables as suggestions (#47689) (#47708)
(cherry picked from commit a57716f868)

Co-authored-by: Andres Martinez Gotor <andres.mgotor@gmail.com>
2022-04-13 16:13:24 +02:00
Grot (@grafanabot)
59886859c0 Nav: Icon clickable area fills all available space (#47334) (#47706)
Closes #47255

(cherry picked from commit 38809d73c2)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2022-04-13 16:12:57 +02:00
Grot (@grafanabot)
5379941bf9 Alerting: Add permission checking to alert rules in the folders view (#47686) (#47692)
(cherry picked from commit d7516f11b3)

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
2022-04-13 15:15:04 +02:00
Grot (@grafanabot)
ba4af4a7f6 Reload permissions cache when adding a datasource (#47658) (#47685)
(cherry picked from commit 463f00b93f)

Co-authored-by: Vardan Torosyan <vardants@gmail.com>
2022-04-13 12:34:36 +02:00
Serge Zaitsev
7729b14da3 Chore: Remove bus (#47511) (#47677)
* Chore: Remove bus

* remove unused const

(cherry picked from commit 18e93c7077)
2022-04-13 11:51:21 +02:00
Dimitris Sotirakis
691e94ebe4 CI: Remove unused downstream build pipelines (#47646) (#47652)
* Remove unused downstream build pipelines

* Prettify

(cherry picked from commit 3e030d137f)
2022-04-13 09:59:38 +01:00
Grot (@grafanabot)
5721ff9689 Chore: Remove bus from contexthandler (#47458) (#47636)
* Chore: remove bus from contexthandler

* remove bus from orgredirect

(cherry picked from commit 2cf88cfec8)

Co-authored-by: Serge Zaitsev <serge.zaitsev@grafana.com>
2022-04-12 22:31:53 +02:00
Grot (@grafanabot)
d6b166223f Annotation FGAC checks for comments (#47468) (#47654)
* typo

* remove unwanted change

* remove unwanted change

(cherry picked from commit d0abe1bb3d)

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2022-04-12 18:49:03 +02:00
Grot (@grafanabot)
c7696261fb Temporarily skip a test that is intermittently timing out and causing build failures. (#47637) (#47651)
(cherry picked from commit 7f5e8bb00f)

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
2022-04-12 17:03:30 +02:00
Grot (@grafanabot)
0cb55ee544 AzureMonitor: Fix Kusto editor schema (#47576) (#47650)
(cherry picked from commit 35f52aee55)

Co-authored-by: Andres Martinez Gotor <andres.mgotor@gmail.com>
2022-04-12 16:54:59 +02:00
Grot (@grafanabot)
73f5ca876f Prometheus: Fix executing query onBlur in Explore (#47561) (#47638)
(cherry picked from commit c449aadc1b)

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2022-04-12 16:08:18 +02:00
Grot (@grafanabot)
09d6461ce5 Navigation: Show only + icons in overlay menu for new NavBar (#47347) (#47644)
* Nav: Show overlay icons based on allowed list

* user essentials mob! 🔱

* Navigation: clean up and use new backend prop to show plus icons and
improve visual styling

* Nav: Fix top padding

* refactor to not use showIconInNavbar in NavBarMenuItem

* remove a missed bit

* refactor icon into const

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
(cherry picked from commit 85de0d88c7)

Co-authored-by: Maria Alexandra <239999+axelavargas@users.noreply.github.com>
2022-04-12 17:04:28 +03:00
Grot (@grafanabot)
ef592f1a66 fix: postgresql ipv6 host should not be enclosed in square brackets (#47522) (#47619)
(cherry picked from commit 9024340487)

Co-authored-by: felixdoerre <felixdoerre@users.noreply.github.com>
2022-04-12 13:38:44 +01:00
Grot (@grafanabot)
31f4d88206 Chore: update latest.json (#47627) (#47629)
(cherry picked from commit 3b2ca399e2)

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
2022-04-12 14:30:02 +02:00
Grot (@grafanabot)
ee9807d631 Allow queries import when changing data source type (#47435) (#47630)
* Enable queries import when changing datasource

* Supporting empty imports

* Review applied

(cherry picked from commit 98cbecc4a5)

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2022-04-12 14:29:42 +02:00
Grot (@grafanabot)
9af9cd39cd chore: remove all remaining uses of golang.org/x/net/context (#47564) (#47585)
* chore: remove all remaining uses of  golang.org/x/net/context

This PR finishes the work started in #47532, replacing all calls to that package with the stdlib context and using http.NewRequestWithContext to include the context where necessary.

Bonus: small formatting fixes to goimports in these files.

closes #44178

* tweak: use context.Background in favor of TODO for tests

(cherry picked from commit 8f6877e12a)

Co-authored-by: Kristin Laemmert <mildwonkey@users.noreply.github.com>
2022-04-12 08:15:28 -04:00
Grot (@grafanabot)
cce492b246 Chore: Remove bus from alerting rule (#47508) (#47510)
* Chore: Remove bus from alerting rule

* fix alerting tests

* fix provide service

(cherry picked from commit b31c7d3654)

Co-authored-by: Serge Zaitsev <serge.zaitsev@grafana.com>
2022-04-12 14:05:00 +02:00
Grot (@grafanabot)
be0d1a8d57 Chore: Remove bus from dashboards provisioning (#47495) (#47507)
* Chore: Remove bus from dashboards provisioning

* fix symlink test, make it run on darwin

* remove unused mock

(cherry picked from commit ad432108e6)

Co-authored-by: Serge Zaitsev <serge.zaitsev@grafana.com>
2022-04-12 14:04:40 +02:00
Grot (@grafanabot)
f438ffacf6 Explore: Allow users to save Explore queries to dashboards (#47083) (#47626)
* Select: Expose AsyncSelectProps interface

* DashboardPicker: Add a generic DashboardPicker component

* Dashboard Service: improve types

* Explore: allow saving explore state in a new panel in an existing dashboard

* Handle saving provisioned dashboards error

* Improve test coverage

* simplify test setup

* Strip base path from url when redirecting to a dashboard

* Keep existing variables when saving to an existing dashboard

* group assertions in test

* SearchCard: handle undefined in meta.updated

* Change required error message

* Add to dashboard alternative

* Add to existing is working

* Add to dashboard form

* remove default add-panel when creating a dashboard from explore

* types cleanup

* remove unneeded BE change

* simplify selector

* Add explore2Dashboard feature toggle

* add tests

* Small refactor & add tests

* small DashboardPicker improvements

* use partial from lodash

* Better error handling

* improve tests & disable button when there are no queries

* rename addPanelToDashboard function

* remove localStorage item if opening tab fails

* UI touchups & tracking

* Fix tests & remove close reporting

* remove echologger debug

* fix adding a panel to an existing dashboard

* Enable explore2Dashboard by default and add docs

* Ensure each panel in dashboards has a valid ID

* force CI restart

Co-authored-by: Elfo404 <me@giordanoricci.com>
(cherry picked from commit 7181efd1cf)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-04-12 13:52:45 +02:00
Grot (@grafanabot)
aa412e9678 Unified Alerting: UI explains "match all" case in Notification Policies. (#47574) (#47603)
This change makes it explicit in the UI that a notification policy with no matching labels matches all alerts that it processes. There are visual changes in both the Notification Policy editor, and in the Notification Policy table where matching columns are shown.

It's valid to have a notification policy with no label matchers attached. Such a policy matches all alerts sent to it. It's a common stumbling block for users. Where are all my alerts going?

Co-authored-by: gillesdemey <gilles.de.mey@gmail.com>
(cherry picked from commit 51c98b182d)

Co-authored-by: Joe Blubaugh <joe.blubaugh@grafana.com>
2022-04-12 13:10:21 +02:00
Grot (@grafanabot)
b477c7eba9 Access-control: documentation for general folder uid restrictions (#47567) (#47620)
* add caveats for general folder

* expand the list of resources covered by fgac

* Update folder.md

remove unneeded comment

(cherry picked from commit a5530d36a7)

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2022-04-12 12:21:59 +02:00
Grot (@grafanabot)
fb9a67f34d ReleaseNotes: Updated changelog and release notes for 8.4.6 (#47612) (#47617)
* ReleaseNotes: Updated changelog and release notes for 8.4.6

* update changelog and release notes

Co-authored-by: Agnès Toulet <agnes.toulet@gmail.com>
(cherry picked from commit 9a0f626948)
2022-04-12 12:20:32 +02:00
Grot (@grafanabot)
556178c714 Chore: Remove bus from contexthandler (#47374) (#47616)
* Chore: Remove bus from contexthandler

* fix tests

* try different wire binding

* maybe remove a few more dispatches

* fix tests

(cherry picked from commit d153d896c5)

Co-authored-by: Serge Zaitsev <serge.zaitsev@grafana.com>
2022-04-12 12:05:27 +02:00
Grot (@grafanabot)
68c6e7514a Storybook: Add store-storybook command (#47557) (#47614)
* Add store-storybook command

* Update grabpl version

(cherry picked from commit cfaf058b20)

Co-authored-by: Dimitris Sotirakis <sotirakis.dim@gmail.com>
2022-04-12 11:53:48 +02:00
Grot (@grafanabot)
bd76bd0d0e Fix unmarshal of double pointer (#47586) (#47607)
* Fix unmaarshal of double pointer

* update sdk version

(cherry picked from commit 0bf889e058)

Co-authored-by: ying-jeanne <74549700+ying-jeanne@users.noreply.github.com>
2022-04-12 09:42:56 +02:00
Grot (@grafanabot)
be54ab63cb Explore/Logs: Improve and add descriptions of Explore's Escape newlines feature (#46709) (#47606)
* Explore/Logs: Clarify phrasing of newline escape fix tooltip

Rewrite the tooltip for the smart feature in PR #31352 that
replaces incorrectly escaped newlines in log lines.

-   Clarify the functionality of the feature to emphasize its
    interactivity.
-   Remove language suggesting that the feature is experimental,
    when we intended to suggest reviewing the results manually for
    correctness.

* Docs: Document escape newlines feature

Describe and provide steps for using the "Escape newlines" feature
in Explore added in PR #31352.

* Rewrite topic lead to clarify conditional behavior

* Describe reversion of replacements as a standalone task

Reverting the replacements is a separate action, so it should have
its own task. This also describes the option's transformation and
tightens the task language.

* Remove Grafana 7 version qualifier

* Clarify escape sequence detection lede on task

Co-authored-by: Fiona Artiaga <89225282+GrafanaWriter@users.noreply.github.com>

* Clarify "Remove escaping" state change

Co-authored-by: Fiona Artiaga <89225282+GrafanaWriter@users.noreply.github.com>

* Clarify confidence of tooltip content

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

Co-authored-by: Fiona Artiaga <89225282+GrafanaWriter@users.noreply.github.com>
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
(cherry picked from commit 42431e6ad4)

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>
2022-04-12 09:40:25 +02:00
Grot (@grafanabot)
abc9678589 Azure Monitor: Bug Fix for for template variables (#47478) (#47599)
(cherry picked from commit 7a8437020d)

Co-authored-by: jcolladokuri <jcolladokuri@microsoft.com>
2022-04-12 09:13:00 +02:00
Grot (@grafanabot)
fd703d9d87 Alerting: reduce database calls in prometheus-comptible rules API (#47080) (#47569)
* move validation at the beginning of method
* remove usage of GetOrgRuleGroups because it is not necessary. All information is already available in memory.
* remove unused method

(cherry picked from commit 48519f9ebb)

Co-authored-by: Yuriy Tseretyan <yuriy.tseretyan@grafana.com>
2022-04-11 13:37:40 -04:00
Grot (@grafanabot)
cb0f520a69 add feature toggle with new format (#47336) (#47581)
* add feature toggle with new format

* fix some comments ❤️

* Update pkg/infra/log/term/terminal_logger.go

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
(cherry picked from commit 03ba91e8a4)

Co-authored-by: ying-jeanne <74549700+ying-jeanne@users.noreply.github.com>
2022-04-11 19:00:34 +02:00
Grot (@grafanabot)
f5dd8de077 Navigation: wrap long items in the menu correctly (#47431) (#47577)
* start implementing wrapping behaviour

* handle more cases

* minWidth > width to preserve mobile behaviour

* Better css

(cherry picked from commit fb0f30e30b)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-04-11 18:43:34 +02:00
Grot (@grafanabot)
b31aaf444f Add docs for service accounts 8.5 (#46801) (#47568)
* initial doc for service accounts

* service account token calls complete

* service account tasks

* Update docs/sources/http_api/serviceaccount.md

* adding a token to the service account

* removed unused file

* refactor: review comments

* feat: add API key documentation

* fix: spelling

* Update docs/sources/administration/service-accounts/about-service-accounts.md

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

* Update docs/sources/administration/service-accounts/about-service-accounts.md

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

* Update docs/sources/http_api/serviceaccount.md

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* Update docs/sources/administration/service-accounts/enable-service-accounts.md

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* Update docs/sources/administration/service-accounts/enable-service-accounts.md

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* Update docs/sources/administration/service-accounts/enable-service-accounts.md

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* Update docs/sources/administration/service-accounts/enable-service-accounts.md

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* Update docs/sources/administration/service-accounts/enable-service-accounts.md

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* Update docs/sources/administration/api-keys/about-api-keys.md

* refactor: based on review

* removed the permissions for apikeys, as they are not necessary

* Apply suggestions from code review

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* Update docs/sources/administration/service-accounts/create-service-account.md

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* update based on review

* Fix formatting of bullet points

* formatting

* refcator

Co-authored-by: Jguer <joao.guerreiro@grafana.com>
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: Vardan Torosyan <vardants@gmail.com>
(cherry picked from commit 7be8fe027f)

Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
2022-04-11 16:51:03 +02:00
Grot (@grafanabot)
c3f6e1e224 SAML: Allow disabling of SAML signups (#47481) (#47533)
* Add new error message for signup not allowed errors

* Add documentation on new SAML signup option

* Accept documentation feedback

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Accept documentation feedback

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* run prettier:write

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
(cherry picked from commit 4318ffdd46)

Co-authored-by: Michael Mandrus <41969079+mmandrus@users.noreply.github.com>
2022-04-11 09:11:08 -04:00
Grot (@grafanabot)
9597cc68a7 chore: remove golang.org/x/net/context in favor of stdlib (#47532) (#47558)
This PR removes golang.org context imports under pkg/services/* and replaces them with the stdlib context.

Closes #44178

(cherry picked from commit bda3dd24e4)

Co-authored-by: Kristin Laemmert <mildwonkey@users.noreply.github.com>
2022-04-11 09:08:36 -04:00
Grot (@grafanabot)
7a1e09631f Access control: SQL filtering for annotation listing (#47467) (#47555)
* pass in user to attribute scope resolver

* add SQL filter to annotation listing

* check annotation FGAC permissions before exposing them for commenting

* remove the requirement to be able to list all annotations from annotation listing endpoint

* adding tests for annotation listing

* remove changes that got moved to a different PR

* unused var

* Update pkg/services/sqlstore/annotation.go

Co-authored-by: Ezequiel Victorero <evictorero@gmail.com>

* remove unneeded check

* remove unneeded check

* undo accidental change

* undo accidental change

* doc update

* move tests

* redo the approach for passing the user in for scope resolution

* accidental change

* cleanup

* error handling

Co-authored-by: Ezequiel Victorero <evictorero@gmail.com>
(cherry picked from commit ef4c2672b3)

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2022-04-11 14:29:54 +02:00
Grot (@grafanabot)
9c5e459f0b bugfix: fix proper type of setting maxConcurrentShardRequests (#47120) (#47548)
(cherry picked from commit c0104db72d)

Co-authored-by: Aleksandr Stepanov <alexandrst88@gmail.com>
2022-04-11 10:45:04 +02:00
Grot (@grafanabot)
dd2663352c Service accounts: UI polish improvements (#47461) (#47526)
* ui polishes

* change icon

(cherry picked from commit 883ce5ad30)

Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
2022-04-08 17:35:35 +01:00
Grot (@grafanabot)
58f27b980d GrafanaUI: Change chevron directions for open/closed state (#47386) (#47529)
(cherry picked from commit e3b123c3fc)

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2022-04-08 17:49:48 +02:00
Grot (@grafanabot)
283b93bc15 Alerting: fix collapsable toggle text regression (#47517) (#47524)
(cherry picked from commit 7e844064a4)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2022-04-08 17:25:39 +02:00
Grot (@grafanabot)
cb0093d27f fixed dashboard spelling (#47515) (#47520)
(cherry picked from commit 1a88612e82)

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2022-04-08 16:23:38 +02:00
Grot (@grafanabot)
056ff9cf32 fix: don't allow editing rule types for existing rules (#47512) (#47516)
(cherry picked from commit c530100d45)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2022-04-08 15:45:42 +02:00
Grot (@grafanabot)
df94aa979c Routing: Fix links to different port from being treated as internal links (#45192) (#47498)
* Add some failing tests that trigger the bug

* start at refactor of stripBaseFromUrl

(cherry picked from commit 416da59c43)

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2022-04-08 13:37:08 +01:00
Grot (@grafanabot)
776d2cc03e Alerting: FGAC for alert rules page (#47418) (#47503)
* Apply FGAC on the alert rules list page

* Add tests for edit, delete and silence buttons

* Unify access-control helpers

* Fix import

* Add route permissions for alert groups, unify access control helpers

* Improve buttons with data source explore permission

* Fix test

(cherry picked from commit 87383b1c8b)

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
2022-04-08 13:50:40 +02:00
Grot (@grafanabot)
3fa4ae500a UsageStats: track enabled features (#47407) (#47501)
* #47127: include enabled features in the usage stats reports

* #47127: convert feature names to snake cased metric names

* #47127: remove dead code

* #47127: lint fix

* #47127: convert GetUsageStats to return `map[string]interface{}`

* #47127: fix testssssssss

* #47127: fix testssssssss

(cherry picked from commit f1a1070d41)

Co-authored-by: Artur Wierzbicki <wierzbicki.artur.94@gmail.com>
2022-04-08 13:18:42 +02:00
Grot (@grafanabot)
a8ab8a570b Replace with secret (#47488) (#47489)
(cherry picked from commit ce2a9252c2)

Co-authored-by: Dimitris Sotirakis <sotirakis.dim@gmail.com>
2022-04-08 11:32:39 +03:00
Grot (@grafanabot)
99dbf0502a Config: fix buildInfo initialization (#47402) (#47456)
* Config: fix buildInfo initialization

* change default to be parseable

* apply default values for buildInfo

(cherry picked from commit 59388bf546)

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
2022-04-08 09:20:44 +02:00
Grot (@grafanabot)
c7877e09d0 Temporarily skip intermittent test (#47471) (#47472)
(cherry picked from commit c3ad36ba72)

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2022-04-07 13:22:21 -05:00
Grot (@grafanabot)
993ed70e34 Docs: corrects typos (#47464) (#47466)
(cherry picked from commit 883f9f718f)

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2022-04-07 18:37:25 +02:00
Grot (@grafanabot)
0f27624e37 remove the parallele to avoid concurrency (#47447) (#47449)
(cherry picked from commit 29b8d5d295)

Co-authored-by: ying-jeanne <74549700+ying-jeanne@users.noreply.github.com>
2022-04-07 16:02:42 +02:00
Grot (@grafanabot)
ec1ae002ea TestData: Interpolate variables in more fields (#47158) (#47450)
* TestData: Interpolate variables in more fields

* only interpolate variables if the field is set

* Correctly type scenarioId which can be undefined

(cherry picked from commit b857f8339e)

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2022-04-07 16:00:18 +02:00
Grot (@grafanabot)
5965a7e479 Update latest json (#47437) (#47440)
(cherry picked from commit 4b8a202232)

Co-authored-by: Tania <yalyna.ts@gmail.com>
2022-04-07 14:32:01 +02:00
Grot (@grafanabot)
b7b2149b76 Navigation: add aria-label to NavBarToggle (#47434) (#47439)
* add aria-label to NavBarToggle

* use open/close instead

(cherry picked from commit d95782845d)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-04-07 14:31:48 +02:00
Grot (@grafanabot)
b4a0436af8 ReleaseNotes: Updated changelog and release notes for 8.5.0-beta1 (#47433) (#47436)
* ReleaseNotes: Updated changelog and release notes for 8.5.0-beta1

* Update release notes

* Update changelog

Co-authored-by: Tania <yalyna.ts@gmail.com>
(cherry picked from commit af71e77e6c)
2022-04-07 13:54:33 +02:00
Grot (@grafanabot)
1a4ecfde4e "Release: Updated versions in package to 8.5.0-beta.1" (#47432) 2022-04-07 13:33:09 +02:00
Grot (@grafanabot)
52b8e4991c Build: bump gonum library version to fix #46759 (#46997) (#47419)
(cherry picked from commit 460b8e85d7)

Co-authored-by: Martin <mahe@quantentunnel.de>
2022-04-07 11:36:43 +02:00
Grot (@grafanabot)
f3a704de5f Explore: Add explore2Dashboard feature toggle (#47395) (#47420)
(cherry picked from commit ca286a238d)

Co-authored-by: Giordano Ricci <me@giordanoricci.com>
2022-04-07 09:45:12 +01:00
Grot (@grafanabot)
4dcf1a8464 Make gsutil command don't fail if dir doesn't exist (#47394) (#47416)
(cherry picked from commit 0845ba1abb)

Co-authored-by: Dimitris Sotirakis <sotirakis.dim@gmail.com>
2022-04-07 09:48:33 +03:00
achatterjee-grafana
f497164472 backport changes (#47414) 2022-04-06 16:54:02 -04:00
Grot (@grafanabot)
8280aa5636 Alerting: fgac for notification policies and contact points (#46939) (#47406)
* add FGAC actions for silences table

* redirect users without permissions

* add permissions checks to routes

* add fgac to notifications and contact points

* fgac for notification policies

* fix mute timing authorization

* use consistent naming for checking grafana alertmanager

* tests for fgac in contact points and notification policies

* bump up timeout on rule editor test

* use new permissions util

* break out route evaluation into util

* Remove test timeout

* Change permissions for the alert-notifiers endpoint

* Use signed in handler for alert-notifiers when unified alerting enabled

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
(cherry picked from commit 49505b9a3b)

Co-authored-by: Nathan Rodman <nathanrodman@gmail.com>
2022-04-06 22:34:14 +02:00
Grot (@grafanabot)
50712b5782 Navigation: implement full-width mobile menu (#47383) (#47405)
* navigation: implement proper mobile menu

* Update public/app/core/components/NavBar/Next/NavBarMenu.tsx

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>

* animation feedback

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
(cherry picked from commit 04c037b2cb)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-04-06 18:12:24 +02:00
Jack Westbrook
a1ebcd520c Build: Remove redundant build_npm_packages_step (#47384) 2022-04-06 14:26:59 +02:00
Agnès Toulet
bd058f115b Chore: Update what's new link (#47391) 2022-04-06 14:25:03 +02:00
Piotr Jamróz
88ec750728 Query History: Load history when QueryHistoryContainer is opened (#46457)
* Load Rich History when the container is opened

* Store rich history for each pane separately

* Do not update currently opened query history when an item is added

It's impossible to figure out if the item should be added or not, because filters are applied in the backend. We don't want to replicate that filtering logic in frontend. One way to make it work could be by refreshing both panes.

* Test starring and deleting query history items when both panes are open

* Remove e2e dependency on ExploreId

* Fix unit test

* Assert exact queries

* Simplify test

* Fix e2e tests

* Fix toolbar a11y

* Reload the history after an item is added

* Fix unit test

* Remove references to Explore from generic PageToolbar component

* Update test name

* Fix test assertion

* Add issue item to TODO

* Improve test assertion

* Simplify test setup
2022-04-06 13:49:25 +02:00
ying-jeanne
8ef5212b0e add unit into request duration (#47356)
* add unit into request duration

* Update pkg/middleware/logger.go

Co-authored-by: Carl Bergquist <carl.bergquist@gmail.com>

Co-authored-by: Carl Bergquist <carl.bergquist@gmail.com>
2022-04-06 12:56:13 +02:00
Dimitris Sotirakis
25e04d77be Storybook: Replace gsutil rsync with gsutil cp when copying artifacts (#47335)
* Replace gsutil rsync with cp

* Sync drone

* Remove folder before uploading artifacts
2022-04-06 13:31:36 +03:00
Andrej Ocenas
0d3879d1c1 Prometheus: Add beta tag to mode switch for Builder mode (#47376)
* Add beta tag to mode switch

* Fix selectors
2022-04-06 11:50:12 +02:00
Ivana Huckova
caa82a124d Loki,Prometheus: Fix of showing error message for empty query (#47379)
* Loki,Prometheus: Dont show error on empty query

* Add tests
2022-04-06 11:17:49 +02:00
Dimitris Sotirakis
c72881a8b1 Update grabpl version (#47375) 2022-04-06 11:08:05 +02:00
Will Browne
aef5b29173 Plugins: Fix Default Nav URL for dashboard includes (#47143)
* Plugins: Fix Default Nav URL for dashboard includes

* update nav links

* PR comments
2022-04-06 10:50:39 +02:00
Will Browne
f3c1448b57 Analytics: Enable grafana and plugin update checks to be operated independently (#46352)
* add separate cfg for controlling plugin update checks

* https

* add specific version note to docs

* pr feedback

* fixup
2022-04-06 10:50:21 +02:00
Jack Westbrook
9a6fd8572a Build: Remove redundant NPM publishing code (#46425)
* chore(build): remove npm package:publishPrevious script and release-npm-packages.sh

* ci(drone): bump grabpl to v2.9.31
2022-04-06 10:48:00 +02:00
Joan López de la Franca Beltran
2c2cf10405 Azure: Update Azure SDK dependencies (#46535)
* Azure: Update Azure SDK dependencies

* Add missing underscore imports for extensions
2022-04-06 10:19:04 +02:00
Andrej Ocenas
ad4fcfd69b Prometheus: Set default mode to Code (#47342)
* Set default to Code

* Fix tests
2022-04-06 10:07:11 +02:00
Dimitris Sotirakis
bd386df617 CI: Run publishing steps only on OSS repo for main/version branches (#47315)
* Convert steps to run on OSS repo only

* Exclude versioned branches from publishing artifacts

* Change trigger -> when

* Add trigger to upload_* steps

* Add conditions to remaining steps

* Exclude release steps

* Bring back exclusion for release builds
2022-04-06 10:46:05 +03:00
Gabriel MABILLE
f7305965a4 AccessControl: Remove package lists for roles and grants (#47141)
* AccessControl: Remove package variables for roles and grants

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

* Check for inheritance during role registration

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

* Moving back role definition to accessscontrol

* Make settings reader role public

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

* Nits

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

* Forgot to update this

* Account for declaration error

* Fixing pkg/api init ossac

* Account for error in tests

* Update test to verify inheritance

* Nits.

* Place br inheritance behind a feature toggle

* Parent -> Parents

* Nit.

Co-authored-by: Jguer <joao.guerreiro@grafana.com>
2022-04-06 09:31:14 +02:00
Isabella Siu
05b1edb4a7 CloudWatch: re-add filter to handleMetricQueries (#47341) 2022-04-06 09:02:34 +02:00
Serge Zaitsev
3a7fc80948 Chore: Remove last bus parts from login package (#47313)
* Chore: Remove last bus parts from login package

* fix middleware tests
2022-04-06 08:45:01 +02:00
Piotr Jamróz
8490fd77e3 Users: clean up OrgId when all user orgs are removed (#46003)
* Clean up orgId when user organization is removed

* Add a test for removing user org

* Fix linting errors

* Update comment

* Fix linting errors

* Make removing user org more explicit
2022-04-06 08:35:58 +02:00
Michael Mandrus
f9d86557cf Dashboard: Mix initials and custom gravatars in recent viewers list (#47212)
* Use Wiring to initialize Avatar Cache Server

Create AvatarCacheServer Provider function and pass it in as an
argument to HTTPServer. Also convert CacheServer to a singleton
so that we keep all cached Avatar info in one place for easier access

* Refactor avatar cache server and add 'isCustom' check

Avatar cache server needs to perform two similar fetches
back-to-back; break up functions to allow for easy reuse.
Then add handling to see if a user has a custom avatar.

* Add additional accessors so that /recents api can easily use the cache

* Minor mods to avatar server to facilitiate unit testing

* add unit tests for avatar fetching

* add error handling in case we somehow fetch gravatars while they are disabled

* linting: read error return value in unit test

* Use http package status codes

Co-authored-by: Ezequiel Victorero <evictorero@gmail.com>

* Use http package status codes

Co-authored-by: Ezequiel Victorero <evictorero@gmail.com>

* Use http package status codes

Co-authored-by: Ezequiel Victorero <evictorero@gmail.com>

* Incorporate suggestions from PR
-avoid mutating arguments
-change error handler function to private and make name more descriptive

Co-authored-by: Ezequiel Victorero <evictorero@gmail.com>
2022-04-05 22:56:17 -04:00
Leon Sorokin
a9bc8b2016 TimeSeries: fix too-thin bar widths of joined series with null values (#47367) 2022-04-05 20:24:05 -05:00
Alexander Weaver
dde0b93cf1 Alerting: Provisioning API - Notification Policies (#46755)
* Base-line API for provisioning notification policies

* Wire API up, some simple tests

* Return provenance status through API

* Fix missing call

* Transactions

* Clarity in package dependencies

* Unify receivers in definitions

* Fix issue introduced by receiver change

* Drop unused internal test implementation

* FGAC hooks for provisioning routes

* Polish, swap names

* Asserting on number of exposed routes

* Don't bubble up updated object

* Integrate with new concurrency token feature in store

* Back out duplicated changes

* Remove redundant tests

* Regenerate and create unit tests for API layer

* Integration tests for auth

* Address linter errors

* Put route behind toggle

* Use alternative store API and fix feature toggle in tests

* Fixes, polish

* Fix whitespace

* Re-kick drone

* Rename services to provisioning
2022-04-05 16:48:51 -05:00
gotjosh
cb6124c921 Alerting: Accurately set value for prom-compatible APIs (#47216)
* Alerting: Accurately set value for prom-compatible APIs

Sets the value fields for the prometheus compatible API based on a combination of condition `refID` and the values extracted from the different frames.

* Fix an extra test

* Ensure a consitent ordering

* Address review comments

* address review comments
2022-04-05 19:36:42 +01:00
ying-jeanne
c525db9cd8 fallback to the v8 logging behavior (#47353) 2022-04-05 20:15:41 +02:00
achatterjee-grafana
4f7dae3e6b update alertmanager topic (#47348) 2022-04-05 13:19:34 -04:00
Ivana Huckova
82aa31df36 Loki: Add missing functions to query builder (#47333) 2022-04-05 19:15:22 +02:00
Timur Olzhabayev
901e8a74f9 Adding drone file generation pre-commit hook (#47344) 2022-04-05 19:06:31 +02:00
achatterjee-grafana
668df49801 renamed file names, by replacing cortex with mimir (#47340) 2022-04-05 12:07:58 -04:00
Josh Hunt
1b27e55e5a Analytics: Identify users to Rudderstack by externalUserId where available (#47325)
* wip

* tests

* move util, fix test

* fixes

* Update public/app/core/services/echo/utils.ts

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2022-04-05 17:41:22 +02:00
Braden Snell
3fff301367 Plugins: Pass OAuth Token to CallResource Function (#47028)
* adds oauth support to call resource requests

* adds oauth docs for call resource

* fixes case where dsUID is empty

* improve datasource error handling
2022-04-05 17:40:34 +02:00
Ashley Harrison
9b61f1cd9f close when clicking just the icon (#47331) 2022-04-05 16:16:05 +01:00
Adam Gabryś
a5b2ef3116 Doc: display the use active voice table correctly (#47302)
The table had in two rows an additional column. It was breaking the markdown formatting. The unused column has been removed and the table is displayed correctly now.
2022-04-05 11:11:10 -04:00
Ivana Huckova
6938d5b975 Loki: Show error when parsing nodes not supported in visual query builder (#47321)
* Show error when parsing nodes not supported in visual query builder

* Refactor, simplify

* Spell fix

* Spell fix
2022-04-05 17:07:13 +02:00
Ashley Harrison
b6a184996b Implement hover states + remove some old code to do with pinning (#47328) 2022-04-05 15:53:23 +01:00
Joao Silva
d311a3bef5 Navigation: Keeps nav item hover when hovering over the item menu (#47281) 2022-04-05 15:38:58 +01:00
achatterjee-grafana
c1c78bbc32 replaced references to Cortex with Mimir (#47293)
* replaced references to Cortex with Mimir

* Updated some links to Cortex documentation.

* Update docs/sources/alerting/_index.md

Co-authored-by: Ursula Kallio <ursula.kallio@grafana.com>

* Update docs/sources/alerting/unified-alerting/alerting-rules/_index.md

Co-authored-by: Ursula Kallio <ursula.kallio@grafana.com>

* Update docs/sources/alerting/unified-alerting/alerting-rules/create-cortex-loki-managed-recording-rule.md

Co-authored-by: Ursula Kallio <ursula.kallio@grafana.com>

* Update docs/sources/alerting/unified-alerting/alerting-rules/create-cortex-loki-managed-recording-rule.md

Co-authored-by: Ursula Kallio <ursula.kallio@grafana.com>

* Update docs/sources/alerting/unified-alerting/alerting-rules/create-cortex-loki-managed-recording-rule.md

Co-authored-by: Ursula Kallio <ursula.kallio@grafana.com>

* Update docs/sources/alerting/unified-alerting/alerting-rules/create-cortex-loki-managed-rule.md

Co-authored-by: Ursula Kallio <ursula.kallio@grafana.com>

* Update docs/sources/alerting/unified-alerting/alerting-rules/create-cortex-loki-managed-rule.md

Co-authored-by: Ursula Kallio <ursula.kallio@grafana.com>

* Update docs/sources/alerting/unified-alerting/alerting-rules/create-cortex-loki-managed-rule.md

Co-authored-by: Ursula Kallio <ursula.kallio@grafana.com>

* Update docs/sources/alerting/unified-alerting/alerting-rules/edit-cortex-loki-namespace-group.md

Co-authored-by: Ursula Kallio <ursula.kallio@grafana.com>

* Update docs/sources/alerting/unified-alerting/alerting-rules/edit-cortex-loki-namespace-group.md

Co-authored-by: Ursula Kallio <ursula.kallio@grafana.com>

* Update docs/sources/alerting/unified-alerting/alerting-rules/rule-list.md

Co-authored-by: Ursula Kallio <ursula.kallio@grafana.com>

* Update docs/sources/datasources/prometheus.md

Co-authored-by: Ursula Kallio <ursula.kallio@grafana.com>

* Update docs/sources/alerting/unified-alerting/alerting-rules/create-cortex-loki-managed-recording-rule.md

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* Update docs/sources/alerting/unified-alerting/alerting-rules/create-cortex-loki-managed-recording-rule.md

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* Update docs/sources/alerting/unified-alerting/_index.md

Co-authored-by: Ursula Kallio <ursula.kallio@grafana.com>

* Update docs/sources/alerting/unified-alerting/alerting-rules/_index.md

Co-authored-by: Ursula Kallio <ursula.kallio@grafana.com>

* Update docs/sources/alerting/unified-alerting/alerting-rules/create-cortex-loki-managed-recording-rule.md

Co-authored-by: Ursula Kallio <ursula.kallio@grafana.com>

* Update docs/sources/alerting/unified-alerting/difference-old-new.md

Co-authored-by: Ursula Kallio <ursula.kallio@grafana.com>

* Update docs/sources/datasources/alertmanager.md

Co-authored-by: Ursula Kallio <ursula.kallio@grafana.com>

* Update docs/sources/alerting/unified-alerting/fundamentals/alertmanager.md

Co-authored-by: Ursula Kallio <ursula.kallio@grafana.com>

* Update docs/sources/alerting/unified-alerting/alerting-rules/create-cortex-loki-managed-rule.md

Co-authored-by: Ursula Kallio <ursula.kallio@grafana.com>

* Update docs/sources/alerting/unified-alerting/alerting-rules/create-cortex-loki-managed-rule.md

Co-authored-by: Ursula Kallio <ursula.kallio@grafana.com>

* Update docs/sources/alerting/unified-alerting/alerting-rules/create-cortex-loki-managed-rule.md

Co-authored-by: Ursula Kallio <ursula.kallio@grafana.com>

* Update docs/sources/alerting/unified-alerting/alerting-rules/create-cortex-loki-managed-rule.md

Co-authored-by: Ursula Kallio <ursula.kallio@grafana.com>

* Update docs/sources/alerting/unified-alerting/alerting-rules/edit-cortex-loki-namespace-group.md

Co-authored-by: Ursula Kallio <ursula.kallio@grafana.com>

* Update docs/sources/alerting/unified-alerting/alerting-rules/edit-cortex-loki-namespace-group.md

Co-authored-by: Ursula Kallio <ursula.kallio@grafana.com>

* Update docs/sources/alerting/unified-alerting/alerting-rules/edit-cortex-loki-namespace-group.md

Co-authored-by: Ursula Kallio <ursula.kallio@grafana.com>

* Update docs/sources/alerting/unified-alerting/alerting-rules/edit-cortex-loki-namespace-group.md

Co-authored-by: Ursula Kallio <ursula.kallio@grafana.com>

* Update docs/sources/alerting/unified-alerting/alerting-rules/rule-list.md

Co-authored-by: Ursula Kallio <ursula.kallio@grafana.com>

* Update docs/sources/alerting/unified-alerting/difference-old-new.md

Co-authored-by: Ursula Kallio <ursula.kallio@grafana.com>

* Update docs/sources/alerting/unified-alerting/alerting-rules/create-cortex-loki-managed-rule.md

Co-authored-by: Ursula Kallio <ursula.kallio@grafana.com>

* Update docs/sources/alerting/unified-alerting/alerting-rules/edit-cortex-loki-namespace-group.md

Co-authored-by: Ursula Kallio <ursula.kallio@grafana.com>

Co-authored-by: Ursula Kallio <ursula.kallio@grafana.com>
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2022-04-05 10:22:43 -04:00
Shirley
91bfd7fbf0 Chore: Add code coverage workflow for cloud data sources (#47048) 2022-04-05 16:13:18 +02:00
Josh Hunt
71db5115f4 User: Expose GCOM user ID as externalUserId in grafanaBootData (#47307)
* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* fix sql indtent

Co-authored-by: Joao Silva <joao.silva@grafana.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-04-05 14:44:33 +01:00
Torkel Ödegaard
05098ec38e StatPanel: Fixes font size issue when there is only 1 sparkline data point (#47075)
* StatPanel: Fixes font size issue when there is only 1 sparkline data point

* Fixed wide layout case
2022-04-05 15:34:17 +02:00
Ashley Harrison
8ede6161d4 Navigation: implement underlay (#47311)
* Navigation: implement underlay

* abstract out animation duration and add box-shadow

* rename underlay to backdrop, better syntax for composing css
2022-04-05 14:21:22 +01:00
Josh Hunt
2fe6eca7a0 NewsPanel: Remove Use Proxy option and update documentation with recommendations (#47189)
* NewsPanel: Remove CORS proxy and update documentation with recommendations

* Updated generated model

* Update news-panel.md

* Update docs/sources/visualizations/news-panel.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/visualizations/news-panel.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update news-panel.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2022-04-05 15:16:28 +02:00
Ivana Huckova
c5ac19d499 Loki: Add all supported parsers to query builder (#47304)
* Loki: Add all supported parsers to query builderr

* Update test

* Add tests for new parsers
2022-04-05 14:52:06 +02:00
Kelsey Duffy
fea4d1f57a Toolkit: Update simple-git to 3.5.0 (#47139) 2022-04-05 14:43:14 +02:00
Jguer
90a94eab74 Dashboard/Folder permission fix session (#47174)
* Fix inherited scopes for dashboard to use folder uid

* Add inherited evaluators

* Slight modification of the commments

* Add test for inheritance

* Nit.

* extract shared function from tests

* Nit. Extra line

* Remove unused comment

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
Co-authored-by: gamab <gabi.mabs@gmail.com>
2022-04-05 14:28:23 +02:00
Oscar Kilhed
910ed77e16 Limit tooltip size to window size (#47303) 2022-04-05 13:35:02 +02:00
Ezequiel Victorero
6a059dcb4d Access Control: hiding add annotation button without permissions (#47223)
* Access Control: hiding add annotation button without permissions
2022-04-05 08:20:10 -03:00
Serge Zaitsev
bf9e0e8bc8 Chore: Remove some bus from login package (login attempts) (#47310) 2022-04-05 13:07:27 +02:00
Gabriel Bernal
f722986b83 Build: update vulnerable node-fetch dependency (#46724)
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2022-04-05 12:43:28 +02:00
renovate[bot]
e1d4666e17 Update dependency moveable to v0.28.0 (#46509)
* Update dependency moveable to v0.28.0

* Update yarnrc file as well

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2022-04-05 12:34:17 +02:00
renovate[bot]
ab59eae06a Update dependency @microsoft/api-extractor-model to v7.16.0 (#47091)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-05 12:32:59 +02:00
Gábor Farkas
96987ac182 loki: add test to handle __name__ (#47298) 2022-04-05 11:56:54 +02:00
kay delaney
25c91d7bb9 Nav: Capitalize "Dashboards" in "Search Dashboards" (#47289) 2022-04-05 09:17:23 +01:00
kay delaney
2018d83e1c Navigation: Add persistence to collapsible nav items (#47292) 2022-04-05 09:17:02 +01:00
Gabriel MABILLE
e430f5021d AccessControl: Alerting role grants folder read on all folders to viewers (#47278) 2022-04-05 07:04:02 +00:00
Ryan McKinley
110d4661d7 Converter: use streaming JSON parser to construct frames from loki/prometheus responses (#44520) 2022-04-04 17:22:14 -07:00
Cat Perry
b5f2f3e710 Tempo: Traces to Logs - From viewing Tempo traces to displaying Splunk logs (#46855)
* Add functionality to see splunk logs via tempo trace view
2022-04-04 13:24:33 -07:00
Serge Zaitsev
33006436cc Chore: Remove bus.Dispatch from some login packages (#47248)
* Chore: Remove bus.Dispatch from some login packages

* remove debug log

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>

* remove login.Init()

* remove unused reset function

* remove AuthenticateUserFunc global

* swap conditional branches

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>

* fix formatting

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
2022-04-04 20:36:15 +02:00
Konrad Lalik
6992d17924 Alerting: Add support to distinguish Prometheus datasource subtypes (Mimir, Cortex and Vanilla Prometheus) (#46771)
* Add basic UI for custom ruler URL

* Add build info fetching for alerting data sources

* Add keeping data sources build info in the store

* Use data source build info to construct data source urls

* Remove unused code

* Add custom ruler support in prometheus api calls

* Migrate actions

* Use thunk condition to prevent multiple data source buildinfo fetches

* Unify prom and ruler rules loading

* Upgrade RuleEditor tests

* Upgrade RuleList tests

* Upgrade PanelAlertTab tests

* Upgrade actions tests

* Build info refactoring

* Get rid of lotex ruler support action

* Add prom ruler availability checking when the buildinfo is not available

* Add rulerUrlBuilder tests

* Improve prometheus data source validation, small build info refactoring

* Change prefix based on Prometheus subtype

* Use the correct path

* Revert config routing

* Add deprecation notice for /api/prom prefix

* Add tests to the datasource subtype

* Remove custom ruler support

* Remove deprecation notice

* Prevent fetching ruler rules when ruler api is not available

* Add build info tests

* Unify naming of ruler methods

* Fix test

* Change buildinfo data source validation

* Use strings for subtype params and unveil mimir

* organise imports

* frontend changes and wordsmithing

* fix test suite

* add a nicer verbose message for prometheus datasources

* detect Mimir datasource

* fix test

* fix buildinfo test for Mimir

* shrink vectors

* add some code documentation

* DRY prepareRulesFilterQueryParams

* clarify that Prometheus does not support managing rules

* Improve buildinfo error handling

Co-authored-by: gotjosh <josue.abreu@gmail.com>
Co-authored-by: gillesdemey <gilles.de.mey@gmail.com>
2022-04-04 18:30:17 +01:00
Ivana Huckova
4c6d2ce618 Loki: Parse query with unwrap (#47282)
* Loki: Parse simple unwrap

* Update public/app/plugins/datasource/loki/querybuilder/parsing.ts

* Simplify
2022-04-04 18:44:23 +02:00
Ivana Huckova
f8b9bf543b Loki: Replace auto with (#47283) 2022-04-04 18:43:37 +02:00
Ivana Huckova
24cf70dd29 Loki: Add parsing for vector aggregations with grouping (#47257)
* Parse aggregations with grouping

* Move getByType to shared parsing utils
2022-04-04 18:11:15 +02:00
Eric Leijonmarck
78bdcede70 Service accounts: polish UI and refactoring (#47269)
* no other tab has title

* made Add service button not visable and upper right

* renaming and added space between token number

* aligned button (:css:)

* refactor: out component listitem

* unused import
2022-04-04 17:09:51 +01:00
Isabella Siu
b1c68b5a12 CloudWatch: filter alert queries (#47222) 2022-04-04 12:06:31 -04:00
Ashley Harrison
1c34cc8b91 Navigation: Put expand toggle at beginning of tab order (#47268)
* Put toggle at beginning of tab order

* create NavBarToggle

* move margin into the common component

* lint fixes
2022-04-04 16:51:24 +01:00
Gilles De Mey
322a14fe6e Alerting: fix flakey default time range assertion (#47262) 2022-04-04 17:35:53 +02:00
Derik Evangelista
8428446466 table panel: assume string dates to be on UTC (#47246)
* add tests for display processor relating to datetimes as strings

Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
2022-04-04 16:05:06 +01:00
Ezequiel Victorero
76b221e9d5 Access Control: hiding annotation edition and deletion without permissions (#46904)
* Access Control: disabling annotation edition without FGAC permissions
2022-04-04 11:57:43 -03:00
Isabella Siu
f8d11fbef9 CloudWatch: use custom variable editor (#46943) 2022-04-04 10:39:31 -04:00
Leon Sorokin
c55be51f1e StateTimeline: insert terminating null value for 1-datapoint frames (#47240) 2022-04-04 08:22:00 -06:00
Ivana Huckova
5ba9ccb5a7 Loki: Add label_replace option to query builder (#47247)
* Add label_replace operation

* Update
2022-04-04 16:20:19 +02:00
Ashley Harrison
962eba39ac Navigation: Make expandable menu items fill content properly (#47264) 2022-04-04 14:48:58 +01:00
Ashley Harrison
56176e320b Navigation: Fix menu scrolling in expanded menu (#47261) 2022-04-04 14:48:48 +01:00
Gabriel Santos
b5bacce819 CloudWatch: Handle new error codes for MetricInsights (#47033)
* CloudWatch: Handle new error codes for MetricInsights

* Changes/test to support case where only the first GetMetricDataOutput returns errors and refactoring

* Fix Potential file inclusion via variable

* Fix gosec 304 by assigning a new variable

* fix goimports issue
2022-04-04 15:44:19 +02:00
Lee Jones
04d1c4a6d4 Fix typo in library panel docs (#47217) 2022-04-04 07:59:58 -05:00
Ieva
bc9b5325a0 update docs, simplify actions and scopes (#47067) 2022-04-04 13:53:58 +01:00
Gilles De Mey
473fa6d997 Alerting: add Mimir to the list of cloud rules (#47258) 2022-04-04 12:04:03 +00:00
Gábor Farkas
fdb7bab41a Loki: do not special-case __name__ label (#47251)
* loki: do not mutate the caller's data

* Update public/app/plugins/datasource/loki/result_transformer.ts

better comment

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>

* Update public/app/plugins/datasource/loki/result_transformer.ts

no need to handle __name__

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>

* simplify code

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2022-04-04 13:52:55 +02:00
Marcus Efraimsson
659cf17e10 Logging: Fix syslog messages should be sent with correct severity (#47209) 2022-04-04 12:51:14 +02:00
Josh Hunt
8f1b208a35 Chore: Report betterer stats in ci-frontend-metrics (#47210)
* Chore: Report betterer stats to graphite

* PR feedback

* use camelCase from lodash instead
2022-04-04 12:43:23 +02:00
Marcus Efraimsson
b4346a5613 Logging: Fixes filtering logs based on gokitlog levels (#47195) 2022-04-04 12:36:17 +02:00
Sergey Kostrukov
5675496f6b Migrate to Grafana Azure SDK (#47232) 2022-04-04 11:23:13 +02:00
Dominik Prokop
a55274a72d TimeSeries: Sort tooltip values based on raw values (#46738)
* TimeSeries: Fix tooltip values sorting

* Update packages/grafana-ui/src/components/uPlot/plugins/TooltipPlugin.tsx

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>

* Review

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2022-04-04 02:18:29 -07:00
CommanderRoot
d29b8e8858 Chore: Replace deprecated String.prototype.substr() (#46763)
.substr() is deprecated so we replace it with .slice() which works similarily but isn't deprecated
Signed-off-by: Tobias Speicher <rootcommander@gmail.com>
2022-04-04 11:08:06 +02:00
Leon Sorokin
ed140906de HeatmapNG: implement zooming & fix heatmap-buckets rendering (#47231) 2022-04-01 21:54:44 -06:00
Yuriy Tseretyan
e94d0c1b96 Alerting: update rule test endpoints to respect data source permissions (#47169)
* make eval.Evaluator an interface
* inject Evaluator to TestingApiSrv
* move conditionEval to RouteTestGrafanaRuleConfig because it is the only place where it is used
* update rule test api to check data source permissions
2022-04-02 02:00:23 +02:00
Yuriy Tseretyan
51114527dc Alerting: handle folder permissions when fine-grained access enabled (#47035)
* Use alert:create action for folder search with edit permissions. This matches the action that is used to query dashboards (the update will be addressed later)
* Update rule store to use FindDashboards instead of folder service to list folders the user has access to view alerts. Folder service does not support query type and additional filters. 
* Do not check whether the user can save to folder if FGAC is enabled because it is checked on API level.
2022-04-01 19:33:26 -04:00
Dan Cech
5c3308c6f3 add ability to pass builds flags/tags to go via make, update bra config (#46787) 2022-04-01 19:01:05 -04:00
Ryan McKinley
4c89c8c468 Heatmap: make x axis a time field (#47168) 2022-04-01 13:54:16 -07:00
Andrej Ocenas
1110666b6b Loki: Fix parsing chained and scalar binary queries (#47132)
* Fix bin parsing for more cases

* Add test for some utils

* Removing console.log

* Simplify some code and fix typing

* Rename function
2022-04-01 18:33:09 +02:00
Andrej Ocenas
ba2332eb96 Prometheus: bool bin op improvements (#47198)
* Change param order

* Align tooltip icon styling
2022-04-01 17:51:50 +02:00
Erik Sundell
07bb5b37a5 make tooltip tabable (#47137) 2022-04-01 17:23:13 +02:00
Eric Leijonmarck
07aa1349d8 fix: error when licensing was not checked (#47201) 2022-04-01 16:57:02 +02:00
Alexander Weaver
7555ff2087 Alerting squad owns alerting integration tests + autolabels (#47166) 2022-04-01 09:49:06 -05:00
Armand Grillet
3e9dfcd730 Optimize CodeQL workflow (#47095)
* Do not run CodeQL analysis when updating .cue file

* Remove autobuild step for CodeQL workflow as unecessary

* Add specialized CodeQL workflow

* Updated main CodeQL workflow to not run on PRs

* Simplify CodeQL analysis on PR

* Add .tsx file format to JS CodeQL analysis match
2022-04-01 16:40:25 +02:00
Peter Holmberg
cb03b05ced Alerting: Add yaml editor to cloud rules (#46533)
* ruleinspector component

* Adding yaml component

* setvalues

* update yarn.lock

* bump types

* chore: update lockfile

* move apply button position

* move button back to tab

Co-authored-by: gillesdemey <gilles.de.mey@gmail.com>
2022-04-01 16:34:08 +02:00
Andres Martinez Gotor
7b30fae36f Cloudwatch: Improve alerting related docs (#47178) 2022-04-01 15:49:09 +02:00
Yuriy Tseretyan
8a2c368031 check that user is authorized to create\update silences (#47163) 2022-04-01 09:39:59 -04:00
Andres Martinez Gotor
f220b24d9d Docs: Development with local Grafana (#47121) 2022-04-01 15:23:23 +02:00
Dimitris Sotirakis
305530224a Run slack notify on OSS repo only (#47194) 2022-04-01 14:20:26 +02:00
Yaelle Chaudy
d217d2aa40 A11y : Fix a11y in CollapsibleSection (#46455)
* Fix a11y in CollapsibleSection

* Added type to button to avoid form submit on enter
2022-04-01 14:00:09 +02:00
Sergey Kostrukov
656ade9884 Shared Azure middleware between Azure Monitor and Prometheus datasources (#46002)
* Scopes in Azure middleware

* Enable Azure middleware without feature flag

* Use common Azure middleware in Azure Monitor

* Apply feature flag to JsonData configuration of Azure auth

* Enforce feature flag in Prometheus datasource

* Prometheus provider tests

* Datasource service tests

* Fix http client provider tests

* Pass sdkhttpclient.Options by reference

* Add middleware to httpclient.Options

* Remove dependency on Grafana settings

* Unit-tests updated

* Fix ds_proxy_test

* Fix service_test
2022-04-01 13:26:49 +02:00
Marcus Efraimsson
16db1ad46d API: Fixes request logging middleware to include userId, orgId, uname (#47183)
Fixes #47006
2022-04-01 13:24:39 +02:00
Ashley Harrison
9d3b701797 Accessibility: Trap focus correctly in dashboard settings (#47149)
* Accessibility: Trap focus correctly in search + dashboard settings

* add accessible names for the overlays

* Undo changes to search

* missed a bit
2022-04-01 11:44:48 +01:00
Ashley Harrison
e0457665f6 Navigation: prevent navbar from showing when .sidemenu-hidden is set (#47134) 2022-04-01 11:27:53 +01:00
Ashley Harrison
4958f932aa wrap icons in a div to ensure they're centred (#47136) 2022-04-01 11:27:46 +01:00
Maria Alexandra
7ae72e1195 Navigation: Refactor existing menu to allow for scrolling (#47076)
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Co-authored-by: Joao Silva <joao.silva@grafana.com>
2022-04-01 11:24:52 +01:00
kay delaney
83140f7369 Navigation: Fix layout shift for long collapse content (#47161) 2022-04-01 10:42:19 +01:00
Dimitris Sotirakis
eea20c4446 Remove check (#47173) 2022-04-01 10:02:49 +02:00
Alexander Weaver
b8e277ee4c Alerting: Create feature toggle for provisioning (#47167)
* Create feature flag for alerting provisioning

* Fix tabs for golint compliance
2022-04-01 08:32:00 +02:00
Ryan McKinley
38dc34359b Search: show dashboards form query (#47085) 2022-03-31 14:38:46 -07:00
Yaelle Chaudy
00ec99a8a1 Added button type to avoid trigger on enter (#47147) 2022-03-31 21:05:05 +02:00
Santiago
4b1af6fb06 Fix empty contact point URLs when template parsing fails (#47029)
* fix empty URLs

* leave URL templating, use fallback

* better fix, new tests cases

* fix linting errors
2022-03-31 15:57:48 -03:00
Alexander Kubyshkin
f849aa31a0 Fix operator description popup in Log Browser shortened (#46574). (#46575) 2022-03-31 19:21:30 +01:00
Gábor Farkas
a246381879 loki: backend-mode: add stats support (#46526)
* loki: backend-mode: add stats support

* refactor: rename variable
2022-03-31 17:50:27 +02:00
Kevin Yu
1a4b1184bd Azure Monitor: allow metrics call to use resource uri (#46858)
* Azure Monitor: allow metrics call to use resource uri

* test case when only resource uri is provided

* remove logs

* Rename json field name from resource to resourceUri

* Group legacy URL builder params test cases

* move comment to the correct position

* Add clarifications in comments

Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>

Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>
2022-03-31 08:20:29 -07:00
Dominik Prokop
65fdc51052 Bump latest.json (#47151) 2022-03-31 17:02:27 +02:00
Ashley Harrison
eddefdc274 Variables: Ensure variables in query params are correctly recognised (#47049)
* user essentials mob! 🔱

* user essentials mob! 🔱

* update comment

Co-authored-by: kay delaney <kay@grafana.com>
Co-authored-by: Alexandra Vargas <alexa1866@gmail.com>

Co-authored-by: joshhunt <josh@trtr.co>
Co-authored-by: kay delaney <kay@grafana.com>
Co-authored-by: Alexandra Vargas <alexa1866@gmail.com>
2022-03-31 15:59:14 +01:00
Grot (@grafanabot)
bea392eabf ReleaseNotes: Updated changelog and release notes for 8.4.5 (#47145) 2022-03-31 07:43:08 -07:00
Joe Blubaugh
c5cfc1645a packages/grafana-data/text: Improve escaping for special characters (#47066)
FilterInput escapes all input strings for special characters that might
be used in a RegExp by calling escapeStringForRegex, and using
unEscapeStringFromRegex for display. Both of these functions used
string.prototype.replace() for escaping. replace() only replaces the
first occurence of a search string unless called with a global RegExp.
The output of these functions was not necessarily safe to compile into a
RegExp literal.

This change creates RegExps for escapeStringForRegex and
unEscapeStringFromRegex to match all occurrences of the special
characters instead of just their first occurrence. This makes a variety
of strings safe for RegExp compilation.
2022-03-31 22:34:34 +08:00
Connor Lindsey
5a87d12e8c Tempo: Download span references in data inspector (#47074)
* Tempo: Download span references in data inspector
2022-03-31 08:30:22 -06:00
Ashley Harrison
a571fcda6e knock back the color of the navbar toggle (#47131) 2022-03-31 14:35:38 +01:00
Peter Holmberg
32ad1199e1 Alerting: Colorize labels and matchers (#46678)
* Replace AlertLabel with TagsList

* left align labels

* restart drone
2022-03-31 15:20:57 +02:00
kay delaney
54b1d88c44 Navigation: Add animation when closing nav menu (#47128) 2022-03-31 14:42:38 +02:00
Dimitris Sotirakis
ee92af8ebe Add dependencies (#47126) 2022-03-31 15:04:05 +03:00
Ashley Harrison
6b2e1c6187 Navigation: lower expandable navbar z-index (#47125) 2022-03-31 13:03:23 +01:00
Ashley Harrison
0cde5908ca Navigation: fix gap at top of menu (#47123) 2022-03-31 13:03:13 +01:00
Ashley Harrison
7d9f22fa59 Navigation: add border in collapsed state (#47122) 2022-03-31 12:05:24 +01:00
felixdoerre
f5a790e291 Fix postgresql host-v6 literals (#46876)
Ipv6 literals in postgresql hosts previously worked and were subsequently
broken. This change fixes the parsing and adds additional test cases.
2022-03-31 11:45:49 +01:00
Gabriel MABILLE
0d87de153a AccessControl: Add a feature flag for the builtin role simplification (#47062)
* AccessControl: Add a feature flag for the builtin role simplification

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

* Update standardDeatureFlags instead

Co-authored-by: Jguer <joao.guerreiro@grafana.com>
2022-03-31 11:40:57 +02:00
Ashley Harrison
3d23722b30 Update @types/lodash everywhere (#47020)
* Update @types/lodash everywhere

* Update @grafana/e2e as well
2022-03-31 10:19:33 +01:00
Joao Silva
0e93fe7e07 Text Panel: Fixes mailto links not working (#47025) 2022-03-31 10:00:33 +01:00
George Robinson
79769132c0 Alerting: Alert rule should wait For duration when execution error state is Alerting (#47052)
Alerting: Alert rule should wait For duration when execution error state is Alerting
2022-03-31 09:57:58 +01:00
Ivana Huckova
554492ec4e Loki: Add parsing of query to visual query (#46700)
* Create parser

* Add parsing

* Update comment

* Remove operations that we don't support

* Resolve type errors

* Update test

* Handle backticks

* Handle backticks

* Remove copied test, update test

* Parsing for binary operations

* Remove error about setting state after unmount

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2022-03-31 10:51:49 +02:00
Gábor Farkas
2d61022d93 logs: better handle missing fields (#46963) 2022-03-31 10:48:03 +02:00
Joey Tawadrous
58922d78df Traceview find: background color and prev/next (#46527)
* Next/prev buttons

* expand

* Sticky search bar

* Removed anys

* testing

* testing

* Tests for next/prev/suffix

* More tests

* Span bar row color

* Add clear to input and update search bar styles

* Update test

* PR changes

Co-authored-by: Connor Lindsey <cblindsey3@gmail.com>
2022-03-31 09:43:59 +01:00
Torkel Ödegaard
4d0204d012 Prometheus: Highlight run query after changing query (#47043)
* Prometheus: Highlight run query after changing query

* fixed ts issue

* Updated
2022-03-31 10:14:13 +02:00
Dimitris Sotirakis
65b0bd3017 CI: Update grabpl version - remove --no-pull-enterprise flag (#47013)
* Update grabpl version

* Sign drone

* Remove --no-pull-enterprise flag

* Sign drone

* Update grabpl
2022-03-31 11:06:59 +03:00
Zoltán Bedi
15b48fc188 Table: Add enable pagination option (#45732)
* Table: Add page size option / pagination

* Update docs/sources/visualizations/table/_index.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* FIx packages build

* Move pagination below footer

* Move styles to tableStyles

* Fix typecheck in jaeger-ui

* Set footer to hide onChange

* Styling tweaks

* Center paging

* Tweaks

* Change pageSize to enablePagination

* Move header and footer options to a separate category

* Fix performance and styling issue for the pagination

* Some more styling and tweaking

* Fix tests

* Update docs/sources/visualizations/table/_index.md

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>

* Update docs/sources/visualizations/table/_index.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2022-03-31 09:36:04 +02:00
Alexander Weaver
502cf8b37f Alerting: Unify Swagger/OpenAPI generation tooling (#46928)
* Unify makefiles

* Improve documentation
2022-03-31 09:34:46 +02:00
Giordano Ricci
6565d0ee64 Explore: move Time picker next to run button (#47082) 2022-03-31 02:04:17 +01:00
Adela Almasan
dea9b51a0f Resize map on changing browser size (#47084) 2022-03-30 17:39:28 -05:00
Nathan Marrs
85286a5182 Search v2: encode query in url (#47078) 2022-03-30 13:00:40 -07:00
Ryan McKinley
abeb08bc98 PanelInspect: show dataframe JSON in JSON view (#47071) 2022-03-30 19:58:49 +02:00
Joao Silva
ebc2f9e4fc Grafana-UI: Fix TimeSeries not updating when timeZone is changed (#46728) 2022-03-30 18:09:03 +01:00
Ryan McKinley
edf384c730 DashboardSave: use a feature flag for drawer behavior (#46972) 2022-03-30 10:07:41 -07:00
kay delaney
f486b54b84 Navigation: Rough implementation of new navbar design (#46909) 2022-03-30 18:05:52 +01:00
Nathan Marrs
4449439a41 Search: Implement basic improved UI (#46758) 2022-03-30 09:50:32 -07:00
Adela Almasan
851c54b3b1 Call optionsChanged when props options have changed (#47031) 2022-03-30 11:15:42 -05:00
Gilles De Mey
18862a22a6 Alerting: use mimir logo (#47063) 2022-03-30 17:57:18 +02:00
Will Browne
572ca553b6 Plugins: Add deprecation notice for /api/tsdb/query endpoint (#45238)
* add deprecation notice for /api/tsdb/query

* fix linking

* regenerate after gen-go

* add newline

* add API docs for ds/query

* regenerate spec

* pr feedback

* add helpful tip

* make sub heading

* add more data

* update spec

* update wording

* mention both from/to

* add suggestions

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

* docs feedback

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-03-30 17:46:06 +02:00
Selene
8e52dbb87b Chore: Remove bus from authproxy (#46936)
* Make authproxy injectable

* Fix import

* Provide function was in wrong place

* Fixing tests

* More imports and rollback a change

* Fix lint
2022-03-30 17:01:24 +02:00
Adela Almasan
118b87ee8f Geomap: Display legend (#46886)
* Display legend for fixed colors and field; Hide tooltip on base layer;
2022-03-30 09:41:13 -05:00
Dirkco du Plessis
b52794601d mssql: explicit disable encryption when its disabled (#46546) 2022-03-30 15:14:04 +01:00
achatterjee-grafana
d3b2ffed35 replaced ascii image with png image (#47032) 2022-03-30 09:15:07 -04:00
Karl Persson
a5e4a533fa Access control: use uid for dashboard and folder scopes (#46807)
* use uid:s for folder and dashboard permissions

* evaluate folder and dashboard permissions based on uids

* add dashboard.uid to accept list

* Check for exact suffix

* Check parent folder on create

* update test

* drop dashboard:create actions with dashboard scope

* fix typo

* AccessControl: test id 0 scope conversion

* AccessControl: store only parent folder UID

* AccessControl: extract general as a constant

* FolderServices: Prevent creation of a folder uid'd general

* FolderServices: Test folder creation prevention

* Update pkg/services/guardian/accesscontrol_guardian.go

* FolderServices: fix mock call expect

* FolderServices: remove uneeded mocks

Co-authored-by: jguer <joao.guerreiro@grafana.com>
2022-03-30 15:14:26 +02:00
Will Browne
56e9c24f08 Plugins: Include decommissioned plugins when ignoring plugins during re-loading (#46958) 2022-03-30 15:05:12 +02:00
Will Browne
23dde457ef Plugins: Don't start runner ticker for Core plugins (#46964)
* Plugins: Don't start runner ticker for Core plugins

* add test

* correct start check in test
2022-03-30 14:48:49 +02:00
Alex Khomenko
114704e2e2 Feature Highlights: update components (#46920)
* Apply new upgrade styles

* Add caption/update pro badge color

* Update team sync upgrade page

* Add UpgradeContentVertical

* Update public/app/core/components/Upgrade/UpgradeBox.tsx

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>

* Update screenshots

* Update screenshots[2]

* Scroll screenshot if doesnt fit

* Add missing target prop

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
2022-03-30 14:46:56 +02:00
Armand Grillet
42e090cda8 Do not run CodeQL analysis when some file types are updated (#47051)
This follows the recommendation in the GitHub Docs "Configuring code scanning" > "Avoiding unnecessary scans of pull requests".
2022-03-30 13:12:59 +02:00
Will Browne
42533dc973 Plugins: split manager.go into areas of responsibility (#46957) 2022-03-30 12:46:31 +02:00
kay delaney
f1c3177e79 Chore: Add type info for grafana boot data (#45322)
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2022-03-30 10:48:58 +01:00
Armand Grillet
6889e39526 Add area/alerting label for alerting PRs (#47038) 2022-03-30 11:00:11 +02:00
Dimitris Sotirakis
a6f7bc4a5a Fix prettier:checkDocs command (#47044) 2022-03-30 11:44:18 +03:00
Torkel Ödegaard
21fd9dd056 Loki: Adds line format operation (#47015) 2022-03-30 09:11:36 +02:00
Leon Sorokin
475a027562 Prometheus: make JS heatmap response a single-frame (field-per-bucket) (#46611) 2022-03-29 22:23:08 -06:00
Nathan Marrs
c5f1dfbe55 Fix frontend lint by running prettier on file with issue (#47034) 2022-03-29 17:31:27 -07:00
Christopher Moyer
3a21bc3285 Docs: adds aliases to manage orgs docs (#47022)
* adds aliases to manage orgs docs

* Update docs/sources/administration/manage-organizations/_index.md

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-03-29 15:19:34 -05:00
Nate Walters
bdf8ec42bd Delete docs/sources/copyright directory (#44937)
Removing copyright directory per https://raintank-corp.slack.com/archives/CH34H23HD/p1643999482151029
2022-03-29 22:08:37 +02:00
gotjosh
84e5f336fe Alerting: Classic conditions can now display multiple values (#46971)
* Alerting: Extract classic condition values by RefID

* uncapitalise function

* update documentation

* Update pkg/services/ngalert/eval/extract_md.go

Co-authored-by: George Robinson <george.robinson@grafana.com>

* Update pkg/services/ngalert/state/state.go

Co-authored-by: George Robinson <george.robinson@grafana.com>

* Update pkg/services/ngalert/state/state.go

Co-authored-by: George Robinson <george.robinson@grafana.com>

* Update pkg/services/ngalert/eval/extract_md.go

Co-authored-by: George Robinson <george.robinson@grafana.com>

* Update docs/sources/alerting/unified-alerting/alerting-rules/alert-annotation-label.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update pkg/services/ngalert/eval/extract_md.go

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Run prettier

Co-authored-by: George Robinson <george.robinson@grafana.com>
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2022-03-29 20:33:03 +01:00
Torkel Ödegaard
feaa4a5c64 Loki: Support binary operations and nested queries in new builder (#47012)
* Binary ops support

* Add support for nested expressions in loki

* Nested queries working

* Fixing tests

* Share more code between loki and prometheus query modellers
2022-03-29 18:50:07 +02:00
Andrej Ocenas
10d8ccc8ff Loki: Return false from isMetricsQuery if query is empty (#47024) 2022-03-29 18:18:43 +02:00
renovate[bot]
6c86f26881 Update dependency ol to v6.14.1 (#46982)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-29 08:50:04 -07:00
Torkel Ödegaard
5f9cd7b875 Loki: Add aggregate by label support (#46965)
* Loki: Add aggregate by label support

* Label lookups now work for loki

* Fixed ts issue

* review comment fixed
2022-03-29 17:49:21 +02:00
Cameron Waterman
8426cfe400 Profile/Help: Expose option to disable profile section and help menu (#46308)
* Expose option to disable help menu

* Expose option to disable profile menu

* Add Profile FeatureTogglePage

* Update public/app/features/profile/FeatureTogglePage.tsx

Uptake PR wording suggestion.

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Fix front end lint issue

* Fix back end lint issue

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2022-03-29 16:27:53 +01:00
Matthew Jacobson
932f43b220 Alerting: Add resolved count to notification title when both firing and resolved present (#46697)
* Alerting: Add resolved count to notification title when both firing and resolved are present

* Fix test case default_template_test.go
2022-03-29 11:22:28 -04:00
Andres Martinez Gotor
48113beeeb AzureMonitor: Fix missing top parameter when dimensions are set (#47010) 2022-03-29 16:27:09 +02:00
Andres Martinez Gotor
7d2476d045 Collapse: Change icon (#46950) 2022-03-29 16:22:06 +02:00
Ryan McKinley
d1681dcc18 DashboardSave: keep version message (#46966) 2022-03-29 07:11:34 -07:00
Yuriy Tseretyan
c1dbe7617c fix scope for datasource:query action (#46973) 2022-03-29 09:58:59 -04:00
Christopher Moyer
3bcee53478 Docs: organization docs refactor (#46812)
* Docs: organization docs refactor

* fixes misspelling

* Apply suggestions from code review

Co-authored-by: Mitch Seaman <mjseaman@users.noreply.github.com>

* incorporates feedback

* adds resource table

* revamped resource table

Co-authored-by: Mitch Seaman <mjseaman@users.noreply.github.com>
2022-03-29 08:56:01 -05:00
Piotr Jamróz
bf977ac245 Explore: Fix time interpolation (#46737)
* Ensure TemplateService is updated with new time range on each time range change.

* Fix linting errors

* Fix explorePane.test.ts

* Reuse createDefaultInitialState

* Remove unused imports

* Add a test for left/right split

* Silence console.error in tests

* Silence console.error in tests
2022-03-29 15:10:40 +02:00
malcolmholmes
562397ff8b Build: only build on OSS for main/version (#46079)
* Only do main/version builds on OSS repo

* Sign drone

Co-authored-by: Dimitris Sotirakis <sotirakis.dim@gmail.com>
2022-03-29 12:57:54 +00:00
Jack Westbrook
30d0219de8 Chore: Remove deprecated @types/braintree__sanitize-url package (#47003) 2022-03-29 14:57:14 +02:00
Artur Wierzbicki
60984881ec Previews: fix crawler in multi-org deployments (#46967)
* Previews: fix crawler in multi-org deployments

* Previews: fix statement ordering
2022-03-29 13:40:11 +01:00
Joao Silva
8e3b5dce76 Grafana-UI: Fixes timezone offset for default timezone when it is different from browser timezone (#46796) 2022-03-29 12:23:37 +01:00
Ashley Harrison
280b1ee828 Update @types/mousetrap to latest version (#46893)
* Update @types/mousetrap to latest version

* kick drone

* kick drone again

* Remove @types from the import
2022-03-29 12:13:31 +01:00
myml
23a1dbc264 feat: Bar Gauge Support scrolling (#46819)
* feat: Bar Gauge Support scrolling

* Update public/app/plugins/panel/bargauge/module.tsx

Co-authored-by: Ashley Harrison <ashharrison90@gmail.com>

* Update public/app/plugins/panel/bargauge/module.tsx

Co-authored-by: Ashley Harrison <ashharrison90@gmail.com>

* docs: Bar gauge add 'min-width' and 'min-height'

Co-authored-by: Ashley Harrison <ashharrison90@gmail.com>
2022-03-29 11:21:45 +01:00
Braden Snell
9a850de5a8 Variables: add graceful circular dependency failure (#46590)
* adds circular dependency check

* adds circular dep test
2022-03-29 11:18:59 +01:00
Victor Marin
5242d44693 Table panel: Show datalinks for cell display modes JSON View and Gauge derivates (#46020)
* Show datalinks on Table panel JSON View and Gauge derivates

* Use DataLinksContextMenu on BarGaugeCell

* Change import path

* PR modifications

* Re-add cell container style
2022-03-29 13:05:30 +03:00
Marcus Efraimsson
9eb2cd537d Plugins: Make backend plugin metrics endpoints available with optional authentication (#46467)
* add new endpoint without auth+config

* add cfg check

* fit lint issue

* Add basic auth support

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>

* WIP docs

* Update docs/sources/administration/view-server/internal-metrics.md

Co-authored-by: Dave Henderson <dhenderson@gmail.com>

* update instructions

Co-authored-by: Will Browne <will.browne@grafana.com>
Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
Co-authored-by: Dave Henderson <dhenderson@gmail.com>
2022-03-29 11:18:26 +02:00
Tania B
8c622c1ef6 Datemath: Fix weekstart calculation (#46962)
* Update go-datemath version

* Remove unnecessary bits

* fixup! Remove unnecessary bits
2022-03-26 19:57:29 +01:00
renovate[bot]
6218ca4725 Update dependency @testing-library/dom to v8.12.0 (#46981)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-26 17:45:42 +00:00
Julien NOEL
f4b6c4019c PostgreSQL: __unixEpochGroup to support arithmetic expression as argument (#46764)
* __unixEpochGroup to support arithmetic argument

Following call generates wrong expression : 
 
$__unixEpochGroupAlias(height+42,$__interval)

=> floor(height+42/60)*60 AS "time"

instead of

=> floor((height+42)/60)*60 AS "time"

* Update test of __unixEpochGroup related to issue #46764
2022-03-26 18:44:14 +01:00
Emil Tullstedt
7bc821baf2 Logger: Use specified format for file logger (#46970)
Fixes #45941
2022-03-26 11:40:08 +01:00
Fabien Pelletier
51396d5363 enable logs for postgres data source (#39496)
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2022-03-26 11:08:00 +01:00
Sarah Zinger
d5f40b63bb Azure Monitor: Add support for multiple template variables in resource picker (#46215) 2022-03-25 14:12:52 -04:00
Kat Yang
e6726681a9 Chore: Remove x from annotation test (#46935) 2022-03-25 13:23:21 -04:00
Kat Yang
90f2233ea9 Chore: Remove global database engine variable from annotation (#46940)
* Chore: Remove global database engine variable from annotation

* 💩
2022-03-25 13:23:09 -04:00
Kat Yang
19be0b4170 Chore: Remove x from org users (#46848)
* Chore: Remove x from org users

* Chore: Remove x.Dialect() from org users
2022-03-25 17:19:01 +00:00
Yuriy Tseretyan
e20d157a9b Alerting: rules delete API to check data source authorization (#46906)
* merge RuleSrv rule delete methods
* remove unused store methods
* implement delete by uid for fake store
* add scheduler mock
* implement tests for RouteDeleteAlertRules
2022-03-25 12:39:24 -04:00
Jack Westbrook
a06329d988 Chore: Bump node-forge to 1.3.0 (#46953) 2022-03-25 15:22:59 +00:00
Gabriel MABILLE
53e7f8405f AccessControl: Permission Migrator, clean unused arguments (#46937) 2022-03-25 14:04:10 +01:00
Andrej Ocenas
20b4112b3b Prometheus: Report error when parens are used and switching to visual builder (#46899) 2022-03-25 14:03:30 +01:00
Torkel Ödegaard
1c648cb52c Loki: Adds options to the new query builder (#46783)
* Initial commit for loki builder options

* Loki query options

* Added some basic tests

* Update public/app/plugins/datasource/loki/querybuilder/components/LokiQueryBuilderOptions.test.tsx

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>

* Updated options

* All option changes should trigger query

* Fixed ts issue

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2022-03-25 13:13:55 +01:00
Torkel Ödegaard
3516821012 Dashboard: Fixes save modal rendered ontop of save drawer (#46916)
* Dashboard: Fixes save modal rendered ontop of save drawer

* removed commented line

* Simplified dismiss -> hideModal mapping

* Fixed issue with new dashboard

* Fixing issues
2022-03-25 13:08:42 +01:00
Yaelle Chaudy
c00f488f89 Azure Monitor : Add support for the resource picker to be configurable to only select some entry types (#46735)
Co-authored-by: Kevin Yu <kevinwcyu@users.noreply.github.com>
Co-authored-by: Andres Martinez Gotor <andres.mgotor@gmail.com>
Co-authored-by: Isabella Siu <isabella.siu@grafana.com>
Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>
2022-03-25 12:22:28 +01:00
Andres Martinez Gotor
3c5e68a349 CloudWatch: Fix metric names (#46929) 2022-03-25 09:17:15 +01:00
Yuriy Tseretyan
6610adf090 Alerting: remove UpdateRuleGroup from fake rule store (#46941)
* remove UpdateRuleGroup from fake rule store because It is not part of interface anymore
2022-03-24 19:29:19 -04:00
Yuriy Tseretyan
15e4556c2f Alerting: update authorization logic to use proper legacy roles when fine-grained access is disabled (#46931)
* require legacy Editor for post, put, delete endpoints
* require user to be signed in on group level because handler that checks that user has role Editor does not check it is signed in
2022-03-24 17:13:47 -04:00
Yuriy Tseretyan
8868848e93 Alerting: rule group update API to ignore deletes of rules user is not authorized to access (#46905)
* verify that the user has access to all data sources used by the rule that needs to be deleted from the group
* if a user is not authorized to access the rule, the rule is removed from the list to delete
2022-03-24 16:53:00 -04:00
Yuriy Tseretyan
84001fe6be log to console when run integration tests (#46934) 2022-03-24 13:08:12 -04:00
Gabriel MABILLE
9dc06cd21f simplify bulkAssignRoles (#46891) 2022-03-24 18:06:44 +01:00
Kat Yang
39f14a2ec2 Chore: Remove x from login attempt (#46853) 2022-03-24 17:00:41 +00:00
Jack Westbrook
36483eb6bf Chore: Remove prismjs@1.25.0 from yarn.lock (#46244) 2022-03-24 17:26:55 +01:00
Ashley Harrison
c13f4542d8 Dashboard: Template variables are now correctly persisted when clicking breadcrumb links (#46790)
* Add history listener to update titleHref/parentHref when location changes

* Convert to functional component and use useLocation

* Wrap component in React.memo

* Add new `getUrlForPartial` method, deprecate `updateSearchParams`
2022-03-24 16:01:43 +00:00
Dimitris Sotirakis
0e682397ab Add GH token when referring to remote - add --quite when running git push (#46926) 2022-03-24 15:01:49 +00:00
achatterjee-grafana
c42b0d7498 Docs: Reorganize Dashboards and add note for escalations issue 2013 (#46902)
* Initial commit.

* Update version number

* Initial commit.

* More formatting changes. Also added URL links.

* Ran prettier.
2022-03-24 09:46:08 -04:00
kay delaney
8329cd59f6 LibraryPanels: Increase max description length to 2048 chars (#46601) 2022-03-24 12:14:56 +00:00
Dimitris Sotirakis
9bf82c37e3 Fetch tags after cloning (#46921) 2022-03-24 11:54:58 +00:00
Karl Persson
cac6936015 Access control: Change data source permissions to be based on UID (#46741)
* Add ResourceAttribute

* Add ResourceAttribute option

* Set ResourceAttribute option

* Change resolvers to return uid based scopes

* update swagger to correct scope

* use ResourceAttribute for endpoint scope

* bump role version

* Add support for different attributes for access control metadata

* evaluate data source metadata based on uid

* Fix test

* uncomment benchmarks

* Use resourceID

* use evaluator for access control metadata

* update comment

* Set default permissions based on uid

* Add attribute to accesscontrol filter

* validate that scopes has correct attribute

* lint

* Update comment

* remove attribute parameter and extend prefix

* refactor to use scope prefix

* Get metadata with prefix

* fix test

* fix comparision

* remove unused type

* fix attribute index

* fix typo

* restructure logic

* Get metadata by uid

* fix imports

Co-authored-by: jguer <joao.guerreiro@grafana.com>
2022-03-24 12:21:26 +01:00
Dimitris Sotirakis
758ccfb69e CI: Trigger release build upon drone yaml changes (#46882)
* Add trigger-test-release step

* Change cd command

* Add failure:ignore

* Add depth when cloning

* Fix wrong secret
2022-03-24 10:59:15 +00:00
Josh Hunt
89757cf58f ManageDashboards: Fix error when deleting all dashboards from folder view (#46877)
* user essentials mob! 🔱

* draft tests

* tests!

* better default ids for test data
2022-03-24 09:43:25 +00:00
Andres Martinez Gotor
987afeee38 Chore: Cover CloudMonitoring function utils with tests (#46878) 2022-03-24 09:47:59 +01:00
Gabriel MABILLE
3440e7c8f7 AccessControl: Fix locked role picker in orgs/edit page (#46539)
* AccessControl: Fix locked role picker in orgs/edit page

* Use correct org when computing metadata
2022-03-24 08:58:10 +01:00
Santiago
a9b55f7905 Fix InfluxDB tag variables parsing (#46862)
* regex bug fixed

* remove unnecessary test
2022-03-23 21:13:17 -06:00
Ezequiel Victorero
c5f295b5b3 Access Control: adding FGAC validation to mass delete annotation endpoint (#46846)
* Access Control: adding FGAC validation to mass delete annotation endpoint
2022-03-23 18:39:00 -03:00
Yuriy Tseretyan
60d4cd80bf Alerting: update DeleteAlertRuleByUID to accept many UID (#46890) 2022-03-23 16:09:53 -04:00
Selene
d57c94fb6a Chore: Remove bus from folder service (#46840)
* Remove bus from folder service

* Fix tests
2022-03-23 19:40:22 +01:00
Ivana Huckova
7839fadf00 Loki: Fix fetching of second label set for the streams selector (#46898)
* Fix fetching of labels

* Add test
2022-03-23 17:59:48 +00:00
achatterjee-grafana
9f16644476 Updated content based on feedback. (#46896) 2022-03-23 13:59:24 -04:00
Yuriy Tseretyan
4ee48c2e77 Alerting: Update GetRuleGroupAlertRules to accept optional rule group (#46889)
* rename GetRuleGroupAlertRules to GetAlertRules
* make rule group optional in GetAlertRulesQuery
* simplify FakeStore. the current structure did not support optional rule group
2022-03-23 17:36:25 +00:00
matt abrams
562a25ad99 increase label width on TLS info (#46816) 2022-03-23 17:22:08 +00:00
Yuriy Tseretyan
acd7be1cb4 Alerting: Change getEvaluatorForAlertRule to checkDatasourcePermissionsForRule (#46887)
update method getEvaluatorForAlertRule to accept permissions evaluator and exit on the first negative result, which is more effective than returning an evaluator that in fact is a bunch of slices.
2022-03-23 17:11:30 +00:00
Connor Lindsey
78c23d8dab Tracing: Prevent createSpanLink from returning an invalid Loki query (#46864) 2022-03-23 09:48:11 -07:00
Joey Tawadrous
aabafee90a InfluxDB: annotations migration to backend (#45635)
* Annotations backend migration

* Response parser checks

* Moved parse to response parser

* Removed unused imports

* Update type

* response_parser test

* response_parser test for text

* Removed from ctx

* Use vars in annotationQuery

* Tags and tests

* Removed import
2022-03-23 16:02:29 +00:00
renovate[bot]
7b23c7fe1e Update Monthly patch updates (#46875)
* Update Monthly patch updates

* Remove 3 packages...

* Fix type error

* undo cypress upgrade

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-03-23 14:56:44 +00:00
Garrett Guillotte
b2f33b2a53 Docs: Revert move of "Config from query" options (#46865)
Refactoring in 449c608 / PR #43569 moved the "Options" subsection
of the "Config from query" transformation to be a subsection of
the "Apply transformation to data" doc, but those options are not
relevant to that content.

Move this content to be a subsection of the "Config from query"
transformation in the transformation functions reference doc.
2022-03-23 10:37:12 -04:00
Joe Blubaugh
481a68cbf5 Unified Alerting: Make log message follow codebase convention. (#46881)
1. Keep log lines lower case.
2. The key-value pair arguments are not format argument for the string.
3. Always use the "err" key.
2022-03-23 15:07:07 +01:00
idafurjes
77976ea810 Add fakes for db interface (#46885) 2022-03-23 15:06:47 +01:00
Torkel Ödegaard
72b6f64df9 Theme: Increase contrast for overlays and drawers (#46630) 2022-03-23 14:47:33 +01:00
renovate[bot]
87a883ec62 Update dependency stylelint to v14.6.0 (#46626)
* Update dependency stylelint to v14.6.0

* remove old rule that wasn't working properly

* Revert "remove old rule that wasn't working properly"

This reverts commit 41a96ebad2.

* allow any border values

* fix typo

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-03-23 13:40:54 +00:00
Sarah Zinger
dd49f9d182 Azure Monitor: Small bug fixes for Resource Picker (#46665)
- fixes issue with checkbox styling
- fixes issue with selecting subscriptions
2022-03-23 09:38:46 -04:00
renovate[bot]
721c3207e9 Update dependency prettier to v2.6.0 (#46612)
* Update dependency prettier to v2.6.0

* Keep toolkit in sync

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-03-23 11:34:45 +00:00
Will Browne
5e18293f88 Plugins: Make plugin loading from file system deterministic (#46842)
* Plugins: Make plugin loading from file system deterministic

* fix test name

* flip assertion arg order
2022-03-23 11:58:00 +01:00
Agnès Toulet
c31428128a Docs: improve Redis configuration doc for query caching (#46834)
* Docs: improve Redis configuration doc for query caching

* Apply suggestions from code review

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* fix small typo

* Update docs/sources/enterprise/enterprise-configuration.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2022-03-23 11:04:45 +01:00
Joe Blubaugh
c5b39dd3cd Unified Alerting, Issue 41156: Clean up expired silences. (#46740)
Expired silences older than the retention period were not being cleaned up. The root problem was that notifier.Alertmanager overrides the Prometheus alert manager's silence maintenance function and was not calling Silences.GC() in the overriden function.
2022-03-23 09:49:02 +01:00
Jean-Philippe Quéméner
a80f04c949 Alerting: add collision safe update function for alertmanager configurations (#46692)
* Alerting: add collision safe update function for alertmanager configurations

* fix typo

* use bootstrap func for tests

* move hash calculation to store

* remove icons lol

* remove removed field
2022-03-23 09:31:46 +01:00
Gabriel MABILLE
ff3c1e3144 AccessControl: Handle ':' in attribute resolution (#46742)
* AccessControl: Handle ':' in attribute resolution

* Simplify based on assumption that prefixes will have maximum 2 parts
2022-03-23 08:48:32 +01:00
Torkel Ödegaard
76c9ad2d9b Loki: Improve operation ordering when adding new operations (#46598) 2022-03-23 07:42:25 +01:00
Torkel Ödegaard
e10c4397dc Prometheus: Enable new visual query builder by default (#46634)
* Prometheus: Enable new query builder by default

* Updated e2e test

* Fixed e2e
2022-03-23 07:28:19 +01:00
achatterjee-grafana
e0aaff86ae Docs: Removed incorrect bullet point from SAML authenticationhttps://github.com/grafana/grafana/issues/46605 topic (#46854)
* Removed incorrect bullet point.

* Empty-Commit
2022-03-22 18:00:19 -04:00
Kat Yang
884c2351d8 Chore: Remove x from org (#46851) 2022-03-22 21:17:53 +00:00
Jesse Weaver
560fc9812d Expose reporting-enabled flag to frontend (#46753) 2022-03-22 14:30:45 -06:00
Gilles De Mey
4a568769e7 Alerting: fix flakey test (#46845) 2022-03-22 21:20:58 +01:00
Karl Persson
ee9badecdf Access Control: Add test flag to enable access control (#46780)
* Add feature flags options to test db
2022-03-22 20:48:32 +01:00
achatterjee-grafana
552b447946 update version (#46838) 2022-03-22 15:12:41 -04:00
Ashley Harrison
04bbafb4a6 Chore: Enable jest-fail-on-console to prevent console errors in unit tests (#46835)
* Add jest-fail-on-console

* Fix last 2 console warnings

* Update package syntax
2022-03-22 17:03:07 +00:00
Kevin Yu
ba62f5ad5d Chore: clean up console warning from SQL Builder Editor tests (#46779)
* Chore: clean up console warning from SQL Builder Editor tests

* Re-add test for checking dimensions filter
2022-03-22 09:39:51 -07:00
achatterjee-grafana
a0f5953cb3 Updated regex function (#46839) 2022-03-22 12:39:30 -04:00
renovate[bot]
dd2a952c29 Update sentry-javascript monorepo to v6.19.1 (#46799)
* Update sentry-javascript monorepo to v6.19.1

* fix breaking change

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Domas <domasx2@gmail.com>
2022-03-22 16:06:53 +01:00
idafurjes
5db1a2e804 Add DB interface (#46832) 2022-03-22 15:43:53 +01:00
Eng Zer Jun
b56848f006 test: use T.TempDir to create temporary test directory (#44947)
The directory created by `T.TempDir` is automatically removed when the
test and all its subtests complete.

Reference: https://pkg.go.dev/testing#T.TempDir
Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
2022-03-22 15:43:29 +01:00
Simon Lundström
52fec0d7db Add back domain configuration (#46820)
It was lost in the PR #30695
2022-03-22 15:42:44 +01:00
Marcus Efraimsson
be7bcbf94e Chore: Add tests for plugin settings sqlstore (#46792)
Follow up of #46777 adding tests for plugin settings in sqlstore package.
2022-03-22 15:34:27 +01:00
Selene
b2af18f129 Chore: Remove bus from dashboard service (#46829)
* Move DeleteDashboard funtion into dashboards store service, remove bus and update tests

* Remove bus from folder service and update more tests

* Fix mock
2022-03-22 14:36:50 +01:00
Karl Persson
bfb03d779d Access Control: Correctly check for id suffix (#46824)
* Correctly check for id suffix
2022-03-22 13:48:15 +01:00
Ashley Harrison
8159379ba6 Update stale.yml (#46827) 2022-03-22 13:21:14 +01:00
Karl Persson
faf4a3f751 Access Control: Rename global users scope (#46794)
* Rename scope from global:users to global.users to match scope convention
2022-03-22 12:48:46 +01:00
ying-jeanne
adc0cbf176 remove global variable in annotation (#46746)
* remove global varaible in annotation

* remove todo

* replace intransaction with withdbtransaction

* fix typo
2022-03-22 19:20:57 +08:00
renovate[bot]
3d43535bc3 Update typescript-eslint monorepo to v5.16.0 (#46809)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-22 10:20:05 +01:00
Serge Zaitsev
4ce7978cd8 Chore: Remove bus from notification service (#46813)
* Chore: Remove bus from notification service

* fix signature

* fix function signature in tests
2022-03-22 09:04:30 +01:00
Nathan Rodman
5a25ada3d0 Alerting: Add FGAC for Silences (#46479)
* add FGAC actions for silences table

* redirect users without permissions

* hide silence button in rules list

* add permissions checks to routes

* add read action for silences page

* add permissions checks to navigation

* add additional access checks for rule viewing

* create authorize component

* add tests for silences

* hide alerting nav for users without access

* nolint: gocyclo

* add permission check to alert details

* add check for external instances

* remove unecessary new lines

* use correct actions for alert details

* fix failing tests

Co-authored-by: Yuriy Tseretyan <yuriy.tseretyan@grafana.com>
2022-03-21 16:54:37 -07:00
Yuriy Tseretyan
2ade8b56dd Alerting: support fine-grained access control in ruler update API (#45749)
* require Editor if FGAC is disabled. Otherwise, check `alert.rule:*` + `datasource:query` permissions when user changes rules.
2022-03-21 19:20:35 -04:00
Serge Zaitsev
9315ddd57c Chore: Remove bus from oauthtoken (#46811) 2022-03-21 21:13:57 +01:00
Tomas Rohrer
45745debe5 Fix anchor (#46797) 2022-03-21 15:46:01 -04:00
Serge Zaitsev
cce46a6349 Chore: Remove bus from live package (#46803) 2022-03-21 20:34:19 +01:00
Kevin Yu
54d4a69e91 Chore: clean up console warning from Metrics Query Editor tests (#46747)
* Chore: clean up console warning from Metrics Query Editor tests

* Chore: remove type assertions
2022-03-21 12:21:04 -07:00
Kevin Yu
7480ba0226 Chore: clean up console warning from SQL Group By tests (#46733) 2022-03-21 12:20:48 -07:00
Shirley
499445a5f9 Azure Monitor: Bump core plugin version (#46776)
* Azure Monitor: Bump core plugin version

* Remove updated, update learn more link
2022-03-21 19:01:26 +01:00
Ezequiel Victorero
c717320942 Adding FGAC annotations validation for creation and deletion (#46736)
Access Control: Adding FGAC annotations validation for creation and deletion
Co-authored-by: IevaVasiljeva <ieva.vasiljeva@grafana.com>
2022-03-21 14:28:39 -03:00
Karl Persson
7ab1ef8d6e Access Control: Support other attributes than id for resource permissions (#46727)
* Add option to set ResourceAttribute for a permissions service
* Use prefix in access control sql filter to parse scopes
* Use prefix in access control metadata to check access
2022-03-21 17:58:18 +01:00
renovate[bot]
79f5c7d7a7 Update typescript-eslint monorepo to v5.15.0 (#46554)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-21 16:26:11 +00:00
Emil Tullstedt
0e5ac29763 Data sources: Grant creator edit permissions to data source by default (#46168)
* Data sources: Sent user ID when creating data source

* Data sources: Grant a data source creator edit permissions

* Use edit permisison and only append if user id is in command

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2022-03-21 17:16:05 +01:00
ying-jeanne
0d5a6c2194 remove bus from search and avoid import cycle (#46789)
* fix the import cicle

* fix some unittest

* fix removal bus from search
2022-03-21 23:54:30 +08:00
Fiona Artiaga
8199cc0cf8 Docs: Correct Team Sync availability (#45340)
Update the explanation of which users can use Team Sync

Co-authored-by: achatterjee-grafana <aparajita.chatterjee@grafana.com>
2022-03-21 11:42:06 -04:00
Marcus Efraimsson
1044585b50 Plugins: Fix problematic query (#46777)
Fixes mysql error "sql: expected 0 arguments, got 1" introduced via #46283
2022-03-21 15:42:05 +01:00
Alex Khomenko
912018ff64 TimePickerContent: Use button time for range dropdown toggle (#46778) 2022-03-21 15:36:07 +01:00
Santiago
18c1c6ca6a fix double slash in share link (#46757) 2022-03-21 08:00:54 -06:00
Torkel Ödegaard
db5988d82e Docs: Fix formatting issue (#46784) 2022-03-21 14:49:32 +01:00
renovate[bot]
3492ba7d92 Update dependency rc-cascader to v3.4.1 (#46767)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-21 14:29:01 +01:00
Serge Zaitsev
df465ccad3 Chore: Remove bus from thumbs service (#46772) 2022-03-21 14:15:31 +01:00
Ashley Harrison
5f67d78219 Use bookmark icon for Saved Items, add support for solid bookmark icon (#46775)
* Use bookmark icon for Saved Items, add support for solid bookmark icon

* Add some unit tests

* Refactor utils into own file

* Update test title

* Fix import

* consistent function style
2022-03-21 13:01:43 +00:00
Torkel Ödegaard
4631bb2c54 Docs: Add upgrade notices regarding changes to datasource property (#46314)
* Docs: Add upgrade notices regarding changes to datasource property

* Update docs/sources/installation/upgrading.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/installation/upgrading.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update upgrading.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2022-03-21 13:51:14 +01:00
renovate[bot]
9b0459e2ac Update dependency react-moveable to v0.31.1 (#46508)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-21 13:14:40 +01:00
jcolladokuri
237ca1660f AzureMonitor: Add Links to Azure Portal for VM Insights dashboards (#46482) 2022-03-21 12:59:14 +01:00
jcolladokuri
0dc4db0a94 AzureMonitor: Update curated dashboards (#46745) 2022-03-21 12:01:22 +01:00
Serge Zaitsev
fec634a091 Chore: Remove bus.Dispatch from guardian package (#46711)
* replace bus in guardian with sqlstore

* fix a couple of tests

* replace bus in the rest of the tests

* allow init guardian from other packages

* make linter happy

* init guardian in library elements

* fix another test in libraryelements

* fix more tests

* move guardian mock one level deeper

* fix more tests

* rename init functions
2022-03-21 10:49:49 +01:00
Andres Martinez Gotor
788fde7ead AzureMonitor: Update China regions (#46695) 2022-03-21 09:36:26 +01:00
Gábor Farkas
890a7cdd7c loki: add id-field (#46519)
* loki: add id-field

* fixed test
2022-03-21 09:15:52 +01:00
Adela Almasan
bb8304c838 Heatmap: Color scale improvements (#46751)
* Updated color scale tooltip and added follower

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-03-18 21:03:06 -05:00
Adela Almasan
576b73ed48 Updated bucket size/offeset settings; Check for negative values in bucket size (#46754) 2022-03-18 18:47:34 -05:00
Yuriy Tseretyan
2bd4c9ccde respect query filter in FindDashboards (#46652) 2022-03-18 22:38:32 +01:00
Will Browne
bda3f860a8 Plugins: Add plugin settings DTO (#46283)
* add clearer service layer

* re-order frontend settings for clarity

* fix fetch fail

* fix API response

* fix mockstore

* in -> where
2022-03-18 20:49:13 +01:00
Kristina
1afd278bd0 Fix tests for Explore - ErrorContainer, MetaInfoText & cleanup (#46744)
* Move ErrorContainer.test.tsx to RTL

* Remove snapshots and unnecessary tests, change enzyme tests to RTL

* Add fixes to tests
2022-03-18 14:44:51 -05:00
Scott Lepper
a6dc8255af plugin-ci: update image to golang 1.18 (#46694)
* update golang to 1.18
* update go-lint to latest
* update go-sec to latest
2022-03-18 14:40:03 -04:00
Pierre Baumard
1dbfbc0e96 GeoMap: support setting view based on map data (#44852) 2022-03-18 11:13:55 -07:00
Yuriy Tseretyan
6967b15e76 Access Control: Update Alerting Navbar links builder to use fine-grained access control (#46743)
* remove unnecesarry grants for some alerting roles
* add permissions checks to navigation
2022-03-18 12:58:50 -04:00
Ieva
f2450575b3 Access control: FGAC for annotation updates (#46462)
* proposal

* PR feedback

* fix canSave bug

* update scope naming

* linting

* linting

Co-authored-by: Ezequiel Victorero <ezequiel.victorero@grafana.com>
2022-03-18 17:33:21 +01:00
Ashley Harrison
6eecd021a4 Chore: Fix a couple more console errors in jest tests (#46732)
* Chore: Fix a couple more console errors in jest tests

* remove console.errors

* better spy

* Fix linting
2022-03-18 17:25:59 +01:00
Eric Leijonmarck
c592e6606c Filtering of service accounts by expired tokens (#46251)
* Refactor to ServiceAccounts Query

* filtering expiredtokens on backend

* WIP

* WIP

* WIP

* fix: missing that we do not cover for no service accounts

* fix: wrong link

* feat: filter able to get only service accounts with expired tokens

* refactor: naming

* Update pkg/services/serviceaccounts/models.go

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

* goimported

* Update pkg/services/serviceaccounts/api/api.go

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

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2022-03-18 15:50:34 +01:00
lean.dev
c3ee98a9b6 Fixing delete dashboard url form datasource configuration (#46637) 2022-03-18 11:47:57 -03:00
Gilles De Mey
64d4e6fcaa Alerting: visual alert type picker (#46111) 2022-03-18 14:33:32 +01:00
renovate[bot]
644e7e7c19 Update dependency lru-cache to v7.7.1 (#46675)
* Update dependency lru-cache to v7.7.1

* update snapshot

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-03-18 11:30:15 +00:00
Ashley Harrison
7d8af12cca Navbar: remove visual sections + home button (#46693)
* Navbar: remove visual sections + home button

* remove padding

* Fix label
2022-03-18 10:57:55 +00:00
sivamu
6c468daabc AzureAD OAuth: Add optional strict parsing of role_attribute_path for Azure AD (#42157)
* AzureAD OAuth: Add optional strict parsing of role_attribute_path for Azure AD

Fix casting issues

modify unit tests

Unit test fix

Add proper test args

* Return empty role when using strict attribute mode

* Raise error on empty role

* Fix UT for latest case
2022-03-18 10:34:16 +00:00
Tom
ea7d5a6185 Transformers: Add template variable substitution (#44486)
* Transformers: Add template variable replacement to transformer operator

* Transformers: Add template variable replacement to calculateField transformer

* Transformers: Add scopedVars to transformer template replacement

* Transformers: Add calculateField template variable test

* Transformers: Fix 'undefined' is not assignable to type 'string'

* Transformers: Fix lint-frontend bug

* Fix lint check

* Fix lint
2022-03-18 10:25:53 +00:00
idafurjes
52bd7618dd Remove global variable from user (#46696)
* Remove global variable from user

* Remove missed x
2022-03-18 09:15:23 +01:00
Ryan McKinley
93390b5a1e Search: use search service (#46714)
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2022-03-18 01:36:32 +01:00
Nathan Marrs
7589b83c5b Icon: Fix default icon color mismatch with default fill color (#46602) 2022-03-17 14:52:32 -07:00
Ryan McKinley
736820f975 Search: use minisearch for better frontend searching (#46710)
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2022-03-17 14:26:48 -07:00
Daniel Lee
75b3c96bef release: update latest.json (#46704) 2022-03-17 19:06:59 +01:00
Grot (@grafanabot)
9a00df1e8d ReleaseNotes: Updated changelog and release notes for 8.4.4 (#46702) 2022-03-17 18:29:19 +01:00
Connor Lindsey
0da40b7f09 Tempo: Separate trace to logs and loki search datasource config (#46655)
* Tempo: Separate trace to logs and loki search datasource config

* Add getLokiSearchDS util and tests
2022-03-17 11:23:15 -06:00
Ryan McKinley
1cfb9a4a19 Storage: add basic storage service (#46604) 2022-03-17 10:19:23 -07:00
Karl Persson
4df7bf5ab2 Access control: Display inherited folder permissions in dashboards (#46421) 2022-03-17 17:08:51 +01:00
Kevin Yu
fb17b9f545 Chore: clean up console warning from Annotation Query Editor tests (#46660) 2022-03-17 07:00:42 -07:00
Kevin Yu
56b750dc42 Chore: clean up console warning from Cloudwatch Dimensions tests (#46661) 2022-03-17 06:59:55 -07:00
Kevin Yu
7c255f190c Chore: clean up console warning from Query Header tests (#46663) 2022-03-17 06:57:43 -07:00
Kevin Yu
cffa52d906 Chore: clean up console warning from Metric Stat Editor tests (#46662) 2022-03-17 06:57:23 -07:00
Kevin Yu
50bbbbf376 Chore: clean up console warning from Resource Picker tests (#46664) 2022-03-17 06:55:14 -07:00
Piotr Jamróz
ed155e47c4 Graphite: Fallback to hardcoded list of functions when no functions are returned (#46681) 2022-03-17 14:26:08 +01:00
Joao Silva
a9002e80b4 Annotations: Fix issue with spinner always showing (#46686) 2022-03-17 13:00:52 +00:00
Ashley Harrison
586272e5f0 Navigation: Introduce a preferences table to store Navbar preferences (#44914)
* First attempt at creating new navbar_preferences table in db

* Apply to every nav item instead of just home

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* Chore: introduce initTestDB options for features

* fix unit tests

* Add another unit test and some logic for detecting if a preference already exists

* tidy up

* Only override IsFeatureToggleEnabled if it's defined

* Extract setNavPreferences out into it's own function, initialise features correctly

* Make the linter happy

* Use new structure

* user essentials mob! 🔱

* user essentials mob! 🔱

* Split NavbarPreferences from Preferences

* user essentials mob! 🔱

* user essentials mob! 🔱

* Fix lint error

* Start adding tests

* Change internal db structure to be a generic json object

* GetJsonData -> GetPreferencesJsonData

* Stop using simplejson + add some more unit tests

* Update pkg/api/preferences.go

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

* Updates following review comments

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* Change patch to upsert, add a unit test

* remove commented out code

* introduce patch user/org preferences methods

* Return Navbar preferences in the get call

* Fix integration test by instantiating JsonData

* Address review comments

* Rename HideFromNavbar -> Hide

* add swagger:model comment

* Add patch to the preferences documentation

* Add openapi annotations

* Add a short description

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* Update unit tests

* remove unneeded url

* remove outdated comment

* Update integration tests

* update generated swagger

Co-authored-by: Alexandra Vargas <alexa1866@gmail.com>
Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-03-17 12:07:20 +00:00
Torkel Ödegaard
60af3af92c Prometheus/Loki: Allow custom value in operation selects (#46679)
* Prometheus/Loki: Allow custom value in operation selects

* Add missing operator
2022-03-17 12:55:47 +01:00
Joao Silva
c224da0f02 Data links: Fix issue with not being able to click a variable after scroll (#46643) 2022-03-17 10:31:23 +00:00
Andrej Ocenas
22a4c5f086 Prometheus: Add optional param tooltip for visual builder (#46644) 2022-03-17 10:51:42 +01:00
Andrej Ocenas
ee87ed3b51 Prometheus: Parsing for vector matching and UI changes (#46668) 2022-03-17 10:50:49 +01:00
Yuriy Tseretyan
7df22c1573 Access Control: Fix Filter to correctly handle duplicated scopes (#46667) 2022-03-16 16:59:19 -04:00
Atrbear
8025997982 Update contact-points.md (#46657)
As you see. "orgId": 1 is duplicated.
2022-03-16 16:44:40 -04:00
Ikko Ashimine
d887068904 Alerting: Fix typo in matchers.test.ts (#46641)
occurence -> occurrence
2022-03-16 19:15:23 +00:00
Joan López de la Franca Beltran
2081f37e95 Encryption: Make DEKs cache TTL & cleanup interval configurable (#46042)
* Make DEKs cache TTL & cleanup interval configurable

* Improve 'data_keys_cache_ttl' setting description

* Fix test
2022-03-16 20:05:13 +01:00
Garrett Guillotte
fb06804450 Docs: Fix labels to fields transformer subsections (#46422)
Refactoring in PR #43569 (commit 3b39c9f) resulted in subsections
of the Labels to Fields transformer's docs being unintentionally
moved under the Organize transformer section. Move these back
under Labels to Fields.
2022-03-16 13:47:12 -04:00
Ryan McKinley
15ca294be0 Dashboards: show changes in save dialog (#46557)
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-03-16 09:28:09 -07:00
gotjosh
a338c78ca8 Alerting: Remove internal labels from prometheus compatible API responses (#46548)
* Alerting: Remove internal labels from prometheus compatible API responses

* Appease the linter

* Fix integration tests

* Fix API documentation & linter

* move removal of internal labels to the models
2022-03-16 16:04:19 +00:00
Jguer
d5883c1b27 Service Accounts: Implement basic usage stats (#46619)
* Stats: do not count SAs as users

* Stats: implement basic service account metrics

* Stats: do not count service account tokens as api keys

* Stats: fix metric names

* Stats: add SA stats test

* rename user to sa
2022-03-16 16:54:34 +01:00
Karl Persson
943a8508a6 Handle case where there are no matching ids for all actions passed to (#46646) 2022-03-16 16:31:33 +01:00
Karl Persson
2727e2503f Use corrct variable names (#46647) 2022-03-16 16:18:45 +01:00
Eric Leijonmarck
f4bed21cee remove /upgradeall apiendpoint (#46638) 2022-03-16 15:33:13 +01:00
Karl Persson
d27ff42376 Access control: Move data source actions and scopes to datasource package (#46594)
* Add permission actions and id scope

* Remove scope and actions variable prefix

* Move page evaluators and rename them
2022-03-16 15:11:03 +01:00
Yuriy Tseretyan
ea815d640f Search Service to support search for folders available for alerting (#46483)
* support new query type "alert-folder"
* move action calculation to the constructor of the filter
* update filter to support query type `dash-folder-alerting` and empty dashboard actions
* require folders:read to access alert rules
2022-03-16 14:07:04 +00:00
Karl Persson
7192b7caee Access control: Move licensing actions to licensing package (#46588)
* Move licensing actions to licensing package
2022-03-16 14:37:19 +01:00
Yuriy Tseretyan
c42d2e6f5d Alerting: Add support for fine-grained access to alerting APIs (#46561) 2022-03-16 09:36:58 -04:00
Dimitris Sotirakis
85184ee9dc Update grabpl (#46639) 2022-03-16 13:31:20 +00:00
Todd Treece
3f58abe9bd Chore: Update go version used in CI to 1.17.8 (#46591) 2022-03-16 07:25:54 -04:00
Karl Persson
8261e781d5 Access control: Delete user permissions when a user is deleted (#46021)
* Remove access control related to user on deletion
2022-03-16 10:43:44 +01:00
renovate[bot]
8bda0c66d7 Update dependency eslint to v8.11.0 (#46484)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-16 09:25:21 +00:00
Andres Martinez Gotor
727204ed5e CloudMonitoring: Improve error message (#46599) 2022-03-16 09:37:48 +01:00
Dominik Prokop
5ae3e3f6f7 TimeSeries: Preserve null/undefined values when performing negative y transform (#46584) 2022-03-16 01:05:37 -07:00
Torkel Ödegaard
31d141b267 Dashboards: Fixes repeating by row and no refresh (#46565) 2022-03-16 07:57:12 +01:00
Yuriy Tseretyan
468def0c00 Alerting: fixed roles for fine-grained access control (#46553)
* move alerting actions to accesscontrol to avoid cycledeps
* define new actions and fixed roles for alerting
* add folder permission to alert reader role
2022-03-15 14:30:32 -04:00
Joao Silva
00c93fff8c Grafana-UI: Fix use of Fragments as children of InlineField (#46326) 2022-03-15 17:50:29 +00:00
Artur Wierzbicki
b8fba41d74 Storage: unify List queries (#46572)
* silence errors

* s3 fix - don't retrieve files with path equal to the root

* Storage: unify list queries

* Storage: add `IsFolder` method to file obj

* Storage: API consistency - always refer `File` as a pointer rather than a value
2022-03-15 21:21:22 +04:00
Alexander Weaver
92716cb602 Alerting: Create abstraction for launching transactions and refactor existing transaction management to use it (#46216)
* Remove InTransaction from RuleStore and make it its own interface

* Ensure that ctx-based is clear from name

* Resolve merge conflicts

* Refactor tests to work in terms of the introduced abstraction rather than concrete dbstore
2022-03-15 11:48:42 -05:00
Andrej Ocenas
ecdbcd4941 Prometheus: Fix support of AdHoc filters for specific queries (#46547)
* Use parser to deal with ad hoc filters

* Add comment

* Fix variable naming

* Fix tests
2022-03-15 17:37:20 +01:00
Tania B
8e13b201ba Docs: Add description to remote cache configuration (#46589)
* Add description to remote cache configuration

* Apply feedback
2022-03-15 17:13:53 +01:00
Andrej Ocenas
a2cec62fa2 Prometheus: Fix parsing of binary operations (#46549) 2022-03-15 17:00:29 +01:00
Jguer
04267a66ec Service Accounts: Refactor login service to use sqlstore methods (#46585)
* refactor login service to use sqlstore methods

* trailing newline
2022-03-15 16:57:21 +01:00
Nathan Marrs
11aa6a3e8f Value mapping/add icon support (#44503)
Co-authored-by: Ryan McKinley <ryantxu@users.noreply.github.com>
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-03-15 08:51:12 -07:00
Yuriy Tseretyan
e62e9904ee Folder UID scope resolver (#46426) 2022-03-15 15:37:16 +01:00
Leonard Gram
f46038ed3a Search: sort results correctly when using postgres (#46466)
* Search: sort results correctly when using postgres

postgresql puts nulls first while both mysql and sqlite puts them last

* linting
2022-03-15 15:08:40 +01:00
Ed Welch
16cf179df1 adding .linguirc to the copied files in the Dockerfile (#44951) 2022-03-15 08:32:46 -05:00
Ieva
510c69ec91 Access control: allow hiding roles (#46358)
* allow hiding roles

* extend docs

* docs feedback

* extend provisioning docs

* formatting

Co-authored-by: Leonard Gram <leo@xlson.com>
2022-03-15 13:17:45 +00:00
Alexander Kubyshkin
5cf0906622 Add unpack to Loki Log Browser (#44623). (#46573) 2022-03-15 14:17:36 +01:00
Kevin Yu
2706783250 CloudMonitoring: Update dependency @grafana/google-sdk to v0.0.3 (#46541) 2022-03-15 05:56:05 -07:00
Dominik Prokop
f452e068f0 TimeSeries: Add migration for Graph panel's transform series override (#46577) 2022-03-15 14:29:15 +02:00
renovate[bot]
93d37db4f0 Update dependency lru-cache to v7.5.1 (#46513)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-15 11:29:52 +00:00
Gabriel MABILLE
75935c75c1 ServiceAccounts: Fix role update (#46568)
* ServiceAccounts: Fix role update

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

* Fix patch missing metadata

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

* Fix patch missing metadata

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

Co-authored-by: Jguer <joao.guerreiro@grafana.com>
2022-03-15 10:48:10 +01:00
Ryan McKinley
4cd27a380d Geomap: applying multiple line builders should keep each segment (#46563) 2022-03-14 22:58:41 -07:00
Jean-Philippe Quéméner
e135b8531a Alerting: refactor receiver validation to be reusable (#46103) 2022-03-15 00:27:10 +01:00
Giordano Ricci
00f67cad1b Explore: set correct datasource when creating panel in a dashboard (#46530) 2022-03-14 23:26:13 +00:00
Joey Tawadrous
bd21355f87 Trace view: Scroll to top on new query (#46278) 2022-03-14 14:22:37 -06:00
Sarah Zinger
275f33cf37 Azure Monitor: Add feature gating for new MetricsQueryEditor with resource picker (#46124)
* Azure Monitor: Use feature toggle for dev of new UI for Metrics Queries.

* Fixes after CR
2022-03-14 15:07:45 -04:00
Todd Treece
41f3d56c3f Chore: Update grafana-plugin-sdk-go to v0.129.0 (#46544) 2022-03-14 13:32:11 -04:00
Jguer
ef9fe26886 Service accounts: Split user and service account database (#46442)
* ServiceAccounts: remove unused endpoint

* ServiceAccounts: remove usage of getOrgUsers from service accounts

* use dialect for boolean str true in delete

* return service account results directly

* Move Service Account Deletions to sa package

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

* Move service account methods to service accounts

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

* Service accounts should not interfere with users

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

* filter service accounts in user services

* mispell fix

* fix overextended lines

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

* fix variable

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
Co-authored-by: gamab <gabi.mabs@gmail.com>
2022-03-14 18:24:07 +01:00
Kevin Yu
99b4dfc27d Dashboard: Validate refId when generating id for cloudwatch query (#46182)
* Validate refId when generating id for cloudwatch query

* add test case when refId is a valid metric data id
2022-03-14 09:44:04 -07:00
Andrej Ocenas
04409799fb Prometheus: Allow boolean params on operations and add bool modifier parsing (#46448)
* Allow boolean params on operations and add bool modifier parsing

* Allow float number literals
2022-03-14 17:36:25 +01:00
Gabriel MABILLE
74b441536d ServiceAccount: fix writer role version (#46540) 2022-03-14 17:35:39 +01:00
renovate[bot]
9546523f41 Update dependency @react-aria/button to v3.4.2 (#45452)
* Update dependency @react-aria/button to v3.4.2

* Use type assertions

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-03-14 16:31:55 +00:00
Karl Persson
544b6ab736 Access control: Add logs to access control dashboard guardian (#46534)
* Add logs to access control dashboard guardian

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2022-03-14 17:12:09 +01:00
Karl Persson
8688073564 Access control: Support filter on several actions (#46524)
* Add support for several actions when creating a acccess control sql
filter
2022-03-14 17:11:21 +01:00
Yuriy Tseretyan
9465eb1b3a Folder store (#46431)
* create FolderStore
* update usages to provide context
* implement methods to get folder by ID and UID
* update folder service to use store methods
2022-03-14 11:21:42 -04:00
Yaelle Chaudy
0b0d612372 A11y : Fix option panes not accessible when collapsed (#46405)
* Turned div into text button to make it accessible

* Only icon as button to avoid embedded buttons with overrides delete button

* use icon in Button directly

* Removed unused import

* moving id for labelledBy to h6 elem instead of icon

* Tweaking style, bigger caret

* Fixed aria-expanded

* Modifying and using CollapseToggle from unified alerting

* Added restOfProps to CollapseToggle
2022-03-14 15:37:13 +01:00
Konrad Lalik
2409405c34 Alerting: Integrate alerts with folders (#45763)
* Add Alert rules tab

* Add pagination and a simple name-based filtering

* Add name and label based filtering

* Improve pagination, handle the no results case

* Add tests for alerts folder view

* Add label filtering by clicking a tag

* Add tests for matcher to string method

* Add sorting, improve styles

* Use simple Select component for sorting

* Update default page size

* Remove unused code

* Use existingc thunk

* chore: update swagger spec

* Revert "chore: update swagger spec"

This reverts commit ee79ec7341.

* Code cleanup

* Fix ts

Co-authored-by: gillesdemey <gilles.de.mey@gmail.com>
2022-03-14 15:21:29 +01:00
Jguer
e512029afb ServiceAccounts: lowercase edit url (#46517) 2022-03-14 14:22:54 +01:00
Todd Treece
cf9f76319a DevEnv: Enable remote write for prometheus (#46256) 2022-03-14 09:18:33 -04:00
renovate[bot]
fa31508b93 Update dependency rc-cascader to v3.3.1 (#46407)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-14 10:55:23 +00:00
renovate[bot]
10462bb124 Update dependency @react-aria/overlays to v3.8.0 (#46307)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-14 10:52:52 +00:00
gotjosh
a75d4fcbd8 Alerting: Display query from grafana-managed alert rules on /api/v1/rules (#45969)
* Aleting: Extract query from alerting rule model for api/v1/rules

* more changes and fixtures

* appease the linter
2022-03-14 10:39:20 +00:00
Joey Tawadrous
ecf84be65a Added margin right to space out previously squashed labels and values (#46284) 2022-03-12 14:57:36 +00:00
Jens Oliver Meiert
c649b54ed2 docs: make case consistent (#46436)
(Other headings use sentence case)
2022-03-11 22:03:45 +01:00
renovate[bot]
6db4b54ab0 Update dependency selecto to v1.15.0 (#46459)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-11 20:32:58 +00:00
renovate[bot]
e8496bc433 Update dependency eslint-plugin-jsdoc to v38 (#46468)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-11 20:32:11 +00:00
Zoltán Bedi
91265e6c8e Bump publish docs node version (#46475) 2022-03-11 21:28:12 +01:00
Artur Wierzbicki
5881127319 Storage: fix filestorage.Wrapper PathFiltering and non-recursive folder listing (#46469)
* fix pathFilters in wrapper - apply rootPath changes before filtering

* fix non-recursive folder listing
2022-03-11 23:16:46 +04:00
Artur Wierzbicki
ed924b3d0c Storage: list filtering and root folder support (#46453)
* git the things: FS api internal changes

* remove filestorage/service.go

* remove filestore flag

* remove dummy fs

* readd fileblob import
2022-03-11 22:08:19 +04:00
Dimitris Sotirakis
a29159f362 Update golang (#46458) 2022-03-11 16:09:17 +01:00
Dimitris Sotirakis
82b436afee CI: Add more checks to standalone docs pipeline (#46449)
* Add build frontend package step

* Reorder dependencies

* Add codespell and prettier checks
2022-03-11 16:48:23 +02:00
Torkel Ödegaard
cb0b089d32 Gauge: Fixes blank viz when data link is added and orientation was horizontal (#46335) 2022-03-11 11:48:20 +01:00
matt abrams
52c9da1b11 A11y: add copy button to API Key modal (#46387)
* add copy button to API Key modal

* switch to inline button style

* update test snapshot
2022-03-11 11:10:27 +01:00
matt abrams
ec84b7bd23 A11y: Make the Library Panel "clear filter" buttons accessible (#46341)
* swap span for button + add aria-label

* swap span for button + add aria-label

* add new style + increase padding

* fix typo

* switch to link variant + trim custom css
2022-03-11 11:10:13 +01:00
Jack Westbrook
73ba04cda6 Build: Bump grabpl to 2.9.24 (#46420) 2022-03-11 11:05:41 +01:00
Gabriel MABILLE
bd918927b4 Accesscontrol: fix data source name resolver and add uid name resolver (#46409)
* Fix data source scope resolver

* Adding ds UID scope resolver

* Register UID resolver

* use package full name

* even if it cannot be empty as of now and is also checked by store, better safe than sorry
2022-03-11 08:50:04 +01:00
Marcus Efraimsson
6c7d326499 Plugins: Refactor GetPluginDashboards/LoadPluginDashboard (#46316)
Refactors GetPluginDashboards/LoadPluginDashboard by moving database 
interaction from plugin management to the plugindashboards service.

Fixes #44553

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2022-03-10 18:38:04 +01:00
Yuriy Tseretyan
d076cabb60 Folder name scope resolver (#46380)
* move dashboard store mock to parent package to avoid cycle of dependencies
* add scope resolver for folders that resolves names to id
2022-03-10 12:19:50 -05:00
Marcus Efraimsson
5a5def6de7 Docs: Fix formatting of docs file (#46419) 2022-03-10 17:36:23 +01:00
Andrej Ocenas
b3f8079f4f Prometheus: Add title to metrics in the metric select with metric help text (#46406)
* Add title to metrics in the select

* Add some comments

* Fix tests
2022-03-10 16:58:25 +01:00
renovate[bot]
146745b3bb Update dependency selecto to v1.14.0 (#46381)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-10 16:42:04 +01:00
Connor Lindsey
2fa154d33f Tempo: Add search info to tempo docs (#46190)
* Add search info to tempo docs

* Apply suggestions from code review

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2022-03-10 10:14:31 -05:00
Kyle Brandt
cab509fbe8 SSE: Keep FieldConfig for data source queries (#46328)
for #46325
2022-03-10 10:03:26 -05:00
achatterjee-grafana
3d5ebba0c2 Removed extra word. (#46386) 2022-03-10 09:30:59 -05:00
Giordano Ricci
8b9e27c4ba Card: make elements in metadata clickable (#46336)
* Card: make elements in metadata clickable

* add docs
2022-03-10 13:52:34 +00:00
Karl Persson
52decfaebc Access control: Move call to create default permissions into folder and dashboard service (#46186)
* Move call to create permissions into folder service

* Inject cfg, feature toggles and permissions services into dashboard
service

* Move logic to set default permissions on create dashboard from api to
service

* Move call to set default permissions on import dashboard to dashboard
service

* Set permissions for provisioned dashboard and folders in service
2022-03-10 12:58:18 +01:00
Torkel Ödegaard
a327c4d7d6 Docs: Fix formatting of docs file (#46402) 2022-03-10 10:28:16 +01:00
Torkel Ödegaard
c952c9c90a Loki: Adds more options to make line filter UX better (#46324)
* Loki: Adds more options to make line filter UX better

* Sync wording

* Tweak width

* More tweaks

* Added descriptions as well
2022-03-10 10:12:54 +01:00
Torkel Ödegaard
806b0e3b23 Prometheus/Loki: Improve operations header UX (#46346)
* Prometheus/Loki: Improve operations header UX

* More tweaks

* Rename file to match compponent
2022-03-10 09:38:53 +01:00
Yaelle Chaudy
9fc9708ba5 Fixed new variable button keyboard clickable (#46293) 2022-03-09 20:35:53 +01:00
achatterjee-grafana
f19594e8ff update exemplars and azure authentication topics. (#46382) 2022-03-09 13:54:13 -05:00
gotjosh
8d4a0a0396 Alerting: Include annotations in prometheus Alert response. (#45970)
* Alerting: Include annotations in prometheus Alert response.

* add tests

* re-order depedencies
2022-03-09 18:20:29 +00:00
gotjosh
b1e6f7126a Logging: Helper to create NopLogger (#46376) 2022-03-09 17:03:58 +00:00
Yuriy Tseretyan
314be36a7c Move datasource scopes and actions to access control package (#46334)
* create scope provider
* move datasource actions and scopes to datasource package + add provider
* change usages to use datasource scopes and update data source name resolver to use provider
* move folder permissions to dashboard package and update usages
2022-03-09 11:57:50 -05:00
Erik Sundell
6670257c5e CloudWatch: Use default http client from aws-sdk-go (#46370)
* use default http client from aws-sdk-go

* temp comment out line and link to issue
2022-03-09 16:29:10 +01:00
Jack Westbrook
e2a283b6b9 Chore: Fix failing lerna publish commands (#46359) 2022-03-09 15:29:11 +01:00
jcolladokuri
ce543037f1 Azure Monitor: Add 2 more Curated Dashboards for VM Insights (#45187)
Some fixes to the App Insights Curated Dashboard for Azure Monitor as well.
2022-03-09 09:02:59 -05:00
Joao Silva
4b57ffbb4f A11y: Replace LinkButton with Button in Value Mappings to make it accessible (#46330) 2022-03-09 14:01:24 +00:00
Selene
53799973f0 Documentation: Add using mock explanation for testing (#46360)
* Add using mock explanation for testing

* Update information of how to add go:generate in code

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

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-03-09 14:08:55 +01:00
renovate[bot]
9fc6ee2535 Update Yarn to v3.2.0 (#45714)
* Update Yarn to v3.2.0

* Update sdks as well

* Update nodejs to latest

* Updates

* Update grabpl to 2.9.23

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2022-03-09 10:10:51 +01:00
Leon Sorokin
ec911be8ef Perf: don't re-init plots when changing dashboard timeRange (#46339) 2022-03-09 01:51:07 +01:00
Xiangkun Liu
5fc5de8d5f Sync GitHub OAuth user name to Grafana if it's set (#45438) 2022-03-09 00:11:51 +08:00
Todd Treece
db5f480a8f Prometheus: Fix timestamp truncation (#46302)
* avoid truncation to seconding by using time.Time directly

* update test coverage
2022-03-08 10:55:25 -05:00
Yuriy Tseretyan
f7894db99c Alerting: declare authorization actions, scopes and roles for fine-grained access (#45748)
* add actions, roles and route mapping for rule permission
* add instance\notification actions
* do not declare alerting roles if no feature flag is set (temporary)
2022-03-08 09:22:16 -05:00
J Guerreiro
874ac9180b Service Accounts: Add enabled/disabled status to list (#46259)
* ServiceAccounts: improve where condition

* ServiceAccounts: Add Enabled/Disabled status to list
2022-03-08 14:10:16 +01:00
Karl Persson
1f3f4ebe21 Support permission filter in access control search filter (#46317) 2022-03-08 12:46:49 +01:00
Yaelle Chaudy
ed7701c6b2 Updated span for Button to be accessible (#46296) 2022-03-08 12:42:03 +01:00
Yaelle Chaudy
bfde8ee603 A11y : Updated EmptyListCTA to switch between Button and LinkButton (#46292)
* Updated EmptyListCTA to switch between Button and LinkButton

* Added tests
2022-03-08 12:41:00 +01:00
J Guerreiro
2aeae69a16 Service Accounts: Display name to ID (#46258)
* ServiceAccounts: modernize SA creation interface

* ServiceAccounts: improve service account ID generation

* ServiceAccounts: remove unused method

* ServiceAccounts: Make SA ID display name dependent

* ServiceAccounts: Add tests for Service Account creation

* trim trailing whitespace

* Update pkg/services/serviceaccounts/api/api.go

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

* Update pkg/services/serviceaccounts/api/api.go

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2022-03-08 12:07:58 +01:00
renovate[bot]
130ec748b9 Update typescript-eslint monorepo to v5.14.0 (#46305)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-08 10:48:59 +01:00
Giordano Ricci
1ef247e0c6 TagsInput: fix tags remove button accessibility issues (#46254)
* TagsInput: fix remove button focusable state

* Add tests

* use IconButton

* reverted style changes & disable iconbutton hover animation
2022-03-08 08:58:21 +00:00
Torkel Ödegaard
79e5e5c024 DataSource: Default data source is no longer a persisted state but just the default data source for new panels (#45132)
* PanelEdit: Change the meaning of default data source to be just that the default for new panels

* Added migration, and also migration for annotation datasource prop to data source refs

* fix

* Fixing tests

* Fixes to annotation

* Fixing unit test
2022-03-08 08:56:12 +01:00
Leon Sorokin
a9ee446de4 HeatmapNG: fix Prometheus frame-per-bucket heatmap response rendering (#46309) 2022-03-07 20:51:11 -06:00
Jeff Levin
5d2f34d8e2 ValidatedQueries: start of validated queries API (#44731)
* adds an api endpoint for use with public dashboards that validates orgId, dashboard, and panel when running a query. This feature is in ALPHA and should not be enabled yet. Testing is based on new mock sqlstore.

Co-authored-by: Jesse Weaver <jesse.weaver@grafana.com>
Co-authored-by: Leandro Deveikis <leandro.deveikis@gmail.com>
2022-03-07 09:33:01 -09:00
Karl Persson
77393121ca ingore permissions in json serialization (#46295) 2022-03-07 16:35:57 +01:00
Leon Sorokin
0ee552dd65 LegacyBrowser: fix Safari 13.1 (lacks logical nullish assignent) (#46260) 2022-03-07 09:21:28 -06:00
Kevin Yu
1bf605fa83 Docs: Fix link to instructions for backporting a PR (#46211) 2022-03-07 07:10:18 -08:00
J Guerreiro
c6cae8411a APIKeys: add API key migration to ensure fk is null (#46285) 2022-03-07 15:58:20 +01:00
Karl Persson
0debf33c76 Access control: Always append all permissions to role admin in oss (#46282)
* Always append all permissions to built in role admin in oss
2022-03-07 13:28:39 +01:00
Timur Olzhabayev
00a8542ecf Adding migration guide for dashboard and fixing signing doc (#46238) 2022-03-07 13:12:13 +01:00
Ivana Huckova
6e96506c23 Query history: Add search functionality (#45932)
* Query history: Add search functionality

* Add more tests

* Add documentation

* Fix spell errors

* Update docs

* Update docs

* Fix lint error

* Update docs/sources/http_api/query_history.md

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>

* Document limit

* Run tests with postgres and mysql

* Use CASE insted of IIF

* Use BooleanStr instead of 1

* Change LIKE to LikeStr()

* Return back integration tests

* Update SQL to use Bool() everywhere

* Create new tests for sorting

* Update docs/sources/http_api/query_history.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/http_api/query_history.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/http_api/query_history.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/http_api/query_history.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/http_api/query_history.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Add page, count and limit to results

* Remove newline

* Update documentation

* Update docs

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2022-03-07 12:28:04 +01:00
renovate[bot]
801d751b20 Update dependency rollup to v2.70.0 (#46275)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-07 08:59:50 +01:00
renovate[bot]
f0e48938f8 Update dependency ts-node to v10.7.0 (#46265)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-07 08:55:08 +01:00
Yuriy Tseretyan
288e8eeb15 Alerting: Do not update rule in database if it was not changed (#45980)
* do not include update if no diff
* refactor calculate changes to include diff (and log)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-03-04 16:16:33 -05:00
J Guerreiro
7f1e8cee2b APIKeys: Add AC controls for legacy API keys (#46255)
* APIKeys: Add AC controls for legacy API keys

* pluralize actions
2022-03-04 19:01:03 +01:00
kay delaney
b47f5433d7 DataLinks: Encode variable params for data link URLs (#46100) 2022-03-04 17:05:56 +00:00
renovate[bot]
9aa4bde7fc Update dependency css-loader to v6.7.0 (#46245)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-04 16:17:39 +00:00
Will Browne
6a8cbd8663 Plugins: Plugin settings refactor (#46246)
* remove bus and direct use of sqlStore

* add decryption to interface

* return nil

* rename field

* re-order fields

* rename file
2022-03-04 17:09:50 +01:00
Dimitris Sotirakis
b409c9782f Update grabpl (#46253) 2022-03-04 16:31:39 +01:00
Andrej Ocenas
1604e09549 Prometheus: Add text to Add operation button (#46249) 2022-03-04 15:59:11 +01:00
Connor Lindsey
23956557d8 TraceView: Reduce whitespace in KeyValuesTable (#46105) 2022-03-04 07:37:32 -07:00
Will Browne
7694b78456 mv and refactor (#46242) 2022-03-04 15:26:35 +01:00
Andrej Ocenas
5aa1713941 Prometheus: Support more binary operations in visual builder (#46241)
* Add definitions and code to parse more binary ops

* Add alternativesKey

* Add signs to nested query

* Change label
2022-03-04 15:04:09 +01:00
renovate[bot]
53d8c03dff Update dependency mini-css-extract-plugin to v2.6.0 (#46214)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-04 12:13:35 +00:00
Eric Leijonmarck
3d168eb34b Searchable service accounts (#45844)
* WIP

* draft of WIP

* feat: search and filtering works 🌈

* Update pkg/models/org_user.go

* Apply suggestions from code review

* refactor: remove unsed function

* refactor: formatting

* Apply suggestions from code review

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

* WIP

* comment

* Update public/app/features/serviceaccounts/ServiceAccountsListPage.tsx

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

* review comments

* wip

* working search and initial load of service accounts

* number of tokens working

* removed api call

* Apply suggestions from code review

* added accescontrol param

* accesscontrol prefix corrected

Co-authored-by: J Guerreiro <joao.guerreiro@grafana.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2022-03-04 12:04:07 +01:00
Yaelle Chaudy
45e4611807 Added test coverage commands to package.json (#46235) 2022-03-04 11:37:33 +01:00
Shirley
438512c7ef CloudWatch: Add tests to query input region in executeLogAlertQuery (#46212) 2022-03-04 11:15:36 +01:00
Artur Wierzbicki
bdbb9ed54a Live: Fix support for StreamingFrameAction.Replace (#46086)
* fix StreamingFrameAction.replace

* simplify

* beautify

* cover `streamingDataFrame.ts` changes with unit tests

* formatting

* cover `LiveDataStream.ts` changes with unit tests

* update frame length after pushing new values
2022-03-04 14:04:30 +04:00
Sergey Kostrukov
1dca39fb91 Auth Proxy: encoding of non-ASCII headers (#44797)
* Decode auth proxy headers using URL encoding

* Header encoding configuration via settings file

* Rename configuration setting to headers_encoded

* Quoted-printable encoding

* Tests for AuthProxy

* Fix encoding name

* Remove authproxy init
2022-03-04 04:58:27 -05:00
Jack Westbrook
9b5a42845d Chore: Remove prettier-plugin from ESLint (#45910)
* chore(eslint): remove prettier-plugin

* chore(eslint): test changes by using grafana/eslint 3.0.0-alpha

* chore(prettier): add js,ts,tsx when checking / writing

* chore(prettier): dont check js files

* chore(linting): align prettier and eslint ignore files

* style: run prettier:write on FE codebase

* chore(eslint): use grafana/eslint-config@3.0.0
2022-03-04 10:49:50 +01:00
Gilles De Mey
a9b1a964b0 Alerting: adds support for federated rules (#46037) 2022-03-04 10:16:13 +01:00
matt abrams
52629fbc4e Postgres: Return tables with hyphenated schemes (#45754)
* add basic test for buildSchemaConstraint function

* wrap table schema in quote_ident function

* fix type error in meta_query.test

* swap test for inline comment

* make comment more readable
2022-03-04 09:56:55 +01:00
Levente Balogh
c331af93b9 Plugins: allow using both Function and Class components for app plugins (#46148)
* fix: make it possible to use both class and functional components for plugins

* fix: accept both class and functional components as plugin root pages

* refactor: import types by name

* refactor: use `ComponentType`
2022-03-04 09:52:59 +01:00
Gábor Farkas
c4404982dc loki: backend-mode: add nanosecond-timestamps (#45963) 2022-03-04 09:42:18 +01:00
Jack Westbrook
efe9eed758 Chore: Move Typescript cache file to root (#45964)
* chore(typescript): move TS cache file to root of repo

* chore(typescript): cache packages ts checks to disk for faster yarn typecheck
2022-03-04 09:26:25 +01:00
Torkel Ödegaard
a404dba29d Datasource: Fixes changing default data source causes inconsistency between panel data source and query data source (#46167)
* Datasource: Fixes changing default data source causes inconsistency between panel data source and query data source

* Fix unit tests
2022-03-04 08:58:13 +01:00
Kevin Minehart
0544218bb7 upgrade to 2.9.21 (#46219) 2022-03-03 19:00:46 -06:00
Kevin Minehart
593b2846c6 upgrade to 2.9.20 (#46217) 2022-03-03 18:09:14 -06:00
Ryan McKinley
0aad61d0ac Search: add a simple search page (behind feature flag) (#45487)
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2022-03-03 14:56:14 -08:00
Kevin Minehart
085a8fde67 linux-x64 -> linux-amd64 (#46209) 2022-03-03 23:53:09 +01:00
Shirley
e39d5382cf CloudWatch: Update minimal policies documentation (#45478)
* Separate metrics and logs policies

* Update policy examples

Removes GetMetricStatistics which is no longer used

* WIP for testDatasource

* WIP add datasource health check test

* Undo changes on imports
2022-03-03 17:00:10 -05:00
Kevin Minehart
09e74c5ec5 upgrade grabpl (#46192) 2022-03-03 18:42:29 +00:00
Karl Persson
7daa0a05e3 Fix spelling (#46191) 2022-03-03 19:16:44 +01:00
Karl Persson
8cea8fdaea Access Control: Filter out hidden permissions in access control dashboard guardian (#46177)
* Implement GetHiddenACL to handle legacy api correctly
2022-03-03 18:29:39 +01:00
Karl Persson
19266ad3de Docs: Add documentation for dashboard and folder roles (#46171)
* Add docs for dashboard and folder permissions

* Add docs for dashboard and folder roles

* Update docs/sources/enterprise/access-control/fine-grained-access-control-references.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/enterprise/access-control/fine-grained-access-control-references.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2022-03-03 18:29:16 +01:00
Leon Sorokin
3e3a657343 BarChart: fix hovered series highlight in tooltip (#44882) 2022-03-03 10:57:54 -06:00
Ashley Harrison
b1125c0ba3 TextPanel: Sanitize after markdown has been rendered to html (#46166)
* Sanitize after markdown has been rendered to html

* Update e2e test
2022-03-03 16:50:09 +00:00
Kyle Brandt
994a22f4c2 Chore: Remove deprecated no-op option PreferServerCipherSuites (#46174)
* Chore: Remove deprecated no-op option PreferServerCipherSuites
from the tls configs.
Per golang docs: "PreferServerCipherSuites is a legacy field and has no effect."
2022-03-03 11:48:26 -05:00
Joey Tawadrous
6f3ebbe6cc Trace view scroll to top button (#46077)
* Trace view scroll to top button

* Updated button css selector

* Updates for scrolToTop

* Updated snapshot

* Updated render

* Add smooth scrolling
2022-03-03 16:19:44 +00:00
Andres Martinez Gotor
cfbf58fb92 AzureMonitor: Move rest of deprecated code (#46109) 2022-03-03 17:16:10 +01:00
renovate[bot]
0880e0a472 Update dependency webpack to v5.70.0 (#46172)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-03 16:55:00 +01:00
Timur Olzhabayev
32170e401f Fixing docs comma (#46169) 2022-03-03 10:47:32 -05:00
Dimitris Sotirakis
42dd4d687d CI: Change variants for pr_pipelines (#46170)
* Change variants for pr_pipelines

* Update grabpl
2022-03-03 16:39:03 +01:00
Dimitris Sotirakis
0012b89826 CI: Rename build variants - bump grabpl version (#46152)
* Update grabpl

* Change variants for pr_pipelines
2022-03-03 16:31:44 +02:00
Karl Persson
7966e3583e Access control: Dashboard and folder permissions frontend (#45094) 2022-03-03 15:18:27 +01:00
Karl Persson
4982ca3b1d Access control: Use access control for dashboard and folder (#44702)
* Add actions and scopes

* add resource service for dashboard and folder

* Add dashboard guardian with fgac permission evaluation

* Add CanDelete function to guardian interface

* Add CanDelete property to folder and dashboard dto and set values

* change to correct function name

* Add accesscontrol to folder endpoints

* add access control to dashboard endpoints

* check access for nav links

* Add fixed roles for dashboard and folders

* use correct package

* add hack to override guardian Constructor if accesscontrol is enabled

* Add services

* Add function to handle api backward compatability

* Add permissionServices to HttpServer

* Set permission when new dashboard is created

* Add default permission when creating new dashboard

* Set default permission when creating folder and dashboard

* Add access control filter for dashboard search

* Add to accept list

* Add accesscontrol to dashboardimport

* Disable access control in tests

* Add check to see if user is allow to create a dashboard

* Use SetPermissions

* Use function to set several permissions at once

* remove permissions for folder and dashboard on delete

* update required permission

* set permission for provisioning

* Add CanCreate to dashboard guardian and set correct permisisons for
provisioning

* Dont set admin on folder / dashboard creation

* Add dashboard and folder permission migrations

* Add tests for CanCreate

* Add roles and update descriptions

* Solve uid to id for dashboard and folder permissions

* Add folder and dashboard actions to permission filter

* Handle viewer_can_edit flag

* set folder and dashboard permissions services

* Add dashboard permissions when importing a new dashboard

* Set access control permissions on provisioning

* Pass feature flags and only set permissions if access control is enabled

* only add default permissions for folders and dashboards without folders

* Batch create permissions in migrations


* Remove `dashboards:edit` action

* Remove unused function from interface

* Update pkg/services/guardian/accesscontrol_guardian_test.go

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2022-03-03 15:05:47 +01:00
Giordano Ricci
4caf5dbbd9 Explore: minor copy changes in the Add to dashboard modal (#46154)
* Explore: minor copy changes in the Add to dashboard modal

* fix tests

* Additional copy changes & test fixes
2022-03-03 14:01:03 +00:00
Connor Lindsey
cb1649e9b8 NodeGraph: Include frames with name edges or nodes in node graph (#46047)
* Include frames with name edges or nodes in node graph
2022-03-03 06:42:08 -07:00
Torkel Ödegaard
3b487c2661 Loki: Initial loki builder tests (#46076) 2022-03-03 14:30:17 +01:00
idafurjes
e7ea3be4bc Resolve merge conflict lint error (#46162) 2022-03-03 08:13:26 -05:00
renovate[bot]
e820275d06 Update dependency @braintree/sanitize-url to v6 (#46052)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-03 11:56:42 +00:00
Selene
87d3c06fef Fix: Add missing store in test rule (#46151) 2022-03-03 12:00:33 +01:00
idafurjes
fa7323e6d5 Provisioning: Fix plugin provisioning storing SecureJsonData (#46149)
* Provisioning: Fix plugin provisioning storing SecureJsonData

* Fix tests and rename service to pluginSettings
2022-03-03 11:57:33 +01:00
Will Browne
b54b438a24 Plugins: Refactor plugin settings service (#45967)
* tests passing

* rename and rejig

* move interface to package and rename to Store

* new package

* add import alias
2022-03-03 11:39:15 +01:00
Andrej Ocenas
6dea7275a6 Prometheus: Improved the function selector with search (#46084)
* Change to cascader with search

* Don't change to select on backspace

* Fix error on group select

* Simplify getOperationDef

* Set cascader wrapper to fixed width

* Add placeholder

* Fix tests and type errors

* Fix props for backward compatibility

* Add comments
2022-03-03 10:24:33 +01:00
Giordano Ricci
09f48173fe Explore: allow users to save Explore state to a new panel in a new dashboard (#45148)
* Add Button & Form

* Save to new dashboard

* minor adjustements

* move modal to a separate component

* handle dashboard name related errors

* pick visualization based on query results

* lift state

* fix types

* Add Open & Close tests

* Add submit test

* add navigation tests

* add tests for API errors

* remove console log

* create wrapper component for AddToDashboardButton

* remove unused mapped prop

* add wrapper test

* rename isActive to isVisible

* invert control over save & redirect logic

* remove leftover commented code

* cleanup setup parameters

* reorganize code & improve tests

* Remove option to add to existing dashboard

* UI tweaks

* disable button if no queries

* Fix tests

* better accessible tests

* handle submission errors

* improve addToDashboard types

* use dashboardSrv' saveDashboard

* remove leftover test helper

* fix typo

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>

* Apply suggestions from code review

Co-authored-by: Kristina <kristina.durivage@grafana.com>

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
Co-authored-by: Kristina <kristina.durivage@grafana.com>
2022-03-03 08:54:06 +00:00
renovate[bot]
c4ccfc3bf7 Update dependency eslint-config-prettier to v8.5.0 (#46129)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-03 08:46:26 +00:00
renovate[bot]
52568c7af1 Update dependency ol to v6.13.0 (#45949)
* Update dependency ol to v6.13.0

* fix types

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-03-03 09:45:33 +01:00
Shirley
1255f8a76a Unexport mocks, use aws-sdk-go helpers, rename test utilities file (#46107) 2022-03-03 09:42:51 +01:00
matt abrams
c863676b65 Postgres: Fix aggregate dropdown when TimescaleDB is enabled (#45993)
* add timescaleDB checker function

* use existing fn findAggregateIndex

* build options from empty list

* refactor fn and handle state for existing elem

* remove newline
2022-03-03 09:29:37 +01:00
Kevin Minehart
1fef87fbcc upgrade grabpl (#46127) 2022-03-03 10:17:05 +02:00
Leon Sorokin
89140c8353 Graph (old): fix null interval insertion, again (follow-up to #46069) (#46139) 2022-03-03 00:02:18 -08:00
Artur Wierzbicki
a8b90d9a25 FileStore: add basic file storage API (#46051)
* #45498: fs API alpha

* #45498: remove grafanaDS changes for filestorage.go

* #45498: fix lint

* #45498: fix lint

* #45498: remove db file storage migration

* #45498: linting

* #45498: linting

* #45498: linting

* #45498: fix imports

* #45498: add comment

* remove StorageName abstractions

* FileStore: add dummy implementation (#46071)

* #45498: bring back grafanaDs changes, add dummy filestorage

* #45498: rename grafanaDs to public

* #45498: modify join

* #45498: review fix

* #45498:  unnecessary leading newline (whitespace) IMPORTANT FIX

* #45498: fix belongsToStorage

* #45498: fix removeStoragePrefix so that it works with abs paths

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-03-03 10:53:26 +04:00
Leon Sorokin
854f872b40 StateTimeline: insert trailing null value at +interval (#45997) 2022-03-02 18:21:12 -06:00
Yuriy Tseretyan
016d9e14ed Add missing option "OK" for Error state (#45262)
* Add missing OK option to models
* add ok to legacy legacy UI does not support it but it is possible to do so via provisioning.
* use enums in migration so linter would catch missing cases
2022-03-02 19:07:55 -05:00
achatterjee-grafana
b58f3c8a05 Docs: Update ldap authentication topic (#46128)
* Fixed broken relrefs, and updated password format in ldap authentication topic.

* Fixed few more broken links.
2022-03-02 16:08:46 -05:00
Marcus Efraimsson
76495374dc Docs: Include ID token example in Forward OAuth identity for the logged-in user section (#46121)
Ref #45938
2022-03-02 20:52:13 +01:00
Christopher Moyer
b677318277 docs: modify user preferences refactor (#45553)
* docs: modify user preferences refactor

* yarn prettier

* add missing procedures

* fix link

* Update docs/sources/manage-user-preferences/_index.md

Co-authored-by: Ursula Kallio <ursula.kallio@grafana.com>

* minor edits and moved docs to admin chapter

* Eve comment out note relref

* yarn prettier

Co-authored-by: Mitchel Seaman <mitchel.seaman@gmail.com>
Co-authored-by: Ursula Kallio <ursula.kallio@grafana.com>
Co-authored-by: Eve832 <eve.meelan@grafana.com>
2022-03-02 13:47:39 -06:00
Giordano Ricci
e8a54d58c5 chore: update latest.json (#46122) 2022-03-02 19:45:07 +00:00
Grot (@grafanabot)
50fb63a468 ReleaseNotes: Updated changelog and release notes for 8.4.3 (#46119) 2022-03-02 19:18:48 +00:00
renovate[bot]
ccdb904e3b Update dependency @types/react-calendar to v3.5.0 (#46117)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-02 19:46:19 +01:00
renovate[bot]
1f332a846b Update dependency lezer-promql to v0.22.0 (#45838)
* Update dependency lezer-promql to v0.22.0

* Add missing peerdep + fixes in code

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2022-03-02 19:45:08 +01:00
renovate[bot]
1fa45e2c16 Update dependency eslint to v8.10.0 (#45939)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-02 18:39:17 +00:00
renovate[bot]
141b1fad20 Update dependency rollup to v2.69.0 (#46098)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-02 18:35:16 +00:00
Armand Grillet
cd3fb8e832 Document available Alerting annotations (#46081)
* Document available Alerting annotations

* Update docs/sources/alerting/unified-alerting/alerting-rules/alert-annotation-label.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2022-03-02 12:53:24 -05:00
Ryan McKinley
855979aac5 Heatmap: add scale display to legend (#45571)
Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
2022-03-02 09:04:19 -08:00
Connor Lindsey
9067715d1d UI: Add focus styles to QueryField component (#45933)
* Add focus styles to QueryField component
2022-03-02 16:33:14 +01:00
Torkel Ödegaard
5c05a3deb9 Prometheus: Save query editor mode default (#46074) 2022-03-02 16:16:19 +01:00
Zoe Braiterman
67e605c5c0 Update README.md (#45946) 2022-03-02 15:52:45 +01:00
Andres Martinez Gotor
d4b05f9421 AzureMonitor: Remove deprecated configuration parameters (#45860) 2022-03-02 15:42:30 +01:00
Andres Martinez Gotor
700f6863f2 AzureMonitor: Move Application Insights and Insight Analytics to a deprecated package (#45834) 2022-03-02 15:41:07 +01:00
Ashley Harrison
3427ae463d Dashboard: Add feature reporting for dashboard import (#46080)
* Add feature reporting for dashboard import

* Update tracking event names
2022-03-02 14:35:52 +00:00
Marco Dalalba
e738896316 Jaeger: Add support for traceID field to accept variables. (#45559) 2022-03-02 07:35:36 -07:00
kay delaney
f530775e45 Chore: Remove several 'as' type assertions (#45913) 2022-03-02 14:02:09 +00:00
Levente Balogh
47d1d83673 feat: add a new <SecretInput> component (#46073) 2022-03-02 14:53:34 +01:00
Isabella Siu
590ea19c3f Cloudwatch: use CheckHealth for testing datasource (#45974)
Co-authored-by: Shirley Leu <4163034+fridgepoet@users.noreply.github.com>
2022-03-02 08:48:51 -05:00
Torkel Ödegaard
a53f169350 Loki: Update syntax highlighting to colorize strings (#45962)
* Loki: Update syntax highlighting to colorize strings

* Updated patterns
2022-03-02 13:43:56 +01:00
Konrad Lalik
aeec087065 Alerting: Fix silence url in notifications (#46031)
* Update silence url generation

* Update tests

* Update test to the new silence params format

* Fix tests
2022-03-02 13:06:35 +01:00
Ashley Harrison
bc26d42980 Update stale.yml (#46082) 2022-03-02 11:57:17 +00:00
Dimitris Sotirakis
2f6c827f5d CI: Introduce build-frontend-packages step (#45824)
* Split frontend build

* Fix command name

* Update grabpl
2022-03-02 13:02:07 +02:00
Selene
2e6f14d17f Bus: Tests cleanup (#46025)
* Delete unused bus from usagestats

* Few updates to remove bus from searchusers test

* Fix import
2022-03-02 11:05:31 +01:00
Selene
5eaf6509c0 Dashboard Extractor: Don't fail when using default OSS implementation (#46024)
* Don't fail when using default OSS implementation

* Check correct error
2022-03-02 11:04:29 +01:00
Erik Sundell
8e08128f83 CloudWatch: List all metrics properly in SQL autocomplete (#45898)
* make sure right value is passed for metric

* add unit test
2022-03-02 10:46:17 +01:00
Ivana Huckova
647c5208d7 Devenv: Add documentation for integration tests (#46056)
* Add documentation for integration tests

* Update contribute/developer-guide.md
2022-03-02 10:12:50 +01:00
ying-jeanne
b4634afe33 use alerting service instead of store in provisioning (#45926)
* fix notification

* Fix confir reader notifiers test

* Move UpdateAlertNotificationWithUid to alertingService

* Rename Store to Manager

* Rename Store to Manager in provisioning

Co-authored-by: Ida Furjesova <ida.furjesova@grafana.com>
2022-03-02 09:40:53 +01:00
Leon Sorokin
fa99143eee Graph (old): use timeField.config.interval to apply null insertion logic (#46069) 2022-03-01 23:23:48 -06:00
Ryan McKinley
796bc27f75 Loki: support live streaming (#42804) 2022-03-01 14:46:52 -08:00
renovate[bot]
09cde9a700 Update dependency ts-node to v10.6.0 (#46045)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-01 18:55:06 +01:00
Marcus Efraimsson
843e587a05 Docs: Fix typo in Forward OAuth identity for the logged-in user section (#46043)
Fixes #45938
2022-03-01 18:49:58 +01:00
renovate[bot]
f5705522aa Update dependency eslint-plugin-react to v7.29.2 (#45880)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-01 17:24:40 +00:00
renovate[bot]
ce3943bf4b Update typescript-eslint monorepo to v5.13.0 (#45988)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-01 17:22:24 +00:00
renovate[bot]
26e5af4b2e Update dependency rollup to v2.68.0 (#45747)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-01 17:21:56 +00:00
George Robinson
789cfc31e3 Alerting: Fix use of > instead of >= when checking the For duration (#46011) 2022-03-01 17:06:42 +00:00
Alexander Weaver
703d7deeda Alerting: Add integration tests for dual-stage email templating (#43484)
* Resolve merge conflicts

* Remove cruft from local exploration

* Move integration tests to intercept using new abstraction layer instead of channel

* Fix linter error after rebase
2022-03-01 10:49:49 -06:00
Yuriy Tseretyan
4502e40ed8 Alerting: Revert Revert "Alerting: Calculate diff for two AlertRules" (#46034)
* Revert "Revert "Alerting: Calculate diff for two AlertRules (#45877)" (#46023)"

This reverts commit 82aa5acba6.

* remove flakiness
2022-03-01 11:10:29 -05:00
achatterjee-grafana
77dddf43bc Docs update default.ini file description (#46036)
* remove confusing wording

* fixed broken alerting links
2022-03-01 10:30:46 -05:00
Tim Levett
86b4c4a08a (GitHubActions) Add grafana-partners team label to team board (#45990) 2022-03-01 09:06:46 -06:00
Grot (@grafanabot)
3ea6c8cf64 ReleaseNotes: Updated changelog and release notes for 8.3.7 (#46028) 2022-03-01 14:00:27 +00:00
Jean-Philippe Quéméner
82aa5acba6 Revert "Alerting: Calculate diff for two AlertRules (#45877)" (#46023)
This reverts commit 4e19d7df63.
2022-03-01 13:40:47 +01:00
Torkel Ödegaard
9bd6290968 Prometheus: Query builder operation docs popover improvements (#46006) 2022-03-01 13:12:14 +01:00
Torkel Ödegaard
16b99cc0f5 Prometheus: Query builder ux tweaks (#46017) 2022-03-01 13:11:47 +01:00
Stephanie Closson
251d6ed0e0 Chore: Add function documentation for new functions (Prometheus visual query editor) (#45745)
* add missing function documentation

* added trigonometric functions
2022-03-01 07:42:32 -04:00
renovate[bot]
36b039a10e Update sentry-javascript monorepo to v6.18.1 (#45842)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-01 10:49:46 +00:00
Timur Olzhabayev
6f14490c6b Making yarn.lock bump work (#46016) 2022-03-01 11:16:18 +01:00
Timur Olzhabayev
fd644c48ac Switching to github.event.number as issue.number not always work (#46018) 2022-03-01 11:09:03 +01:00
Karl Persson
18cbfba596 Access control: Filter users and teams by read permissions (#45968)
* pass signed in user and filter based on permissions
2022-03-01 10:58:41 +01:00
matt abrams
07dda8a299 Transformations: Use asterisk for First non-null label (#45940) 2022-03-01 10:27:01 +01:00
J Guerreiro
bc5237e840 Service Accounts: Link final components in service accounts detail page (#45929)
* ServiceAccounts: Delete/Disable service account from details page

* ServiceAccounts: capitalize viewable messages from UI

* ServiceAccounts: Link new update endpoint to details page

* ServiceAccounts: reimplement service account retrieve to include is_disabled and only target service accounts

* Cleanup styles

* Fix modal show

* ServiceAccounts: simplify handler functions

* Apply suggestions from code review

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

Co-authored-by: Clarity-89 <homes89@ukr.net>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2022-03-01 09:21:55 +01:00
Leon Sorokin
b491d6b4dc Histogram: auto-skip x tick labels to avoid overlap (#45996) 2022-03-01 01:55:53 -06:00
Leon Sorokin
1c4b20b268 BarChart: fix single group rendering (#45953) 2022-02-28 15:21:09 -06:00
Leon Sorokin
5aab0063c7 StateTimeline: fix duration in tooltip (#45955)
- Fixes duration in StateTimeline appearing incorrectly when "merge consecutive values" is enabled.
2022-02-28 14:16:30 -06:00
Cat Perry
83664121bc Jaeger: Show loader when search options havent yet loaded (#45936)
* Swap out Select component for AsyncSelect to Jaeger search panel
2022-02-28 11:06:09 -08:00
ying-jeanne
06ed5efdf0 Middleware: Fix IPv6 host parsing in CSRF check (#45911)
- Also create tests for this middleware

Co-authored-by: Kyle Brandt <kyle@grafana.com>
2022-02-28 13:58:56 -05:00
Nathan Rodman
e814e7364b Alerting: fix alert groups grouping (#45012)
* fix multiple non-grouped groupings

* drop duplicate alerts

* add test for multiple groups without labels

Co-authored-by: gillesdemey <gilles.de.mey@gmail.com>
2022-02-28 09:50:17 -08:00
Yuriy Tseretyan
4e19d7df63 Alerting: Calculate diff for two AlertRules (#45877)
* add custom diff reporter DiffReporter that reports only paths that have a difference
* create Diff method for AlertRule that returns DiffReport, which is an alias for []Diff

Tests:
* create copy method for AlertRule in testing
* create GenerateAlertQuery method in testing
2022-02-28 17:13:53 +01:00
Dominik Prokop
eb537e2efd TablePanel: Add cell inspect option (#45620)
* TablePanel: Add cell preview option

* Review comments

* Change modal title

* Review

* Review 2

* Docs
2022-02-28 15:35:05 +01:00
Giordano Ricci
c014f8b806 DashboardSrv: add saveDashboard method (#45627)
* DashboardSrv: add saveDashboard method

* revert external changes

* use DashboardModel instead of DashboardDataDTO

* use fetch instead of request

* use getSaveModelClone in saveDashboard
2022-02-28 11:30:11 +00:00
Will Browne
e152ae4cf1 remove unused dashboard service dependency (#45920) 2022-02-28 12:28:19 +01:00
J Guerreiro
5cb03d6e62 Separate API key store from SA token store (#45862)
* ServiceAccounts: Fix token-apikey cross deletion

* ServiceAccounts: separate API key store and service account token store

* ServiceAccounts: hide service account tokens from API Keys page

* ServiceAccounts: uppercase statement

* ServiceAccounts: fix and add new tests for SAT store

* ServiceAccounts: remove service account ID from add API key

* ServiceAccounts: clear up errors
2022-02-28 11:30:45 +01:00
Gilles De Mey
15d681b823 grafana/ui: Selectable Card (#45538) 2022-02-28 11:23:23 +01:00
Joey Tawadrous
42e516523f InfluxDB: test datasource (#45636)
* Test datasource

* Remove core.explore check

* Extract resused check to function

* Update messages

* Updated message
2022-02-28 10:22:10 +00:00
Joey Tawadrous
f4658b72e1 InfluxDB: variables migration to backend (#45512)
* Remove check for explore

* Remove core app import

* applyVariables for select

* applyVariables for tags

* applyVariables for other query props

* applyTemplateVariables for flux

* applyTemplateVariables for influx

* Backwards compatibility

* interpolateVariablesInQueries

* Update InfluxQL mode and alias in test

* Should interpolate all variables with Flux mode

* Variables should be interpolated correctly

* Removed unused import

* explore in if check

* Removing backwards compat copy from classicQuery

* Return expandedQuery

* Const
2022-02-28 10:15:33 +00:00
Ivana Huckova
4ab191b612 Prometheus: Create AutoSizeInput with dynamic width (#45601)
* Autosize input for dynamic width

* Update

* Refactoring to use measureText util instead

* removed react fragment tags

* Add tests

* Use AutoSize input in legend, step and nested queries vector matcher

* Update

* Remove unused imports

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-02-28 10:52:58 +01:00
Torkel Ödegaard
9b6552c7b4 Prometheus: Fixes crash in the new options component when range was undefined (#45921)
* Prometheus: Fixes crash in the new options component when range was undefined

* Simplified conditions
2022-02-28 10:37:22 +01:00
Selene
2c90dcf3c0 Dashboard Alert Extractor: Create service for dashboard extractor and remove bus (#45518)
* Create DashAlertService service

* Remove no used dashboard service from plugin's manager that generates dependency cycle in Enterprise

* Remove bus for dashboard permissions

* Remove bus from dashboard extractor service

* Add missing argument

* Fix wire

* Fix lint

* More goimports

* Use datasource service instead sql calls

* Fix integration test
2022-02-28 09:54:56 +01:00
Erik Sundell
1df040eb23 CloudWatch: Remove error message when using multi-valued template vars in region field (#45886)
* don't show error message when using multi-valued template variables in region field

* add unit tests

* remove commented code
2022-02-28 09:28:27 +01:00
Armand Grillet
1b2c4dca61 Capitalize Webhook contact point type (#45942) 2022-02-26 10:45:05 +01:00
Tharun Rajendran
970dee4199 Trace View: Show number of child spans in span details view (#44393)
* package(jaegar): show no of child spans in view

Signed-off-by: tharun <rajendrantharun@live.com>



Co-authored-by: Connor Lindsey <cblindsey3@gmail.com>
2022-02-25 12:22:01 -07:00
Shachi Solanki
190757b3c6 Tempo / Trace Viewer: Support Span Links in Trace Viewer (#45632)
* Support Span Links in Trace Viewer

* Update ReferencesButton styles

* Remove datasource prop

Co-authored-by: Connor Lindsey <cblindsey3@gmail.com>
2022-02-25 11:14:13 -07:00
Serge Zaitsev
893f9e8ee4 use datasource service instead of store in provisioning (#45835) 2022-02-25 15:56:44 +00:00
Ikko Ashimine
c656a6bf1e Live: fix typo in channel.ts (#45915)
recieved -> received
2022-02-25 18:20:16 +03:00
George Robinson
f87bfdf2ff Update comment for scheduler_behind_seconds metric (#45918) 2022-02-25 15:43:08 +01:00
Gábor Farkas
525ecab3ee renovate: stop updating "@mdx-js/react" (#45909)
it is a peer-dependency of "@storybook/addon-docs" with version 1.x, the new version is 2.x. we should update them together.
2022-02-25 15:30:23 +01:00
Peter Holmberg
4ef58e595c Alerting: Add validation to slack contact point (#45618)
* add requiredifempty

* rename field, fix logic

* update mockdata

* remove logs

* update test

* fix json expected payload in e2e tests

* fix test

* fix test again

Co-authored-by: Jean-Philippe Quémémer <jeanphilippe.quemener@grafana.com>
2022-02-25 15:10:21 +01:00
Shirley
a68a570e92 CloudWatch: Add test to executeStartQuery (#45888)
* CloudWatch: Add test to executeStartQuery

* Add test for absence of limit

* Restrict assertions to limit in some tests
2022-02-25 13:14:59 +00:00
Gábor Farkas
f0f43e4635 loki:devenv: better config name (#45906) 2022-02-25 13:32:24 +01:00
Ashley Harrison
44a3243629 Update stale.yml (#45902) 2022-02-25 13:05:34 +01:00
Ashley Harrison
033f6cffb5 Add this import to fix main (#45905) 2022-02-25 12:54:19 +01:00
George Robinson
6cccbb5a09 Fix incorrect metric values for scheduler_behind_seconds (#45830) 2022-02-25 11:40:30 +00:00
Shirley
304185f682 CloudWatch: Fix running go test with count (#45892) 2022-02-25 12:20:07 +01:00
J Guerreiro
14ec0cbd3b Service Accounts: Polish service account detail page (#45846)
* ServiceAccounts: add teams to service account DTO

* ServiceAccounts: Add team display to service accounts

* ServiceAccounts: add AC metadata to detail route

* ServiceAccounts: add role picker to detail page

* ServiceAccounts: Add role to profile DTO

* ServiceAccounts: remove wip mention of created by
2022-02-25 11:33:34 +01:00
idafurjes
2334b98802 Use PluginSettingsService instead of SQLStore methods in plugins (#45480)
* Use PluginSettingsService instead of SQLStore in plugins

* Fix pluginproxy use of pluginsettings methods

* Fix additional pluginsettings methods

* Remove dispatch from plugindashboards

* Fix lint and adjust mock

* Remove unused pluginsettings

* Rename pluginsetting Service and ServiceImpl and add binding to wire

* Move pluginsettings binding in wire file
2022-02-25 11:29:18 +01:00
Timur Olzhabayev
ab0bbf6715 fix: update bump-version-action node runtime to 16 (#45856) 2022-02-25 11:22:42 +01:00
Torkel Ödegaard
f7291ce270 Prometheus: Remove the auto range vector option (#45715)
* Prometheus: Remove auto range option

* Prometheus: Remove auto range option

* Overhaul of range vector operations and default param

* Make sure label is string
2022-02-25 11:18:08 +01:00
Peter Holmberg
9d61dcb02b Alerting: Disable Alertmanager picker if there's only one Alertmanager (#45781) 2022-02-25 11:17:28 +01:00
George Robinson
2ca79ca0c7 Rename evalCtx to avoid confusion with context.Context (#45144) 2022-02-25 11:09:20 +01:00
Gábor Farkas
7152deb92f loki: log-volume: improved documentation (#45823)
* loki: log-volume: improved documentation

* spelling fixes
2022-02-25 10:36:56 +01:00
Gábor Farkas
1cad35ea67 loki: backend mode: support all query types (#45619)
* loki: backend mode: support all query types

* loki: backend: adjust vector-parsing field-names

* loki: backend: no interval for streams-dataframes

* loki: backend: enable more query types

* better variable name

* removed unnecessary code

* improve frame-processing

* more unit tests

* improved code

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>

* remove unused code

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>

* simplify code

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>

* lint fix

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2022-02-25 09:14:17 +01:00
Kyle Brandt
a578cf0f7c SSE: Fix NoData when some series were no data but others not (#45867)
Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>
2022-02-24 21:01:04 -03:00
Melori Arellano
8a98354844 Update dashboard_versions.md (#45871)
Fixes https://github.com/grafana/grafana/issues/45866, change dashboard version example to use `version` instead of `id`

`api/dashboards/id/24/versions/1`
2022-02-24 16:15:58 -05:00
J Guerreiro
1cc5b25a05 ServiceAccounts: Fix token creation with expiry (#45855)
* ServiceAccounts: Fix token creation with expiry

* ServiceAccounts: remove extraneous import
2022-02-24 19:22:57 +01:00
Stephanie Closson
33b6f996e1 Updated latest.json to 8.4.2 (#45861) 2022-02-24 13:47:30 -04:00
Borja Garrido
359ef074fa Transformations: Add new grouping to matrix transformer (#28739)
* Add new transformer grouping to matrix

* Add new transformer grouping to matrix tests

* Add new transformer grouping to matrix UI

* Fix tests for grouping to matrix transformer

* Update transformer to latest interfaces

* Add field selector to form

* Make linter happier

* Replace Fields with InlineSnapshot as it was to taking units properly

* Rearrange for new transformers structure

* Expose GroupingToMatrix options as part of data package

* Increase labelWidth as suggested

* Add uniqueValues helper function and use it to extract Column and Row Values
2022-02-24 17:01:04 +00:00
Grot (@grafanabot)
91af956eb7 ReleaseNotes: Updated changelog and release notes for 8.4.2 (#45850) 2022-02-24 12:56:37 -04:00
Per Osbäck
dcd98f7819 Escape windows newline. (#45771)
Fixes #45746
2022-02-24 17:37:49 +01:00
George Robinson
feae959c9d Alerting: Create annotation if Firing alert is removed (#45703)
This commit changes staleResultsHandler to create an annotation if the current state is Alerting and the result is being removed from the state cache as it has not been updated since 2x the evaluation interval.
2022-02-24 16:25:28 +00:00
Artur Wierzbicki
9e32357e69 Previews: increase crawler timeout (#45848) 2022-02-24 20:17:05 +04:00
Gábor Farkas
9a87755c3e renovate: do not update the "commander" package (#45839) 2022-02-24 16:59:48 +01:00
Ivana Huckova
9e452c7166 Devenv: Update Elasticsearch v7 image so it is usable on ARM (M1) (#45612)
* Devenv: Update Elasticsearch v7 images so they are usable on ARM (M1)

* Remove changes in 77

* Update data sources
2022-02-24 16:48:18 +01:00
Kat Yang
14decdb58c Chore: Remove bus from plugin context service (#45633)
* Chore: Remove bus from plugin context

* fix the plugincontext

Co-authored-by: Ying WANG <ying.wang@grafana.com>
2022-02-24 15:39:31 +01:00
Erik Sundell
b7a2fda2ae Azure Monitor: Fixes broken log queries that use workspace (#45820)
* allow log queries to be executed also without a resource

* add unit tests
2022-02-24 15:29:18 +01:00
Ashley Harrison
64ad33f31a Add a fallback for the clipboard API (#45831) 2022-02-24 13:58:56 +00:00
Yaelle Chaudy
0e7b0f16b8 Adding ap-southeast-3 to cloudwatch regions (#45821) 2022-02-24 14:00:24 +01:00
renovate[bot]
ba469be322 Update dependency @babel/plugin-transform-react-constant-elements to v7.17.6 (#45730)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-24 12:50:34 +01:00
Tharun Rajendran
0a572cae4b Explore: fix object value parsing for downloading traces as csv (#44492)
* Explore: fix object value parsing for downloading traces as csv

Signed-off-by: tharun <rajendrantharun@live.com>

* add replacer function to fix circular objects

Signed-off-by: tharun <rajendrantharun@live.com>
2022-02-24 11:45:51 +00:00
Gábor Farkas
85af6d2718 renovate: do not update monaco-editor (#45762)
* renovate: do not update monaco-editor

* renovate: alphabetically sort the entries
2022-02-24 12:06:53 +01:00
sam boyer
60db643983 grafana-cli: Diff generated ts directly instead of relying on git (#45815)
* Add diffing support to grafana-cli cue gen-ts

* Rely on diff comparison in cuetsify pipeline step

* Ignore *.gen.ts files with eslint

* Chore: Fix lint `sdboyer/cuetsify-compare` (#45818)

* Sync drone

(cherry picked from commit 40645ab19e39ff9b0a12b7ebb13a4dc4c5e1d472)

* Fix lint

(cherry picked from commit c95ece983984432fea029335b2b729b09d76c7eb)

* Sign drone

Co-authored-by: Dimitris Sotirakis <sotirakis.dim@gmail.com>
2022-02-24 12:03:07 +01:00
George Robinson
8d57318941 Alerting: Use expanded labels in dashboard annotations (#45726) 2022-02-24 10:58:54 +00:00
Ashley Harrison
d3700c4032 Chore: Remove console output from some jest tests (#45792)
* Chore: Remove console output from some jest tests

* Skip manual performance test
2022-02-24 10:49:48 +00:00
Andrej Ocenas
5c6061acd2 Prometheus/QueryBuilder: Fix parsing of functions without args (#45508) 2022-02-24 11:37:25 +01:00
Hugo Häggmark
0036233fa6 Chore: fix flaky e2e (#45822) 2022-02-24 10:34:49 +00:00
Konrad Lalik
d6c580e338 Alerting: Lotex alert groups removal (#45150)
* Add lotex group removal UI

* Connect UI to delete group action

* Add rules' refreshing after deletion of a group

* Improve confirmation message

* Add tests for RulesGroup

* Remove redundant check
2022-02-24 11:31:36 +01:00
Hugo Häggmark
bb5a39faef Chore: Enables flakey e2e test (#45816) 2022-02-24 09:55:00 +00:00
renovate[bot]
ede31b1602 Update dependency react-dropzone to v12 (#45089)
* Update dependency react-dropzone to v12

* Don't use FS Access api

* kick drone

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-02-24 10:33:59 +01:00
renovate[bot]
f4d9de00e9 Update dependency cypress to v9.5.0 (#44678)
* Update dependency cypress to v9.5.0

* drone: update cypress version

* Update drone.yml

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2022-02-24 10:32:55 +01:00
Ashley Harrison
b798520ba7 Chore: Add github action to manage stale PRs (#45766)
* Add github action to manage stale PRs

* Update days before close
2022-02-24 09:29:39 +00:00
Dominik Prokop
1dff00a7b3 Fixes state timeline and status history colors when pallet is used (#45765)
Co-authored-by: Victor Marin <victor.marin@grafana.com>

Co-authored-by: Victor Marin <victor.marin@grafana.com>
2022-02-24 00:38:49 -08:00
Nathan Rodman
f9701d78b1 Alerting: add field for custom slack endpoint (#45751)
* add field for custom slack endpoint

* add test for using custom endpoint

* Update pkg/services/ngalert/notifier/channels/slack.go

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>

* specify description for endpoint

* remove brittle string constants

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2022-02-23 14:33:23 -08:00
Kevin Minehart
cbf96e6a8b remove flaky cloudwatch test (#45800)
* remove flaky cloudwatch test

* remove unused code that was only in flaking test

* okay i guess they're both flaky

* Skip flaking templating-dashboard-links-and-variables test
2022-02-23 13:59:53 -06:00
Piotr Jamróz
5715be4afa Explore: Integration test for running a query and saving it in query history (#45728)
* Create basic query history test

* Clean up

* Clean up

* Use run button selector

* Mock AutoSizer instead of monkey-patching

* Reset local storage after each test

* Add accessible name to Run Query button and use it in the test

* Update public/app/features/explore/spec/helper/interactions.ts

Co-authored-by: Giordano Ricci <me@giordanoricci.com>

* Rename query to urlParams

* Fix linting errors

* Remove unused import

Co-authored-by: Giordano Ricci <me@giordanoricci.com>
2022-02-23 19:05:38 +01:00
Yuriy Tseretyan
f75bea481d Alerting: validate rules and calculate changes in API controller (#45072)
* Update API controller
   - add validation of rules API model
   - add function to calculate changes between the submitted alerts and existing alerts
   - update RoutePostNameRulesConfig to validate input models, calculate changes and apply in a transaction

* Update DBStore
   - delete unused storage method. All the logic is moved upstream.
   - upsert to not modify fields of new by values from the existing alert
   - if rule has UID do not try to pull it from db. (it is done upstream)

* Add rule generator
2022-02-23 11:30:04 -05:00
Ivana Huckova
a3a852be81 Query history: Create API to star and unstar query in query history (#45077)
* Query history: Add starring and unstarring API

* Return dto with starred info when commenting

* Add documentation for starring and unstarring of query

* Return dto when starring/unstarring

* Update documentation

* Update deleting with unstarring

* Check queryUID length in queryhistory

* Fix linting issues

* Update docs/sources/http_api/query_history.md

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>

* Update docs/sources/http_api/query_history.md

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
2022-02-23 17:03:04 +01:00
Sofia Papagiannaki
3cfbbbdbf2 Skip flaky test (#45785) 2022-02-23 16:56:21 +01:00
renovate[bot]
ce4bba888c Update dependency lru-cache to v7.4.0 (#45739)
* Update dependency lru-cache to v7.4.0

* Update snapshot

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2022-02-23 16:24:49 +01:00
Serge Zaitsev
c1239ee67c Chore: Remove bus from authinfoservice (#45787) 2022-02-23 16:22:16 +01:00
Joan López de la Franca Beltran
e6a85826e9 Encryption: Refine secrets-related commands (#45201)
* CLI: Adjust 're-encrypt-data-keys' command

* CLI: Adjust 're-encrypt' command

* Multiple improvements on re-encrypt secrets migration

* Another bunch of code improvements

* Lint fixes
2022-02-23 16:04:53 +01:00
kay delaney
043c1be572 NewNavigation: Fix failing e2e test (#45779) 2022-02-23 15:47:56 +01:00
Dimitris Sotirakis
2f0dcbbd9d Update grabpl and build-container version (#45784) 2022-02-23 16:14:15 +02:00
ying-jeanne
b512a3d75f bump go version to 1.17.7 (#45772) 2022-02-23 15:30:48 +02:00
Sofia Papagiannaki
5a1d8cbea7 Search: fix PostgreSQL query (#45305)
* Search: fix PostgreSQL query

* Apply suggestion from code review
2022-02-23 04:36:37 -08:00
Torkel Ödegaard
ef3f254208 Annotations: Fixes issue with tags filter not showing in annotation query (#45724) 2022-02-23 04:34:33 -08:00
matt abrams
ade8c18557 add default number of returned dashboards (#45755) 2022-02-23 04:28:39 -08:00
kay delaney
860e94420e NewNavigation: Fix default pinned items (#45769) 2022-02-23 12:40:56 +01:00
kay delaney
59317a22e4 AppNotifications: Migrate usage of deprecated appEvents.emit method to redux actions (#45607) 2022-02-23 11:31:15 +00:00
Jack Westbrook
d0d5304662 Revert "Update dependency react-hook-form to v7.26.1" (#45761)
* Revert "Update dependency react-hook-form to v7.26.1 (#43670)"

This reverts commit 175891a5e3.

* chore(renovate): prevent bumping react-hook-form so plugins dont break
2022-02-23 12:22:45 +01:00
Serge Zaitsev
a231c6861c Chore: Remove bus.Dispatch from provisioning services (#44989)
* make getordbyname a method

* remove one dispatch from plugins provisioner

* remove bus from the plugins provisioner, skip test for now

* remove bus from datasource provisioning

* resolve tests in notifier provisioning

* remove bus from the dashboards provisioning service

* fix missing struct field

* fix getorgbyid method calls

* pass org store into dashboard provisioner

* fix test function prototype

* fix tests

* attempt to fix tests after the rebase

* fix integration test

* avoid using transaction

* remove comments
2022-02-23 11:12:37 +01:00
kay delaney
49ac8b9f0a Dashboards: Move slow dashboard logic to css (#45686) 2022-02-23 09:35:42 +00:00
Todd Treece
01df00fd0f DataFrame: Add cached response notice for X-Cache: HIT header (#45564) 2022-02-23 04:17:35 +01:00
Connor Lindsey
af2d19b02e Tracing: Add option to map tag names to log label names in trace to logs settings (#45178)
* Add mapped tags input to allow renaming tags in trace to logs settings

* Use mappedTags in createSpanLink

* Update traceToLogs docs

* Show 'add kv' button if no tags

* Update docs

* Default mappedTags to tag values
2022-02-22 23:17:45 +01:00
renovate[bot]
6165377eb2 Update dependency webpack to v5.69.1 (#45661)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-22 20:39:36 +01:00
matt abrams
76da017d00 MySQL: Prevent pre-epoch timestamps from breaking __timeFilter (#45345)
* add logic to change timeFilter query when FROM time is pre-EPOCH

* fix timeFilter tests where FROM time is pre-EPOCH
2022-02-22 20:06:04 +01:00
Dimitris Sotirakis
ea3e41ea62 CI: Add docs pipeline for main pipelines (#45740)
* Add docs pipeline for main

* Extract trigger docs

* Change trigger for main
2022-02-22 18:06:14 +00:00
renovate[bot]
4a804b57f7 Update dependency prismjs to v1.27.0 (#45621)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-22 17:06:01 +01:00
Dimitris Sotirakis
02640c7436 Docs: Remove dependency between build-frontend and build-frontend-docs (#45736)
* Remove dependency

* Add yarn commands
2022-02-22 18:02:36 +02:00
Michał Sochoń
68ef0e1f84 Update alertmanager.md (#45699)
Update default port which is used to host alertmanager.
Official port is 9093.
9090 is used officially by Prometheus.
2022-02-22 09:33:00 -05:00
Giordano Ricci
9307cc86f2 UI: Improve modal a11y by setting role & using title as label (#45472)
* UI: Improve modal a11y by setting role & using title as label

* remove wrapping div for cutom title components

* Fix typo
2022-02-22 14:12:34 +00:00
renovate[bot]
c11cf7d470 Update dependency @react-aria/menu to v3.4.1 (#45514)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-22 13:58:51 +00:00
J Guerreiro
e201b777c2 Service Accounts: small typo and dto fixes (#45677)
* ServiceAccounts: respect js casing and small fixes to displayed values

* ServiceAccounts: fix typos on service account

* ServiceAccounts: fix missing orgID in service account

* ServiceAccounts: Small fixes to dtos for profile

* ServiceAccounts: use result org id

* ServiceAccounts: return value is always nil
2022-02-22 14:58:42 +01:00
Andres Martinez Gotor
737b95e9f4 CloudWatch: Upgrade grafana-aws-sdk version (#45725) 2022-02-22 14:35:02 +01:00
Ashley Harrison
5e3be8b17f Variables: Fix adding variables to an unsaved dashboard (#45722)
* :construction:: Mob session work 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* :construction:: Mob session work 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
Co-authored-by: Alexandra Vargas <alexa1866@gmail.com>
2022-02-22 13:21:01 +00:00
Dimitris Sotirakis
ded53e8e0e Remove --no-install-deps argument (#45718) 2022-02-22 13:22:45 +02:00
Mitsuhiro Tanda
7acb203b52 remove unused code of Cloud Monitoring distribution metrics type (#45702) 2022-02-22 11:24:52 +01:00
renovate[bot]
8ce59cb8a2 Update typescript-eslint monorepo to v5.12.1 (#45666)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-22 01:27:39 -08:00
Dimitris Sotirakis
3db331402d DockerHub: Use grafana(-oss)-image-tags to push to grafana(-oss)-dev DockerHub repo (#45708)
* Revert back changes - changes are done on grabpl

* Sync drone
2022-02-22 09:51:31 +01:00
Alexander Emelin
28c30a34ad Comments: support live comments in dashboards and annotations (#44980) 2022-02-22 10:47:42 +03:00
Dimitris Sotirakis
67c1a359d1 Fix dockerhub repo for main (#45701) 2022-02-21 22:22:10 +01:00
juschm
34ae28846e Update mute-timings.md (#45679)
cleaned up feature description (there were some leftovers from when the text was last edited)
2022-02-21 12:11:56 -05:00
Ashley Harrison
0f8cb16193 Chore: Reorder babel plugins into correct order (#45691) 2022-02-21 17:07:42 +00:00
baez90
6beba5a049 Chore: add setting to skip org assignment for external users (#34834)
* Chore: add setting to skip org assignment for external users

Introduce 'skip_org_role_update_sync' setting to skip any kind of org assignment during the login of external users.
As a consequence manual organization assignments won't be overridden during the upsert of an external user.

Part of #22605

* Chore: Rename skip_org_role_update_sync to oauth_skip_org_role_update_sync and relocate it to auth section

* Chore: replace global setting access where possible
2022-02-21 17:34:47 +01:00
Ashley Harrison
10b3847d57 Only run betterer if frontend files have changed (#45681) 2022-02-21 16:16:45 +00:00
Tania B
a7d86e023f Docs: Fix encryption docs (#45687) 2022-02-21 17:07:23 +01:00
Will Browne
4e23b06b40 remove old fields and expose ports (#45626) 2022-02-21 16:52:38 +01:00
kay delaney
b6682cdcb9 Navigation: Proof-of-concept for pinning navbar items (#44775) 2022-02-21 15:25:47 +00:00
Timur Olzhabayev
7c826cb43f feat(45145): add more links to developers page (#45585) 2022-02-21 14:39:31 +01:00
Ashley Harrison
05f68c391c Add babel plugin to workaround bug in @babel/preset-env (#45664) 2022-02-21 12:50:53 +00:00
Kristina
31090a75eb Explore: Save log results sort order (#45423)
* Explore: Save log results sort order

* Change to radio group, add test and make language consistent with logs plugin
2022-02-21 06:09:43 -06:00
Dimitris Sotirakis
434697e0fd CI: Introduce docs pipeline (#45454)
* Add docs.star

* Fixes in drone yaml

* Add grabpl

* Remove unnecessary steps

(cherry picked from commit f2e03cdb107eb283416885a73051c1ff86eb8b7f)

* Rename docs pipeline

* Exclude docs related steps from PR pipelines

* Add packages/** trigger

* Remove packages exclusion from pr pipelines
2022-02-21 13:55:16 +02:00
Levente Balogh
0dfde923e3 fix: fix link pointing to breaking changes guideline (#45662) 2022-02-21 12:49:25 +01:00
kay delaney
d134740bba Redux: Factor Invites out to separate slice (#45552) 2022-02-21 11:37:49 +00:00
renovate[bot]
0f29c66c1d Update dependency eslint-config-prettier to v8.4.0 (#45657)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-21 03:25:35 -08:00
renovate[bot]
4fb0337168 Update dependency sass-loader to v12.6.0 (#45660)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-21 12:21:32 +01:00
renovate[bot]
5f533dac72 Update dependency @emotion/react to v11.8.1 (#45656)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-21 12:04:24 +01:00
Mitsuhiro Tanda
0fb490c00d Cloud Monitoring: set missing meta data for distribution type metrics (#45500)
* set missing meta data for distribution type metrics

* add test

* add test

* simplify custom set

* add test for executedQueryString

* add test data

* fix tests

* check group by
2022-02-21 11:20:34 +01:00
renovate[bot]
83db65abda Update dependency @react-types/shared to v3.11.1 (#45592)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-21 02:14:18 -08:00
renovate[bot]
6b1c3aeb4e Update dependency eslint-plugin-lodash to v7.4.0 (#45595)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-21 02:10:23 -08:00
Hugo Häggmark
c6470be34c Chore: Replace enzyme with RTL in ConfirmModal.test.tsx (#45651) 2022-02-21 08:25:52 +01:00
Hugo Häggmark
2f63d7b1c4 Chore: Replace enzyme with RTL in BigValue.test.tsx (#45650) 2022-02-21 08:21:06 +01:00
Ryan McKinley
636af1fff4 Testdata: use alias in streaming example (#45631) 2022-02-18 16:30:57 -08:00
Ryan McKinley
024194dccd Search: add URL as linkable field (#45568) 2022-02-18 16:03:49 -08:00
Joey Tawadrous
955b921c88 InfluxDB: new row value types (#44789)
* Check type and act accordingly

* Add string type

* Add bool type

* Change method name in test

* Remove comment

* Changed test var names to represent the float case

* Added string test case

* Added bool test case

* Update response in test

* Change string val

* Fix frame meta missing in tests

* Fixed test parse query

* Fixed out of bounds test

* parseFloatSeries

* parseStringSeries and parseBoolSeries

* Formatting

* Use multi frames for now

* strings.ToLower for time col check

* Move timeField out of if checks
2022-02-18 17:37:45 +00:00
Artur Wierzbicki
c04b0179ff Previews: prevent scheduler from running when image renderer is outdated (#45623)
* #44449: prevent crawler from running when rendering service is outdated

* #44449: simplify
2022-02-18 21:29:18 +04:00
Artur Wierzbicki
7643ae6c5e Rendering: periodically refresh remote plugin version (#45505)
* #44449: refresh image renderer version on a schedule

* #44449: simplify
2022-02-18 20:25:01 +04:00
Gábor Farkas
78c35e6000 cloudwatch: use monaco from grafana-ui (#45597) 2022-02-18 17:14:14 +01:00
renovate[bot]
175891a5e3 Update dependency react-hook-form to v7.26.1 (#43670)
* Update dependency react-hook-form to v7.27.0

* fix type errors for alerting components with new react-hook-form version (#45341)

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Nathan Rodman <nathanrodman@gmail.com>
2022-02-18 17:13:31 +01:00
lean.dev
b2e6ca9393 Deleting empty lines at list (#45610) 2022-02-18 11:08:52 -05:00
Dimitris Sotirakis
a5dc832a86 Update grabpl (#45614) 2022-02-18 16:16:05 +01:00
Levente Balogh
1e21184f65 Fix: JSON parsing in backend_srv (#45598)
* fix(plugins/state): console log errors during install / uninstall

* fix(backend_srv): catch JSON parse errors

Sometimes it can happen that a backend API responses says that it's
returning with a JSON content-type, however it actually returns an invalid
JSON (e.g. an empty body) - in which case the backendSrv() request errors out.
2022-02-18 16:06:37 +01:00
Yuriy Tseretyan
e44ea3d589 Alerting: Rename setting AlertForDuration to DefaultRuleEvaluationInterval (#45569)
* fix AlertForDuration to DefaultRuleEvaluationInterval

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2022-02-18 10:05:06 -05:00
Piotr Jamróz
25f155a44d Explore: Fix closing split pane when logs panel is used (#45602)
* Clear cache when LogsNavigation is mounted

* Update docs
2022-02-18 15:34:19 +01:00
Andrej Ocenas
8e6626664f Update version (#45608) 2022-02-18 14:12:59 +00:00
Gábor Farkas
5d704fd46e Loki: backend: use custom http code (#44643)
* Loki: backend: use custom http code

* simplfied comment

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2022-02-18 14:35:39 +01:00
Grot (@grafanabot)
380e07ba29 ReleaseNotes: Updated changelog and release notes for 8.4.1 (#45604)
* ReleaseNotes: Updated changelog and release notes for 8.4.1

* Add alerting bugfix

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2022-02-18 13:32:34 +00:00
Christopher Moyer
023aaee929 docs: clear cache (#43471)
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2022-02-18 09:52:00 -03:00
lean.dev
a0b29a960b Caching: Adding comment about resource caching (#45151)
Co-authored-by: Fiona Artiaga <89225282+GrafanaWriter@users.noreply.github.com>
2022-02-18 09:49:26 -03:00
J Guerreiro
0ec21a4ed6 Service accounts: make is_service_account nullable (#45541)
* add base nullable migration to is_service_account

Co-authored-by: Jeremy Price <jeremy.price@grafana.com>

* fix postgres migration

* ServiceAccounts: ensure SA is set to false when creating a user

Co-authored-by: Jeremy Price <jeremy.price@grafana.com>
2022-02-18 13:08:00 +01:00
Torkel Ödegaard
0838f4b1ad Plugins: Fix importing panel modules (#45590) 2022-02-18 12:51:55 +01:00
Yaelle Chaudy
530913dd37 Azure Monitor : Adding json formatting of error messages in Panel Header Corner and Inspect Error Tab (#44877)
* Trying out json formatting of azure graph err from frontend

* Added some tests wip

* Wrap text in popper tooltip

* fix conflict

* Wrap text in tooltip

* Complete tests

* Added invalid json test

* Backend changes and tests

* removed comments

* Added split of message / json and edge cases tests

* Addressed comments

* moved catch to parseErrorMessage
2022-02-18 12:09:24 +01:00
Gábor Farkas
dd9b52fd41 log-volume: adjust request-id to avoid conflicts (#45511)
* log-volume: adjust request-id to avoid conflicts

* added unit test

* simplify test

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>

* added missing import

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
2022-02-18 12:05:29 +01:00
Gabriel MABILLE
fc514738b2 Chore: fix comment (#45593) 2022-02-18 11:46:52 +01:00
Eric Leijonmarck
c6943797f9 Admin: token expiration colors and calculations (#45231)
* token expiration colorign and calculations

* Update public/app/features/serviceaccounts/ServiceAccountTokensTable.tsx

* removed unused calculation for expiry

* optional attribute

* fix: typo

* implement failing test :thumpsup:

* tests

* refactor: tests to use assertify

* tiem

* refactor: remote porntf

* refactor: make test NOT sleep 1 sec for all builds :D

Co-authored-by: J Guerreiro <joao.guerreiro@grafana.com>
2022-02-18 11:43:33 +01:00
Dimitris Sotirakis
0a8c3f92f6 Update grabpl (#45591) 2022-02-18 11:40:51 +01:00
renovate[bot]
32b17fbc28 Update dependency @react-aria/interactions to v3.8.1 (#45513)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-18 11:35:50 +01:00
Gabriel MABILLE
14bee49f9a AccessControl: Compute metadata from context permissions (#45578)
* AccessControl: Compute metadata from context permissions

* Remove nil

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

* Check user permissions are set

Co-authored-by: Jguer <joao.guerreiro@grafana.com>
2022-02-18 11:27:00 +01:00
renovate[bot]
a5fd35691b Update dependency @react-types/menu to v3.5.1 (#45588)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-18 10:22:08 +00:00
renovate[bot]
f6780d8861 Update dependency lru-cache to v7 (#45074)
* Update dependency lru-cache to v7

* Make latest lru cache work

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2022-02-18 10:23:06 +01:00
Szymon Szypulski
929d8a358f Cloudwatch: Add support for AWS/PrivateLink* metrics and dimensions (#45515)
Add support for AWS/PrivateLink{Endpoints,Interfaces} metrics and
dimensions. Change is based on the official AWS documentation[1].

1. https://docs.aws.amazon.com/vpc/latest/privatelink/privatelink-cloudwatch-metrics.html
2022-02-18 10:21:17 +01:00
Gabriel MABILLE
7c41cd15d7 Chore: Remove devenv link (#45583) 2022-02-18 09:44:18 +01:00
Kat Yang
0eb37c08bd Chore: Add sqlstore dashboard methods to store and mockstore (#45567) 2022-02-18 09:37:49 +01:00
Agnès Toulet
478efffce7 Data source insights: Switch from ID to UID (#45532) 2022-02-18 09:19:39 +01:00
Hugo Häggmark
dbec2b02fd Variables: move state tree into a keyed state (#44642)
* Variables: move state tree into a keyed state

* Update public/app/features/variables/state/transactionReducer.ts

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>

* Chore: fix prettier error

* Chore: renamed slices and lastUid

* Chore: rename toUidAction

* Chore: rename dashboardVariableReducer

* Chore: rename state prop back to templating

* Chore renames variable.dashboardUid

* Chore: rename toDashboardVariableIdentifier

* Chore: rename getDashboardVariable

* Chore: rename getDashboardVariablesState

* Chore: rename getDashboardVariables

* Chore: some more renames

* Chore: small clean up

* Chore: small rename

* Chore: removes unused function

* Chore: rename VariableModel.stateKey

* Chore: rename KeyedVariableIdentifier.stateKey

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
Co-authored-by: kay delaney <kay@grafana.com>
Co-authored-by: Alexandra Vargas <alexa1866@gmail.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-02-18 06:06:04 +01:00
Santiago
a9de33601c make send_alerts_to field nullable (#45572)
* make send_alerts_to field nullable

* set nullable to true since we have a default value
2022-02-18 01:45:34 -03:00
Kyle Cunningham
7a619cbe4e Hide Barchart Value Labels for Automatic Display When Overlapping (#44809)
* Implement skip list for hiding value labels when Auto is selected

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2022-02-17 14:07:50 -06:00
achatterjee-grafana
e29c38ae27 Added correct format. (#45562) 2022-02-17 15:03:34 -05:00
achatterjee-grafana
912464a073 Docs: Update 8.4 What's New (#45547)
* replace * with

* Ran prettier check

* Revert "Ran prettier check"

This reverts commit 32be986af8.

* Ran prettier check again.

* Added backticks.
2022-02-17 14:00:22 -05:00
Sarah Zinger
85753afdf0 Cloudwatch: Fix bug with onblur in Metric Search (#45488) 2022-02-17 12:53:42 -05:00
Cat Perry
fcd85951a7 Tempo: Switch out Select with AsyncSelect component to get loading state in Tempo Search (#45110)
* Replace Select with AsyncSelect to get loading state
2022-02-17 09:18:25 -08:00
Andrej Ocenas
4fcbfab711 Udpate latest.json (#45548) 2022-02-17 17:43:30 +01:00
Stephanie Closson
abe32b9521 Implement PromQL Functions in new query editor (#45431)
* adding functions for prometheus queries

* WIP: functions added. Just categorizing them and testing each function out

* WIP: testing functions

* WIP verifying other functions

* Functions added and classified

* added tests

* moved bottomk to aggregations module

* added tests to the PromQueryModeller

* code review comments. Made range renderer common with code

* removed duplicate functions

* updated comments
2022-02-17 12:39:41 -04:00
Karl Persson
f42c830b3c Inject dashboard provisioning service instead of store (#45533) 2022-02-17 17:18:19 +01:00
Ryan McKinley
bbddab0294 Chore: refactor core transformer folder structure (#45497) 2022-02-17 08:12:38 -08:00
Kat Yang
d3ae8939af Chore: Remove x from health, alert notification, dashboard, stats, user (#45265)
* Chore: Remove x from health

* Chore: Remove x from dashboard and user

* Chore: Remove x from alert notification

* Chore: Remove x from stats

* Fix: Update func signature in stats test

* Refactor: Remove x from GetDashboardTags

* Chore: Remove x from dashboard

* Chore: Remove x from Stats

* Fix: Update refs of HasAdminPermissionInFolders

* Fix: Adjust funcs in tests to be sqlStore methods

* Fix: Fix database folder test sqlstore methods
2022-02-17 16:59:09 +01:00
Todd Treece
c8bb01d1ad Expressions: Add support for variables (#41778) 2022-02-17 10:50:22 -05:00
achatterjee-grafana
42e547d27f Docs: Updated 8.4 What's New (#45535)
* replaced * with

* Ran prettier check.
2022-02-17 10:44:03 -05:00
Connor Lindsey
6e07b30048 Chore: Clean up logs and deprecated library in tracing tests (#45486)
* Fix logs and errors from tracing tests

* Refactor SpanBar to remove recompose

* Fix NodeGraph tests
2022-02-17 16:34:16 +01:00
Grot (@grafanabot)
23144fbcad ReleaseNotes: Updated changelog and release notes for 8.4.0 (#45531)
* ReleaseNotes: Updated changelog and release notes for 8.4.0

* Apply suggestions from code review

* Apply suggestions from code review

* Apply suggestions from code review

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2022-02-17 16:28:49 +01:00
Robby Milo
846842eb99 Update README.md (#43358) 2022-02-17 14:27:15 +00:00
Sofia Papagiannaki
17dee4700c SQLStore: Fix migrator locking test for SQLite (#45523)
* SQLStore: Fix migrator locking test for SQLite
2022-02-17 16:12:44 +02:00
Isabella Siu
dac2b7ef73 Cloudwatch: Fix resource variables (#45496) 2022-02-17 09:04:59 -05:00
J Guerreiro
42d21e1af5 ServiceAccounts: Use http library for status codes (#45525) 2022-02-17 15:00:56 +01:00
Kristina
773da0e330 Explore: Add t * keybindings to change time range (#45020)
* Add keybindings to explore, allow override of dashboard model update for explore update

* Remove edits to Dashboard Model, add definition when url params should be updated

* Add tests

* Add and expose util function instead of bringing in unrelated library do not define explicit path to library file

* Use more generic model for TimeSrv

* Remove url utility functions, use javascript function instead

* Break out TimeModel into new type and bring it in

* condense object creation
2022-02-17 07:39:02 -06:00
Dimitris Sotirakis
af1691dbfb Update grabpl (#45520) 2022-02-17 14:26:38 +01:00
Agnès Toulet
8835020457 Feature Highlights: add RS event for nav items (#45470) 2022-02-17 14:20:37 +01:00
Zoltán Bedi
815ccb1a03 Chore: Fix Debug Jest test command for vscode (#45420) 2022-02-17 14:18:09 +01:00
Gabriel MABILLE
47e248ceab AccessControl: Remove permissions on data source delete (#45504)
* AccessControl: Remove permissions on datasource delete

* Ensure legacy behavior is preserved
2022-02-17 14:06:34 +01:00
Karl Persson
cdc08105c2 Access control: Set default permissions for data sources when using access control (#45482)
* Rename interfaces and use then with wire injection

* Set default permissions when creating new data source
2022-02-17 14:03:45 +01:00
J Guerreiro
8afd5d54f7 Service Account detailed edit (#45404)
* ServiceAccounts: Update service account route

* ServiceAccounts: Update service account tests

* ServiceAccounts: remove extraneous file
2022-02-17 12:19:58 +00:00
renovate[bot]
9275e88969 Update dependency @babel/plugin-proposal-object-rest-spread to v7.17.3 (#45451)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-17 11:47:59 +00:00
Peter Holmberg
0502a84922 Alerting: Add choice to external alertmanagers (#45157)
* implement alertmanagersChoice

* return empty array and remove non null assertion
2022-02-17 12:47:38 +01:00
renovate[bot]
52d4e2ddcc Update dependency axios to v0.26.0 (#45355)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-17 11:47:07 +00:00
Torkel Ödegaard
7bc12629fd Prometheus: Fixing state timing issues (#45458) 2022-02-17 11:41:05 +01:00
Ivana Huckova
123f095536 Docs: Update log level information and add tip (#45411)
* Docs: Update conent for log level

* Add tip
2022-02-17 10:04:15 +01:00
Artur Wierzbicki
3e53a08090 #44449: hide dashboard preview admin UI (#45493) 2022-02-17 12:34:07 +04:00
ying-jeanne
10b47480eb add dashboardsnap as service of http server (#45461) 2022-02-17 09:31:26 +01:00
Ryan McKinley
bb86ba99ee Heatmap: new panel based based on uPlot (#44080)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-02-16 14:49:17 -08:00
Ryan McKinley
685ec5383e Chore: avoid pointer events in viz tooltip (#45492) 2022-02-16 13:52:39 -08:00
Isabella Siu
50a53ef58b CloudWatch: replace metricFindQueries with CallResourceHandler (#41571) 2022-02-16 14:28:26 -05:00
idafurjes
b01a56c2b7 Fix alerting methods using AlertNotificationService (#45477) 2022-02-16 18:54:29 +01:00
Artur Wierzbicki
6c76aa71e8 Previews: capability check (#44601)
* add SQL migrations

* dashboard previews from sql: poc

* added todos

* refactor: use the same enums where possible

* use useEffect, always return json

* added todo

* refactor + delete files after use

* refactor + fix manual thumbnail upload

* refactor: move all interactions with sqlStore to thumbnail repo

* refactor: remove file operations in thumb crawler/service

* refactor: fix dashboard_thumbs sql store

* refactor: extracted thumbnail fetching/updating to a hook

* refactor: store thumbnails in redux store

* refactor: store thumbnails in redux store

* refactor: private'd repo methods

* removed redux storage, saving images as blobs

* allow for configurable rendering timeouts

* added 1) query for dashboards with stale thumbnails, 2) command for marking thumbnails as stale

* use sql-based queue in crawler

* ui for marking thumbnails as stale

* replaced `stale` boolean prop with `state` enum

* introduce rendering session

* compilation errors

* fix crawler stop button

* rename thumbnail state frozen to locked

* #44449: fix merge conflicts

* #44449: remove thumb methods from `Store` interface

* #44449: clean filepath, defer file closing

* #44449: fix rendering.Theme cyclic import

* #44449: linting

* #44449: linting

* #44449: mutex'd crawlerStatus access

* #44449: added integration tests for `sqlstore.dashboard_thumbs`

* #44449: added comments to explain the `ThumbnailState` enum

* #44449: use os.ReadFile rather then os.Open

* #44449: always enable dashboardPreviews feature during integration tests

* #44449: add /previews/system-requirements API

* #44449: remove sleep time, adjust number of threads

* #44449: review fix: add `orgId` to `DashboardThumbnailMeta`

* #44449: review fix: automatic parsing of thumbnailState

* #44449: update returned json

* #44449: UI changes - dashboard previews sytem req check

* #44449: lint fixes

* #44449: fix tests

* #44449: typo

* #44449: fix getSystemRequirements API: return 200 even if we plugin version is invalid

* #44449: fix getSystemRequirements API: don't return SemverConstraint on error

* #44449: fix getSystemRequirements API

* #44449: fix previews sytem requirements text

* #44449: add `doThumbnailsExist` to repo

* #44449: remove redux api

* #44449: add missing model

* #44449: implement frontedsettings-driven capability check

* #44449: simplify

* #44449: revert test changes

* #44449: add dummy setup settings

* #44449: implicit typing over `FC<Props>`

* #44449: refactor conditionals

* #44449: replace `getText` with a react component

* #44449: fix component interface

* #44449: add onRemove to `PreviewsSystemRequirements` alert

* #44449: add bottom/top margin to previewSystemRequirements modal

* #44449: merge conflict fix

* #44449: remove console.log

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Alexander Emelin <frvzmb@gmail.com>
2022-02-16 21:49:50 +04:00
Ryan McKinley
1554bffcb8 Search: apply security in before returning results (#45430)
Co-authored-by: Artur Wierzbicki <wierzbicki.artur.94@gmail.com>
2022-02-16 09:47:41 -08:00
Will Browne
a2b391912a Plugins: Add ability to enable debug logging per plugin (#45481) (#45485)
* use plugin ID in logger name

* retrigger

(cherry picked from commit bd0ff79e28)
2022-02-16 18:22:10 +01:00
Dan Cech
51cd6f3cc5 Configuration: Add ability to customize okta login button name and icon (#44079)
* add ability to customize okta login button name and icon

* update configs, add basic frontend test

* add icon to oauth settings type

* trigger tests

* fix typecheck
2022-02-16 11:35:00 -05:00
Torkel Ödegaard
2b9e46d1f8 Angular: Option to disable angular support and isolate angular dependencies (#45421)
* Angular: Initial setting that disables angular, load angular support in separate chunk

* Load angular panels on demand

* Load alerting in separate chunk only when angularSupportEnabled

* progress, do not export core_module if angular disabled

* Progress

* Update public/app/features/plugins/built_in_plugins.ts

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

* Removing remaining usage of angular from outside angular app (not counting plugins)

* Update config and docs

* Fix sample.ini

* Update public/app/features/alerting/AlertTab.tsx

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

* Fixing prettier issue

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2022-02-16 17:14:33 +01:00
Dominik Prokop
8bb3de3037 Analytics: Collect information about queries reordering (#45392) 2022-02-16 14:16:25 +01:00
Selene
d5b98772ed Dashboards: Refactor service to make it injectable by wire (#44588)
* Add providers to folder and dashboard services

* Refactor folder and dashboard services

* Move store implementation to its own file due wire cannot allow us to cast to SQLStore

* Add store in some places and more missing dependencies

* Bad merge fix

* Remove old functions from tests and few fixes

* Fix provisioning

* Remove store from http server and some test fixes

* Test fixes

* Fix dashboard and folder tests

* Fix library tests

* Fix provisioning tests

* Fix plugins manager tests

* Fix alert and org users tests

* Refactor service package and more test fixes

* Fix dashboard_test tets

* Fix api tests

* Some lint fixes

* Fix lint

* More lint :/

* Move dashboard integration tests to dashboards service and fix dependencies

* Lint + tests

* More integration tests fixes

* Lint

* Lint again

* Fix tests again and again anda again

* Update searchstore_test

* Fix goimports

* More go imports

* More imports fixes

* Fix lint

* Move UnprovisionDashboard function into dashboard service and remove bus

* Use search service instead of bus

* Fix test

* Fix go imports

* Use nil in tests
2022-02-16 14:15:44 +01:00
Kristina
4393992775 Remove root/scripts directory from Jest root (#45410) 2022-02-16 07:15:31 -06:00
Torkel Ödegaard
cfa24a3cfb Prometheus: Auto legend handling (#45367)
* Legend editor is working

* It's working

* Progress on auto legend mode

* Fixes

* added unit tests

* Added go tests

* Fixing tests

* Fix issue with timing and internal state

* Update public/app/plugins/datasource/prometheus/querybuilder/components/PromQueryCodeEditor.tsx

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2022-02-16 14:06:33 +01:00
Zoltán Bedi
da91c93f4a QueryEditor: Fix setting panel state to done if query had no error (#45453) 2022-02-16 11:48:22 +01:00
renovate[bot]
78deffb2e0 Update dependency eslint to v8.9.0 (#45344)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-16 10:05:42 +00:00
Konrad Lalik
1886a59a12 Fix notification routes editing when filters are applied (#45380)
* Fix route editing when filters are applied

* Fix route delete operation, reset expanded item when filters change

* Refactor edit and delete functions, add tests

* Fix comment
2022-02-16 11:03:53 +01:00
renovate[bot]
612a51034c Update dependency eslint-plugin-jsdoc to v37.9.1 (#45338)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-16 10:02:26 +00:00
dependabot[bot]
d9a5af3d6f Bump actions/github-script from 5 to 6 (#45360)
Bumps [actions/github-script](https://github.com/actions/github-script) from 5 to 6.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/github-script
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-16 10:51:40 +01:00
Zoltán Bedi
befb2afccc QueryEditor: Fix crash in angular panels when query have error (#45422) 2022-02-16 10:34:29 +01:00
Joey Tawadrous
b4dd3138ce InfluxDB: metricFindQuery migration to backend (#44546)
* Send metricFindQuery to backend

* Added feature toggle

* Changed flag name

* metricFindQuery backend

* Added test for metricFindQuery backend parse

* Added test for show tag values

* Test for metricFindQueries

* Updated tests

* Put back comment

* Case insensitive in transformRows

* Check length ov value pair

* Sep tests

* Updated valuePair index
2022-02-16 09:16:22 +00:00
Sofia Papagiannaki
6a38ce2307 Resolve depedency cycle (#45427) 2022-02-16 10:59:34 +02:00
Hugo Häggmark
ae8c8a2910 Chore: Replace enzyme with RTL (#45434) 2022-02-16 00:49:06 -08:00
Hugo Häggmark
5760a18da5 Chore: Replace enzyme with RTL in OrgSwitcher.test.tsx (#45439) 2022-02-16 00:48:13 -08:00
Hugo Häggmark
6584735bef Chore: Replaces enzyme with RTL in ConfirmButton.test.tsx (#45435) 2022-02-16 09:46:46 +01:00
Ivana Huckova
a1a96a7324 Prometheus: Fix removing of labels when removed outside of component (#45424)
* Prometheus: Don't remove lables when switching metrics

* Always update labels when labels from prop change

* Add test

* Update variable name

* Revert "Update variable name"

This reverts commit ca186f8b0b.
2022-02-16 09:40:04 +01:00
Ivana Huckova
d38f0e5d9e Prometheus: Offer hint for metrics with labels (#45396)
* Prometheus: Offer hint for counter metric with labels

* Update comment

* Fix hinting for buckets with labe-values
2022-02-16 09:34:32 +01:00
Agnès Toulet
39797e33ae Highlights: fix RS event name (#45436) 2022-02-16 08:52:18 +01:00
Torkel Ödegaard
916f152a6f Prometheus: Fixes issue adding rest params (#45364)
* Prometheus: Fixing issue adding rest param and adding test

* Rebuild when expr changes from outside
2022-02-16 08:05:16 +01:00
Yuriy Tseretyan
02f8e99ca1 Alerting: move fake stores to store package (#45428)
* make fake storage public
* move fake storages to store package
2022-02-15 17:24:39 -05:00
Torkel Ödegaard
52ae586452 Prometheus: Improvements to binary operations, nesting and parantheses handling (#45384)
* Prometheus: Improve query nesting ux

* Prometheus: Add parentheses around nested queries with binary ops

* removed unnessary typing change

* Fixing ts issues

* Improved paranthesis logic

* Fixing unit test

* Progress
2022-02-15 21:05:35 +01:00
Christopher Moyer
46360ca0c3 Docs: refactored manage users and permissions content (#44343)
* initial refactor

* initial draft for teams

* restructed topics, added front matter

* modified aliases

* removes old files

* removed files

* initial refactor

* initial draft for teams

* restructed topics, added front matter

* modified aliases

* removes old files

* removed files

* final xrefs updates

* xref adjustment

* copy updates

* copy and content updates to about, add to org, add user, admin

* copy updates to remove user from org

* update org vs server admin section names, cross-link

* cross-link add and invite users to org

* add remaining cross-links between org and server admin

* add dashboard permissions table

* add permissions information to teams

* add copy invite instructions to invite management

* tweaks and link updates

* incorporated PM feedback

* fixed xrefs

* yarn prettier

* fix codespell

* combined teams and dashboard permissions content

Co-authored-by: Mitchel Seaman <mitchel.seaman@gmail.com>
2022-02-15 13:20:45 -06:00
Ryan McKinley
d665306ad1 Search: add feature flag and basic service (#45112)
Co-authored-by: Artur Wierzbicki <artur@arturwierzbicki.com>
2022-02-15 10:26:03 -08:00
Ieva
11433cba97 Team access changes for editors when editorsCanAdmin is enabled (#45405)
* filter teams for editors to only show the teams that they are members of

* frontend changes to only allow clicking on teams that the user can edit

* update frontend test snapshots

* extend docs

* reword

* remove the comment for now

* Update backend tests

* reword the warning, and add it back in

* docs feedback

Co-authored-by: gamab <gabi.mabs@gmail.com>
2022-02-15 17:09:03 +00:00
Sofia Papagiannaki
d718ee1918 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>
2022-02-15 18:54:27 +02:00
Dimitris Sotirakis
163b570f5d CI: Remove manual gcloud authentication (#44986)
* Remove manual gcloud auth from store-packages

* Update grabpl
2022-02-15 16:45:37 +02:00
Ivana Huckova
636a45f065 Query history: Create API to patch comment of query in query history (#44981)
* Query history: Patch comment

* Update docs/sources/http_api/query_history.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/http_api/query_history.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Remove redundant check

* Use WithTransactionalDbSession to update comment

* Fix status code in test

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2022-02-15 15:43:17 +01:00
Torkel Ödegaard
a757a57c6e Prometheus: Show executed query in inspector (#45362)
* Prometheus: Show executed query in inspector

* Loki: Improving test
2022-02-15 15:02:03 +01:00
Serge Zaitsev
b9e5bae51f Chore: Remove bus.Dispatch from cleanup service (#45401) 2022-02-15 14:56:19 +01:00
Gabriel MABILLE
d11f6a95a4 AccessControl: Enable empty list New button based on user permissions (#45398) 2022-02-15 14:51:19 +01:00
Joey Tawadrous
f8ae66ff5a Updated broken links (#43849) 2022-02-15 13:42:21 +00:00
Gabriel MABILLE
91dd0563c9 AccessControl: Trigger permission reload with team removal (#45383) 2022-02-15 14:23:40 +01:00
Torkel Ödegaard
ed5b2e5210 Move QueryPartDef out from angular app (#45386) 2022-02-15 14:20:50 +01:00
Ivana Huckova
6a828a051a Logs: Fix LogDetailsRow tests that produced console errors (#45388)
* Fix LogDetailsRow tests that produced console errors

* Use div instead of wrapping with table

* Use div instead of wrapping with table
2022-02-15 14:06:24 +01:00
Gilles De Mey
651bb773db Alerting: do not unescape external AM label values (#45334) 2022-02-15 13:57:00 +01:00
kay delaney
e1ff4dc9fe NewsPanel: Add support for Atom feeds (#45390) 2022-02-15 12:26:59 +00:00
Marcus Andersson
146eed400a TempalteSrv: re-adding variabelExists to prevent breaking angular plugins. (#45387) 2022-02-15 13:22:13 +01:00
Shirley
1c1a45a880 CloudWatch: Add tests to annotations query (#45337) 2022-02-15 12:45:50 +01:00
Hugo Häggmark
f1c4da095b Chore: Removes console output from InspectDataTab.test.tsx (#45374) 2022-02-15 13:33:10 +02:00
Joey Tawadrous
1b3dd310c0 Loki: Uppercase autocomplete (#45123)
* Updated regex

* Added test for uppercase

* Updated regex
2022-02-15 11:02:51 +00:00
Levente Balogh
27ee091d49 Chore: fix Levitate reporting issues with missing PR numbers (#45381)
* chore: persist the PR number in the Levitate workflow artifact

This is going to be used later in the reporting workflow, as for
3rd party (fork) PRs Github doesn't correctly populate the `workflow_run` context (the PR number is missing from it).

* chore: use the PR number from the artifact for Levitate reporting
2022-02-15 11:10:44 +01:00
Levente Balogh
4aca996c55 fix: use the a PAT instead of the GITHUB_TOKEN (#45376) 2022-02-15 11:06:23 +01:00
Hugo Häggmark
10a9ca0ae1 Chore: Removes console outputs from runRequest.test.ts (#45375) 2022-02-15 11:12:26 +02:00
Gábor Farkas
a612087c63 loki: remove fullRangeLogsVolume feature flag (#45286) 2022-02-15 09:05:03 +01:00
Marcus Andersson
9a12b3ea00 TemplateSrv: exposing a function to detect if a target contains a template (#45214)
* exposing a function to check if a target contains variables.

* fixed tests.

* renamed function

* updated betterer result.
2022-02-15 08:53:42 +01:00
Hugo Häggmark
21beb88a4f Chore: Remove console ouputs from DashboardPage.test.tsx (#45373) 2022-02-15 07:40:27 +01:00
Tobias Skarhed
9c97c14a97 Governance: Update employer info (#45369) 2022-02-14 15:43:50 -08:00
Yuriy Tseretyan
095ea44e97 Alerting: Move BaseInterval and MinInterval to UnifiedAlerting config (#45107)
* use base interval if legacy value is less than the base interval
2022-02-11 16:13:49 -05:00
Ezequiel Victorero
4f815e3d8e Access control: adding FGAC to annotation GET endpoints and fixed roles (#45102)
* Access control: adding FGAC to annotation GET endpoints and fixed roles

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2022-02-11 15:43:29 -03:00
gotjosh
1a9638c363 Alerting: Add Alerting Squad as codeowner of legacy alerting (#45282)
* Alerting: Add Alerting Squad as codeowner of legacy alerting

* update with split by function

* not ending with a /
2022-02-11 19:21:45 +01:00
Ieva
9ac4843df1 Documentation for teams with FGAC (#45321)
* docs for teams with FGAC

* Update docs/sources/enterprise/access-control/fine-grained-access-control-references.md

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

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2022-02-11 18:00:13 +01:00
Gabriel MABILLE
6fbf346747 AccessControl: Add endpoint to get user permissions (#45309)
* AccessControl: Add endpoint to get user permissions

Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com>
Co-authored-by: Kalle Persson <kalle.persson@grafana.com>
Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>

* Fix SA tests

* Linter is wrong :p

* Wait I was wrong

* Adding the route for teams:creator too

Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com>
Co-authored-by: Kalle Persson <kalle.persson@grafana.com>
Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
2022-02-11 17:40:43 +01:00
Ashley Harrison
689df761e6 Chore: Stub deprecation warning in AngularLocationWrapper (#45319) 2022-02-11 16:34:16 +00:00
Ashley Harrison
820a70f49a Stub deprecation warning in kbn unit tests (#45313) 2022-02-11 16:34:06 +00:00
gotjosh
8bf2e642aa Alerting: Fix updating notification channels in legacy (#45302)
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.
2022-02-11 16:13:51 +00:00
malcolmholmes
9a7438c720 Build: only specify github-token when needed (#45326) 2022-02-11 16:01:45 +00:00
Ivana Huckova
9e2caa9ddc Prometheus: Add hints to query builder (#45288)
* Add hints to query builder

* Move Query hints to own component

* Use replace 5m with  in rate queries

* Remove unused prop
2022-02-11 16:50:35 +01:00
Alex Khomenko
574f609550 Init node item (#45218) 2022-02-11 16:18:33 +01:00
Connor Lindsey
cd05ee0054 Chore: Prevent focused tests by adding jest eslint rule (#45088)
* Prevent focused tests by adding jest eslint rule

* Remove redundant no-only-tests eslint plugin

* Update lock file
2022-02-11 15:59:30 +01:00
Connor Lindsey
3da0434e64 Tempo: Update service graph linked queries to use rate_interval and group histogram (#45248) 2022-02-11 07:58:10 -07:00
Ashley Harrison
378ce15418 Stub console.warn (#45311) 2022-02-11 14:56:25 +00:00
Marcus Efraimsson
6a776c78d4 Datasource: Fixes storing of secureJSONData when creating/updating datasource (#45290)
Fixes an issue introduced by #44987 where bus dispatch was replaced by calling sqlstore 
directly instead of the datasource service.

Fixes #45273
2022-02-11 15:52:14 +01:00
malcolmholmes
334ee9c4a7 Build: build enterprise2 with OSS (#45317)
* Build: build enterprise2 with OSS
2022-02-11 15:38:40 +01:00
Zoltán Bedi
77a0a71929 Docs: Update whats new in 8.4 (#45289)
Changed the swagger ui feature flag to the actual feature flag.
2022-02-11 09:19:12 -05:00
kay delaney
10cc2fd6bc Chore: Add types for OAuth settings in config (#45247) 2022-02-11 13:54:24 +00:00
Torkel Ödegaard
aa6cee1072 Prometheus: Specific code mode view that has no options, instead sharing options with builder (#45260)
* Prometheus: Adding a slimmed down code mode for new prometheus query ux

* Show Both option in Explore

* Prometheus: Adding query defaults handling

* More tweaks

* Fixing defaults and logic for when to show exemplars toggle

* Fixing tooltip text

* Set exemplars to false when setting query type instant

* Updated test
2022-02-11 14:43:52 +01:00
Gábor Farkas
59c5f14a59 loki: handle parsing infinity in loki response (#45097) 2022-02-11 14:28:11 +01:00
idafurjes
d8a56d08ba Remove bus from usage stats (#45275) 2022-02-11 14:04:15 +01:00
Marcus Efraimsson
0e8a5407d1 Postgres/MySQL/MSSQL: Remove usage of legacy timeSrv (#45241) 2022-02-11 13:36:11 +01:00
Torkel Ödegaard
fed112ef3b Angular: Add AngularJS plugin support deprecation plan to docs site (#45149)
* Angular: Add AngularJS plugin support deprecation plan to docs site

* Updated wording

* Update

* Update docs/sources/developers/angular_deprecation.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/developers/angular_deprecation.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/developers/angular_deprecation.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/developers/angular_deprecation.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/developers/angular_deprecation.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/developers/angular_deprecation.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2022-02-11 12:35:04 +01:00
Torkel Ödegaard
089d6d7f7a Alerting: Fixing minor styling issues (#45236) 2022-02-11 12:34:32 +01:00
Gábor Farkas
29d48a503c loki: add logs-volume documentation (#45283) 2022-02-11 12:06:02 +01:00
matt abrams
8c47373d74 LibraryPanels: Prevent long descriptions and names from obscuring the delete button (#45190)
* fix library panel description wrapping

* make panel name wrap
2022-02-11 10:57:22 +00:00
Gábor Farkas
4a7cc3e0f0 loki: enable-by-default the full-range-logs-volume feature (try2) (#45246)
* 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>
2022-02-11 11:28:27 +01:00
Hugo Häggmark
5f043e6106 Chore: Fix test import (#45271) 2022-02-11 11:24:27 +01:00
Ieva
6fb3aac2e1 Access control: team UI improvements with FGAC (#45255)
* 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>
2022-02-11 09:58:37 +00:00
Victor Marin
a12f2e1d19 TablePanel: Do not prefix columns with frame name if multiple frames and override active (#45174)
* Fix bug where table panel shows column names prefixed with frame name

* simplify && fix tests

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-02-11 11:47:48 +02:00
Torkel Ödegaard
cc49537965 Alerting: Refactor ActionIcon to use our normal Button and LinkButton components (#45227)
* Alerting: Refactor ActionIcon to use our normal Button and LinkButton components

* Fixed test

* Fixed test
2022-02-11 10:12:26 +01:00
renovate[bot]
c6b3698922 Update dependency stylelint to v14.5.0 (#45252)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-11 09:37:57 +01:00
Levente Balogh
5e9faec428 Chore: guideline for dealing with breaking changes (#45128)
* Wip

* docs: add the first version of the breaking-changes guidelines

* chore: add a graphic about the CI workflow

* docs: add information about the CI workflow

* docs: add TOC to the breaking changes guideline

* chore: add a link in the comment to the guideline

* docs: fine-tune the style of the last paragraph

* docs: fix the way we reference `deprecationWarning()`

* fix: Prettier issues

* fix: fix Prettier issues

* docs: update the wording in the guide

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>

* docs: update the wording in the guide

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>

* docs: update the wording in the guide

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>

* docs: update the wording in the guide

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>

* docs: update the wording in the guide

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>

* docs: fix typo in the guideline

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>

* docs: fix typo in the guideline

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>

* docs: fix typo in the guideline

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>

* docs: update the wording in the guide

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>

* docs: update the wording in the guide

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>

* docs: update the wording in the guide

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>

* fix: fix prettier issues

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2022-02-11 09:29:57 +01:00
Alexander Kubyshkin
4d0a37baed Fix issue with undo history in query field when suggestion inserted (#28656) (#39114) 2022-02-11 09:26:35 +01:00
Roberto Acevedo
1239911b5b Update access_controls.md: Add global to documented query parameter for deleting custom roles. (#40167)
* Update access_controls.md

Update the parameter table for deleting custom roles to make it explicit that the `global` query parameter is handled by this endpoint/should be specified when deleting a globally-scoped role.

* Update docs/sources/http_api/access_control.md

Co-authored-by: Karl Persson <kalle.persson92@gmail.com>
Co-authored-by: achatterjee-grafana <aparajita.chatterjee@grafana.com>
2022-02-10 18:27:39 -05:00
JJgitGit
d97e74d80f Update geomap.md (#43527) 2022-02-10 17:39:05 -05:00
Zoltán Bedi
bf3a8d74cf Chore: Add dependabot to the ignore list (#45233)
for external label so @daniellee doesn't have to manually remove that label 😄
2022-02-10 22:18:08 +01:00
Yuriy Tseretyan
d4ac1f0ce1 Update quota service to accept context (#45186) 2022-02-10 22:17:50 +01:00
Yuriy Tseretyan
c59567a236 Alerting: support ok state in alert migration (#45264) 2022-02-10 21:57:43 +01:00
Artur Wierzbicki
0276b029fc Previews: crawler as a background service (#44891)
* add SQL migrations

* dashboard previews from sql: poc

* added todos

* refactor: use the same enums where possible

* use useEffect, always return json

* added todo

* refactor + delete files after use

* refactor + fix manual thumbnail upload

* refactor: move all interactions with sqlStore to thumbnail repo

* refactor: remove file operations in thumb crawler/service

* refactor: fix dashboard_thumbs sql store

* refactor: extracted thumbnail fetching/updating to a hook

* refactor: store thumbnails in redux store

* refactor: store thumbnails in redux store

* refactor: private'd repo methods

* removed redux storage, saving images as blobs

* allow for configurable rendering timeouts

* added 1) query for dashboards with stale thumbnails, 2) command for marking thumbnails as stale

* use sql-based queue in crawler

* ui for marking thumbnails as stale

* replaced `stale` boolean prop with `state` enum

* introduce rendering session

* compilation errors

* fix crawler stop button

* rename thumbnail state frozen to locked

* #44449: fix merge conflicts

* #44449: remove thumb methods from `Store` interface

* #44449: clean filepath, defer file closing

* #44449: fix rendering.Theme cyclic import

* #44449: linting

* #44449: linting

* #44449: mutex'd crawlerStatus access

* #44449: added integration tests for `sqlstore.dashboard_thumbs`

* #44449: added comments to explain the `ThumbnailState` enum

* #44449: use os.ReadFile rather then os.Open

* #44449: always enable dashboardPreviews feature during integration tests

* #44449: remove sleep time, adjust number of threads

* #44449: review fix: add `orgId` to `DashboardThumbnailMeta`

* #44449: review fix: automatic parsing of thumbnailState

* #44449: lint fixes

* #44449: crawler as a background service v0.1

* #44449: use ServerLockService

* #44449: use ServerLockService

* #44449: review fix: prefer `WithDbSession` over `WithTransactionalDbSession`

* #44449: review fix: add a comment explaining source of the filepath

* #44449: review fix: added filepath validation

* #44449: fix FindDashboardsWithStaleThumbnails to include `theme` and `kind` in search params

* #44449: fix FindDashboardsWithStaleThumbnails to include `theme` and `kind` in search params

* #44449: create function for crawler on demand

* #44449: improve crawler logging

* #44449: fix wire

* #44449: uncomment dummy thumb service, fix ticker interval

* #44449: prevent race condition

* #44449: improve logging

* #44449: fix theme

* #44449: review fixes https://github.com/grafana/grafana/pull/45063/files @fzambia

* #44449: add missing unlock

* #44449: merge

* #44449: review fix - logger @fzambia https://github.com/grafana/grafana/pull/45063/files

* #44449: formatting

* #44449: merge conflict fix

* #44449: merge conflict fix

* #44449: merge conflict fix

* #44449: naming fix

* #44449: update authOpts

* #44449: change authOpts.role back to admin

* #44449: fix `walk` signature, move ctx to a first argument

* #44449: add `dashboardPreviewsScheduler` feature flag

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Alexander Emelin <frvzmb@gmail.com>
2022-02-10 22:45:00 +04:00
Leon Sorokin
586b89f776 Thresholds: fix crash when trying to render zero-height base thresholds (#45256) 2022-02-10 18:49:30 +01:00
Leon Sorokin
9af6202a7f Fetch: parse JSON off-main-thread (async) based on response Content-Type (#45188) 2022-02-10 11:45:41 -06:00
J Guerreiro
cb461d931f ServiceAccounts: allow deleting from service account list (#45239)
* ServiceAccounts: allow deleting from service account list

* Make delete confirmation more explicit
2022-02-10 18:21:04 +01:00
Karl Persson
d2b9da9dde Access control: Support uids for resource permissions (#45226)
* add middleware to solve uid -> id for requests
2022-02-10 17:47:48 +01:00
Shirley
89a0c0fc37 Cloudwatch: Remove unused parameters (#45237)
* Remove unused parameters

* Remove unused context

* Make plugin context first parameter
2022-02-10 17:15:11 +01:00
Andrej Ocenas
642f0a250d Prometheus: Use single string expr as a state for the visual editor (#45232)
* Use just expr string as a state for whole editor

* Fix patterns

* Fix tests
2022-02-10 16:55:44 +01:00
Ieva
9fafbfc87e add the permission to read org users to team creator (#45224) 2022-02-10 14:51:05 +00:00
Ashley Harrison
ec48b81388 Unescape regex string (#45137) 2022-02-10 14:45:39 +00:00
Will Browne
fd5e968bc1 test (#45240) 2022-02-10 15:23:08 +01:00
Jack Westbrook
979907e9dd Chore: Set tsconfig target to ES6 (#44842)
* chore(tsconfig): update grafana/tsconfig to 1.2.0 for outputting es6

* rewrote the unsubscription part to use first().

* test: update failing tests to work with es6 output

* removed bug where we dispatch a promise instead of an array of ritch history.

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
2022-02-10 14:37:39 +01:00
Erik Sundell
57ecabf319 order subscriptions by name (#45228) 2022-02-10 14:27:12 +01:00
J Guerreiro
7b397184a0 ServiceAccounts: add role picker to service accounts list (#45127) 2022-02-10 14:04:07 +01:00
Timur Olzhabayev
a771cbd871 fix(github_actions): workflow execution concurrency is now limited to 1 (#45125) 2022-02-10 14:01:18 +01:00
Piotr Jamróz
e7605ad974 Query History: Split data and view models (#44922)
* Remove unused properties

* Fix unit tests

* Fix unit tests

* Split data models

* Simplify updating items in rich history

* Update tests

* Fix starring an item and add a unit test

* Move the converter to a separate file and add unit tests

* Convert a private function to an inline function

* Add more docs and clean up the code

* Update public/app/core/history/localStorageConverter.ts

Co-authored-by: Giordano Ricci <me@giordanoricci.com>

* Update public/app/core/utils/richHistory.test.ts

Co-authored-by: Giordano Ricci <me@giordanoricci.com>

* Use template literals over explicit casting

* Split updateRichHistory to three separate functions

Co-authored-by: Giordano Ricci <me@giordanoricci.com>
2022-02-10 13:59:43 +01:00
Torkel Ödegaard
374681b546 Popovers: Improve contrast by darkening shadow and changing border to medium (#45136)
* Popovers: Improve contrast by darkening shadow and changing border to medium

* Updated sass theme

* Revert back to weak border
2022-02-10 13:52:23 +01:00
Ivana Huckova
6bc527a211 Add prometheus operation ids (#45216) 2022-02-10 13:40:02 +01:00
Shahar Mor
3eac34f5f3 Kiosk: Reuse kiosk module (#44625)
* Reuse kiosk module, centralize kiosk query handling

* update kiosk tests to set correct kiosk value

* fix DashboardPage kiosk test

* remove unused UrlQueryValue, revert import change
2022-02-10 11:54:50 +00:00
Gábor Farkas
96ae44ee2c loki: alerting: do not round timestamps to seconds (#45057) 2022-02-10 12:53:46 +01:00
Marcus Efraimsson
ca311bf94f Logging: Fix server hangs when using log.WithSuffix (#45213)
Fixes a problem where server hangs if setting 
GF_DATABASE_LOG_QUERIES=true.

Ref #44925
2022-02-10 12:51:51 +01:00
Ashley Harrison
e48baefd32 Adjust menu positioning (#45217) 2022-02-10 11:48:05 +00:00
Ashley Harrison
947b8b8d3b Chore: Remove menuShouldPortal deprecation warning (#45211)
* Chore: Remove Select deprecation

* remove unused import

* Update lockfile
2022-02-10 11:46:35 +00:00
idafurjes
923b62ecab Chore: Remove bus from quota (#45143)
* Remove bus from quota

* workaround

* Change ExpectedOrg ot *models.Org
2022-02-10 12:42:06 +01:00
Torkel Ödegaard
f2795981c6 Prometheus: Fix test warnings (#45206) 2022-02-10 12:23:56 +01:00
Jack Westbrook
8610b95e07 Chore: update yarn.lock (#45212) 2022-02-10 12:06:25 +01:00
Torkel Ödegaard
68eb18c758 Prometheus: Support with aggregations without labels (#45160) 2022-02-10 11:48:48 +01:00
renovate[bot]
14c639fdb5 Update dependency css-loader to v6.6.0 (#44764)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-10 10:26:31 +00:00
Hugo Häggmark
192572174e Chore: Removes console output LogDetails.test.tsx and refactors to RTL (#45193) 2022-02-10 11:06:29 +01:00
Shirley
5edcc2e795 Cloudwatch: Use generic null-insertion mechanism (#43507)
* Cloudwatch: Fix nil values for a period gap in metrics

* Use fields periods for intervals
2022-02-10 10:17:45 +01:00
ying-jeanne
5ded070aab dashdiff bus removal (#45175) 2022-02-10 16:58:52 +08:00
Marcus Efraimsson
2082eeb72f Logging: Fix so that filters can contain commented lines (#45159)
Fixes log filters that contains comments should not be enabled
2022-02-10 09:52:37 +01:00
idafurjes
88cf2da12e Remove bus from sqlstore (#45199) 2022-02-10 09:21:41 +01:00
Josh Hunt
c7a5d2c5c7 Chore: Remove our typeAsJestMock in favor of jest.mocked (#45114) 2022-02-09 23:50:59 +01:00
Kat Yang
7abd372e68 Chore: Remove bus from commands service (#45177) 2022-02-09 16:17:21 -05:00
Ryan McKinley
1bdbc3abdf ContextMenu: make focus on open optional (#45170) 2022-02-09 20:43:08 +01:00
Joey Tawadrous
10232c7857 InfluxDB: backend migration (run query in explore) (#43352)
* InfluxDB backend migration

* Multiple queries and more

* Added types

* Updated preferredVisualisationType

* Updated model parser test to include limit,slimit,orderByTime

* Added test for building query with limit, slimit

* Added test for building query with limit, slimit, orderByTime and puts them in the correct order

* Add test: Influxdb response parser should parse two responses with different refIDs

* Moved methods to responds parser

* Add test to ensure ExecutedQueryString is populated

* Move functions out of response parser class

* Test for getSelectedParams

* Merge cases

* Change to const

* Test get table columns correctly

* Removed unecessary fields

* Test get table rows correctly

* Removed getSeries function

* Added test for preferredVisualisationType

* Added test for executedQueryString

* Modified response parser

* Removed test

* Improvements

* Tests

* Review changes

* Feature flag rename and code gen
2022-02-09 18:26:16 +00:00
matt abrams
7ef43fb959 remove whitespace from ${__value.raw } (#44928) 2022-02-09 19:16:17 +01:00
matt abrams
cb99fe7f22 remove ncurses upgrade in docker image (#44883) 2022-02-09 19:15:17 +01:00
Artur Wierzbicki
d60c2dff40 Chore: export closestIdx from StreamingDataFrame (#45162)
* #41993: export closestIdx function

* #41993: formatting

* #41993: formatting v2
2022-02-09 22:12:24 +04:00
Shirley
67423f42a5 Update latest.json (#45171) 2022-02-09 18:15:44 +01:00
Grot (@grafanabot)
5cddcc1f0f ReleaseNotes: Updated changelog and release notes for 8.3.6 (#45169) 2022-02-09 18:14:57 +01:00
Vicky Lee
e55ed6457b add to CloudWatch Logs to GH Projects automatically (#45158) 2022-02-09 16:56:44 +00:00
Nathan Rodman
f019ee886a Alerting: fix act warnings in alerting tests (#45113)
* fix act warnings in alerting tests

* remove unnecessary angular dep
2022-02-09 08:47:50 -08:00
Gabriel MABILLE
78fc0258b1 AccessControl: Implement SQL filters for team members filtering (#44898)
* AccessControl: Filter team members

* Modify GetTeamMembersByUser comment

* Fix postgres failing test due to quoting

* Rename GetTeamMembersByUser to GetUserTeamMemberships

* Update TeamStore interface
2022-02-09 17:46:37 +01:00
Will Browne
3fbe4801b7 Plugins: Update collect metrics handler to latest signature (#45166)
* use updated collect metrics handler

* use proto helper
2022-02-09 17:36:53 +01:00
ying-jeanne
78eb06ec02 remove bus from login (#44995)
* remove bus from login

* remove comments and format correctly

* remove the downcast
2022-02-09 17:17:09 +01:00
Andrej Ocenas
071ff0b399 Prometheus: Query parsing for visual editor (#44824)
* Add parsing from string to visual query

* Add comments

* Parse expr when changing to builder

* Support template variables

* Report parsing errors

* More error handling

* Add ts-ignore for debug func

* Fix comments
2022-02-09 17:16:14 +01:00
Ashley Harrison
914966a347 Update ci-frontend-metrics.sh (#45161) 2022-02-09 15:55:15 +00:00
Gabriel MABILLE
01b88adb3a AccessControl: SQL filters for team search (#44557)
* AccessControl: SQL filters for team search

Set test config

* Remove userIdFilter when FGAC is on
2022-02-09 16:17:31 +01:00
Yuriy Vidineev
f016e19d1a Email: change the year in templates (#45116)
* change the year in email templates

* Email: change the year in templates

* Email: change the year in templates
2022-02-09 15:53:36 +01:00
Sofia Papagiannaki
2983082eb3 API: Fix missing enterprise routes in swagger spec (#45152) 2022-02-09 15:31:43 +01:00
Connor Lindsey
e94b7f45a1 Tempo: Fix visual service graph bug by setting upper bound for failed arc (#45009)
* Fix visual service graph bug by setting upper bound for failed arc calculation
2022-02-09 07:25:39 -07:00
Alexander Zobnin
49790eac32 Access control: Fix role picker after roles update (#44978)
* Access control: Fix role picker after roles update

* Refactor, use useAsyncFn()

* Review suggestions
2022-02-09 16:42:46 +03:00
Hugo Häggmark
e806011a77 Chore: Removes console outputs from Cascader.test.tsx (#45142) 2022-02-09 14:40:28 +01:00
Hugo Häggmark
f9bb0832ce Chore: Removes console outputs in FieldCache.test.ts (#45141) 2022-02-09 14:30:19 +01:00
Hugo Häggmark
f67e02cb2f Chore: Removes console.log in annotations_srv.test.ts (#45135) 2022-02-09 14:14:37 +01:00
Hugo Häggmark
c25031fa49 Chore: Remove console.log in fetch.test.ts (#45134) 2022-02-09 14:11:30 +01:00
Hugo Häggmark
e4534deab3 Chore: Reduce console output in NavBarItem.test.tsx (#45139)
* Chore: Reduce console ouput in NavBarItem.test.tsx

* Chore: remove async
2022-02-09 14:07:28 +01:00
idafurjes
df282a42cb Remove bus from datasource api (#44987)
* Remove bus from datasource api

* Add DatasourcePermissionService and use it in api

* Fix wire and rename

* Fix import in wire

* Fix bug

* Rename Service to OSS service

* Roll back fix
2022-02-09 14:01:32 +01:00
Hugo Häggmark
0282d5f9c3 Chore: Remove console output in ErrorBoundary.test.tsx (#45138) 2022-02-09 13:45:36 +01:00
Dimitris Sotirakis
605d056136 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>
2022-02-09 13:44:38 +01:00
Ashley Harrison
d3d7411e36 Chore: Add betterer test to track conversion of enzyme tests (#45055)
* Add betterer test for number of enzyme tests

* emit metric for number of enzyme tests

* update frontend metrics script

* Merge...

* Switch order of betterer/lint

* Update version of betterer

* kick levitate

* Update lockfile
2022-02-09 12:41:39 +00:00
renovate[bot]
80352396ca Update dependency stylelint to v14.4.0 (#45100)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-09 11:42:47 +00:00
maicon
8e03541228 Provisioning: Ensure that the default value for orgID is set when provisioning datasources to be deleted (#44244)
Fixes #44243

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2022-02-09 12:38:13 +01:00
kay delaney
b615d0558b DashboardQueryEditor: Refactor and convert to functional component (#45002)
* DashboardQueryEditor: Refactor and convert to functional component
2022-02-09 11:07:36 +00:00
ying-jeanne
ef11e783f1 ldap debug bus removal (#45014)
* ldap debug bus removal

* linter
2022-02-09 11:45:31 +01:00
Alexander Zobnin
089a111858 Service accounts: Add token UI (#45081)
* Initial token creation dialog

* Use date picker for expiration date

* Reset state after closing modal

* Create token flow

* Move modal to separate component

* Minor refactor

* Apply suggestions from code review

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2022-02-09 11:38:46 +01:00
Agnès Toulet
ee6f8b6cd9 Feature Highlights: add RudderStack events (#45099)
* add RS events for PRO badge

* part 2

* fix team sync events

* clean up ProBadge
2022-02-09 11:18:27 +01:00
Levente Balogh
fba9c0be53 chore(levitate-reporting): update the variables sent to Slack (#45122)
The previously used `.url` property was actually giving back a link to the API,
which is not the most suitable thing for us.
2022-02-09 10:08:22 +00:00
Jean-Philippe Quéméner
4fef791c7c Alerting: enable e2e tests to run in production mode (#45073)
* Alerting: run e2e tests in production mode

* adapt expected messages

* switch expected and actual to have the right order
2022-02-09 10:26:06 +01:00
Artur Wierzbicki
a025109647 Dash previews: populate crawler queue from SQL query (#44083)
* add SQL migrations

* dashboard previews from sql: poc

* added todos

* refactor: use the same enums where possible

* use useEffect, always return json

* added todo

* refactor + delete files after use

* refactor + fix manual thumbnail upload

* refactor: move all interactions with sqlStore to thumbnail repo

* refactor: remove file operations in thumb crawler/service

* refactor: fix dashboard_thumbs sql store

* refactor: extracted thumbnail fetching/updating to a hook

* refactor: store thumbnails in redux store

* refactor: store thumbnails in redux store

* refactor: private'd repo methods

* removed redux storage, saving images as blobs

* allow for configurable rendering timeouts

* added 1) query for dashboards with stale thumbnails, 2) command for marking thumbnails as stale

* use sql-based queue in crawler

* ui for marking thumbnails as stale

* replaced `stale` boolean prop with `state` enum

* introduce rendering session

* compilation errors

* fix crawler stop button

* rename thumbnail state frozen to locked

* #44449: fix merge conflicts

* #44449: remove thumb methods from `Store` interface

* #44449: clean filepath, defer file closing

* #44449: fix rendering.Theme cyclic import

* #44449: linting

* #44449: linting

* #44449: mutex'd crawlerStatus access

* #44449: added integration tests for `sqlstore.dashboard_thumbs`

* #44449: added comments to explain the `ThumbnailState` enum

* #44449: use os.ReadFile rather then os.Open

* #44449: always enable dashboardPreviews feature during integration tests

* #44449: remove sleep time, adjust number of threads

* #44449: review fix: add `orgId` to `DashboardThumbnailMeta`

* #44449: review fix: automatic parsing of thumbnailState

* #44449: lint fixes

* #44449: review fix: prefer `WithDbSession` over `WithTransactionalDbSession`

* #44449: review fix: add a comment explaining source of the filepath

* #44449: review fix: added filepath validation

* #44449: review fixes https://github.com/grafana/grafana/pull/45063/files @fzambia

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Alexander Emelin <frvzmb@gmail.com>
2022-02-09 13:23:32 +04:00
George Robinson
4e3a72fc2a Add context.Context to AlertingStore (#45069) 2022-02-09 09:22:09 +00:00
Torkel Ödegaard
069f772c6f Theme: Update generated theme (#45118) 2022-02-09 08:38:37 +01:00
achatterjee-grafana
065819b707 Docs: Added what's new for 8.4 (#45108)
* Checking in changes from gdoc.

* New more changes.

* Added links to images.

* Added 8-4 link to the What's new index page.
2022-02-08 17:41:00 -05:00
Leon Sorokin
b3b1f945b0 BarChart: fix excessive re-renders during mousemove and panel resize (#45027)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-02-08 16:32:23 -06:00
Torkel Ödegaard
7c0b453e19 Tooltips: Make tooltips non interactive by default (#45053)
* Tooltips: Make tooltips non interactive by default

* More updates and cleanup

* Update

* Make time range picker tooltip interactive

* Fix issue

* Trying to make Receivers test faster

* Make JSONCell tooltip interactive
2022-02-08 22:58:20 +01:00
Isabella Siu
16e001e762 CloudWatch: Use single timeout for log queries (#44848) 2022-02-08 15:43:37 -05:00
Roy C
3d0cff5410 Alerting: remove error banner when Prometheus ruler is not supported (#44571) 2022-02-08 21:03:14 +01:00
sam boyer
6a2255abe7 pkg/web: X-Forwarded-For multi-IP handling (#45098)
It is conventionally common for the X-Forwarded-For header to contain a
comma-separated list of IP addresses, with each intermediate proxy
adding an additional item as a request passes through it. This change
makes the web framework handle this case appropriately, always selecting
the first item in the list.
2022-02-08 14:37:19 -05:00
J Guerreiro
2cf421dfe3 ServiceAccounts: Add access control metadata to service accounts (#45096)
* add role to DTO

* add access control metadata
2022-02-08 19:19:22 +00:00
Brian Gann
e3dd5cdc51 bump to version 1.3.1 (#45101) 2022-02-08 20:00:11 +01:00
ying-jeanne
38f93d675b dashboard snapshot bus removal (#44956) 2022-02-08 17:57:59 +01:00
Artur Wierzbicki
424a79273f Chore: Clean up logs and warnings from Edge unit tests (#45050)
* #45026: mock console log output in tests

* #45026: update yarn.lock file
2022-02-08 20:45:20 +04:00
Atif Shoukat Ali
d8795d8a32 Chore: update node version for grafana-plugin-ci-e2e (#45036) 2022-02-08 08:45:00 -08:00
Ieva
4f4b1cb5ea Access control: hide team role picker if user doesn't have access to it (#45068)
* hide team role column

* hide or disable the role picker as needed

* add SWL filtering for role listing
2022-02-08 16:38:13 +00:00
Kristina
4e38ac9cf7 Remove return to panel button and related code (#45018) 2022-02-08 10:20:22 -06:00
renovate[bot]
834d11691f Update dependency core-js to v3.21.0 (#44734)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-08 16:19:20 +00:00
Andrej Ocenas
a58e6ab622 TraceView: refactor UI components injection (#44289)
* Remove UIDivider

* Update TracePageSearchBar buttons

* Remove UIButton

* Remove UIInput

* Remove LoadingIndicator

* Remove UIIcon

* Remove UITooltip

* Remove UIDropdown

* Remove UIMenu
2022-02-08 17:14:33 +01:00
Konrad Lalik
1cf48618de Alerting: Improve Contact Points error handling (#44888)
* Add 400 and 408 errors handling to display useful error message

* Add generic error handling

* Improve type guard
2022-02-08 17:08:27 +01:00
renovate[bot]
92b33d6528 Update typescript-eslint monorepo to v5.11.0 (#45064)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-08 15:55:03 +00:00
renovate[bot]
7ce24e0d0b Update dependency eslint-plugin-jsdoc to v37.8.0 (#45059)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-08 15:52:43 +00:00
Dominik Prokop
ffea53f2f6 TimeSeries: Add support for negative Y and constant transform (#44774)
* add negative y config

* Handle negative y and constant transform in Timeseries panel

* Typechecks

* Add migration from old graph panel

* Docs update

* Revert "Add migration from old graph panel"

This reverts commit 33b5a90b66.

* Revert VizLegendItem changes

* Automatically separate positive and negative stacks within a group

* Update packages/grafana-ui/src/components/VizLegend/VizLegend.story.tsx

* Remove SeriesLabel component

* Update docs/sources/visualizations/time-series/_index.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/visualizations/time-series/_index.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Leftover reverts

* Don't crate bands (for now0 for negative -y stack

* Add docs note about transform being only available as an override

* Fill negative bands in reversed direction

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2022-02-08 07:27:02 -08:00
Yuriy Tseretyan
ea236c276e add missing option to swagger spec (#45070) 2022-02-08 10:09:37 -05:00
Will Browne
f691902949 use correct version (#45076) 2022-02-08 15:59:49 +01:00
Dimitris Sotirakis
b2a8487684 Update changelog for 8.3.5 and 7.5.15 (#45078) 2022-02-08 15:52:53 +01:00
Gábor Farkas
2c0030b1b4 logs-volume: remove custom timeout (#45041)
* logs-volume: remove custom timeout

* make error message a little better
2022-02-08 15:39:09 +01:00
Kristina
c5f0701707 Reduce spacing for Explore/Logs switches (#44935) 2022-02-08 08:21:34 -06:00
Yuriy Tseretyan
6a7a486c6f Reuse opened session in the context (#44939) 2022-02-08 09:02:23 -05:00
George Robinson
67a3e1d6fd Add context.Context to InstanceStore (#45049) 2022-02-08 13:49:04 +00:00
Will Browne
fc42dfe396 Auth: Guarantee consistency of signed SigV4 headers (#45054)
* use latest sigv4 changes

* update configuration docs

* lint

* reformat lint ignore

* specific version for docs
2022-02-08 14:48:17 +01:00
renovate[bot]
4e5b1ca141 Update dependency fork-ts-checker-webpack-plugin to v7.2.0 (#45062)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-08 14:34:56 +01:00
Eric Leijonmarck
79340c087f Add number of tokens to the service accounts view (#44919)
* feat: add serviceaccountDTO

* WIP

* feat: listing number of tokens for a given service account

* nit: removed fmt

* Update pkg/services/serviceaccounts/database/database.go

* Update public/app/features/serviceaccounts/ServiceAccountsListPage.tsx

* fixes

* align DTOProfile data to the frontend

* reviewed myself fixes

* fix: tests fix
2022-02-08 14:31:34 +01:00
renovate[bot]
788f77b7da Update dependency ts-node to v10.5.0 (#45007)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-08 14:21:55 +01:00
renovate[bot]
8012dea737 Update babel monorepo to v7.17.0 (#44973)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-08 14:08:32 +01:00
Eric Leijonmarck
e04169de1a fix: scoping for service accoutns (#44993)
* fix: scoping for service accoutns

* fix: scoping for service accoutns

* Update pkg/services/serviceaccounts/api/api.go

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
2022-02-08 12:44:27 +00:00
Sofia Papagiannaki
35fe58de37 API: Extract OpenAPI specification from source code using go-swagger (#40528)
* 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>
2022-02-08 13:38:43 +01:00
renovate[bot]
9c2363ef08 Update dependency rollup to v2.67.1 (#44750)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-08 12:18:11 +00:00
Will Browne
88ea9aef8d remove unused config (#45056) 2022-02-08 12:42:14 +01:00
Jack Westbrook
b409811005 Toolkit: Bump react-dev-utils to 12.0.0 (#44696)
* chore: bump react-dev-utils due to vulnerbility reports

* chore(yarn): update checksum, remove react-dev-utils packageExtensions
2022-02-08 12:36:59 +01:00
J Guerreiro
8c49e96439 ServiceAccounts: Add token view for Service Accounts (#45013)
* fix SA creation scope

* add writer action to SA fixed role

* ServiceAccounts: Add token table to SA detail page

* ServiceAccounts: Allow deletion of tokens from token table

* refactor service account page

* avoid using store for delete
2022-02-08 11:35:15 +00:00
Jack Westbrook
f885c2ede9 Chore: Make detect breaking changes workflow backport compatible (#45005)
* fix(detect-breaking-changes): use the base.ref for backport compatibility

* chore(check-breaking-changes): update path to previous package dist directory
2022-02-08 11:33:33 +01:00
Levente Balogh
ffee50b57c chore: send a notification to Slack when there is a breaking change (#44699)
We would like this to have a bit better chance for helping out with
breaking changes in the beginning and also to have a historical overview
of what happened.
2022-02-08 11:20:11 +01:00
Konrad Lalik
e50a78a61a Remove unified alerting specific assertions from panel base spec (#44961) 2022-02-08 10:00:58 +01:00
Gabriel MABILLE
e7cff11edd devenv: Adding gitignore for the saml-enterprise block (#45042) 2022-02-08 09:56:03 +01:00
George Robinson
a9399ab3cd Alerting: Add context.Context to RuleStore (#45004)
Alerting: Add context.Context to RuleStore
2022-02-08 08:52:03 +00:00
Hugo Häggmark
31ba5bfea0 Yarn: Updates to SDK packages (#45043) 2022-02-08 09:45:42 +01:00
Leon Sorokin
d0bc3b10bf Chore: uPlot 1.6.19 (#45037) 2022-02-08 00:44:10 -08:00
Alex Khomenko
d21abdfe77 Feature Highlights: Refactor report nav highlight (#44765)
* Remove UpgradeBox from report nav

* Add children prop

* Update icon

* Update styles

* Update text

* Add pro badge to main nav

* Remove redundant span

* Update secondaryAction
2022-02-08 09:53:57 +02:00
Hugo Häggmark
9e1cb8c12a LibraryPanels: Removes save errors for panels changed to library panels (#45033) 2022-02-08 06:55:00 +01:00
Josh Hunt
6baf38e84b Variables: Fix crash when changing query variable datasource (#44957)
* Variables: refactor variable editor state to dispatch typed & atomic extended props

* Mock variable editor in tests

* Make dataSources mandatory in AdHocVariableEditorState

* nit
2022-02-07 23:52:07 +01:00
Josh Hunt
1c6eca09bb Variables: Explicitly type variable editor extended state (#44749)
* Narrow Variable editor state using selector functions

 - Explicitly type "extended" editor state in editor/reducter.ts using a union
 - Create selectors to narrow the types, using unique properties from each extended state to discriminate the union
 - Update DataSourceVariableEditor to use new style of redux connector
 - Update variable editor components to use new selectors

* fix tests

* Make adhoc variable infoText optional, because it is!

* Add AdHocVariableEditor tests

* DataSourceVariableEditor tests

* comment

* reset

* Wrote tests for selectors \(that actually caught a bug, whodathunkit)

* fix stray types and lint issues

* Rename selector functions
2022-02-08 09:31:42 +11:00
Nathan Marrs
ed7b9905c2 BarChart: Fix Sticky Tooltip (#45017) 2022-02-07 23:26:27 +01:00
Karl Persson
01d961c824 update mock (#45010) 2022-02-07 18:44:56 +01:00
Dimitris Sotirakis
5543ad883d CI: Remove grafana/drone-grafana-docker image (#44983)
* Remove grafana/drone-grafana-docker image

* Rename step

* Remove manual gcloud authentication

(cherry picked from commit 329b1a1ef3903c7e2c3ec1f286f9b0f00fcd023e)

* Add publish command for main

* Fix TAG variable parsing

* Remove shouldSave from main builds

* Reorder dependencies

* Update grabpl version
2022-02-07 18:30:41 +01:00
Ashley Harrison
a552e7323f Improve existing e2e repeat tests a bit (#45001)
* Improve existing e2e repeat tests a bit

* nicer menu blur
2022-02-07 16:24:30 +00:00
Gábor Farkas
9c2dd505ff github: add issues to observability squad projects (#44992)
* github: add issues to observability squad projects

* Added new actions

Co-authored-by: Joey Tawadrous <joey.tawadrous@grafana.com>
2022-02-07 17:23:58 +01:00
renovate[bot]
f0b6aa04ff Update jest monorepo to v27.5.0 (#44994)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-07 16:20:44 +00:00
Karl Persson
922b9465ec Access Control: Add function to set several permissions on a resource in one transaction (#44768) 2022-02-07 17:04:32 +01:00
Gabriel MABILLE
178193c84b AccessControl: Use an SQLFilter struct (#44887) 2022-02-07 16:18:52 +01:00
Agnès Toulet
bdac6576e4 Feature Highlights: add highlight to toolbar button and add upgrade modal (#44645)
* Feature Highlights: add highlight to toolbar button and add upgrade modal

* replace hideTitle attribute by making title optional

* update modal design

* remove unused updates
2022-02-07 16:04:15 +01:00
Marcus Efraimsson
05ea825c76 Chore: Logging improvements (#44925)
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
2022-02-07 16:00:08 +01:00
renovate[bot]
f4b13f7d04 Update dependency react-calendar to v3.7.0 (#44984)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-07 15:46:33 +01:00
Ivana Huckova
2250c229d6 Prometheus: Add multi-word search and higlight to metric selector (#44906)
* Prometheus: Add multi-word search and higlight to metric selector

* Remove redundant test

* Remove redundant test id

* Update PromQueryBuilder test

* Match only words split with space
2022-02-07 15:18:17 +01:00
J Guerreiro
94820e1f29 Add/Delete API keys to Service accounts (#44871)
* ServiceAccounts: move token handlers to specific file

* ServiceAccounts: move Add API key to Service account

* APIKeys: api keys can still be used even when service accounts are enabled

* APIKeys: legacy endpoint can't be used to add SA tokens

* ServiceAccount: add tests for creation with nil and non-nil service account ids

* ServiceAccounts: fix unnasigned cfg and AC typo

* Test: test service account token adding

* fix linting error

* ServiceAccounts: Handle Token deletion

* rename token funcs

* rename token funcs and api wrapping

* add token deletion tests

* review

Co-authored-by: eleijonmarck <eric.leijonmarck@gmail.com>

* remove bus

* Update pkg/api/apikey.go

Co-authored-by: eleijonmarck <eric.leijonmarck@gmail.com>
2022-02-07 14:51:54 +01:00
Ashley Harrison
12176e24ef Chore: update eslint (#44982) 2022-02-07 13:46:02 +00:00
ying-jeanne
016fa77460 remove bus from loginservice (#44907) 2022-02-07 14:36:15 +01:00
ying-jeanne
69c764897e remove dispatch from apikey (#44955) 2022-02-07 21:14:54 +08:00
Eric Leijonmarck
334c29eebf feat: creation of service account (#44913)
* feat: creation of service account

* added back button for the details page

* refactor: remove unused file, renamed fields

* oppps
2022-02-07 14:12:39 +01:00
renovate[bot]
a8e9369084 Update Monthly patch updates (#44686)
* Update Monthly patch updates

* Remove 3 troublesome packages...

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-02-07 13:08:10 +00:00
Piotr Jamróz
bfe66a1780 Fix conflicts incorrectly resolved in 8fabe8b6a7 (#44975) 2022-02-07 13:36:16 +01:00
Torkel Ödegaard
f92ab9bc72 Prometheus: Adds missing options to the new query builder (#44915)
* Prometheus: Query builder legend format, first working state

* Added format option

* Working options section

* Wrapping stuff up removing old stuff

* Fixed ts issues

* Review fixes

* Added unit tests for preview toggle
2022-02-07 13:32:36 +01:00
Gábor Farkas
d9d1f8520e loki: backend-queries: set interval-value in dataframe (#44965)
* loki: backend-queries: set interval-value in dataframe

* fixed unit test

* added interval-specific unit test
2022-02-07 13:02:04 +01:00
idafurjes
caa5f356be Remove bus from dashboard api (#44923)
* Remove bus from dashboard api

* Polish api dashboard tests

* Remove Delete Slug method

* Fix sqlstore dashboard test

* Remove bus from dashboard permission

* Remove GetDashboardsBySlug from sqlstore
2022-02-07 12:43:43 +01:00
renovate[bot]
08ee093dfe Update Storybook updates to v6.4.15 (#44586)
* Update Storybook updates to v6.4.15

* revert(storybook): remove webpack process resolution as 6.4.14 patched it

* chore(yarn): update packageExtensions for storybook bump

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2022-02-07 11:29:15 +01:00
renovate[bot]
b28f12608d Update dependency fork-ts-checker-webpack-plugin to v7 (#44620)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-07 11:26:55 +01:00
Dimitris Sotirakis
67225d9cfc Update upload-cdn command args (#44966) 2022-02-07 10:56:05 +01:00
Dimitris Sotirakis
f96a6c10c5 CI: Update GCP_GRAFANA_UPLOAD_KEY var name (#44303)
* Update GCP_KEY var name

* Rename GCP_GRAFANA_UPLOAD_KEY for upload-packages

* Update grabpl
2022-02-07 10:11:27 +01:00
Marcus Andersson
eb9d85a2bf Deprecation: use locationService in favor of getLocationSrv (#44813)
* deprecated

* updating documentation.

* added deprecation notice.

* Replacing deprecated getLocationSrv.

* Update docs/sources/developers/plugins/migration-guide.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/developers/plugins/migration-guide.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/developers/plugins/migration-guide.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/developers/plugins/migration-guide.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* updating according to feedback.

* Update docs/sources/developers/plugins/migration-guide.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/developers/plugins/migration-guide.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2022-02-07 09:37:56 +01:00
Gábor Farkas
560c773905 loki: run some queries through the backend (#44729) 2022-02-07 08:43:48 +01:00
Nathan Marrs
3a2e3267ba BarChart: Add support for data links (#44932) 2022-02-04 18:31:00 -08:00
Leon Sorokin
b07345e57e StateTimeline: add spanNulls editor (#44811) 2022-02-04 16:57:11 -06:00
Alexander Weaver
935059a376 Alerting: Create basic storage layer for provisioning (#44679)
* Simplistic store API for provenance lookups on arbitrary types

* Add a few notes in comments

* Improved type safety for provisioned objects

* Clean-up TODOs for future PRs

* Clean up provisioning model

* Clean up tests

* Restrict allowable types in interface

* Fix linter error

* Move AlertRule domain methods to same file as AlertRule definition

* Update pkg/services/ngalert/models/provisioning.go

Co-authored-by: George Robinson <george.robinson@grafana.com>

* Complete interface rename

* Pass context through store API

* More idiomatic method names

* Better error description

* Improve code-docs

* Use ORM language instead of raw sql

* Add support for records in different orgs

* ResourceTypeID -> ResourceType since it's not an ID

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-02-04 13:23:19 -06:00
Kat Yang
7105bb3be7 Chore: Remove bus from admin users (#44869)
* Chore: Remove bus from admin users

* Mock authinfoservice

* Update user id

* attempt to fix the tests in admin users api

* fix type cast

* revert skipped tests

Co-authored-by: Serge Zaitsev <serge.zaitsev@grafana.com>
2022-02-04 13:45:42 -05:00
Yuriy Tseretyan
ddfe2dce74 Alerting: Split grafana and lotex routes (#44742)
* split Lotex and Grafana routes
* update template to use authorize function for every route
2022-02-04 12:42:04 -05:00
Will Browne
126ed461b1 remove grafana specific config from package (#44866) 2022-02-04 18:14:53 +01:00
Kat Yang
5c87044aa2 Chore: Remove bus from frontend settings (#44921) 2022-02-04 17:55:50 +01:00
Kat Yang
0e6300fb49 Chore: Remove bus from admin (#44920)
* Chore: Remove bus from admin

* fix test

Co-authored-by: Ying WANG <ying.wang@grafana.com>
2022-02-04 17:53:58 +01:00
Serge Zaitsev
9d654bb6b8 Chore: Remove bus from plugin proxy api (#44899)
* remove bus from plugin proxy api

* fixing the tests
2022-02-04 17:35:00 +01:00
idafurjes
7a23700e1a Remove unused GetDashboard method (#44890)
* Remove unused GetDashboard method

* Uncomment test

* Fix dashboard service integration test

* Remove comment
2022-02-04 17:21:06 +01:00
Piotr Jamróz
a40fa83893 Query History: Remove unused properties (#44904)
* Remove unused properties

* Fix unit tests

* Fix unit tests
2022-02-04 17:05:46 +01:00
Ivana Huckova
0f362f8dfc Query history: Create API to delete query from query history (#44653)
* Query history: Add delete and refactor

* Update docs/sources/http_api/query_history.md

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
2022-02-04 16:14:36 +01:00
Gilles De Mey
1680e284e5 Alerting: validate namespace and groupname for Grafana manages and Lotex alerts (#44872) 2022-02-04 15:04:11 +01:00
George Robinson
9df43abbb5 Fix evaluation of alert rules for datasources with custom headers (#44862)
* Fix evaluation of alert rules for datasources with custom headers

* Fix unit tests

* Fix integration tests

* Evaluator fields should be package private
2022-02-04 14:56:37 +01:00
Karl Persson
3cf31451ec Access control: Reduce number of API calls for role picker (#44905)
* Restucture state for TeamRolePicker and UserRolePicker

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2022-02-04 14:54:42 +01:00
Serge Zaitsev
61533a3cb4 Chore: Remove bus from health api (#44897)
* remove bus from health api

* fix health api tests

* use db health query as a method

* use pointer in sqlstore mock
2022-02-04 14:33:35 +01:00
Serge Zaitsev
058e3ffc21 Chore: Remove bus from Alerting API (#44894)
* assign handlers to httpserver

* turn sqlstore mock in to a pointer

* add search service interface

* fix tests for alerting and other apis

* once again, make linter happy
2022-02-04 13:41:15 +01:00
Vardan Torosyan
b38d3f339a Documentation for granting and revoking access for teams. (#44863) 2022-02-04 13:17:25 +01:00
Piotr Jamróz
6bb6b13379 Query History: Refactor persistence layer (#44545)
* Extract Rich History storage into two separate implementations

Implement getting all entries and adding a new entry

* Add deleting rich history items

* Add editing rich history

* Simplify RichHistoryStorage API

* Reorganize methods

* Rename variable

* Remove feature toggle

* Fix TS errors

* Fix tests

* Clean up

* Clean up only when adding new entry

* Fix showing a warning message

* Use enum instead of a string

* Update public/app/core/history/richHistoryLocalStorage.ts

Co-authored-by: Giordano Ricci <me@giordanoricci.com>

* Update public/app/core/history/richHistoryLocalStorage.ts

Co-authored-by: Giordano Ricci <me@giordanoricci.com>

* Improve readability

* Rename files and remove inferred return types

* Use const over a var

* Remove unsed files

* Remove redundant null check

* Update public/app/core/history/richHistoryLocalStorageUtils.ts

Co-authored-by: Giordano Ricci <me@giordanoricci.com>

* Fix linting issues

Co-authored-by: Giordano Ricci <me@giordanoricci.com>
2022-02-04 12:46:27 +01:00
Ashley Harrison
9e52361c1e Accessibility: Fix text selection when using FocusScope (#44770)
* Add tabIndex={-1} to places using focusScope to allow for text highlighting

* use useDialog

* don't need explicit tabIndex anymore

* remove duplicate spreading of props
2022-02-04 11:20:18 +00:00
Ivana Huckova
e7a0e69153 Loki: Use explore query field unless new query builder feature toggle is enabled (#44858)
* Loki: Fix using of Explore editor in Explore

* Add test and remove Explore fields in module

* Update tests
2022-02-04 12:19:18 +01:00
Jeremy Price
525d9d97a8 Fix crash on no service accounts (#44389)
* Fix crash on no service accounts

* Fix tests

* Update org_users.go

* Update org_users.go

* linter, again

* Update build.go

* Update pkg/services/serviceaccounts/tests/common.go

* fix: big D

Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
2022-02-04 11:06:30 +00:00
Gabriel MABILLE
74ee5262e8 vscode: proposal to add current workdir to vscode config (#39088) 2022-02-04 09:18:40 +01:00
Josh Hunt
f1b2e2b7ff Chore: More variable e2e tests (#44803)
* Add Datasource variable e2e tests

* Update other tests

* Fix names/comments in tests

* Add Interval variable tests

* fix typo
2022-02-04 12:37:01 +11:00
Josh Hunt
de7a920967 Chore: Suppress messages and logs from tests (#44629)
* Suppress "not wrapped in act()" warning in UserPicker test

* Add menuShouldPortal to AmRoutesExpandedForm to suppress deprecation warning

* use forwardRef in alerting ActionIcon to suppress ref warning

* Add menuShouldPortal to alerting GroupBy to suppress deprecation warning
2022-02-04 12:36:44 +11:00
Jeff Levin
df8e377b5e Add feature toggle for validated queries (#44453)
This PR was written before the featuremgmt package. The authors of that package included the validated queries toggle. Merging for history.
2022-02-03 16:30:23 -09:00
Josh Hunt
6211ca4d3d Chore: Move variable field selectors to data-testid (#44801)
* Chore: Move variable field selectors to data-testid

* Fix data source variable editor selector

* fix test
2022-02-04 11:55:19 +11:00
Gilles De Mey
c1a0c2664c Alerting: add custom grouping to Alert Panel (#44559)
Co-authored-by: Peter Holmberg <peterholmberg@users.noreply.github.com>
2022-02-03 19:07:27 +01:00
ying-jeanne
c5211f848d remove bus from search service (#44825) 2022-02-03 18:46:38 +01:00
Selene
3ce0730558 AuthService: Move database logic to its own class and package (#44835)
* Move database logic to its own class and package

* Fix lint
2022-02-03 18:23:45 +01:00
Kat Yang
9b3cb4a306 Chore: Remove bus from index (#44851) 2022-02-03 18:22:21 +01:00
bolshoytoster
7f2d3055d8 Logging: Fix don't return an error trying to initialize the file logger (#42952)
Fixes #42897

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-02-03 18:17:25 +01:00
Gabriel MABILLE
8217d6d206 AccessControl: Change teams permissions page when accesscontrol is enabled (#43971)
* 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>
2022-02-03 17:49:39 +01:00
Sergey Kostrukov
85ea1a5d64 Prometheus: Fix Azure authentication support (#44407)
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
2022-02-03 17:06:31 +01:00
Gabriel MABILLE
6d931226d8 AccessControl: Show UserPicker based on canListUsers (#44843)
* AccessControl: Show UserPicker based on canListUser

* Update public/app/core/components/AccessControl/AddPermission.tsx

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2022-02-03 16:59:25 +01:00
Andres Martinez Gotor
71e3e6ec93 Chore: Update pre version (#44855) 2022-02-03 16:52:53 +01:00
Andres Martinez Gotor
53a693fd84 Chore: Update latest.json (#44854) 2022-02-03 16:52:22 +01:00
Gabriel MABILLE
86756ee3e5 AccessControl: introduce a different accesscontrol check (licensed or not) (#44777)
Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com>
2022-02-03 16:27:53 +01:00
Ieva
602d62ebcc Access control: FGAC for team sync endpoints (#44673)
* 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
2022-02-03 15:27:05 +00:00
Marcus Efraimsson
bc7e55d99b Chore: Fix log filters (#44681) 2022-02-03 23:20:02 +08:00
Dimitris Sotirakis
5f16e4cedc Rename build-e2e-publish pipelines (#44836) 2022-02-03 14:23:50 +00:00
Gábor Farkas
0c2ba819a7 Loki: use generic grafana null-insertion mechanism (#44826)
* loki: refactor: return dataframes instead of timeseries

* fixed unit test

* removed unused import
2022-02-03 15:23:38 +01:00
Grot (@grafanabot)
afac7701cb ReleaseNotes: Updated changelog and release notes for 8.4.0-beta1 (#44822) 2022-02-03 15:15:48 +01:00
Armand Grillet
a943bf9963 Improve prettier:check output (#44816) 2022-02-03 15:13:14 +01:00
Giordano Ricci
6415b9a54d Explore: avoid locking timepicker when range is inverted (#44790)
* Explore: avoid locking timepicker when range is inverted

* Explore: prevent time picker to lock if from & to search parameters are present
2022-02-03 13:45:29 +00:00
Konrad Lalik
bb88cf683c Alerting: Fix alert notification template (#44761)
* Wrap the inner template into div to prevent premailer from breaking the HTML structure

* Remove test row

* Add wrapper explanation

* Remove redundant code

* Add empty line
2022-02-03 14:17:05 +01:00
Todd Treece
c8bb4c733e Prometheus: Set interval on time field (#44802) 2022-02-03 08:15:55 -05:00
Gilles De Mey
29b97361f7 Alerting: load correct unified alerting tab (#44794) 2022-02-03 13:35:56 +01:00
Serge Zaitsev
43b15b92ad Chore: Remove bus from the alerting service (#44496)
* propagate notificationservice down to the notifiers

* replace dispatch in result handler

* remove dispatch from the rule reader

* remove dispatch from eval context

* remove dispatch from alerting usage

* remove dispatch from alerting usage

* remove dispatch from notifier

* attempt to fix tests in alerting

* hello linter, my old friend; also disable some tests for now

* use mocks to fix the tests

* resolving wire providers

* make linter happy

* remove yet another bus.dispatch

* fix tests using store mock
2022-02-03 13:26:05 +01:00
Alex Khomenko
a79c048344 Feature Highlights: move setting to a feature toggle (#44780)
* Add toggle

* Use the toggle

* Cleanup
2022-02-03 13:53:23 +02:00
Ivana Huckova
c23bc1e7b7 Prometheus: Show variable options in query builder (#44784)
* Prometheus: Show variable options

* Remove lint error

* Fix test for CodeQL

* Update public/app/plugins/datasource/prometheus/datasource.ts

Co-authored-by: Torkel Ödegaard <torkel@grafana.org>

* Update public/app/plugins/datasource/loki/datasource.ts

Co-authored-by: Torkel Ödegaard <torkel@grafana.org>

Co-authored-by: Torkel Ödegaard <torkel@grafana.org>
2022-02-03 11:40:19 +01:00
Kat Yang
f582e6c86a Chore: Remove bus from password (#44482)
* Chore: Remove bus from password

* Refactor: Remove bus from password.go and adjust tests

* remove sqlstore dependency from notifications

* Chore: Remove bus from password

* Refactor: Remove bus from password.go and adjust tests

* remove sqlstore dependency (again)

* remove fmt printf

* fix dependencies in http server

* fix renamed method in tests

Co-authored-by: Serge Zaitsev <serge.zaitsev@grafana.com>
2022-02-03 10:33:46 +01:00
Gábor Farkas
f36ed878e9 Loki: add helper function to handle instant/range queries (#44785)
* loki: add helper function to handle range/instant queries

* improved comment

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2022-02-03 10:25:37 +01:00
Peter Holmberg
3314178a0a grafana/ui: Fix RelativeTimeRange supported formats (#44535)
* remove link to docs site

* extract tooltip to component

* text and formatting

* use div instead of p
2022-02-03 10:13:19 +01:00
Vardan Torosyan
f38f10416a Revert fixed roles and service accounts (#44778)
* Revert fixed roles and service accounts

* Leave the fixed role for service accounts
2022-02-03 09:59:26 +01:00
Armand Grillet
8c6a5f043a [docs] Clarify legacy alerting deprecation (#44759)
* Clarify legacy alerting deprecation

* Lint Markdown
2022-02-03 09:59:02 +01:00
idafurjes
1b286e6bb5 Remove bus from quota, preferences, plugins, user_token (#44762)
* Remove bus from quota, preferences, plugins, user_token

* Bind sqlstore.Store to *sqlstore.SQLStore

* Fix test

* Fix sqlstore wire injection, dependency
2022-02-03 09:20:20 +01:00
Joan López de la Franca Beltran
b2655750e8 Encryption: Add support for data keys re-encryption (#43548)
* 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>
2022-02-03 09:15:38 +01:00
JM
16f0c6617a Update docs library element http api (#44493) 2022-02-03 08:46:03 +01:00
Joan López de la Franca Beltran
f8105efff3 Encryption: CLI rollback command (#43935)
* Encryption: CLI rollback command

* Update flag reference to 'featuremgmt' pkg

* Update feature toggles usage

* Clean up data keys table after envelope encryption rollback
2022-02-03 07:19:18 +01:00
Josh Hunt
ce4d8646fd Chore: E2E tests for various variables types (#44747)
* Pass data-testid into VariableTextEditorField

* Add e2e tests for custom variables

* Rename query variable specs to match others

* Add e2e tests for Text Box variables

* manually remove id: null

* Add tests for constant variables
2022-02-03 09:58:56 +11:00
Yuriy Tseretyan
984c95de63 Do not store EvaluationString in Evaluation. (#44606)
* do not store evaluation string in Evaluation.
* reduce number of buckets to store for a single state
2022-02-02 19:18:20 +01:00
Marcus Efraimsson
0092d10764 Instrumentation: Fix HTTP request instrumentation of authentication failures (#44234)
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
2022-02-02 18:48:46 +01:00
Leon Sorokin
3504844ad7 DataFrame: insert null values along interval (#44622) 2022-02-02 10:25:49 -06:00
5479 changed files with 212609 additions and 66034 deletions

342
.betterer.results Normal file
View File

@@ -0,0 +1,342 @@
// BETTERER RESULTS V2.
//
// If this file contains merge conflicts, use `betterer merge` to automatically resolve them:
// https://phenomnomnominal.github.io/betterer/docs/results-file/#merge
//
exports[`no enzyme tests`] = {
value: `{
"packages/grafana-ui/src/components/BarGauge/BarGauge.test.tsx:4199795290": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"packages/grafana-ui/src/components/ColorPicker/NamedColorsPalette.test.tsx:3311646309": [
[0, 31, 13, "RegExp match", "2409514259"]
],
"packages/grafana-ui/src/components/FormField/FormField.test.tsx:3429087660": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"packages/grafana-ui/src/components/Forms/Legacy/Input/Input.test.tsx:3129955645": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"packages/grafana-ui/src/components/Gauge/Gauge.test.tsx:2525939157": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"packages/grafana-ui/src/components/Graph/Graph.test.tsx:1664091255": [
[0, 17, 13, "RegExp match", "2409514259"]
],
"packages/grafana-ui/src/components/Graph/GraphTooltip/MultiModeGraphTooltip.test.tsx:1865444105": [
[0, 17, 13, "RegExp match", "2409514259"]
],
"packages/grafana-ui/src/components/List/AbstractList.test.tsx:2972876749": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"packages/grafana-ui/src/components/Logs/LogLabels.test.tsx:1029448019": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"packages/grafana-ui/src/components/Logs/LogMessageAnsi.test.tsx:1630730648": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"packages/grafana-ui/src/components/Logs/LogRowContextProvider.test.tsx:2719724375": [
[0, 17, 13, "RegExp match", "2409514259"]
],
"packages/grafana-ui/src/components/Logs/LogRows.test.tsx:3121815234": [
[0, 17, 13, "RegExp match", "2409514259"]
],
"packages/grafana-ui/src/components/QueryField/QueryField.test.tsx:2976628669": [
[0, 26, 13, "RegExp match", "2409514259"]
],
"packages/grafana-ui/src/components/Slider/Slider.test.tsx:751112695": [
[0, 17, 13, "RegExp match", "2409514259"]
],
"packages/grafana-ui/src/components/Typeahead/PartialHighlighter.test.tsx:1751923376": [
[0, 31, 13, "RegExp match", "2409514259"]
],
"packages/grafana-ui/src/components/Typeahead/Typeahead.test.tsx:972524250": [
[0, 17, 13, "RegExp match", "2409514259"]
],
"packages/grafana-ui/src/components/Typeahead/TypeaheadInfo.test.tsx:3512289373": [
[0, 17, 13, "RegExp match", "2409514259"]
],
"packages/grafana-ui/src/slate-plugins/braces.test.tsx:1691463920": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"packages/grafana-ui/src/slate-plugins/clear.test.tsx:3927593033": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"packages/grafana-ui/src/slate-plugins/runner.test.tsx:1123710822": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"packages/grafana-ui/src/slate-plugins/suggestions.test.tsx:2682912140": [
[0, 18, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TracePageHeader/SpanGraph/CanvasSpanGraph.test.js:1974748555": [
[14, 19, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TracePageHeader/SpanGraph/GraphTicks.test.js:940336852": [
[14, 19, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TracePageHeader/SpanGraph/Scrubber.test.js:4256741694": [
[14, 19, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TracePageHeader/SpanGraph/TickLabels.test.js:2931161174": [
[14, 19, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TracePageHeader/SpanGraph/ViewingLayer.test.js:1676554632": [
[14, 19, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TracePageHeader/SpanGraph/index.test.js:186764954": [
[14, 19, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TracePageHeader/TracePageHeader.test.js:3242042907": [
[14, 26, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TracePageHeader/TracePageSearchBar.test.js:2807329716": [
[14, 19, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TraceTimelineViewer/ListView/index.test.js:1734982398": [
[14, 26, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TraceTimelineViewer/ReferencesButton.test.js:3807792910": [
[14, 19, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TraceTimelineViewer/SpanBar.test.js:1478502145": [
[14, 17, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TraceTimelineViewer/SpanBarRow.test.js:3826510429": [
[14, 26, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TraceTimelineViewer/SpanDetail/AccordianKeyValues.test.js:2408389970": [
[14, 19, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TraceTimelineViewer/SpanDetail/AccordianLogs.test.js:3960703835": [
[14, 19, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TraceTimelineViewer/SpanDetail/AccordianReferences.test.js:2429764318": [
[14, 19, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TraceTimelineViewer/SpanDetail/AccordianText.test.js:1966455998": [
[14, 17, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TraceTimelineViewer/SpanDetail/KeyValuesTable.test.js:3568627238": [
[14, 19, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TraceTimelineViewer/SpanDetail/TextList.test.js:3006381933": [
[14, 19, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TraceTimelineViewer/SpanDetail/index.test.js:3097530078": [
[16, 19, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TraceTimelineViewer/SpanDetailRow.test.js:2623922632": [
[14, 19, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TraceTimelineViewer/SpanTreeOffset.test.js:1117377794": [
[14, 19, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TraceTimelineViewer/Ticks.test.js:743308415": [
[14, 19, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TraceTimelineViewer/TimelineHeaderRow/TimelineCollapser.test.js:4018342820": [
[14, 19, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TraceTimelineViewer/TimelineHeaderRow/TimelineColumnResizer.test.js:2286101708": [
[15, 17, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TraceTimelineViewer/TimelineHeaderRow/TimelineHeaderRow.test.js:2106409544": [
[14, 19, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TraceTimelineViewer/TimelineHeaderRow/TimelineViewingLayer.test.js:1423129438": [
[15, 17, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TraceTimelineViewer/VirtualizedTraceView.test.js:2326471104": [
[13, 26, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/TraceTimelineViewer/index.test.js:381298544": [
[14, 19, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/common/CopyIcon.test.js:187212136": [
[15, 19, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/common/NewWindowIcon.test.js:1750458349": [
[14, 19, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/common/UiFindInput.test.js:2207118020": [
[14, 19, 13, "RegExp match", "2409514259"]
],
"packages/jaeger-ui-components/src/url/ReferenceLink.test.js:3249503373": [
[14, 26, 13, "RegExp match", "2409514259"]
],
"public/app/core/components/PageActionBar/PageActionBar.test.tsx:1251504193": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/core/components/QueryOperationRow/QueryOperationAction.test.tsx:3032694716": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/core/components/QueryOperationRow/QueryOperationRow.test.tsx:2026575657": [
[0, 26, 13, "RegExp match", "2409514259"]
],
"public/app/core/components/Select/FolderPicker.test.tsx:993468764": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/core/components/Select/MetricSelect.test.tsx:3351544014": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/alerting/AlertRuleList.test.tsx:2998938420": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/alerting/TestRuleResult.test.tsx:2358420489": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/api-keys/ApiKeysAddedModal.test.tsx:3246264379": [
[0, 20, 13, "RegExp match", "2409514259"]
],
"public/app/features/dashboard/components/DashboardRow/DashboardRow.test.tsx:1463123173": [
[0, 17, 13, "RegExp match", "2409514259"]
],
"public/app/features/dashboard/components/SaveDashboard/forms/SaveDashboardAsForm.test.tsx:1969004590": [
[0, 17, 13, "RegExp match", "2409514259"]
],
"public/app/features/dashboard/components/SaveDashboard/forms/SaveDashboardForm.test.tsx:948029434": [
[0, 17, 13, "RegExp match", "2409514259"]
],
"public/app/features/dashboard/components/ShareModal/ShareLink.test.tsx:2357087833": [
[0, 35, 13, "RegExp match", "2409514259"]
],
"public/app/features/dashboard/dashgrid/DashboardGrid.test.tsx:2723773538": [
[0, 35, 13, "RegExp match", "2409514259"]
],
"public/app/features/dashboard/dashgrid/PanelHeader/PanelHeaderCorner.test.tsx:2851646279": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/datasources/DashboardsTable.test.tsx:1950355032": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/datasources/DataSourceDashboards.test.tsx:1369048021": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/datasources/DataSourcesListPage.test.tsx:2960099202": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/datasources/settings/BasicSettings.test.tsx:625016324": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/datasources/settings/ButtonRow.test.tsx:1422996720": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/dimensions/editors/ThresholdsEditor/ThresholdsEditor.test.tsx:4164297658": [
[0, 17, 13, "RegExp match", "2409514259"]
],
"public/app/features/explore/LiveLogs.test.tsx:156663779": [
[0, 17, 13, "RegExp match", "2409514259"]
],
"public/app/features/explore/RichHistory/RichHistory.test.tsx:193587232": [
[0, 17, 13, "RegExp match", "2409514259"]
],
"public/app/features/explore/RichHistory/RichHistoryCard.test.tsx:4263002507": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/explore/RichHistory/RichHistoryQueriesTab.test.tsx:3770907760": [
[0, 17, 13, "RegExp match", "2409514259"]
],
"public/app/features/explore/RichHistory/RichHistorySettings.test.tsx:4065084278": [
[0, 17, 13, "RegExp match", "2409514259"]
],
"public/app/features/explore/RichHistory/RichHistoryStarredTab.test.tsx:3750328521": [
[0, 17, 13, "RegExp match", "2409514259"]
],
"public/app/features/explore/RunButton.test.tsx:4267530266": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/explore/SecondaryActions.test.tsx:1177396128": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/explore/TimeSyncButton.test.tsx:853739820": [
[0, 17, 13, "RegExp match", "2409514259"]
],
"public/app/features/folders/FolderSettingsPage.test.tsx:1109052730": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/invites/InviteesTable.test.tsx:3612992381": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/org/OrgDetailsPage.test.tsx:3835042085": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/org/OrgProfile.test.tsx:623809345": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/teams/CreateTeam.test.tsx:1750035593": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/teams/TeamGroupSync.test.tsx:2526985933": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/teams/TeamList.test.tsx:854193970": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/teams/TeamMemberRow.test.tsx:1649328210": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/teams/TeamMembers.test.tsx:4089428239": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/teams/TeamPages.test.tsx:3990420214": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/teams/TeamSettings.test.tsx:2043271249": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/users/UsersActionBar.test.tsx:3740177621": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/users/UsersListPage.test.tsx:3908145117": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/features/users/UsersTable.test.tsx:263958312": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/plugins/datasource/cloud-monitoring/components/Aggregation.test.tsx:3822406835": [
[1, 19, 13, "RegExp match", "2409514259"]
],
"public/app/plugins/datasource/cloudwatch/components/ConfigEditor.test.tsx:1224072551": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/plugins/datasource/cloudwatch/components/LogsQueryField.test.tsx:1501504663": [
[2, 19, 13, "RegExp match", "2409514259"]
],
"public/app/plugins/datasource/elasticsearch/configuration/ConfigEditor.test.tsx:3481855642": [
[0, 26, 13, "RegExp match", "2409514259"]
],
"public/app/plugins/datasource/elasticsearch/configuration/DataLinks.test.tsx:248699332": [
[0, 17, 13, "RegExp match", "2409514259"]
],
"public/app/plugins/datasource/grafana-azure-monitor-datasource/components/deprecated/components/InsightsConfig.test.tsx:1107283234": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/plugins/datasource/influxdb/components/ConfigEditor.test.tsx:3456478975": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/plugins/datasource/loki/components/LokiExploreQueryEditor.test.tsx:1488067923": [
[0, 26, 13, "RegExp match", "2409514259"]
],
"public/app/plugins/datasource/loki/components/LokiQueryEditor.test.tsx:146069464": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/plugins/datasource/loki/configuration/ConfigEditor.test.tsx:3658171175": [
[0, 17, 13, "RegExp match", "2409514259"]
],
"public/app/plugins/datasource/loki/configuration/DebugSection.test.tsx:1551927716": [
[0, 17, 13, "RegExp match", "2409514259"]
],
"public/app/plugins/datasource/loki/configuration/DerivedField.test.tsx:3570129984": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/plugins/datasource/loki/configuration/DerivedFields.test.tsx:2402631398": [
[0, 17, 13, "RegExp match", "2409514259"]
],
"public/app/plugins/datasource/prometheus/configuration/AzureCredentialsForm.test.tsx:3424320489": [
[0, 19, 13, "RegExp match", "2409514259"]
],
"public/app/plugins/panel/bargauge/BarGaugePanel.test.tsx:1597135392": [
[0, 31, 13, "RegExp match", "2409514259"]
]
}`
};

5
.betterer.ts Normal file
View File

@@ -0,0 +1,5 @@
import { regexp } from '@betterer/regexp';
export default {
'no enzyme tests': () => regexp(/from 'enzyme'/g).include('**/*.test.*'),
};

View File

@@ -1,7 +1,8 @@
module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT
go 1.17
go 1.19
replace github.com/docker/docker => github.com/docker/engine v17.12.0-ce-rc1.0.20200309214505-aa6a9891b09c+incompatible
require github.com/drone/drone-cli v1.4.0 // drone
require golang.org/x/sys v0.0.0-20221010170243-090e33056c14

View File

@@ -1 +1,3 @@
module _ // Fake go.mod auto-created by 'bingo' for go -moddir compatibility with non-Go projects. Commit this file, together with other .mod files.
module _ // Fake go.mod auto-created by 'bingo' for go -moddir compatibility with non-Go projects. Commit this file, together with other .mod files.
go 1.19

View File

@@ -1,8 +1,8 @@
[run]
init_cmds = [
["make", "gen-go"],
["go", "run", "build.go", "-dev", "build-cli"],
["go", "run", "build.go", "-dev", "build-server"],
["GO_BUILD_DEV=1", "make", "build-cli"],
["GO_BUILD_DEV=1", "make", "build-server"],
["./bin/grafana-server", "-packaging=dev", "cfg:app_mode=development"]
]
watch_all = true
@@ -13,10 +13,10 @@ watch_dirs = [
"$WORKDIR/conf",
]
watch_exts = [".go", ".ini", ".toml", ".template.html"]
ignore_files = ["wire_gen.go"]
ignore_files = ["wire_gen.go"]
build_delay = 1500
cmds = [
["make", "gen-go"],
["go", "run", "build.go", "-dev", "build-server"],
["GO_BUILD_DEV=1", "make", "build-server"],
["./bin/grafana-server", "-packaging=dev", "cfg:app_mode=development"]
]

View File

@@ -6,6 +6,7 @@
load('scripts/drone/pipelines/pr.star', 'pr_pipelines')
load('scripts/drone/pipelines/main.star', 'main_pipelines')
load('scripts/drone/pipelines/docs.star', 'docs_pipelines')
load('scripts/drone/pipelines/release.star', 'release_pipelines', 'publish_image_pipelines', 'publish_artifacts_pipelines', 'publish_npm_pipelines', 'publish_packages_pipeline')
load('scripts/drone/version.star', 'version_branch_pipelines')
load('scripts/drone/pipelines/cron.star', 'cronjobs')

2147
.drone.yml

File diff suppressed because it is too large Load Diff

View File

@@ -1,15 +1,25 @@
node_modules
compiled
.git
.github
.yarn
build
vendor
devenv
compiled
data
deployment_tools_config.json
devenv
dist
e2e/tmp
scripts/grafana-server/tmp
node_modules
pkg
public/lib/monaco
deployment_tools_config.json
scripts/grafana-server/tmp
vendor
# TS generate from cue by cuetsy
**/*.gen.ts
# Auto-generated localisation files
public/locales/_build/
public/locales/**/*.js
# Auto-generated icon file
packages/grafana-ui/src/components/Icon/iconBundle.ts

View File

@@ -1,12 +1,24 @@
{
"extends": ["@grafana/eslint-config"],
"root": true,
"plugins": ["no-only-tests", "@emotion", "lodash"],
"plugins": ["@emotion", "lodash", "jest", "import"],
"settings": {
"import/internal-regex": "^(app/)|(@grafana)",
"import/external-module-folders": ["node_modules", ".yarn"]
},
"rules": {
"no-only-tests/no-only-tests": "error",
"react/prop-types": "off",
"@emotion/jsx-import": "error",
"lodash/import-scope": [2, "member"]
"lodash/import-scope": [2, "member"],
"jest/no-focused-tests": "error",
"import/order": [
"error",
{
"groups": [["builtin", "external"], "internal", "parent", "sibling", "index"],
"newlines-between": "always",
"alphabetize": { "order": "asc" }
}
]
},
"overrides": [
{

17
.github/CODEOWNERS vendored
View File

@@ -53,12 +53,18 @@ go.sum @grafana/backend-platform
/pkg/services/sqlstore/migrations @grafana/backend-platform @grafana/hosted-grafana-team
*_mig.go @grafana/backend-platform @grafana/hosted-grafana-team
# Grafana live
# Grafana edge
/pkg/services/live/ @grafana/grafana-edge-squad
/pkg/services/searchV2/ @grafana/grafana-edge-squad
/pkg/services/store/ @grafana/grafana-edge-squad
/pkg/infra/filestore/ @grafana/grafana-edge-squad
# Unified Alerting
/pkg/services/ngalert @grafana/alerting-squad
/pkg/services/sqlstore/migrations/ualert @grafana/alerting-squad
# Alerting
/pkg/services/ngalert @grafana/alerting-squad-backend
/pkg/services/sqlstore/migrations/ualert @grafana/alerting-squad-backend
/pkg/services/alerting @grafana/alerting-squad-backend
/pkg/tests/api/alerting @grafana/alerting-squad-backend
/public/app/features/alerting @grafana/alerting-squad-frontend
# Library Services
/pkg/services/libraryelements @grafana/user-essentials
@@ -96,12 +102,13 @@ go.sum @grafana/backend-platform
/public/app/core/components/TimePicker @grafana/grafana-bi-squad
/public/app/core/components/Layers @grafana/grafana-edge-squad
/public/app/features/canvas/ @grafana/grafana-edge-squad
/public/app/features/comments/ @grafana/grafana-edge-squad
/public/app/features/dimensions/ @grafana/grafana-edge-squad
/public/app/features/geo/ @grafana/grafana-edge-squad
/public/app/features/live/ @grafana/grafana-edge-squad
/public/app/features/explore/ @grafana/observability-experience-squad
/public/app/features/plugins @grafana/plugins-platform-frontend
/public/app/core/components/TransformersUI/spatial @grafana/grafana-edge-squad
/public/app/features/transformers/spatial @grafana/grafana-edge-squad
/public/app/plugins/panel/alertlist @grafana/alerting-squad
/public/app/plugins/panel/barchart @grafana/grafana-bi-squad
/public/app/plugins/panel/heatmap @grafana/grafana-bi-squad

70
.github/commands.json vendored
View File

@@ -90,6 +90,14 @@
"url":"https://github.com/orgs/grafana/projects/97"
}
},
{
"type":"label",
"name":"datasource/CloudWatch Logs",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/97"
}
},
{
"type":"label",
"name":"datasource/GoogleCloudMonitoring",
@@ -98,20 +106,12 @@
"url":"https://github.com/orgs/grafana/projects/97"
}
},
{
"type":"label",
"name":"oss-observability",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/54"
}
},
{
"type":"label",
"name":"datasource/Prometheus",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/54"
"url":"https://github.com/orgs/grafana/projects/112"
}
},
{
@@ -119,7 +119,23 @@
"name":"datasource/InfluxDB",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/54"
"url":"https://github.com/orgs/grafana/projects/112"
}
},
{
"type":"label",
"name":"datasource/Graphite",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/112"
}
},
{
"type":"label",
"name":"datasource/OpenTSDB",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/112"
}
},
{
@@ -127,7 +143,7 @@
"name":"datasource/OpenSearch",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/54"
"url":"https://github.com/orgs/grafana/projects/110"
}
},
{
@@ -135,7 +151,7 @@
"name":"datasource/Loki",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/54"
"url":"https://github.com/orgs/grafana/projects/110"
}
},
{
@@ -143,7 +159,7 @@
"name":"datasource/Tempo",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/54"
"url":"https://github.com/orgs/grafana/projects/110"
}
},
{
@@ -151,7 +167,23 @@
"name":"datasource/Elasticsearch",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/54"
"url":"https://github.com/orgs/grafana/projects/110"
}
},
{
"type":"label",
"name":"datasource/Jaeger",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/110"
}
},
{
"type":"label",
"name":"datasource/Zipkin",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/110"
}
},
{
@@ -159,7 +191,7 @@
"name":"area/explore",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/54"
"url":"https://github.com/orgs/grafana/projects/111"
}
},
{
@@ -177,5 +209,13 @@
"removeFromProject":{
"url":"https://github.com/grafana/grafana/projects/33"
}
},
{
"type": "label",
"name": "team/grafana-partners",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/87"
}
}
]

View File

@@ -179,11 +179,17 @@
"action": "updateLabel",
"addLabel": "area/dashboard/templating"
},
{
"type": "changedfiles",
"matches": ["/pkg/services/ngalert/**/*", "/pkg/services/sqlstore/migrations/ualert/**/*", "/pkg/services/alerting/**/*", "/public/app/features/alerting/**/*", "/pkg/tests/api/alerting/**/*"],
"action": "updateLabel",
"addLabel": "area/alerting"
},
{
"type": "author",
"name": "pr/external",
"notMemberOf": { "org": "grafana" },
"ignoreList": ["renovate[bot]"],
"ignoreList": ["renovate[bot]","dependabot[bot]"],
"action": "updateLabel",
"addLabel": "pr/external"
}

View File

@@ -4,24 +4,23 @@
],
"enabledManagers": ["npm"],
"ignoreDeps": [
"@grafana/slate-react", // should be updated when the `slate` package is updated
"@types/systemjs",
"@types/d3-force", // we should bump this once we move to esm modules
"@types/d3-interpolate", // we should bump this once we move to esm modules
"@types/d3-scale-chromatic", // we should bump this once we move to esm modules
"@types/grafana__slate-react", // should be updated when the `slate` package is updated
"@types/react-icons", // jaeger-ui-components is being refactored to use @grafana/ui icons instead
"commander", // we are planning to remove this, so no need to update it
"d3",
"d3-force", // we should bump this once we move to esm modules
"d3-interpolate", // we should bump this once we move to esm modules
"d3-scale-chromatic", // we should bump this once we move to esm modules
"eslint", // wait until `eslint-plugin-react-hooks>4.2.0` is released
"execa", // we should bump this once we move to esm modules
"history", // we should bump this together with react-router-dom
"@mdx-js/react", // storybook peer-depends on it's 1.x version, we should upgrade this when we upgrade storybook
"monaco-editor", // due to us exposing this via @grafana/ui/CodeEditor's props bumping can break plugins
"react-hook-form", // due to us exposing these hooks via @grafana/ui form components bumping can break plugins
"react-icons", // jaeger-ui-components is being refactored to use @grafana/ui icons instead
"react-router-dom", // we should bump this together with history
"slate",
"slate-plain-serializer",
"systemjs",
"copy-webpack-plugin", // try to upgrade with newer yarn release. Not working with 3.1.1
"ts-loader", // we should remove ts-loader and use babel-loader instead

47
.github/stale.yml vendored
View File

@@ -1,47 +0,0 @@
# Configuration for probot-stale - https://github.com/probot/stale
# General configuration
# Label to use when marking as stale
staleLabel: stale
# Pull request specific configuration
pulls:
# Number of days of inactivity before an Issue or Pull Request becomes stale
daysUntilStale: 14
# Number of days of inactivity before a stale Issue or Pull Request is closed.
# Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale.
daysUntilClose: 30
# Comment to post when marking as stale. Set to `false` to disable
markComment: >
This pull request has been automatically marked as stale because it has not had
activity in the last 2 weeks. It will be closed in 30 days if no further activity occurs. Please
feel free to give a status update now, ping for review, or re-open when it's ready.
Thank you for your contributions!
# Comment to post when closing a stale Issue or Pull Request.
closeComment: >
This pull request has been automatically closed because it has not had
activity in the last 30 days. Please feel free to give a status update now, ping for review, or re-open when it's ready.
Thank you for your contributions!
# Limit the number of actions per hour, from 1-30. Default is 30
limitPerRun: 1
exemptLabels:
- help wanted
- type/bug
- type/feature-request
- Epic
- no stalebot
# Issue specific configuration
issues:
limitPerRun: 1
daysUntilStale: 100000
daysUntilClose: 100000
markComment: >
This issue has been automatically marked as stale because it has not had activity in the
last 100 days. It will be closed in the next 100 days if no activity occurs.
Thank you for your contributions.
closeComment: >
This issue has been automatically closed because it has not had activity in the
last month and a half. If this issue is still valid, please ping a maintainer and ask them to check this again.
Thank you for your contributions.

View File

@@ -16,6 +16,8 @@ on:
required: true
metricsWriteAPIKey:
required: true
env:
YARN_ENABLE_IMMUTABLE_INSTALLS: false
jobs:
main:
runs-on: ubuntu-latest
@@ -58,12 +60,6 @@ jobs:
echo "::set-output name=branch_name::v${{steps.regex-match.outputs.group1}}"
echo "::set-output name=branch_exist::$(git ls-remote --heads https://github.com/grafana/grafana.git v${{ steps.regex-match.outputs.group1 }}.x | wc -l)"
- name: Check input version is aligned with branch(not main)
if: ${{ github.event.inputs.version != '' && steps.intermedia.outputs.branch_exist != '0' && !contains(steps.intermedia.outputs.short_ref, steps.intermedia.outputs.branch_name) }}
run: |
echo " You need to run the workflow on branch v${{steps.regex-match.outputs.group1}}.x
exit 1
- name: Check input version is aligned with branch(main)
if: ${{ github.event.inputs.version != '' && steps.intermedia.outputs.branch_exist == '0' && !contains(steps.intermedia.outputs.short_ref, 'main') }}
run: |
@@ -80,7 +76,7 @@ jobs:
ref: main
- uses: actions/setup-node@v2.5.1
with:
node-version: '14'
node-version: '16'
- name: Install Actions
run: npm install --production --prefix ./actions
- name: Run bump version (manually invoked)

View File

@@ -0,0 +1,17 @@
name: Cloud data sources test code coverage
on:
pull_request:
paths:
- 'pkg/tsdb/azuremonitor/**'
- 'pkg/tsdb/cloudwatch/**'
- 'pkg/tsdb/cloudmonitoring/**'
- 'public/app/plugins/datasource/grafana-azure-monitor-datasource/**'
- 'public/app/plugins/datasource/cloudwatch/**'
- 'public/app/plugins/datasource/cloud-monitoring/**'
branches-ignore:
- dependabot/**
- backport-**
jobs:
workflow-call:
uses: grafana/code-coverage/.github/workflows/code-coverage.yml@v0.1.2

View File

@@ -8,9 +8,12 @@ name: "CodeQL"
on:
push:
branches: [main, v1.8.x, v2.0.x, v2.1.x, v2.6.x, v3.0.x, v3.1.x, v4.0.x, v4.1.x, v4.2.x, v4.3.x, v4.4.x, v4.5.x, v4.6.x, v4.7.x, v5.0.x, v5.1.x, v5.2.x, v5.3.x, v5.4.x, v6.0.x, v6.1.x, v6.2.x, v6.3.x, v6.4.x, v6.5.x, v6.6.x, v6.7.x, v7.0.x, v7.1.x, v7.2.x]
pull_request:
# The branches below must be a subset of the branches above
branches: [main]
paths-ignore:
- '**/*.cue'
- '**/*.json'
- '**/*.md'
- '**/*.txt'
- '**/*.yml'
schedule:
- cron: '0 4 * * 6'
@@ -46,21 +49,5 @@ jobs:
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v1
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
#- run: |
# make bootstrap
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1

View File

@@ -4,7 +4,8 @@ on:
types: [labeled, unlabeled]
issue_comment:
types: [created]
concurrency:
group: issue-commands-${{ github.event.issue.number }}
jobs:
main:
runs-on: ubuntu-latest

View File

@@ -0,0 +1,34 @@
# Workflow for skipping the Levitate detection
# (This is needed because workflows that are skipped due to path filtering will show up as pending in Github.
# As this has the same name as the one in detect-breaking-changes-build.yml it will take over in these cases and succeed quickly.)
name: Levitate / Detect breaking changes
on:
pull_request:
paths-ignore:
- "packages/**"
branches:
- 'main'
jobs:
detect:
name: Detect breaking changes
runs-on: ubuntu-latest
steps:
- name: Skipping
run: echo "No modifications in the public API (packages/), skipping."
# Build and persist output as a JSON (we need to tell the report workflow that the check has been skipped)
- name: Persisting the check output
run: |
mkdir -p ./levitate
echo "{ \"shouldSkip\": true }" > ./levitate/result.json
# Upload artifact (so it can be used in the more privileged "report" workflow)
- name: Upload check output as artifact
uses: actions/upload-artifact@v3
with:
name: levitate
path: levitate/

View File

@@ -1,6 +1,11 @@
name: Levitate / Detect breaking changes
on: pull_request
on:
pull_request:
paths:
- 'packages/**'
branches:
- 'main'
jobs:
buildPR:
@@ -15,6 +20,10 @@ jobs:
with:
path: './pr'
- uses: actions/setup-node@v3
with:
node-version: 16.16.0
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn config get cacheFolder)"
@@ -43,18 +52,22 @@ jobs:
name: buildPr
path: './pr/pr_built_packages.zip'
buildMain:
name: Build Main
buildBase:
name: Build Base
runs-on: ubuntu-latest
defaults:
run:
working-directory: './main'
working-directory: './base'
steps:
- uses: actions/checkout@v2
with:
path: './main'
ref: 'main'
path: './base'
ref: ${{ github.event.pull_request.base.ref }}
- uses: actions/setup-node@v3
with:
node-version: 16.16.0
- name: Get yarn cache directory path
id: yarn-cache-dir-path
@@ -76,18 +89,18 @@ jobs:
run: yarn packages:build
- name: Zip built packages
run: zip -r ./main_built_packages.zip ./packages/**/dist
run: zip -r ./base_built_packages.zip ./packages/**/dist
- name: Upload build output as artifact
uses: actions/upload-artifact@v2
with:
name: buildMain
path: './main/main_built_packages.zip'
name: buildBase
path: './base/base_built_packages.zip'
Detect:
name: Detect breaking changes
runs-on: ubuntu-latest
needs: ['buildPR', 'buildMain']
needs: ['buildPR', 'buildBase']
env:
GITHUB_STEP_NUMBER: 7
@@ -99,20 +112,20 @@ jobs:
with:
name: buildPr
- name: Get built packages from main
- name: Get built packages from base
uses: actions/download-artifact@v2
with:
name: buildMain
name: buildBase
- name: Unzip artifact from pr
run: unzip pr_built_packages.zip -d ./pr && rm pr_built_packages.zip
- name: Unzip artifact from main
run: unzip main_built_packages.zip -d ./main && rm main_built_packages.zip
- name: Unzip artifact from base
run: unzip base_built_packages.zip -d ./base && rm base_built_packages.zip
- name: Get link for the Github Action job
id: job
uses: actions/github-script@v5
uses: actions/github-script@v6
with:
script: |
const script = require('./.github/workflows/scripts/pr-get-job-link.js')
@@ -128,7 +141,7 @@ jobs:
- name: Persisting the check output
run: |
mkdir -p ./levitate
echo "{ \"exit_code\": ${{ steps.breaking-changes.outputs.is_breaking }}, \"message\": \"${{ steps.breaking-changes.outputs.message }}\", \"job_link\": \"${{ steps.job.outputs.link }}#step:${GITHUB_STEP_NUMBER}:1\" }" > ./levitate/result.json
echo "{ \"exit_code\": ${{ steps.breaking-changes.outputs.is_breaking }}, \"message\": \"${{ steps.breaking-changes.outputs.message }}\", \"job_link\": \"${{ steps.job.outputs.link }}#step:${GITHUB_STEP_NUMBER}:1\", \"pr_number\": \"${{ github.event.pull_request.number }}\" }" > ./levitate/result.json
- name: Upload check output as artifact
uses: actions/upload-artifact@v2

View File

@@ -17,7 +17,7 @@ jobs:
- uses: actions/checkout@v2
- name: 'Download artifact'
uses: actions/github-script@v5
uses: actions/github-script@v6
env:
RUN_ID: ${{ github.event.workflow_run.id }}
with:
@@ -53,7 +53,7 @@ jobs:
run: unzip "${ARTIFACT_FOLDER}/${ARTIFACT_NAME}.zip" -d "${ARTIFACT_FOLDER}"
- name: Parsing levitate result
uses: actions/github-script@v5
uses: actions/github-script@v6
id: levitate-run
with:
script: |
@@ -63,7 +63,7 @@ jobs:
- name: Check if "breaking change" label exists
id: does-label-exist
uses: actions/github-script@v5
uses: actions/github-script@v6
env:
PR_NUMBER: ${{ github.event.workflow_run.pull_requests[0].number }}
with:
@@ -82,7 +82,7 @@ jobs:
if: ${{ steps.levitate-run.outputs.exit_code == 1 }}
uses: marocchino/sticky-pull-request-comment@v2
with:
number: ${{ github.event.workflow_run.pull_requests[0].number }}
number: ${{ steps.levitate-run.outputs.pr_number }}
message: |
⚠️ &nbsp;&nbsp;**Possible breaking changes**
@@ -90,22 +90,40 @@ jobs:
${{ steps.levitate-run.outputs.message }}
[Check console output](${{ steps.levitate-run.outputs.job_link }})
[Console output](${{ steps.levitate-run.outputs.job_link }})
[Read our guideline](https://github.com/grafana/grafana/blob/main/contribute/breaking-changes-guide.md)
- name: Remove comment on PR
if: ${{ steps.levitate-run.outputs.exit_code == 0 }}
uses: marocchino/sticky-pull-request-comment@v2
with:
number: ${{ github.event.workflow_run.pull_requests[0].number }}
number: ${{ steps.levitate-run.outputs.pr_number }}
delete: true
# Posts a notification to Slack if a PR has a breaking change and it did not have a breaking change before
- name: Post to Slack
id: slack
if: ${{ steps.levitate-run.outputs.exit_code == 1 && steps.does-label-exist.outputs.result == 0 }}
uses: slackapi/slack-github-action@v1.18.0
with:
payload: |
{
"pr_link": "https://github.com/grafana/grafana/pull/${{ steps.levitate-run.outputs.pr_number }}",
"pr_number": "${{ steps.levitate-run.outputs.pr_number }}",
"job_link": "${{ steps.levitate-run.outputs.job_link }}",
"reporting_job_link": "${{ github.event.workflow_run.html_url }}",
"message": "${{ steps.levitate-run.outputs.message }}"
}
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_LEVITATE_WEBHOOK_URL }}
- name: Add "breaking change" label
if: ${{ steps.levitate-run.outputs.exit_code == 1 && steps.does-label-exist.outputs.result == 0 }}
uses: actions/github-script@v5
uses: actions/github-script@v6
env:
PR_NUMBER: ${{ github.event.workflow_run.pull_requests[0].number }}
PR_NUMBER: ${{ steps.levitate-run.outputs.pr_number }}
with:
github-token: ${{ secrets.GH_BOT_ACCESS_TOKEN }}
script: |
await github.rest.issues.addLabels({
issue_number: process.env.PR_NUMBER,
@@ -116,10 +134,11 @@ jobs:
- name: Remove "breaking change" label
if: ${{ steps.levitate-run.outputs.exit_code == 0 && steps.does-label-exist.outputs.result == 1 }}
uses: actions/github-script@v5
uses: actions/github-script@v6
env:
PR_NUMBER: ${{ github.event.workflow_run.pull_requests[0].number }}
PR_NUMBER: ${{ steps.levitate-run.outputs.pr_number }}
with:
github-token: ${{ secrets.GH_BOT_ACCESS_TOKEN }}
script: |
await github.rest.issues.removeLabel({
issue_number: process.env.PR_NUMBER,
@@ -132,10 +151,11 @@ jobs:
# Related issue: https://github.com/renovatebot/renovate/issues/1908
- name: Add "grafana/plugins-platform-frontend" as a reviewer
if: ${{ steps.levitate-run.outputs.exit_code == 1 }}
uses: actions/github-script@v5
uses: actions/github-script@v6
env:
PR_NUMBER: ${{ github.event.workflow_run.pull_requests[0].number }}
PR_NUMBER: ${{ steps.levitate-run.outputs.pr_number }}
with:
github-token: ${{ secrets.GH_BOT_ACCESS_TOKEN }}
script: |
await github.rest.pulls.requestReviewers({
pull_number: process.env.PR_NUMBER,
@@ -147,10 +167,11 @@ jobs:
- name: Remove "grafana/plugins-platform-frontend" from the list of reviewers
if: ${{ steps.levitate-run.outputs.exit_code == 0 }}
uses: actions/github-script@v5
uses: actions/github-script@v6
env:
PR_NUMBER: ${{ github.event.workflow_run.pull_requests[0].number }}
PR_NUMBER: ${{ steps.levitate-run.outputs.pr_number }}
with:
github-token: ${{ secrets.GH_BOT_ACCESS_TOKEN }}
script: |
await github.rest.pulls.removeRequestedReviewers({
pull_number: process.env.PR_NUMBER,

View File

@@ -12,7 +12,8 @@ on:
types:
- milestoned
- demilestoned
concurrency:
group: pr-checks-${{ github.event.number }}
jobs:
main:
runs-on: ubuntu-latest

View File

@@ -0,0 +1,29 @@
name: "CodeQL for PR / go"
on:
pull_request:
branches: [main]
paths:
- '**/*.go'
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
fetch-depth: 2
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: "go"
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1

View File

@@ -0,0 +1,31 @@
name: "CodeQL for PR / javascript"
on:
pull_request:
branches: [main]
paths:
- '**/*.js'
- '**/*.ts'
- '**/*.tsx'
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
fetch-depth: 2
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: "javascript"
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1

View File

@@ -0,0 +1,29 @@
name: "CodeQL for PR / python"
on:
pull_request:
branches: [main]
paths:
- '**/*.py'
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
fetch-depth: 2
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: "python"
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1

View File

@@ -3,7 +3,8 @@ on:
pull_request:
types:
- closed
concurrency:
group: pr-commands-closed-${{ github.event.number }}
jobs:
close_job:
# this job will only run if the PR has been closed without being merged

View File

@@ -4,7 +4,8 @@ on:
types:
- opened
- synchronize
concurrency:
group: pr-commands-${{ github.event.number }}
jobs:
main:
runs-on: ubuntu-latest

View File

@@ -0,0 +1,38 @@
name: "publish-technical-documentation-next"
on:
push:
branches:
- "main"
paths:
- "docs/sources/**"
workflow_dispatch:
jobs:
sync:
if: "github.repository == 'grafana/grafana'"
runs-on: "ubuntu-latest"
steps:
- name: "Checkout Grafana repo"
uses: "actions/checkout@v3"
- name: "Clone website-sync Action"
# WEBSITE_SYNC_TOKEN is a fine-grained GitHub Personal Access Token that expires.
# It must be regenerated in the grafanabot GitHub account and requires a Grafana organization
# GitHub administrator to update the organization secret.
# The IT helpdesk can update the organization secret.
run: "git clone --single-branch --no-tags --depth 1 -b master https://grafanabot:${{ secrets.WEBSITE_SYNC_TOKEN }}@github.com/grafana/website-sync ./.github/actions/website-sync"
- name: "Publish to website repository (next)"
uses: "./.github/actions/website-sync"
id: "publish-next"
with:
repository: "grafana/website"
branch: "master"
host: "github.com"
# PUBLISH_TO_WEBSITE_TOKEN is a fine-grained GitHub Personal Access Token that expires.
# It must be regenerated in the grafanabot GitHub account and requires a Grafana organization
# GitHub administrator to update the organization secret.
# The IT helpdesk can update the organization secret.
github_pat: "grafanabot:${{ secrets.PUBLISH_TO_WEBSITE_TOKEN }}"
source_folder: "docs/sources"
target_folder: "content/docs/grafana/next"

View File

@@ -0,0 +1,68 @@
name: "publish-technical-documentation-release"
on:
push:
branches:
- v[0-9]+.[0-9]+.x
tags:
- v[0-9]+.[0-9]+.[0-9]+
paths:
- "docs/sources/**"
workflow_dispatch:
jobs:
sync:
if: "github.repository == 'grafana/grafana'"
runs-on: "ubuntu-latest"
steps:
- name: "Checkout Grafana repo"
uses: "actions/checkout@v3"
with:
fetch-depth: 0
- name: "Checkout Actions library"
uses: "actions/checkout@v3"
with:
repository: "grafana/grafana-github-actions"
path: "./actions"
- name: "Install Actions from library"
run: "npm install --production --prefix ./actions"
- name: "Determine if there is a matching release tag"
id: "has-matching-release-tag"
uses: "./actions/has-matching-release-tag"
with:
ref_name: "${{ github.ref_name }}"
release_tag_regexp: "^v(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)$"
release_branch_regexp: "^v(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.x$"
- name: "Determine technical documentation version"
if: "steps.has-matching-release-tag.outputs.bool == 'true'"
uses: "./actions/docs-target"
id: "target"
with:
ref_name: "${{ github.ref_name }}"
- name: "Clone website-sync Action"
if: "steps.has-matching-release-tag.outputs.bool == 'true'"
# WEBSITE_SYNC_TOKEN is a fine-grained GitHub Personal Access Token that expires.
# It must be regenerated in the grafanabot GitHub account and requires a Grafana organization
# GitHub administrator to update the organization secret.
# The IT helpdesk can update the organization secret.
run: "git clone --single-branch --no-tags --depth 1 -b master https://grafanabot:${{ secrets.WEBSITE_SYNC_TOKEN }}@github.com/grafana/website-sync ./.github/actions/website-sync"
- name: "Publish to website repository (release)"
if: "steps.has-matching-release-tag.outputs.bool == 'true'"
uses: "./.github/actions/website-sync"
id: "publish-release"
with:
repository: "grafana/website"
branch: "master"
host: "github.com"
# PUBLISH_TO_WEBSITE_TOKEN is a fine-grained GitHub Personal Access Token that expires.
# It must be regenerated in the grafanabot GitHub account and requires a Grafana organization
# GitHub administrator to update the organization secret.
# The IT helpdesk can update the organization secret.
github_pat: "grafanabot:${{ secrets.PUBLISH_TO_WEBSITE_TOKEN }}"
source_folder: "docs/sources"
target_folder: "content/docs/grafana/${{ steps.target.outputs.target }}"

View File

@@ -1,49 +0,0 @@
name: publish_docs
on:
push:
branches:
- main
paths:
- 'docs/sources/**'
- 'packages/grafana-*/**'
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- run: git clone --single-branch --no-tags --depth 1 -b master https://grafanabot:${{ secrets.GH_BOT_ACCESS_TOKEN }}@github.com/grafana/website-sync ./.github/actions/website-sync
- name: generate-packages-docs
uses: actions/setup-node@v2.5.1
id: generate-docs
with:
node-version: '14'
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn config get cacheFolder)"
- uses: actions/cache@v2.1.7
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
yarn-
- run: yarn install --immutable
- run: ./scripts/ci-reference-docs-build.sh
- name: publish-to-git
uses: ./.github/actions/website-sync
id: publish
with:
repository: grafana/website
branch: master
host: github.com
github_pat: '${{ secrets.GH_BOT_ACCESS_TOKEN }}'
source_folder: docs/sources
target_folder: content/docs/grafana/next
allow_no_changes: 'true'
- shell: bash
run: |
test -n "${{ steps.publish.outputs.commit_hash }}"
test -n "${{ steps.publish.outputs.working_directory }}"

33
.github/workflows/stale.yml vendored Normal file
View File

@@ -0,0 +1,33 @@
name: 'Close stale issues and PRs'
on:
schedule:
- cron: '30 1 * * *'
jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v4
with:
repo-token: ${{ secrets.GH_BOT_ACCESS_TOKEN }}
# Number of days of inactivity before a stale Issue or Pull Request is closed.
# Set to -1 to disable. If disabled, issues still need to be closed manually, but will remain marked as stale.
days-before-close: 14
# Number of days of inactivity before an Issue or Pull Request becomes stale
days-before-stale: 30
# We don't want any Issues to be marked as stale for now.
days-before-issue-stale: -1
exempt-issue-labels: no stalebot
exempt-pr-labels: no stalebot
operations-per-run: 500
stale-issue-label: stale
stale-pr-label: stale
stale-pr-message: >
This pull request has been automatically marked as stale because it has not had
activity in the last 30 days. It will be closed in 2 weeks if no further activity occurs. Please
feel free to give a status update now, ping for review, or re-open when it's ready.
Thank you for your contributions!
close-pr-message: >
This pull request has been automatically closed because it has not had
activity in the last 2 weeks. Please feel free to give a status update now, ping for review, or re-open when it's ready.
Thank you for your contributions!

5
.gitignore vendored
View File

@@ -7,7 +7,6 @@ awsconfig
/.awcache
/dist
/public/build
public/dist/tsconfig.tsbuildinfo
/public/views/index.html
/public/views/error.html
/emails/dist
@@ -17,6 +16,7 @@ public/dist/tsconfig.tsbuildinfo
vendor/
/docs/menu.yaml
/requests
tsconfig.tsbuildinfo
# Yarn
.yarn/*
@@ -39,6 +39,7 @@ vendor/
# Enterprise devenv
/devenv/docker/blocks/grafana-enterprise
/devenv/docker/blocks/saml-enterprise
/tmp
tools/phantomjs/phantomjs
@@ -58,6 +59,7 @@ public/css/*.min.css
*.sublime-workspace
*.swp
.idea/
.fleet/
*.iml
*.tmp
.DS_Store
@@ -116,6 +118,7 @@ debug.test
/scripts/build/release_publisher/release_publisher
*.patch
!.yarn/patches/*.patch
# Ignoring frontend packages specifics
/packages/**/dist

View File

@@ -1,4 +1,8 @@
#!/bin/sh
# Ignore husky hooks if no frontend code has been changed
git diff --cached --name-only | grep -v --quiet "^pkg/" || exit 0
. "$(dirname "$0")/_/husky.sh"
yarn run precommit

2
.nvmrc
View File

@@ -1 +1 @@
v16.13.2
v16.14.0

View File

@@ -1,14 +1,23 @@
.git
.github
dist/
pkg/
node_modules
public/vendor/
vendor/
/data/
.yarn
build
compiled
data
deployment_tools_config.json
devenv
dist
e2e/tmp
scripts/grafana-server/tmp
public/build/
public/sass/*.generated.scss
devenv/
node_modules
pkg
public/lib/monaco
public/sass/*.generated.scss
scripts/grafana-server/tmp
vendor
# TS generate from cue by cuetsy
**/*.gen.ts
# Auto-generated localisation files
public/locales/_build/
public/locales/**/*.js

4
.vscode/launch.json vendored
View File

@@ -8,13 +8,15 @@
"mode": "auto",
"program": "${workspaceFolder}/pkg/cmd/grafana-server/",
"env": {},
"cwd": "${workspaceFolder}",
"args": ["--homepath", "${workspaceFolder}", "--packaging", "dev"]
},
{
"name": "Debug Jest test",
"type": "node",
"request": "launch",
"runtimeArgs": ["--inspect-brk", "${workspaceRoot}/node_modules/.bin/jest", "--runInBand", "${file}"],
"runtimeExecutable": "yarn",
"runtimeArgs": ["run", "jest", "--runInBand", "${file}"],
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen",
"port": 9229

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

785
.yarn/releases/yarn-3.2.0.cjs vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -1,6 +1,6 @@
{
"name": "eslint",
"version": "7.28.0-sdk",
"version": "8.11.0-sdk",
"main": "./lib/api.js",
"type": "commonjs"
}

View File

@@ -1,6 +1,6 @@
{
"name": "prettier",
"version": "2.2.1-sdk",
"version": "2.5.1-sdk",
"main": "./index.js",
"type": "commonjs"
}

View File

@@ -1,20 +0,0 @@
#!/usr/bin/env node
const {existsSync} = require(`fs`);
const {createRequire, createRequireFromPath} = require(`module`);
const {resolve} = require(`path`);
const relPnpApiPath = "../../../../.pnp.cjs";
const absPnpApiPath = resolve(__dirname, relPnpApiPath);
const absRequire = (createRequire || createRequireFromPath)(absPnpApiPath);
if (existsSync(absPnpApiPath)) {
if (!process.versions.pnp) {
// Setup the environment to be able to require stylelint/bin/stylelint.js
require(absPnpApiPath).setup();
}
}
// Defer to the real stylelint/bin/stylelint.js your application uses
module.exports = absRequire(`stylelint/bin/stylelint.js`);

View File

@@ -1,20 +0,0 @@
#!/usr/bin/env node
const {existsSync} = require(`fs`);
const {createRequire, createRequireFromPath} = require(`module`);
const {resolve} = require(`path`);
const relPnpApiPath = "../../../../.pnp.cjs";
const absPnpApiPath = resolve(__dirname, relPnpApiPath);
const absRequire = (createRequire || createRequireFromPath)(absPnpApiPath);
if (existsSync(absPnpApiPath)) {
if (!process.versions.pnp) {
// Setup the environment to be able to require stylelint/lib/index.js
require(absPnpApiPath).setup();
}
}
// Defer to the real stylelint/lib/index.js your application uses
module.exports = absRequire(`stylelint/lib/index.js`);

View File

@@ -1,6 +0,0 @@
{
"name": "stylelint",
"version": "14.0.1-sdk",
"main": "lib/index.js",
"type": "commonjs"
}

View File

@@ -18,6 +18,7 @@ const moduleWrapper = tsserver => {
const pnpApi = require(`pnpapi`);
const isVirtual = str => str.match(/\/(\$\$virtual|__virtual__)\//);
const isPortal = str => str.startsWith("portal:/");
const normalize = str => str.replace(/\\/g, `/`).replace(/^\/?/, `/`);
const dependencyTreeRoots = new Set(pnpApi.getDependencyTreeRoots().map(locator => {
@@ -44,7 +45,7 @@ const moduleWrapper = tsserver => {
const resolved = isVirtual(str) ? pnpApi.resolveVirtual(str) : str;
if (resolved) {
const locator = pnpApi.findPackageLocator(resolved);
if (locator && dependencyTreeRoots.has(`${locator.name}@${locator.reference}`)) {
if (locator && (dependencyTreeRoots.has(`${locator.name}@${locator.reference}`) || isPortal(locator.reference))) {
str = resolved;
}
}
@@ -85,7 +86,7 @@ const moduleWrapper = tsserver => {
// everything else is up to neovim
case `neovim`: {
str = normalize(resolved).replace(/\.zip\//, `.zip::`);
str = `zipfile:${str}`;
str = `zipfile://${str}`;
} break;
default: {
@@ -100,8 +101,7 @@ const moduleWrapper = tsserver => {
function fromEditorPath(str) {
switch (hostInfo) {
case `coc-nvim`:
case `neovim`: {
case `coc-nvim`: {
str = str.replace(/\.zip::/, `.zip/`);
// The path for coc-nvim is in format of /<pwd>/zipfile:/<pwd>/.yarn/...
// So in order to convert it back, we use .* to match all the thing
@@ -111,6 +111,12 @@ const moduleWrapper = tsserver => {
: str.replace(/^.*zipfile:/, ``);
} break;
case `neovim`: {
str = str.replace(/\.zip::/, `.zip/`);
// The path for neovim is in format of zipfile:///<pwd>/.yarn/...
return str.replace(/^zipfile:\/\//, ``);
} break;
case `vscode`:
default: {
return process.platform === `win32`
@@ -143,8 +149,9 @@ const moduleWrapper = tsserver => {
let hostInfo = `unknown`;
Object.assign(Session.prototype, {
onMessage(/** @type {string} */ message) {
const parsedMessage = JSON.parse(message)
onMessage(/** @type {string | object} */ message) {
const isStringMessage = typeof message === 'string';
const parsedMessage = isStringMessage ? JSON.parse(message) : message;
if (
parsedMessage != null &&
@@ -158,9 +165,14 @@ const moduleWrapper = tsserver => {
}
}
return originalOnMessage.call(this, JSON.stringify(parsedMessage, (key, value) => {
return typeof value === `string` ? fromEditorPath(value) : value;
}));
const processedMessageJSON = JSON.stringify(parsedMessage, (key, value) => {
return typeof value === 'string' ? fromEditorPath(value) : value;
});
return originalOnMessage.call(
this,
isStringMessage ? processedMessageJSON : JSON.parse(processedMessageJSON)
);
},
send(/** @type {any} */ msg) {

View File

@@ -18,6 +18,7 @@ const moduleWrapper = tsserver => {
const pnpApi = require(`pnpapi`);
const isVirtual = str => str.match(/\/(\$\$virtual|__virtual__)\//);
const isPortal = str => str.startsWith("portal:/");
const normalize = str => str.replace(/\\/g, `/`).replace(/^\/?/, `/`);
const dependencyTreeRoots = new Set(pnpApi.getDependencyTreeRoots().map(locator => {
@@ -44,7 +45,7 @@ const moduleWrapper = tsserver => {
const resolved = isVirtual(str) ? pnpApi.resolveVirtual(str) : str;
if (resolved) {
const locator = pnpApi.findPackageLocator(resolved);
if (locator && dependencyTreeRoots.has(`${locator.name}@${locator.reference}`)) {
if (locator && (dependencyTreeRoots.has(`${locator.name}@${locator.reference}`) || isPortal(locator.reference))) {
str = resolved;
}
}
@@ -85,7 +86,7 @@ const moduleWrapper = tsserver => {
// everything else is up to neovim
case `neovim`: {
str = normalize(resolved).replace(/\.zip\//, `.zip::`);
str = `zipfile:${str}`;
str = `zipfile://${str}`;
} break;
default: {
@@ -100,8 +101,7 @@ const moduleWrapper = tsserver => {
function fromEditorPath(str) {
switch (hostInfo) {
case `coc-nvim`:
case `neovim`: {
case `coc-nvim`: {
str = str.replace(/\.zip::/, `.zip/`);
// The path for coc-nvim is in format of /<pwd>/zipfile:/<pwd>/.yarn/...
// So in order to convert it back, we use .* to match all the thing
@@ -111,6 +111,12 @@ const moduleWrapper = tsserver => {
: str.replace(/^.*zipfile:/, ``);
} break;
case `neovim`: {
str = str.replace(/\.zip::/, `.zip/`);
// The path for neovim is in format of zipfile:///<pwd>/.yarn/...
return str.replace(/^zipfile:\/\//, ``);
} break;
case `vscode`:
default: {
return process.platform === `win32`
@@ -143,8 +149,9 @@ const moduleWrapper = tsserver => {
let hostInfo = `unknown`;
Object.assign(Session.prototype, {
onMessage(/** @type {string} */ message) {
const parsedMessage = JSON.parse(message)
onMessage(/** @type {string | object} */ message) {
const isStringMessage = typeof message === 'string';
const parsedMessage = isStringMessage ? JSON.parse(message) : message;
if (
parsedMessage != null &&
@@ -158,9 +165,14 @@ const moduleWrapper = tsserver => {
}
}
return originalOnMessage.call(this, JSON.stringify(parsedMessage, (key, value) => {
return typeof value === `string` ? fromEditorPath(value) : value;
}));
const processedMessageJSON = JSON.stringify(parsedMessage, (key, value) => {
return typeof value === 'string' ? fromEditorPath(value) : value;
});
return originalOnMessage.call(
this,
isStringMessage ? processedMessageJSON : JSON.parse(processedMessageJSON)
);
},
send(/** @type {any} */ msg) {

View File

@@ -3,40 +3,37 @@ enableTelemetry: false
nodeLinker: pnp
packageExtensions:
"@grafana/slate-react@0.22.10-grafana":
peerDependencies:
slate-react: ">=0.22.0"
"@mdx-js/loader@1.6.22":
'@mdx-js/loader@1.6.22':
peerDependencies:
react: 17.0.1
"@storybook/addon-docs@6.4.13":
'@storybook/addon-docs@6.4.15':
peerDependencies:
"@storybook/manager-webpack5": 6.4.13
"@storybook/addon-essentials@6.4.13":
'@storybook/manager-webpack5': 6.4.15
'@storybook/addon-essentials@6.4.15':
peerDependencies:
"@storybook/components": 6.4.13
"@storybook/core-events": 6.4.13
"@storybook/manager-webpack5": 6.4.13
"@storybook/theming": 6.4.13
"@storybook/core-server@6.4.13":
'@storybook/components': 6.4.15
'@storybook/core-events': 6.4.15
'@storybook/manager-webpack5': 6.4.15
'@storybook/theming': 6.4.15
'@storybook/core-server@6.4.15':
peerDependencies:
"@babel/core": ^7.0.0
"@storybook/core@6.4.13":
'@babel/core': ^7.0.0
'@storybook/core@6.4.15':
peerDependencies:
"@babel/core": ^7.0.0
"@storybook/manager-webpack5": 6.4.13
"@storybook/csf-tools@6.4.13":
'@babel/core': ^7.0.0
'@storybook/manager-webpack5': 6.4.15
'@storybook/csf-tools@6.4.15':
peerDependencies:
"@babel/core": ^7.0.0
"@storybook/react@6.4.13":
'@babel/core': ^7.0.0
'@storybook/react@6.4.15':
peerDependencies:
"@storybook/manager-webpack5": 6.4.13
'@storybook/manager-webpack5': 6.4.15
doctrine@3.0.0:
dependencies:
assert: 2.0.0
moveable@0.27.3:
moveable@0.28.0:
dependencies:
"@daybrush/utils": 1.6.0
'@daybrush/utils': 1.6.0
framework-utils: ^1.1.0
rc-time-picker@3.7.3:
peerDependencies:
@@ -49,37 +46,33 @@ packageExtensions:
react-compat-css-styled@1.0.8:
dependencies:
react-simple-compat: 1.2.1
react-compat-moveable@0.15.2:
react-compat-moveable@0.16.0:
dependencies:
"@egjs/agent": ^2.2.1
"@egjs/children-differ": ^1.0.1
"@scena/matrix": 1.1.1
'@egjs/agent': ^2.2.1
'@egjs/children-differ': ^1.0.1
'@scena/matrix': 1.1.1
css-to-mat: ^1.0.3
gesto: ^1.4.0
gesto: ^1.7.0
overlap-area: ^1.0.0
react-simple-compat: 1.2.1
peerDependencies:
framework-utils: ^1.1.0
react-dev-utils@11.0.4:
peerDependencies:
typescript: 4.4.3
webpack: 5.51.1
react-docgen-typescript-loader@3.7.2:
peerDependencies:
webpack: 4.41.5
react-icons@2.2.7:
peerDependencies:
prop-types: "*"
prop-types: '*'
react-resizable@3.0.4:
peerDependencies:
react-dom: 17.0.1
plugins:
- path: .yarn/plugins/@yarnpkg/plugin-typescript.cjs
spec: "@yarnpkg/plugin-typescript"
spec: '@yarnpkg/plugin-typescript'
- path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs
spec: "@yarnpkg/plugin-interactive-tools"
spec: '@yarnpkg/plugin-interactive-tools'
- path: .yarn/plugins/@yarnpkg/plugin-outdated.cjs
spec: "https://mskelton.dev/yarn-outdated/v2"
spec: 'https://mskelton.dev/yarn-outdated/v2'
yarnPath: .yarn/releases/yarn-3.1.1.cjs
yarnPath: .yarn/releases/yarn-3.2.0.cjs

View File

@@ -1,3 +1,587 @@
<!-- 8.5.21 START -->
# 8.5.21 (2023-02-28)
<!-- 8.5.21 END -->
<!-- 8.5.20 START -->
# 8.5.20 (2023-01-25)
### Features and enhancements
- **Chore:** Upgrade Go to 1.19.4 [v8.5.x]. [#60824](https://github.com/grafana/grafana/pull/60824), [@sakjur](https://github.com/sakjur)
<!-- 8.5.20 END -->
<!-- 8.5.15 START -->
# 8.5.15 (2022-11-08)
### Features and enhancements
- **Chore:** Upgrade Go to 1.19.2. [#56857](https://github.com/grafana/grafana/pull/56857), [@sakjur](https://github.com/sakjur)
<!-- 8.5.15 END -->
<!-- 8.5.14 START -->
# 8.5.14 (2022-10-11)
### Features and enhancements
- **Access Control:** Allow org admins to invite new users. [#55585](https://github.com/grafana/grafana/pull/55585), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
<!-- 8.5.14 END -->
<!-- 8.5.13 START -->
# 8.5.13 (2022-09-20)
### Features and enhancements
- **Plugins:** Expose @emotion/react to plugins to prevent load failures. [#55297](https://github.com/grafana/grafana/pull/55297), [@jackw](https://github.com/jackw)
### Bug fixes
- **AuthNZ:** Security fixes for CVE-2022-35957 and CVE-2022-36062. [#55495](https://github.com/grafana/grafana/pull/55495), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
<!-- 8.5.13 END -->
<!-- 8.5.11 START -->
# 8.5.11 (2022-08-30)
### Features and enhancements
- **Rendering:** Add support for renderer token (#54425). [#54438](https://github.com/grafana/grafana/pull/54438), [@joanlopez](https://github.com/joanlopez)
- **Alerting:** AlertingProxy to elevate permissions for request forwarded to data proxy when RBAC enabled. [#53681](https://github.com/grafana/grafana/pull/53681), [@yuri-tceretian](https://github.com/yuri-tceretian)
<!-- 8.5.11 END -->
<!-- 8.5.10 START -->
# 8.5.10 (2022-08-08)
### Bug fixes
- **RBAC:** Fix Anonymous Editors missing dashboard controls. [#52649](https://github.com/grafana/grafana/pull/52649), [@gamab](https://github.com/gamab)
<!-- 8.5.10 END -->
<!-- 8.5.9 START -->
# 8.5.9 (2022-07-14)
### Bug fixes
- **Security:** Fixes for CVE-2022-31107 and CVE-2022-31097. [#52238](https://github.com/grafana/grafana/pull/52238), [@xlson](https://github.com/xlson)
<!-- 8.5.9 END -->
<!-- 8.5.6 START -->
# 8.5.6 (2022-06-14)
### Bug fixes
- **Dashboard:** Fixes random scrolling on time range change. [#50379](https://github.com/grafana/grafana/pull/50379), [@torkelo](https://github.com/torkelo)
- **Security:** Fixes minor code scanning security warnings in old vendored javascript libs. [#50382](https://github.com/grafana/grafana/pull/50382), [@torkelo](https://github.com/torkelo)
<!-- 8.5.6 END -->
<!-- 8.5.5 START -->
# 8.5.5 (2022-06-06)
### Features and enhancements
- **Azure Monitor:** Include datasource ref when interpolating variables. [#49543](https://github.com/grafana/grafana/pull/49543), [@kevinwcyu](https://github.com/kevinwcyu)
- **CloudWatch:** Add multi-value template variable support for log group names in logs query builder. [#49737](https://github.com/grafana/grafana/pull/49737), [@kevinwcyu](https://github.com/kevinwcyu)
- **Cloudwatch:** Add template variable query function for listing log groups. [#50100](https://github.com/grafana/grafana/pull/50100), [@yaelleC](https://github.com/yaelleC)
### Bug fixes
- **Alerting:** Do not overwrite existing alert rule condition. [#49920](https://github.com/grafana/grafana/pull/49920), [@gillesdemey](https://github.com/gillesdemey)
- **Alerting:** Remove double quotes from matchers. [#50044](https://github.com/grafana/grafana/pull/50044), [@alexweav](https://github.com/alexweav)
<!-- 8.5.5 END -->
<!-- 8.5.4 START -->
# 8.5.4 (2022-05-30)
### Features and enhancements
- **Alerting:** Remove disabled flag for data source when migrating alerts. [#48559](https://github.com/grafana/grafana/pull/48559), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Alerting:** Show notification tab of legacy alerting only to editor. [#49624](https://github.com/grafana/grafana/pull/49624), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Alerting:** Update migration to migrate only alerts that belong to existing org\dashboard. [#49192](https://github.com/grafana/grafana/pull/49192), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **AzureMonitor:** Do not quote variables when a custom "All" variable option is used. [#49428](https://github.com/grafana/grafana/pull/49428), [@andresmgot](https://github.com/andresmgot)
- **AzureMonitor:** Update allowed namespaces. [#48468](https://github.com/grafana/grafana/pull/48468), [@jcolladokuri](https://github.com/jcolladokuri)
- **CloudMonitor:** Correctly encode default project response. [#49510](https://github.com/grafana/grafana/pull/49510), [@aangelisc](https://github.com/aangelisc)
- **Cloudwatch:** Add support for new AWS/RDS EBS\* metrics. [#48798](https://github.com/grafana/grafana/pull/48798), [@szymonpk](https://github.com/szymonpk)
- **InfluxDB:** Use backend for influxDB by default via feature toggle. [#48453](https://github.com/grafana/grafana/pull/48453), [@yesoreyeram](https://github.com/yesoreyeram)
- **Legend:** Use correct unit for percent and count calculations. [#49004](https://github.com/grafana/grafana/pull/49004), [@dprokop](https://github.com/dprokop)
- **LokI:** use millisecond steps in Grafana 8.5.x. [#48630](https://github.com/grafana/grafana/pull/48630), [@gabor](https://github.com/gabor)
- **Plugins:** Introduce HTTP 207 Multi Status response to api/ds/query. [#48550](https://github.com/grafana/grafana/pull/48550), [@wbrowne](https://github.com/wbrowne)
- **Reporting:** Improve PDF file size using grid layout. (Enterprise)
- **Transformations:** Add an All Unique Values Reducer. [#48653](https://github.com/grafana/grafana/pull/48653), [@josiahg](https://github.com/josiahg)
- **Transformers:** avoid error when the ExtractFields source field is missing. [#49368](https://github.com/grafana/grafana/pull/49368), [@wardbekker](https://github.com/wardbekker)
- **[v8.5.x] Alerting:** Update migration to migrate only alerts that belong to existing org\dashboard. [#49199](https://github.com/grafana/grafana/pull/49199), [@grafanabot](https://github.com/grafanabot)
- **[v8.5.x] Reporting:** Improve PDF file size using grid layout. (Enterprise)
### Bug fixes
- **Alerting:** Allow disabling override timings for notification policies. [#48648](https://github.com/grafana/grafana/pull/48648), [@gillesdemey](https://github.com/gillesdemey)
- **Alerting:** Allow serving images from custom url path. [#49022](https://github.com/grafana/grafana/pull/49022), [@gillesdemey](https://github.com/gillesdemey)
- **Alerting:** Apply Custom Headers to datasource queries. [#47860](https://github.com/grafana/grafana/pull/47860), [@joeblubaugh](https://github.com/joeblubaugh)
- **Alerting:** Fix RBAC actions for notification policies. [#49185](https://github.com/grafana/grafana/pull/49185), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Alerting:** Fix access to alerts for viewer with editor permissions when RBAC is disabled. [#49270](https://github.com/grafana/grafana/pull/49270), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Alerting:** Fix anonymous access to alerting. [#49203](https://github.com/grafana/grafana/pull/49203), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Alerting:** correctly show all alerts in a folder. [#48684](https://github.com/grafana/grafana/pull/48684), [@gillesdemey](https://github.com/gillesdemey)
- **AzureMonitor:** Fixes metric definition for Azure Storage queue/file/blob/table resources. [#49101](https://github.com/grafana/grafana/pull/49101), [@aangelisc](https://github.com/aangelisc)
- **Dashboard:** Fix dashboard update permission check. [#48746](https://github.com/grafana/grafana/pull/48746), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **DashboardExport:** Fix exporting and importing dashboards where query data source ended up as incorrect. [#48410](https://github.com/grafana/grafana/pull/48410), [@torkelo](https://github.com/torkelo)
- **FileUpload:** clicking the `Upload file` button now opens the modal correctly. [#48766](https://github.com/grafana/grafana/pull/48766), [@ashharrison90](https://github.com/ashharrison90)
- **GrafanaUI:** Fix color of links in error Tooltips in light theme. [#49327](https://github.com/grafana/grafana/pull/49327), [@joshhunt](https://github.com/joshhunt)
- **LibraryPanels:** Fix library panels not connecting properly in imported dashboards. [#49161](https://github.com/grafana/grafana/pull/49161), [@joshhunt](https://github.com/joshhunt)
- **Loki:** Improve unpack parser handling. [#49074](https://github.com/grafana/grafana/pull/49074), [@gabor](https://github.com/gabor)
- **RolePicker:** Fix menu position on smaller screens. [#48429](https://github.com/grafana/grafana/pull/48429), [@Clarity-89](https://github.com/Clarity-89)
- **TimeRange:** Fixes updating time range from url and browser history. [#48657](https://github.com/grafana/grafana/pull/48657), [@torkelo](https://github.com/torkelo)
- **TimeSeries:** Fix detection & rendering of sparse datapoints. [#48841](https://github.com/grafana/grafana/pull/48841), [@leeoniya](https://github.com/leeoniya)
- **Timeseries:** Fix outside range stale state. [#49633](https://github.com/grafana/grafana/pull/49633), [@ryantxu](https://github.com/ryantxu)
- **Tooltip:** Fix links not legible in Tooltips when using light theme. [#48748](https://github.com/grafana/grafana/pull/48748), [@joshhunt](https://github.com/joshhunt)
- **Tooltip:** Sort decimals using standard numeric compare. [#49084](https://github.com/grafana/grafana/pull/49084), [@dprokop](https://github.com/dprokop)
- **Transforms:** Labels to fields, fix label picker layout. [#49304](https://github.com/grafana/grafana/pull/49304), [@torkelo](https://github.com/torkelo)
- **Variables:** Fixes issue with data source variables not updating queries with variable. [#49478](https://github.com/grafana/grafana/pull/49478), [@torkelo](https://github.com/torkelo)
- **[v8.5.x] Alerting:** Fix RBAC actions for notification policies (#49185). [#49348](https://github.com/grafana/grafana/pull/49348), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **[v8.5.x] Alerting:** Fix access to alerts for viewer with editor permissions when RBAC is disabled. [#49427](https://github.com/grafana/grafana/pull/49427), [@konrad147](https://github.com/konrad147)
- **[v8.5.x] Alerting:** Fix anonymous access to alerting. [#49268](https://github.com/grafana/grafana/pull/49268), [@yuri-tceretian](https://github.com/yuri-tceretian)
### Breaking changes
For a data source query made via /api/ds/query :
- If the `DatasourceQueryMultiStatus` feature is enabled and
- The data source response has an error set as part of the `DataResponse`, the resulting HTTP status code is now `207 Multi Status` instead of `400 Bad gateway`
- If the `DatasourceQueryMultiStatus` feature is **not** enabled and
- The data source response has an error set as part of the `DataResponse`, the resulting HTTP status code is `400 Bad Request` (no breaking change)
--> Issue [#48550](https://github.com/grafana/grafana/issues/48550)
<!-- 8.5.4 END -->
<!-- 8.5.3 START -->
# 8.5.3
### Bug fixes
- **Security:** fixes CVE-2022-29170. [#49240](https://github.com/grafana/grafana/pull/49240), [@xlson](https://github.com/xlson)
<!-- 8.5.3 END -->
<!-- 8.5.2 START -->
# 8.5.2 (2022-05-03)
### Features and enhancements
- **Alerting:** Add safeguard for migrations that might cause dataloss. [#48526](https://github.com/grafana/grafana/pull/48526), [@JohnnyQQQQ](https://github.com/JohnnyQQQQ)
- **AzureMonitor:** Add support for not equals and startsWith operators when creating Azure Metrics dimension filters. [#48077](https://github.com/grafana/grafana/pull/48077), [@aangelisc](https://github.com/aangelisc)
- **Elasticsearch:** Add deprecation notice for < 7.10 versions. [#48506](https://github.com/grafana/grafana/pull/48506), [@ivanahuckova](https://github.com/ivanahuckova)
- **Traces:** Filter by service/span name and operation in Tempo and Jaeger. [#48209](https://github.com/grafana/grafana/pull/48209), [@joey-grafana](https://github.com/joey-grafana)
### Bug fixes
- **AzureAd Oauth:** Fix strictMode to reject users without an assigned role. [#48474](https://github.com/grafana/grafana/pull/48474), [@kyschouv](https://github.com/kyschouv)
- **CloudWatch:** Fix variable query tag migration. [#48587](https://github.com/grafana/grafana/pull/48587), [@iwysiu](https://github.com/iwysiu)
- **Plugins:** Ensure catching all appropriate 4xx api/ds/query scenarios. [#47565](https://github.com/grafana/grafana/pull/47565), [@wbrowne](https://github.com/wbrowne)
<!-- 8.5.2 END -->
<!-- 8.5.1 START -->
# 8.5.1 (2022-04-27)
### Bug fixes
- **Azure Monitor:** Fix space character encoding for metrics query link to Azure Portal. [#48139](https://github.com/grafana/grafana/pull/48139), [@kevinwcyu](https://github.com/kevinwcyu)
- **CloudWatch:** Prevent log groups from being removed on query change. [#47994](https://github.com/grafana/grafana/pull/47994), [@asimpson](https://github.com/asimpson)
- **Cloudwatch:** Fix template variables in variable queries. [#48140](https://github.com/grafana/grafana/pull/48140), [@iwysiu](https://github.com/iwysiu)
- **Explore:** Prevent direct access to explore if disabled via feature toggle. [#47714](https://github.com/grafana/grafana/pull/47714), [@Elfo404](https://github.com/Elfo404)
- **InfluxDB:** Fixes invalid no data alerts. [#48295](https://github.com/grafana/grafana/pull/48295), [@yesoreyeram](https://github.com/yesoreyeram)
- **Navigation:** Prevent navbar briefly showing on login. [#47968](https://github.com/grafana/grafana/pull/47968), [@ashharrison90](https://github.com/ashharrison90)
- **Plugins Catalog:** Fix styling of hyperlinks. [#48196](https://github.com/grafana/grafana/pull/48196), [@marefr](https://github.com/marefr)
- **Table:** Fix filter crashes table. [#48258](https://github.com/grafana/grafana/pull/48258), [@zoltanbedi](https://github.com/zoltanbedi)
- **TimeSeries:** Properly stack series with missing datapoints. [#48321](https://github.com/grafana/grafana/pull/48321), [@leeoniya](https://github.com/leeoniya)
<!-- 8.5.1 END -->
<!-- 8.5.0 START -->
# 8.5.0 (2022-04-21)
### Features and enhancements
- **Alerting:** Add contact points provisioning API. [#47197](https://github.com/grafana/grafana/pull/47197), [@JohnnyQQQQ](https://github.com/JohnnyQQQQ)
- **Alerting:** Add resolved count to notification title when both firing and resolved present. [#46697](https://github.com/grafana/grafana/pull/46697), [@JacobsonMT](https://github.com/JacobsonMT)
- **Alerting:** Alert rule should wait For duration when execution error state is Alerting. [#47052](https://github.com/grafana/grafana/pull/47052), [@grobinson-grafana](https://github.com/grobinson-grafana)
- **Alerting:** Classic conditions can now display multiple values. [#46971](https://github.com/grafana/grafana/pull/46971), [@gotjosh](https://github.com/gotjosh)
- **Alerting:** Display query from grafana-managed alert rules on `/api/v1/rules`. [#45969](https://github.com/grafana/grafana/pull/45969), [@gotjosh](https://github.com/gotjosh)
- **Alerting:** Enhance support for arbitrary group names in managed alerts. [#47785](https://github.com/grafana/grafana/pull/47785), [@gillesdemey](https://github.com/gillesdemey)
- **Alerting:** add field for custom slack endpoint. [#45751](https://github.com/grafana/grafana/pull/45751), [@nathanrodman](https://github.com/nathanrodman)
- **Azure Monitor :** Adding json formatting of error messages in Panel Header Corner and Inspect Error Tab. [#44877](https://github.com/grafana/grafana/pull/44877), [@yaelleC](https://github.com/yaelleC)
- **Azure Monitor:** Add 2 more Curated Dashboards for VM Insights. [#45187](https://github.com/grafana/grafana/pull/45187), [@jcolladokuri](https://github.com/jcolladokuri)
- **CloudWatch:** Handle new error codes for MetricInsights. [#47033](https://github.com/grafana/grafana/pull/47033), [@Gabrielopesantos](https://github.com/Gabrielopesantos)
- **Dashboards:** show changes in save dialog. [#46557](https://github.com/grafana/grafana/pull/46557), [@ryantxu](https://github.com/ryantxu)
- **DataSource:** Default data source is no longer a persisted state but just the default data source for new panels. [#45132](https://github.com/grafana/grafana/pull/45132), [@torkelo](https://github.com/torkelo)
- **DataSourcePlugin API:** Allow queries import when changing data source type. [#47435](https://github.com/grafana/grafana/pull/47435), [@dprokop](https://github.com/dprokop)
- **Explore:** Remove return to panel button. [#45018](https://github.com/grafana/grafana/pull/45018), [@gelicia](https://github.com/gelicia)
- **Explore:** allow users to save Explore state to a new panel in a new dashboard. [#45148](https://github.com/grafana/grafana/pull/45148), [@Elfo404](https://github.com/Elfo404)
- **Instrumentation:** Proxy status code correction and various improvements. [#47473](https://github.com/grafana/grafana/pull/47473), [@marefr](https://github.com/marefr)
- **Logging:** Introduce feature toggle to activate gokit/log format. [#47336](https://github.com/grafana/grafana/pull/47336), [@ying-jeanne](https://github.com/ying-jeanne)
- **NewsPanel:** Add support for Atom feeds. [#45390](https://github.com/grafana/grafana/pull/45390), [@kaydelaney](https://github.com/kaydelaney)
- **Plugins:** Add deprecation notice for /api/tsdb/query endpoint. [#45238](https://github.com/grafana/grafana/pull/45238), [@wbrowne](https://github.com/wbrowne)
- **Plugins:** Adding support for traceID field to accept variables. [#45559](https://github.com/grafana/grafana/pull/45559), [@vinisdl](https://github.com/vinisdl)
- **PostgreSQL:** \_\_unixEpochGroup to support arithmetic expression as argument. [#46764](https://github.com/grafana/grafana/pull/46764), [@s0nik42](https://github.com/s0nik42)
- **Profile/Help:** Expose option to disable profile section and help menu. [#46308](https://github.com/grafana/grafana/pull/46308), [@cameronwaterman](https://github.com/cameronwaterman)
- **Prometheus:** Enable new visual query builder by default. [#46634](https://github.com/grafana/grafana/pull/46634), [@torkelo](https://github.com/torkelo)
- **SAML:** Allow disabling of SAML signups. [#47481](https://github.com/grafana/grafana/pull/47481), [@mmandrus](https://github.com/mmandrus)
- **SAML:** Allow disabling of SAML signups. (Enterprise)
- **Table:** New pagination option. [#45732](https://github.com/grafana/grafana/pull/45732), [@zoltanbedi](https://github.com/zoltanbedi)
- **TablePanel:** Add cell inspect option. [#45620](https://github.com/grafana/grafana/pull/45620), [@dprokop](https://github.com/dprokop)
- **Tempo / Trace Viewer:** Support Span Links in Trace Viewer. [#45632](https://github.com/grafana/grafana/pull/45632), [@Shachi16](https://github.com/Shachi16)
- **Tempo:** Download span references in data inspector. [#47074](https://github.com/grafana/grafana/pull/47074), [@connorlindsey](https://github.com/connorlindsey)
- **Tempo:** Separate trace to logs and loki search datasource config. [#46655](https://github.com/grafana/grafana/pull/46655), [@connorlindsey](https://github.com/connorlindsey)
- **Trace View:** Show number of child spans. [#44393](https://github.com/grafana/grafana/pull/44393), [@tharun208](https://github.com/tharun208)
- **Transformations:** Support escaped characters in key-value pair parsing. [#47901](https://github.com/grafana/grafana/pull/47901), [@aangelisc](https://github.com/aangelisc)
### Bug fixes
- **Azure Monitor:** Bug Fix for incorrect variable cascading for template variables. [#47478](https://github.com/grafana/grafana/pull/47478), [@jcolladokuri](https://github.com/jcolladokuri)
- **CloudWatch:** List all metrics properly in SQL autocomplete. [#45898](https://github.com/grafana/grafana/pull/45898), [@sunker](https://github.com/sunker)
- **CloudWatch:** Run query on blur in logs query field. [#47454](https://github.com/grafana/grafana/pull/47454), [@fridgepoet](https://github.com/fridgepoet)
- **Dashboard:** Template variables are now correctly persisted when clicking breadcrumb links. [#46790](https://github.com/grafana/grafana/pull/46790), [@ashharrison90](https://github.com/ashharrison90)
- **DashboardPage:** Remember scroll position when coming back panel edit / view panel. [#47639](https://github.com/grafana/grafana/pull/47639), [@torkelo](https://github.com/torkelo)
- **Panel Edit:** Options search now works correctly when a logarithmic scale option is set. [#47927](https://github.com/grafana/grafana/pull/47927), [@ashharrison90](https://github.com/ashharrison90)
- **Postgres:** Return tables with hyphenated schemes. [#45754](https://github.com/grafana/grafana/pull/45754), [@zuchka](https://github.com/zuchka)
- **Table panel:** Fix horizontal scrolling when pagination is enabled. [#47776](https://github.com/grafana/grafana/pull/47776), [@dprokop](https://github.com/dprokop)
- **Variables:** Ensure variables in query params are correctly recognised. [#47049](https://github.com/grafana/grafana/pull/47049), [@ashharrison90](https://github.com/ashharrison90)
- **Variables:** Fix crash when changing query variable datasource. [#44957](https://github.com/grafana/grafana/pull/44957), [@joshhunt](https://github.com/joshhunt)
- **Visualizations:** Stack negative-valued series downwards. [#47373](https://github.com/grafana/grafana/pull/47373), [@leeoniya](https://github.com/leeoniya)
### Breaking changes
For a proxied request, e.g. Grafana's datasource or plugin proxy:
- If the request is cancelled, e.g. from the browser/by the client, the HTTP status code is now `499 Client closed request` instead of `502 Bad gateway`
- If the request times out, e.g. takes longer time than allowed, the HTTP status code is now `504 Gateway timeout` instead of `502 Bad gateway`. Issue [#47473](https://github.com/grafana/grafana/issues/47473)
The change in behavior is that negative-valued series are now stacked downwards from 0 (in their own stacks), rather than downwards from the top of the positive stacks. We now automatically group stacks by Draw style, Line interpolation, and Bar alignment, making it impossible to stack bars on top of lines, or smooth lines on top of stepped lines. Issue [#47373](https://github.com/grafana/grafana/issues/47373)
The meaning of the default data source has now changed from being a persisted property in a panel. Before when you selected the default data source for a panel and later changed the default data source to another data source it would change all panels who were configured to use the default data source. From now on the default data source is just the default for new panels and changing the default will not impact any currently saved dashboards. Issue [#45132](https://github.com/grafana/grafana/issues/45132)
The Tooltip component provided by `@grafana/ui` is no longer automatically interactive (that is you can hover onto it and click a link or select text). It will from now on by default close automatically when you mouse out from the trigger element. To make tooltips behave like before set the new `interactive` property to true.
Issue [#45053](https://github.com/grafana/grafana/issues/45053)
### Deprecations
`/api/tsdb/query` API has been deprecated and will be removed in a future release. Use [/api/ds/query](https://grafana.com/docs/grafana/latest/http_api/data_source/#query-a-data-source) instead. Issue [#45238](https://github.com/grafana/grafana/issues/45238)
### Plugin development fixes & changes
- **Card:** Increase clickable area when meta items are present. [#47935](https://github.com/grafana/grafana/pull/47935), [@ashharrison90](https://github.com/ashharrison90)
- **Loki:** Fix operator description propup from being shortened. [#46575](https://github.com/grafana/grafana/pull/46575), [@glintik](https://github.com/glintik)
- **Tooltips:** Make tooltips non interactive by default. [#45053](https://github.com/grafana/grafana/pull/45053), [@torkelo](https://github.com/torkelo)
<!-- 8.5.0 END -->
<!-- 8.5.0-beta1 START -->
# 8.5.0-beta1 (2022-04-06)
### Features and enhancements
- Add config option to enable/disable reporting. (Enterprise)
- **Alerting:** Accurately set value for prom-compatible APIs. [#47216](https://github.com/grafana/grafana/pull/47216), [@gotjosh](https://github.com/gotjosh)
- **Alerting:** Provisioning API - Notification Policies. [#46755](https://github.com/grafana/grafana/pull/46755), [@alexweav](https://github.com/alexweav)
- **Alerting:** Notification URL points to alert view page instead of alert edit page. [#47752](https://github.com/grafana/grafana/pull/47752), [@joeblubaugh](https://github.com/joeblubaugh)
- **Analytics:** Enable grafana and plugin update checks to be operated independently. [#46352](https://github.com/grafana/grafana/pull/46352), [@wbrowne](https://github.com/wbrowne)
- **Azure Monitor:** Add support for multiple template variables in resource picker. [#46215](https://github.com/grafana/grafana/pull/46215), [@sarahzinger](https://github.com/sarahzinger)
- **Caching:** Add separate TTL for resources cache. (Enterprise)
- **Caching:** add support for TLS configuration for Redis Cluster. (Enterprise)
- **NewsPanel:** Remove Use Proxy option and update documentation with recommendations. [#47189](https://github.com/grafana/grafana/pull/47189), [@joshhunt](https://github.com/joshhunt)
- **OAuth:** Sync GitHub OAuth user name to Grafana if it's set. [#45438](https://github.com/grafana/grafana/pull/45438), [@pallxk](https://github.com/pallxk)
### Bug fixes
- **Plugins:** Fix Default Nav URL for dashboard includes. [#47143](https://github.com/grafana/grafana/pull/47143), [@wbrowne](https://github.com/wbrowne)
### Breaking changes
When user is using Github OAuth, GitHub login is showed as both Grafana login and name. Now the GitHub name is showed as Grafana name, and GitHub login is showed as Grafana Login. Issue [#45438](https://github.com/grafana/grafana/issues/45438)
The meaning of the default data source has now changed from being a persisted property in a panel. Before when you selected the default data source for a panel and later changed the default data source to another data source it would change all panels who were configured to use the default data source. From now on the default data source is just the default for new panels and changing the default will not impact any currently saved dashboards. Issue [#45132](https://github.com/grafana/grafana/issues/45132)
<!-- 8.4.11 START -->
# 8.4.11 (2022-08-30)
### Features and enhancements
- **Rendering:** Add support for renderer token (#54425). [#54437](https://github.com/grafana/grafana/pull/54437), [@joanlopez](https://github.com/joanlopez)
<!-- 8.4.11 END -->
<!-- 8.4.10 START -->
# 8.4.10 (2022-07-14)
### Bug fixes
- **Security:** Fixes for CVE-2022-31107 and CVE-2022-31097. [#52218](https://github.com/grafana/grafana/pull/52218), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
<!-- 8.4.10 END -->
<!-- 8.4.7 START -->
# 8.4.7 (2022-04-19)
### Features and enhancements
- **CloudWatch:** Added missing MemoryDB Namespace metrics. [#47290](https://github.com/grafana/grafana/pull/47290), [@james-deee](https://github.com/james-deee)
- **Histogram Panel:** Take decimal into consideration. [#47330](https://github.com/grafana/grafana/pull/47330), [@mdvictor](https://github.com/mdvictor)
- **TimeSeries:** Sort tooltip values based on raw values. [#46738](https://github.com/grafana/grafana/pull/46738), [@dprokop](https://github.com/dprokop)
### Bug fixes
- **API:** Include userId, orgId, uname in request logging middleware. [#47183](https://github.com/grafana/grafana/pull/47183), [@marefr](https://github.com/marefr)
- **Elasticsearch:** Respect maxConcurrentShardRequests datasource setting. [#47120](https://github.com/grafana/grafana/pull/47120), [@alexandrst88](https://github.com/alexandrst88)
<!-- 8.4.7 END -->
<!-- 8.5.0-beta1 END -->
<!-- 8.4.6 START -->
# 8.4.6 (2022-04-12)
- **Security:** Fixes CVE-2022-24812. For more information, see our [blog](https://grafana.com/blog/2022/04/12/grafana-enterprise-8.4.6-released-with-high-severity-security-fix/)
<!-- 8.4.6 END -->
<!-- 8.4.5 START -->
# 8.4.5 (2022-03-31)
### Features and enhancements
- **Instrumentation:** Make backend plugin metrics endpoints available with optional authentication. [#46467](https://github.com/grafana/grafana/pull/46467), [@marefr](https://github.com/marefr)
- **Table panel:** Show datalinks for cell display modes JSON View and Gauge derivates. [#46020](https://github.com/grafana/grafana/pull/46020), [@mdvictor](https://github.com/mdvictor)
### Bug fixes
- **Azure Monitor:** Small bug fixes for Resource Picker. [#46665](https://github.com/grafana/grafana/pull/46665), [@sarahzinger](https://github.com/sarahzinger)
- **Logger:** Use specified format for file logger. [#46970](https://github.com/grafana/grafana/pull/46970), [@sakjur](https://github.com/sakjur)
- **Logs:** Handle missing fields in dataframes better. [#46963](https://github.com/grafana/grafana/pull/46963), [@gabor](https://github.com/gabor)
- **ManageDashboards:** Fix error when deleting all dashboards from folder view. [#46877](https://github.com/grafana/grafana/pull/46877), [@joshhunt](https://github.com/joshhunt)
<!-- 8.4.5 END -->
<!-- 8.4.4 START -->
# 8.4.4 (2022-03-16)
### Features and enhancements
- **Loki:** Add unpack to autocomplete suggestions (#44623). [#46573](https://github.com/grafana/grafana/pull/46573), [@glintik](https://github.com/glintik)
- **Plugins:** allow using both Function and Class components for app plugins. [#46148](https://github.com/grafana/grafana/pull/46148), [@leventebalogh](https://github.com/leventebalogh)
- **TimeSeries:** Add migration for Graph panel's transform series override. [#46577](https://github.com/grafana/grafana/pull/46577), [@dprokop](https://github.com/dprokop)
- **TimeSeries:** Preserve null/undefined values when performing negative y transform. [#46584](https://github.com/grafana/grafana/pull/46584), [@dprokop](https://github.com/dprokop)
### Bug fixes
- **CloudWatch:** Use default http client from aws-sdk-go. [#46370](https://github.com/grafana/grafana/pull/46370), [@sunker](https://github.com/sunker)
- **Dashboards:** Fixes repeating by row and no refresh. [#46565](https://github.com/grafana/grafana/pull/46565), [@torkelo](https://github.com/torkelo)
- **Gauge:** Fixes blank viz when data link exists and orientation was horizontal. [#46335](https://github.com/grafana/grafana/pull/46335), [@torkelo](https://github.com/torkelo)
- **Search:** sort results correctly when using postgres. [#46466](https://github.com/grafana/grafana/pull/46466), [@xlson](https://github.com/xlson)
- **TagsInput:** fix tags remove button accessibility issues. [#46254](https://github.com/grafana/grafana/pull/46254), [@Elfo404](https://github.com/Elfo404)
- **TextPanel:** Sanitize after markdown has been rendered to html. [#46166](https://github.com/grafana/grafana/pull/46166), [@ashharrison90](https://github.com/ashharrison90)
<!-- 8.4.4 END -->
<!-- 8.4.3 START -->
# 8.4.3 (2022-03-02)
### Features and enhancements
- **Alerting:** Grafana uses > instead of >= when checking the For duration. [#46010](https://github.com/grafana/grafana/issues/46010)
- **Alerting:** Use expanded labels in dashboard annotations. [#45726](https://github.com/grafana/grafana/pull/45726), [@grobinson-grafana](https://github.com/grobinson-grafana)
- **Logs:** Escape windows newline into single newline. [#45771](https://github.com/grafana/grafana/pull/45771), [@perosb](https://github.com/perosb)
### Bug fixes
- **Alerting:** Fix use of > instead of >= when checking the For duration. [#46011](https://github.com/grafana/grafana/pull/46011), [@grobinson-grafana](https://github.com/grobinson-grafana)
- **Azure Monitor:** Fixes broken log queries that use workspace. [#45820](https://github.com/grafana/grafana/pull/45820), [@sunker](https://github.com/sunker)
- **CloudWatch:** Remove error message when using multi-valued template vars in region field. [#45886](https://github.com/grafana/grafana/pull/45886), [@sunker](https://github.com/sunker)
- **Middleware:** Fix IPv6 host parsing in CSRF check. [#45911](https://github.com/grafana/grafana/pull/45911), [@ying-jeanne](https://github.com/ying-jeanne)
### Plugin development fixes & changes
- **ClipboardButton:** Use a fallback when the Clipboard API is unavailable. [#45831](https://github.com/grafana/grafana/pull/45831), [@ashharrison90](https://github.com/ashharrison90)
<!-- 8.4.3 END -->
<!-- 8.4.2 START -->
# 8.4.2 (2022-02-23)
### Features and enhancements
- **OAuth:** Add setting to skip org assignment for external users. [#34834](https://github.com/grafana/grafana/pull/34834), [@baez90](https://github.com/baez90)
- **Tracing:** Add option to map tag names to log label names in trace to logs settings. [#45178](https://github.com/grafana/grafana/pull/45178), [@connorlindsey](https://github.com/connorlindsey)
### Bug fixes
- **Explore:** Fix closing split pane when logs panel is used. [#45602](https://github.com/grafana/grafana/pull/45602), [@ifrost](https://github.com/ifrost)
<!-- 8.4.2 END -->
<!-- 8.4.1 START -->
# 8.4.1 (2022-02-18)
### Features and enhancements
- **Cloudwatch:** Add support for AWS/PrivateLink\* metrics and dimensions. [#45515](https://github.com/grafana/grafana/pull/45515), [@szymonpk](https://github.com/szymonpk)
- **Configuration:** Add ability to customize okta login button name and icon. [#44079](https://github.com/grafana/grafana/pull/44079), [@DanCech](https://github.com/DanCech)
- **Tempo:** Switch out Select with AsyncSelect component to get loading state in Tempo Search. [#45110](https://github.com/grafana/grafana/pull/45110), [@CatPerry](https://github.com/CatPerry)
### Bug fixes
- **Alerting:** Fix migrations by making send_alerts_to field nullable. [#45572](https://github.com/grafana/grafana/pull/45572), [@santihernandezc](https://github.com/santihernandezc)
<!-- 8.4.1 END -->
<!-- 8.4.0 START -->
# 8.4.0 (2022-02-16)
### Features and enhancements
- **API:** Extract OpenAPI specification from source code using go-swagger. [#40528](https://github.com/grafana/grafana/pull/40528), [@papagian](https://github.com/papagian)
- **AccessControl:** Disable user remove and user update roles when they do not have the permissions. [#43429](https://github.com/grafana/grafana/pull/43429), [@Jguer](https://github.com/Jguer)
- **AccessControl:** Provisioning for teams. [#43767](https://github.com/grafana/grafana/pull/43767), [@gamab](https://github.com/gamab)
- **API:** Add usage stats preview endpoint. [#43899](https://github.com/grafana/grafana/pull/43899), [@Jguer](https://github.com/Jguer)
- **Alerting:** Move slow queries in the scheduler to another goroutine. [#44423](https://github.com/grafana/grafana/pull/44423), [@grobinson-grafana](https://github.com/grobinson-grafana)
- **Alerting:** Use time.Ticker instead of alerting.Ticker in ngalert. [#44395](https://github.com/grafana/grafana/pull/44395), [@grobinson-grafana](https://github.com/grobinson-grafana)
- **Alerting:** add custom grouping to Alert Panel. [#44559](https://github.com/grafana/grafana/pull/44559), [@gillesdemey](https://github.com/gillesdemey)
- **Analytics:** Add user id tracking to google analytics. [#42763](https://github.com/grafana/grafana/pull/42763), [@autoric](https://github.com/autoric)
- **Angular:** Add AngularJS plugin support deprecation plan to docs site. [#45149](https://github.com/grafana/grafana/pull/45149), [@torkelo](https://github.com/torkelo)
- **Auth:** implement auto_sign_up for auth.jwt. [#43502](https://github.com/grafana/grafana/pull/43502), [@sakjur](https://github.com/sakjur)
- **Azure Monitor Logs:** Order subscriptions in resource picker by name. [#45228](https://github.com/grafana/grafana/pull/45228), [@sunker](https://github.com/sunker)
- **Azure monitor Logs:** Optimize data fetching in resource picker. [#44549](https://github.com/grafana/grafana/pull/44549), [@sunker](https://github.com/sunker)
- **AzureMonitor:** Filter list of resources by resourceType. [#43522](https://github.com/grafana/grafana/pull/43522), [@andresmgot](https://github.com/andresmgot)
- **BarChart:** color by field, x time field, bar radius, label skipping. [#43257](https://github.com/grafana/grafana/pull/43257), [@leeoniya](https://github.com/leeoniya)
- **Chore:** Implement OpenTelemetry in Grafana. [#42674](https://github.com/grafana/grafana/pull/42674), [@idafurjes](https://github.com/idafurjes)
- **Cloud Monitoring:** Adds metric type to Metric drop down options. [#43268](https://github.com/grafana/grafana/pull/43268), [@tw1nk](https://github.com/tw1nk)
- **CloudWatch:** Add Data Lifecycle Manager metrics and dimension. [#43310](https://github.com/grafana/grafana/pull/43310), [@ilyastoli](https://github.com/ilyastoli)
- **CloudWatch:** Add Missing Elasticache Host-level metrics. [#43455](https://github.com/grafana/grafana/pull/43455), [@dhendo](https://github.com/dhendo)
- **CloudWatch:** Add all ElastiCache Redis Metrics. [#43336](https://github.com/grafana/grafana/pull/43336), [@siavashs](https://github.com/siavashs)
- **CloudWatch:** Add new AWS/ES metrics. [#43034](https://github.com/grafana/grafana/pull/43034), [@sunker](https://github.com/sunker)
- **Cloudwatch:** Add syntax highlighting and autocomplete for "Metric Search". [#43985](https://github.com/grafana/grafana/pull/43985), [@sarahzinger](https://github.com/sarahzinger)
- **Explore:** Support custom display label for exemplar links for Prometheus datasource. [#42732](https://github.com/grafana/grafana/pull/42732), [@JokerQueue](https://github.com/JokerQueue)
- **Hotkeys:** Make time range absolute/permanent. [#43802](https://github.com/grafana/grafana/pull/43802), [@davkal](https://github.com/davkal)
- **Playlists:** Enable sharing direct links to playlists. [#44161](https://github.com/grafana/grafana/pull/44161), [@ashharrison90](https://github.com/ashharrison90)
- **SQLStore:** Prevent concurrent migrations. [#44101](https://github.com/grafana/grafana/pull/44101), [@papagian](https://github.com/papagian)
- **SSE:** Add Mode to drop NaN/Inf/Null in Reduction operations. [#43583](https://github.com/grafana/grafana/pull/43583), [@kylebrandt](https://github.com/kylebrandt)
- **Setting:** Support configuring feature toggles with bools instead of just passing an array. [#43326](https://github.com/grafana/grafana/pull/43326), [@bergquist](https://github.com/bergquist)
- **TimeSeries:** Add support for negative Y and constant transform. [#44774](https://github.com/grafana/grafana/pull/44774), [@dprokop](https://github.com/dprokop)
- **Transformations:** Add 'JSON' field type to ConvertFieldTypeTransformer. [#42624](https://github.com/grafana/grafana/pull/42624), [@sd2k](https://github.com/sd2k)
### Bug fixes
- **Auth:** Guarantee consistency of signed SigV4 headers. [#45054](https://github.com/grafana/grafana/pull/45054), [@wbrowne](https://github.com/wbrowne)
- **CloudWatch:** Fix MetricName resetting on Namespace change. [#44165](https://github.com/grafana/grafana/pull/44165), [@yaelleC](https://github.com/yaelleC)
- **Cloudwatch :** Fixed resetting metric name when changing namespace in Metric Query. [#44612](https://github.com/grafana/grafana/pull/44612), [@yaelleC](https://github.com/yaelleC)
- **Explore:** Avoid locking timepicker when range is inverted. [#44790](https://github.com/grafana/grafana/pull/44790), [@Elfo404](https://github.com/Elfo404)
- **Instrumentation:** Fix HTTP request instrumentation of authentication failures. [#44234](https://github.com/grafana/grafana/pull/44234), [@marefr](https://github.com/marefr)
- **LibraryPanels:** Prevent long descriptions and names from obscuring the delete button. [#45190](https://github.com/grafana/grafana/pull/45190), [@zuchka](https://github.com/zuchka)
- **OAuth:** Fix parsing of ID token if header contains non-string value. [#44159](https://github.com/grafana/grafana/pull/44159), [@marefr](https://github.com/marefr)
- **Panel Edit:** Visualization search now works correctly with special characters. [#45137](https://github.com/grafana/grafana/pull/45137), [@ashharrison90](https://github.com/ashharrison90)
- **Provisioning:** Fix duplicate validation when multiple organizations have been configured. [#44151](https://github.com/grafana/grafana/pull/44151), [@marefr](https://github.com/marefr)
- **QueryField:** Fix issue with undo history when suggestion is inserted (#28656). [#39114](https://github.com/grafana/grafana/pull/39114), [@glintik](https://github.com/glintik)
- **TablePanel:** Do not prefix columns with frame name if multiple frames and override active. [#45174](https://github.com/grafana/grafana/pull/45174), [@mdvictor](https://github.com/mdvictor)
### Deprecations
AngularJS plugin support is now in a deprecated state, meaning it will be removed in a future release. Currently, that is planned for version 10 (in 2023). The documentation site has an [article](https://grafana.com/docs/grafana/next/developers/angular_deprecation/) with more details on why, when, and how. Issue [#45149](https://github.com/grafana/grafana/issues/45149)
<!-- 8.4.0 END -->
<!-- 8.4.0-beta1 START -->
# 8.4.0-beta1 (2022-02-02)
### Features and enhancements
- **Alerting:** Support WeCom as a contact point type. [#40975](https://github.com/grafana/grafana/pull/40975), [@smallpath](https://github.com/smallpath)
- **Alerting:** UI for mute timings. [#41578](https://github.com/grafana/grafana/pull/41578), [@nathanrodman](https://github.com/nathanrodman)
- **Alerting:** add settings for peer reconnection in HA mode. [#42300](https://github.com/grafana/grafana/pull/42300), [@JohnnyQQQQ](https://github.com/JohnnyQQQQ)
- **Auth:** implement auto_sign_up for auth.jwt. [#37040](https://github.com/grafana/grafana/pull/37040), [@Roguelazer](https://github.com/Roguelazer)
- **Dashboard:** Add Show unknown variables toggle to dashboard settings. [#41854](https://github.com/grafana/grafana/pull/41854), [@hugohaggmark](https://github.com/hugohaggmark)
- **Instrumentation:** Logger migration from log15 to gokit/log. [#41636](https://github.com/grafana/grafana/pull/41636), [@ying-jeanne](https://github.com/ying-jeanne)
- **MSSQL:** Change regex to validate Provider connection string. [#40248](https://github.com/grafana/grafana/pull/40248), [@ianselmi](https://github.com/ianselmi)
- **MSSQL:** Configuration of certificate verification for TLS connection. [#31865](https://github.com/grafana/grafana/pull/31865), [@mortenaa](https://github.com/mortenaa)
- **Middleware:** Don't require HTTPS for HSTS headers to be emitted. [#35147](https://github.com/grafana/grafana/pull/35147), [@alexmv](https://github.com/alexmv)
- **Navigation:** Implement Keyboard Navigation. [#41618](https://github.com/grafana/grafana/pull/41618), [@axelavargas](https://github.com/axelavargas)
- **News:** Reload feed when changing the time range or refreshing. [#42217](https://github.com/grafana/grafana/pull/42217), [@ashharrison90](https://github.com/ashharrison90)
- **UI/Plot:** Implement keyboard controls for plot cursor. [#42244](https://github.com/grafana/grafana/pull/42244), [@kaydelaney](https://github.com/kaydelaney)
<!-- 8.3.11 START -->
# 8.3.11 (2022-08-30)
### Features and enhancements
- **Rendering:** Add support for renderer token (#54425). [#54436](https://github.com/grafana/grafana/pull/54436), [@joanlopez](https://github.com/joanlopez)
<!-- 8.3.11 END -->
<!-- 8.3.7 START -->
# 8.3.7 (2022-03-01)
### Bug fixes
- **Provisioning:** Ensure that the default value for orgID is set when provisioning datasources to be deleted. [#44244](https://github.com/grafana/grafana/pull/44244), [@filewalkwithme](https://github.com/filewalkwithme)
<!-- 8.3.7 END -->
<!-- 8.3.6 START -->
# 8.3.6 (2022-02-09)
### Features and enhancements
- **Cloud Monitoring:** Reduce request size when listing labels. [#44365](https://github.com/grafana/grafana/pull/44365), [@mtanda](https://github.com/mtanda)
- **Explore:** Show scalar data result in a table instead of graph. [#44362](https://github.com/grafana/grafana/pull/44362), [@tharun208](https://github.com/tharun208)
- **Snapshots:** Updates the default external snapshot server URL. [#44563](https://github.com/grafana/grafana/pull/44563), [@DanCech](https://github.com/DanCech)
- **Table:** Makes footer not overlap table content. [#44210](https://github.com/grafana/grafana/pull/44210), [@dprokop](https://github.com/dprokop)
- **Tempo:** Add request histogram to service graph datalink. [#44671](https://github.com/grafana/grafana/pull/44671), [@connorlindsey](https://github.com/connorlindsey)
- **Tempo:** Add time range to tempo search query behind a feature flag. [#43811](https://github.com/grafana/grafana/pull/43811), [@connorlindsey](https://github.com/connorlindsey)
- **Tempo:** Auto-clear results when changing query type. [#44390](https://github.com/grafana/grafana/pull/44390), [@connorlindsey](https://github.com/connorlindsey)
- **Tempo:** Display start time in search results as relative time. [#44568](https://github.com/grafana/grafana/pull/44568), [@tharun208](https://github.com/tharun208)
### Bug fixes
- **CloudMonitoring:** Fix resource labels in query editor. [#44550](https://github.com/grafana/grafana/pull/44550), [@iwysiu](https://github.com/iwysiu)
- **Cursor sync:** Apply the settings without saving the dashboard. [#44270](https://github.com/grafana/grafana/pull/44270), [@dprokop](https://github.com/dprokop)
- **LibraryPanels:** Fix for Error while cleaning library panels. [#45033](https://github.com/grafana/grafana/pull/45033), [@hugohaggmark](https://github.com/hugohaggmark)
- **Logs Panel:** fix timestamp parsing for string dates without timezone. [#44664](https://github.com/grafana/grafana/pull/44664), [@Elfo404](https://github.com/Elfo404)
- **Prometheus:** Fix some of the alerting queries that use reduce/math operation. [#44380](https://github.com/grafana/grafana/pull/44380), [@ivanahuckova](https://github.com/ivanahuckova)
- **TablePanel:** Fix ad-hoc variables not working on default datasources. [#44314](https://github.com/grafana/grafana/pull/44314), [@joshhunt](https://github.com/joshhunt)
- **Text Panel:** Fix alignment of elements. [#44313](https://github.com/grafana/grafana/pull/44313), [@ashharrison90](https://github.com/ashharrison90)
- **Variables:** Fix for constant variables in self referencing links. [#44631](https://github.com/grafana/grafana/pull/44631), [@hugohaggmark](https://github.com/hugohaggmark)
<!-- 8.3.6 END -->
<!-- 8.4.0-beta1 END -->
<!-- 8.3.5 START -->
# 8.3.5 (2022-02-08)
- **Security**: Fixes CVE-2022-21702. For more information, see our [blog](https://grafana.com/blog/2022/02/08/grafana-7.5.15-and-8.3.5-released-with-moderate-severity-security-fixes/)
- **Security**: Fixes CVE-2022-21703. For more information, see our [blog](https://grafana.com/blog/2022/02/08/grafana-7.5.15-and-8.3.5-released-with-moderate-severity-security-fixes/)
- **Security**: Fixes CVE-2022-21713. For more information, see our [blog](https://grafana.com/blog/2022/02/08/grafana-7.5.15-and-8.3.5-released-with-moderate-severity-security-fixes/)
<!-- 8.3.5 END -->
<!-- 8.3.4 START -->
# 8.3.4 (2022-01-17)
@@ -185,7 +769,7 @@ The access mode "browser" is deprecated in the following data sources and will b
### Features and enhancements
- **AccessControl:** Apply fine-grained access control to licensing. (Enterprise)
- **AccessControl:** Apply role-based access control to licensing. (Enterprise)
- **Alerting:** Add UI for contact point testing with custom annotations and labels. [#40491](https://github.com/grafana/grafana/pull/40491), [@nathanrodman](https://github.com/nathanrodman)
- **Alerting:** Make alert state indicator in panel header work with Grafana 8 alerts. [#38713](https://github.com/grafana/grafana/pull/38713), [@domasx2](https://github.com/domasx2)
- **Alerting:** Option for Discord notifier to use webhook name. [#40463](https://github.com/grafana/grafana/pull/40463), [@Skyebold](https://github.com/Skyebold)
@@ -1259,7 +1843,15 @@ Issue [#33352](https://github.com/grafana/grafana/issues/33352)
- **AGPL License:** Update license from Apache 2.0 to the GNU Affero General Public License (AGPL). [#33184](https://github.com/grafana/grafana/pull/33184)
<!-- 8.0.0-beta1 END -->
<!-- 7.5.15 START -->
# 7.5.15 (2022-02-08)
- **Security**: Fixes CVE-2022-21702. For more information, see our [blog](https://grafana.com/blog/2022/02/08/grafana-7.5.15-and-8.3.5-released-with-moderate-severity-security-fixes/)
- **Security**: Fixes CVE-2022-21703. For more information, see our [blog](https://grafana.com/blog/2022/02/08/grafana-7.5.15-and-8.3.5-released-with-moderate-severity-security-fixes/)
- **Security**: Fixes CVE-2022-21713. For more information, see our [blog](https://grafana.com/blog/2022/02/08/grafana-7.5.15-and-8.3.5-released-with-moderate-severity-security-fixes/)
<!-- 7.5.15 END -->
<!-- 7.5.13 START -->
# 7.5.13 (2022-01-18)

View File

@@ -11,7 +11,7 @@ COPY plugins-bundled plugins-bundled
RUN yarn install
COPY tsconfig.json .eslintrc .editorconfig .browserslistrc .prettierrc.js babel.config.json ./
COPY tsconfig.json .eslintrc .editorconfig .browserslistrc .prettierrc.js babel.config.json .linguirc ./
COPY public public
COPY tools tools
COPY scripts scripts
@@ -20,7 +20,7 @@ COPY emails emails
ENV NODE_ENV production
RUN yarn build
FROM golang:1.17.6-alpine3.15 as go-builder
FROM golang:1.19.4-alpine3.15 as go-builder
RUN apk add --no-cache gcc g++ make
@@ -30,6 +30,7 @@ COPY go.mod go.sum embed.go Makefile build.go package.json ./
COPY cue cue
COPY packages/grafana-schema packages/grafana-schema
COPY public/app/plugins public/app/plugins
COPY public/api-spec.json public/api-spec.json
COPY pkg pkg
COPY scripts scripts
COPY cue.mod cue.mod

View File

@@ -12,7 +12,7 @@ COPY plugins-bundled plugins-bundled
RUN yarn install
COPY tsconfig.json .eslintrc .editorconfig .browserslistrc .prettierrc.js babel.config.json ./
COPY tsconfig.json .eslintrc .editorconfig .browserslistrc .prettierrc.js babel.config.json .linguirc ./
COPY public public
COPY tools tools
COPY scripts scripts
@@ -21,7 +21,7 @@ COPY emails emails
ENV NODE_ENV production
RUN yarn build
FROM golang:1.17.6 AS go-builder
FROM golang:1.19.4 AS go-builder
WORKDIR /src/grafana
@@ -33,6 +33,7 @@ COPY cue cue/
COPY cue.mod cue.mod/
COPY packages/grafana-schema packages/grafana-schema/
COPY public/app/plugins public/app/plugins/
COPY public/api-spec.json public/api-spec.json
RUN go mod verify
RUN make build-go

View File

@@ -100,7 +100,7 @@ The current team members are:
- Ryan McKinley ([Grafana Labs](https://grafana.com/))
- Sofia Papagiannaki ([Grafana Labs](https://grafana.com/))
- Stephanie Closson ([Grafana Labs](https://grafana.com/))
- Tobias Skarhed ([Grafana Labs](https://grafana.com/))
- Tobias Skarhed ([CERN](https://home.web.cern.ch/))
- Torkel Ödegaard ([Grafana Labs](https://grafana.com/))
- Utkarsh Bhatnagar ([Tinder](https://www.tinder.com/))
- Will Browne ([Grafana Labs](https://grafana.com/))

View File

@@ -77,11 +77,11 @@ Instructions for setting up filters in Gmail can be found [here](#setting-up-gma
## 2. Ensure the issue contains basic information
Before triaging an issue very far, make sure that the issue's author provided the standard issue information. This will help you make an educated recommendation on how to categorize the issue. The Grafana project utilizes [GitHub issue templates](https://help.github.com/en/articles/creating-issue-templates-for-your-repository) to guide contributors to provide standard information that must be included for each type of template or type of issue.
Before triaging an issue very far, make sure that the issue's author provided the standard issue information. This will help you make an educated recommendation on how to categorize the issue. The Grafana project utilizes [GitHub issue templates](https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository) to guide contributors to provide standard information that must be included for each type of template or type of issue.
### Standard issue information that must be included
Given a certain [issue template](<[template](https://github.com/grafana/grafana/issues/new/choose)>) have been used by the issue author or depending how the issue is perceived by the issue triage responsible, the following should help you understand what standard issue information that must be included.
Given a certain [issue template](https://github.com/grafana/grafana/issues/new/choose) have been used by the issue author or depending how the issue is perceived by the issue triage responsible, the following should help you understand what standard issue information that must be included.
#### Bug reports
@@ -192,7 +192,7 @@ First, evaluate if the documentation makes sense to be included in the Grafana p
- Is this something we want/can maintain as a project?
- Is this referring to usage of some specific integration/tool and in that case is that a popular use case in combination with Grafana?
- If unsure, kindly and politely add a comment explaining that we would need [upvotes](https://help.github.com/en/articles/about-conversations-on-github#reacting-to-ideas-in-comments) to identify that lots of other users want/need this.
- If unsure, kindly and politely add a comment explaining that we would need [upvotes](https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments) to identify that lots of other users want/need this.
Second, label the issue `type/docs` and at least one `area/*` or `datasource/*` label.
@@ -296,13 +296,13 @@ In many cases the issue author or community as a whole is more suitable to contr
## Investigation of issues
When an issue has all basic information provided, but the triage responsible haven't been able to reproduce the reported problem at a first glance, the issue is labeled [Needs investigation](https://github.com/grafana/grafana/labels/needs%20investigation). Depending on the perceived severity and/or number of [upvotes](https://help.github.com/en/articles/about-conversations-on-github#reacting-to-ideas-in-comments), the investigation will either be delegated to another maintainer for further investigation or put on hold until someone else (maintainer or contributor) picks it up and eventually starts investigating it.
When an issue has all basic information provided, but the triage responsible haven't been able to reproduce the reported problem at a first glance, the issue is labeled [Needs investigation](https://github.com/grafana/grafana/labels/needs%20investigation). Depending on the perceived severity and/or number of [upvotes](https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments), the investigation will either be delegated to another maintainer for further investigation or put on hold until someone else (maintainer or contributor) picks it up and eventually starts investigating it.
Investigating issues can be a very time consuming task, especially for the maintainers, given the huge number of combinations of plugins, data sources, platforms, databases, browsers, tools, hardware, integrations, versions and cloud services, etc that are being used with Grafana. There is a certain number of combinations that are more common than others, and these are in general easier for maintainers to investigate.
For some other combinations it may not be possible at all for a maintainer to setup a proper test environment to investigate the issue. In these cases we really appreciate any help we can get from the community. Otherwise the issue is highly likely to be closed.
Even if you don't have the time or knowledge to investigate an issue we highly recommend that you [upvote](https://help.github.com/en/articles/about-conversations-on-github#reacting-to-ideas-in-comments) the issue if you happen to have the same problem. If you have further details that may help investigating the issue please provide as much information as possible.
Even if you don't have the time or knowledge to investigate an issue we highly recommend that you [upvote](https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments) the issue if you happen to have the same problem. If you have further details that may help investigating the issue please provide as much information as possible.
## Automation

View File

@@ -7,11 +7,15 @@ WIRE_TAGS = "oss"
-include local/Makefile
include .bingo/Variables.mk
.PHONY: all deps-go deps-js deps build-go build-server build-cli build-js build build-docker-full lint-go golangci-lint test-go test-js gen-ts test run run-frontend clean devenv devenv-down protobuf drone help
.PHONY: all deps-go deps-js deps build-go build-server build-cli build-js build build-docker-full build-docker-full-ubuntu lint-go golangci-lint test-go test-js gen-ts test run run-frontend clean devenv devenv-down protobuf drone help
GO = go
GO_FILES ?= ./pkg/...
SH_FILES ?= $(shell find ./scripts -name *.sh)
API_DEFINITION_FILES = $(shell find ./pkg/api/docs/definitions -name '*.go' -print)
SWAGGER_TAG ?= latest
GO_BUILD_FLAGS += $(if $(GO_BUILD_DEV),-dev)
GO_BUILD_FLAGS += $(if $(GO_BUILD_TAGS),-build-tags=$(GO_BUILD_TAGS))
all: deps build
@@ -28,23 +32,72 @@ node_modules: package.json yarn.lock ## Install node modules.
@echo "install frontend dependencies"
YARN_ENABLE_PROGRESS_BARS=false yarn install --immutable
##@ Swagger
SPEC_TARGET = public/api-spec.json
MERGED_SPEC_TARGET := public/api-merged.json
NGALERT_SPEC_TARGET = pkg/services/ngalert/api/tooling/post.json
$(SPEC_TARGET): $(API_DEFINITION_FILES) ## Generate API spec
docker run --rm -it \
-e GOPATH=${HOME}/go:/go \
-e SWAGGER_GENERATE_EXTENSION=false \
-v ${HOME}/go:/go \
-v $$(pwd):/grafana \
-w $$(pwd)/pkg/api/docs quay.io/goswagger/swagger:$(SWAGGER_TAG) \
generate spec -m -o /grafana/public/api-spec.json \
-w /grafana/pkg/server \
-x "grafana/grafana/pkg/services/ngalert/api/tooling/definitions" \
-x "github.com/prometheus/alertmanager" \
-i /grafana/pkg/api/docs/tags.json
swagger-api-spec: gen-go $(SPEC_TARGET) $(MERGED_SPEC_TARGET)
$(NGALERT_SPEC_TARGET):
+$(MAKE) -C pkg/services/ngalert/api/tooling post.json
$(MERGED_SPEC_TARGET): $(SPEC_TARGET) $(NGALERT_SPEC_TARGET) ## Merge generated and ngalert API specs
go run pkg/api/docs/merge/merge_specs.go -o=public/api-merged.json $(<) pkg/services/ngalert/api/tooling/post.json
ensure_go-swagger_mac:
@hash swagger &>/dev/null || (brew tap go-swagger/go-swagger && brew install go-swagger)
--swagger-api-spec-mac: ensure_go-swagger_mac $(API_DEFINITION_FILES) ## Generate API spec (for M1 Mac)
swagger generate spec -m -w pkg/server -o public/api-spec.json \
-x "github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions" \
-x "github.com/prometheus/alertmanager" \
-i pkg/api/docs/tags.json
swagger-api-spec-mac: gen-go --swagger-api-spec-mac $(MERGED_SPEC_TARGET)
validate-api-spec: $(MERGED_SPEC_TARGET) ## Validate API spec
docker run --rm -it \
-e GOPATH=${HOME}/go:/go \
-e SWAGGER_GENERATE_EXTENSION=false \
-v ${HOME}/go:/go \
-v $$(pwd):/grafana \
-w $$(pwd)/pkg/api/docs quay.io/goswagger/swagger:$(SWAGGER_TAG) \
validate /grafana/$(<)
clean-api-spec:
rm $(SPEC_TARGET) $(MERGED_SPEC_TARGET)
##@ Building
gen-go: $(WIRE)
@echo "generate go files"
$(WIRE) gen -tags $(WIRE_TAGS) ./pkg/server ./pkg/cmd/grafana-cli/runner
build-go: gen-go ## Build all Go binaries.
build-go: $(MERGED_SPEC_TARGET) gen-go ## Build all Go binaries.
@echo "build go files"
$(GO) run build.go build
$(GO) run build.go $(GO_BUILD_FLAGS) build
build-server: ## Build Grafana server.
@echo "build server"
$(GO) run build.go build-server
$(GO) run build.go $(GO_BUILD_FLAGS) build-server
build-cli: ## Build Grafana CLI application.
@echo "build grafana-cli"
$(GO) run build.go build-cli
$(GO) run build.go $(GO_BUILD_FLAGS) build-cli
build-js: ## Build frontend assets.
@echo "build frontend"
@@ -99,6 +152,11 @@ build-docker-full: ## Build Docker image for development.
@echo "build docker container"
docker build --tag grafana/grafana:dev .
build-docker-full-ubuntu: ## Build Docker image based on Ubuntu for development.
@echo "build docker container"
docker build --tag grafana/grafana:dev-ubuntu -f ./Dockerfile.ubuntu .
##@ Services
# create docker-compose file with provided sources and start them

View File

@@ -1,14 +1,14 @@
![Grafana](docs/logo-horizontal.png)
The open-source platform for monitoring and observability.
The open-source platform for monitoring and observability
[![License](https://img.shields.io/github/license/grafana/grafana)](LICENSE)
[![Drone](https://drone.grafana.net/api/badges/grafana/grafana/status.svg)](https://drone.grafana.net/grafana/grafana)
[![Go Report Card](https://goreportcard.com/badge/github.com/grafana/grafana)](https://goreportcard.com/report/github.com/grafana/grafana)
Grafana allows you to query, visualize, alert on and understand your metrics no matter where they are stored. Create, explore, and share dashboards with your team and foster a data driven culture:
Grafana allows you to query, visualize, alert on and understand your metrics no matter where they are stored. Create, explore, and share dashboards with your team and foster a data-driven culture:
- **Visualize:** Fast and flexible client side graphs with a multitude of options. Panel plugins offer many different ways to visualize metrics and logs.
- **Visualizations:** Fast and flexible client side graphs with a multitude of options. Panel plugins offer many different ways to visualize metrics and logs.
- **Dynamic Dashboards:** Create dynamic & reusable dashboards with template variables that appear as dropdowns at the top of the dashboard.
- **Explore Metrics:** Explore your data through ad-hoc queries and dynamic drilldown. Split view and compare different time ranges, queries and data sources side by side.
- **Explore Logs:** Experience the magic of switching from metrics to logs with preserved label filters. Quickly search through all your logs or streaming them live.

View File

@@ -15,6 +15,7 @@ Upgrading Go or Node.js requires making changes in many different files. See bel
- `grafana/build-container`
- Appveyor
- Dockerfile
- `.github/workflows/publish.yml`
## Go dependencies

View File

@@ -33,6 +33,9 @@
"allowDeclareFields": true
}
],
// added to mitigate https://github.com/babel/babel/issues/14289
// package (and following line) can be removed once the issue is fixed and released
"@babel/plugin-proposal-class-properties",
["@babel/plugin-proposal-object-rest-spread", { "loose": true }],
"@babel/plugin-transform-react-constant-elements",
"@babel/plugin-proposal-nullish-coalescing-operator",

View File

@@ -9,6 +9,9 @@ app_mode = production
# instance name, defaults to HOSTNAME environment variable value or hostname if HOSTNAME var is empty
instance_name = ${HOSTNAME}
# force migration will run migrations that might cause dataloss
force_migration = false
#################################### Paths ###############################
[paths]
# Path to where grafana can store temp files, sessions, and the sqlite3 db (if that is used)
@@ -122,6 +125,9 @@ path = grafana.db
# For "sqlite3" only. cache mode setting used for connecting to the database
cache_mode = private
# For "mysql" only if lockingMigration feature toggle is set. How many seconds to wait before failing to lock the database for the migrations, default is 0.
locking_attempt_timeout_sec = 0
#################################### Cache server #############################
[remote_cache]
# Either "redis", "memcached" or "database" default is "database"
@@ -190,12 +196,19 @@ reporting_enabled = true
reporting_distributor = grafana-labs
# Set to false to disable all checks to https://grafana.com
# for new versions (grafana itself and plugins), check is used
# in some UI views to notify that grafana or plugin update exists
# for new versions of grafana. The check is used
# in some UI views to notify that a grafana update exists.
# This option does not cause any auto updates, nor send any information
# only a GET request to https://grafana.com to get latest versions
# only a GET request to https://raw.githubusercontent.com/grafana/grafana/main/latest.json to get the latest version.
check_for_updates = true
# Set to false to disable all checks to https://grafana.com
# for new versions of plugins. The check is used
# in some UI views to notify that a plugin update exists.
# This option does not cause any auto updates, nor send any information
# only a GET request to https://grafana.com to get the latest versions.
check_for_plugin_updates = true
# Google Analytics universal tracking code, only enabled if you specify an id here
google_analytics_ua_id =
@@ -220,6 +233,9 @@ application_insights_connection_string =
# Optional. Specifies an Application Insights endpoint URL where the endpoint string is wrapped in backticks ``.
application_insights_endpoint_url =
# Controls if the UI contains any links to user feedback forms
feedback_links_enabled = true
#################################### Security ############################
[security]
# disable creation of admin user on first start of grafana
@@ -289,6 +305,18 @@ content_security_policy = false
# $ROOT_PATH is server.root_url without the protocol.
content_security_policy_template = """script-src 'self' 'unsafe-eval' 'unsafe-inline' 'strict-dynamic' $NONCE;object-src 'none';font-src 'self';style-src 'self' 'unsafe-inline' blob:;img-src * data:;base-uri 'self';connect-src 'self' grafana.com ws://$ROOT_PATH wss://$ROOT_PATH;manifest-src 'self';media-src 'none';form-action 'self';"""
# Controls if old angular plugins are supported or not. This will be disabled by default in future release
angular_support_enabled = true
[security.encryption]
# Defines the time-to-live (TTL) for decrypted data encryption keys stored in memory (cache).
# Please note that small values may cause performance issues due to a high frequency decryption operations.
data_keys_cache_ttl = 15m
# Defines the frequency of data encryption keys cache cleanup interval.
# On every interval, decrypted data encryption keys that reached the TTL are removed from the cache.
data_keys_cache_cleanup_interval = 1m
#################################### Snapshots ###########################
[snapshots]
# snapshot sharing options
@@ -397,12 +425,18 @@ oauth_auto_login = false
# OAuth state max age cookie duration in seconds. Defaults to 600 seconds.
oauth_state_cookie_max_age = 600
# Skip forced assignment of OrgID 1 or 'auto_assign_org_id' for social logins
oauth_skip_org_role_update_sync = false
# limit of api_key seconds to live before expiration
api_key_max_seconds_to_live = -1
# Set to true to enable SigV4 authentication option for HTTP-based datasources
sigv4_auth_enabled = false
# Set to true to enable verbose logging of SigV4 request signing
sigv4_verbose_logging = false
#################################### Anonymous Auth ######################
[auth.anonymous]
# enable anonymous access
@@ -487,10 +521,12 @@ auth_url = https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/authorize
token_url = https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token
allowed_domains =
allowed_groups =
role_attribute_strict = false
#################################### Okta OAuth #######################
[auth.okta]
name = Okta
icon = okta
enabled = false
allow_sign_up = true
client_id = some_id
@@ -507,6 +543,7 @@ role_attribute_strict = false
#################################### Generic OAuth #######################
[auth.generic_oauth]
name = OAuth
icon = signin
enabled = false
allow_sign_up = true
client_id = some_id
@@ -550,6 +587,7 @@ ldap_sync_ttl = 60
sync_ttl = 60
whitelist =
headers =
headers_encoded = false
enable_login_token = false
#################################### Auth JWT ##########################
@@ -865,20 +903,30 @@ max_annotations_to_keep =
# Enable the Explore section
enabled = true
#################################### Help #############################
[help]
# Enable the Help section
enabled = true
#################################### Profile #############################
[profile]
# Enable the Profile section
enabled = true
#################################### Query History #############################
[query_history]
# Enable the Query history
enabled = false
#################################### Internal Grafana Metrics ############
# Metrics available at HTTP API Url /metrics
# Metrics available at HTTP URL /metrics and /metrics/plugins/:pluginId
[metrics]
enabled = true
interval_seconds = 10
# Disable total stats (stat_totals_*) metrics to be generated
disable_total_stats = false
#If both are set, basic auth will be required for the metrics endpoint.
#If both are set, basic auth will be required for the metrics endpoints.
basic_auth_username =
basic_auth_password =
@@ -972,6 +1020,8 @@ container_name =
server_url =
# If the remote HTTP image renderer service runs on a different server than the Grafana server you may have to configure this to a URL where Grafana is reachable, e.g. http://grafana.domain/.
callback_url =
# An auth token that will be sent to and verified by the renderer. The renderer will deny any request without an auth token matching the one configured on the renderer side.
renderer_token = -
# Concurrent render request limit affects when the /render HTTP endpoint is used. Rendering many images at the same time can overload the server,
# which this setting can help protect against by only allowing a certain amount of concurrent requests.
concurrent_render_request_limit = 30
@@ -1089,6 +1139,12 @@ license_path =
# enable = feature1,feature2
enable =
# The new prometheus visual query builder
promQueryBuilder = true
# Experimental Explore to Dashboard workflow
explore2Dashboard = true
# feature1 = true
# feature2 = false

View File

@@ -9,6 +9,9 @@
# instance name, defaults to HOSTNAME environment variable value or hostname if HOSTNAME var is empty
;instance_name = ${HOSTNAME}
# force migration will run migrations that might cause dataloss
;force_migration = false
#################################### Paths ####################################
[paths]
# Path to where grafana can store temp files, sessions, and the sqlite3 db (if that is used)
@@ -123,6 +126,9 @@
# For "sqlite3" only. cache mode setting used for connecting to the database. (private, shared)
;cache_mode = private
# For "mysql" only if lockingMigration feature toggle is set. How many seconds to wait before failing to lock the database for the migrations, default is 0.
;locking_attempt_timeout_sec = 0
################################### Data sources #########################
[datasources]
# Upper limit of data sources that Grafana will return. This limit is a temporary configuration and it will be deprecated when pagination will be introduced on the list data sources API.
@@ -195,13 +201,20 @@
# The name of the distributor of the Grafana instance. Ex hosted-grafana, grafana-labs
;reporting_distributor = grafana-labs
# Set to false to disable all checks to https://grafana.net
# for new versions (grafana itself and plugins), check is used
# in some UI views to notify that grafana or plugin update exists
# Set to false to disable all checks to https://grafana.com
# for new versions of grafana. The check is used
# in some UI views to notify that a grafana update exists.
# This option does not cause any auto updates, nor send any information
# only a GET request to http://grafana.com to get latest versions
# only a GET request to https://raw.githubusercontent.com/grafana/grafana/main/latest.json to get the latest version.
;check_for_updates = true
# Set to false to disable all checks to https://grafana.com
# for new versions of plugins. The check is used
# in some UI views to notify that a plugin update exists.
# This option does not cause any auto updates, nor send any information
# only a GET request to https://grafana.com to get the latest versions.
;check_for_plugin_updates = true
# Google Analytics universal tracking code, only enabled if you specify an id here
;google_analytics_ua_id =
@@ -220,6 +233,9 @@
# Rudderstack Config url, optional, used by Rudderstack SDK to fetch source config
;rudderstack_config_url =
# Controls if the UI contains any links to user feedback forms
;feedback_links_enabled = true
#################################### Security ####################################
[security]
# disable creation of admin user on first start of grafana
@@ -289,6 +305,18 @@
# $ROOT_PATH is server.root_url without the protocol.
;content_security_policy_template = """script-src 'self' 'unsafe-eval' 'unsafe-inline' 'strict-dynamic' $NONCE;object-src 'none';font-src 'self';style-src 'self' 'unsafe-inline' blob:;img-src * data:;base-uri 'self';connect-src 'self' grafana.com ws://$ROOT_PATH wss://$ROOT_PATH;manifest-src 'self';media-src 'none';form-action 'self';"""
# Controls if old angular plugins are supported or not. This will be disabled by default in future release
;angular_support_enabled = true
[security.encryption]
# Defines the time-to-live (TTL) for decrypted data encryption keys stored in memory (cache).
# Please note that small values may cause performance issues due to a high frequency decryption operations.
;data_keys_cache_ttl = 15m
# Defines the frequency of data encryption keys cache cleanup interval.
# On every interval, decrypted data encryption keys that reached the TTL are removed from the cache.
;data_keys_cache_cleanup_interval = 1m
#################################### Snapshots ###########################
[snapshots]
# snapshot sharing options
@@ -391,12 +419,18 @@
# OAuth state max age cookie duration in seconds. Defaults to 600 seconds.
;oauth_state_cookie_max_age = 600
# Skip forced assignment of OrgID 1 or 'auto_assign_org_id' for social logins
;oauth_skip_org_role_update_sync = false
# limit of api_key seconds to live before expiration
;api_key_max_seconds_to_live = -1
# Set to true to enable SigV4 authentication option for HTTP-based datasources.
;sigv4_auth_enabled = false
# Set to true to enable verbose logging of SigV4 request signing
;sigv4_verbose_logging = false
#################################### Anonymous Auth ######################
[auth.anonymous]
# enable anonymous access
@@ -472,6 +506,7 @@
;token_url = https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token
;allowed_domains =
;allowed_groups =
;role_attribute_strict = false
#################################### Okta OAuth #######################
[auth.okta]
@@ -533,6 +568,8 @@
;sync_ttl = 60
;whitelist = 192.168.1.1, 192.168.2.1
;headers = Email:X-User-Email, Name:X-User-Name
# Non-ASCII strings in header values are encoded using quoted-printable encoding
;headers_encoded = false
# Read the auth proxy docs for details on what the setting below enables
;enable_login_token = false
@@ -848,13 +885,23 @@
# Enable the Explore section
;enabled = true
#################################### Help #############################
[help]
# Enable the Help section
;enabled = true
#################################### Profile #############################
[profile]
# Enable the Profile section
;enabled = true
#################################### Query History #############################
[query_history]
# Enable the Query history
;enabled = false
#################################### Internal Grafana Metrics ##########################
# Metrics available at HTTP API Url /metrics
# Metrics available at HTTP URL /metrics and /metrics/plugins/:pluginId
[metrics]
# Disable / Enable internal metrics
;enabled = true
@@ -863,7 +910,7 @@
# Disable total stats (stat_totals_*) metrics to be generated
;disable_total_stats = false
#If both are set, basic auth will be required for the metrics endpoint.
#If both are set, basic auth will be required for the metrics endpoints.
; basic_auth_username =
; basic_auth_password =
@@ -952,6 +999,8 @@
;server_url =
# If the remote HTTP image renderer service runs on a different server than the Grafana server you may have to configure this to a URL where Grafana is reachable, e.g. http://grafana.domain/.
;callback_url =
# An auth token that will be sent to and verified by the renderer. The renderer will deny any request without an auth token matching the one configured on the renderer side.
;renderer_token = -
# Concurrent render request limit affects when the /render HTTP endpoint is used. Rendering many images at the same time can overload the server,
# which this setting can help protect against by only allowing a certain amount of concurrent requests.
;concurrent_render_request_limit = 30

View File

@@ -2,6 +2,8 @@
Grafana uses a _bus_ to pass messages between different parts of the application. All communication over the bus happens synchronously.
> **Deprecated:** The bus has officially been deprecated, however, we're still using the command/query objects paradigms.
There are three types of messages: _events_, _commands_, and _queries_.
## Events

View File

@@ -99,6 +99,8 @@ To add a migration:
- In the `AddMigrations` function, find the `addXxxMigration` function for the service you want to create a migration for.
- At the end of the `addXxxMigration` function, register your migration:
> **NOTE:** Putting migrations behind feature flags is no longer recommended as it may cause the migration skip integration testing.
[Example](https://github.com/grafana/grafana/blob/00d0640b6e778ddaca021670fe851fe00982acf2/pkg/services/sqlstore/migrations/migrations.go#L55-L70)
### Implement `DatabaseMigrator`

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

View File

@@ -0,0 +1,119 @@
# Handling breaking changes in Grafana frontend APIs
This guide tries to help you identify and communicate breaking changes introduced to our frontend API.
- [What are our public APIs?](#what-are-our-public-apis)
- [What is Levitate?](#what-is-levitate)
- [How does the CI workflow look like?](#how-does-the-ci-workflow-look-like)
- [I received a comment on my PR, what does it mean?](#i-received-a-comment-on-my-pr-what-does-it-mean)
- [**I know it's a breaking change, what's next?**](#i-know-its-a-breaking-change-whats-next)
- [Introduce breaking changes only in major versions](#introduce-breaking-changes-only-in-major-versions)
- [Deprecate first](#deprecate-first)
- [Communicate](#communicate)
- [I still have questions, who can help me out?](#i-still-have-questions-who-can-help-me-out)
---
## What are our public APIs?
The Grafana frontend codebase is exposing functionality through NPM packages to make plugin development easier and faster.
These packages live in the `/packages` folder and contain packages like:
- `@grafana/data`
- `@grafana/runtime`
- `@grafana/toolkit`
- `@grafana/ui`
- etc. ([They can be viewed here](https://github.com/grafana/grafana/tree/main/packages)
Any change that causes dependent software to behave differently is considered to be breaking.
## What is Levitate?
[`@grafana/levitate`](https://github.com/grafana/levitate) is a tool created by Grafana that can show breaking changes between two versions of a **TypeScript** package or a source file.
It can list exported members of an NPM package or imports used by an NPM package,
**but we are mainly using it for comparing different versions of the same package to see changes in the exported members.**
A Github workflow runs against every pull request and comments a hint in case there are
possible breaking changes. It also adds the `"breaking change"` label to the pull request.
## How does the CI workflow look like?
<img src="./breaking-changes-workflow.png" alt="CI workflow" width="700" />
## I received a comment on my PR, what does it mean?
![Levitate comment](./breaking-changes-comment-screenshot.png)
Receiving a comment like the one above does not necessarily mean that you actually introduced breaking
changes (as certain edge cases are still not covered by the tool), but as there is a good chance we rather raise attention.
By clicking the links in the comment ("more info" or "Check console output") you can view more detailed information about what triggered the notification.
**Removed exported members** (console view):<br />
This means that some previously exported members won't be available in the newer version of the package which can break dependent plugins.
![](./breaking-changes-console-screenshot-1.png)
**Changed an existing member** (console view):<br />
This means that a member was changed in a way that can break dependent plugins.
![](./breaking-changes-console-screenshot-2.png)
**No breaking changes** (console view):<br />
Seeing this suggests that whilst changes were made, most probably none of them were breaking. You are good to go! 👏
![](./breaking-changes-console-screenshot-3.png)
## How can I decide if it is really a breaking change?
First go to the console output of the workflow and make sure that the diffs make sense.
It can happen that Levitate highlights a change which is marked with TSDoc tags `// @alpha` or `// @internal` in
which case you can choose to ignore it - keep in mind though that these flags won't really hold developers back
from using your code and most likely it is going to cause them problems if we are breaking them.
It can also happen that Levitate marks changing an interface as a possible breaking change.
For anyone that implements that interface introducing a new property will break their code. Whilst this is correctly marked as a breaking change maybe it is an interface that is never implemented by other developers. In which case you can choose to ignore Levitate's message.
These notifications are only warnings though, and **in the end it's up to the author of the PR to make a decision that makes the most sense.**
## I know it's a breaking change, what's next?
### Introduce breaking changes only in major versions
We can make breaking changes less painful if they are only happening between major releases of Grafana.
### Deprecate first
Whenever possible try to deprecate first what you are about to remove or change. For example:
```javascript
import { deprecationWarning } from '@grafana/data';
/**
* @deprecated -- this is no longer necessary and will be removed in Grafana 9.0.0
*/
myOldFunction(name: string) {
deprecationWarning('MyFile', 'myOldFunction', 'myNewFunction');
// ...
}
```
1. Add a deprecation comment `// @deprecated`
2. Add info in the comment about **when it is going to be removed**
3. Add info in the comment about **what should be used instead**
4. In case it's a function or a method, use `deprecationWarning(<file name>, <old name>, <new name>)` to raise attention during runtime as well
5. Update the [migration guide](../docs/sources/developers/plugins/migration-guide.md) with your instructions
### Communicate
Reach out to **@grafana/plugins-platform-frontend** to help finding which plugins are using the code that is just about to change, so we try making it smoother by communicating it to them.
---
## I still have questions, who can help me out?
We are here to help.
Please either ping us in the pull request by using the **@grafana/plugins-platform-frontend** handle or reach out to us on the internal Slack in `#grafana-plugins-platform`.

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

View File

@@ -136,6 +136,20 @@ Running the backend tests on Windows currently needs some tweaking, so use the b
go run build.go test
```
### Run PostgreSQL and MySQL integration tests
To run PostgreSQL and MySQL integration tests locally, you need to start the docker blocks for MySQL and/or PostgreSQL test data sources by running `make devenv sources=mysql_tests,postgres_tests`. When your test data sources are running, you can execute integration tests by running:
```
GRAFANA_TEST_DB=mysql go test -covermode=atomic -tags=integration ./pkg/...
```
and/or
```
GRAFANA_TEST_DB=postgres go test -covermode=atomic -tags=integration ./pkg/...
```
### Run end-to-end tests
The end to end tests in Grafana use [Cypress](https://www.cypress.io/) to run automated scripts in a headless Chromium browser. Read more about our [e2e framework](/contribute/style-guides/e2e.md).

View File

@@ -212,10 +212,10 @@ of the sentence. When you write in passive voice, the recipient of the action (a
Active-voice sentences are more direct and clearly identify _who_ is doing _what_. Not all tasks are completed by a user; sometimes the system can also be a performer (and by extension, the subject of the sentence). When you write in active voice you clearly make that distinction, which results in more engaging and less wordy content.
| Use (active) | Avoid (passive) |
| ----------------------------------------------------- | -------------------------------------------------------------------- | --- |
| ----------------------------------------------------- | -------------------------------------------------------------------- |
| After you upgrade the software, restart the computer. | After the software has been upgraded, the computer can be restarted. |
| Click **OK** to save the dashboard. | The dashboard is saved when the **OK** button is clicked. |
| Create a dashboard. | A dashboard is created by you. | . |
| Create a dashboard. | A dashboard is created by you. |
### Avoid obscure non-English words and abbreviations

View File

@@ -93,7 +93,7 @@ If you don't want to backport you need to add a label named **no-backport** to t
#### Backport
If your pull request has changes that need to go into one or several existing release branches you need to backport the changes. Please refer to [Backport PR](.github/bot.md#backport-pr) for detailed instructions.
If your pull request has changes that need to go into one or several existing release branches you need to backport the changes. Please refer to [Backport PR](/.github/bot.md#backport-pr) for detailed instructions.
The general rule of thumb regarding what changes goes into what release is:

View File

@@ -58,6 +58,100 @@ code, plus lets you run each test case in isolation when debugging. Don't use `t
Use [`t.Cleanup`](https://golang.org/pkg/testing/#T.Cleanup) to clean up resources in tests. It's a less fragile choice than `defer`, since it's independent of which
function you call it in. It will always execute after the test is over in reverse call order (last `t.Cleanup` first, same as `defer`).
### Mock
Optionally, we use [`mock.Mock`](https://github.com/stretchr/testify#mock-package) package to generate mocks. This is
useful when you expect different behaviours of the same function.
#### Tips
- Use `Once()` or `Times(n)` to make this mock only works `n` times.
- Use `mockedClass.AssertExpectations(t)` to guarantee that the mock is called the times asked.
- If any mock set is not called or its expects more calls, the test fails.
- You can pass `mock.Anything` as argument if you don't care about the argument passed.
- Use `mockedClass.AssertNotCalled(t, "FunctionName")` to assert that this test is not called.
#### Example
This is an example to easily create a mock of an interface.
Given this interface:
```go
func MyInterface interface {
Get(ctx context.Context, id string) (Object, error)
}
```
Mock implementation should be like this:
```go
import
func MockImplementation struct {
mock.Mock
}
func (m *MockImplementation) Get(ctx context.Context, id string) error {
args := m.Called(ctx, id) // Pass all arguments in order here
return args.Get(0).(Object), args.Error(1)
}
```
And use it as the following way:
```go
objectToReturn := Object{Message: "abc"}
errToReturn := errors.New("my error")
myMock := &MockImplementation{}
defer myMock.AssertExpectations(t)
myMock.On("Get", mock.Anything, "id1").Return(objectToReturn, errToReturn).Once()
myMock.On("Get", mock.Anything, "id2").Return(Object{}, nil).Once()
anyService := NewService(myMock)
resp, err := anyService.Call("id1")
assert.Equal(t, resp.Message, objectToReturn.Message)
assert.Error(t, err, errToReturn)
resp, err = anyService.Call("id2")
assert.Nil(t, err)
```
#### Mockery
When an interface to test is too big, it's annoying to mock each function manually. To avoid this, you can
use [`mockery`](https://github.com/vektra/mockery) library to generate the mocks.
The command is like the following (there are more options documented if you need to use another one):
```
mockery --name InterfaceName --structname MockImplementationName --inpackage --filename my_implementation_mock.go
```
- `--name`: Interface to mock
- `--structname`: Mock implementation name
- `--inpackage`: To use the same package name as the interface
- `--filename`: Your mock generated file name
If any interface signature changes, executing the command again updates the mock.
Additionally, you can put `go:generate` command on the top of the file as a comment. It's useful because some IDEs
like Goland and Visual Studio Code allows executing scripts from the IDE.
```
package <package>
import (
...
)
//go:generate mockery --name InterfaceName --structname MockImplementationName --inpackage --filename my_implementation_mock.go
```
## Globals
As a general rule of thumb, avoid using global variables, since they make the code difficult to maintain and reason

View File

@@ -195,7 +195,7 @@ datasources:
timeInterval: 10s
interval: Daily
timeField: "@timestamp"
esVersion: 70
esVersion: 7.10.0
- name: gdev-elasticsearch-v7-logs
type: elasticsearch
@@ -205,7 +205,7 @@ datasources:
jsonData:
interval: Daily
timeField: "@timestamp"
esVersion: 70
esVersion: 7.10.0
- name: gdev-elasticsearch-v7-filebeat
type: elasticsearch
@@ -215,7 +215,7 @@ datasources:
jsonData:
interval: Daily
timeField: "@timestamp"
esVersion: 70
esVersion: 7.10.0
timeInterval: "10s"
logMessageField: message
logLevelField: fields.level
@@ -228,7 +228,7 @@ datasources:
jsonData:
interval: Daily
timeField: "@timestamp"
esVersion: 70
esVersion: 7.10.0
timeInterval: "10s"
- name: gdev-mysql

View File

@@ -0,0 +1,76 @@
{
"__inputs": [],
"__elements": [],
"__requires": [
{
"type": "grafana",
"id": "grafana",
"name": "Grafana",
"version": "8.4.0-pre"
},
{
"type": "panel",
"id": "text",
"name": "Text",
"version": ""
}
],
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"target": {
"limit": 100,
"matchAny": false,
"tags": [],
"type": "dashboard"
},
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"liveNow": false,
"panels": [
{
"gridPos": {
"h": 9,
"w": 12,
"x": 0,
"y": 0
},
"id": 2,
"options": {
"mode": "markdown",
"content": "VariableUnderTest: $VariableUnderTest"
},
"pluginVersion": "8.4.0-pre",
"title": "Panel Title",
"type": "text"
}
],
"schemaVersion": 35,
"style": "dark",
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "Test variable output",
"uid": "kVi2Gex7z",
"version": 2,
"weekStart": ""
}

View File

@@ -1042,6 +1042,10 @@
"type": "timeseries"
},
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"fieldConfig": {
"defaults": {
"color": {
@@ -1143,6 +1147,10 @@
"type": "timeseries"
},
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"fieldConfig": {
"defaults": {
"color": {
@@ -1222,6 +1230,95 @@
],
"title": "Always show points between gaps",
"type": "timeseries"
},
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineStyle": {
"fill": "solid"
},
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 7,
"x": 7,
"y": 22
},
"id": 16,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"targets": [
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"refId": "A",
"scenarioId": "csv_metric_values",
"stringInput": ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,60,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,61,,,,,,60,,,,,,,,,,,,,,,,,,61,,,,,,60,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,61,,,,,,60,,,,,,59,,,,,,60,,,,,,,59,,,,,,,,,,,,,,,,,,,,,,,,58,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,57,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,56,,,,,,57,,,,,,56,,,,,,57,,,,,,,,,,,,56,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,56,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,54,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,53,,,,,54,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,56,,,,,,,,,,,,,,,,,,55,,,,,,56,,,,,,,,,,,,57,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,56,,,,,,57,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,56,,,,,,,,,,,,57,,,,,,,58,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,57,,,,,,,,,,,,,,,,,,,58,,,,,,59,,,,,,58,,,,,,,,,,,,,,,,,,,,,,,,57,,,,,,58,,,,,,,,,,,,,,,,,,,59,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,60,,,,,,,,,,,,61,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,62,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,61,,,,,,,,,,,,,,,,,,60,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,59,,,,,,60,,,,,,59,,,,,,60,,,,,,,,,,,,,,,,,,,,,,,,,59,,,,,,,,,,,,,,,,,60,,,,,,,,,,,,,59,,,,,,60,,,,,,,,,,,,59,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,58,,,,,,59,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,58,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,57,,,,,,58,,,,,,57,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,56,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,55,,,,,,56,,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,54,,,,,,53,,,,,,,,,,,,,,,,,,,52,,,,,,,,,,,51,,,,,,,,,,,,,,,,,,,,,,,,,52,,,,,,,54,,,,,,55,,,,,,56,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,57,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,58,,,,,,,,,,,,,,,,,,59,,,,,,,,,,,,,,,,,,60,,,,,,,,,,,,61,,,,,,,,,,,,,,,,,,,,,,,,60,,,,,,61,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,62,,,,,,61,,,,,,62,,,,,,61,,,,,,62,,,,,,,,,,,,,,,,,,,63,,,,,,,,,,,,,,,,,,,,,,,,64,,,,,,63,,,,,,64,,,,,,63,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,62,,,,,,,,,,,,,,,,,,,61,,,,,,,,,,,,62,,,,,,,,,,,,,,,,,,,,,,,,,63,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,64,,,,,,,,,,,,63,,,,,,,,,,,,,62,,,,,,,,,,,,,,,,,,,,"
}
],
"title": "Always show points between gaps",
"type": "timeseries"
}
],
"schemaVersion": 33,

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -3,7 +3,7 @@ package main
import (
"fmt"
"io"
"io/ioutil"
"io/ioutil" //nolint:staticcheck // No need to change in v8.
"log"
"net/http"
"strings"
@@ -25,5 +25,6 @@ func hello(w http.ResponseWriter, r *http.Request) {
func main() {
http.HandleFunc("/", hello)
//nolint:gosec
log.Fatal(http.ListenAndServe(":3010", nil))
}

View File

@@ -1,7 +1,7 @@
# You need to run 'sysctl -w vm.max_map_count=262144' on the host machine
elasticsearch7:
image: docker.elastic.co/elasticsearch/elasticsearch-oss:7.0.0
image: docker.elastic.co/elasticsearch/elasticsearch-oss:7.10.2
command: elasticsearch -E "discovery.type=single-node"
ports:
- "12200:9200"
@@ -17,7 +17,7 @@
FD_PORT: 9200
filebeat7:
image: docker.elastic.co/beats/filebeat-oss:7.0.0
image: docker.elastic.co/beats/filebeat-oss:7.17.0
command: filebeat -e -strict.perms=false
volumes:
- ./docker/blocks/elastic7/filebeat.yml:/usr/share/filebeat/filebeat.yml:ro
@@ -25,7 +25,7 @@
- ../data/log:/var/log/grafana:ro
metricbeat7:
image: docker.elastic.co/beats/metricbeat-oss:7.0.0
image: docker.elastic.co/beats/metricbeat-oss:7.17.0
command: metricbeat -e -strict.perms=false
user: root
volumes:

View File

@@ -7,7 +7,7 @@
promtail:
image: grafana/promtail:latest
volumes:
- ./docker/blocks/loki/config.yaml:/etc/promtail/docker-config.yaml
- ./docker/blocks/loki/promtail-config.yaml:/etc/promtail/docker-config.yaml
- /var/log:/var/log
- ../data/log:/var/log/grafana
command:

View File

@@ -4,6 +4,12 @@
- "9090:9090"
extra_hosts:
- "host.docker.internal:host-gateway"
command: >
--enable-feature=remote-write-receiver
--config.file=/etc/prometheus/prometheus.yml
--storage.tsdb.path=/prometheus
--web.console.libraries=/usr/share/prometheus/console_libraries
--web.console.templates=/usr/share/prometheus/consoles
node_exporter:
image: prom/node-exporter

View File

@@ -37,3 +37,8 @@ scrape_configs:
- job_name: 'prometheus-random-data'
static_configs:
- targets: ['prometheus-random-data:8080']
# - job_name: 'grafana-test-datasource'
# metrics_path: /metrics/plugins/grafana-test-datasource
# static_configs:
# - targets: ['host.docker.internal:3000']

View File

@@ -47,5 +47,6 @@ func main() {
proxy.ServeHTTP(w, r)
})
//nolint:gosec
log.Fatal(http.ListenAndServe(":3011", nil))
}

View File

@@ -24,7 +24,7 @@ services:
MYSQL_PASSWORD: password
command: [mysqld, --character-set-server=utf8mb4, --collation-server=utf8mb4_unicode_ci, --innodb_monitor_enable=all, --max-connections=1001]
ports:
- 3306
- "3306:3306"
healthcheck:
test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"]
timeout: 10s
@@ -47,7 +47,7 @@ services:
# POSTGRES_USER: grafana
# POSTGRES_PASSWORD: password
# ports:
# - 5432
# - "5432:5432"
# healthcheck:
# test: ["CMD-SHELL", "pg_isready -d grafana -U grafana"]
# timeout: 10s
@@ -66,13 +66,9 @@ services:
- GF_DATABASE_TYPE=mysql
- GF_DATABASE_HOST=db:3306
- GF_DATABASE_MAX_OPEN_CONN=300
- GF_SESSION_PROVIDER=mysql
- GF_SESSION_PROVIDER_CONFIG=grafana:password@tcp(db:3306)/grafana?allowNativePasswords=true
# - GF_DATABASE_TYPE=postgres
# - GF_DATABASE_HOST=db:5432
# - GF_DATABASE_SSL_MODE=disable
# - GF_SESSION_PROVIDER=postgres
# - GF_SESSION_PROVIDER_CONFIG=user=grafana password=password host=db port=5432 dbname=grafana sslmode=disable
- GF_SERVER_ROUTER_LOGGING=true
- GF_LOG_CONSOLE_FORMAT=json
- GF_LOG_FILTERS=alerting.notifier:debug,alerting.notifier.slack:debug,auth:debug

View File

@@ -10,7 +10,7 @@ Yarn >= 1.22.4
## Build the doc site
1. On the command line, first change to the docs folder: `cd docs`.
1. Run `make docs-quick`. This launches a preview of the website with the current grafana docs at `http://localhost:3002/docs/grafana/next/` which will refresh automatically when changes are made to content in the `sources` directory.
1. Run `make docs`. This launches a preview of the website with the current grafana docs at `http://localhost:3002/docs/grafana/next/` which will refresh automatically when changes are made to content in the `sources` directory.
If you have the grafana/website repo checked out in the same directory as the grafana repo, then you can run `make docs-local-static` to use local assets (such as images).

View File

@@ -1,9 +1,15 @@
+++
title = "Grafana documentation"
description = "Guides, Installation and Feature Documentation"
keywords = ["grafana", "installation", "documentation"]
aliases = ["/docs/grafana/v1.1", "/docs/grafana/latest/guides/reference/admin", "/docs/grafana/v3.1"]
+++
---
aliases:
- /docs/grafana/v1.1/
- /docs/grafana/v3.1/
- guides/reference/admin/
description: Guides, Installation and Feature Documentation
keywords:
- grafana
- installation
- documentation
title: Grafana documentation
---
# Grafana documentation

View File

@@ -1,8 +1,8 @@
+++
title = "Administration"
description = "Administration"
weight = 40
+++
---
description: Administration
title: Administration
weight: 40
---
# Administration
@@ -12,3 +12,4 @@ This section includes information for Grafana administrators, team administrator
- [Configuration]({{< relref "configuration" >}})
- [Configure Docker image]({{< relref "configure-docker" >}})
- [Security]({{< relref "security" >}})
- [Service accounts]({{< relref "service-accounts" >}})

View File

@@ -0,0 +1,17 @@
---
description: This section contains information about API keys in Grafana
keywords:
- API keys
- Service accounts
menuTitle: API keys
title: API keys in Grafana
weight: 300
---
# API keys in Grafana
API Keys can be used to interact with Grafana HTTP APIs.
We recommend using service accounts instead of API keys if you are on Grafana 8.5+, for more information refer to [About service accounts]({{< relref "../service-accounts/about-service-accounts.md#">}}).
{{< section >}}

View File

@@ -0,0 +1,12 @@
---
description: Learn about using API keys in Grafana
menuTitle: About API keys
title: About API keys in Grafana
weight: 30
---
# About API keys in Grafana
An API key is a randomly generated string that external systems use to interact with Grafana HTTP APIs.
When you create an API key, you specify a **Role** that determines the permissions associated with the API key. Role permissions control that actions the API key can perform on Grafana resources. For more information about creating API keys, refer to [Create an API key]({{< relref "./create-api-key.md#">}}).

View File

@@ -0,0 +1,34 @@
---
description: How to create an API key in Grafana
keywords:
- API keys
- Service accounts
menuTitle: Create an API key
title: Create an API key in Grafana
weight: 50
---
# Create an API key in Grafana
Create an API key when you want to manage your computed workload with a user.
For more information about API keys, refer to [About API keys in Grafana]({{< relref "./about-api-keys.md">}}).
This topic shows you how to create an API key using the Grafana UI. You can also create an API key using the Grafana HTTP API. For more information about creating API keys via the API, refer to [Create API key via API]({{< relref "../../http_api/create-api-tokens-for-org.md#how-to-create-a-new-organization-and-an-api-token">}}).
## Before you begin:
- Ensure you have permission to create and edit API keys. For more information about permissions, refer to [About users and permissions]({{< relref "../manage-users-and-permissions/about-users-and-permissions.md#">}}).
**To create an API key:**
1. Sign in to Grafana, hover your cursor over **Configuration** (the gear icon), and click **API Keys**.
1. Click **New API key**.
1. Enter a unique name for the key.
1. In the **Role** field, select one of the following access levels you want to assign to the key.
- **Admin**: Enables a user to use APIs at the broadest, most powerful administrative level.
- **Editor** or **Viewer** to limit the key's users to those levels of power.
1. In the **Time to live** field, specify how long you want the key to be valid.
- The maximum length of time is 30 days (one month). You enter a number and a letter. Valid letters include `s` for seconds,`m` for minutes, `h` for hours, `d `for days, `w` for weeks, and `M `for month. For example, `12h` is 12 hours and `1M` is 1 month (30 days).
- If you are unsure about how long an API key should be valid, we recommend that you choose a short duration, such as a few hours. This approach limits the risk of having API keys that are valid for a long time.
1. Click **Add**.

View File

@@ -1,9 +1,13 @@
+++
title = "Grafana CLI"
description = "Guide to using grafana-cli"
keywords = ["grafana", "cli", "grafana-cli", "command line interface"]
weight = 400
+++
---
description: Guide to using grafana-cli
keywords:
- grafana
- cli
- grafana-cli
- command line interface
title: Grafana CLI
weight: 400
---
# Grafana CLI

View File

@@ -1,10 +1,14 @@
+++
title = "Configuration"
description = "Configuration documentation"
keywords = ["grafana", "configuration", "documentation"]
aliases = ["/docs/grafana/latest/installation/configuration/"]
weight = 150
+++
---
aliases:
- ../installation/configuration/
description: Configuration documentation
keywords:
- grafana
- configuration
- documentation
title: Configuration
weight: 150
---
# Configuration
@@ -14,7 +18,7 @@ Grafana has default and custom configuration files. You can customize your Grafa
## Configuration file location
The default settings for a Grafana instance are stored in the `$WORKING_DIR/conf/defaults.ini` file. _Do not_ change the location in this file.
The default settings for a Grafana instance are stored in the `$WORKING_DIR/conf/defaults.ini` file. _Do not_ change this file.
Depending on your OS, your custom configuration file is either the `$WORKING_DIR/conf/defaults.ini` file or the `/usr/local/etc/grafana/grafana.ini` file. The custom configuration file path can be overridden using the `--config` parameter.
@@ -135,6 +139,10 @@ Options are `production` and `development`. Default is `production`. _Do not_ ch
Set the name of the grafana-server instance. Used in logging, internal metrics, and clustering info. Defaults to: `${HOSTNAME}`, which will be replaced with
environment variable `HOSTNAME`, if that is empty or does not exist Grafana will try to use system calls to get the machine name.
### force_migration
Force migration will run migrations that might cause data loss. Default is `false`.
<hr />
## [paths]
@@ -202,6 +210,8 @@ Another way is to put a web server like Nginx or Apache in front of Grafana and
### domain
This setting is only used in as a part of the `root_url` setting (see below). Important if you use GitHub or Google OAuth.
### enforce_domain
Redirect to correct domain if the host header does not match the domain. Prevents DNS rebinding attacks. Default is `false`.
@@ -314,6 +324,10 @@ The maximum number of open connections to the database.
Sets the maximum amount of time a connection may be reused. The default is 14400 (which means 14400 seconds or 4 hours). For MySQL, this setting should be shorter than the [`wait_timeout`](https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_wait_timeout) variable.
### locking_attempt_timeout_sec
For "mysql", if `lockingMigration` feature toggle is set, specify the time (in seconds) to wait before failing to lock the database for the migrations. Default is 0.
### log_queries
Set to `true` to log the sql calls and execution times.
@@ -357,6 +371,8 @@ Defaults to `private`.
## [remote_cache]
Caches authentication details and session information in the configured database, Redis or Memcached. This setting does not configure [Query Caching in Grafana Enterprise]({{< relref "../enterprise/query-caching.md" >}}).
### type
Either `redis`, `memcached`, or `database`. Defaults to `database`
@@ -453,7 +469,13 @@ value is `true`.
### check_for_updates
Set to false to disable all checks to https://grafana.com for new versions of installed plugins and to the Grafana GitHub repository to check for a newer version of Grafana. The version information is used in some UI views to notify that a new Grafana update or a plugin update exists. This option does not cause any auto updates, nor send any sensitive information. The check is run every 10 minutes.
Set to false, disables checking for new versions of Grafana from Grafana's GitHub repository. When enabled, the check for a new version runs every 10 minutes. It will notify, via the UI, when a new version is available. The check itself will not prompt any auto-updates of the Grafana software, nor will it send any sensitive information.
### check_for_plugin_updates
> **Note**: Available in Grafana v8.5.0 and later versions.
Set to false disables checking for new versions of installed plugins from https://grafana.com. When enabled, the check for a new plugin runs every 10 minutes. It will notify, via the UI, when a new plugin update exists. The check itself will not prompt any auto-updates of the plugin, nor will it send any sensitive information.
### google_analytics_ua_id
@@ -495,6 +517,10 @@ If you want to track Grafana usage via Azure Application Insights, then specify
<hr />
### enable_feedback_links
If set to false will remove all feedback links from the UI. Defaults to true.
## [security]
### disable_initial_admin_creation
@@ -578,6 +604,21 @@ Set Content Security Policy template used when adding the Content-Security-Polic
<hr />
### angular_support_enabled
This currently defaults to `true` but will default to `false` in a future release. When set to false the angular framework and support components will not be loaded. This means that
all plugins and core features that depend on angular support will stop working.
Current core features that will stop working:
- Heatmap panel
- Old graph panel
- Old table panel
- Postgres, MySQL and MSSQL data source query editors
- Legacy alerting edit rule UI
Before we disable angular support by default we plan to migrate these remaining areas to React.
## [snapshots]
### external_enabled
@@ -631,7 +672,7 @@ Path to the default home dashboard. If this value is empty, then Grafana uses St
Set to `false` to prohibit users from being able to sign up / create
user accounts. Default is `false`. The admin user can still create
users from the [Grafana Admin Pages]({{< relref "../manage-users/server-admin/server-admin-manage-users.md" >}}).
users. For more information about creating a user, refer to [Add a user]({{< relref "../administration/manage-users-and-permissions/manage-server-users/add-user.md" >}}).
### allow_org_create
@@ -747,6 +788,12 @@ This setting is ignored if multiple OAuth providers are configured. Default is `
How many seconds the OAuth state cookie lives before being deleted. Default is `600` (seconds)
Administrators can increase this if they experience OAuth login state mismatch errors.
### oauth_skip_org_role_update_sync
Skip forced assignment of OrgID `1` or `auto_assign_org_id` for external logins. Default is `false`.
Use this setting to distribute users with external login to multiple organizations.
Otherwise, the users' organization would get reset on every new login, for example, via AzureAD.
### api_key_max_seconds_to_live
Limit of API key seconds to live before expiration. Default is -1 (unlimited).
@@ -757,6 +804,12 @@ Limit of API key seconds to live before expiration. Default is -1 (unlimited).
Set to `true` to enable the AWS Signature Version 4 Authentication option for HTTP-based datasources. Default is `false`.
### sigv4_verbose_logging
> Only available in Grafana 8.4+.
Set to `true` to enable verbose request signature logging when AWS Signature Version 4 Authentication is enabled. Default is `false`.
<hr />
## [auth.anonymous]
@@ -1310,6 +1363,22 @@ For more information about this feature, refer to [Explore]({{< relref "../explo
Enable or disable the Explore section. Default is `enabled`.
## [help]
Configures the help section.
### enabled
Enable or disable the Help section. Default is `enabled`.
## [profile]
Configures the Profile section.
### enabled
Enable or disable the Profile section. Default is `enabled`.
## [metrics]
For detailed instructions, refer to [Internal Grafana metrics]({{< relref "view-server/internal-metrics.md" >}}).

View File

@@ -1,10 +1,15 @@
+++
title = "Configure Grafana Docker image"
description = "Guide for configuring the Grafana Docker image"
keywords = ["grafana", "configuration", "documentation", "docker"]
aliases = ["/docs/grafana/latest/installation/configure-docker/"]
weight = 200
+++
---
aliases:
- ../installation/configure-docker/
description: Guide for configuring the Grafana Docker image
keywords:
- grafana
- configuration
- documentation
- docker
title: Configure Grafana Docker image
weight: 200
---
# Configure a Grafana Docker image

View File

@@ -1,10 +1,14 @@
+++
title = "Database encryption"
description = "Grafana database encryption"
keywords = ["grafana", "database", "encryption", "envelope encryption", "documentation"]
aliases = [""]
weight = 450
+++
---
description: Grafana database encryption
keywords:
- grafana
- database
- encryption
- envelope encryption
- documentation
title: Database encryption
weight: 450
---
# Grafana database encryption

View File

@@ -1,9 +1,12 @@
+++
title = "Jaeger instrumentation"
description = "Jaeger traces emitted and propagation by Grafana"
keywords = ["grafana", "jaeger", "tracing"]
weight = 900
+++
---
description: Jaeger traces emitted and propagation by Grafana
keywords:
- grafana
- jaeger
- tracing
title: Jaeger instrumentation
weight: 900
---
# Jaeger instrumentation

View File

@@ -0,0 +1,119 @@
---
aliases:
- ../manage-users/server-admin/
- ../manage-users/server-admin/server-admin-manage-orgs/
description: Describes how to use organizations to isolate dashboard to users and
teams.
keywords:
- organizations
- dashboards
menuTitle: Manage organizations
title: Manage organizations
weight: 300
---
# Manage organizations
This topic describes what organizations are, and how to create, edit, and delete them.
## About organizations
An organization is an entity that helps you isolate users and resources such as dashboards, annotations, and data sources from each other. Their purpose is to provide completely separate experiences, which look like multiple instances of Grafana, within a single instance. Multiple organizations are easier and cheaper to manage than multiple instances of Grafana.
Users, configuration settings, and Grafana Enterprise licenses are shared between organizations. Other resources, like dashboards, data sources, annotations, folders, Teams, and Alerts, are isolated within each organization and cannot be easily shared with another organization.
The following table summarizes the resources you can share and/or isolate using organizations.
| Resource | Mode |
| ------------------------ | ---------------- |
| Users | Share or isolate |
| Folders | Isolate only |
| Dashboards | Isolate only |
| Data sources | Isolate only |
| Alerts | Isolate only |
| Notification channels | Isolate only |
| Annotations | Isolate only |
| Reports | Isolate only |
| API keys | Isolate only |
| Authentication providers | Share only |
| Configuration settings | Share only |
| Licenses | Share |
The member of one organization cannot view dashboards assigned to another organization. However, a user can belong to multiple organizations.
Grafana Server Administrators are responsible for creating organizations. For more information about the Grafana Server Administrator role, refer to [Grafana server administrators]({{< relref "../manage-users-and-permissions/about-users-and-permissions.md#Grafana server administrators" >}}).
## View a list of organizations
Complete this task when you want to view a list of existing organizations.
### Before you begin
- Ensure that you have Grafana Server Administrator permissions
**To view a list of organizations:**
1. Sign in to Grafana as a server administrator.
1. Hover your cursor over the **Server Admin** (shield) icon until a menu appears, and click **Orgs**.
A list of organizations appears.
![Server Admin organization list](/static/img/docs/manage-users/server-org-list-7-3.png)
## Create an organization
Create an organization when you want to isolate dashboards and other resources from each other.
### Before you begin
- Ensure that you have Grafana Server Administrator permissions
**To create an organization:**
1. Sign in to Grafana as a server administrator.
1. Hover your cursor over the **Server Admin** (shield) icon until a menu appears, and click **Orgs**.
1. Click **+ New org**.
1. Enter the name of the new organization and click **Create**.
Grafana creates the organization and adds you as the organization administrator.
1. On the **Preferences** tab, select a home dashboard, time zone, and week start.
For more information about preferences, refer to [Preferences]({{< relref "../preferences/_index.md" >}}).
For more information about adding users to an organization, refer to [Add a user to an organization]({{< relref "../manage-users-and-permissions/manage-server-users/add-remove-user-to-org.md" >}}).
## Delete an organization
This action permanently removes an organization from your Grafana server.
> **Warning:** Deleting the organization also deletes all teams and dashboards associated the organization.
### Before you begin
- Ensure that you have Grafana Server Administrator permissions
- Because the delete action removes all teams and dashboards associated with the organization, ensure that the users who rely on the organization dashboards are aware of the change
**To delete an organization:**
1. Sign in to Grafana as a server administrator.
1. Hover your cursor over the **Server Admin** (shield) icon until a menu appears, and click **Orgs**.
1. Click the red **X** next to the organization that you want to delete.
1. Click **Delete**.
## Edit an organization
Edit an organization when you want to change its name.
### Before you begin
- Ensure that you have Grafana Server Administrator permissions
**To edit an organization:**
1. Sign in to Grafana as a server administrator.
1. Hover your cursor over the **Server Admin** (shield) icon until a menu appears, and click **Orgs**.
1. Click the organization you want to edit.
1. Update the organization name and click **Update**.
![Server admin Edit Organization](/static/img/docs/manage-users/server-admin-edit-org-7-3.png)

View File

@@ -0,0 +1,105 @@
---
aliases:
- change-your-password/
description: Learn how to update your user preferences and switch organizations
keywords:
- password
- change
- organization
- change
title: Manage user preferences
weight: 400
---
# Manage user preferences
Grafana allows you to manage certain aspects of your user account, including your user name, email, and password.
You can also view important information about your account, such as the organizations and roles to which you are assigned and the Grafana sessions associated with your account.
## Change your Grafana password
You can change your Grafana password at any time.
> **Note**: If your Grafana instance uses an <!--[external authentication provider]({{< relref "../../auth/_index.md">}})--> external authentication provider, then you might not be able to change your password in Grafana. Contact your Grafana administrator for more information.
**To change your password**:
1. Sign in to Grafana.
1. Hover your mouse over the user icon in the lower-left corner of the page.
1. Click **Change Password**.
Grafana opens the **Change Password** tab.
1. Enter your old password and a new password.
1. Confirm your new password.
1. Click **Change Password**.
## Edit your profile
Your profile includes your name, user name, and email address, which you can update.
**To edit your profile**:
1. Sign in to Grafana.
1. Hover your cursor over the user icon in the lower-left corner of the page and click **Preferences**.
1. In the **Edit Profile** section, update your profile and click **Save**.
## Edit your preferences
You can choose the way you would like data to appear in Grafana, including the UI theme, home dashboard, timezone, and first day of the week. You can set these preferences for your own account, for a team, for an organization, or Grafana-wide using configuration settings. Your user preferences take precedence over team, organization, and Grafana default preferences. For more information, see [Grafana preferences]({{< relref "../../administration/preferences/_index.md">}}).
- **UI theme** determines whether Grafana appears in light mode or dark mode. By default, UI theme is set to dark mode.
- **Home dashboard** refers to the dashboard you see when you sign in to Grafana. By default, this is set to the Home dashboard.
- **Timezone** is used by dashboards when you set time ranges, so that you view data in your timezone instead of UTC.
- **Week start** is the first day of the week you want to use in dashboard time ranges, for example, `This week`.
**To edit your preferences**:
1. Sign in to Grafana.
1. Hover your cursor over the user icon in the lower-left corner of the page, and click **Preferences**.
1. Update any of the values in the **Preferences** section.
1. Click **Save** at the bottom of the Preferences section.
## Switch organizations
When you sign in to Grafana, the system signs you in to a default organization. If you are assigned to multiple organizations, then you might need to switch organizations. For example, if you need to view a dashboard not associated with your current organization, then you should switch organizations to view associated dashboards.
**To switch organizations**:
1. Sign in to Grafana.
1. Hover your cursor over the user icon in the lower-left corner of the page and click **Switch organization**.
1. Next to the organization that you want to sign in to, click **Switch to**.
## View your assigned organizations
Every user is a member of at least one organization. You can have different roles in each organization of which you are a member.
**To view your assigned organizations**:
1. Sign in to Grafana.
1. Hover your cursor over the user icon in the lower-left corner of the page and click **Preferences**.
1. Scroll down to the **Organizations** section and review the following information:
- **Name**: The name of the organizations of which you are a member.
- **Role**: The role to which you are assigned in the organization. For more information about roles and permissions, refer to [Organization users and permissions]({{< relref "../../administration/manage-users-and-permissions/about-users-and-permissions.md#organization-users-and-permissions" >}}).
- **Current**: Grafana indicates the organization that you are currently signed into as _Current_. If you are a member of multiple organizations, you can click **Select** to switch to that organization.
## View your Grafana sessions
Grafana logs your sessions in each Grafana instance. You can review this section if you suspect someone has misused your Grafana credentials.
**To view your Grafana sessions**:
1. Sign in to Grafana.
1. Hover your cursor over the user icon in the lower-left corner of the page, and click **Preferences**.
1. Scroll down to the **Sessions** section.
## Sign out a user session
You can sign out other sessions using your account in order to prevent other people from accessing Grafana using your credentials.
**To sign out one of your Grafana sessions**:
1. Sign in to Grafana.
1. Hover your cursor over the user icon in the lower-left corner of the page, and click **Preferences**.
1. Scroll down to the **Sessions** section.
1. Click the red "sign out" icon next to the session you would like to sign out.

View File

@@ -0,0 +1,12 @@
---
title: Manage users and permissions
weight: 200
---
# Manage users and permissions
A _user_ is defined as any individual who can log in to Grafana. Each user is associated with a _role_ that includes _permissions_. Permissions determine the tasks a user can perform in the system. For example, the **Admin** role includes permissions for an administrator to create and delete users.
The following topics describe how to use permissions to control user access to data sources, dashboards, users, and teams.
{{< section >}}

View File

@@ -0,0 +1,156 @@
---
aliases:
- ../../manage-users/
- ../../permissions/
- ../../permissions/organization_roles/
- ../../permissions/overview/
title: About users and permissions
weight: 100
---
# About users and permissions
A _user_ is defined as any individual who can log in to Grafana. Each user is associated with a _role_ that includes _permissions_. Permissions determine the tasks a user can perform in the system. For example, the **Admin** role includes permissions for an administrator to create and delete users.
You can assign a user one of three types of permissions:
- Grafana server administrator permissions: Manage Grafana server-wide settings and resources
- Organization permissions: Manage access to dashboards, alerts, plugins, teams, playlists, and other resources for an entire organization. The available roles are Viewer, Editor, and Admin.
- Dashboard and folder permission: Manage access to dashboards and folders
> **Note**: If you are running Grafana Enterprise, you can also control access to data sources and use fine-grained access control to grant read and write permissions for specific resources. For more information about access control options available with Grafana Enterprise, refer to [Grafana Enterprise user permissions features](#grafana-enterprise-user-permissions-features).
## Grafana server administrators
A Grafana server administrator manages server-wide settings and access to resources such as organizations, users, and licenses. Grafana includes a default server administrator that you can use to manage all of Grafana, or you can divide that responsibility among other server administrators that you create.
A server administrator can perform the following tasks:
- Manage users and permissions
- Create, edit, and delete organizations
- View server-wide settings defined in the [Configuration]({{< relref "../../administration/configuration.md" >}}) file
- View Grafana server statistics, including total users and active sessions
- Upgrade the server to Grafana Enterprise.
> **Note:** The server administrator role does not exist in Grafana Cloud.
## Organization users and permissions
All Grafana users belong to at least one organization. An organization is an entity that exists within your instance of Grafana.
Permissions assigned to a user within an organization control the extent to which the user has access to and can update the following organization resources:
- dashboards and folders
- alerts
- playlists
- users within that organization
- data sources
- teams
- organization and team settings
- plugins
- annotations
- library panels
- API keys
### Organization roles
Organization role-based permissions are global, which means that each permission level applies to all Grafana resources within an given organization. For example, an editor can see and update _all_ dashboards in an organization, unless those dashboards have been specifically restricted using [dashboard permissions]({{< relref "manage-dashboard-permissions/_index.md">}}).
Grafana uses the following roles to control user access:
- **Organization administrator**: Has access to all organization resources, including dashboards, users, and teams.
- **Editor**: Can view and edit dashboards, folders, and playlists.
- **Viewer**: Can view dashboards and playlists.
The following table lists permissions for each role.
| Permission | Organization administrator | Editor | Viewer |
| :----------------------------- | :------------------------: | :----: | :----: |
| View dashboards | x | x | x |
| Add, edit, delete dashboards | x | x | |
| Add, edit, delete folders | x | x | |
| View playlists | x | x | x |
| Add, edit, delete playlists | x | x | |
| Create library panels | x | x | |
| View annotations | x | x | x |
| Add, edit, delete annotations | x | x | |
| Access Explore | x | x | |
| Add, edit, delete data sources | x | | |
| Add and edit users | x | | |
| Add and edit teams | x | | |
| Change organizations settings | x | | |
| Change team settings | x | | |
| Configure application plugins | x | | |
## Dashboard permissions
When you want to extend a viewer's ability to edit and save dashboard changes or limit an editor's permission to modify a dashboard, you can assign permissions to dashboards and dashboard folders. For example, you might want a certain viewer to be able to to edit a dashboard. While that user can _see_ all dashboards, you can grant them access to _update_ only one of them.
> Important: The dashboard permissions you specify override the organization permissions you assign to the user for the selected entity.
You can specify the following permissions to dashboards and folders.
- **Admin**: Can create, edit, or delete a dashboard or folder. Administrators can also change dashboard and folder permissions.
- **Edit**: Can create and edit dashboards. Editors _cannot_ change folder or dashboard permissions, or add, edit, or delete folders.
- **View**: Can only view dashboards and folders.
For more information about assigning dashboard folder permissions, refer to [Grant dashboard folder permissions]({{< relref "./manage-dashboard-permissions/_index.md#grant-dashboard-folder-permissions" >}}).
For more information about assigning dashboard permissions, refer to [Grant dashboard permissions]({{< relref "./manage-dashboard-permissions/_index.md#grant-dashboard-permissions" >}}).
## Editors with administrator permissions
If you have access to the Grafana server, you can modify the default editor role so that editors can use administrator permissions to manage dashboard folders, dashboards, and teams that they create.
> **Note**: This permission does not allow editors to manage folders, dashboards, and teams that they do not create.
This setting can be used to enable self-organizing teams to administer their own dashboards.
For more information about assigning administrator permissions to editors, refer to [Grant editors administrator permissions]({{< relref "./manage-server-users/grant-editor-admin-permissions.md" >}}).
## Viewers with dashboard preview and Explore permissions
If you have access to the Grafana server, you can modify the default viewer role so that viewers can:
- Edit and preview dashboards, but cannot save their changes or create new dashboards.
- Access and use [Explore]({{< relref "../../explore/_index.md" >}}).
Extending the viewer role is useful for public Grafana installations where you want anonymous users to be able to edit panels and queries, but not be able to save or create new dashboards.
For more information about assigning dashboard preview permissions to viewers, refer to [Enable viewers to preview dashboards and use Explore]({{< relref "./manage-dashboard-permissions/_index.md#enable-viewers-to-preview-dashboards-and-use-explore" >}}).
## Teams and permissions
A team is a group of users within an organization that have common dashboard and data source permission needs. For example, instead of assigning five users access to the same dashboard, you can create a team that consists of those users and assign dashboard permissions to the team. A user can belong to multiple teams.
You can assign a team member one of the following permissions:
- **Member**: Includes the user as a member of the team. Members do not have team administrator privileges.
- **Admin**: Administrators have permission to manage various aspects of the team, including team membership, permissions, and settings.
Because teams exist inside an organization, the organization administrator can manage all teams. When the `editors_can_admin` setting is enabled, editors can create teams and manage teams that they create. For more information about the `editors_can_admin` setting, refer to [Grant editors administrator permissions]({{< relref "./manage-server-users/grant-editor-admin-permissions.md" >}}).
## Grafana Enterprise user permissions features
While Grafana OSS includes a robust set of permissions and settings that you can use to manage user access to server and organization resources, you might find that you require additional capabilities.
Grafana Enterprise provides the following permissions-related features:
- Data source permissions
- Fine-grained access control
### Data source permissions
By default, a user can query any data source in an organization, even if the data source is not linked to the user's dashboards.
Data source permissions enable you to restrict data source query permissions to specific **Users** and **Teams**. For more information about assigning data source permissions, refer to [Data source permissions]({{< relref "../../enterprise/datasource_permissions.md" >}}).
### Fine-grained access control
Fine-grained access control provides you a way of granting, changing, and revoking user read and write access to Grafana resources, such as users, reports, and authentication.
For more information about fine-grained access control, refer to [Fine-grained access control]({{< relref "../../enterprise/access-control" >}}).
### Learn more
Want to know more? Complete the [Create users and teams](https://grafana.com/tutorials/create-users-and-teams) tutorial to learn how to set up users and teams.

View File

@@ -0,0 +1,144 @@
---
aliases:
- ../../permissions/dashboard_folder_permissions/
title: Manage dashboard permissions
weight: 500
---
# Manage dashboard permissions
Dashboard and dasboard folder permissions enable you to grant a viewer the ability to edit and save dashboard changes, or limit an editor's permission to modify a dashboard.
For more information about dashboard permissions, refer to [Dashboard permissions]({{< relref "../about-users-and-permissions/#dashboard-permissions">}}).
## Grant dashboard folder permissions
When you grant user permissions for folders, that setting applies to all dashboards contained in the folder. Consider using this approach to assigning dashboard permissions when you have users or teams who require access to groups of related dashboards.
### Before you begin
- Ensure you have organization administrator privileges
- Identify the dashboard folder permissions you want to modify and the users or teams to which you want to grant access. For more information about dashboard permissions, refer to [Dashboard permissions]({{< relref "../about-users-and-permissions/#dashboard-permissions">}}).
**To grant dashboard folder permissions**:
1. Sign in to Grafana as an organization administrator.
2. In the sidebar, hover your mouse over the **Dashboards** (squares) icon and click **Browse**.
3. Hover your mouse cursor over a folder and click **Go to folder**.
4. Click the **Permissions** tab, and then click **Add Permission**.
5. In the **Add Permission For** dropdown menu, select **User**, **Team**, or one of the role options.
6. Select the user or team.
If you select a role option, you do not select a user or team.
7. Select the permission and click **Save**.
## Grant dashboard permissions
When you grant dashboard folder permissions, that setting applies to all dashboards in the folder. For a more granular approach to assigning permissions, you can also assign user permissions to individual dashboards.
For example, if a user with the viewer organization role requires editor (or admin) access to a dashboard, you can assign those elevated permissions on an individual basis.
> **Note**: If you have assigned a user dashboard folder permissions, you cannot also assign the user permission to dashboards contained in the folder.
Grant dashboard permissions when you want to restrict or enhance dashboard access for users who do not have permissions defined in the associated dashboard folder.
### Before you begin
- Ensure you have organization administrator privileges
- Identify the dashboard permissions you want to modify and the users or teams to which you want to grant access
**To grant dashboard permissions**:
1. Sign in to Grafana as an organization administrator.
1. In the sidebar, hover your mouse over the **Dashboards** (squares) icon and click **Browse**.
1. Open a dashboard.
1. In the top right corner of the dashboard, click **Dashboard settings** (the cog icon).
1. Click **Permissions** and then click **Add Permission**.
1. In the **Add Permission For** dropdown menu, select **User** or **Team**.
1. Select the user or team.
1. Select the permission and click **Save**.
## Enable viewers to edit (but not save) dashboards and use Explore
By default, the viewer organization role does not allow viewers to create dashboards or use the Explore feature. However, by modifying a configuration setting, you can allow viewers to edit a panel and make changes to a dashboard but not save those changes. This setting also enables viewers to use the Explore feature.
This modification is useful for public Grafana installations where you want anonymous users to be able to edit panels and queries but not save or create new dashboards.
### Before you begin
- Ensure that you have access to the Grafana server
**To enable viewers to preview dashboards and use Explore**:
1. Open the Grafana configuration file.
For more information about the Grafana configuration file and its location, refer to [Configuration]({{< relref "../../../administration/configuration">}}).
1. Locate the `viewers_can_edit` parameter.
1. Set the `viewers_can_edit` value to `true`.
1. Save your changes and restart Grafana.
## Edit dashboard permissions
Edit dashboard permissions when you are want to enhance or restrict a user's access to a dashboard. For more information about dashboard permissions, refer to [Dashboard permissions]({{< relref "../about-users-and-permissions/#dashboard-permissions">}}).
### Before you begin
- Identify the dashboard and user permission you want to change
- Ensure you have organization administrator privileges
**To edit dashboard permissions**:
1. Sign in to Grafana as an organization administrator.
1. In the sidebar, hover your mouse over the **Dashboards** (squares) icon and click **Browse**.
1. Open a dashboard.
1. In the top-right corner of the dashboard, click **Dashboard settings** (the cog icon).
1. Click **Permissions**.
1. In the dropdown, update the permissions, and click **Save**.
## Restrict access to dashboards
Grafana applies the highest permission a given user has to access a resource like a dashboard, so if you want to prevent a user from accessing a folder or dashboard you need to consider the user's organization role, folder permissions, and dashboard permissions.
- You cannot override organization administrator permissions. Organization administrators have access to all organization resources.
- User permissions set for a dashboard folder propagate to dashboards contained in the folder.
- A lower permission level does not affect access if a more general rule exists with a higher permission.
Refer to the following examples to understand how organization and dashboard permissions impact a user's access to dashboards.
### Example 1
In this example, user1 has the editor organization role.
Dashboard permissions settings:
- Everyone with Editor role can edit
- user1 is set to `view`
Result: User1 has edit permissions because the user's organization role is Editor.
### Example 2
In this example, user1 has the viewer organization role and is a member of team1.
Dashboard permissions settings:
- Everyone with Viewer role can view
- user1 is set to `edit`
- team1 is set to `admin`
Result: User1 has administrator permissions for the dashboard because user1 is a member of team1.
### Example 3
In this example, user1 has the viewer organization role.
Dashboard permissions settings:
- user1 is set to `admin`, which is inherited from the permissions set in parent folder
- user1 is set to `edit`
Result: You receive an error message that cannot override a higher permission with a lower permission in the same dashboard. User1 has administrator permissions.
> Refer to [Fine-grained access Control]({{< relref "../../../enterprise/access-control/_index.md" >}}) in Grafana Enterprise to understand how to use fine-grained permissions to restrict access to dashboards, folders, administrative functions, and other resources.

View File

@@ -0,0 +1,14 @@
---
aliases:
- ../../manage-users/org-admin/
title: Manage users in an organization
weight: 400
---
# Manage users in an organization
Organization administrators can invite users to join their organization. Organization users have access to organization resources based on their role, which is **Admin**, **Editor**, or **Viewer**. Permissions associated with each role determine the tasks a user can perform in the system.
For more information about organization user permissions, refer to [Organization users and permissions]({{< relref "../about-users-and-permissions/#organization-users-and-permissions">}}).
{{< section >}}

Some files were not shown because too many files have changed in this diff Show More