Compare commits

...

827 Commits

Author SHA1 Message Date
Andrej Ocenas
53f5c6a44c Merge pull request #258 from grafana/bump-version-8.4.1
Release: Bump version to 8.4.1
2022-02-18 12:14:07 +01:00
Dimitris Sotirakis
5407140306 Update grabpl (#45591) (#45596)
(cherry picked from commit 0a8c3f92f6)
(cherry picked from commit 787553ed31)
2022-02-18 12:57:17 +02:00
Andrej Ocenas
0a66eb3a8a update yarn.lock 2022-02-18 11:33:51 +01:00
grafanabot
468735b7a2 "Release: Updated versions in package to 8.4.1" 2022-02-18 10:18:25 +00:00
Andrej Ocenas
eb1e411991 Merge branch 'v8.4.x' of github.com:grafana/grafana into v8.4.x 2022-02-18 11:11:57 +01:00
Grot (@grafanabot)
3afbc685fc Docs: Update log level information and add tip (#45411) (#45506)
* Docs: Update conent for log level

* Add tip

(cherry picked from commit 123f095536)

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2022-02-18 11:00:53 +01:00
Dimitris Sotirakis
129734d1f5 Update grabpl (#45520) (#45527)
(cherry picked from commit af1691dbfb)
2022-02-18 10:50:52 +01:00
Grot (@grafanabot)
2443ddf518 AccessControl: Remove permissions on data source delete (#45504) (#45519)
* AccessControl: Remove permissions on datasource delete

* Ensure legacy behavior is preserved

(cherry picked from commit 47e248ceab)

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2022-02-18 10:50:34 +01:00
Grot (@grafanabot)
dc3dc215d8 Chore: avoid pointer events in viz tooltip (#45492) (#45494)
(cherry picked from commit 685ec5383e)

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-02-18 10:49:48 +01:00
Grot (@grafanabot)
fe7e1292cb Cloudwatch: Add support for AWS/PrivateLink* metrics and dimensions (#45515) (#45586)
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

(cherry picked from commit 929d8a358f)

Co-authored-by: Szymon Szypulski <szymon.szypulski@gmail.com>
2022-02-18 10:35:25 +01:00
Grot (@grafanabot)
80b8629f58 Data source insights: Switch from ID to UID (#45532) (#45580)
(cherry picked from commit 478efffce7)

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
2022-02-18 09:39:57 +01:00
Grot (@grafanabot)
0743f84f50 SQLStore: Fix migrator locking test for SQLite (#45523) (#45530)
* SQLStore: Fix migrator locking test for SQLite

(cherry picked from commit 17dee4700c)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2022-02-18 10:03:14 +02:00
Grot (@grafanabot)
f1fe8a870b make send_alerts_to field nullable (#45572) (#45573)
* make send_alerts_to field nullable

* set nullable to true since we have a default value

(cherry picked from commit a9de33601c)

Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>
2022-02-18 07:03:43 +01:00
Grot (@grafanabot)
5a3e45dd6c Added correct format. (#45562) (#45565)
(cherry picked from commit e29c38ae27)

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2022-02-17 15:21:21 -05:00
Grot (@grafanabot)
bbdad0fb27 Docs: Update 8.4 What's New (#45547) (#45561)
* replace * with

* Ran prettier check

* Revert "Ran prettier check"

This reverts commit 32be986af8.

* Ran prettier check again.

* Added backticks.

(cherry picked from commit 912464a073)

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2022-02-17 14:13:06 -05:00
Grot (@grafanabot)
3384269133 Cloudwatch: Fix bug with onblur in Metric Search (#45488) (#45557)
(cherry picked from commit 85753afdf0)

Co-authored-by: Sarah Zinger <sarahzinger@users.noreply.github.com>
2022-02-17 13:52:01 -05:00
Grot (@grafanabot)
2a35b4fcef Tempo: Switch out Select with AsyncSelect component to get loading state in Tempo Search (#45110) (#45554)
* Replace Select with AsyncSelect to get loading state

(cherry picked from commit fcd85951a7)

Co-authored-by: Cat Perry <000.perry@gmail.com>
2022-02-17 09:57:16 -08:00
Andrej Ocenas
d5e0ba2e43 Udpate latest.json (#45548) (#45551)
(cherry picked from commit 4fcbfab711)
2022-02-17 18:06:40 +01:00
Grot (@grafanabot)
f3c1c06753 ReleaseNotes: Updated changelog and release notes for 8.4.0 (#45531) (#45540)
* 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>
(cherry picked from commit 23144fbcad)
2022-02-17 17:34:30 +01:00
Grot (@grafanabot)
4dec7e8387 Release: Bump version to 8.4.0 (#45529)
* "Release: Updated versions in package to 8.4.0"

* update lockfile

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2022-02-17 17:23:23 +01:00
Connor Lindsey
f4566647bf [v8.4.x] Chore: Clean up logs and deprecated library in tracing tests (#45486) (#45544)
* 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

(cherry picked from commit 6e07b30048)
2022-02-17 17:10:23 +01:00
Andrej Ocenas
50c883a346 Docs: Update publish.yml for 8.4.0 (#45542) 2022-02-17 17:02:29 +01:00
Dan Cech
077f4c3079 Configuration: Add ability to customize okta login button name and icon (#44079) (#45483)
* 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

(cherry picked from commit 51cd6f3cc5)
2022-02-17 09:55:34 -05:00
Grot (@grafanabot)
8789c6b2ae Feature Highlights: add RS event for nav items (#45470) (#45521)
(cherry picked from commit 8835020457)

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
2022-02-17 15:25:06 +01:00
Will Browne
bd0ff79e28 Plugins: Add ability to enable debug logging per plugin (#45481)
* use plugin ID in logger name

* retrigger
2022-02-16 17:49:16 +01:00
Andrej Ocenas
e6728d1434 Merge pull request #255 from grafana/bump-version-8.4.0
Release: Bump version to 8.4.0
2022-02-16 17:08:58 +01:00
Andrej Ocenas
6cd56ee459 Update yarn.lock 2022-02-16 16:38:48 +01:00
grafanabot
2d7625ac1b "Release: Updated versions in package to 8.4.0" 2022-02-16 15:24:39 +00:00
Andrej Ocenas
37c34c6d5b Merge branch 'v8.4.x' of github.com:grafana/grafana into v8.4.x 2022-02-16 16:11:07 +01:00
Grot (@grafanabot)
3179d548bb Alerting: Fix updating notification channels in legacy (#45302) (#45331)
The problem here is that without the orgID we ignore the lookup of the existing notification channel just before updating and end up failing the update because there is no channel available.

(cherry picked from commit 8bf2e642aa)

Co-authored-by: gotjosh <josue.abreu@gmail.com>
2022-02-16 13:35:39 +00:00
Grot (@grafanabot)
5b73b4e070 Analytics: Collect information about queries reordering (#45392) (#45465)
(cherry picked from commit 8bb3de3037)

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2022-02-16 14:30:35 +01:00
Grot (@grafanabot)
122f8b257d remove whitespace from ${__value.raw } (#44928) (#45176)
(cherry picked from commit 7ef43fb959)

Co-authored-by: matt abrams <37156449+zuchka@users.noreply.github.com>
2022-02-16 14:13:06 +01:00
Grot (@grafanabot)
48e5624095 Loki: Use explore query field unless new query builder feature toggle is enabled (#44858) (#44901)
* Loki: Fix using of Explore editor in Explore

* Add test and remove Explore fields in module

* Update tests

(cherry picked from commit e7a0e69153)

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2022-02-16 14:04:39 +01:00
Grot (@grafanabot)
7c079483eb Update changelog for 8.3.5 and 7.5.15 (#45078) (#45084)
(cherry picked from commit b2a8487684)

Co-authored-by: Dimitris Sotirakis <sotirakis.dim@gmail.com>
2022-02-16 13:53:17 +01:00
Grot (@grafanabot)
2932cc8ec8 [docs] Clarify legacy alerting deprecation (#44759) (#44817)
* Clarify legacy alerting deprecation

* Lint Markdown

(cherry picked from commit 8c6a5f043a)

Co-authored-by: Armand Grillet <2117580+armandgrillet@users.noreply.github.com>
2022-02-16 13:51:37 +01:00
Grot (@grafanabot)
c630e0ce4f Update docs library element http api (#44493) (#44812)
(cherry picked from commit 16f0c6617a)

Co-authored-by: JM <justintmai@gmail.com>
2022-02-16 13:51:08 +01:00
Grot (@grafanabot)
1308e19197 Explore: avoid locking timepicker when range is inverted (#44790) (#44841)
* Explore: avoid locking timepicker when range is inverted

* Explore: prevent time picker to lock if from & to search parameters are present

(cherry picked from commit 6415b9a54d)

Co-authored-by: Giordano Ricci <me@giordanoricci.com>
2022-02-16 13:48:47 +01:00
Grot (@grafanabot)
a682943b24 QueryEditor: Fix setting panel state to done if query had no error (#45453) (#45456)
(cherry picked from commit da91c93f4a)

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2022-02-16 11:59:55 +01:00
Grot (@grafanabot)
fd83e14400 QueryEditor: Fix crash in angular panels when query have error (#45422) (#45448)
(cherry picked from commit befb2afccc)

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2022-02-16 11:44:48 +01:00
Grot (@grafanabot)
19a88b3e6f Fix notification routes editing when filters are applied (#45380) (#45450)
* 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

(cherry picked from commit 1886a59a12)

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
2022-02-16 11:37:25 +01:00
Sofia Papagiannaki
3d2fbcba2d [8.4.x]: SQLStore: Prevent concurrent migrations (#44101) (#45447)
* SQLStore: Prevent concurrent migrations (#44101)

* SQLStore: Prevent concurrent migrations

* Hide behind a feature toggle

* Configurable locking attempt timeout

* Update docs/sources/administration/configuration.md

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

* Resolve dependency cycle (#45427)

(cherry picked from commit 6a38ce2307)
2022-02-16 11:23:54 +02:00
Dimitris Sotirakis
e43e5c3c42 CI: Remove manual gcloud authentication (#44986) (#45444)
* Remove manual gcloud auth from store-packages

* Update grabpl

(cherry picked from commit 163b570f5d)
2022-02-16 09:45:50 +01:00
Jack Westbrook
67fc8ecbe3 Toolkit: Bump react-dev-utils to 12.0.0 (#44696) (#45408)
* chore: bump react-dev-utils due to vulnerbility reports

* chore(yarn): update checksum, remove react-dev-utils packageExtensions

(cherry picked from commit b409811005)
2022-02-16 10:30:08 +02:00
Grot (@grafanabot)
709b49fdc8 Highlights: fix RS event name (#45436) (#45441)
(cherry picked from commit 39797e33ae)

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
2022-02-16 09:03:10 +01:00
Ieva
6fdb1d0440 merge (#45413) 2022-02-15 18:27:11 +01:00
Grot (@grafanabot)
f0f4348aa5 AccessControl: Enable empty list New button based on user permissions (#45398) (#45402)
(cherry picked from commit d11f6a95a4)

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2022-02-15 16:36:51 +01:00
Grot (@grafanabot)
eeab540874 CloudWatch: Add tests to annotations query (#45337) (#45391)
(cherry picked from commit 1c1a45a880)

Co-authored-by: Shirley <4163034+fridgepoet@users.noreply.github.com>
2022-02-15 15:47:45 +01:00
Grot (@grafanabot)
47c3f21c26 Tempo: Update service graph linked queries to use rate_interval and group histogram (#45248) (#45403)
(cherry picked from commit 3da0434e64)

Co-authored-by: Connor Lindsey <cblindsey3@gmail.com>
2022-02-15 15:32:40 +01:00
Grot (@grafanabot)
b00b61f565 AccessControl: Trigger permission reload with team removal (#45383) (#45397)
(cherry picked from commit 91dd0563c9)

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2022-02-15 14:35:37 +01:00
Grot (@grafanabot)
f5c43af76a Alerting: do not unescape external AM label values (#45334) (#45394)
(cherry picked from commit 651bb773db)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2022-02-15 14:08:18 +01:00
Grot (@grafanabot)
382600c9eb Init node item (#45218) (#45323)
(cherry picked from commit 574f609550)

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2022-02-12 11:21:59 +02:00
Grot (@grafanabot)
099e6ee22d Documentation for teams with FGAC (#45321) (#45336)
* 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>
(cherry picked from commit 9ac4843df1)

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2022-02-11 18:11:28 +01:00
Ieva
3a04080972 merge (#45335)
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2022-02-11 18:02:50 +01:00
Grot (@grafanabot)
16870af3e8 Docs: Update whats new in 8.4 (#45289) (#45316)
Changed the swagger ui feature flag to the actual feature flag.

(cherry picked from commit 77a0a71929)

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2022-02-11 09:41:55 -05:00
Grot (@grafanabot)
3af0331022 Update access_controls.md: Add global to documented query parameter for deleting custom roles. (#40167) (#45270)
* 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>
(cherry picked from commit 1239911b5b)

Co-authored-by: Roberto Acevedo <rxacevedo@users.noreply.github.com>
2022-02-11 08:48:16 -05:00
Grot (@grafanabot)
1edb8f0a5d Postgres/MySQL/MSSQL: Remove usage of legacy timeSrv (#45241) (#45293)
(cherry picked from commit 0e8a5407d1)

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-02-11 13:47:46 +01:00
Grot (@grafanabot)
18056a148c Alerting: support ok state in alert migration (#45264) (#45267)
(cherry picked from commit c59567a236)

Co-authored-by: Yuriy Tseretyan <yuriy.tseretyan@grafana.com>
2022-02-11 13:39:37 +01:00
Grot (@grafanabot)
a7f0fb5052 Angular: Add AngularJS plugin support deprecation plan to docs site (#45149) (#45287)
* 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>
(cherry picked from commit fed112ef3b)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-02-11 12:46:47 +01:00
Grot (@grafanabot)
32ce82b874 loki: add logs-volume documentation (#45283) (#45285)
(cherry picked from commit 29d48a503c)

Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
2022-02-11 12:20:07 +01:00
Grot (@grafanabot)
0a9406b26c loki: enable-by-default the full-range-logs-volume feature (try2) (#45246) (#45280)
* loki: enable-by-default the full-range-logs-volume feature

* add explanation comment

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

* fixed invalid code

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

Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
2022-02-11 12:13:11 +01:00
Grot (@grafanabot)
527e5bb6f8 LibraryPanels: Prevent long descriptions and names from obscuring the delete button (#45190) (#45284)
* fix library panel description wrapping

* make panel name wrap

(cherry picked from commit 8c47373d74)

Co-authored-by: matt abrams <37156449+zuchka@users.noreply.github.com>
2022-02-11 12:09:47 +01:00
Grot (@grafanabot)
3e351914fd Cloudwatch: Remove unused parameters (#45237) (#45251)
* Remove unused parameters

* Remove unused context

* Make plugin context first parameter

(cherry picked from commit 89a0c0fc37)

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

* Fixing buttons and routes

* Small refactor

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

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2022-02-11 11:09:54 +01:00
Grot (@grafanabot)
6c0652989f TablePanel: Do not prefix columns with frame name if multiple frames and override active (#45174) (#45276)
* Fix bug where table panel shows column names prefixed with frame name

* simplify && fix tests

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
(cherry picked from commit a12f2e1d19)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2022-02-11 11:00:12 +01:00
Grot (@grafanabot)
a5637bd2ac Fix issue with undo history in query field when suggestion inserted (#28656) (#39114) (#45272)
(cherry picked from commit 4d0a37baed)

Co-authored-by: Alexander Kubyshkin <i.am.glint@gmail.com>
2022-02-11 09:46:04 +01:00
Grot (@grafanabot)
162466cad4 Update geomap.md (#43527) (#45269)
(cherry picked from commit d97e74d80f)

Co-authored-by: JJgitGit <JJgitGit@users.noreply.github.com>
2022-02-10 17:51:03 -05:00
Grot (@grafanabot)
c897372237 Thresholds: fix crash when trying to render zero-height base thresholds (#45256) (#45258)
(cherry picked from commit 586b89f776)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-02-10 19:00:44 +01:00
Grot (@grafanabot)
843c1c71d9 Fetch: parse JSON off-main-thread (async) based on response Content-Type (#45188) (#45257)
(cherry picked from commit 9af6202a7f)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-02-10 18:57:26 +01:00
Grot (@grafanabot)
8d60ca53c5 Access control: Support uids for resource permissions (#45226) (#45254)
* add middleware to solve uid -> id for requests

(cherry picked from commit d2b9da9dde)

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2022-02-10 18:05:15 +01:00
Grot (@grafanabot)
0aac670de0 order subscriptions by name (#45228) (#45234)
(cherry picked from commit 57ecabf319)

Co-authored-by: Erik Sundell <erik.sundell87@gmail.com>
2022-02-10 16:14:52 +01:00
Grot (@grafanabot)
57fa05501b add the permission to read org users to team creator (#45224) (#45245)
(cherry picked from commit 9fafbfc87e)

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2022-02-10 15:02:16 +00:00
Grot (@grafanabot)
232fdd195a Unescape regex string (#45137) (#45244)
(cherry picked from commit ec48b81388)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-02-10 15:57:56 +01:00
Gabriel MABILLE
e6d0f5367f AccessControl: Implement SQL filters for team members filtering (#44898) (#45219)
* AccessControl: Filter team members

* Modify GetTeamMembersByUser comment

* Fix postgres failing test due to quoting

* Rename GetTeamMembersByUser to GetUserTeamMemberships

* Update TeamStore interface

(cherry picked from commit 78fc0258b1)
2022-02-10 15:49:02 +01:00
Grot (@grafanabot)
82fc75cacc test (#45240) (#45243)
(cherry picked from commit fd5e968bc1)

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2022-02-10 15:35:51 +01:00
Grot (@grafanabot)
ef9779c4c3 Popovers: Improve contrast by darkening shadow and changing border to medium (#45136) (#45229)
* Popovers: Improve contrast by darkening shadow and changing border to medium

* Updated sass theme

* Revert back to weak border

(cherry picked from commit 374681b546)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-02-10 15:14:05 +01:00
Grot (@grafanabot)
bab2f84155 Logging: Fix server hangs when using log.WithSuffix (#45213) (#45223)
Fixes a problem where server hangs if setting
GF_DATABASE_LOG_QUERIES=true.

Ref #44925

(cherry picked from commit ca311bf94f)

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-02-10 13:02:47 +01:00
Grot (@grafanabot)
0ff1be7ccc Adjust menu positioning (#45217) (#45222)
(cherry picked from commit e48baefd32)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-02-10 13:02:15 +01:00
Grot (@grafanabot)
3fda778e6d Chore: Remove menuShouldPortal deprecation warning (#45211) (#45221)
* Chore: Remove Select deprecation

* remove unused import

* Update lockfile

(cherry picked from commit 947b8b8d3b)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-02-10 12:58:19 +01:00
Gabriel MABILLE
4c55c450c3 AccessControl: SQL filters for team search (#44557) (#45200)
* AccessControl: SQL filters for team search

Set test config

* Remove userIdFilter when FGAC is on

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

* Use fields periods for intervals

(cherry picked from commit 5edcc2e795)

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

(cherry picked from commit 2082eeb72f)

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

* Leave the fixed role for service accounts

(cherry picked from commit f38f10416a)

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

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

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

* remove duplicate WHERE statement

* Fix for CVE-2022-21702

(cherry picked from commit 202d7c190082c094bc1dc13f7fe9464746c37f9e)

* Lint and test fixes

(cherry picked from commit 3e6b67d5504abf4a1d7b8d621f04d062c048e981)

* check content type properly

(cherry picked from commit 70b4458892bf2f776302720c10d24c9ff34edd98)

* basic csrf origin check

(cherry picked from commit 3adaa5ff39832364f6390881fb5b42ad47df92e1)

* compare origin to host

(cherry picked from commit 5443892699e8ed42836bb2b9a44744ff3e970f42)

* simplify url parsing

(cherry picked from commit b2ffbc9513fed75468628370a48b929d30af2b1d)

* check csrf for GET requests, only compare origin

(cherry picked from commit 8b81dc12d8f8a1f07852809c5b4d44f0f0b1d709)

* parse content type properly

(cherry picked from commit 16f76f4902e6f2188bea9606c68b551af186bdc0)

* mentioned get in the comment

(cherry picked from commit a7e61811ef8ae558ce721e2e3fed04ce7a5a5345)

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

* fix pluginproxy test

* Fix linter when comparing errors

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

* Apply suggestions from code review

* remove uneeded test fix from patch

Co-authored-by: Dimitris Sotirakis <sotirakis.dim@gmail.com>
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
Co-authored-by: jguer <joao.guerreiro@grafana.com>
2022-02-09 20:43:42 +01:00
Grot (@grafanabot)
1f1d599815 API: Fix missing enterprise routes in swagger spec (#45152) (#45156)
(cherry picked from commit 2983082eb3)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2022-02-09 15:43:21 +01:00
Grot (@grafanabot)
24411c633c Provisioning: Ensure that the default value for orgID is set when provisioning datasources to be deleted (#44244) (#45130)
Fixes #44243

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

Co-authored-by: maicon <maiconscosta@gmail.com>
2022-02-09 12:55:21 +01:00
Grot (@grafanabot)
5aef9ffb19 logs-volume: remove custom timeout (#45041) (#45085)
* logs-volume: remove custom timeout

* make error message a little better

(cherry picked from commit 2c0030b1b4)

Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
2022-02-09 12:01:47 +01:00
Grot (@grafanabot)
f8b27f44c0 Feature Highlights: add RudderStack events (#45099) (#45126)
* add RS events for PRO badge

* part 2

* fix team sync events

* clean up ProBadge

(cherry picked from commit ee6f8b6cd9)

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
2022-02-09 11:31:16 +01:00
Grot (@grafanabot)
82b20b7c43 Remove unified alerting specific assertions from panel base spec (#44961) (#45047)
(cherry picked from commit e50a78a61a)

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
2022-02-09 10:54:10 +01:00
Grot (@grafanabot)
daf7c5fe93 Add context.Context to AlertingStore (#45069) (#45121)
(cherry picked from commit 4e3a72fc2a)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-02-09 09:40:05 +00:00
Grot (@grafanabot)
0680dff343 Update Storybook updates to v6.4.15 (#44586) (#44972)
* 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>
(cherry picked from commit 08ee093dfe)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-02-09 10:31:24 +01:00
Grot (@grafanabot)
87dfe0a523 Docs: Added what's new for 8.4 (#45108) (#45111)
* Checking in changes from gdoc.

* New more changes.

* Added links to images.

* Added 8-4 link to the What's new index page.

(cherry picked from commit 065819b707)

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2022-02-08 18:00:35 -05:00
Grot (@grafanabot)
66b1f6722f BarChart: fix excessive re-renders during mousemove and panel resize (#45027) (#45109)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
(cherry picked from commit b3b1f945b0)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-02-08 16:56:42 -06:00
Grot (@grafanabot)
bcff7ec68f Alerting: remove error banner when Prometheus ruler is not supported (#44571)
(cherry picked from commit 3d0cff5410)

Co-authored-by: Roy C <crosscent@gmail.com>
2022-02-08 22:27:44 +01:00
Grot (@grafanabot)
66f9e505e7 Access control: hide team role picker if user doesn't have access to it (#45068) (#45095)
* hide team role column

* hide or disable the role picker as needed

* add SWL filtering for role listing

(cherry picked from commit 4f4b1cb5ea)

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2022-02-08 17:55:02 +01:00
Grot (@grafanabot)
da3c22d3be Alerting: Improve Contact Points error handling (#44888) (#45092)
(cherry picked from commit 1cf48618de)

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
2022-02-08 17:23:15 +01:00
Grot (@grafanabot)
4697ef8b81 TimeSeries: Add support for negative Y and constant transform (#44774) (#45087)
* 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>
(cherry picked from commit ffea53f2f6)

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2022-02-08 07:46:48 -08:00
Grot (@grafanabot)
b07267f3e3 use correct version (#45076) (#45080)
(cherry picked from commit f691902949)

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2022-02-08 16:16:43 +01:00
Grot (@grafanabot)
fb3d542562 Auth: Guarantee consistency of signed SigV4 headers (#45054) (#45075)
* use latest sigv4 changes

* update configuration docs

* lint

* reformat lint ignore

* specific version for docs

(cherry picked from commit fc42dfe396)

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

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-02-08 15:08:36 +01:00
Gabriel MABILLE
dca648f034 AccessControl: Use an SQLFilter struct (#44887) (#44999)
(cherry picked from commit 178193c84b)
2022-02-08 14:59:49 +01:00
George Robinson
8291389f6c Alerting: Add context.Context to RuleStore (#45004) (#45046) 2022-02-08 13:48:15 +00:00
Grot (@grafanabot)
3fdbc461f1 Chore: uPlot 1.6.19 (#45037) (#45044)
(cherry picked from commit d0bc3b10bf)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-02-08 05:35:29 -08:00
Grot (@grafanabot)
08ad99c36e API: Extract OpenAPI specification from source code using go-swagger (#40528) (#45061)
* API: Using go-swagger for extracting OpenAPI specification from source code

* Merge Grafana Alerting spec

* Include enterprise endpoints (if enabled)

* Serve SwaggerUI under feature flag

* Fix building dev docker images

* Configure swaggerUI

* Add missing json tags

Co-authored-by: Ying WANG <ying.wang@grafana.com>
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
(cherry picked from commit 35fe58de37)
2022-02-08 13:52:05 +01:00
Grot (@grafanabot)
c6a58003d1 Chore: Make detect breaking changes workflow backport compatible (#45005) (#45052)
* fix(detect-breaking-changes): use the base.ref for backport compatibility

* chore(check-breaking-changes): update path to previous package dist directory

(cherry picked from commit f885c2ede9)

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2022-02-08 12:17:38 +01:00
Grot (@grafanabot)
eb666f12a7 Feature Highlights: Refactor report nav highlight (#44765) (#45039)
* 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

(cherry picked from commit d21abdfe77)

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2022-02-08 10:36:45 +02:00
Grot (@grafanabot)
4f21d4dabe LibraryPanels: Removes save errors for panels changed to library panels (#45033) (#45035)
(cherry picked from commit 9e1cb8c12a)

Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
2022-02-08 07:56:42 +01:00
Grot (@grafanabot)
836168eb13 BarChart: Fix Sticky Tooltip (#45017) (#45019) 2022-02-07 23:46:04 +01:00
Grot (@grafanabot)
c4da73ce4d CI: Remove grafana/drone-grafana-docker image (#44983) (#45011)
* 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

(cherry picked from commit 5543ad883d)

Co-authored-by: Dimitris Sotirakis <sotirakis.dim@gmail.com>
2022-02-07 19:19:27 +01:00
Grot (@grafanabot)
d9eb80f7f5 Feature Highlights: add highlight to toolbar button and add upgrade modal (#44645) (#44998)
* Feature Highlights: add highlight to toolbar button and add upgrade modal

* replace hideTitle attribute by making title optional

* update modal design

* remove unused updates

(cherry picked from commit bdac6576e4)

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
2022-02-07 16:18:21 +01:00
Grot (@grafanabot)
6459fd73ed Chore: Logging improvements (#44925) (#44996)
Fixing a couple bugs, adds some tests and hopefully decrease
lock contention when logging.
Switching from using sync.RWMutex to go-kit SwapLogger.
Fixes bug when creating a new logger from an existing one that
screwed up the keyvals and/or lost the logger name.

Ref #44681

(cherry picked from commit 05ea825c76)

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-02-07 16:15:14 +01:00
Grot (@grafanabot)
be7782032e [v8.4.x] CI: Update GCP_GRAFANA_UPLOAD_KEY var name (#44964)
* CI: Update `GCP_GRAFANA_UPLOAD_KEY` var name (#44303)

* Update GCP_KEY var name

* Rename GCP_GRAFANA_UPLOAD_KEY for upload-packages

* Update grabpl

(cherry picked from commit f96a6c10c5)

* Update upload-cdn command args (#44966)

(cherry picked from commit 67225d9cfc)

Co-authored-by: Dimitris Sotirakis <sotirakis.dim@gmail.com>
2022-02-07 12:47:17 +01:00
Grot (@grafanabot)
206b447a37 Deprecation: use locationService in favor of getLocationSrv (#44813) (#44963)
* 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>
(cherry picked from commit eb9d85a2bf)

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
2022-02-07 10:06:42 +01:00
Grot (@grafanabot)
32198a472f BarChart: Add support for data links (#44932) (#44943)
(cherry picked from commit 3a2e3267ba)

Co-authored-by: Nathan Marrs <nathanielmarrs@gmail.com>
2022-02-04 18:50:20 -08:00
Grot (@grafanabot)
bfd38ece7e StateTimeline: add spanNulls editor (#44811) (#44938)
(cherry picked from commit b07345e57e)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-02-05 00:16:23 +01:00
Grot (@grafanabot)
ce185ce6a3 Fix evaluation of alert rules for datasources with custom headers (#44862) (#44912)
* Fix evaluation of alert rules for datasources with custom headers

* Fix unit tests

* Fix integration tests

* Evaluator fields should be package private

(cherry picked from commit 9df43abbb5)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-02-04 18:32:57 +01:00
Grot (@grafanabot)
cc9d96e1dc Access control: Reduce number of API calls for role picker (#44905) (#44908)
* Restucture state for TeamRolePicker and UserRolePicker

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
(cherry picked from commit 3cf31451ec)

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2022-02-04 15:17:39 +01:00
Grot (@grafanabot)
d18f53977f Alerting: validate namespace and groupname for Grafana manages and Lotex alerts (#44872) (#44910)
(cherry picked from commit 1680e284e5)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2022-02-04 15:15:35 +01:00
Grot (@grafanabot)
6295ce8149 Improve prettier:check output (#44816) (#44844)
(cherry picked from commit a943bf9963)

Co-authored-by: Armand Grillet <2117580+armandgrillet@users.noreply.github.com>
2022-02-04 13:22:12 +01:00
Grot (@grafanabot)
63b7770220 Accessibility: Fix text selection when using FocusScope (#44770) (#44902)
* 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

(cherry picked from commit 9e52361c1e)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-02-04 12:38:39 +01:00
Grot (@grafanabot)
6671367781 Alerting: add custom grouping to Alert Panel (#44559) (#44873)
Co-authored-by: Peter Holmberg <peterholmberg@users.noreply.github.com>
(cherry picked from commit c1a0c2664c)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2022-02-03 19:32:10 +01:00
Grot (@grafanabot)
53313e4a2d Logging: Fix don't return an error trying to initialize the file logger (#42952) (#44867)
Fixes #42897

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

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

* Implement frontend changes for group sync

* Changing the org/teams/edit permissions

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

* Fixing routes

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

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

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

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

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

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2022-02-03 18:00:38 +01:00
Grot (@grafanabot)
ee54923bdd Chore: Update latest.json (#44854) (#44859)
(cherry picked from commit 53a693fd84)

Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>
2022-02-03 17:37:00 +01:00
Grot (@grafanabot)
2b516126cf Prometheus: Fix Azure authentication support (#44407) (#44861)
Re-adding back Azure authentication support to Prometheus datasource
after the datasource query logic was rewritten from plugin.json routes to
Go backend.

Ref #35857

(cherry picked from commit 85ea1a5d64)

Co-authored-by: Sergey Kostrukov <sekost@microsoft.com>
2022-02-03 17:27:57 +01:00
Grot (@grafanabot)
ae33b9fce9 AccessControl: Show UserPicker based on canListUsers (#44843) (#44860)
* AccessControl: Show UserPicker based on canListUser

* Update public/app/core/components/AccessControl/AddPermission.tsx

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
(cherry picked from commit 6d931226d8)

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2022-02-03 17:23:49 +01:00
Grot (@grafanabot)
8ff34fa36e AccessControl: introduce a different accesscontrol check (licensed or not) (#44777) (#44857)
Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com>
(cherry picked from commit 86756ee3e5)

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2022-02-03 16:52:12 +01:00
Grot (@grafanabot)
36edcfe208 Prometheus: Set interval on time field (#44802) (#44837)
(cherry picked from commit c8bb4c733e)

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

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

* move user struct to type package

* interface for permission service to allow mocking it

* reuse existing permissions

* test fix

* refactor

* linting

(cherry picked from commit 602d62ebcc)

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

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-02-03 16:34:18 +01:00
Grot (@grafanabot)
5a1fc33eb4 ReleaseNotes: Updated changelog and release notes for 8.4.0-beta1 (#44822) (#44845)
(cherry picked from commit afac7701cb)
2022-02-03 16:02:47 +01:00
Grot (@grafanabot)
c5aaf9526e Rename build-e2e-publish pipelines (#44836) (#44847)
(cherry picked from commit 5f16e4cedc)
(cherry picked from commit 37ac299853b27ff819d16085630f425fc30c794e)

Co-authored-by: Dimitris Sotirakis <dimitrios.sotirakis@grafana.com>
2022-02-03 17:02:05 +02:00
Grot (@grafanabot)
d20ac04120 Loki: use generic grafana null-insertion mechanism (#44826) (#44846)
* loki: refactor: return dataframes instead of timeseries

* fixed unit test

* removed unused import

(cherry picked from commit 0c2ba819a7)

Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
2022-02-03 09:57:01 -05:00
Grot (@grafanabot)
1fe18694ad Alerting: Fix alert notification template (#44761) (#44839)
(cherry picked from commit bb88cf683c)

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
2022-02-03 14:32:48 +01:00
Grot (@grafanabot)
e37dde0036 Alerting: load correct unified alerting tab (#44794) (#44832)
(cherry picked from commit 29b97361f7)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2022-02-03 14:08:57 +01:00
Grot (@grafanabot)
60fcb87a6b Feature Highlights: move setting to a feature toggle (#44780) (#44827)
* Add toggle

* Use the toggle

* Cleanup

(cherry picked from commit a79c048344)

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2022-02-03 14:54:42 +02:00
Grot (@grafanabot)
6292749014 Release: Bump version to 8.4.0-beta.1 (#44821)
Co-authored-by: Andres Martinez Gotor <andres.mgotor@gmail.com>
2022-02-03 11:14:18 +01:00
Grot (@grafanabot)
d7ba4dd293 grafana/ui: Fix RelativeTimeRange supported formats (#44535) (#44819)
* remove link to docs site

* extract tooltip to component

* text and formatting

* use div instead of p

(cherry picked from commit 3314178a0a)

Co-authored-by: Peter Holmberg <peterholmberg@users.noreply.github.com>
2022-02-03 10:49:12 +01:00
Grot (@grafanabot)
a7ad5ee55f Encryption: Add support for data keys re-encryption (#43548) (#44814)
* Encryption: Add support for data keys re-encryption

* Add tests for data keys re-encryption

* Update code after refactorings

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

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

* Update flag reference to 'featuremgmt' pkg

* Update feature toggles usage

* Clean up data keys table after envelope encryption rollback

(cherry picked from commit f8105efff3)

Co-authored-by: Joan López de la Franca Beltran <5459617+joanlopez@users.noreply.github.com>
2022-02-03 07:54:57 +01:00
Grot (@grafanabot)
b4579334d4 DataFrame: insert null values along interval (#44622) (#44792)
(cherry picked from commit 3504844ad7)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-02-02 14:05:14 -06:00
Grot (@grafanabot)
e031568aa4 Do not store EvaluationString in Evaluation. (#44606) (#44795)
* do not store evaluation string in Evaluation.
* reduce number of buckets to store for a single state

(cherry picked from commit 984c95de63)

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

Fixes #39590

(cherry picked from commit 0092d10764)

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-02-02 19:07:37 +01:00
Andres Martinez Gotor
d0871959b6 Update yarn.lock 2022-02-02 17:58:37 +01:00
Andres Martinez Gotor
0a90d1eeeb Merge pull request #243 from grafana/bump-version-8.4.0-beta.1
Release: Bump version to 8.4.0-beta.1
2022-02-02 17:39:53 +01:00
grafanabot
c52dae0296 "Release: Updated versions in package to 8.4.0-beta.1" 2022-02-02 16:09:46 +00:00
Andres Martinez Gotor
0ab7097abc Chore: Update what's new link (#44782) 2022-02-02 16:43:37 +01:00
Eric Leijonmarck
1dd2579528 fix: remove migrated, and /org endpoint (#44788)
* fix: remove migrated, and /org endpoint

* Update pkg/api/index.go
2022-02-02 16:32:37 +01:00
kay delaney
9e6b9215ab SectionHeader: Fix "Go to Folder" link not working (#44593) 2022-02-02 16:27:55 +01:00
Ieva
9247848a7b increment fixed role version (#44779) 2022-02-02 15:24:16 +00:00
Kyle Brandt
040ce40113 SSE: Mode to drop NaN/Inf/Null in Reduction operations (#43583)
Co-authored-by: Yuriy Tseretyan <yuriy.tseretyan@grafana.com>
Co-authored-by: gillesdemey <gilles.de.mey@gmail.com>
2022-02-02 14:50:44 +01:00
Ashley Harrison
0cb3037b55 Panel: Embed URL is now correctly generated for a panel in the home dashboard (#44706)
* 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! 🔱

* test tidyup

* Add comment for route

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: Muaaz Saleem <muaazsaleem@Muaazs-MacBook-Pro.local>
2022-02-02 13:38:23 +00:00
George Robinson
924deda589 Fix Discord Webhook URL for invalid template (#44763)
This commit fixes an issue where an invalid template for Discord would change the Webhook URL to "" and cause "unsupported protocol scheme" errors.
2022-02-02 14:28:41 +01:00
Julien Pivotto
b78082f426 doc: snapshots: fix JSON response (#44758) 2022-02-02 14:03:14 +01:00
Tania B
84ea13bf6c Docs: Refactor encryption docs (#44718)
* Docs: Refactor encryption docs

* Rename enterprise encr

* Remove envelope encr page

* combine database encryption sections

* fix reference

* Fix link

Co-authored-by: Mitchel Seaman <mitchel.seaman@gmail.com>
2022-02-02 15:02:57 +02:00
Tania B
07d207a3f0 Docs: Add documentation for the new encryption providers (#44604)
* Add docs for Google Cloud KMS provider

* Minor changes to Google KMS provider

* Add docs for Hashicorp Vault provider

* Review suggestion

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

* Commit suggested change

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

* Remove confusing instruction

* Add example of key file path

* Add links to new providers

* Add path description

Co-authored-by: Mitch Seaman <mjseaman@users.noreply.github.com>
2022-02-02 14:24:56 +02:00
renovate[bot]
d87cd6f26c Update dependency prettier to v2.5.1 (#43473)
* Update dependency prettier to v2.5.1

* prettier fixes

* chore(toolkit): bump prettier to 2.5.1

* style(eslint): bump grafana config to 2.5.2 in core and toolkit

* style(mssql-datasource): fix no-inferrable-types eslint errors

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2022-02-02 12:02:32 +00:00
Joan López de la Franca Beltran
3b4e812449 Encryption: Keep legacy default provider id on providers map (#44721)
* Encryption: Keep legacy default provider id on providers map

* Minor fixes

* Refactor
2022-02-02 12:10:46 +01:00
Dimitris Sotirakis
7bb5a5b318 CI: Make e2e tests depend on binary builds (#44647)
* Make e2e test depend on binary builds

* Search for binary in the correct folders

* Remove package file var

* Add ARCH var
2022-02-02 12:40:22 +02:00
Oscar Kilhed
78ed5a99e6 TimeSeries/Barchart: Only show default label for y axis (#44713)
* TimeSeries/Barchart: only show default label for x axis

* Update docs

* Update packages/grafana-ui/src/options/builder/axis.tsx

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

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2022-02-02 11:05:48 +01:00
Konrad Lalik
69e4796504 Alerting: Split legacy and unified routing configuration (#44641)
* Disable add alert menu entry for legacy alerting

* Split legacy and unified routing configuration

* Fix fallback routes configuration
2022-02-02 10:57:43 +01:00
Giordano Ricci
cff7336510 Logs Panel: fix timestamp parsing for string dates without timezone (#44664) 2022-02-02 09:54:33 +00:00
Artur Wierzbicki
46a34451d5 Analytics: add more properties to dashboard list viewed event (#44739) 2022-02-02 13:41:10 +04:00
JM
925333bfa4 Library Elements API GET by name returns array (#44743)
* Library Elements API GET by name returns array

Making a GET request to the Library Elements HTTP API `api/library-elements/name/:name` will return an **array** of Library Element objects, but the documentation says it will return a Library Element object.

Example cURL POST request:
`curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer XXXXXXXXXXX" -d @request.json "https://my.grafana.net/api/library-elements/"`

request.json
```json
{
  "model": {},
  "kind": 1,
  "name": "testing description3",
  "uid": "basic3",
  "id": 12345,
  "version": 2
}
```

Example cURL GET request:
`curl -X GET -H "Content-Type: application/json" -H "Authorization: Bearer XXXXXXXX" -d @request "https://my/api/library-elements/name/testing description3"`

Example response:
```json
{
    "result": [
        {
            . . .
        }
    ]
}
```

* Library Elements API fix bracket spacing
2022-02-02 09:50:27 +01:00
Ryan McKinley
ac90c8d68d Geomap: initialization fixes (#44745) 2022-02-01 22:08:07 -08:00
Ryan McKinley
d8df08ce5d Geomap: clear features when no-data is returned (#44748) 2022-02-01 22:02:43 -08:00
Sarah Zinger
58a71c7e91 Cloudwatch: Add syntax highlighting and autocomplete for "Metric Search" (#43985)
* Create a "monarch" folder with everything you need to do syntax highlighting and autocompletion.

* Use this new monarch folder with existing cloudwatch sql.

* Add metric math syntax highlighting and autocomplete.

* Make autocomplete "smarter":
- search always inserts a string as first arg
- strings can't contain predefined functions
- operators follow the last closing )

* Add some tests for Metric Math's CompletionItemProvider.

* Fixes After CR:
- refactor CompletionItemProvider, so that it only requires args that are dynamic or outside of it's responsibility
- Update and add tests with mocked monaco
- Add more autocomplete suggestions for SEARCH expression functions
- sort keywords and give different priority from function to make more visually distinctive.

* Change QueryEditor to auto-resize and look more like the one in Prometheus.

* Add autocomplete for time periods for the third arg of Search.

* More CR fixes:
- fix missing break
- add unit tests for statementPosition
- fix broken time period
- sort time periods

* Bug fix
2022-02-01 22:53:32 -05:00
Nathan Marrs
b2b584f611 Geomap: Improve tooltip UX and fix data links (#44740) 2022-02-01 18:17:39 -08:00
Santiago
04d93751b8 Alerting: send alerts to external, internal, or both alertmanagers (#40341)
* (WIP) send alerts to external, internal, or both alertmanagers

* Modify admin configuration endpoint, update swagger docs

* Integration test for admin config updated

* Code review changes

* Fix alertmanagers choice not changing bug, add unit test

* Add AlertmanagersChoice as enum in swagger, code review changes

* Fix API and tests errors

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

* Fix tests to reflect last changes

* Keep senders running when alerts are handled just internally

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

* remove duplicate data from logs

* update comment

* represent alertmanagers choice as an int instead of a string

* default alertmanagers choice to all alertmanagers, test cases

* update definitions and generate spec
2022-02-01 20:36:55 -03:00
Atif Shoukat Ali
21796c61ba Geomap: fix casing for panel options (#44688)
* fix casing for panel options

* remove hardcoded label values
2022-02-01 15:09:19 -08:00
Cat Perry
a86d7a5a90 Tempo: Show error if transformTrace() is passed bad data to parse to JSON (#44684)
* Surface errors if transformTrace() is passed bad data to parse
2022-02-01 14:39:09 -08:00
Sergej Zagursky
1f4fdf31df Fix one more typo in data rate unit names (#44675) 2022-02-01 19:49:21 +01:00
Ryan McKinley
7ee38af95a FeatureToggls: remove IsFeatureToggleEnabled from SettingsProvider (#44574) 2022-02-01 10:24:59 -08:00
Connor Lindsey
de04f19c47 Tempo: Add request histogram to service graph datalink (#44671) 2022-02-01 10:41:14 -07:00
Gabriel MABILLE
f81b9c8150 AccessControl: Read team permissions from db (#44727) 2022-02-01 18:35:31 +01:00
Isabella Siu
55a9c98ae3 CloudWatch: Use metrics query header for logs (#44668)
Co-authored-by: Sarah Zinger <sarahzinger@users.noreply.github.com>
Co-authored-by: Yaelle Chaudy <42030685+yaelleC@users.noreply.github.com>
2022-02-01 11:36:51 -05:00
Ryan McKinley
3749695594 TestData: support dropping points from random walk data and send interval (#44683) 2022-02-01 17:27:52 +01:00
kay delaney
8218d81f0e AnnoListPanel: Add keyboard accessibility (#44280) 2022-02-01 15:33:21 +00:00
Karl Persson
e93e1bdd2b Access control: Enable data source view for partial permissions (#44695)
* Return correct value

* Remove scope all requirement

* Only add dashboard sub nav if user is admin
2022-02-01 15:00:05 +01:00
Gabriel MABILLE
bc24fdcf8d AccessControl: Team membership migration (#44065)
Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com>
Co-authored-by: Jguer <joao.guerreiro@grafana.com>
2022-02-01 14:57:26 +01:00
idafurjes
dca3dddafd Add store interface (#44694)
* Add store interface

* Fix lint
2022-02-01 14:51:22 +01:00
Torkel Ödegaard
fb680b3575 Loki: Query builder, hook up instant toggle and improve inline switch (#44704) 2022-02-01 13:56:11 +01:00
Gábor Farkas
3873c5e7b5 loki: alerting: better error-handling (#44700) 2022-02-01 13:34:03 +01:00
renovate[bot]
22c3d72d9c Update dependency webpack to v5.68.0 (#44669)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-01 11:50:20 +00:00
Selene
875e0736ec LDAP: Use an interface instead of a bus to get group teams (#42165)
* Remove bus for GetTeams for LDAP

* Fix lint
2022-02-01 12:03:21 +01:00
George Robinson
8b2fe460e2 Remove EvaluationValue to avoid redundant copies of labels (#44603) 2022-02-01 09:58:18 +00:00
Peter Holmberg
552c24a66e Alerting: Show affected alert rules when creating Silence (#44307)
* first things

* show affected rules when creating silence

* revert typescript bump

* fix yarn lock

* fix import order

* fixing tests

* some layout for affected alerts

* fix test

* add default description

* review part 1

* Add a badge for number of affected alerts

* fix test

* remove blank space
2022-02-01 09:49:05 +01:00
Erik Sundell
dc0a2fb55b Azure monitor Logs: Optimize data fetching in resource picker (#44549)
* refactor resource picker

* add tests

* remove not used code

* remove unnecessary check

* fix broken tests

* update table tests now that we no longer expand second level by default

* add missing new line

* pr feedback

* fix broken test
2022-02-01 09:39:48 +01:00
Levente Balogh
c31585c246 feat: use the latest version of @grafana/levitate (#44656) 2022-02-01 09:18:21 +01:00
Yaelle Chaudy
33a7269b4f Cloudwatch : Fixed reseting metric name when changing namespace in Metric Query (#44612)
* Added logic to reset metric name when changing namespace in Metric Query

* Added tests for reseting or not metricName onChange namespace

* Added tests for reseting or not metricName onChange namespace

* Removed comment

* Cleaned up tests

* Refactored namespace to be updated in utils

* Removed unecessary overrides for query and onQueryChange

* Renamed tests + used some instead of find
2022-02-01 09:13:25 +01:00
Todd Treece
fd14112dbd Chore: update grafana-plugin-sdk-go to v0.125.0 (#44685) 2022-01-31 22:50:36 -05:00
Ryan McKinley
6a72d97265 TestData: support raw results in the raw frames editor (#44609) 2022-01-31 15:40:58 -08:00
achatterjee-grafana
133e34d52a Docs: Add section about limitations alerting in "Time range controls" (#44680)
* Added section about syntaxes not supported by Grafana. Also updated missing image name.

* Fixed image name again.
2022-01-31 18:15:10 -05:00
Isabella Siu
cbbf451b36 CloudWatch: small logs refactors (#44677) 2022-01-31 17:30:16 -05:00
Connor Lindsey
4f44ff7ce8 NodeGraph: Update no data message to show if no nodes (#44483)
* Display error if no service graph data is returned

* Remove error message and update node graph no data logic

* Check processed nodes instead of rendered nodes for no data message

* Remove console.log
2022-01-31 19:30:49 +01:00
Artur Wierzbicki
6e1615b42a Analytics: send dashboard_list_viewed events to rudderstack (#44589)
* #44449: report interactions with showPreviews toggle

* #44449: hookify showPreviews

* #44449: report dashboard_list_viewed event rather than enabled/disabled_dashboard_previews
2022-01-31 22:17:05 +04:00
Torkel Ödegaard
e39d43db0a Prometheus: Use explore query field unless new query editor feature toggle is enabled (#44650) 2022-01-31 19:06:08 +01:00
Ivana Huckova
780591cc12 Prometheus: Fix some of the alerting queries that use reduce/math operation (#44380)
* Prometheus: Dont fill response with nulls for alerting queries

* Refactor based on reviews
2022-01-31 18:14:30 +01:00
George Robinson
5e2280ceee Add metrics to ngalert scheduler (#44602)
This pull request adds metrics to the ngalert scheduler so we can see how long it takes to evaluate a tick.
2022-01-31 16:56:43 +00:00
renovate[bot]
793e3d3556 Update sentry-javascript monorepo to v6.17.2 (#44364)
* Update sentry-javascript monorepo to v6.17.2

* update Sentry transport impl to be compat with latest sentry

* kick drone

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Domas <domasx2@gmail.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-01-31 16:51:09 +00:00
Kevin Minehart
69c403ed7d add .nvmrc (#44665) 2022-01-31 10:48:21 -06:00
idafurjes
12420260ef Remove bus from org invite api (#44530)
* Remove bus from org invite api

* Fix lint

* Remove comment
2022-01-31 17:24:52 +01:00
Santiago
7ed82ac049 Check for empty URLs when creating/updating a data source (#42837)
* checks for empty URLs added

* check for TimeSeriesTypeNot to fix InfluxDB alerts

* log a warning when a data frame is ignored

* fix: add brittle Prometheus URL input selector

needs a proper aria-label or test-data-id selector

* test: add URL input aria-label

needs to use the grafana/e2e-selectors package

* test: run ci

* add URL validation for specific data sources, e2e tests

* Update pkg/api/datasource/validation.go

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

* delete duplicated logs

* delete unnecessary leading newline

Co-authored-by: gillesdemey <gilles.de.mey@gmail.com>
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-01-31 12:39:55 -03:00
Vardan Torosyan
2053049c40 Remove service accounts from public documentation as it's not being released yet (#44658) 2022-01-31 16:37:51 +01:00
Karl Persson
5ca9d2895b Add viewer grant to fixed:datasources:reader if viewers_can_edit is set to true (#44657) 2022-01-31 16:33:41 +01:00
Tharun Rajendran
de1661e877 Tempo: Display start time in search results as relative time (#44568)
* Explore: modify tempo trace start time to human readable format in table output

Signed-off-by: tharun <rajendrantharun@live.com>

* add unit tests

Signed-off-by: tharun <rajendrantharun@live.com>
2022-01-31 15:07:43 +00:00
Will Browne
76603b93d6 Plugins: Refactor Grafana and Plugin version update checkers (#44529)
* refactor

* rework plugin update checking

* make smarter

* simplify

* fix linter issue

* make use of mutex

* apply feedback to simplify

* format imports

* fix tests
2022-01-31 16:06:16 +01:00
Will Browne
bf8694e709 Plugins: Amend plugins loader log statements (#44652)
* adjust log statements

* Update pkg/plugins/manager/loader/loader.go

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

* add errs to logs

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-01-31 14:24:51 +00:00
Emil Tullstedt
ae2595e86a Chore: Upgrade go-datemath dependency (#44592)
* Datemath: Upgrade dependency

* go mod tidy
2022-01-31 15:17:48 +01:00
Karl Persson
16e62965f5 handle case when scope is wildcard (#44654) 2022-01-31 14:44:20 +01:00
Marcus Efraimsson
333de57999 Plugins: Fix scanning plugins when permission for directories is lacking (#44587)
Fixes so that errors (directory not exists, no permission) when scanning plugins are logged as 
errors rather than with debug level. In addition, before the scanning would halt in case of 
referenced errors, but with these changes the scanning will continue. If any other error 
than the referenced error happens the scanning for specific directory would halt and return 
the error, e.g. stop Grafana from starting.

Fixes #43012
2022-01-31 14:07:10 +01:00
Hugo Häggmark
5a5f5cacc8 Variables: Fix for constant variables in self referencing links (#44631)
* Variables: Fix for constant variables in self referencing links

* Chore: adds bettercomment
2022-01-31 13:34:26 +01:00
renovate[bot]
9035859871 Update dependency sinon to v13 (#44613)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-31 12:31:38 +00:00
Konrad Lalik
88f3dff6d2 Alerting: Fix moving alert rules to a different folder (#44533)
* Prevent rule deletion when creation in a new folder fails

* Fix handling duplication of rules when moving between folders

* Add unit test for unique name generator

* Fix typo
2022-01-31 12:09:06 +01:00
Gábor Farkas
aa22499b29 packages: disable auto-updating of slate-related package (#44640) 2022-01-31 11:15:06 +01:00
Gábor Farkas
2c1e7c83ca packages: removed unused @types/slate-react (#44600) 2022-01-31 10:57:46 +01:00
Sergej Zagursky
99ee72688c Fix typos in data rate unit names (#44632) 2022-01-31 10:31:27 +01:00
Timur Olzhabayev
9fe034e5ca chore(toolkit): add toolkit version to signing (#44326) 2022-01-31 09:55:21 +01:00
Josh Hunt
d2f80c3a6f Chore: Replace ts-jest mocked with jest.mocked (#44630) 2022-01-31 09:28:58 +01:00
Torkel Ödegaard
64e1e91403 PromQueryBuilder: Query builder and components that can be shared with a loki query builder and others (#42854) 2022-01-31 06:57:14 +00:00
Hugo Häggmark
a660ccc6e4 PanelEdit: Adds error indicator in table view (#44595) 2022-01-31 06:02:24 +01:00
Josh Hunt
c6ce629fd8 I18n: Translate navigation items (#44131)
* I18n: Translate navigation items

* improve comment, remove console.log

* update mock macros

* Mark up all phrases for translation

* added deprecate text comment, moved translations to a seperate file

* use TestProvider in NavBarItem

* use TestProvider in nav tests

* remove text deprecation comment

* update translations
2022-01-31 03:41:58 +01:00
Josh Hunt
b1b6205651 TablePanel: Fix ad-hoc variabes not working on default datasources (#44314)
* Dashboards: Fix ad-hoc variabes not working on default datasources

* not async

* Update comment
2022-01-31 01:16:46 +01:00
achatterjee-grafana
d584a27055 Docs: Added information about Prometheus write permission requirement. (#44616)
* Added note.

* Fixed typo.
2022-01-28 19:35:50 -05:00
Artur Wierzbicki
254c59725e Rendering: add capabilities check (#44470)
* #44449: add feature check to rendering service

* #44449: formatting

* #44449: rename feature -> capability (https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack/getCapabilities, https://developer.mozilla.org/en-US/docs/Web/API/InputDeviceInfo/getCapabilities)

* #44449: refactor

* #44449: remove commented code

* Update pkg/services/rendering/capabilities.go

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

* #44449: review fixes

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
2022-01-28 21:24:15 +04:00
Ivana Huckova
4e37a53a1c Query history: Create API to add query to query history (#44479)
* Create config to enable/disable query history

* Create add to query history functionality

* Add documentation

* Add test

* Refactor

* Add test

* Fix built errors and linting errors

* Refactor

* Remove old tests

* Refactor, adjust based on feedback, add new test

* Update default value
2022-01-28 17:55:09 +01:00
Tania B
ca24b95b49 Encryption: Handle encryption key provider being a background service (#44007)
* Encryption: Handle encryption key provider being a background service

* Sort imports

* Cleanup accidental changes

* Add proper error handling

* Apply review feedback
2022-01-28 17:17:40 +02:00
Karl Persson
e844b263c7 Access control: Load permissions from memory and database (#42080)
* Load permission from both in memory and from database
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2022-01-28 16:11:18 +01:00
Gilles De Mey
26ddeaf3d7 fix: multiple queries in alerting regression (#44585) 2022-01-28 16:05:19 +01:00
Connor Lindsey
45a435ad78 Tempo: Auto-clear results when changing query type (#44390)
* Auto-clear results when changing query type

* Move clear results to function
2022-01-28 07:49:43 -07:00
Marcus Efraimsson
919c451156 Chore: Remove unused sqlstore dependency (#44583)
Removes unused sqlstore dependency from plugin management.

Ref #44260
2022-01-28 06:38:19 -05:00
J Guerreiro
312dd9e315 AccessControl: Add AC to team preferences (#44554)
* AccessControl: Add AC to team preferences

* Apply suggestions from code review

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

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2022-01-28 12:17:54 +01:00
J Guerreiro
2894f07f05 AccessControl: improve denied message (#44551)
* AccessControl: improve denied message

* AccessControl: tweak permission denied
2022-01-28 12:17:24 +01:00
Alex Khomenko
3e0a589ba1 Update @grafana/tsconfig (#44582) 2022-01-28 11:30:06 +01:00
Ashley Harrison
666a794a82 Navigation: Initialise navTree in redux store (#44440)
* Add navTree to redux store and used that in NavBar/NavBarNext

* Use createSlice

* update import

* Use NavBarUnconnected instead of Component
2022-01-28 10:06:52 +00:00
Hugo Häggmark
6de9d241a6 E2E: adds back missing e2e specs (#44576)
* E2E: adds back missing e2e specs

* Chore: removes wrong import directive
2022-01-28 10:39:43 +01:00
Sofia Papagiannaki
4ca8529b76 Devenv: fix permission failures for mysql_tests and postgres_tests docker blocks (#44203) 2022-01-28 11:39:28 +02:00
Marcus Efraimsson
94edd7a762 Plugins: Refactor plugin dashboards (#44315)
Moves/refactor Grafana specific functionality related to plugin dashboards 
out to specific services for importing dashboards and keep app plugin dashboards
up-to-date.

Fixes #44257
2022-01-28 10:28:33 +01:00
renovate[bot]
7e26dbb5ff Update dependency @types/prismjs to v1.26.0 (#44561)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-28 10:07:34 +01:00
renovate[bot]
ba5fb38c9b Update dependency @opentelemetry/api to v1.1.0 (#44560)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-28 10:04:59 +01:00
Gábor Farkas
6e071d030f loki: added benchmark for metric-response processing (#44539) 2022-01-28 09:44:57 +01:00
Konrad Lalik
c6e6e92a80 Alerting: Filtering for notification policies (#44363)
* Add filtering by matching label

* Add label and contact based filters to Notification policies

* Improve filters UI, add clear filters option

* Add clearing of filters before switching to adding mode

* Move filtering code to the AmRoutesTable component

* Fix the clearing of silences filter

* Remove key-based input resetting

* Use uniqueId for input key generation

* Add tests for notification policies filtering
2022-01-28 09:40:05 +01:00
Alex Vandiver
844b194f5b Middleware: Don't require HTTPS for HSTS headers to be emitted (#35147)
Grafana itself may not be serving content over HTTPS, but it may be
behind a transparent proxy which does.

Fixes #26770.  Based on #26868.
2022-01-28 07:23:28 +01:00
achatterjee-grafana
7b476c19c2 fix typo (#44564) 2022-01-27 16:33:55 -05:00
Dan Cech
1e89fc157d update snapshots server url (#44563)
* update snapshots server url
* update all old references to snapshot.raintank.io
2022-01-27 16:11:20 -05:00
Marcus Efraimsson
a23900c4ba CodeQL: Ignore go/log-injection for terminal logger (#44481) 2022-01-27 19:01:59 +01:00
Tharun Rajendran
5721933e4b NodeGraph: fix rendering of node graph in dashboard panel (#44552)
Signed-off-by: tharun <rajendrantharun@live.com>
2022-01-27 10:19:54 -07:00
Will Browne
b5dd4842d0 Plugins: Make manager more easily composable (#44467)
* make more easily composable

* fix build
2022-01-27 18:06:38 +01:00
Isabella Siu
d3b8fc53aa CloudMonitoring: Fix resource labels in query editor (#44550) 2022-01-27 11:35:13 -05:00
Todd Treece
4d1f3a3f6c Recorded Queries: Enable by default (#44397) 2022-01-27 11:09:39 -05:00
J Guerreiro
153b231521 AccessControl: Refine interface for AC store (#44536)
* AccessControl: Refine interface for AC store

* Update pkg/services/accesscontrol/database/resource_permissions.go
2022-01-27 16:47:24 +01:00
Levente Balogh
1f4d53805c fix: backport @grafana/levitate to 0.2.0 (#44543) 2022-01-27 16:38:12 +01:00
J Guerreiro
cb6e5ae8ce AccessControl: Add access control actions and scopes to team update and delete
* AccessControl: Add access control actions and scopes to team update and delete

* AccessControl: Add tests for AC guards in update/delete

* AccessControl: add fixed role for team writer

* AccessControl: ensure team related AC is deleted with team

* Update pkg/api/team_test.go
2022-01-27 16:16:44 +01:00
Tania B
1a9c293984 Chore: Remove unused AWS KMS provider's token setting (#44531) 2022-01-27 17:15:49 +02:00
Joey Tawadrous
dc7639354e InfluxDB: interpolate all variables in queries for dash->explore (for influxql) (#44415)
* Moved flux case to its own return

* Added missing template replaces for limit, slimit, tz

* Added missing template replaces for select

* Added missing template replaces for group by

* Added tests

* PR changes
2022-01-27 14:00:46 +00:00
Santiago
1bed84ea56 Fix InfluxDB unhealthy alerts and false "no data"s (#43441)
* check for TimeSeriesTypeNot to fix InfluxDB alerts

* log a warning when a data frame is ignored
2022-01-27 10:53:27 -03:00
Gabriel MABILLE
41c8db16ee Accesscontrol: Feature does not need a license (#44517) 2022-01-27 13:43:12 +01:00
Karl Persson
bf63ccbe00 Access control: Rewrite access control SQL filter (#44488)
* Rewrite access control sql filter
2022-01-27 13:06:08 +01:00
Gábor Farkas
b42161a713 Loki: add from JSON to dataframes tests (#44375)
* Loki: add from JSON to dataframes tests

* fixed wrong content-type

* added -Inf test-case
2022-01-27 12:43:44 +01:00
Giordano Ricci
ea48d131ee Explore: deprecate compact URL encoding & dafault to extended (#44385) 2022-01-27 11:23:56 +00:00
Gábor Farkas
465ed9f5d3 CODEOWNERS: update based on renamed github team (#44495) 2022-01-27 11:47:29 +01:00
Richard Hartmann
a39eeb966b Fix licensing text (#44518)
* Fix licensing text

Signed-off-by: Richard Hartmann <richih@richih.org>
2022-01-27 11:09:39 +01:00
idafurjes
82892331c1 Chore: Remove bus from signup and playlist api (#44485)
* Remove bus from signup and playlist api

* Remove bus from playlist play
2022-01-27 10:33:02 +01:00
Alex Khomenko
28c51cde3a Feature highlights: Highlight team group sync (#44477)
* Highlight team group sync

* Update text
2022-01-27 09:11:57 +02:00
Leon Sorokin
6533eb9244 TimeSeries: disable fill when fillBelowTo field is missing (#44498) 2022-01-26 17:06:11 -06:00
Artur Wierzbicki
5148250366 Rendering service - add optional RenderingSession (#44098)
* rendering service changes:
- make node-renderer request timeout configurable
- introduce optional RenderingSession providing a long-lived session key

* remove console logs

* added comment explaining empty "afterRequest" method

* fix compilation error

* update imports formatting

* Update pkg/services/rendering/interface.go

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

* Update pkg/services/rendering/rendering.go

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

* review fix: extract renderKey related functions/structs to auth.go

* #44449: private'd `rendering.getRequestTimeout`

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
2022-01-27 02:02:19 +04:00
Ryan McKinley
3c334cd8ba Logger: avoid panic when time is a string (not fmt.Stringer) (#44497) 2022-01-26 13:17:42 -08:00
Nathan Marrs
8a7b469679 Resource picker/improve ux (#44402) 2022-01-26 11:29:04 -08:00
idafurjes
58ee553634 Chore: Remove bus from user api (#44468)
* Chore: Remove bus from user api

* Adu authinfoservice interface

* User authinfoservice.Service instead of authinfoservice.Implementation in HTTPServer

* Rename Implementation to authInfoService
2022-01-26 20:24:05 +01:00
Ryan McKinley
5d66194ec5 FeatureFlags: define features outside settings.Cfg (take 3) (#44443) 2022-01-26 09:44:20 -08:00
Serge Zaitsev
84a5910e56 Chore: Remove bus from ngalert (#44465)
* pass notification service down to the notifiers

* add ns to all notifiers

* remove bus from ngalert notifiers

* use smaller interfaces for notificationservice

* attempt to fix the tests

* remove unused struct field

* simplify notification service mock

* trying to resolve issues in the tests

* make linter happy

* make linter even happier

* linter, you are annoying
2022-01-26 16:42:40 +01:00
Gábor Farkas
ad4a9a48d2 CODEOWNERS: update based on o11y squad changes (#44474)
* CODEOWNERS: update based on o11y squad changes

* add back by-mistake deleted part

* move logs-panel to logs-traces-squad
2022-01-26 16:10:38 +01:00
Gabriel MABILLE
d4f682190f AccessControl: Implement teams resource service (#43951)
* AccessControl: cover team permissions

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

* Add background service as a consumer to resource_services

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

* Define actions in roles.go

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

* Remove action from accesscontrol model

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

* As suggested by kalle

* move some changes from branch to the skeleton PR

* Add background service as a consumer to resource_services

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

* moving resourceservice to the main wire file pt2

* move team related actions so that they can be reused

* PR feedback

* fix

* typo

* Access Control: adding hooks for team member endpoints (#43991)

* AccessControl: cover team permissions

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

* Add background service as a consumer to resource_services

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

* Define actions in roles.go

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

* Remove action from accesscontrol model

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

* As suggested by kalle

* add access control to list and add team member endpoint, and hooks for adding team members

* member permission type is 0

* add ID scope for team permission checks

* add more team actions, use Member for member permission name

* protect team member update endpoint with FGAC permissions

* update SQL functions for teams and the corresponding tests

* also protect team member removal endpoint with FGAC permissions and add a hook to permission service

* a few small fixes, provide team permission service to test setup

* AccessControl: cover team permissions

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

* Add background service as a consumer to resource_services

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

* Define actions in roles.go

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

* Remove action from accesscontrol model

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

* As suggested by kalle

* move some changes from branch to the skeleton PR

* remove resource services from wireexts

* remove unneeded actions

* linting fix

* remove comments

* feedback fixes

* feedback

* simplifying

* remove team member within the same transaction

* fix a mistake with the error

* call the correct sql fction

* linting

* Access control: tests for team member endpoints (#44177)

* tests for team member endpoints

* clean up and fix the tests

* fixing tests take 2

* don't import enterprise test license

* don't import enterprise test license

* remove unused variable

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

Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com>
2022-01-26 14:48:41 +00:00
renovate[bot]
46422a82c8 Update dependency @visx/tooltip to v2.8.0 (#44458)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-26 14:43:44 +00:00
renovate[bot]
19340502a6 Update dependency eslint-plugin-jsdoc to v37.7.0 (#44459)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-26 14:42:45 +00:00
Morten Nygaard Åsnes
9e4aafa719 MSSQL: Configuration of certificate verification for TLS connection (#31865)
Fixes #24589

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-01-26 15:00:18 +01:00
Marcus Efraimsson
50fabe8a87 Chore: Implements log15 terminal logger (#44447)
Nicer development/terminal output based on log15 terminal logger.
2022-01-26 12:19:43 +01:00
Mitsuhiro Tanda
d1083b9597 Cloud Monitoring: Reduce request size when listing labels (#44365) 2022-01-26 12:02:42 +01:00
Marcus Efraimsson
7593fc0a20 Provisioning: Fix duplicate validation when multiple organizations have been configured (#44151)
Fix duplicate validation when multiple organizations have been configured. 
This makes sure that all duplicate validation is being made for each organization.

Fixes #44126
2022-01-26 11:33:31 +01:00
Alex Khomenko
55e1c53e36 NavModel: Enable adding suffix elements to tabs (#44155)
* Trigger extra events

* Extend html attributes

* Add suffix to tabs

* Add upgrade routes

* suffix => highlightText

* suffix => suffixText

* Add size prop

* Update prop name

* Convert tabSuffix to a component
2022-01-26 09:15:45 +02:00
Leon Sorokin
a20894c261 Formatters: speed up toDuration() (#44345) 2022-01-25 22:14:59 -06:00
Katarina Yang
92ca38bedf Refactor: Change sqlstore.inTransaction to SQLStore.WithTransactionalDBSession in misc files (#43926)
* Refactor: Change sqlstore.inTransaction to SQLStore.WithTransactionalDBSession in misc files

* Refactor: Change .inTransaction in org.go file

* Refactor: Update init() to proper SQLStore handlers

* Refactor: Update funcs in tests to be sqlStore methods

* Refactor: Update API funcs to receive HTTPServer

* Fix: define methods on sqlstore

* Adjust GetSignedInUser calls

* Refactor: Add sqlStore to Service struct

* Chore: Add back black spaces to remove file from PR

Co-authored-by: Ida Furjesova <ida.furjesova@grafana.com>
2022-01-25 20:30:08 +01:00
Paschalis Tsilias
eed9e5543d Fix link to contribute/documentation page (#44322)
Signed-off-by: Paschalis Tsilias <paschalis.tsilias@grafana.com>
2022-01-25 13:58:48 -05:00
Isabella Siu
50e7ac8d65 CloudMonitoring: use @grafana/google-sdk (#44398) 2022-01-25 13:10:14 -05:00
Nathan Marrs
5c9d2d6b3e Update documentation to to notify of removal of 2 modules from grafana-ui (#44341) 2022-01-25 09:57:12 -08:00
Andres Martinez Gotor
af0ece12f9 CloudMonitoring: Fix fastpass issues (#44277) 2022-01-25 17:28:59 +01:00
Karl Persson
de2c5783fa Access Control: Pass db session to hooks (#44428)
* Move hook calls to database and pass session
2022-01-25 17:12:00 +01:00
Marcus Efraimsson
9ab9fd802b OAuth: Fix parsing of ID token if header contains non-string value (#44159)
Fixes #41111
2022-01-25 17:09:35 +01:00
kay delaney
3c1122cf29 CollapsableSection: Improves keyboard navigation and screen-reader support (#44005) 2022-01-25 15:36:17 +00:00
renovate[bot]
291d8aac7e Update dependency mocha to v9.2.0 (#44372)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-25 15:28:51 +00:00
Will Browne
124bf413a2 make plugin loading for nested plugins more deterministic (#44330) 2022-01-25 16:05:12 +01:00
renovate[bot]
e9375ecd4c Update dependency rollup to v2.66.1 (#44348)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-25 15:59:06 +01:00
renovate[bot]
8f621516ff Update dependency webpack to v5.67.0 (#44338)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-25 15:58:34 +01:00
Marcus Efraimsson
62b69a0b90 Revert "Search: Fix only searching for folder id zero (#44175)" (#44424)
This reverts commit 007cd144a9 from #44175.
2022-01-25 15:04:26 +01:00
Sergey Kostrukov
cb09162cde Datasources: Simplify the AzureCredentials structure in datasource config (#39209)
Related #35857

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-01-25 14:23:32 +01:00
Maria Alexandra
58b8d84085 Old Table: Table is not rendering when col property is undefined (#44129) 2022-01-25 14:22:57 +01:00
Kevin Burke
24efb42f19 app/core/components/TraceToLogsSettings: fix spelling error (#44399)
"Let's" is an abbreviation of "let us", which is not the right use in
this sentence on the settings page.
2022-01-25 12:42:48 +01:00
Dimitris Sotirakis
ef35cb5318 Update grabpl version (#44410) 2022-01-25 09:40:26 +01:00
Torkel Ödegaard
566556fea2 QueryEditors: Restore query editor margin to what old value (#44384) 2022-01-25 09:19:39 +01:00
Alex Khomenko
aead2e9157 Navigation: allow adding extra content (#44048)
* Add PRO badge

* Allow adding extra content

* Add extra content for the new navbar

* Use highlight text instead of extra content

* Trigger extra events

* Remove ExtraContent

* Update public/app/core/components/NavBar/NavFeatureHighlight.tsx

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>

* Remove redundant i

* Add UpgradeBox

* Move highlight to menu trigger

* Clear navbar next

* Cleanup

* Fix UpgradeBox styles

* Add arrow icon

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-01-25 10:04:44 +02:00
Ryan McKinley
c0fc60dfef Table: default display for geometry fields (#44347) 2022-01-24 16:10:36 -08:00
idafurjes
dbb2d3af73 Chore: Fix attribute value (#44368)
* Fix attribute value

* Fix also the value for opentracing
2022-01-24 18:17:39 +01:00
Ryan McKinley
b88811e2af DataFrame: deprecate/remove field.parse(any) (#44299) 2022-01-24 16:27:35 +00:00
Erin Noe-Payne
ac945fb6e1 Tempo / Trace Viewer: Implement deep linking to spans 2022-01-24 08:49:35 -07:00
Igor Suleymanov
fdeaf7a5c4 Add nil checks to HTTP request validation dispatch (#44371)
Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
2022-01-24 16:43:44 +01:00
Peter Holmberg
a7423d8760 Alerting: Fix Card link in legacy alerting items (#44094)
* remove href

* revert yarn.lock
2022-01-24 16:16:55 +01:00
Agnès Toulet
65bdb3a899 FeatureFlags: Revert managing feature flags outside of settings.Cfg (#44382)
* Revert "FeatureToggles: register all enterprise feature toggles (#44336)"

This reverts commit f53b3fb007.

* Revert "FeatureFlags: manage feature flags outside of settings.Cfg (#43692)"

This reverts commit f94c0decbd.
2022-01-24 16:08:05 +01:00
Guilherme Caulada
29268483c2 HTTPServer: Implement named middlewares (#44231)
* Implement named middlewares on http server

* Fix minor ordering issue with named middlewares
2022-01-24 10:41:18 -03:00
Gábor Farkas
9161f9d2e1 prometheus: added json-loading benchmark (#44309) 2022-01-24 14:39:26 +01:00
J Guerreiro
84c89ec61e Docs: Add usage stats preview to doc (#43995)
* Docs: Add usage stats preview to doc

* Fix: remove permissions references
2022-01-24 14:24:58 +01:00
renovate[bot]
80c79bcdc2 Update dependency lint-staged to v12.3.1 (#44354)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-24 04:56:05 -08:00
renovate[bot]
52a55e69e9 Update dependency stylelint to v14.3.0 (#44355)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-24 04:55:51 -08:00
Zoltán Bedi
f16047660a StateTimeline: Show more precise duration (#44046)
* StateTimeline: Show more precise duration

* Add Leon's calculation

* Change to 30 days

Remove console logs. Add more tests.
2022-01-24 13:32:55 +01:00
Jack Westbrook
ed7552db79 Renovate: Separate storybook from monthly patches (#44373) 2022-01-24 12:44:36 +01:00
idafurjes
00c389933b Chore: Remove bus from team (#44218)
* Remove bus from team

* Fix api team test

* Remove bus from team members
2022-01-24 11:52:35 +01:00
Jack Westbrook
c8406baac2 Storybook: Bump to 6.4.13 (#44091)
* chore(storybook): bump to 6.4.13

* revert(yarnrc): put back double quotes

* chore(storybook): fix issues with resolving process

* revert(yarnrc): put back storybook packageExtensions

* refactor(storybook): move process resolution fix to function. update comments
2022-01-24 11:50:34 +01:00
Gábor Farkas
0f8b0dc301 prometheus: refactor test (#44358) 2022-01-24 11:08:41 +01:00
Dominik Prokop
7ee7dfda2b Stacking: Ignore null/undefined-only stacks instead of assuming 0 value (#44359) 2022-01-24 10:49:47 +01:00
Timur Olzhabayev
c3f69cc4d9 Adding reload to datasourceSrv (#44217) 2022-01-24 10:45:05 +01:00
Tharun Rajendran
732c2ebb37 Explore: show scalar data result in a table instead of graph (#44362)
Signed-off-by: tharun <rajendrantharun@live.com>
2022-01-24 10:22:06 +01:00
Tim Levett
641e34e341 Bug: Fixed User API Link (#44342)
Very minor fix to complete the User API link.
2022-01-23 06:33:50 +01:00
Nathan Marrs
76827c2069 Refactor: move threshold editor out of grafana-ui (#44300) 2022-01-21 16:17:33 -08:00
Jeff Levin
c8154b9fe2 Datasource API: #32556 resolve readonly datasources can be modified (#44186)
* Check if datasource is read-only when making an update
* Standardize api returning a 404 if datasource is not found while making an update

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>, Jesse Weaver<pianohacker@gmail.com>
2022-01-21 14:22:43 -09:00
Leon Sorokin
79ec3ec54c TimeSeries: prevent threshold line color from affecting grid lines (#44337) 2022-01-21 17:19:53 -06:00
Ryan McKinley
082b1b4db7 Geomap: add spatial transformers (alpha) (#44020) 2022-01-21 14:27:26 -08:00
Ryan McKinley
f53b3fb007 FeatureToggles: register all enterprise feature toggles (#44336) 2022-01-21 20:36:28 +01:00
Marius Bezuidenhout
9fc0aee02b Feature/mathandreduce (#41608)
* Added new math functions: round, ceil, floor 
* Added a new reduce function: last.
2022-01-21 13:15:50 -05:00
Jason Walton
5d0bc9e933 docs: Fix URL for Github callback in OAuth. (#41122) 2022-01-21 10:57:44 -05:00
Andres Martinez Gotor
addeba7f05 AzureMonitor: Allow template variables in the subscription field (#44312) 2022-01-21 16:50:13 +01:00
Yuriy Tseretyan
ce0ef0ef5e create only one folder per dashboard with acl (#44283) 2022-01-21 10:24:41 -05:00
JM
8a21385481 Docs: add API pages to HTTP API list (#42997)
* add API pages to HTTP API list

* fix capitalization of page names
2022-01-21 10:19:11 -05:00
Greg Myers
c1ff35a7ee Fix typos in READMEs (#44084)
packaging/docker/README.md:31: compatability ==> compatibility
public/app/plugins/panel/debug/README.md:5: performace ==> performance
2022-01-21 16:10:48 +01:00
Christopher Norris
f2da409703 Chore: fix typo (#44188) 2022-01-21 15:58:40 +01:00
Dominik Haßelkuss
d7683aaa17 Docs: fixed typo (#42784) 2022-01-21 15:54:04 +01:00
Josh Hunt
bddf3d7558 Chore: Correctly escape strings in JSONFormatter (#44096)
* Chore: Properly escape double-quotes in strings in JSONFormatter

* escape slashes
2022-01-21 14:51:59 +00:00
Jean-Philippe Quéméner
8ee3f59cd4 Alerting: recognize Cortex datasources correctly in the frontend (#44316)
* Alerting: always use msg field for user facing errors

* fix: revert front-end Cortex detection

Co-authored-by: gillesdemey <gilles.de.mey@gmail.com>
2022-01-21 15:44:11 +01:00
Ashley Harrison
e1af78954f Only modify table spacing (#44313) 2022-01-21 13:38:13 +00:00
Marcus Efraimsson
007cd144a9 Search: Fix only searching for folder id zero (#44175)
Fixes so that searching for folder id zero in folder/dashboard search returns 
dashboards located in the general folder and not including all folders as it 
did before.

Fixes #40273
2022-01-21 13:51:58 +01:00
Will Browne
da98ebdcdf Plugins: Remove old code related to Core plugin installs (#44311)
* remove old code

* remove even more

* skip flaky test
2022-01-21 13:38:04 +01:00
Yaelle Chaudy
164ce63e28 CloudWatch: Fix MetricName resetting on Namespace change (#44165)
* Added tests for wanted behavious in MetricsStatEditor

* Removed wrong import

* Updated MetricStatEditor to add new behaviour

* Updated tests to use react-select-event

* removed unused export

* Adding check for empty string in select value and force null

* clean up

* added check to avoid call to getMetric if there is no metricName selected

* removed todo

* removed empty lines

* Moved external import to top

* Refactored tests to copy props rather than overriding them
2022-01-21 12:19:09 +01:00
renovate[bot]
5b7e05cde0 Update dependency sass to v1.49.0 (#44214)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-21 10:38:59 +00:00
renovate[bot]
9371690645 Update dependency cypress to v9.3.1 (#44206)
* Update dependency cypress to v9.3.1

* Upgrade cypress image

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2022-01-21 11:34:36 +01:00
Torkel Ödegaard
f3859f8b60 Templating: Fixes flickering of repeated panels and rows (#43399) 2022-01-21 11:26:40 +01:00
Will Browne
3cb0fb3ddc fix and add test (#44286) 2022-01-21 11:00:20 +01:00
renovate[bot]
1ae155d2b1 Update dependency lint-staged to v12.2.2 (#44213)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-21 09:52:47 +00:00
renovate[bot]
53dfae3c86 Update dependency rollup to v2.65.0 (#44302)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-21 09:37:03 +00:00
renovate[bot]
ed03a607b7 Update dependency rc-cascader to v3 (#44241)
* Update dependency rc-cascader to v3

* type changes for rc-cascader v3

* kick drone

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-01-21 09:29:32 +00:00
renovate[bot]
a638cfbcaa Update dependency @visx/event to v2.6.0 (#44292)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-21 08:24:23 +00:00
Ikko Ashimine
3be082b2bf Transformers: fix typo in convertFieldType.ts (#44297) 2022-01-21 04:48:19 +00:00
Nathan Marrs
c6e853a13c Refactor: Move Value Mappings to Grafana public instead of Grafana UI (#44237) 2022-01-20 20:36:34 -08:00
Dave Henderson
3d865a3687 Update dependency github.com/influxdata/influxdb-client-go/v2 to v2.6.0 (#44225)
Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2022-01-20 23:31:16 +01:00
Ryan McKinley
f94c0decbd FeatureFlags: manage feature flags outside of settings.Cfg (#43692) 2022-01-20 13:42:05 -08:00
Will Browne
7fbc7d019a Plugins: Core plugins register via backend factory provider (#43171)
* refactoring store interface and init flow

* fix import

* fix linter

* refactor resource calling

* load with class

* re-order args

* fix tests

* fix linter

* remove old creator

* add custom config struct

* fix some tests

* cleanup

* fix

* tackle plugins

* fix linter

* refactor and fix test

* add connect failure error

* add fix for azure, cloud monitoring and test data

* restructure

* remove unused err

* add fake tracer for test

* fix grafana ds plugin
2022-01-20 18:16:22 +01:00
Ryan McKinley
2fd76ecaf7 TestData: use CodeEditor for csv content (#44239) 2022-01-20 09:05:36 -08:00
Dimitris Sotirakis
22eb2df602 E2E: Rename end-to-end-tests-server to grafana-server (#44249)
* Rename to grafana-server / move scripts into new directory

* Change grafana-server step command

* Change scripts paths

* Use test grabpl version

* Update run-suite script

* Further name updates

* Update grabpl version

* Update contribute/style-guides/e2e-core.md

Co-authored-by: Maria Alexandra <239999+axelavargas@users.noreply.github.com>

Co-authored-by: Maria Alexandra <239999+axelavargas@users.noreply.github.com>
2022-01-20 17:01:00 +00:00
Eric Leijonmarck
9ccc7ec76e Serviceaccounts: convert selection of apikeys to serviceaccounts (#44154)
* convert selected of apikeys to serviceaccounts

* update to use one by one

* expose endpoint of service account
2022-01-20 16:51:18 +01:00
Dominik Prokop
7bf25f62e1 Cursor sync: Apply the settings without saving the dashboard (#44270)
* Cursor sync: Apply the settings without saving the dashboard

* Remove unnecessary code

* Lint god damn
2022-01-20 16:38:10 +01:00
renovate[bot]
ab4aa86e67 Update dependency css-minimizer-webpack-plugin to v3.4.1 (#44205)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-20 15:35:23 +00:00
kay delaney
cc6839a21d TablePanel: Make column headers keyboard-friendly (#44267) 2022-01-20 14:31:27 +00:00
Timur Olzhabayev
ebbb283d75 fix(40590): bundle the readme files of datasources inside app plugins (#44068) 2022-01-20 14:13:31 +00:00
Todd Treece
f4a0f21b3c Chore: Update grafana-plugin-sdk-go and containerd dependencies (#44226) 2022-01-20 09:06:26 -05:00
Isabella Siu
2c3bed1f4b CloudWatch: remove unused "live" log code (#44185) 2022-01-20 08:58:39 -05:00
Kyle Brandt
74193b3c1b SSE: Remove beta tooltip (#43912) 2022-01-20 08:52:36 -05:00
kay delaney
a728e9b4dd MixedDatasource: Fixes infinite loop with empty query panel (#44265)
* MixedDatasource: Fixes infinite loop with empty query panel
2022-01-20 13:12:45 +00:00
idafurjes
30aa24a183 Chore: Implement OpenTelemtry in Grafana (#42674)
* Separate Tracer interface to TracerService and Tracer

* Fix lint

* Fix:Make it possible to start spans for both opentracing and opentelemetry in ds proxy

* Add span methods, use span interface for rest of tracing

* Fix logs in tracing

* Fix tests that are related to tracing

* Fix resourcepermissions test

* Fix some tests

* Fix more tests

* Add TracingService to wire cli runner

* Remove GlobalTracer from bus

* Renaming test function

* Remove GlobalTracer from TSDB

* Replace GlobalTracer in api

* Adjust tests to the InitializeForTests func

* Remove GlobalTracer from services

* Remove GlobalTracer

* Remove bus.NewTest

* Remove Tracer interface

* Add InitializeForBus

* Simplify tests

* Clean up tests

* Rename TracerService to Tracer

* Update pkg/middleware/request_tracing.go

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

* Initialize tracer before passing it to SQLStore initialization in commands

* Remove tests for opentracing

* Set span attributes correctly, remove unnecessary trace initiliazation form test

* Add tracer instance to newSQLStore

* Fix changes due to rebase

* Add modified tracing middleware test

* Fix opentracing implementation tags

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-01-20 11:10:12 +01:00
Jack Westbrook
5b61273497 CI: Update breaking changes workflow to compare against main (#44097)
* ci(breaking-changes): split into separate builds for pr and main

* ci(breaking-changes): add path for npm install steps

* ci(breaking-changes): fix up workflow, update bash script
2022-01-20 10:20:32 +01:00
Dominik Prokop
0a5771ee6b TimeSeries/BarChart/XYChart: Allow hiding x axis (#44107)
* TimeSeries/BarChart/XYChart: Allow hiding x axis

* Update public/app/plugins/panel/barchart/utils.ts

Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>

* Migrations

Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
2022-01-20 00:38:32 -08:00
Dominik Prokop
9f0889c402 TablePanel: Makes footer not overlap table content (#44210) 2022-01-20 00:37:49 -08:00
Andres Martinez Gotor
46caa1af66 AzureMonitor: Request multiple pages of resource names (#44208) 2022-01-20 09:30:09 +01:00
Alexander Emelin
239ead8d8e Fix WebSockets configuration for Nginx (#44148) (#44211)
Co-authored-by: Gleb Goncharov <gongled@gongled.ru>
2022-01-20 10:14:45 +03:00
Kyle Cunningham
6958de846c Accessibility Fixes for Several SQL Based Query Editors (#43981)
* Fix postgres QE a11y label issue

* Add aria-label to query-editor

* Remove unecessary element ID.

* Use aria-labeledby instead of aria-label

* Prefer aria-labelby with dynamic ids

* Prefer "for" over aria-labeledby

* Prefer "for" over aria-labeledby for MSSQL QE
2022-01-19 15:56:33 -06:00
Kyle Cunningham
febc24522d Accessibility Fixes for Several SQL Based Datasource Config Pages (#43982)
* Add label elements for select boxes: MSSQL config

* Add Permission level label

* Add aria-label for password field

* Fixes for Postgres a11y page

* Fix whitespace error

* Swap aria-labelby for "for"

* Prefer "for" over aria-labeledby
2022-01-19 15:53:54 -06:00
Katarina Yang
61974383d7 Refactor: Change sqlstore.inTransaction to SQLStore.WithTransactionalDBSession in alert files (#43815)
* Refactor: Change sqlstore.inTransaction to SQLStore.WithTransactionalDBSession in alert files

* Fix: Revert second SaveAlerts back to normal func

* Refactor: Update tests so functions are now SQLStore methods

* Fix: Refactor pauseAlert and pauseAllAlerts to be SQLStore methods

* Fix: Refactor SaveAlerts to be SQLStore method

* Refactor: Update SaveAlerts func signature to have correct arguments

* Refactor: Define sqlStore

* Chore: Delete commented out code

* Chore: Remove unused SaveAlertsCommand
2022-01-19 19:25:52 +00:00
kosssi
f6b385f0ca docs: Move password information on password smtp section (#42370)
*What this PR does / why we need it:*

The password information is on [enabled section](https://grafana.com/docs/grafana/latest/administration/configuration/#enabled), I move it on [password section](https://grafana.com/docs/grafana/latest/administration/configuration/#password-1).
2022-01-19 12:16:59 -05:00
Dimitris Sotirakis
27fbe82bf1 Remove test-release pipelines (#44220) 2022-01-19 16:42:40 +00:00
Eric Leijonmarck
bf4c217b95 Serviceaccounts: refactor list using server admin page (#44122)
* refactor: use server admin listing serviceaccounts

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

* setup route for specifc service account

* add routes to index

* main issue with spelling mistakes

* feat: make routes /serviceacconts/id for navModel

Co-authored-by: Jguer <joao.guerreiro@grafana.com>
Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>

* Update pkg/services/serviceaccounts/manager/service.go

Co-authored-by: Jguer <joao.guerreiro@grafana.com>
Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
2022-01-19 17:03:45 +01:00
Josh Hunt
9f97f05fcc DashboardSettings: Prevent Dashboard permissions from linking to folder permissions when user does not have sufficient permissions (#44212)
* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* add tests

* fix up

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Co-authored-by: Alexandra Vargas <alexa1866@gmail.com>
Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
2022-01-19 16:27:33 +01:00
Alexander Zobnin
dc913f2311 Access control: fetch role options only if user has permissions (#44201)
* Access control: fetch role options only if user has permissions

* Fix org/users page
2022-01-19 16:15:52 +03:00
Dimitris Sotirakis
46280848d8 CI: Release automation fixes (#44200)
* Change bucket

(cherry picked from commit f7b85c5dd9)

* Make publish-packages depend on publish-artifacts pipeline

(cherry picked from commit 1c91e84f17)

* Change bucket for windows .msi installers

(cherry picked from commit 5ce49e48df)
2022-01-19 15:12:57 +02:00
Ashley Harrison
d4d306d825 Dashboard: Prevent Mixed datasources using the test datasource crashing (#44128)
* Special case mixed datasources... :/

* Revert "Special case mixed datasources... :/"

This reverts commit dd0e3ea4a8.

* Ensure testdata persists datasource when switching scenario

* Add a unit test to prevent regressions

* kick drone
2022-01-19 13:04:35 +00:00
renovate[bot]
2c75b444c0 Update dependency ol to v6.12.0 (#43651)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-19 11:58:28 +00:00
Fredrik Enestad
93a8ce6292 Governance: Update Fredrik Enestad (#43871) 2022-01-19 11:52:48 +00:00
renovate[bot]
0f38afffe3 Update dependency mini-css-extract-plugin to v2.5.2 (#44069)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-19 11:47:13 +00:00
renovate[bot]
9bec3b34dc Update dependency axios to v0.25.0 (#44163)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-19 11:36:50 +00:00
renovate[bot]
527f1e8a84 Update typescript-eslint monorepo to v5.10.0 (#44134)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-19 11:35:38 +00:00
renovate[bot]
633da39d53 Update dependency rollup to v2.64.0 (#44053)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-19 11:34:21 +00:00
Gabriel MABILLE
fc405ea9da AccessControl: Make Permissions component customizable (#43992)
* Setting default values for props

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

* Using table instead

Co-authored-by: Kalle Persson <kalle.persson@grafana.com>
2022-01-19 12:19:46 +01:00
Ashley Harrison
e9f8b40e18 Chore: remove e2e/build_results.zip and add to .gitignore (#44197) 2022-01-19 10:50:55 +00:00
Gabriel MABILLE
ba839d1f7c AccessControl: Refactor addAccessControlQueryParam (#44191)
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2022-01-19 11:27:45 +01:00
Agnès Toulet
99cdb56f72 Analytics: add experimentview events (#44120)
* Analytics: add experimentview event

* remove ref to feature-highlights

* Experimentview -> ExperimentView
2022-01-19 11:07:18 +01:00
Ashley Harrison
252645b330 Playlists: Enable sharing direct links to playlists (#44161)
* Special case mixed datasources... :/

* Hacky implementation of playlist share modal

* Refactor StartModal into PlaylistSettingsModal

* Revert "Refactor StartModal into PlaylistSettingsModal"

This reverts commit e71fc33865.

* Create new ShareModal component

* Revert "Special case mixed datasources... :/"

This reverts commit dd0e3ea4a8.

* PlaylistMode instead of PlaylistModes

* kick drone
2022-01-19 09:44:29 +00:00
J Guerreiro
7dab52869e ServiceAccounts: Add detail view of service account (#44164)
* ServiceAccounts: Add detail view of service account

Co-authored-by: eleijonmarck <eric.leijonmarck@gmail.com>

* ServiceAccount: Make detail view scopeID

Co-authored-by: eleijonmarck <eric.leijonmarck@gmail.com>

* ServiceAccount: fix lint error

Co-authored-by: eleijonmarck <eric.leijonmarck@gmail.com>

Co-authored-by: eleijonmarck <eric.leijonmarck@gmail.com>
2022-01-19 10:23:46 +01:00
Dessen Xu
8917e66eb4 Fix kiosk bug (#43152)
* fix_kiosk_bug

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
Co-authored-by: Sofia Papagiannaki <sofia@grafana.com>
2022-01-19 10:58:22 +02:00
Jeremy Price
6ae7b0c3b2 Accesscontrol: list tokens for service account (#43809)
* Add list tokens endpoint

* Update api.go

Co-authored-by: J Guerreiro <joao.guerreiro@grafana.com>
2022-01-19 09:55:38 +01:00
Christopher Moyer
449c608ef1 Docs/panel refactor (#43569)
* new refactored panel docs

* fixed links

* removed xtra sharing link, added links to panel display option tasks

* fixed typo

* add aliases

* incorporate PM feedback

* intermediate commit to resolve merge conflict

* final changes to resolve merge conflicts
2022-01-18 15:06:27 -06:00
Travis Patterson
959723050f Fix change to mixed bahavior (#44179)
- If the datasource is already set to mixed, don't change any queries in the editor
2022-01-18 13:54:51 -07:00
Nathan Rodman
b98a1d79cf Alerting: mute timing improvements (#43940)
* mute timing table ui fixes

* add options for CTA to use link

* fix validation for time range
2022-01-18 10:46:36 -08:00
Andres Martinez Gotor
fe46a5afe7 AzureMonitor: Scroll to selected resource in the resource picker (#43976) 2022-01-18 18:01:03 +01:00
Gabriel MABILLE
54280fc9d7 AccessControl: Resolve attribute based scopes to id based scopes (#40742)
* AccessControl: POC scope attribute resolution

Refactor based on ScopeMutators

test errors and calls to cache

Add comments to tests

Rename logger

Create keywordMutator only once

* AccessControl: Add AttributeScopeResolver registration

Co-authored-by: gamab <gabriel.mabille@grafana.com>

* AccessControl: Add AttributeScopeResolver to datasources

Co-authored-by: gamab <gabriel.mabille@grafana.com>

* Test evaluation with translation

* fix imports

* AccessControl: Test attribute resolver

* Fix trailing white space

* Make ScopeResolver public for enterprise redefine

* Handle wildcard

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

Co-authored-by: jguer <joao.guerreiro@grafana.com>
2022-01-18 17:34:35 +01:00
Grot (@grafanabot)
7a622422a9 ReleaseNotes: Updated changelog and release notes for 7.5.13 (#44173) 2022-01-18 18:33:58 +02:00
Dimitris Sotirakis
3d6c905eb8 Update latest.json (#44172) 2022-01-18 17:20:16 +01:00
Grot (@grafanabot)
978d6fd72b ReleaseNotes: Updated changelog and release notes for 8.3.4 (#44171) 2022-01-18 18:13:59 +02:00
Dimitris Sotirakis
c1ba0afdc7 GetUserInfo: Return an error if no user was found (#44169)
* return an error if no user was found

* Update database.go

Co-authored-by: Kevin Minehart <kmineh0151@gmail.com>
2022-01-18 17:03:16 +01:00
renovate[bot]
2048060df0 Update dependency react-calendar to v3.6.0 (#44121)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-18 07:10:11 -08:00
Shirley
75263ed7cc Use ids instead of aria-labels (#44012) 2022-01-18 14:31:51 +01:00
Karl Persson
acb791bdd6 Disable select when permissions is not managed or if user does not have (#44144)
* Disable select when permissions is not managed
2022-01-18 12:45:14 +01:00
Dimitris Sotirakis
118cc0d735 Replace docker-puppeteer with the one in grafana dockerhub repo (#44145) 2022-01-18 12:23:21 +01:00
Javier Palomo
bc74d44cee Circleci: remove unused config (#44136)
CircleCI is being triggered but there are no workflows being executed.
CI is driven by Drone.
2022-01-18 09:02:44 +00:00
Dominik Prokop
2561864767 Table panel: Migrate time series aggregation Current to Last not null, instead of last (#44113) 2022-01-18 00:34:56 -08:00
Andres Martinez Gotor
4e1c7e868e Cloudwatch: use the backend HTTP client provider (#44036) 2022-01-18 09:34:12 +01:00
Timur Olzhabayev
fffd4c10b7 chore(checks): skip draft PRs (#43519)
* chore(checks): skip draft PRs for PR checks action
2022-01-17 19:16:33 +01:00
Josh Hunt
36983d8d3b Chore: Mark up User Profile page for translation (#43874)
* Mark up User profile page for translation

* Extract new messages

* updated selectors

* update selectors

* wip TestProvider

* update tests

* fix field labels

* extract new messages

* don't store date objects in redux state

* don't store date objects in redux state
2022-01-17 16:58:49 +00:00
malcolmholmes
6d072ad84d Split prepare-release (#44124) 2022-01-17 16:00:53 +00:00
Gabi Davar
c4b345cfc4 Fix issue link (#42891) 2022-01-17 15:40:46 +00:00
malcolmholmes
cc9cbb8fab Release: remove bump from prepare release action (#44111) 2022-01-17 15:18:13 +00:00
Alexander Zobnin
867ca5b59e Access control: Team role picker (#43418)
* Refactor: move fetching from role picker to parent component

* Make built in role props optional

* Initial team role picker

* Add role picker to the teams list

* Optimize fetching roles

* Add pagination for the teams page

* Fix tests

* Hide roles if access control not enabled

* Fix test snapshots

* Refactor: use useAsync() hook

* Refactor: simplify input component

* Move api calls to separate file

* Refactor: use useAsync() hook for user role picker

* Tweak role picker input width

* Fix pagination

* Update test snapshots

* Use loading state from useAsync() hook

* Fix roles label if no roles assigned
2022-01-17 18:04:54 +03:00
Jack Westbrook
e888a40531 Plugins: Add notices to docs to prevent NPX commands from hanging (#44043)
* docs(plugins): add notice about npm 7 flag to prevent commands from hanging

* 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-01-17 15:58:36 +01:00
Erik Sundell
5ae5a2e0d0 Azure Monitor: Improved error messages for variable queries (#43213) 2022-01-17 15:51:56 +01:00
Erik Sundell
715166baf3 CloudMonitoring: Fixes broken variable queries that use group bys (#43914) 2022-01-17 15:51:24 +01:00
Piotr Jamróz
9fb8339f87 Elastic: Allow using long/int as date field for alerts (#44027)
* Use integers for time range filter

Previously it was passed as a string which is automatically converted by Elastic to a number only if the field type is "date". For other types (e.g. "long") such conversion doesn't work. In theory "date" could be passed as a formatted string but we don't use it this way and always pass it as a number so it is safe to always pass numbers, not strings.

* Fix time_series_query_test

* Retrigger build
2022-01-17 15:45:09 +01:00
Ivana Huckova
e704110f74 Prometheus: Fix interpolation of $__rate_interval variable (#44035)
* Name fields based on targets length

* Remove rounding in rate interval variable replacing

* Refactor and fix edge  case when interval and time duration would be rate interval

* Add tests

* Remove , from test

* Revert "Name fields based on targets length"

This reverts commit 5dcb34a765.
2022-01-17 15:32:23 +01:00
Gilles De Mey
bd9df4f829 Alerting: show deleted datasource (#43891) 2022-01-17 14:30:00 +01:00
William Assis
f6b70e0a69 Dashboard save interaction evt (#43304) 2022-01-17 14:07:36 +01:00
Hugo Häggmark
4b4afc7b2c Chore: reduces circular dependencies for variables/utils.ts (#44087)
* Chore: move constants to own file

* Chore: moves safe* functions to grafana/data

* Chore: moves safe* functions to grafana/data

* Chore: adds VariableQueryEditorProps and deprecates VariableQueryProps

* Chore: remove getDefaultVariableAdapters function

* Chore: moves transaction status to types

* Chore: fix tests that do not initialise TemplateSrv

* Chore: change space when stringifying

* Chore: revert safe* func move

* Chore: remove circular dependency in Explore utils
2022-01-17 12:48:26 +01:00
Ashley Harrison
aa00af8f2d Chore(CodeQL): Add noopener noreferrer to external links in email templates (#44092)
* Add noopener noreferrer to external links in email templates

* missed one...

* kick drone
2022-01-17 11:17:43 +00:00
Ashley Harrison
c618339482 Export: Fix error being thrown when exporting dashboards using query variables that reference the default datasource (#44034)
* handle undefined datasources, add unit test

* slightly nicer
2022-01-17 10:21:13 +00:00
Will Browne
a65ce992c1 fix delete plugin dashboard (#44055) 2022-01-17 10:33:42 +01:00
Karl Persson
f75e4d1a4f Access Control: Allow signed in users access to GET data sources endpoints (#43338)
* remove scopes from endpoints and add datasources:read without scope to
the compatibility role
2022-01-17 10:16:12 +01:00
Eric Leijonmarck
f763be8f0f small fix 🙏 (#44089) 2022-01-17 10:01:01 +01:00
renovate[bot]
d4362ea5a8 Update dependency marked to v4.0.10 [SECURITY] (#44078)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-16 23:47:48 -08:00
ying-jeanne
7422789ec7 Remove Macaron ParamsInt64 function from code base (#43810)
* draft commit

* change all calls

* Compilation errors
2022-01-15 00:55:57 +08:00
ToTheMax
bd8791aced Fixed broken links in documentation (#44044)
* Fixed broken link

* Fixed broken contribute documentation link

* Consistent relative contribute-folder url
2022-01-14 10:24:24 -05:00
Giordano Ricci
6b1321dbfa Elasticsearch: Fix QueryEditor styling issues (#44041) 2022-01-14 14:58:25 +00:00
Joker
3239c62a24 Explore: Support custom display label for exemplar links for Prometheus datasource (#42732)
* Add custom URL label, docs for prometheus exemplar
2022-01-14 14:52:00 +00:00
Giordano Ricci
cb27c9cd6f Elasticsearch: Fix handling multiple datalinks for a single field (#44029) 2022-01-14 14:05:23 +00:00
Shirley
9f404daf9f Cloudwatch: Improve accessibility in metrics search and query builders (#43997)
* Add more aria labels on metrics search and query builders

* Use id for Input
2022-01-14 14:56:00 +01:00
Dimitris Sotirakis
9fc46b19e3 Update grabpl version to 2.8.4 (#44045) 2022-01-14 15:54:16 +02:00
Will Browne
7694fff0ef [WIP] Plugins: Refactoring backend initialization flow (#42247)
* refactoring store interface and init flow

* fix import

* fix linter

* refactor resource calling

* load with class

* re-order args

* fix tests

* fix linter

* remove old creator

* add custom config struct

* fix some tests

* cleanup

* fix linter

* add connect failure error

* remove unused err

* convert test over
2022-01-14 13:30:39 +01:00
Hugo Häggmark
7ffefc069f Variables: Handle variable cancellations better (#43987)
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.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-01-14 11:19:42 +01:00
Gabriel MABILLE
11fa9801f2 AccessControl: Provisioning for teams (#43767)
* AccessControl: Provisioning for teams

* Docs: Add fixed role team assignment to full example

Co-authored-by: gamab <gabi.mabs@gmail.com>

Co-authored-by: Jguer <joao.guerreiro@grafana.com>
2022-01-14 10:28:06 +01:00
J Guerreiro
1e9818a69f Add usage stats preview endpoint (#43899)
* Stats: add preview route for usage statistics

* Stats: respect reporting settings

* Stats: add tests to api endpoint

* Stats: unregister route

* Stats: always possible to preview stats

* Update pkg/infra/usagestats/service/api.go

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

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2022-01-14 10:16:07 +01:00
Gábor Farkas
bedc5cccaa prometheus: fix auto-inserting null-timestamps at the end (#44022) 2022-01-14 09:25:15 +01:00
Ryan McKinley
f3dcfb2e3e Chore: update openlayers dependencies (#44019) 2022-01-13 22:32:13 -08:00
Ryan McKinley
fd8baf5f7d Gazetteer: reactor so the source is a DataFrame (#43783) 2022-01-13 17:15:31 -08:00
Alexander Weaver
c68eefd398 Alerting: Add abstraction layer and testing hooks in front of SMTP dialer (#43875)
* Add abstraction layer above SMTP communication

* Fix issues with attachments and sync command

* Tests for bad SMTP behavior

* Separate tests between async and sync entry points. Test difference between them

* Return interface so Wire can properly map types

* Address feedback from George
2022-01-13 15:19:15 -06:00
Yuriy Tseretyan
8114f6b065 Use stack trace context in XORM trace logger (#43780)
* add caller and stack Valuer functions
* Add WithPrefix and WithSuffix similar to what go-kit offers
* replace New with just `with`. Remove filter wrapper because the first argument of the context argument is not logger but additional context.
* update Xorm logger to use custom depth to display the datastore code instead of xorm
2022-01-13 13:30:28 -05:00
Nathan Marrs
54b120505e ValueMappings: support settings icons in field value mappings (#43942) 2022-01-13 10:06:40 -08:00
Emil Tullstedt
25736b6afb Auth: implement auto_sign_up for auth.jwt (#43502)
Co-authored-by: James Brown <jbrown@easypost.com>
2022-01-13 17:15:22 +01:00
Ashley Harrison
45287b4129 Button: Only set pointer-events: none; on disabled LinkButtons (#44006) 2022-01-13 15:58:21 +00:00
Connor Lindsey
17f7f0dc93 Tempo: Update service graph linked queries from totals to rates (#43866)
* Tempo: Update service graph linked queries from totals to rates

* Interpolate server name and interval
2022-01-13 16:28:20 +01:00
Gilles De Mey
55ec05b560 Alerting: remove dead code (#43956) 2022-01-13 16:23:49 +01:00
renovate[bot]
274abf53ba Add copy-webpack-plugin to ignore list for now (#41965)
* Update dependency copy-webpack-plugin to v10

* Ignore copy webpack plugin for now

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2022-01-13 14:58:26 +01:00
Ezequiel Victorero
13223140ad Disable server stats buttons when user doesn't have permissions to access those links (#43603) 2022-01-13 10:42:09 -03:00
Karl Persson
f999910dc6 Access control: Add access control sql filter to org user queries (#43961)
* Add access control SQL filter to org user queries
2022-01-13 14:40:32 +01:00
Eric Leijonmarck
ccd9e46dda changed route on the serviceaccounts endpoint (#43989)
* changed route on the serviceaccounts endpoint

* refactor: change to base url variable

* tests fixed
2022-01-13 14:15:43 +01:00
Agnès Toulet
14b92b75c7 Docs: Update SAML settings (#43271)
* Docs: Update SAML settings

* update to follow implementation change

* update example SAML configuration
2022-01-13 14:04:02 +01:00
Dimitris Sotirakis
787d55fb2d Update grabpl version to 2.8.3 - modify commands (#43996) 2022-01-13 13:57:15 +02:00
Andres Martinez Gotor
0a17048316 Allow to bypass modal focus trap (#43974) 2022-01-13 12:55:54 +01:00
Gábor Farkas
4a88b8f66c Prometheus: add tests covering the prometheus-response to dataframes conversion (#43892)
* prometheus: add tests covering prometheus_response to grafana_dataframes

* fixed variable name

* added comment

* removed not-helping function call
2022-01-13 11:52:50 +01:00
kay delaney
01dd623daa UI/Plot: Implement keyboard controls for plot cursor (#42244) 2022-01-13 10:14:55 +00:00
Ashley Harrison
f74b21c119 Dependencies: downgrade typescript to 4.4.4 for now (#43970)
* Downgrade typescript to 4.5.2 for now

* Downgrade to 4.4.4 instead :(

* kick drone

* Update .github/renovate.json5

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

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2022-01-13 10:08:38 +00:00
Agnès Toulet
a9dfd3a487 Docs: clean up image renderer dependencies and add ones for CentOS 8 (#41862)
* Docs: clean up image renderer dependencies and add ones for CentOS 8

* apply PR review feedback
2022-01-13 11:05:56 +01:00
Konrad Lalik
c829535f14 Alerting: Fix the silence url's matcher parameters (#43898)
* Split silence matchers parameter into a separate entry for each label

* Unify the silence link creation

* Remove duplicated matchers when parsing to/from query params

* Add tests for matchers

* Add a comment with a duplication removal explanation

* Improve label duplication comment

* Remove redundant code

* Use uniqBy to simplify the code. Rename matchers parameter

* Fix Silence test data
2022-01-13 10:48:13 +01:00
Ashley Harrison
8f1468df6a only push default datasources to the list if they're not undefined (#43966) 2022-01-13 09:26:26 +00:00
renovate[bot]
bf417be2e0 Update dependency sass to v1.48.0 (#43986)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-13 10:15:20 +01:00
Artur Wierzbicki
e01ac44cfa Live: performance tests e2e part (#43915)
* #41993: live perf tests e2e part

* #41993: added bash upgrade instructions

* #41993: remove custom feature toggle

* #41993: fix typo in 'integrationFolder'
2022-01-12 22:15:29 +04:00
Dimitris Sotirakis
0c88b39162 Bug: Make e2e artifacts upload run at the end of the pipeline (#43962)
* Rename step

* Make e2e tests artifacts upload run even on failed e2e tests
2022-01-12 17:58:35 +02:00
Agnès Toulet
5eaaadd59d Tabs: add suffix prop for the tab name (#43869)
* Tabs: add suffix prop for the tab name

* Replace FC with JSX.Element
2022-01-12 15:37:16 +01:00
Shirley
105bf8fd94 Remove valid aggregation type check (#43955) 2022-01-12 15:36:56 +01:00
Victor Marin
f881fd1637 Postgres/MySQL/MSSQL: Cancel in-flight SQL query if user cancels query in grafana (#43890) 2022-01-12 16:24:27 +02:00
Victor Marin
f8b527b818 Build: Add MSSQL devenv for ARM64 processors (#43888)
* Build: Add MSSQL devenv for ARM64 processors

* Change docker image tag from latest to fixed version
2022-01-12 16:24:06 +02:00
Jeremy Price
e894837b7e Accesscontrol: Remove service account creation code from addapikey (#43900)
* Remove service account creation code from addapikey
Co-authored-by: J Guerreiro <joao.guerreiro@grafana.com>
2022-01-12 15:18:57 +01:00
Eric Leijonmarck
6409e761b5 List serviceaccounts (#43672)
* Serviceaccounts: feat - tabview for serviceaccounts

* WIP

* feat: listing all service accounts

* refactor: needed to remove showInvitees as not present in serviceaccounts

* add token column in the list

* add token to orgserviceaccount

* Update pkg/services/serviceaccounts/api/api.go
2022-01-12 13:23:00 +01:00
Marcus Efraimsson
c1a9a36bd2 Chore: Add PR Check action enforcing backport decision (#43916)
Ref https://github.com/grafana/grafana-github-actions/pull/53
Ref https://github.com/grafana/grafana-release/issues/60
2022-01-12 13:09:25 +01:00
King Muji
48ea36630d fix: typo (#43948) 2022-01-12 14:03:56 +02:00
Dimitris Sotirakis
634ce4a98e Update grabpl version to 2.8.2 (#43949) 2022-01-12 13:07:29 +02:00
Hugo Häggmark
7f8f9eb814 Variables: Fix so data source variables are added to adhoc configuration (#43881) 2022-01-12 12:05:42 +01:00
renovate[bot]
0fd8f5de44 Update dependency webpack to v5.66.0 (#43944)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-12 11:28:25 +01:00
Giordano Ricci
afd110309c Elasticsearch: fix a11y issues in datasource settings (#43706) 2022-01-12 09:19:10 +00:00
Ivana Huckova
c8ef541c02 Name fields based on targets length (#43832) 2022-01-12 10:13:52 +01:00
Ryan McKinley
7e5e3f9dc0 FeatureToggles: typed as optional booleans (#43925) 2022-01-11 16:18:54 -08:00
Alexander Weaver
59bda131ec Alerting: [Docs] Clarifications regarding what's supported in alerting message templates (#43544)
* Clarify docs for alerting templates

* Fix template cross-reference

* Add a single missing delimiter

* 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>

* 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>

* Address various points of docs feedback

* 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>

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

Co-authored-by: Yuriy Tseretyan <tceretian@gmail.com>

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
Co-authored-by: Yuriy Tseretyan <tceretian@gmail.com>
2022-01-11 14:16:04 -06:00
Dimitris Sotirakis
ee0a30c8c2 Update grabpl version to 2.8.1 (#43902) 2022-01-11 20:53:40 +02:00
Karl Persson
e2de1c1ec4 Service Accounts: Fix issue in UserTable and ServiceAccountsTable (#43865)
* fix issue where ServiceAccountsTable rendere delete modal
for every item in list

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2022-01-11 18:51:24 +01:00
Ashley Harrison
1966eba796 Chore: Add some e2e tests for repeating behaviour (#43457)
* user essentials mob! 🔱

* user essentials mob! 🔱

* WIP: Mob session work 🚧 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

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

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* :construction:: Mob session work 🔱

* user essentials mob! 🔱

* user essentials mob! 🔱

* Move repeats suite under dashboard suite

* remove these generated files

* move repeats-suite into dashboards-suite

* Reexport dashboard jsons from play and update them

* :construction:: Mob session work 🔱

* :construction:: Mob session work 🔱

* Rename dashboards to work with stripnulls

* Run stripnulls

* Add repeat to row schema

* Clean up the rest of the repeating dashboards

* Fix tooltip sorting

* Update older dashboards

* Update golden files so tests pass

* format this to ensure consistent tabs/spaces

* undo whitespace changes

* Update scripts/stripnulls.sh

Co-authored-by: sam boyer <sam.boyer@grafana.com>

* update schema versions and test

Co-authored-by: thisisobate <obasiuche62@gmail.com>
Co-authored-by: Hugo Häggmark <hugo.haggmark@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>
Co-authored-by: sam boyer <sam.boyer@grafana.com>
2022-01-11 16:47:30 +00:00
Josh Hunt
7ea951b35d Chore: Use ReactNode type for Field error prop (#43852)
* Chore: Use ReactNode type for Field error prop

* add LoadingPlaceholder
2022-01-11 16:45:14 +00:00
Sofia Papagiannaki
963ae4ef87 API: Fix storing dashboard with static UID (#43861)
* API: Fix storing dashboard with static UID
2022-01-11 18:39:53 +02:00
Yuriy Tseretyan
ed5c664e4a Alerting: Stop firing of alert when it is updated (#39975)
* Update API to call the scheduler to remove\update an alert rule. When a rule is updated by a user, the scheduler will remove the currently firing alert instances and clean up the state cache. 
* Update evaluation loop in the scheduler to support one more channel that is used to communicate updates to it.
* Improved rule deletion from the internal registry. 
* Move alert rule version from the internal registry (structure alertRuleInfo) closer rule evaluation loop (to evaluation task structure), which will make the registry values immutable.
* Extract notification code to a separate function to reuse in update flow.
2022-01-11 11:39:34 -05:00
Marcus Efraimsson
f6414ea2b2 CodeQL: Try to fix uncontrolled data used in path expression (#43462)
Ref #43080
2022-01-11 17:37:58 +01:00
Dominik Prokop
2a766c6a04 UsersTable: Render remove modal only once (#43885)
* UsersTable: Render remove modal only once

* Formatting cleanup

* Snaps update
2022-01-11 16:27:48 +01:00
renovate[bot]
e4140065d2 Update dependency html-loader to v3.1.0 (#43829)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-11 15:19:43 +00:00
renovate[bot]
a8116a92e3 Update dependency http-server to v14.1.0 (#43873)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-11 15:19:06 +00:00
renovate[bot]
b4564770bf Update dependency eslint-plugin-jsdoc to v37.6.1 (#43831)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-11 15:14:31 +00:00
Andreas Fitzek
58408f31ab Fix typo in contact-points documentation (#43883)
Fixes a typo in contact-points documentation, `mesasges` => `messages`
2022-01-11 09:33:37 -05:00
Dimitris Sotirakis
4f47832bac CI: Automate Grafana releases (#43897)
* CI: Automate releases

* Update grabpl version
2022-01-11 16:28:29 +02:00
Karl Persson
8271bc73f9 Update docs for ds permissions access control permisisons (#43346) 2022-01-11 14:52:33 +01:00
lean.dev
79bf0fc3d1 Fixing login request in loadtest (#43750) 2022-01-11 10:35:02 -03:00
Andrej Ocenas
8b45eb1161 TraceView: Refactor theming to use Grafana theme directly (#43856)
* Use grafana theme and utils

* Use grafana colors

* Fix tests

* Use useStyles2
2022-01-11 13:34:39 +01:00
dependabot[bot]
44cca3e4c1 Bump actions/setup-node from 2.4.1 to 2.5.1 (#43570)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 2.4.1 to 2.5.1.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v2.4.1...v2.5.1)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-11 12:15:50 +01:00
dependabot[bot]
6435222d82 Bump actions/cache from 2.1.6 to 2.1.7 (#42176)
Bumps [actions/cache](https://github.com/actions/cache) from 2.1.6 to 2.1.7.
- [Release notes](https://github.com/actions/cache/releases)
- [Commits](https://github.com/actions/cache/compare/v2.1.6...v2.1.7)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-11 12:14:37 +01:00
Ieva
a06564fb0d Access control: allow granting a fixed role dynamically based on the startup settings (#43867)
* allow granting a fixed role dynamically depending on startup config

* move role definition for team writing

* undo test changes

* nicer naming
2022-01-11 11:58:40 +01:00
Dimitris Sotirakis
f60a2e8152 Chore: Split release pipelines (#43419)
* Split release pipelines

* Re-add pr and main pipelines
2022-01-11 09:17:00 +00:00
Peter Holmberg
fc037e1798 Alerting: Add delete to rule edit (#43673) 2022-01-11 09:46:21 +01:00
Artur Wierzbicki
3ca3b7f432 fix query over live error - getQueryData should wait for centrifuge to initialize (#43880) 2022-01-11 10:07:08 +04:00
Ryan McKinley
6b70e1af76 BarChart: show x tick picker (#43510) 2022-01-11 00:12:33 +01:00
Isabella Siu
5e7804f466 CloudMonitoring: separate out google auth docs (#43481)
* CloudMonitoring: separate out google auth docs

* Apply suggestions from code review

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

* docs team changes

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2022-01-10 16:44:38 -05:00
Ieva
41b709d08d Access control: permissions for team creation (#43506)
* FGAC for team creation

* tests

* fix snapshot for UI tests

* linting

* update snapshots

* Remove unecessary class and update tests

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

* Make the condition slightly easier

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

Co-authored-by: gamab <gabi.mabs@gmail.com>
2022-01-10 17:05:53 +00:00
Katarina Yang
5bab02c7ef Refactor: Change sqlstore.inTransaction to SQLStore.WithTransactional… (#43823)
* Refactor: Change sqlstore.inTransaction to SQLStore.WithTransactionalDBSession in user files

* update milesone
2022-01-10 11:28:41 -05:00
Ryan McKinley
b404aae9c3 Crawler: use existing render service to generate dashboard thumbnails (#43515)
Co-authored-by: Artur Wierzbicki <artur@arturwierzbicki.com>
2022-01-10 08:21:35 -08:00
kay delaney
cc9e70be5c Tags: Make Tags component more a11y-friendly (#43808) 2022-01-10 15:41:19 +00:00
renovate[bot]
d1a94c1fa2 Update dependency react-dropzone to v11.5.1 (#43844)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-10 16:36:02 +01:00
Connor Lindsey
ef12028a68 Tempo: Add time range to tempo search query behind a feature flag (#43811) 2022-01-10 07:38:40 -07:00
Connor Lindsey
3d6e9076c9 Tempo: Provide tag value completion items consistently (#43773) 2022-01-10 07:37:35 -07:00
Marcus Olsson
2b967c4c55 Add plugin publishing and signing criteria (#40154) 2022-01-10 15:32:11 +01:00
Ashley Harrison
77347a37b1 Add tests to ensure infinite value mappings work (#43858) 2022-01-10 14:16:07 +00:00
Karl Persson
d350ed0f35 Access Control: SQL filter (#43560)
* Add the accesscontrol sql filter utility

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
2022-01-10 14:26:57 +01:00
Andrej Ocenas
dcd4e74c54 Explore: Don't change query status to Done if there was Error (#43850) 2022-01-10 13:44:51 +01:00
Marcus Olsson
1141df7b9b Update Add support for annotations (#43851) 2022-01-10 13:35:09 +01:00
Gilles De Mey
7b841c7947 Alerting: run validation before testing contact point (#43721) 2022-01-10 13:28:36 +01:00
Gilles De Mey
be61f192c8 Alerting: add support for absolute URLs in ActionIcon (#43367) 2022-01-10 13:11:43 +01:00
Karl Persson
0003bf7cc2 AzureAD OAuth: Add support for fetching user groups (#43470)
* Add functionallity to extractGroups to handle groups-overage claims
Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
2022-01-10 11:50:10 +01:00
Andres Martinez Gotor
de4ac8ae59 AzureMonitor: Filter list of resources by resourceType (#43522) 2022-01-10 11:22:06 +01:00
Dominik Prokop
1a0f5595c3 TimeSeries/BarChart: Add support for sorting series in the tooltip (#43615)
* TimeSeries panel: Add support for sorting series in the tooltip

* Fix cue tests

* Make sortValues work with string values

* Sort values in DatHoverView and remove sort index from TooltipPlugin

* Rename sortOrder prop to sort

* DataHoverView - use raw values for sorting
2022-01-10 10:32:21 +01:00
Dominik Prokop
4b814dbcea TimeSeries: Separate field unit config for axis ticks and other display means when stacking by percent (#43713) 2022-01-10 01:18:56 -08:00
renovate[bot]
737bc35219 Update dependency sass to v1.47.0 (#43825)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-10 10:12:17 +01:00
Sofia Papagiannaki
e25613a360 Update CODEOWNERS for SQL data sources (#43456) 2022-01-10 10:03:44 +01:00
Hugo Häggmark
9d11c9153f Variables: Fix for flickering repeat panels (#43447)
* Variables: Fix for flickering repeat panels

* Refactor: updates after PR comments
2022-01-10 06:41:18 +01:00
Dan Cech
34f757ba5a switch to using featureEnabled for enterprise features (#41559)
* switch to using featureEnabled for enterprise features
2022-01-07 15:11:23 -05:00
Travis Patterson
9eb82f9fff Propagate all headers (#43812)
* Propagate all headers

* stable header order
2022-01-07 12:45:26 -07:00
Ryan McKinley
546818819b Loki: use queryType rather than range|instant flags (#43727) 2022-01-07 10:00:11 -08:00
Nathan Rodman
0dd88d9480 only show datasources that support alerting in query editor (#43776) 2022-01-07 09:27:20 -08:00
Ryan McKinley
8cf63a9d44 Chore: convert settings page to function component (#43731) 2022-01-07 17:59:14 +01:00
Katarina Yang
a30ca86084 Refactor: Change sqlstore.inTransaction to SQLStore.WithTransactional… (#43772)
* Refactor: Change sqlstore.inTransaction to SQLStore.WithTransactionalDBSession in dashboard

* Fix: Fix failing lint and BE tests
2022-01-07 17:50:59 +01:00
renovate[bot]
a29ddfd386 Update Monthly patch updates (#43798)
* Update Monthly patch updates

* remove lodash and mousetrap type updates

* Remove slate types upgrade

* Update storybook versions in yarnrc

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-01-07 16:33:26 +00:00
idafurjes
3ca58c0e0c Chore: Upgrade go and alpine (#43801)
* Upgrade go and alpine

* Bump grabpl version

* Bump alpine version

* Fix version of grabpl

* Bump alpine version

* Bump alpine in Dockerfiles
2022-01-07 17:27:22 +01:00
David
a08e0581de Hotkeys: Make time range permanent (#43802)
Typing `t a` in Explore or Dashboards will turn a relative time like "Last 1 hour"
into an absolute range to make the URL permanent, so that when sharing it others
will see the same data.

- registered `t a` in key service
- new `AbsoluteTimeEvent` dispatch via global event bus
- dashboard times handled in TimeSrv
- Explore times handled in Explore.tsx and Explore's time reducer

I could not find an easy way to combine time handling for Exlore and Dashboard in one place.
2022-01-07 16:51:29 +01:00
Dimitris Sotirakis
79d10c6903 Add packages:publishPrevious command (#43800) 2022-01-07 16:19:58 +02:00
machinly
36626554be Prometheus: annotation: fix only first frame was process error & typo. (#43486) 2022-01-07 15:04:30 +01:00
Sebastião Beirão
720d2487fa Units: Fixed VAr (Volt-Ampere reactive), VA and kVA capitalization (#43779)
* Fixed VAr unit casing

* Fixed VAr unit casing

* Fixed VAr unit casing

* Fixed categories.ts file extension

* Fixed VA and kVA capitalization

* Fixed VA, kVA and kVAr capitalization.
2022-01-07 13:56:55 +00:00
kay delaney
36e4a871f2 UI/ClipboardButton: Remove ClipboardJS in favor of native Clipboard API (#42996)
* UI/ClipboardButton: Remove ClipboardJS in favor of native Clipboard API
Closes #42365

* Add backwards compatibility
2022-01-07 13:41:09 +00:00
idafurjes
4eacdf5f9e Upgrade go version to 1.17.6 (#43797) 2022-01-07 14:09:19 +01:00
Joan López de la Franca Beltran
532e71554f Usage Stats: Add metrics to count enabled kms providers per kind (#43640)
* Usage Insights: Add metrics to count enabled kms providers per kind

* Add backwards compatibility
2022-01-07 13:52:28 +01:00
Timur Olzhabayev
e2dcfbf916 docs(static): add plugin submission how-to (#43576) 2022-01-07 13:43:41 +01:00
Selene
32ed680fc2 Team Guardian: Refactor it to remove the bus dependency (#43058)
* Refactor team guardian to avoid to use bus

* Fix lint

* Fix lint
2022-01-07 13:38:00 +01:00
Ashley Harrison
f2336fd981 Need to add a group name to ensure they're batched correctly (#43796) 2022-01-07 12:32:09 +00:00
Emil Tullstedt
fdd196a627 Datemath: Remove unused functions (#43665) 2022-01-07 12:53:31 +01:00
Ashley Harrison
1fe098ecd2 Enable patch updates in renovate (#43795) 2022-01-07 11:27:23 +00:00
renovate[bot]
f074ab8774 Update typescript-eslint monorepo to v5.9.0 (#43793)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-07 10:43:13 +00:00
renovate[bot]
125438946f Update sentry-javascript monorepo to v6.16.1 (#43792)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-07 10:37:59 +00:00
renovate[bot]
d1c2b1c500 Update react monorepo (#43787)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-07 10:09:54 +00:00
renovate[bot]
38f7dd2714 Update dependency prismjs to v1.26.0 (#43785)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-07 10:00:53 +00:00
Zoltán Bedi
85246d7179 Postgres: Fix test datasource always returns success (#43762) 2022-01-07 10:39:25 +01:00
Nicholas Bowman
20574c130a PostgreSQL: include numeric column type in Query Builder metaquery (#43445)
* Plugins: Change the PostgreSQL plugin to include more column types in Query Builder metaquery

Originally, the metaquery used in the PostgreSQL plugin to populate the
column dropdown menu in the Query Builder UI only included integer- and real-typed
columns. This change expands the list of acceptable types for plotting to
include numeric columns, boolean columns, and textual columns, as all are
types that could feasibly be desired to plot in a panel.

* Update types tracked in meta query builder

Removed the `boolean` and `text` types, but retained addition of `numeric` type as part of time series query builder.
2022-01-07 10:32:46 +01:00
Torkel Ödegaard
5b02e8a666 Table: Fixes issue with field config applied to wrong fields when hiding columns (#43376)
* Table: Fixes issue with field config applied to wrong fields when hiding columns

* Minor refactoring

* Fixing comment

* Rename to field

* Forgot to save test file
2022-01-07 10:32:04 +01:00
Dimitris Sotirakis
beba5958a4 Remove duplication (#43694) 2022-01-07 11:23:17 +02:00
renovate[bot]
7917c04883 Update emotion monorepo (#43768)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-07 09:21:04 +00:00
renovate[bot]
3c28bd9fa2 Update dependency whatwg-fetch to v3.6.2 (#43764)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-07 09:19:06 +00:00
renovate[bot]
3d98981bfb Update dependency webpack-dev-server to v4.7.2 (#43763)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-07 09:18:30 +00:00
kay delaney
e7f1e11229 Modal: Fix restore focus behavior (#43749)
* Modal: Fix restore focus behavior

* Use OverlayContainer

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-01-07 09:00:55 +00:00
Timur Olzhabayev
8717bc7ef4 fix(40639): datasource should not be visible after uninstall (#43625)
* fix(40639): datasource should not be visible after uninstall
2022-01-07 09:54:02 +01:00
Yuriy Tseretyan
ea478dec22 Alerting: Remove bridge between log15 and go-kit logger (#43769)
* remove bridge between log15 and go-kit logger.

* fix tests
2022-01-07 09:40:09 +01:00
MaukWM
faca526c16 Fixed incorrect link to text panel page (#43757)
"Text panel" was linking to the "alert list panel" page: (https://grafana.com/docs/grafana/latest/visualizations/alert-list-panel/). This change should map it to the correct page now (https://grafana.com/docs/grafana/latest/visualizations/text-panel/).

Co-authored-by: achatterjee-grafana <aparajita.chatterjee@grafana.com>
2022-01-06 15:15:44 -05:00
Ryan McKinley
964dae9872 Open Chore: remove graph(NG) from storybook (#43735) 2022-01-06 09:30:04 -08:00
Katarina Yang
7f8daa0eae Refactor: Change sqlstore.inTransaction to .WithTransactionalDBSession (#43245)
* Refactor: Change sqlstore.inTransaction(...) to SQLStore.WithTransactionalDBSession(...) in alert_notification.go

* Chore: Fix BE lint err

* fix: fix failing sqlstore nil error

* chore: remove unecessary setup()

* fix: use appropriate ctx
2022-01-06 18:21:39 +01:00
renovate[bot]
846c6ce758 Update dependency typescript to v4.5.4 (#43756)
* Update dependency typescript to v4.5.4

* Changes needed to support new TypeScript version

* kick drone

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-01-06 16:16:13 +00:00
kay delaney
890c43adf1 UI/Card: Refactor Card component for improved accessibility (#41890)
* UI/Card: Improve accessibility of Card component

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-01-06 15:48:12 +00:00
renovate[bot]
d55d2d3da7 Update dependency webpack to v5.65.0 (#43761)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-06 15:26:35 +00:00
renovate[bot]
c2859b16fc Update dependency underscore to v1.13.2 (#43760)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-06 15:22:25 +00:00
renovate[bot]
bb7df6eb77 Update dependency ts-jest to v27.1.2 (#43755)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-06 14:43:23 +00:00
ying-jeanne
a8eef45a44 Logger migration from log15 to gokit/log (#41636)
* migrate log15 to gokit/log

* fix console log

* update some unittest

* fix all unittest

* fix the build

* Update pkg/infra/log/log.go

Co-authored-by: Yuriy Tseretyan <tceretian@gmail.com>

* general type vector

* correct the level key

Co-authored-by: Yuriy Tseretyan <tceretian@gmail.com>
2022-01-06 22:28:05 +08:00
Travis Patterson
8898a5f0a0 Add record-audio icon for recorded queries (#43734)
* Add record-audio icon for recorded queries

* add record-audio icon to iconBundle

Co-authored-by: Todd Treece <todd.treece@grafana.com>
2022-01-06 07:15:50 -07:00
Connor Lindsey
1a7567d8c7 Tempo: Filter available service graph filter values to most relevant options (#43728)
* Restrict service graph filter tag values to labels from service graph metrics
2022-01-06 07:09:31 -07:00
renovate[bot]
cb34c47123 Update dependency testing-library-selector to v0.2.1 (#43752)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-06 13:55:47 +00:00
Giordano Ricci
0013eb3555 Input: Fix margins when not using prefix/suffix (#43726) 2022-01-06 14:27:27 +01:00
kay delaney
c8e7368ea6 ColorPicker: Makes tab order left to right (#43745) 2022-01-06 13:19:42 +00:00
renovate[bot]
9dfbab2e03 Update dependency terser-webpack-plugin to v5.3.0 (#43751)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-06 13:13:17 +00:00
Ashley Harrison
6a558582d5 Fix deprecated sass (#43753) 2022-01-06 13:09:52 +00:00
renovate[bot]
2550baba3e Update linguijs monorepo to v3.13.0 (#43748)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-06 12:22:25 +00:00
renovate[bot]
58f3a7764d Update dependency stylelint to v14.2.0 (#43747)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-06 12:01:33 +00:00
Uchechukwu Obasi
c28f913168 TimePicker: fixes focus to restore when closing calendar on narrow screen (#43746) 2022-01-06 12:28:09 +01:00
renovate[bot]
c47d33f4b7 Update dependency search-query-parser to v1.6.0 (#43741)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-06 11:23:08 +00:00
renovate[bot]
3261772a15 Update dependency sass to v1.46.0 (#43740)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-06 11:22:47 +00:00
Levente Balogh
aeddfb0506 Github Actions: another fix for the levitate workflow (#43742)
* fix: add col number to the link to work correctly

If we don't provide the position in a #step:{line}:{column} format
then the Github UI won't take us to the correct step.

* fix: escape the backtick ("`") characters properly
2022-01-06 12:02:45 +01:00
J Guerreiro
6bbf85e2e9 AccessControl: verify metadata map is not null (#43743) 2022-01-06 11:54:51 +01:00
Ashley Harrison
c87b048af8 Login: Prevent page overflowing on mobile (#43739) 2022-01-06 10:34:13 +00:00
renovate[bot]
fdc054c0a4 Update dependency sass-loader to v12.4.0 (#43725)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-06 10:33:54 +00:00
renovate[bot]
b735296524 Update dependency reselect to v4.1.5 (#43709)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-06 10:10:36 +00:00
renovate[bot]
34cfcbb33a Update dependency @rushstack/node-core-library to v3.45.0 (#43724)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-06 10:07:44 +00:00
Travis Patterson
20b3b2a448 Forward oauth tokens after prometheus datasource migration (#43686)
* create the prom client

* implement lru cache of prometheus clients based on auth headers

* linter
2022-01-05 13:55:55 -07:00
Andrej Ocenas
88d17c4998 Tempo: Don't show error when running query without traceId (#43676)
* Check for traceId and return EMPTY observable if no value

* Make sure we change status on complete

* Add tests

* Fix test
2022-01-05 19:34:09 +01:00
Piotr Jamróz
bac9253fdc A11y: Fix a11y issues in OpenTSDB (#43714)
* Fix a11y issues in OpenTSDB configuration page

* Fix a11y issues in OpenTSDB editor

* Link labels to inputs where possible

Co-authored-by: kay delaney <kay@grafana.com>
2022-01-05 19:28:28 +01:00
Nathan Rodman
825edddfb6 Alerting: UI for mute timings (#41578)
* wip: add form inputs for creating mute timing

* form for mute timings

* add action for submitting config

* fix bug in payload

* add table for viewing mute timings

* remove mute timing from routes when deleted

* attach mute timing to route

* edit a mute timing

* use field array for multiple intervals

* Add confirmation modal for deleting mute timing

* add default values to form inputs

* fetch am config prior to renderring form

* validation for mute timing fields

* fix tests

* tests for mute timing form

* small ui fixes for the form and table

* pass mute name as query param

* make time fields inline

* fix validation for an existing alert and overwrite on edit

* rename mute timing in routes on edit

* fix validation for time inputs

* make time interval its own component

* add descriptions for mute timings

* refactor time interval parsing functions

* fix linting and tests

* refactor makeAmLink

* docs for mute timings

* reorganize docs and add intro for mute timings

* doc review edits

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

* run prettier

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2022-01-05 10:16:43 -08:00
Ryan McKinley
e77b4abcc8 StreamingDataFrame: support legend format and prometheus style labels (#43637) 2022-01-05 08:56:23 -08:00
renovate[bot]
b07bd55343 Update dependency sass to v1.45.2 (#43719)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-05 16:39:32 +00:00
Gabriel MABILLE
92c568e9f7 AccessControl: Remove unused error from GetResourcesMetadata (#43710)
* AccessControl: Remove unused error from GetResourcesMetadata

Co-authored-by: J Guerreiro <joao.guerreiro@grafana.com>
2022-01-05 17:24:14 +01:00
Alexander Emelin
b4204628e4 Live: optionally send queries over websocket connection (#41653)
Co-authored-by: ArturWierzbicki <artur.wierzbicki@grafana.com>
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-01-05 08:02:12 -08:00
renovate[bot]
bfecbdc0bd Update dependency rxjs to v7.5.1 (#43718)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-05 15:53:40 +00:00
Alexander Weaver
fd583a0e3b Alerting: Allow customization of Google chat message (#43568)
* Allow customizable googlechat message via optional setting

* Add optional message field in googlechat contact point configurator

* Fix strange error message on send if template fails to fully evaluate

* Elevate template evaluation failure logs to Warn level

* Extract default.title template embed from all channels to shared constant
2022-01-05 09:47:08 -06:00
Ashley Harrison
b826804ef7 Hide previews behind toggle properly (#43704) 2022-01-05 15:28:03 +00:00
renovate[bot]
9e5a7b056c Update dependency rollup to v2.63.0 (#43711)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-05 14:58:56 +00:00
renovate[bot]
369a940f85 Update dependency redux-thunk to v2.4.1 (#43708)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-05 14:41:02 +00:00
Eric Leijonmarck
0aa905bb1f Serviceaccounts: feat - tabview for serviceaccounts (#43573) 2022-01-05 15:32:38 +01:00
Torkel Ödegaard
5c88acd5aa ImportDashboard: Fixes issue with importing dashboard and name ending up in uid (#43451)
* ImportDashboard: Fixes issue with importing dashboard and name ending up in uid

* Added unit test

* fixing import issue
2022-01-05 15:20:32 +01:00
renovate[bot]
64248edbb0 Update dependency recompose to v0.30.0 (#43705)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-05 14:00:08 +00:00
renovate[bot]
9280894e8c Update dependency react-use to v17.3.2 (#43702)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-05 13:52:54 +00:00
renovate[bot]
e49177b338 Update dependency react-moveable to v0.30.3 (#43674)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-05 13:51:38 +00:00
renovate[bot]
e236c6942b Update dependency moveable to v0.27.3 (#43365)
* Update dependency moveable to v0.27.3

* Update yarnrc

* can remove react-simple-compat now

* update yarnrc

* commit lockfile change

* add react-simple-compat to react-compat-moveable

* lockfile changes...

* add react-simple-compat resolution

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-01-05 13:06:27 +00:00
Uchechukwu Obasi
62d44fcffc InfoTooltip: refactor component to be accessible (#43613)
* InfoTooltip: refactor component to be accessible

* new: create ghostMode prop to allow turning on/off button styles

* update infoToolTip component to use ghostMode prop

* update story to show ghostMode state

* fix condition to work properly

* nit fix

* revert changes to former infoTooltip state

* InfoTooltip: use iconButton instead to achieve keyboard a11y

* fix minor type nit
2022-01-05 13:36:13 +01:00
renovate[bot]
8dc4c23a89 Update dependency jquery to v3.6.0 (#43348)
* Update dependency jquery to v3.6.0

* Handle type changes

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-01-05 11:08:13 +00:00
Ivana Huckova
d7d6c10664 Prometheus: Fill missing steps with null values (#43622)
* Prometheus: Add empty points when data points missing

* Remove newline

* Add comments

* Improve/Fix test

* Remove unused variable
2022-01-05 11:40:32 +01:00
Dimitris Sotirakis
3625c617fa Add packages:publishTest command (#43696) 2022-01-05 10:53:46 +01:00
MeetzhDing
9c67ce77d8 Transformations: groupBy transformation now preserves data order (#43584)
* fix: groupBy transformers keep the order of numeric keys

* fix: groupBy transformers keep the order of numeric keys
2022-01-05 09:49:15 +00:00
Oscar Kilhed
1d20c82c7b PieChart: Respect percent labels and legends decimal setting (#43693) 2022-01-05 10:24:43 +01:00
Gilles De Mey
837925390f fix: pass OrgId to alertNotification model (#43678)
fixes #43214
2022-01-05 10:19:45 +01:00
J Guerreiro
056e143664 AccessControl: Present user edit actions according to AC metadata (#43602)
* AccessControl: Add user metadata to user detail view

* AccessControl: Do not present delete or disable buttons based on ac metadata in admin/users

* AccessControl: do not allow password changing or user editing without permission

* AccessControl: Fetch global:users scope for admin

* AccessControl: optimize org.user metadata fetch

* Chore: early return if ac metadata is not available
2022-01-05 09:59:17 +01:00
Shirley
ba58b34219 CloudWatch: a11y: Add missing aria labels on explore metrics/logs editor (#43580)
* CloudWatch: a11y: Add missing aria labels on explore metrics/logs editor
2022-01-05 09:46:05 +01:00
achatterjee-grafana
a9ad7d3c03 Add note for Cloud users. (#43689) 2022-01-04 17:20:42 -05:00
Christopher Moyer
e1ad692cb3 docs: contributing updates (#41836)
* contributing updates first draft

* ran yarn prettier

* updated links

* removed test xref

* Update contribute/documentation/README.md

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

Co-authored-by: Fiona Artiaga <89225282+GrafanaWriter@users.noreply.github.com>
2022-01-04 16:14:32 -05:00
kay delaney
e4c84003fb Docs: Add info about yarn pnp to developer guide (#43653)
* Docs: Add info about yarn pnp to developer guide

* Add missing space
2022-01-04 17:11:56 +00:00
Ryan McKinley
b09d498484 Import: fix dashboard imports with expressions (#43630) 2022-01-04 08:42:18 -08:00
Christopher Moyer
238345b62d docs: aws marketplace license activation (#43466)
* initial draft

* role creation prereq

* separate ecs and eks docs

* update ECS steps

* reword ecs instructions

* spacing

* remove spaces to make a hyperlink work

* added aws marketplace content

* update enterprise configuration

* add detail to deploy outside of aws

* improve outside of aws config

* minor addition

* update region syntax

* Update docs/sources/enterprise/license/_index.md

* typo

* Update EKS docs with detailed instructions

* Add task to setup ECS for high-availability

* Fix AWS_REGION environment variable

* final review and changes

* section landing page tweak

* Update docs/sources/enterprise/license/activate-aws-marketplace-license/about-ge-license-through-aws.md

Co-authored-by: Guilherme Caulada <guilherme.caulada@grafana.com>

* fixed links, changed db parameters to placeholder values

* copy edits

* copy updates

* Fix typos pointed out by codespell

* Fix prettier issue on EKS documentation

Co-authored-by: Mitchel Seaman <mitchel.seaman@gmail.com>
Co-authored-by: Mitch Seaman <mjseaman@users.noreply.github.com>
Co-authored-by: Guilherme Caulada <guilherme.caulada@grafana.com>
2022-01-04 09:22:33 -07:00
Uchechukwu Obasi
8aa496dfb4 BarGuage: Fixes vertical view flip and bar misalignment when used with datalinks (#43655)
* BarGauge: fix vertical view flip issue

* fix bar misalignment in vertical and horizontal orientations

* add test to prevent bar misalignment in the future
2022-01-04 17:21:29 +01:00
Ashley Harrison
c509c32091 Remove height/width to fix safari issue (#43668) 2022-01-04 15:55:34 +00:00
Connor Lindsey
2aad6e57c0 NodeGraph: Fix empty state to display 'No Data' message (#43633)
* Fix "0" when no nodes present in NodeGraph

* Show no data message in NodeGraph

* Fix tests
2022-01-04 08:45:00 -07:00
renovate[bot]
c302552714 Update dependency react-colorful to v5.5.1 (#43657)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-04 15:14:25 +00:00
Jure Stepišnik
71b7df09fc fix(time series): first point in a series can show context menu on click (#43344) 2022-01-04 11:49:07 -03:00
Jeremy Price
42ccc44eca Accesscontrol: Apply FGAC to APIKey endpoints (#42659)
* Move definitions to serviceaccounts

* Use constant names, add scope to delete

* Add descriptions to roles

* Rename roles
2022-01-04 15:37:40 +01:00
renovate[bot]
6264bc966f Update dependency react-grid-layout to v1.3.0 (#43666)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-04 14:35:45 +00:00
Dimitris Sotirakis
6926cb3060 Remove cypress cache volumes (#43667) 2022-01-04 16:28:06 +02:00
Connor Lindsey
dc92cee874 Tempo: Fix Otel span kind mapping in trace upload resultTransformer (#43168)
* Fix otel span kind mapping

* Parse span kind from enum string
2022-01-04 07:25:14 -07:00
Travis Patterson
c4c05a5b71 refactor promethueus package into sub packages (#43634) 2022-01-04 07:22:33 -07:00
renovate[bot]
567e2b5fd8 Update dependency react-dropzone to v11.4.2 (#43660)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-04 13:20:09 +00:00
Dimitris Sotirakis
e3baa24946 CI: Remove initialize step from integration tests pipeline (#43663)
* Remove initialize step from integration tests

* Remove initialize step from integration tests on main pipelines
2022-01-04 14:17:20 +01:00
Emil Tullstedt
df4e9ca12b Datemath: Support fiscal years (#43558) 2022-01-04 13:56:34 +01:00
Levente Balogh
ef35fd4069 Github Actions: another fix for the levitate workflow (#43659)
* chore: link to the actual workflow step

* chore: make the "Detect" workflow fail if there were any breaking changes

* chore: stop making the reporting workflow fail on breaking changes

* fix: fix typo (`mesage` -> `message`)
2022-01-04 13:54:38 +01:00
Karl Persson
2425828a0b quote reserved keyword (#43652) 2022-01-04 13:35:52 +01:00
renovate[bot]
143517bf1b Update dependency prop-types to v15.8.0 (#43656)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-04 12:28:02 +00:00
Selene
bdbd199910 Remove unnecesary joins from queries (#43626) 2022-01-04 13:04:02 +01:00
renovate[bot]
8ee53347bf Update dependency eslint-plugin-jsdoc to v37.5.1 (#43650)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-04 11:23:17 +00:00
Karl Persson
ee690a7bb0 Add org_id in join (#43648) 2022-01-04 11:13:45 +01:00
Levente Balogh
00c356f55f fix: checkout the repo to have the helper scripts available (#43646) 2022-01-04 11:08:08 +01:00
renovate[bot]
0ad440069f Update dependency @types/jest to v27.4.0 (#43643)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-04 10:06:17 +00:00
renovate[bot]
8fcab78b33 Update dependency date-fns to v2.28.0 (#43645)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-04 10:05:22 +00:00
renovate[bot]
205d3e5c3a Update dependency eslint-plugin-react to v7.28.0 (#43496)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-04 09:28:00 +00:00
renovate[bot]
d411fcb228 Update dependency rc-slider to v9.7.5 (#43474)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-04 09:25:19 +00:00
Levente Balogh
1e3cf75862 Github Actions: update the reporting for the levitate workflow (#43621)
* chore: stop checking out the repo and use the `unzip` command

* refactor: remove deprecated workflow script

* refactor: add whitespace around template variable
2022-01-04 10:23:28 +01:00
renovate[bot]
c4dd772422 Update dependency postcss-loader to v6.2.1 (#43464)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-04 09:19:26 +00:00
Torkel Ödegaard
b1643f536c Docs: Fix formatting of markdown file (#43642) 2022-01-04 09:51:13 +01:00
idafurjes
65e60759fb Rename AddEventListenerCtx to AddEventListener and PublishCtx to Publish (#43566) 2022-01-04 09:36:01 +01:00
J Guerreiro
a0cf57b5b8 AccessControl: Reduce tone of access error (#43601) 2022-01-04 09:28:55 +01:00
achatterjee-grafana
88bc47441f added note that notifications no longer include images. (#43635) 2022-01-03 17:57:38 -05:00
Ryan McKinley
a3d2c79d06 Previews: check feature flag on dashboard manage page (#43632) 2022-01-03 23:15:50 +01:00
Gilles De Mey
56d088c441 devenv: fix maildev block (#43624) 2022-01-03 22:15:24 +01:00
Gilles De Mey
7de5d5fbd1 Alerting: adds missing type info to the FieldConfigSource (#43619) 2022-01-03 17:16:43 +01:00
Gilles De Mey
d7273c1158 Alerting: fix error dismiss tooltip placement (#43616) 2022-01-03 16:09:08 +01:00
Levente Balogh
8ed5b95f42 Chore: change triggering of the detect-breaking-changes Github flow (#43188)
* chore: only run the breaking-changes flow on pull requests

* chore: run the detect-breaking-changes flow on opening a PR

* chore: use

* Wip

* Wip

* Wip

* Wip

* Wip

* Wip

* Wip

* Wip

* Wip

* Wip

* Wip

* Wip

* Wip

* Wip

* Wip

* Wip

* Wip

* trying to get workflow split running.

* trying to trigger workflow.

* trying to trigger.

* Splits levitate job into two workflows.

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
2022-01-03 12:48:12 +01:00
Piotr Jamróz
1695468de1 Loki: Improve log volume error handling (#42534)
* Reduce verbosity of the error message when log volume query fails

* Fix unit tests
2022-01-03 10:21:11 +01:00
Piotr Jamróz
7682eabd29 Graphite: Make Graphite config page more accessible (#43333) 2022-01-03 10:17:15 +01:00
natellium
1e7a730f1f Chore: fix removeFromProject command name 2021-12-30 18:33:27 +01:00
Maria Alexandra
739e9d88d1 Chore: Add command to remove issue from project in GH actions (#43595)
Co-authored-by: natellium <natalia.bernarte@grafana.com>
2021-12-30 17:45:27 +01:00
Maria Alexandra
c68b6698ff Chore: Fix format error in commands.json (#43596) 2021-12-30 15:14:59 +01:00
Marcus Andersson
efd7a12686 Chore: Revert externalization of the tslib so it gets bundled with plugins. (#43556)
* Revert externalization of the tslib so it gets bundled with the plugins.

* Adding pnp-webpack-plugin to properly resolve dependencies in nested plugins.

* added dependency on lodash.
2021-12-30 08:53:42 +01:00
Kyle Brandt
f17fb76b5e SSE: Add is_nan() and other like functions and allow '_' in func names (#43555)
* SSE: Add is_nan() and allow '_' in func names

is_null() infn(), is_inf(), is_number()
2021-12-29 11:40:52 -05:00
Gilles De Mey
43c81ddd23 Alerting: persist error dismissal to localstorage (#43406) 2021-12-28 20:56:43 +01:00
idafurjes
8e6d6af744 Rename DispatchCtx to Dispatch (#43563) 2021-12-28 17:36:22 +01:00
idafurjes
7936c4c522 Rename AddHandlerCtx to AddHandler (#43557) 2021-12-28 16:08:07 +01:00
Timur Olzhabayev
ec9d6b9ca9 chore(drone): switch to using cypress built image for e2e tests 2021-12-28 13:59:20 +01:00
Joan López de la Franca Beltran
80e0dd74d2 Encryption: Increase context timeout on flaky test (#43553) 2021-12-28 13:34:45 +01:00
idafurjes
56c3875bb9 Chore: Remove context.TODO (#43458)
* Remove context.TODO() from services

* Fix live test
2021-12-28 10:26:18 +01:00
Alexander Weaver
56b3dc5445 Alerting: Allow configuration of non-ready alertmanagers (#43063)
* Create API test for overwriting invalid alertmanager config

* Avoid requiring alertmanager readiness for config changes

* AlertmanagerSrv depends on functionality rather than concrete types

* Add test for non-ready alertmanagers

* Additional cleanup and polish

* Back out previous integration test changes

* Refactor of tests incorrectly caused a test to become redundant

* Use pre-existing fake secret service

* Drop unused interface

* Test against concrete MultiOrgAlertmanager re-using fake infra from other tests

* Fix linter error

* Empty commit to rerun checks
2021-12-27 17:01:17 -06:00
Alexander Weaver
9abdaf251f Alerting: Fix global state sensitivity in notifier channel tests (#43508) 2021-12-27 11:58:17 -06:00
Joan López de la Franca Beltran
83bc445d3e Encryption: Fix DEKs cache (#43129)
* Encryption: Fix DEKs cache

* Clarify tests
2021-12-27 18:04:47 +01:00
Calle Gustafsson
c3eb1ffe85 Cloud Monitoring: Adds metric type to Metric drop down options (#43268)
* Fixes Google Cloud Monitoring Deduplication

Bug: #42931

* Use useStyles instead of stylesFactory
2021-12-27 08:59:04 +01:00
Timur Olzhabayev
169d39f8e4 feat(e2e-artifacts): upload e2e artifacts to a gcs bucket (#43210)
feat(e2e-artifacts): upload e2e artifacts to a gcs bucket
2021-12-24 10:43:32 +01:00
Alex Khomenko
3b4a4be3c6 Feature highlights: add setting toggle (#43394)
* Feature highlights: add toggle setting

* Settings: Use provider for 'feature_highlights' section

* Fix frontendsettings API tests

* Document the toggle

Co-authored-by: Joan López de la Franca Beltran <5459617+joanlopez@users.noreply.github.com>
Co-authored-by: Joan López de la Franca Beltran <joanjan14@gmail.com>
2021-12-24 10:49:52 +02:00
Leon Sorokin
e75edc810d BarChart: color by field, x time field, bar radius, label skipping (#43257)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2021-12-23 10:04:41 -08:00
Ryan McKinley
4233a62aeb DashboardPreviews: add dashboard previews behind feature flag (#43226)
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Co-authored-by: Artur Wierzbicki <artur@arturwierzbicki.com>
2021-12-23 09:43:53 -08:00
Uchechukwu Obasi
545d6c4ddb Chore: move closePopover utility to a standalone file (#43478)
* Chore: move close popover utility to a standalone file

* remove duplicate function in colorpicker

* fixed incorrect import

* make method slightly flexible by removing type parameter
2021-12-23 18:08:02 +01:00
MeanMina
c5af1aecec add issues to Observability Squad project (#43500) 2021-12-23 15:47:08 +00:00
Shirley
3326c3ab7b AzureMonitor: Exclude ( in second capturing group for CodeQL ReDoS vulnerability (#43494) 2021-12-23 15:10:35 +01:00
renovate[bot]
b87c737a14 Update dependency react-calendar to v3.5.0 (#43480)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-23 10:37:32 +01:00
Karl Persson
0ace9695a6 Access control: Add optional hooks (#43372)
* Add optional OnSet hooks
2021-12-23 10:10:06 +01:00
Uchechukwu Obasi
eb4c3a4485 Update frontend guide to reflect new paradigm for api organization (#43435) 2021-12-23 09:28:41 +01:00
Dimitris Sotirakis
59e153cde8 Remove Github Packages publish step (#43453) 2021-12-23 10:12:37 +02:00
J Guerreiro
06d4cb0303 AccessControl: Disable user remove and user update roles when they do not have the permissions (#43429)
* AccessControl: Disable user remove and update roles when they do not have the appropriate permissions

* AccessControl: Ensure frontend tests pass in CI
2021-12-23 09:08:13 +01:00
nikki-kiga
4c95abb269 Geomap: Update markers layer styles (#43446)
* update markerslayer styles

* use static style when possible

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2021-12-22 13:50:02 -08:00
nikki-kiga
c53e384cb5 Geomap: Geojson layer initial dynamic styling (#43308)
* support dynamic values in geojson

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2021-12-22 13:06:33 -08:00
J Guerreiro
3d4fafcf70 AccessControl: Add access control metadata to org user DTOs (#43362)
* AccessControl: Add access control metadata to OrgUserDTO

* AccessControl: get User AC metadata

* AccessControl: return User Access Control metadata when requested
2021-12-22 18:46:33 +01:00
Uchechukwu Obasi
98bf9a6d2a Tooltip: make widget accessible (#43468)
* add useToolTipTrigger react aria and state to grafana-ui

* show tooltip on focus and close tooltip when esc key is pressed

* remove react-aria/tooltip package

* fix failing test
2021-12-22 18:11:07 +01:00
Marcus Efraimsson
7d3bdb6d1b Plugins: Set backend metadata property for core plugins (#43349)
Ref #42648
Ref #42781
2021-12-22 17:59:26 +01:00
renovate[bot]
4ec6f95bcd Update dependency postcss to v8.4.5 (#43463)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-22 16:54:16 +00:00
J Guerreiro
a1b8b5d123 Usage stats: Count API keys (#42883)
* Stats: add api key count to usage stats

* Chore: correctly capitalize struct member
2021-12-22 17:37:45 +01:00
Ivana Huckova
f63c2e4bc4 Prometheus: Fix interpolation of variables in Annotation queries (#43459) 2021-12-22 16:50:58 +01:00
renovate[bot]
cd93c6cdc0 Update dependency cypress to v9.2.0 (#43460)
* Update dependency cypress to v9.2.0

* kick drone

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2021-12-22 15:36:41 +00:00
renovate[bot]
e6bc87b315 Update dependency @microsoft/api-extractor to v7.19.2 (#42983)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-22 15:12:58 +00:00
renovate[bot]
13bad50709 Update dependency @microsoft/api-extractor-model to v7.15.1 (#42985)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-22 15:12:43 +00:00
renovate[bot]
2d74ad5971 Update dependency is-hotkey to v0.2.0 (#43330)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-22 15:06:29 +00:00
David Henderson
575eb68828 CloudWatch: Add Missing Elasticache Host-level metrics (#43455)
Add missing host-level Elasticache metrics from https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheMetrics.HostLevel.html

Follows from https://github.com/grafana/grafana/pull/43336#issuecomment-999367311
2021-12-22 14:02:52 +01:00
renovate[bot]
5c22679961 Update dependency ol to v6.9.0 (#43404)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-22 13:00:56 +00:00
idafurjes
b8852ef6a3 Chore: Remove context.TODO() (#43409)
* Remove context.TODO() from services

* Fix live test

* Remove context.TODO
2021-12-22 11:02:42 +01:00
Karl Persson
2409d8dc1f check the value of the feature toggle (#43433) 2021-12-22 10:05:53 +01:00
Hugo Häggmark
ded33ba449 Alert: Makes content scrollable and limits height (#43449) 2021-12-22 09:45:41 +01:00
Jean-Philippe Quéméner
ffc72aa255 Alerting: fix gosec warning that is not valid (#43425) 2021-12-21 19:47:47 +01:00
Daniel Lee
93de61f690 fix for CWE-89 (#43407)
The sqlOrArgs unpacking seems to confuse CodeQL. Trying something simpler
2021-12-21 19:04:56 +01:00
Todd Treece
6b0f5d464b @grafana/data: fix build issue caused by merge of #43222 after #43423 (#43436) 2021-12-21 12:28:10 -05:00
Coleman Rollins
119f756c0e [cr] whitelist flexbox styles in text panel editor (#43222)
* [cr] whitelist flexbox styles in text panel editor

* [cr] separate sanitize function for text panel only

* [cr] separate markdown function for text panel

* [cr] common markdown options
2021-12-21 16:32:48 +00:00
Uchechukwu Obasi
6abced840d UserInviteForm: move API logic away from components (#43408)
* userInviteForm: move API logic away from components

* removes duplicate response alert

* reverse api logic to handle errors

* move redirection logic to component

* chore: cleanup code
2021-12-21 17:19:22 +01:00
Ashley Harrison
39f787cbef Navigation: Remove some redundant css and tidy up reverse logic (#43403)
* Remove some redundant css and tidy up reverse logic

* Fix alignment of subtitle

* Remove navbar-dropdown class
2021-12-21 16:15:03 +00:00
Vicky Lee
2945c3a276 automate Cloud DS GH projects (#43428) 2021-12-21 15:58:23 +00:00
Todd Treece
dd884dbfd5 @grafana/data: Update xss dependency (#43423) 2021-12-21 10:55:36 -05:00
Peter Holmberg
5db03cf91a Alerting: Fix remaining a11y issues (#43420)
* add aria labels

* reverting

* chore: revert yarn.lock

Co-authored-by: gillesdemey <gilles.de.mey@gmail.com>
2021-12-21 16:06:23 +01:00
Timur Olzhabayev
339cfb8736 chore(commands): add issues of type/docs to global docs project (#43114) 2021-12-21 15:53:55 +01:00
Torkel Ödegaard
e877a9822e GrafanaExperimental: update dependency (#43322)
* GrafanaExperimental: update dependency

* Bump experimental

* yarn up experimental

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2021-12-21 15:36:21 +01:00
Travis Patterson
d52a6e3d3b Change 'grafana-expression' to ExpressionDatasourceRef.type so isExpr… (#43379)
* Change 'grafana-expression' to ExpressionDatasourceRef.type so isExpressionReference works

* use constant ref in tests

* import from package
2021-12-21 07:11:11 -07:00
Hugo Häggmark
b41c3124bb Chore: Update Prepare release action (#43397)
* Update bump-version.yml

* Chore: test

* tst

* use right branc

* use right test

* chore: test

* Chore: test

* Chore: test

* Chore:test

* WIP: test

* WIP: test

* WIP: test

* WIP: test

* Chore: revert workflows

* WIP: test

* Update prepare-release.yml

* WIP: test

* Chore: test

* WIP: test

* Update prepare-release.yml

* Update bump-version.yml

* Update prepare-release.yml

* Update bump-version.yml

* Update prepare-release.yml

* Update prepare-release.yml

* Chore: update close-milestone

* Update close-milestone.yml

* Chore: update remove-milestone

* Update prepare-release.yml

* Chore: updates update-changelog

* Update prepare-release.yml

* Update prepare-release.yml

* Chore: forgot the version_call param

* Update prepare-release.yml

* Update bump-version.yml

* Update close-milestone.yml

* Update remove-milestone.yml

* Update update-changelog.yml

* Chore: removes empty spaces

* Update prepare-release.yml

* Start Test: change ref to test github action bump version

* test: use the right branch reference

* Update bump-version.yml

* ref right branches

Co-authored-by: Maria Alexandra <239999+axelavargas@users.noreply.github.com>
2021-12-21 14:34:05 +01:00
Karl Persson
b3d5a607d4 Access Control: Add option to filter only managed permissions (#43371)
* Add option to filter only managed permissions
2021-12-21 14:22:54 +01:00
Tania B
c1be17bec7 Chore: Add Google Cloud KMS dependency (#43211)
* Encryption: Add Google Cloud KMS dependency

* Change version
2021-12-21 14:15:27 +02:00
Uchechukwu Obasi
dfd045a3b3 NewOrgPage: Disable input validation on keypress (#43132)
* NewOrgPage: migrate API function calls to Redux

* disable input validation on keypress
2021-12-21 12:54:14 +01:00
renovate[bot]
159fb4cebb Update dependency eslint-plugin-react to v7.27.1 (#43207)
* Update dependency eslint-plugin-react to v7.27.1

* Fix up code to work with new version of eslint-plugin-react

* kick drone

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2021-12-21 11:11:27 +00:00
Ashley Harrison
c7f76df61e Use outline -2px to guarantee visibility of outline (#43400) 2021-12-21 10:52:26 +00:00
Daniel Lee
e993f0c62e devenv: Solving two of the code scanning fails (#43084)
* Solving two of the code scanning fails

Removes new lines from user input that is logged. Fixes CWE-117 from CodeQL

* remove newlines from request headers

* mask cookie value in header

* comment out logging of headers to solve CWE-117

Instructions added on uncommenting the log statement and on rebuilding the docker container
2021-12-21 11:36:21 +01:00
Maria Alexandra
1008d46304 Chore: Remove User Essentials from public/ directory in CODEOWNERS (#43370) 2021-12-21 09:26:02 +01:00
Siavash Safi
4c4322f717 CloudWatch: Add all ElastiCache Redis Metrics (#43336)
Add all missing Redis ElastiCache metrics.
https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheMetrics.Redis.html

Signed-off-by: Siavash Safi <siavash.safi@gmail.com>
2021-12-21 09:13:41 +01:00
Andres Martinez Gotor
5766c624ff CloudWatch: Run migrations even with a missing period (#43350) 2021-12-20 17:57:58 +01:00
Ashley Harrison
57c3549b07 Implement left arrow to focus parent, fix list style on firefox (#43345)
* Implement left arrow to close menu for now, fix list style on firefox

* Implement onLeft

* Fix outline of first item in navbar

* Fix focus styles appearing when using mouse

* add unit test
2021-12-20 17:41:14 +01:00
idafurjes
ff3cf94b56 Chore: Remove context.TODO() from services (#42555)
* Remove context.TODO() from services

* Fix live test
2021-12-20 17:05:33 +01:00
Ashley Harrison
6f8e651cdb Move the background style to the parent component (#43359) 2021-12-20 16:00:29 +00:00
Gilles De Mey
dc163a958d Alerting: update response text assertion (#43291) 2021-12-20 16:45:29 +01:00
Sarah Zinger
b1df13e630 Azure Monitor: Bug fix for variable interpolations in metrics dropdowns (#43251)
* Azure Monitor: Bug fix for template variables.
- Adds back support for custom dropdown field names (such as those that use template variables)
- No longer clears a dropdown if selected value is an unknown option. (Hopefully makes debugging dynamically generated dashboards from json easier to debug).
- Add back support in UI for custom values
2021-12-20 10:11:10 -05:00
renovate[bot]
bd841edc38 Update dependency lint-staged to v12.1.3 (#43363)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-20 14:50:30 +00:00
Carl Bergquist
f373588810 setting: configure toggles as true/false instead of array (#43326)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2021-12-20 15:33:11 +01:00
Peter Holmberg
dda84dbf1a Alerting: Fixed logic on how to render alert tab (#43339)
* fixed logic on how to render alert tab

* remove console logs move some logic
2021-12-20 15:30:31 +01:00
Pedro Araújo
18fdb89554 grafana-mixin: Fix GrafanaRequestsFailing alert (#43116)
Due to PromQL's label matching, both sides of the division will have same series; that means that, whenever there's a 5xx error, both sides will have the same value and the division will be `1`. I believe the idea was to get the ratio of 5xx compared will all status code, and to do that, we need to aggregate the `status_code` dimension away.
2021-12-20 15:12:37 +01:00
renovate[bot]
4dc63698ac Update dependency eslint-plugin-jsdoc to v37.4.0 (#43329)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-20 14:08:45 +00:00
jcolladokuri
ec5c75c6a1 Azure Monitor: Fix link in server requests panel in App Insights Dashboard (#43068) 2021-12-20 09:01:21 -05:00
Maria Alexandra
0ce7799046 Chore: Create prepare release action (#43357)
Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
2021-12-20 14:16:22 +01:00
Kyle Brandt
e1be23ac1e Chore: update image-spec indirect dependency (#43155)
for GHSA-77vh-xpmg-72qh
2021-12-20 13:24:46 +01:00
Dimitris Sotirakis
d88502112f Chore: Replace publish keyword with store (#43340)
* Replace publish keyword with store

* Rename publish_steps with store_steps

* Update grabpl version
2021-12-20 12:23:51 +01:00
Tania B
0dc86bf7f4 Chore: Move default encryption provider to kmsproviders package (#43331) 2021-12-20 12:47:49 +02:00
Gábor Farkas
1879a6855e prometheus: respect the http-method data source setting (#42753)
* prometheus: respect the http-method data source setting

* removed forgotten if-true section

* refactored json-check
2021-12-20 11:27:18 +01:00
Torkel Ödegaard
b867ecb515 ColorPicker: Refine design of color picker (#43275)
* ColorPicker: Refine design of the color picker popover

* One more tweak

* removed unneeded div and add hover style

* Fixing test

* Reverse order from dark to brighter
2021-12-20 10:50:48 +01:00
Marcus Efraimsson
85f134969e Docs: Update merge a pull request guideline (#43273)
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2021-12-20 10:37:16 +01:00
renovate[bot]
30d00b9b86 Update dependency glob to v7.2.0 (#43230)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-20 09:32:59 +00:00
renovate[bot]
3b561c8164 Update dependency @react-aria/utils to v3.11.0 (#43262)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-20 09:28:59 +00:00
renovate[bot]
a356c326fb Update dependency fork-ts-checker-webpack-plugin to v6.5.0 (#43229)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-20 09:27:29 +00:00
Gábor Farkas
d2283cf799 influxdb: config: accessibility fixes (#43260) 2021-12-20 10:11:00 +01:00
Karl Persson
c3ca2d214d Access control: Refactor managed permission system to create api and frontend components (#42540)
* Refactor resource permissions
* Add frondend components for resource permissions

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2021-12-20 09:52:24 +01:00
Ilya Stoliar
9cf5623918 CloudWatch: Add Data Lifecycle Manager metrics and dimension (#43310) 2021-12-20 09:48:07 +01:00
Dimitris Sotirakis
b7f8c1855d Add services to main-integration-tests (#43325) 2021-12-20 09:33:47 +01:00
Dimitris Sotirakis
2fd2fd353e Split pipelines on main builds (#43324) 2021-12-20 09:09:25 +01:00
Hugo Häggmark
aa47cac69f Variables: Fix for migrating legacy data source properties (#43263) 2021-12-20 06:49:17 +01:00
Leon Sorokin
e240c21a43 BarChart: fix excessive viz re-init due to cloneDeep(props) (#43293) 2021-12-19 00:26:25 -06:00
Ryan McKinley
33c64dba38 BarChart: support log scale (#43305) 2021-12-18 11:21:22 -08:00
Nathan Marrs
af3860e953 Canvas: add wind turbine element to canvas panel (#43309) 2021-12-18 11:20:50 -08:00
Nathan Marrs
8be4182e49 Canvas: Add button element + basic onClick support (#43252) 2021-12-17 14:05:57 -08:00
Artur Wierzbicki
197f4f81f2 #41993: make it possible to create N random60hz channels (#43295) 2021-12-17 23:42:37 +04:00
Connor Lindsey
70c0a9d117 A11y: Fix Fastpass issues for tracing query editors and config pages (#42759)
* Add aria-labels to Jaeger config page

* Fix fastpass issues for Tempo config page

* Fix fastpass issues for other tracing query types like search
2021-12-17 11:49:21 -07:00
Leon Sorokin
dd247f26de BarChart: refactor x tick label placement logic (#43256) 2021-12-17 11:35:09 -06:00
Shirley
5cffd98e24 Docs: Update Google Cloud Monitoring documentation (#43135)
* Update documentation

* Correct urls

* Correct provisioning data source url anchor

* Use relref and replace variable syntax section with official doc link

* Update docs/sources/datasources/google-cloud-monitoring/_index.md

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

* Update docs/sources/datasources/google-cloud-monitoring/_index.md

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

* Update docs/sources/datasources/google-cloud-monitoring/_index.md

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

* Update docs/sources/datasources/google-cloud-monitoring/_index.md

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

* Update docs/sources/datasources/google-cloud-monitoring/_index.md

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

* Update docs/sources/datasources/google-cloud-monitoring/_index.md

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

* Update docs/sources/datasources/google-cloud-monitoring/_index.md

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

* Put back 'and'

* Change the numbering to 1

* Change numbering back to 1

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2021-12-17 17:41:01 +01:00
Kyle Brandt
4c59cc4bf4 Chore: Update indirect dependency containerd (#43151)
for GHSA-5j5w-g665-5m35 and GHSA-c2h3-6mxw-7mvq
2021-12-17 17:01:45 +01:00
Kyle Brandt
c50f0d1dd1 Chore: update uap-go (#43285)
for CVE-2021-21317
2021-12-17 10:43:43 -05:00
Sofia Papagiannaki
c4aaf5f9d1 API: prevent provisioned dashboard from being updated (#41894) 2021-12-17 10:31:52 -05:00
Gábor Farkas
db18acff15 InfluxDB: InfluxQL: query editor: skip fields in metadata queries (#42543)
* influxdb: influxql: query editor: skip fields for metadata

* test added

* removed forgotten line

* updated test name

* updated comment

* simplified test code
2021-12-17 15:09:02 +01:00
Gilles De Mey
db3cc738d6 Alerting: fixes rewiring unrelated reduce and resample expressions (#43174) 2021-12-17 14:46:55 +01:00
Shirley
acb1f54128 Chore: Update and replace redundant wording (#43138)
* Replace redundant wording

* Add term key

* Reduce wording and move down tooltip

* Reduce margin between tooltip and button

* Correct manual margin to same as button's
2021-12-17 13:45:24 +01:00
Gábor Farkas
623ae1e41d datasources: config: add aria-label (#43266) 2021-12-17 11:44:38 +01:00
kay delaney
4855fe78f8 TimeSeriesPanel: Null points no longer get tooltips (#42371)
* TimeSeriesPanel: Null points no longer get tooltips

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2021-12-17 10:38:08 +00:00
Maria Alexandra
7c5d5c0128 Chore: Create close milestone github action (#43269) 2021-12-17 11:14:09 +01:00
renovate[bot]
1aa4c27cd9 Update dependency @cypress/webpack-preprocessor to v5.11.0 (#43240)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-17 09:44:59 +01:00
Alexander Zobnin
2c0f961c59 OAuth: Fix forwarding id token to the data source (#43204) 2021-12-17 03:34:16 -05:00
Leon Sorokin
bba7bdeb9e GraphNG: uPlot 1.6.18 (#43255) 2021-12-17 00:24:44 -06:00
nikki-kiga
625c5e0e09 Geomap: Add default svg size (#43246)
* add default svg size
2021-12-17 01:10:52 +01:00
Leon Sorokin
8fdbc6cc20 TimeSeries: don't auto-disable fill of fillBelowTo targets (#43165) 2021-12-16 14:52:47 -06:00
Yuriy Tseretyan
1a762083d7 Alerting: make alert rule routine evaluation control be thread-safe (#41220)
* change registry.delete to return deleted struct
* use pointer to alertRuleInfo instead copying.
* do not access evaluation channel when routine is stopped
* remove stopCh and use context cancellation
* do not return ctx.Err when channel is cancelled because it cancels all other routines
* make alertRuleInfo fields and functions package private
2021-12-16 14:52:47 -05:00
Nathan Marrs
56921b205d Canvas add drone elements (#43122) 2021-12-16 11:05:58 -08:00
Nathan Rodman
187a8703c8 Alerting: Add filters for AlertList panel (#43130)
* add state filters for prom alerts

* combine state filters

* add datasource filter for panel

* remove duplicate state check

* show only prom, loki, and grafana datasources
2021-12-16 10:17:24 -08:00
Ryan McKinley
be498f312e Geomap: use string comparison for eq operator (#43181) 2021-12-16 09:59:36 -08:00
Leon Sorokin
6b7ef6a80b BarChart: fix gradient fill orientation when horizontal (#43183) 2021-12-16 11:43:29 -06:00
Ryan McKinley
2754e4fdf0 Expressions: use datasource model from the query (#41376)
* refactor datasource loading

* refactor datasource loading

* pass uid

* use dscache in alerting to get DS

* remove expr/translate pacakge

* remove dup injection entry

* fix DS type on metrics endpoint, remove SQL DS lookup inside SSE

* update test and adapter

* comment fix

* Make eval run as admin when getting datasource info

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

* fmt and comment

* remove unncessary/redundant code

Co-authored-by: Kyle Brandt <kyle@grafana.com>
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>
2021-12-16 13:51:46 -03:00
renovate[bot]
1745cd8186 Update dependency css-minimizer-webpack-plugin to v3.3.0 (#43215)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-16 17:43:52 +01:00
Marcus Efraimsson
df6765d805 Chore: Update release notes index page with 8.3.3 (#43224) 2021-12-16 17:41:27 +01:00
Marcus Efraimsson
18d909beed Chore: Go mod tidy (#43220) 2021-12-16 17:22:10 +01:00
renovate[bot]
2d4e6e79b2 Update dependency expose-loader to v3.1.0 (#43216)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-16 16:56:58 +01:00
Santiago
15c214d467 Fix error when setting alerts for Azure Monitor (#42989)
* pass the correct value to buildScaleKey()

* drop unnecessary type casting

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>

* fix linting errors

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2021-12-16 12:51:14 -03:00
renovate[bot]
f789a7f88c Update dependency eslint-plugin-jsdoc to v37.2.2 (#43203)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-16 13:51:03 +00:00
renovate[bot]
3606e4323e Remove dependency abortcontroller-polyfill to v1.7.3 (#43048)
* Update dependency abortcontroller-polyfill to v1.7.3

* Remove abortcontroller-polyfill since we don't use phantomjs anymore

* kick drone

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2021-12-16 13:49:27 +00:00
Jeremy Price
13fdc5231d AccessControl: upgrade apikeys by adding service accounts (#42425)
Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>

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

* Change default options for cloned service account

* Run in background

* Add endpoint to upgrade api keys to service accounts
2021-12-16 14:28:16 +01:00
renovate[bot]
57def82f26 Update dependency eslint-plugin-no-only-tests to v2.6.0 (#43206)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-16 14:21:10 +01:00
renovate[bot]
de125063f9 Update dependency enzyme-to-json to v3.6.2 (#43202)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-16 14:03:43 +01:00
renovate[bot]
1a7ee68133 Update dependency date-fns to v2.27.0 (#43199)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-16 14:01:57 +01:00
Jean-Philippe Quéméner
b605340668 Alerting: log errors happening in the API on server side (#43192)
* Alerting: log errors happening in the API on server side

* adapt tests to reflect changed payload
2021-12-16 13:33:10 +01:00
renovate[bot]
8e8b0616fe Update dependency css-loader to v6.5.1 (#43095)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-16 11:59:24 +00:00
renovate[bot]
505009eeca Update dependency cypress to v9.1.1 (#43198)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-16 12:47:17 +01:00
Ashley Harrison
80b55f09ad Configuration: You can now see your expired API keys if you have no active ones (#42452)
* Configuration: Always display expired API keys

* Use exclamation-triangle instead

* Reintroduce toggle, move logic into store and call both endpoints

* Handle apiKeys without TTL

* Remove backend changes and make checks in frontend instead
2021-12-16 11:46:09 +00:00
Josh Hunt
609a1aa8ad Chore: parse parseDuration values as numbers (#42826)
* Chore: parseDuration values as numbers

* Clean up RefreshPicker labels
2021-12-16 11:35:53 +00:00
renovate[bot]
23be398c9c Update dependency css-minimizer-webpack-plugin to v3.2.0 (#43117)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-16 11:16:44 +00:00
renovate[bot]
7bd2e21464 Update dependency core-js to v3.20.0 (#43094)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-16 11:13:49 +00:00
Torkel Ödegaard
9f05aa736c Panel: Support using $__interval and $__interval_ms in panel title 2021-12-16 12:05:00 +01:00
Ben Sully
13d9fddd3e Transformations: Add 'JSON' field type to ConvertFieldTypeTransformer (#42624)
* Add 'JSON' field type to ConvertFieldTypeTransformer

I've been playing around with #41994 and found that it requires fields
to contain array values, which can't be sent from a backend plugin. This
PR adds the ability for the ConvertFieldTypeTransformer to parse
JSON values and store the result in the transformed field.
The main use case for this right now is so that a field
containing a JSONified array can be transformed into a field
containing an actual array, which can in
turn be used for the table charts in #41994.

Supersedes #42521.

* Add second option to complex field conversion to increase flexibility

This avoids falsely equating 'JSON' with FieldType.other, and instead
allows multiple parsers to be used if the 'Complex' type is selected.

Currently only JSON parsing is implemented, but others could be
supported easily in future.

* Revert "Add second option to complex field conversion to increase flexibility"

This reverts commit 6314ce35eb.

* Improve test for object parsing of complex field transformer

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2021-12-16 11:18:11 +01:00
Ashley Harrison
c3ca46d5f6 Chore: Login via the API by default in Cypress (#43167)
* Use the api to login in cypress by default

* export getBaseUrl

* Revert "export getBaseUrl"

This reverts commit ae7eecea37.

* just use BASE_URL from the env

* fix exemplars test

* move into separate functions
2021-12-16 09:28:37 +00:00
Uchechukwu Obasi
d03aef1951 SelectOrgPage: migrate API function calls to Redux (#43133)
* SelectOrgPage: migrate API function calls to Redux

* used a much better approach

* writes test for getUserOrganizations action

* writes test for userOrganizationsLoaded reducer

* change userOrg to plural
2021-12-16 09:57:18 +01:00
David Parrott
8206802f19 Rework template docs and add examples (#43178) 2021-12-15 15:00:12 -08:00
nikki-kiga
fde26b0bd9 Geomap: Add tooltip check to display tooltip by layer (#43131)
* Add tooltip check to display tooltip by layer
2021-12-15 13:51:39 -08:00
Artur Wierzbicki
84ae13fe5d Live: keep stream history on 'refresh' (#41492)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2021-12-15 11:01:55 -08:00
Gilles De Mey
bb3b5c10e7 Alerting: fix WeCom channel notifier test assertion (#43173) 2021-12-15 19:45:12 +01:00
Gilles De Mey
cbbbb505b4 Alerting: use HTML-safe characters for the default template (#43148) 2021-12-15 17:57:08 +01:00
Gábor Farkas
f0fca6e018 update auto-generated files (#43159) 2021-12-15 17:50:29 +01:00
smallpath
aec14cba42 Alerting: Support WeCom as a contact point type (#40975)
* add wecom notifier

* fix backend lint

* fix alerting channel test

* update wecom doc

* update notifiers

* update wecom notifier test

* Apply suggestions from code review

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

* unify wecom alerting

* fix backend lint

* fix front lint

* fix wecom test

* update docs

* Update pkg/services/ngalert/notifier/channels/wecom.go

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

* Update docs/sources/alerting/old-alerting/notifications.md

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

* Update docs/sources/alerting/old-alerting/notifications.md

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

* Update docs/sources/alerting/old-alerting/notifications.md

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

* remove old wecom notifier

* remove old notifier doc

* fix backend test

* Update docs/sources/alerting/unified-alerting/contact-points.md

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

* fix doc style

Co-authored-by: gotjosh <josue.abreu@gmail.com>
2021-12-15 16:42:03 +00:00
Uchechukwu Obasi
f16696a069 Orgs: move redirection logic to components (#43160)
* Orgs: move redirection logic to components

* removes error notification since it's been handled under the hood
2021-12-15 17:15:16 +01:00
Levente Balogh
3f554f58bd Detecting breaking changes (#42934)
* chore: add a script for detecting breaking changes

* chore: add a temporary binary for POC3

* chore: add a Github Action workflow for detecting breaking changes

* chore: remove unused variables from the script

* chore: rename the POC3 executable script

* chore: add a label if there is a breaking change

* chore: remove "breaking change" label if all is passing

* chore: rename steps

* fix: only remove the label if there were no breaking changes

* chore: jump to the correct step

* chore: skip `@grafana/toolkit`

* chore: add a message for opening links in a new tab

* chore: update comment message

* chore: use Node 16 for the breaking changes workflow

* chore: install Yarn separately

* chore: use @grafana/levitate

* refactor: remove the unused levitate.js bundle

* fix: handle error when trying to remove a label that does not exist

* chore: delete the comment if there are no breaking changes

* chore: add reviewers automatically

* fix: use double-quote in shell script

* TEMPORARY: introduce a breaking change in `@grafana/data`

* fix: use correct line number for the breaking changes

* Revert "TEMPORARY: introduce a breaking change in `@grafana/data`"

This reverts commit 986ac9ab82.

* chore: remove unnecessary line from .eslintignore
2021-12-15 17:07:11 +01:00
Josh Hunt
4f6d08f14b I18N: Add Lingui core translation framework. (#41827)
* I18N: Add Core Lingui framework for translating the UI

* Make FieldSet accept ReactNode for the label, so it can be translated

* Translate a phrase in the User profile edit form

* Translate phrase

* run lingui compile before webpack builds

* init i18n more lazily

* i1n:compile in drone lint step

* wip for getting tests to work

* Use mock lingui/macros because its too hard to use the real macros in Jest...

* mock messages for tests

* use specific lingui version

* add comment for test helper

* we actually don't need the i18n setup in tests because we mock out <Trans />

* update package.json

* remove unneded imports

* revert back babel core version

* Create a I18nProvider wrapper
2021-12-15 17:00:37 +01:00
Gábor Farkas
50c6c7a528 InfluxDB: fix accessibility problems (#42553)
* influxdb: influxql: query editor a11y fixes

* configure datasource page a11y fixes

* fixed unit test

* better a11y

* better a11y for the query editor

* simplify code

* updated tests

* removed explicit aria-label
2021-12-15 15:57:08 +01:00
Gábor Farkas
1569529808 theme: fixed colors to be monaco-compatible (#43153) 2021-12-15 14:52:31 +01:00
Gábor Farkas
f9b6baa783 monaco-editor: updated from 0.31.0 to 0.31.1 (#43146) 2021-12-15 14:09:44 +01:00
Marcus Efraimsson
5bec46ce23 Build: Speed up integration tests (#43045)
Changes so that postgres/mysql services in Drone maps their data volumes 
to tmpfs volumes (memory) to improve performance.
2021-12-15 13:48:59 +01:00
Torkel Ödegaard
6724c42e84 Select: Memoize custom styles (#43070) 2021-12-15 13:33:35 +01:00
Ashley Harrison
566907e617 Dashboard: Prevent crash when expanding a row containing panels with … (#43032)
* Dashboard: Prevent crash when expanding a row containing panels with no yPos defined

* Add comment explaining defensive code
2021-12-15 12:31:53 +01:00
Gabriel MABILLE
c7cabdfd6f AccessControl: Add accesscontrol metadata to datasources DTOs (#42675)
* AccessControl: Provide scope to frontend

* Covering datasources with accesscontrol metadata

* Write benchmark tests for GetResourcesMetadata

* Add accesscontrol util and interface

* Add the hasPermissionInMetadata function in the frontend access control code

* Use IsDisabled rather that performing a feature toggle check

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2021-12-15 12:08:15 +01:00
Marcus Efraimsson
2b1ed43cb2 Chore: Support PR checks for forks (#43128) 2021-12-15 09:57:04 +01:00
Uchechukwu Obasi
ea71dafbfb Orgs: move duplicate API calls to Redux (#43030)
* WIP: move user/using api call to redux

* WIP: use redux instead in NewOrgPage component

* moved all the createOrg logic into redux

* type the redux state and action creators automatically

* adds test for setUserOrganization thunk

* update selectOrgPage to use Redux instead

* removes unnecessary dispatch call
2021-12-15 09:42:52 +01:00
Ryan McKinley
00e06874e5 Legend: extract common renderLegendFormat function (loki+prom) (#43054) 2021-12-15 04:19:16 +01:00
Ryan McKinley
c2392598ea Geomap: support hide from tooltip (#43127) 2021-12-14 15:32:17 -08:00
malcolmholmes
198f947d0b Publish enterprise2 to correct bucket (#43115) 2021-12-14 18:43:24 +01:00
Ryan McKinley
c0ff685d3b Live: support query execution with live RPC (#43118)
Co-authored-by: Alexander Emelin <frvzmb@gmail.com>
2021-12-14 18:38:20 +01:00
Alexander Emelin
f4cc353225 Live: proxy subscribe data for subscribe and runstream plugin calls (#42824)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2021-12-14 20:12:00 +03:00
Connor Lindsey
d2c5dac76f Tempo: Add provisioning example to Tempo docs (#43049)
* Add provisioning example to Tempo docs

* Update docs/sources/datasources/tempo.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>
2021-12-14 08:48:35 -07:00
Kyle Brandt
8598362929 Update latest.json to 8.3.3 (#43108) 2021-12-14 16:48:15 +01:00
Gilles De Mey
02039d7532 Alerting: show state history (#42362) 2021-12-14 16:36:54 +01:00
2479 changed files with 120224 additions and 35880 deletions

View File

@@ -1,11 +0,0 @@
version: 2.1
jobs:
build:
docker:
- image: alpine:3.7
steps:
- run:
name: The First Step
command: |
echo 'Fake step!'

View File

@@ -6,7 +6,7 @@
load('scripts/drone/pipelines/pr.star', 'pr_pipelines')
load('scripts/drone/pipelines/main.star', 'main_pipelines')
load('scripts/drone/pipelines/release.star', 'release_pipelines', 'test_release_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')
load('scripts/drone/vault.star', 'secrets')
@@ -14,4 +14,7 @@ load('scripts/drone/vault.star', 'secrets')
def main(ctx):
edition = 'oss'
return pr_pipelines(edition=edition) + main_pipelines(edition=edition) + release_pipelines() + \
test_release_pipelines() + version_branch_pipelines() + cronjobs(edition=edition) + secrets()
publish_image_pipelines('public') + publish_image_pipelines('security') + \
publish_artifacts_pipelines('security') + publish_artifacts_pipelines('public') + \
publish_npm_pipelines('public') + publish_packages_pipeline() + \
version_branch_pipelines() + cronjobs(edition=edition) + secrets()

4240
.drone.yml

File diff suppressed because it is too large Load Diff

View File

@@ -6,5 +6,10 @@ devenv
data
dist
e2e/tmp
scripts/grafana-server/tmp
public/lib/monaco
deployment_tools_config.json
# Auto-generated localisation files
public/locales/_build/
public/locales/**/*.js

60
.github/CODEOWNERS vendored
View File

@@ -30,18 +30,24 @@ go.sum @grafana/backend-platform
/scripts/drone/ @grafana/grafana-release-eng
# Cloud Datasources backend code
/pkg/tsdb/cloudwatch @grafana/cloud-datasources @grafana/observability-squad
/pkg/tsdb/cloudwatch @grafana/cloud-datasources
/pkg/tsdb/azuremonitor @grafana/cloud-datasources
/pkg/tsdb/cloudmonitoring @grafana/cloud-datasources
# Observability backend code
/pkg/tsdb/influxdb @grafana/observability-squad
/pkg/tsdb/elasticsearch @grafana/observability-squad
/pkg/tsdb/graphite @grafana/observability-squad
/pkg/tsdb/jaeger @grafana/observability-squad
/pkg/tsdb/loki @grafana/observability-squad
/pkg/tsdb/zipkin @grafana/observability-squad
/pkg/tsdb/tempo @grafana/observability-squad
/pkg/tsdb/prometheus @grafana/observability-metrics
/pkg/tsdb/influxdb @grafana/observability-metrics
/pkg/tsdb/elasticsearch @grafana/observability-logs-and-traces
/pkg/tsdb/graphite @grafana/observability-metrics
/pkg/tsdb/jaeger @grafana/observability-logs-and-traces
/pkg/tsdb/loki @grafana/observability-logs-and-traces
/pkg/tsdb/zipkin @grafana/observability-logs-and-traces
/pkg/tsdb/tempo @grafana/observability-logs-and-traces
# BI backend code
/pkg/tsdb/mysql @grafana/grafana-bi-squad
/pkg/tsdb/postgres @grafana/grafana-bi-squad
/pkg/tsdb/mssql @grafana/grafana-bi-squad
# Database migrations
/pkg/services/sqlstore/migrations @grafana/backend-platform @grafana/hosted-grafana-team
@@ -64,6 +70,9 @@ go.sum @grafana/backend-platform
/pkg/services/datasourceproxy @grafana/plugins-platform-backend
/pkg/services/datasources @grafana/plugins-platform-backend
# Dashboard previews / crawler (behind feature flag)
/pkg/services/thumbs @grafana/grafana-edge-squad
# Backend code docs
/contribute/style-guides/backend.md @grafana/backend-platform
/contribute/architecture/backend @grafana/backend-platform
@@ -81,21 +90,24 @@ go.sum @grafana/backend-platform
/packages/grafana-ui/src/components/TimeSeries @grafana/grafana-bi-squad
/packages/grafana-ui/src/components/uPlot @grafana/grafana-bi-squad
/packages/grafana-ui/src/utils/storybook @grafana/plugins-platform-frontend
/packages/jaeger-ui-components/ @grafana/observability-squad
/packages/jaeger-ui-components/ @grafana/observability-logs-and-traces
/plugins-bundled @grafana/plugins-platform-frontend
/public @grafana/user-essentials
# public folder
/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/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-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/plugins/panel/alertlist @grafana/alerting-squad
/public/app/plugins/panel/barchart @grafana/grafana-bi-squad
/public/app/plugins/panel/heatmap @grafana/grafana-bi-squad
/public/app/plugins/panel/histogram @grafana/grafana-bi-squad
/public/app/plugins/panel/nodeGraph @grafana/observability-squad
/public/app/plugins/panel/logs @grafana/observability-logs-and-traces
/public/app/plugins/panel/nodeGraph @grafana/observability-logs-and-traces
/public/app/plugins/panel/piechart @grafana/grafana-bi-squad
/public/app/plugins/panel/state-timeline @grafana/grafana-bi-squad
/public/app/plugins/panel/status-history @grafana/grafana-bi-squad
@@ -126,21 +138,21 @@ lerna.json @grafana/frontend-ops
*.mdx @marcusolsson @jessover9000 @grafana/plugins-platform-frontend
# Core datasources
/public/app/plugins/datasource/cloudwatch @grafana/cloud-datasources @grafana/observability-squad
/public/app/plugins/datasource/elasticsearch @grafana/observability-squad
/public/app/plugins/datasource/cloudwatch @grafana/cloud-datasources
/public/app/plugins/datasource/elasticsearch @grafana/observability-logs-and-traces
/public/app/plugins/datasource/grafana-azure-monitor-datasource @grafana/cloud-datasources
/public/app/plugins/datasource/graphite @grafana/observability-squad
/public/app/plugins/datasource/influxdb @grafana/observability-squad
/public/app/plugins/datasource/jaeger @grafana/observability-squad
/public/app/plugins/datasource/loki @grafana/observability-squad
/public/app/plugins/datasource/mssql @grafana/backend-platform
/public/app/plugins/datasource/mysql @grafana/backend-platform
/public/app/plugins/datasource/graphite @grafana/observability-metrics
/public/app/plugins/datasource/influxdb @grafana/observability-metrics
/public/app/plugins/datasource/jaeger @grafana/observability-logs-and-traces
/public/app/plugins/datasource/loki @grafana/observability-logs-and-traces
/public/app/plugins/datasource/mssql @grafana/grafana-bi-squad
/public/app/plugins/datasource/mysql @grafana/grafana-bi-squad
/public/app/plugins/datasource/opentsdb @grafana/backend-platform
/public/app/plugins/datasource/postgres @grafana/backend-platform
/public/app/plugins/datasource/prometheus @grafana/observability-squad
/public/app/plugins/datasource/postgres @grafana/grafana-bi-squad
/public/app/plugins/datasource/prometheus @grafana/observability-metrics
/public/app/plugins/datasource/cloud-monitoring @grafana/cloud-datasources
/public/app/plugins/datasource/zipkin @grafana/observability-squad
/public/app/plugins/datasource/tempo @grafana/observability-squad
/public/app/plugins/datasource/zipkin @grafana/observability-logs-and-traces
/public/app/plugins/datasource/tempo @grafana/observability-logs-and-traces
/public/app/plugins/datasource/alertmanager @grafana/alerting-squad
# Cloud middleware

206
.github/commands.json vendored
View File

@@ -1,69 +1,181 @@
[
{
"type": "label",
"name": "bot/question",
"addLabel": "type/question",
"removeLabel": "bot/question",
"action": "close",
"comment": "Please ask your question on [community.grafana.com/](https://community.grafana.com/). To avoid having your issue closed in the future, please read our [CONTRIBUTING](https://github.com/grafana/grafana/blob/main/CONTRIBUTING.md) guidelines.\n\nHappy graphing!"
"type":"label",
"name":"bot/question",
"addLabel":"type/question",
"removeLabel":"bot/question",
"action":"close",
"comment":"Please ask your question on [community.grafana.com/](https://community.grafana.com/). To avoid having your issue closed in the future, please read our [CONTRIBUTING](https://github.com/grafana/grafana/blob/main/CONTRIBUTING.md) guidelines.\n\nHappy graphing!"
},
{
"type": "comment",
"name": "duplicate",
"allowUsers": [],
"action": "updateLabels",
"addLabel": "type/duplicate"
"type":"comment",
"name":"duplicate",
"allowUsers":[],
"action":"updateLabels",
"addLabel":"type/duplicate"
},
{
"type": "label",
"name": "bot/duplicate",
"addLabel": "type/duplicate",
"removeLabel": "bot/duplicate",
"action": "close",
"comment": "Thanks for creating this issue! It looks like this has already been reported by another user. Weve closed this in favor of the existing one. Please consider adding any details you think is missing to that issue.\n\nTo avoid having your issue closed in the future, please read our [CONTRIBUTING](https://github.com/grafana/grafana/blob/main/CONTRIBUTING.md) guidelines.\n\nHappy graphing!"
"type":"label",
"name":"bot/duplicate",
"addLabel":"type/duplicate",
"removeLabel":"bot/duplicate",
"action":"close",
"comment":"Thanks for creating this issue! It looks like this has already been reported by another user. Weve closed this in favor of the existing one. Please consider adding any details you think is missing to that issue.\n\nTo avoid having your issue closed in the future, please read our [CONTRIBUTING](https://github.com/grafana/grafana/blob/main/CONTRIBUTING.md) guidelines.\n\nHappy graphing!"
},
{
"type": "comment",
"name": "needsMoreInfo",
"allowUsers": [],
"action": "updateLabels",
"addLabel": "bot/needs more info"
"type":"comment",
"name":"needsMoreInfo",
"allowUsers":[],
"action":"updateLabels",
"addLabel":"bot/needs more info"
},
{
"type": "label",
"name": "bot/needs more info",
"action": "updateLabels",
"addLabel": "needs more info",
"removeLabel": "bot/needs more info",
"comment": "Thanks for creating this issue! We think it's missing some basic information. \r\n\r\nFollow the issue template and add additional information that will help us replicate the problem. \r\nFor data visualization issues: \r\n- Query results from the inspect drawer (data tab & query inspector)\r\n- Panel settings can be extracted in the panel inspect drawer JSON tab\r\n\r\nFor dashboard related issues: \r\n- Dashboard JSON can be found in the dashboard settings JSON model view\r\n\r\nFor authentication, provisioning and alerting issues, Grafana server logs are useful. \r\n\r\nHappy graphing!"
"type":"label",
"name":"bot/needs more info",
"action":"updateLabels",
"addLabel":"needs more info",
"removeLabel":"bot/needs more info",
"comment":"Thanks for creating this issue! We think it's missing some basic information. \r\n\r\nFollow the issue template and add additional information that will help us replicate the problem. \r\nFor data visualization issues: \r\n- Query results from the inspect drawer (data tab & query inspector)\r\n- Panel settings can be extracted in the panel inspect drawer JSON tab\r\n\r\nFor dashboard related issues: \r\n- Dashboard JSON can be found in the dashboard settings JSON model view\r\n\r\nFor authentication, provisioning and alerting issues, Grafana server logs are useful. \r\n\r\nHappy graphing!"
},
{
"type": "label",
"name": "bot/no new info",
"action": "close",
"comment": "We've closed this issue since it needs more information and hasn't had any activity recently. We can re-open it after you you add more information. To avoid having your issue closed in the future, please read our [CONTRIBUTING](https://github.com/grafana/grafana/blob/main/CONTRIBUTING.md) guidelines.\n\nHappy graphing!"
"type":"label",
"name":"bot/no new info",
"action":"close",
"comment":"We've closed this issue since it needs more information and hasn't had any activity recently. We can re-open it after you you add more information. To avoid having your issue closed in the future, please read our [CONTRIBUTING](https://github.com/grafana/grafana/blob/main/CONTRIBUTING.md) guidelines.\n\nHappy graphing!"
},
{
"type": "label",
"name": "bot/close feature request",
"action": "close",
"addLabel": "not implemented",
"comment": "This feature request has been open for a long time with few received upvotes or comments, so we are closing it. We're trying to limit open GitHub issues in order to better track planned work and features. \r\n\r\nThis doesn't mean that we'll never ever implement it or that we will never accept a PR for it. A closed issue can still attract upvotes and act as a ticket to track feature demand\/interest. \r\n\r\nThank You to you for taking the time to create this issue!"
"type":"label",
"name":"bot/close feature request",
"action":"close",
"addLabel":"not implemented",
"comment":"This feature request has been open for a long time with few received upvotes or comments, so we are closing it. We're trying to limit open GitHub issues in order to better track planned work and features. \r\n\r\nThis doesn't mean that we'll never ever implement it or that we will never accept a PR for it. A closed issue can still attract upvotes and act as a ticket to track feature demand\/interest. \r\n\r\nThank You to you for taking the time to create this issue!"
},
{
"type": "label",
"name": "oss-user-essentials",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/78"
"type":"label",
"name":"oss-user-essentials",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/78"
}
},
{
"type": "label",
"name": "area/plugins-catalog",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/76"
"type":"label",
"name":"area/plugins-catalog",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/76"
}
},
{
"type":"label",
"name":"type/docs",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/69"
}
},
{
"type":"label",
"name":"datasource/Azure",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/97"
}
},
{
"type":"label",
"name":"datasource/CloudWatch",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/97"
}
},
{
"type":"label",
"name":"datasource/GoogleCloudMonitoring",
"action":"addToProject",
"addToProject":{
"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"
}
},
{
"type":"label",
"name":"datasource/InfluxDB",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/54"
}
},
{
"type":"label",
"name":"datasource/OpenSearch",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/54"
}
},
{
"type":"label",
"name":"datasource/Loki",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/54"
}
},
{
"type":"label",
"name":"datasource/Tempo",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/54"
}
},
{
"type":"label",
"name":"datasource/Elasticsearch",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/54"
}
},
{
"type":"label",
"name":"area/explore",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/54"
}
},
{
"type":"label",
"name":"oss-user-essentials",
"action":"removeFromProject",
"removeFromProject":{
"url":"https://github.com/orgs/grafana/projects/78"
}
},
{
"type":"label",
"name":"oss-user-essentials",
"action":"removeFromProject",
"removeFromProject":{
"url":"https://github.com/grafana/grafana/projects/33"
}
}
]

View File

@@ -5,5 +5,14 @@
"targetUrl": "https://github.com/grafana/grafana/blob/main/contribute/merge-pull-request.md#assign-a-milestone",
"success": "Milestone set",
"failure": "Milestone not set"
},
{
"type": "check-backport",
"title": "Backport Check",
"backportEnabled": "Backport enabled",
"backportSkipped": "Backport skipped",
"failure": "Backport decision needed",
"targetUrl": "https://github.com/grafana/grafana/blob/main/contribute/merge-pull-request.md#should-the-pull-request-be-backported",
"skipLabels": [ "backport", "no-backport"]
}
]

View File

@@ -4,10 +4,12 @@
],
"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
"d3",
"d3-force", // we should bump this once we move to esm modules
@@ -21,7 +23,9 @@
"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
"typescript", // >4.5.x doesn't seem to work on windows with pnp currently. probably similar to https://github.com/yarnpkg/berry/issues/3722
"ora" // we should bump this once we move to esm modules
],
"ignorePaths": ["packages/grafana-toolkit/package.json", "emails/**", "plugins-bundled/**", "**/mocks/**"],
@@ -29,12 +33,16 @@
"packageRules": [
{
"matchUpdateTypes": ["patch"],
"extends": ["schedule:monthly"]
"excludePackagePatterns": ["@storybook"],
"extends": ["schedule:monthly"],
"groupName": "Monthly patch updates"
},
{
"matchPackagePatterns": ["@storybook"],
"extends": ["schedule:monthly"],
"groupName": "Storybook updates"
}
],
"patch": {
"enabled": false
},
"pin": {
"enabled": false
},

View File

@@ -5,24 +5,49 @@ on:
version:
required: true
default: '7.x.x'
workflow_call:
inputs:
version_call:
description: Needs to match, exactly, the name of a version
required: true
type: string
secrets:
token:
required: true
metricsWriteAPIKey:
required: true
jobs:
main:
runs-on: ubuntu-latest
steps:
# This is a basic workflow to help you get started with Actions
- uses: actions-ecosystem/action-regex-match@v2.0.2
if: ${{ github.event.inputs.version != '' }}
id: regex-match
with:
text: ${{ github.event.inputs.version }}
regex: '^(\d+.\d+).\d+(?:-beta.\d+)?$'
- uses: actions-ecosystem/action-regex-match@v2.0.2
if: ${{ inputs.version_call != '' }}
id: regex-match-version-call
with:
text: ${{ inputs.version_call }}
regex: '^(\d+.\d+).\d+(?:-beta\d+)?$'
- name: Validate input version
if: ${{ steps.regex-match.outputs.match == '' }}
if: ${{ steps.regex-match.outputs.match == '' && github.event.inputs.version != '' }}
run: |
echo "The input version format is not correct, please respect:\
major.minor.patch or major.minor.patch-beta.number format. \
example: 7.4.3 or 7.4.3-beta.1"
exit 1
- name: Validate input version call
if: ${{ inputs.version_call != '' && steps.regex-match-version-call.outputs.match == '' }}
run: |
echo "The input version format is not correct, please respect:\
major.minor.patch or major.minor.patch-beta<number> format. \
example: 7.4.3 or 7.4.3-beta1"
exit 1
- uses: actions/checkout@v2
- name: Set intermedia variables
@@ -34,13 +59,13 @@ jobs:
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: steps.intermedia.outputs.branch_exist != '0' && !contains(steps.intermedia.outputs.short_ref, steps.intermedia.outputs.branch_name)
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: steps.intermedia.outputs.branch_exist == '0' && !contains(steps.intermedia.outputs.short_ref, 'main')
if: ${{ github.event.inputs.version != '' && steps.intermedia.outputs.branch_exist == '0' && !contains(steps.intermedia.outputs.short_ref, 'main') }}
run: |
echo "When you want to deliver a new new minor version, you might want to create a new branch first \
with naming convention v[major].[minor].x, and just run the workflow on that branch. \
@@ -53,13 +78,21 @@ jobs:
repository: "grafana/grafana-github-actions"
path: ./actions
ref: main
- uses: actions/setup-node@v2.4.1
- uses: actions/setup-node@v2.5.1
with:
node-version: '14'
- name: Install Actions
run: npm install --production --prefix ./actions
- name: Run bump version
- name: Run bump version (manually invoked)
if: ${{ github.event.inputs.version != '' }}
uses: ./actions/bump-version
with:
token: ${{secrets.GH_BOT_ACCESS_TOKEN}}
metricsWriteAPIKey: ${{secrets.GRAFANA_MISC_STATS_API_KEY}}
token: ${{ secrets.GH_BOT_ACCESS_TOKEN }}
metricsWriteAPIKey: ${{ secrets.GRAFANA_MISC_STATS_API_KEY }}
- name: Run bump version (workflow invoked)
if: ${{ inputs.version_call != '' }}
uses: ./actions/bump-version
with:
version_call: ${{ inputs.version_call }}
token: ${{ secrets.token }}
metricsWriteAPIKey: ${{ secrets.metricsWriteAPIKey }}

39
.github/workflows/close-milestone.yml vendored Normal file
View File

@@ -0,0 +1,39 @@
name: Close milestone
on:
workflow_dispatch:
inputs:
version:
required: true
description: Needs to match, exactly, the name of a milestone
workflow_call:
inputs:
version_call:
description: Needs to match, exactly, the name of a milestone
required: true
type: string
secrets:
token:
required: true
jobs:
main:
runs-on: ubuntu-latest
steps:
- name: Checkout Actions
uses: actions/checkout@v2
with:
repository: "grafana/grafana-github-actions"
path: ./actions
ref: main
- name: Install Actions
run: npm install --production --prefix ./actions
- name: Close milestone (manually invoked)
if: ${{ github.event.inputs.version != '' }}
uses: ./actions/close-milestone
with:
token: ${{ secrets.GH_BOT_ACCESS_TOKEN }}
- name: Close milestone (workflow invoked)
if: ${{ inputs.version_call != '' }}
uses: ./actions/close-milestone
with:
version_call: ${{ inputs.version_call }}
token: ${{ secrets.token }}

View File

@@ -1,7 +1,7 @@
name: Run commands when issues are labeled or comments added
on:
issues:
types: [labeled]
types: [labeled, unlabeled]
issue_comment:
types: [created]

View File

@@ -0,0 +1,141 @@
name: Levitate / Detect breaking changes
on: pull_request
jobs:
buildPR:
name: Build PR
runs-on: ubuntu-latest
defaults:
run:
working-directory: './pr'
steps:
- uses: actions/checkout@v2
with:
path: './pr'
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn config get cacheFolder)"
- name: Restore yarn cache
uses: actions/cache@v2
id: yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: yarn-cache-folder-${{ hashFiles('**/yarn.lock', '.yarnrc.yml') }}
restore-keys: |
yarn-cache-folder-
- name: Install dependencies
run: yarn install --immutable
- name: Build packages
run: yarn packages:build
- name: Zip built packages
run: zip -r ./pr_built_packages.zip ./packages/**/dist
- name: Upload build output as artifact
uses: actions/upload-artifact@v2
with:
name: buildPr
path: './pr/pr_built_packages.zip'
buildBase:
name: Build Base
runs-on: ubuntu-latest
defaults:
run:
working-directory: './base'
steps:
- uses: actions/checkout@v2
with:
path: './base'
ref: ${{ github.event.pull_request.base.ref }}
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn config get cacheFolder)"
- name: Restore yarn cache
uses: actions/cache@v2
id: yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: yarn-cache-folder-${{ hashFiles('**/yarn.lock', '.yarnrc.yml') }}
restore-keys: |
yarn-cache-folder-
- name: Install dependencies
run: yarn install --immutable
- name: Build packages
run: yarn packages:build
- name: Zip built packages
run: zip -r ./base_built_packages.zip ./packages/**/dist
- name: Upload build output as artifact
uses: actions/upload-artifact@v2
with:
name: buildBase
path: './base/base_built_packages.zip'
Detect:
name: Detect breaking changes
runs-on: ubuntu-latest
needs: ['buildPR', 'buildBase']
env:
GITHUB_STEP_NUMBER: 7
steps:
- uses: actions/checkout@v2
- name: Get built packages from pr
uses: actions/download-artifact@v2
with:
name: buildPr
- name: Get built packages from base
uses: actions/download-artifact@v2
with:
name: buildBase
- name: Unzip artifact from pr
run: unzip pr_built_packages.zip -d ./pr && rm pr_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
with:
script: |
const script = require('./.github/workflows/scripts/pr-get-job-link.js')
await script({github, context, core})
- name: Detect breaking changes
id: breaking-changes
run: ./scripts/check-breaking-changes.sh
env:
FORCE_COLOR: 3
GITHUB_JOB_LINK: ${{ steps.job.outputs.link }}
- 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
- name: Upload check output as artifact
uses: actions/upload-artifact@v2
with:
name: levitate
path: levitate/
- name: Exit
run: exit ${{ steps.breaking-changes.outputs.is_breaking }}
shell: bash

View File

@@ -0,0 +1,163 @@
name: Levitate / Report breaking changes
on:
workflow_run:
workflows: ["Levitate / Detect breaking changes"]
types: [completed]
jobs:
notify:
name: Report
runs-on: ubuntu-latest
env:
ARTIFACT_FOLDER: '${{ github.workspace }}/tmp'
ARTIFACT_NAME: 'levitate'
steps:
- uses: actions/checkout@v2
- name: 'Download artifact'
uses: actions/github-script@v5
env:
RUN_ID: ${{ github.event.workflow_run.id }}
with:
script: |
const fs = require('fs');
const { owner, repo } = context.repo;
const runId = process.env.RUN_ID;
const artifactName = process.env.ARTIFACT_NAME;
const artifactFolder = process.env.ARTIFACT_FOLDER;
const artifacts = await github.rest.actions.listWorkflowRunArtifacts({
owner,
repo,
run_id: runId,
});
const artifact = artifacts.data.artifacts.find(a => a.name === artifactName);
if (!artifact) {
throw new Error(`Could not find artifact ${ artifactName } in workflow (${ runId })`);
}
const download = await github.rest.actions.downloadArtifact({
owner,
repo,
artifact_id: artifact.id,
archive_format: 'zip',
});
fs.mkdirSync(artifactFolder, { recursive: true });
fs.writeFileSync(`${ artifactFolder }/${ artifactName }.zip`, Buffer.from(download.data));
- name: Unzip artifact
run: unzip "${ARTIFACT_FOLDER}/${ARTIFACT_NAME}.zip" -d "${ARTIFACT_FOLDER}"
- name: Parsing levitate result
uses: actions/github-script@v5
id: levitate-run
with:
script: |
const filePath = `${ process.env.ARTIFACT_FOLDER }/result.json`;
const script = require('./.github/workflows/scripts/json-file-to-job-output.js');
await script({ core, filePath });
- name: Check if "breaking change" label exists
id: does-label-exist
uses: actions/github-script@v5
env:
PR_NUMBER: ${{ github.event.workflow_run.pull_requests[0].number }}
with:
script: |
const { data } = await github.rest.issues.listLabelsOnIssue({
issue_number: process.env.PR_NUMBER,
owner: context.repo.owner,
repo: context.repo.repo,
});
const labels = data.map(({ name }) => name);
const doesExist = labels.includes('breaking change');
return doesExist ? 1 : 0;
- name: Comment on PR
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 }}
message: |
⚠️ &nbsp;&nbsp;**Possible breaking changes**
_(Open the links below in a new tab to go to the correct steps)_
${{ steps.levitate-run.outputs.message }}
[Check console output](${{ steps.levitate-run.outputs.job_link }})
- 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 }}
delete: true
- 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
env:
PR_NUMBER: ${{ github.event.workflow_run.pull_requests[0].number }}
with:
script: |
await github.rest.issues.addLabels({
issue_number: process.env.PR_NUMBER,
owner: context.repo.owner,
repo: context.repo.repo,
labels: ['breaking change']
})
- 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
env:
PR_NUMBER: ${{ github.event.workflow_run.pull_requests[0].number }}
with:
script: |
await github.rest.issues.removeLabel({
issue_number: process.env.PR_NUMBER,
owner: context.repo.owner,
repo: context.repo.repo,
name: 'breaking change'
})
# This is very weird, the actual request goes through (comes back with a 201), but does not assign the team.
# 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
env:
PR_NUMBER: ${{ github.event.workflow_run.pull_requests[0].number }}
with:
script: |
await github.rest.pulls.requestReviewers({
pull_number: process.env.PR_NUMBER,
owner: context.repo.owner,
repo: context.repo.repo,
reviewers: [],
team_reviewers: ['grafana/plugins-platform-frontend']
});
- name: Remove "grafana/plugins-platform-frontend" from the list of reviewers
if: ${{ steps.levitate-run.outputs.exit_code == 0 }}
uses: actions/github-script@v5
env:
PR_NUMBER: ${{ github.event.workflow_run.pull_requests[0].number }}
with:
script: |
await github.rest.pulls.removeRequestedReviewers({
pull_number: process.env.PR_NUMBER,
owner: context.repo.owner,
repo: context.repo.repo,
reviewers: [],
team_reviewers: ['grafana/plugins-platform-frontend']
});

21
.github/workflows/milestone.yml vendored Normal file
View File

@@ -0,0 +1,21 @@
name: Close Milestone
on:
workflow_dispatch:
inputs:
version_input:
description: 'The version to be released please respect: major.minor.patch or major.minor.patch-beta<number> format. example: 7.4.3 or 7.4.3-beta1'
required: true
jobs:
call-remove-milestone:
uses: grafana/grafana/.github/workflows/remove-milestone.yml@main
with:
version_call: ${{ github.event.inputs.version_input }}
secrets:
token: ${{ secrets.GH_BOT_ACCESS_TOKEN }}
call-close-milestone:
uses: grafana/grafana/.github/workflows/close-milestone.yml@main
with:
version_call: ${{ github.event.inputs.version_input }}
secrets:
token: ${{ secrets.GH_BOT_ACCESS_TOKEN }}
needs: call-remove-milestone

View File

@@ -1,9 +1,13 @@
name: PR Checks
on:
pull_request:
pull_request_target:
types:
- opened
- reopened
- synchronize
- ready_for_review
- labeled
- unlabeled
issues:
types:
- milestoned
@@ -12,6 +16,7 @@ on:
jobs:
main:
runs-on: ubuntu-latest
if: github.event.pull_request.draft == false
steps:
- name: Checkout Actions
uses: actions/checkout@v2

23
.github/workflows/prepare-release.yml vendored Normal file
View File

@@ -0,0 +1,23 @@
name: Prepare release
on:
workflow_dispatch:
inputs:
version_input:
description: 'The version to be released please respect: major.minor.patch or major.minor.patch-beta<number> format. example: 7.4.3 or 7.4.3-beta1'
required: true
jobs:
call-bump-version:
uses: grafana/grafana/.github/workflows/bump-version.yml@main
with:
version_call: ${{ github.event.inputs.version_input }}
secrets:
token: ${{ secrets.GH_BOT_ACCESS_TOKEN }}
metricsWriteAPIKey: ${{ secrets.GRAFANA_MISC_STATS_API_KEY }}
call-update-changelog:
uses: grafana/grafana/.github/workflows/update-changelog.yml@main
with:
version_call: ${{ github.event.inputs.version_input }}
secrets:
token: ${{ secrets.GH_BOT_ACCESS_TOKEN }}
metricsWriteAPIKey: ${{ secrets.GRAFANA_MISC_STATS_API_KEY }}
needs: call-bump-version

View File

@@ -3,7 +3,7 @@ name: publish_docs
on:
push:
branches:
- main
- v8.4.x
paths:
- 'docs/sources/**'
- 'packages/grafana-*/**'
@@ -17,14 +17,14 @@ jobs:
- 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.4.1
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.6
- uses: actions/cache@v2.1.7
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: yarn-${{ hashFiles('**/yarn.lock') }}
@@ -41,7 +41,7 @@ jobs:
host: github.com
github_pat: '${{ secrets.GH_BOT_ACCESS_TOKEN }}'
source_folder: docs/sources
target_folder: content/docs/grafana/next
target_folder: content/docs/grafana/latest
allow_no_changes: 'true'
- shell: bash
run: |

View File

@@ -5,6 +5,15 @@ on:
version:
required: true
description: Needs to match, exactly, the name of a milestone
workflow_call:
inputs:
version_call:
description: Needs to match, exactly, the name of a milestone
required: true
type: string
secrets:
token:
required: true
jobs:
main:
runs-on: ubuntu-latest
@@ -17,7 +26,14 @@ jobs:
ref: main
- name: Install Actions
run: npm install --production --prefix ./actions
- name: Remove milestone from open issues
- name: Remove milestone from open issues (manually invoked)
if: ${{ github.event.inputs.version != '' }}
uses: ./actions/remove-milestone
with:
token: ${{secrets.GH_BOT_ACCESS_TOKEN}}
token: ${{ secrets.GH_BOT_ACCESS_TOKEN }}
- name: Remove milestone from open issues (workflow invoked)
if: ${{ inputs.version_call != '' }}
uses: ./actions/remove-milestone
with:
version_call: ${{ inputs.version_call }}
token: ${{ secrets.token }}

View File

@@ -0,0 +1,27 @@
module.exports = async ({ core, filePath }) => {
try {
const fs = require('fs');
const content = await readFile(fs, filePath);
const result = JSON.parse(content);
core.startGroup('Parsing json file...');
for (const property in result) {
core.info(`${property} <- ${result[property]}`);
core.setOutput(property, result[property]);
}
core.endGroup();
} catch (error) {
core.restFailed(error.message);
}
}
async function readFile(fs, path) {
return new Promise((resolve, reject) => {
fs.readFile(path, (error, data) => {
if (error) return reject(error);
return resolve(data);
});
});
}

View File

@@ -0,0 +1,9 @@
module.exports = async ({ github, context, core }) => {
const { owner, repo } = context.repo;
const url = `https://api.github.com/repos/${owner}/${repo}/actions/runs/${context.runId}/jobs`
const result = await github.request(url)
const link = `https://github.com/grafana/grafana/runs/${result.data.jobs[0].id}?check_suite_focus=true`;
core.setOutput('link', link);
}

View File

@@ -3,8 +3,19 @@ on:
workflow_dispatch:
inputs:
version:
required: true
required: true
description: Needs to match, exactly, the name of a milestone
workflow_call:
inputs:
version_call:
description: Needs to match, exactly, the name of a milestone
required: true
type: string
secrets:
token:
required: true
metricsWriteAPIKey:
required: true
jobs:
main:
runs-on: ubuntu-latest
@@ -14,11 +25,19 @@ jobs:
with:
repository: "grafana/grafana-github-actions"
path: ./actions
ref: main
ref: main
- name: Install Actions
run: npm install --production --prefix ./actions
- name: Run update changelog
- name: Run update changelog (manually invoked)
if: ${{ github.event.inputs.version != '' }}
uses: ./actions/update-changelog
with:
token: ${{secrets.GH_BOT_ACCESS_TOKEN}}
metricsWriteAPIKey: ${{secrets.GRAFANA_MISC_STATS_API_KEY}}
token: ${{ secrets.GH_BOT_ACCESS_TOKEN }}
metricsWriteAPIKey: ${{ secrets.GRAFANA_MISC_STATS_API_KEY }}
- name: Run update changelog (workflow invoked)
if: ${{ inputs.version_call != '' }}
uses: ./actions/update-changelog
with:
version_call: ${{ inputs.version_call }}
token: ${{ secrets.token }}
metricsWriteAPIKey: ${{ secrets.metricsWriteAPIKey }}

13
.gitignore vendored
View File

@@ -13,6 +13,7 @@ public/dist/tsconfig.tsbuildinfo
/emails/dist
/reports
/e2e/tmp
/scripts/grafana-server/tmp
vendor/
/docs/menu.yaml
/requests
@@ -136,6 +137,12 @@ compilation-stats.json
/e2e/**/screenshots
!/e2e/**/screenshots/expected/*
/e2e/**/videos/*
/e2e/benchmarks/**/results/*
/e2e/benchmarks/**/results
/e2e/build_results.zip
# grafana server
/scripts/grafana-server/server.log
# a11y tests
/pa11y-ci-results.json
@@ -149,5 +156,11 @@ compilation-stats.json
# auto generated Go files
*_gen.go
!pkg/services/featuremgmt/toggles_gen.go
# Auto-generated localisation files
public/locales/_build/
public/locales/**/*.js
deployment_tools_config.json

32
.linguirc Normal file
View File

@@ -0,0 +1,32 @@
{
"locales": [
"en",
"fr",
"es",
"pseudo-LOCALE"
],
"catalogs": [
{
"path": "public/locales/{locale}/messages",
"include": [
"public/app"
],
"exclude": [
"**/*.d.ts",
"**/*.test.ts",
"**/node_modules/**",
"public/app/plugins"
]
}
],
"fallbackLocales": {
"pseudo-LOCALE": "en",
"default": "en"
},
"pseudoLocale": "pseudo-LOCALE",
"sourceLocale": "en",
"format": "po",
"formatOptions": {
"lineNumbers": false
}
}

1
.nvmrc Normal file
View File

@@ -0,0 +1 @@
v16.13.2

View File

@@ -7,6 +7,7 @@ public/vendor/
vendor/
/data/
e2e/tmp
scripts/grafana-server/tmp
public/build/
public/sass/*.generated.scss
devenv/

View File

@@ -1,6 +1,6 @@
{
"name": "typescript",
"version": "4.4.3-sdk",
"version": "4.4.4-sdk",
"main": "./lib/typescript.js",
"type": "commonjs"
}

View File

@@ -9,36 +9,35 @@ packageExtensions:
"@mdx-js/loader@1.6.22":
peerDependencies:
react: 17.0.1
"@storybook/addon-docs@6.4.4":
"@storybook/addon-docs@6.4.15":
peerDependencies:
"@storybook/manager-webpack5": 6.4.4
"@storybook/addon-essentials@6.4.4":
"@storybook/manager-webpack5": 6.4.15
"@storybook/addon-essentials@6.4.15":
peerDependencies:
"@storybook/components": 6.4.4
"@storybook/core-events": 6.4.4
"@storybook/manager-webpack5": 6.4.4
"@storybook/theming": 6.4.4
"@storybook/core-server@6.4.4":
"@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.4":
"@storybook/core@6.4.15":
peerDependencies:
"@babel/core": ^7.0.0
"@storybook/manager-webpack5": 6.4.4
"@storybook/csf-tools@6.4.4":
"@storybook/manager-webpack5": 6.4.15
"@storybook/csf-tools@6.4.15":
peerDependencies:
"@babel/core": ^7.0.0
"@storybook/react@6.4.4":
"@storybook/react@6.4.15":
peerDependencies:
"@storybook/manager-webpack5": 6.4.4
"@storybook/manager-webpack5": 6.4.15
doctrine@3.0.0:
dependencies:
assert: 2.0.0
moveable@0.26.0:
moveable@0.27.3:
dependencies:
"@daybrush/utils": 1.6.0
framework-utils: ^1.1.0
react-simple-compat: 1.2.1
rc-time-picker@3.7.3:
peerDependencies:
react: 17.0.1
@@ -47,7 +46,10 @@ packageExtensions:
peerDependencies:
react: 17.0.1
react-dom: 17.0.1
react-compat-moveable@0.14.0:
react-compat-css-styled@1.0.8:
dependencies:
react-simple-compat: 1.2.1
react-compat-moveable@0.15.2:
dependencies:
"@egjs/agent": ^2.2.1
"@egjs/children-differ": ^1.0.1
@@ -55,12 +57,9 @@ packageExtensions:
css-to-mat: ^1.0.3
gesto: ^1.4.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

View File

@@ -1,3 +1,125 @@
<!-- 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.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)
### Features and enhancements
- **Alerting:** Allow configuration of non-ready alertmanagers. [#43063](https://github.com/grafana/grafana/pull/43063), [@alexweav](https://github.com/alexweav)
- **Alerting:** Allow customization of Google chat message. [#43568](https://github.com/grafana/grafana/pull/43568), [@alexweav](https://github.com/alexweav)
- **Alerting:** Allow customization of Google chat message (#43568). [#43723](https://github.com/grafana/grafana/pull/43723), [@alexweav](https://github.com/alexweav)
- **AppPlugins:** Support app plugins with only default nav. [#43016](https://github.com/grafana/grafana/pull/43016), [@torkelo](https://github.com/torkelo)
- **InfluxDB:** InfluxQL: query editor: skip fields in metadata queries. [#42543](https://github.com/grafana/grafana/pull/42543), [@gabor](https://github.com/gabor)
- **Postgres/MySQL/MSSQL:** Cancel in-flight SQL query if user cancels query in grafana. [#43890](https://github.com/grafana/grafana/pull/43890), [@mdvictor](https://github.com/mdvictor)
- **Prometheus:** Forward oauth tokens after prometheus datasource migration. [#43686](https://github.com/grafana/grafana/pull/43686), [@MasslessParticle](https://github.com/MasslessParticle)
### Bug fixes
- **Azure Monitor:** Bug fix for variable interpolations in metrics dropdowns. [#43251](https://github.com/grafana/grafana/pull/43251), [@sarahzinger](https://github.com/sarahzinger)
- **Azure Monitor:** Improved error messages for variable queries. [#43213](https://github.com/grafana/grafana/pull/43213), [@sunker](https://github.com/sunker)
- **CloudMonitoring:** Fixes broken variable queries that use group bys. [#43914](https://github.com/grafana/grafana/pull/43914), [@sunker](https://github.com/sunker)
- **Configuration:** You can now see your expired API keys if you have no active ones. [#42452](https://github.com/grafana/grafana/pull/42452), [@ashharrison90](https://github.com/ashharrison90)
- **Elasticsearch:** Fix handling multiple datalinks for a single field. [#44029](https://github.com/grafana/grafana/pull/44029), [@Elfo404](https://github.com/Elfo404)
- **Export:** Fix error being thrown when exporting dashboards using query variables that reference the default datasource. [#44034](https://github.com/grafana/grafana/pull/44034), [@ashharrison90](https://github.com/ashharrison90)
- **ImportDashboard:** Fixes issue with importing dashboard and name ending up in uid. [#43451](https://github.com/grafana/grafana/pull/43451), [@torkelo](https://github.com/torkelo)
- **Login:** Page no longer overflows on mobile. [#43739](https://github.com/grafana/grafana/pull/43739), [@ashharrison90](https://github.com/ashharrison90)
- **Plugins:** Set backend metadata property for core plugins. [#43349](https://github.com/grafana/grafana/pull/43349), [@marefr](https://github.com/marefr)
- **Prometheus:** Fill missing steps with null values. [#43622](https://github.com/grafana/grafana/pull/43622), [@ivanahuckova](https://github.com/ivanahuckova)
- **Prometheus:** Fix interpolation of $\_\_rate_interval variable. [#44035](https://github.com/grafana/grafana/pull/44035), [@ivanahuckova](https://github.com/ivanahuckova)
- **Prometheus:** Interpolate variables with curly brackets syntax. [#42927](https://github.com/grafana/grafana/pull/42927), [@ivanahuckova](https://github.com/ivanahuckova)
- **Prometheus:** Respect the http-method data source setting. [#42753](https://github.com/grafana/grafana/pull/42753), [@gabor](https://github.com/gabor)
- **Table:** Fixes issue with field config applied to wrong fields when hiding columns. [#43376](https://github.com/grafana/grafana/pull/43376), [@torkelo](https://github.com/torkelo)
- **Toolkit:** Fix bug with rootUrls not being properly parsed when signing a private plugin. [#43014](https://github.com/grafana/grafana/pull/43014), [@dessen-xu](https://github.com/dessen-xu)
- **Variables:** Fix so data source variables are added to adhoc configuration. [#43881](https://github.com/grafana/grafana/pull/43881), [@hugohaggmark](https://github.com/hugohaggmark)
### Plugin development fixes & changes
- **Toolkit:** Revert build config so tslib is bundled with plugins to prevent plugins from crashing. [#43556](https://github.com/grafana/grafana/pull/43556), [@mckn](https://github.com/mckn)
<!-- 8.3.4 END -->
<!-- 8.3.3 START -->
# 8.3.3 (2021-12-10)
@@ -1221,6 +1343,24 @@ 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)
### Bug fixes
- **[v7.5.x] Alerting:** Fix NoDataFound for alert rules using AND operator (#41305). [#44066](https://github.com/grafana/grafana/pull/44066), [@armandgrillet](https://github.com/armandgrillet)
<!-- 7.5.13 END -->
<!-- 7.5.11 START -->

View File

@@ -46,6 +46,10 @@ If you have an idea of how to improve Grafana, submit an [enhancement request](h
We want to make Grafana accessible to even more people. Submit an [accessibility issue](https://github.com/grafana/grafana/issues/new?labels=type%3A+accessibility&template=3-accessibility.md) to help us understand what we can improve.
### Write documentation
To edit or write technical content, refer to [Contribute to our documentation](/contribute/documentation/README.md). We welcome your expertise and input as our body of technical content grows.
### Triage issues
If you don't have the knowledge or time to code, consider helping with _issue triage_. The community will thank you for saving them time by spending some of yours.
@@ -76,6 +80,6 @@ Before we can accept your pull request, you need to [sign our CLA](https://grafa
## Where do I go from here?
- Set up your [development environment](contribute/developer-guide.md).
- Learn how to [contribute documentation](contribute/documentation.md).
- Learn how to [contribute documentation](contribute/README.md).
- Get started [developing plugins](https://grafana.com/docs/grafana/latest/developers/plugins/) for Grafana.
- Look through the resources in the [contribute](https://github.com/grafana/grafana/tree/main/contribute) folder.
- Look through the resources in the [contribute](contribute) folder.

View File

@@ -1,4 +1,4 @@
FROM node:16-alpine3.14 as js-builder
FROM node:16-alpine3.15 as js-builder
ENV NODE_OPTIONS=--max_old_space_size=8000
@@ -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.3-alpine3.14 as go-builder
FROM golang:1.17.6-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
@@ -39,7 +40,7 @@ RUN go mod verify
RUN make build-go
# Final stage
FROM alpine:3.14.3
FROM alpine:3.15
LABEL maintainer="Grafana team <hello@grafana.com>"

View File

@@ -1,4 +1,4 @@
FROM node:16-alpine3.14 as js-builder
FROM node:16-alpine3.15 as js-builder
ENV NODE_OPTIONS=--max_old_space_size=8000
@@ -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.3 AS go-builder
FROM golang:1.17.6 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

@@ -79,7 +79,7 @@ The current team members are:
- Dominik Prokop ([Grafana Labs](https://grafana.com/))
- Emil Tullstedt ([Grafana Labs](https://grafana.com/))
- Erik Sundell ([Grafana Labs](https://grafana.com/))
- Fredrik Enestad ([Soundtrack Your Brand](https://www.soundtrackyourbrand.com/))
- Fredrik Enestad ([Embark Studios](https://www.embark-studios.com/))
- Hugo Häggmark ([Grafana Labs](https://grafana.com/))
- Ivana Huckova ([Grafana Labs](https://grafana.com/))
- Jeroen Op 't Eynde ([Grafana Labs](https://grafana.com/))

View File

@@ -21,7 +21,7 @@ grafana-mixin/
cue/
```
The following directories and their subdirectories are the original upstream licenses:
The following directories and their subdirectories are licensed under their original upstream licenses:
```
public/vendor/

View File

@@ -7,11 +7,13 @@ 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
all: deps build
@@ -28,13 +30,62 @@ 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
@@ -99,6 +150,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

@@ -38,7 +38,8 @@
"@babel/plugin-proposal-nullish-coalescing-operator",
"@babel/plugin-proposal-optional-chaining",
"@babel/plugin-syntax-dynamic-import", // needed for `() => import()` in routes.ts
"angularjs-annotate"
"angularjs-annotate",
"macros"
],
"env": {
"production": {

View File

@@ -122,6 +122,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"
@@ -235,7 +238,7 @@ admin_password = admin
secret_key = SW2YcwTIb9zpOOhoPsMm
# current key provider used for envelope encryption, default to static value specified by secret_key
encryption_provider = secretKey
encryption_provider = secretKey.v1
# list of configured key providers, space separated (Enterprise only): e.g., awskms.v1 azurekv.v1
available_encryption_providers =
@@ -259,7 +262,6 @@ cookie_samesite = lax
allow_embedding = false
# Set to true if you want to enable http strict transport security (HSTS) response header.
# This is only sent when HTTPS is enabled in this configuration.
# HSTS tells browsers that the site should only be accessed using HTTPS.
strict_transport_security = false
@@ -294,8 +296,8 @@ content_security_policy_template = """script-src 'self' 'unsafe-eval' 'unsafe-in
[snapshots]
# snapshot sharing options
external_enabled = true
external_snapshot_url = https://snapshots-origin.raintank.io
external_snapshot_name = Publish to snapshot.raintank.io
external_snapshot_url = https://snapshots.raintank.io
external_snapshot_name = Publish to snapshots.raintank.io
# Set to true to enable this Grafana instance act as an external snapshot server and allow unauthenticated requests for
# creating and deleting snapshots.
@@ -404,6 +406,9 @@ 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
@@ -492,6 +497,7 @@ allowed_groups =
#################################### Okta OAuth #######################
[auth.okta]
name = Okta
icon = okta
enabled = false
allow_sign_up = true
client_id = some_id
@@ -508,6 +514,7 @@ role_attribute_strict = false
#################################### Generic OAuth #######################
[auth.generic_oauth]
name = OAuth
icon = signin
enabled = false
allow_sign_up = true
client_id = some_id
@@ -564,6 +571,7 @@ jwk_set_file =
cache_ttl = 60m
expected_claims = {}
key_file =
auto_sign_up = false
#################################### Auth LDAP ###########################
[auth.ldap]
@@ -865,6 +873,11 @@ max_annotations_to_keep =
# Enable the Explore section
enabled = true
#################################### Query History #############################
[query_history]
# Enable the Query history
enabled = false
#################################### Internal Grafana Metrics ############
# Metrics available at HTTP API Url /metrics
[metrics]
@@ -1076,9 +1089,17 @@ grpc_port =
license_path =
[feature_toggles]
# enable features, separated by spaces
# there are currently two ways to enable feature toggles in the `grafana.ini`.
# you can either pass an array of feature you want to enable to the `enable` field or
# configure each toggle by setting the name of the toggle to true/false. Toggles set to true/false
# will take precedence over toggles in the `enable` list.
# enable = feature1,feature2
enable =
# feature1 = true
# feature2 = false
[date_formats]
# For information on what formatting patterns that are supported https://momentjs.com/docs/#/displaying/

View File

@@ -123,6 +123,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.
@@ -235,7 +238,7 @@
;secret_key = SW2YcwTIb9zpOOhoPsMm
# current key provider used for envelope encryption, default to static value specified by secret_key
;encryption_provider = secretKey
;encryption_provider = secretKey.v1
# list of configured key providers, space separated (Enterprise only): e.g., awskms.v1 azurekv.v1
;available_encryption_providers =
@@ -259,7 +262,6 @@
;allow_embedding = false
# Set to true if you want to enable http strict transport security (HSTS) response header.
# This is only sent when HTTPS is enabled in this configuration.
# HSTS tells browsers that the site should only be accessed using HTTPS.
;strict_transport_security = false
@@ -294,8 +296,8 @@
[snapshots]
# snapshot sharing options
;external_enabled = true
;external_snapshot_url = https://snapshots-origin.raintank.io
;external_snapshot_name = Publish to snapshot.raintank.io
;external_snapshot_url = https://snapshots.raintank.io
;external_snapshot_name = Publish to snapshots.raintank.io
# Set to true to enable this Grafana instance act as an external snapshot server and allow unauthenticated requests for
# creating and deleting snapshots.
@@ -398,6 +400,9 @@
# 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
@@ -548,6 +553,7 @@
;cache_ttl = 60m
;expected_claims = {"aud": ["foo", "bar"]}
;key_file = /path/to/key/file
;auto_sign_up = false
#################################### Auth LDAP ##########################
[auth.ldap]
@@ -848,6 +854,11 @@
# Enable the Explore section
;enabled = true
#################################### Query History #############################
[query_history]
# Enable the Query history
;enabled = false
#################################### Internal Grafana Metrics ##########################
# Metrics available at HTTP API Url /metrics
[metrics]
@@ -1055,8 +1066,15 @@
;license_path =
[feature_toggles]
# enable features, separated by spaces
;enable =
# there are currently two ways to enable feature toggles in the `grafana.ini`.
# you can either pass an array of feature you want to enable to the `enable` field or
# configure each toggle by setting the name of the toggle to true/false. Toggles set to true/false
# will take presidence over toggles in the `enable` list.
;enable = feature1,feature2
;feature1 = true
;feature2 = false
[date_formats]
# For information on what formatting patterns that are supported https://momentjs.com/docs/#/displaying/

View File

@@ -3,7 +3,7 @@
This directory contains guides for contributors to the Grafana project.
- [Create a pull request](create-pull-request.md)
- [Contributing documentation](documentation.md)
- [Contribute documentation](../contribute/documentation/README.md)
- [Developer guide](developer-guide.md)
- [Triage issues](triage-issues.md)
- [Merge a pull request](merge-pull-request.md)

View File

@@ -109,7 +109,7 @@ ctx := req.Request.Context()
query := &models.FindDashboardQuery{
ID: "foo",
}
if err := bus.DispatchCtx(ctx, query); err != nil {
if err := bus.Dispatch(ctx, query); err != nil {
return err
}
// The query now contains a result.

View File

@@ -39,6 +39,14 @@ For alternative ways of cloning the Grafana repository, please refer to [GitHub'
**Warning:** Do not use `go get` to download Grafana. Recent versions of Go have added behavior which isn't compatible with the way the Grafana repository is structured.
### Configure Editors
For some IDEs, additional configuration may be needed for Typescript to work with [Yarn plug'n'play](https://yarnpkg.com/features/pnp).
For [VSCode](https://yarnpkg.com/getting-started/editor-sdks#vscode) and [Vim](https://yarnpkg.com/getting-started/editor-sdks#vim),
it's as easy as running `yarn dlx @yarnpkg/sdks vscode` or `yarn dlx @yarnpkg/sdks vim`, respectively.
More information can be found [here](https://yarnpkg.com/getting-started/editor-sdks).
## Build Grafana
Grafana consists of two components; the _frontend_, and the _backend_.

View File

@@ -1,42 +0,0 @@
# Contributing to documentation
This documents guides you through the process of contributing to the Grafana documentation. Make sure you've read the guide for [Contributing to Grafana](/CONTRIBUTING.md).
## Your first contribution
If youre unsure about where to start, check out some of our [open docs issues](https://github.com/grafana/grafana/issues?q=is%3Aopen+is%3Aissue+label%3Atype%2Fdocs).
Sometimes it can be difficult to understand an issue when you're just getting started. Refer to this list of [beginner-friendly issues](https://github.com/grafana/grafana/issues?q=is%3Aopen+is%3Aissue+label%3Atype%2Fdocs+label%3A"beginner+friendly") for tasks suitable for first-time contributors.
When youve found an issue you want to work on, please comment on the issue to let other people know you intend to work on it.
If you encounter any misspellings or violations to the style guide, please let us know by submitting an issue (or just fix them if they are minor changes).
On every page in the [documentation](https://grafana.com/docs/) are two links in the upper right corner:
- **Edit this page** takes you directly to the file on GitHub where you can contribute a fix.
- **Request doc changes** prepares an issue on GitHub with relevant information already filled in.
## Join our community
For general discussions on documentation, youre welcome to join the `#docs` channel on our [public Grafana Slack](http://slack.raintank.io) team.
## Style and formatting
All Grafana documentation is written using [Markdown](https://en.wikipedia.org/wiki/Markdown), and can be found in the [docs](/docs) directory in the [Grafana GitHub repository](https://github.com/grafana/grafana). The [documentation website](https://grafana.com/docs) is generated with [Hugo](https://gohugo.io) which uses [Blackfriday](https://github.com/russross/blackfriday) as its Markdown rendering engine.
### Documentation structure
The Grafana documentation is organized into topics, called _sections_. You can take a look at the current build at [grafana.com/docs/](https://grafana.com/docs/).
Each top-level section is located under the [docs/sources](/docs/sources) directory. Subsections are added by creating a subdirectory in the directory of the parent section.
For each section, an `_index.md` file provides an overview of the topic.
### Style guide
Refer to the [Documentation style guide](style-guides/documentation-style-guide.md) for information about Grafana style, word choice, and grammar conventions.
### Spelling
The [codespell](https://github.com/codespell-project/codespell) tool is run for every change to catch common misspellings.

View File

@@ -0,0 +1,235 @@
# Contribute to our documentation
We provide these guidelines to help our contributors make additions or corrections to our documentation.
## Welcome
Welcome. We're glad you're here to help make our technical documentation even better. We develop content that leads our users to success using Grafana products. Technical accuracy is our primary consideration, and we value the use of inclusive language. We regard your feedback as a gift - thanks for reading through these guidelines.
### Intended audience
We write these guidelines for contributors who are interested in improving our technical content.
## Understanding the structure of Grafana documentation
All Grafana Enterprise and OSS documentation is located in the [Grafana open source project](https://github.com/grafana/grafana) GitHub repository: https://github.com/grafana/grafana/tree/main/docs/sources.
- The **sources** directory organizes content by topic areas, for example **administration** and **alerting**.
- Topic directories include an `_index.md` file, which provides an overview of the topic, and optionally includes subtopics that provide more detail.
> The `_index.md` file is required.
### Writing in markdown
We write technical documentation using [Markdown](https://en.wikipedia.org/wiki/Markdown). We've put together a short guide to help you how to structure and format your content.
To access the markdown guide, refer to [Markdown style guide](documentation-markdown-guide.md).
## Ways to contribute
We're thrilled that you are considering contributing to the documentation. You can contribute content in the following ways:
- [Request a change](#request-a-change)
- [Edit a topic](#edit-a-topic)
- [Write a topic](#write-a-topic)
### Request a change
Request a change when you want to make a suggestion about a topic, but don't want to provide an edit that generates a pull request. Requesting a change gives you the freedom to express your ideas without committing language. Your suggestion can reflect a small change to wording or can reflect larger, more substantive changes.
GitHub captures your request as an **Issue** logged against the repository.
Before you begin:
- Create a GitHub account.
To request a change, complete the following steps:
1. While viewing the topic, click **Request a change**.
The Issue title auto-populates with the location of the file about which you are requesting a change.
![Request a change](request-change.png)
2. Enter a change request description.
3. Add the **type/docs** label.
4. Click **Submit new issue**.
### Edit a topic
If you want to recommend a small change, such as suggesting a correction to a topic, you can edit the topic directly in GitHub. You are not required to fork and clone the repo to use this approach.
Other small changes might include:
- Adding steps to a task
- Adding clarifying language to a concept
- Providing an example
Before you begin:
- Create a GitHub account.
To edit a topic, complete the following steps:
1. While viewing the topic you want to edit, click **Edit this page**.
![Edit a topic](edit-file.png)
2. Add your changes to the topic.
3. Scroll to the bottom of the page and enter a branch name.
For example, enter `clarified dashboard panel definition`.
4. Click **Commit**.
GitHub prompts you to create a PR.
5. Complete the prompts provided in the body of the PR.
6. Click **Create pull request**.
### Write a topic
At Grafana Labs, we use the principles of topic-based authoring when we write technical documentation. Topic-based authoring provides guidelines for writing three _types_ of technical documentation: concept, task, and reference. Before you begin writing, establish the topic type you want to write.
#### Understanding topic types
Technical content is divided into three topic types: concept, task, and reference.
- **Concept**: A concept topic explains _what_ a feature (or idea) is, and why it is important.
- **Task**: A task topic explains _how_ to complete an end user procedure in the system. Task topics contain steps.
- **Reference** A reference topic contains lookup information that a user might consult when they complete a task. Documenting a list of values with descriptions is a common form of reference topic.
**Example**
Suppose you are writing content for a site called _Doggie handbook_. You might organize your topics like this:
**Concepts**
- What a dog is
- Brief history of dogs
- Why you might want a dog
- Tasks dogs can be trained to do
**Tasks**
- Feed the dog
- Groom the dog
- Train the dog
**References**
- List of dog equipment you will need
- Table of breeds that includes breed name, size range, short or long hair, and type of dog
#### Prepare your environment
Before you begin writing, we recommend that you fork and clone the Grafana repository so that you can use a text editor locally to create branches, commit your changes, and create a PR.
While this document doesn't include git commands or descriptions of Github operations, you might find these links useful.
- [Install git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git): We store all source code, including documentation, in Git repositories.
- [Fork a repo](https://docs.github.com/en/get-started/quickstart/fork-a-repo): Locate the repo you want to clone, and fork it.
- [Clone a repo](https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository): Clone the repository to your local machine.
- [Create a branch](https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging): Before you make change, create a branch. Do not push changes against the `main` branch.
- [Create a PR](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request): After you add, commit, and push your changes, create a PR in Github.
#### Use a documentation template to contribute a topic
We have provided documentation templates that align with each topic type:
- [Concept](templates/doc-concept-template.md)
- [Task](templates/doc-task-template.md)
- [Reference](templates/doc-reference-template.md)
Each template provides additional usage and formatting guidelines. We recommend that you make a copy of whichever template you are using, then add content.
> Remove any unused content before you commit your changes.
#### View a local build
Prior to pushing your changes, you can view a local build of the documentation so that you can review your work.
To view a local build:
1. Install [Docker](https://www.docker.com/products/docker-desktop).
1. Run Docker.
1. Navigate to the **docs** root directory.
1. Run `make build`.
1. Open `localhost:3002` to review your changes.
## Push changes and create a PR
When you are ready for other people to review your work, perform the following tasks.
1. [Add](https://git-scm.com/docs/git-add) your changes, which prepares your content for the next commit.
1. [Commit](https://git-scm.com/docs/git-commit) your changes.
1. [Push](https://git-scm.com/docs/git-push) your changes to Github.
1. [Create a PR](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request) in Github.
The docs build system automatically conducts a series of tests to ensure that the content doesn't conflict with other content in the docs repository.
### Understanding the PR review and approval workflow
When a PR is added to the repo with a label associated with `docs`, it will be reviewed by a member of the technical writing team. Depending on the size of the PR and the priority of other work, the PR will either be immediately reviewed and merged (minor fixes typically follow this pattern) or the PR will be triaged and placed in the backlog of work or moved into further development.
## Join our community
For general discussions on documentation, youre welcome to join the `#docs` channel on our [public Grafana Slack](http://slack.raintank.io) team.
## Reference: Top five writing tips
While we don't provide a comprehensive style guide in this document, here's a few writing tips to help the writing process.
### Consider the audience
Write for an audience that is computer literate and has general technical knowledge, but is not necessarily familiar with Grafana or the finer points of observability.
Pretend you are explaining your topic to a brand new Grafana user or developer.
### Write clear and concise sentences and paragraphs
Use the following sentence structure when you write: _subject_—_verb_—_object_. If you are telling a user to do something, write an imperative sentence. For example “Enter the refresh rate time interval and click Save.”
- You can also start a sentence with an _if_ clause, which positions the condition before the action.
- Limit the number of words in a sentence to 20..
### Use active voice
Active voice makes the performer of the action the subject
of the sentence. When you write in passive voice, the recipient of the action (and not the performer) becomes the subject of the sentence.
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. | . |
### Avoid obscure non-English words and abbreviations
Users might be unfamiliar with some non-English words and abbreviations such as _per_, _vs_, and _via_. Latin abbreviations in particular, like _i.e._, _e.g._, and _etc._, are vague.
| Use | Dont use |
| ------------ | ----------- |
| through | via |
| that is | i.e. |
| according to | per, as per |
| and so on | etc. |
### Write self-contained topics
Thanks to search engines, every page in the documentation might be a reader's entry point. This means that each page needs to be self-contained and make sense on its own. The reader should not need to read other topics in order to perform the task or understand the concept.
However, try to be helpful and link to related information. Using the _Doggie handbook_ example, the concept topic that explains what dogs can be trained to do might link to the Train the dog task.

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 179 KiB

View File

@@ -21,9 +21,13 @@ The following checklist/summary should give you a quick overview of what to ask/
Before actually merging a pull request there's a couple of things to take into consideration.
### Status checks
Before you can merge a pull request, it must have a review approval, and all the required status checks must pass.
### Format the pull request title
Make sure that the pull request title is properly formatted according to `<Area>: <Summary>` and try to make the summary short and understandable for the community as a whole.
The pull request title should be formatted according to `<Area>: <Summary>`. Keep the summary short and understandable for the community as a whole.
All commits in a pull request are squashed when merged and the pull request title will be the default subject line of the squashed commit message. It's also used for [changelog/release notes](#include-in-changelog-and-release-notes).
@@ -31,9 +35,9 @@ See [formatting guidelines](create-pull-request.md#formatting-guidelines) for mo
### Assign a milestone
It's recommended to add a milestone to every pull request. This makes it easier to track what changes did go into a certain release. Without this you're basically left with going through git commits which could be a lot harder.
A milestone **should** be added to every pull request. Several things in the Grafana release process requires at least pull requests to be in a milestone, for example [generating changelog/release notes](#include-in-changelog-and-release-notes).
There's also various tooling built that in some cases requires a pull request to be assigned a milestone, for example [generating changelog/release notes](#include-in-changelog-and-release-notes).
This makes it easier to track what changes go into a certain release. Without this information, release managers have to go through git commits which is not an efficient process.
### Include in changelog and release notes?
@@ -81,8 +85,21 @@ In case the pull request introduces a breaking change you should document this.
### Should the pull request be backported?
An active decision of backporting needs to be taken for every pull request. There's a pull request check named **Backport Check** that will enforce this. By adding/removing labels on the pull request the check will be re-evaluated.
#### No backport
If you don't want to backport you need to add a label named **no-backport** to the pull request.
#### 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.
The general rule of thumb regarding what changes goes into what release is:
- bug fixes should be released in patch releases, e.g. v8.1.3, if the bug was introduced in the same major/minor or lower patch version.
- new features should go into the next major/minor version, e.g. v8.0.0, v8.2.0.
Some examples when backport is required:
- The change needs to be released in the next upcoming patch release, e.g. v8.1.3, so you have to backport it, e.g. into the v8.1.x release branch.

View File

@@ -119,7 +119,7 @@ If that is the case, then use the following format for headings:
- Assume all graphics will be exclusively viewed on the web.
- Maximum image size is 3840px X 2160px.
- Screenshots should be readable, but not too large.
- _Do not_ use image shortcodes. Follow the guidance in the [Grafana markdown guide](https://github.com/grafana/grafana/blob/main/contribute/style-guides/documentation-markdown-guide.md#images).
- _Do not_ use image shortcodes. Follow the guidance in [Markdown style guide](../documentation/documentation-markdown-guide.md#Images).
- Markdown image links are preferred. Only use the HTML image links if you need to style the image in ways unsupported in Markdown.
- When you name a file, follow the [file naming conventions](#file-naming-conventions). Example: image-name-7-3.png

View File

@@ -16,8 +16,8 @@ BASE_URL=http://172.0.10.2:3333 yarn e2e
The above commands use some utils scripts under [_\<repo-root>/e2e_](../../e2e) that can also be used for more control.
- `./e2e/start-server` This creates a fresh new grafana server working dir, setup's config and starts the server. It will also kill any previously started server that is still running using pid file at _\<repo-root>/e2e/tmp/pid_.
- `./e2e/wait-for-grafana` waits for `$HOST` and `$PORT` to be available. Per default localhost and 3001.
- `./scripts/grafana-server/start-server` This creates a fresh new grafana server working dir, setup's config and starts the server. It will also kill any previously started server that is still running using pid file at _\<repo-root>/scripts/grafana-server/tmp/pid_.
- `./scripts/grafana-server/wait-for-grafana` waits for `$HOST` and `$PORT` to be available. Per default localhost and 3001.
- `./e2e/run-suite <debug|dev|noarg>` Starts cypress in different modes.
## Test suites

View File

@@ -255,6 +255,7 @@ Organize your code in a directory that encloses feature code:
- Put React components in `components` directory (i.e. `features/my-feature/components/ButtonPeopleDreamOf.tsx`).
- Put test files next to the test subject.
- Put containers (pages) in feature root (i.e. `features/my-feature/DashboardPage.tsx`).
- Put API function calls that isn't a redux thunk in an `api.ts` file within the same directory.
- Subcomponents can live in the component folders. Small component do not need their own folder.
- Component SASS styles should live in the same folder as component code.

View File

@@ -1,60 +0,0 @@
# Templates
Templates are both a starting point and an instruction manual for writing something new. They are intended to make life easier by providing a jumping-off point, something besides a blank page to start from. They are not intended to be a limitation. If the template does not work perfectly for your use case, you can adjust or change it. We will work it out in code review.
## Create a template
Feel free to add templates to the `templates` folder. Try to make them as generic as possible and include clear instructions for when and how to use the template. Assume that the template user is a brand new contributor and write accordingly.
## Use a template
1. Read the template. Make sure you understand what it is for and how it is intended to be used.
1. Copy and rename the template. Move it to where you actually need it.
You might also want to copy the content of the template and paste it into a different file. This is acceptable use.
1. Replace the template content with your own. Delete whatever is unnecessary.
## Documentation templates
In an ideal world, each topic will correspond to an information _type_ ([task](doc-task-template.md), [reference](doc-reference-template.md), [concept](doc-concept-template.md)) and contain only that type of information.
However, this is not always practical. For example, you have a series of short topics, you can group them into one topic.
Try to _chunk_ your content. This means you should organize the document so that the same kinds of content are grouped together.
### Chunking example
If I was writing content for a site called _Doggie handbook_, I might organize it like this.
**Concept**
- What a dog is
- Brief history of dogs
- Why you might want a dog
- Tasks dogs can be trained to do
**Tasks**
- Feed the dog
- Groom the dog
- Train the dog
**Reference**
- List of dog equipment you will need
- Table of breeds that includes breed name, size range, short or long hair, and type of dog
### Audience
Write for an audience that is computer literate and has general technical knowledge, but is not necessarily familiar with Grafana or the finer points of observability.
Pretend you are explaining your topic to a brand new Grafana user or developer.
### Self-contained
Thanks to search engines, every page in the documentation might be a reader's entry point. This means that each page needs to be self-contained and make sense on its own. The reader should not need to read other topics in order to perform the task or understand the concept.
However, try to be helpful and link to related information. Using the _Doggie handbook_ example, the concept topic that explains what dogs can be trained to do might link to the Train the dog task.
## Code templates
This is a placeholder for future templates.

View File

@@ -255,6 +255,17 @@ datasources:
secureJsonData:
password: Password!
- name: gdev-mssql-tls
type: mssql
url: localhost:1434
database: grafana
user: grafana
jsonData:
encrypt: "true"
tlsSkipVerify: true
secureJsonData:
password: Password!
- name: gdev-mssql-ds-tests
type: mssql
url: localhost:1433

View File

@@ -42,7 +42,7 @@ datasources:
version: Flux
organization: myorg
defaultBucket: mybucket
- name: gdev-influxdb-influxql
type: influxdb
access: proxy
@@ -220,6 +220,17 @@ datasources:
secureJsonData:
password: Password!
- name: gdev-mssql-tls
type: mssql
url: localhost:1434
database: grafana
user: grafana
jsonData:
encrypt: "true"
tlsSkipVerify: true
secureJsonData:
password: Password!
- name: gdev-mssql-ds-tests
type: mssql
url: mssqltests:1433
@@ -259,4 +270,4 @@ datasources:
type: loki
access: proxy
url: http://loki:3100
editable: false
editable: false

View File

@@ -815,19 +815,19 @@
"value": "Wm2"
},
{
"text": "Volt-ampere (VA)",
"text": "Volt-Ampere (VA)",
"value": "voltamp"
},
{
"text": "Kilovolt-ampere (kVA)",
"text": "Kilovolt-Ampere (kVA)",
"value": "kvoltamp"
},
{
"text": "Volt-ampere reactive (var)",
"text": "Volt-Ampere reactive (VAr)",
"value": "voltampreact"
},
{
"text": "Kilovolt-ampere reactive (kvar)",
"text": "Kilovolt-Ampere reactive (kVAr)",
"value": "kvoltampreact"
},
{

View File

@@ -161,7 +161,8 @@
"rowHeight": 0.99,
"showValue": "auto",
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -545,7 +546,8 @@
"values": false
},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -792,7 +794,8 @@
"placement": "bottom"
},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -861,7 +864,8 @@
"stacking": "none",
"text": {},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -890,7 +894,7 @@
}
],
"refresh": "",
"schemaVersion": 30,
"schemaVersion": 33,
"style": "dark",
"tags": [
"gdev",

View File

@@ -217,7 +217,7 @@
}
}
],
"schemaVersion": 30,
"schemaVersion": 33,
"style": "dark",
"tags": [],
"templating": {

View File

@@ -1991,7 +1991,7 @@
"axisLabel": "",
"axisPlacement": "auto",
"drawStyle": "line",
"fillOpacity": 29,
"fillOpacity": 0,
"gradientMode": {
"label": "None",
"value": "none"

View File

@@ -0,0 +1,486 @@
{
"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,
"iteration": 1640181282174,
"links": [],
"liveNow": false,
"panels": [
{
"datasource": {
"type": "testdata"
},
"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",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"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": 12,
"x": 0,
"y": 0
},
"id": 44,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"title": "Orphan non-repeating panel",
"type": "timeseries"
},
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 8
},
"id": 2,
"panels": [],
"repeat": "row",
"title": "Row title $row",
"type": "row"
},
{
"datasource": {
"type": "testdata"
},
"description": "",
"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",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"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": 8,
"x": 0,
"y": 9
},
"id": 9,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"repeat": "horizontal",
"repeatDirection": "h",
"title": "Horizontal repeating $horizontal",
"type": "timeseries"
},
{
"datasource": {
"type": "testdata"
},
"description": "",
"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",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"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": 8,
"x": 0,
"y": 17
},
"id": 4,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"title": "Non-repeating panel",
"type": "timeseries"
},
{
"datasource": {
"type": "testdata"
},
"description": "",
"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",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"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": 8,
"x": 8,
"y": 17
},
"id": 22,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"repeat": "vertical",
"repeatDirection": "v",
"title": "Vertical repeating $vertical",
"type": "timeseries"
}
],
"schemaVersion": 34,
"style": "dark",
"tags": [],
"templating": {
"list": [
{
"current": {
"selected": true,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "vertical",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
},
{
"current": {
"selected": true,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "horizontal",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
},
{
"current": {
"selected": true,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "row",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "utc",
"title": "Repeating Kitchen Sink",
"uid": "hxQwTjpnk",
"version": 6,
"weekStart": ""
}

View File

@@ -0,0 +1,204 @@
{
"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,
"iteration": 1640181116069,
"links": [],
"liveNow": false,
"panels": [
{
"datasource": {
"type": "testdata"
},
"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",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"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": 8,
"x": 0,
"y": 0
},
"id": 2,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"repeat": "horizontal",
"repeatDirection": "h",
"title": "Panel Title $horizontal",
"type": "timeseries"
}
],
"schemaVersion": 34,
"style": "dark",
"tags": [],
"templating": {
"list": [
{
"current": {
"selected": false,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "vertical",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
},
{
"current": {
"selected": true,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "horizontal",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "utc",
"title": "Repeating a panel horizontally",
"uid": "WVpf2jp7z",
"version": 3,
"weekStart": ""
}

View File

@@ -0,0 +1,202 @@
{
"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": [
{
"datasource": {
"type": "testdata"
},
"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",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"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": 12,
"x": 0,
"y": 0
},
"id": 2,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"repeat": "vertical",
"repeatDirection": "v",
"title": "Panel Title $vertical",
"type": "timeseries"
}
],
"schemaVersion": 34,
"style": "dark",
"tags": [],
"templating": {
"list": [
{
"current": {
"selected": true,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "vertical",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
},
{
"current": {
"selected": true,
"text": [
"1"
],
"value": [
"1"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "horizontal",
"options": [
{
"selected": false,
"text": "All",
"value": "$__all"
},
{
"selected": true,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"skipUrlSync": false,
"type": "custom"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "utc",
"title": "Repeating a panel vertically",
"uid": "OY8Ghjt7k",
"version": 1,
"weekStart": ""
}

View File

@@ -0,0 +1,335 @@
{
"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,
"iteration": 1640181157128,
"links": [],
"liveNow": false,
"panels": [
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 0
},
"id": 2,
"panels": [],
"repeat": "row",
"title": "Row title $row",
"type": "row"
},
{
"datasource": {
"type": "testdata"
},
"description": "",
"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",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"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": 8,
"x": 0,
"y": 1
},
"id": 4,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"title": "Panel Title",
"type": "timeseries"
},
{
"datasource": {
"type": "testdata"
},
"description": "",
"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",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"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": 8,
"x": 0,
"y": 9
},
"id": 9,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"repeat": "horizontal",
"repeatDirection": "h",
"title": "Horizontal repeating $horizontal",
"type": "timeseries"
}
],
"schemaVersion": 34,
"style": "dark",
"tags": [],
"templating": {
"list": [
{
"current": {
"selected": true,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "vertical",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
},
{
"current": {
"selected": true,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "horizontal",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
},
{
"current": {
"selected": true,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "row",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "utc",
"title": "Repeating a row with a non-repeating panel and horizontal repeating panel",
"uid": "k3PEoCpnk",
"version": 3,
"weekStart": ""
}

View File

@@ -0,0 +1,335 @@
{
"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,
"iteration": 1640181176989,
"links": [],
"liveNow": false,
"panels": [
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 0
},
"id": 2,
"panels": [],
"repeat": "row",
"title": "Row title $row",
"type": "row"
},
{
"datasource": {
"type": "testdata"
},
"description": "",
"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",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"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": 8,
"x": 0,
"y": 1
},
"id": 4,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"title": "Panel Title",
"type": "timeseries"
},
{
"datasource": {
"type": "testdata"
},
"description": "",
"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",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"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": 8,
"x": 8,
"y": 1
},
"id": 9,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"repeat": "vertical",
"repeatDirection": "v",
"title": "Vertical repeating $vertical",
"type": "timeseries"
}
],
"schemaVersion": 34,
"style": "dark",
"tags": [],
"templating": {
"list": [
{
"current": {
"selected": true,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "vertical",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
},
{
"current": {
"selected": true,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "horizontal",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
},
{
"current": {
"selected": true,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "row",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "utc",
"title": "Repeating a row with a non-repeating panel and vertical repeating panel",
"uid": "7lS-ojt7z",
"version": 2,
"weekStart": ""
}

View File

@@ -0,0 +1,258 @@
{
"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,
"iteration": 1640181195825,
"links": [],
"liveNow": false,
"panels": [
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 0
},
"id": 2,
"panels": [],
"repeat": "row",
"title": "Row title $row",
"type": "row"
},
{
"datasource": {
"type": "testdata"
},
"description": "",
"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",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"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": 8,
"x": 0,
"y": 1
},
"id": 4,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"title": "Panel Title",
"type": "timeseries"
}
],
"schemaVersion": 34,
"style": "dark",
"tags": [],
"templating": {
"list": [
{
"current": {
"selected": true,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "vertical",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
},
{
"current": {
"selected": true,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "horizontal",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
},
{
"current": {
"selected": true,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "row",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "utc",
"title": "Repeating a row with a non-repeating panel",
"uid": "ZzyTojpnz",
"version": 3,
"weekStart": ""
}

View File

@@ -0,0 +1,260 @@
{
"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,
"iteration": 1640181211838,
"links": [],
"liveNow": false,
"panels": [
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 0
},
"id": 2,
"panels": [],
"repeat": "row",
"title": "Row title $row",
"type": "row"
},
{
"datasource": {
"type": "testdata"
},
"description": "",
"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",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"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": 8,
"x": 0,
"y": 1
},
"id": 4,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"repeat": "horizontal",
"repeatDirection": "h",
"title": "Panel Title $horizontal",
"type": "timeseries"
}
],
"schemaVersion": 34,
"style": "dark",
"tags": [],
"templating": {
"list": [
{
"current": {
"selected": false,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "vertical",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
},
{
"current": {
"selected": false,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "horizontal",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
},
{
"current": {
"selected": true,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "row",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "utc",
"title": "Repeating a row with a repeating horizontal panel",
"uid": "0OmtTCtnk",
"version": 3,
"weekStart": ""
}

View File

@@ -0,0 +1,259 @@
{
"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,
"iteration": 1640181228045,
"links": [],
"liveNow": false,
"panels": [
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 0
},
"id": 2,
"panels": [],
"repeat": "row",
"title": "Row title $row",
"type": "row"
},
{
"datasource": {
"type": "testdata"
},
"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",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"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": 12,
"x": 0,
"y": 1
},
"id": 4,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"repeat": "vertical",
"repeatDirection": "v",
"title": "Panel Title $vertical",
"type": "timeseries"
}
],
"schemaVersion": 34,
"style": "dark",
"tags": [],
"templating": {
"list": [
{
"current": {
"selected": false,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "vertical",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
},
{
"current": {
"selected": false,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "horizontal",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
},
{
"current": {
"selected": true,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "row",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "utc",
"title": "Repeating a row with a repeating vertical panel",
"uid": "I0YIojp7z",
"version": 3,
"weekStart": ""
}

View File

@@ -0,0 +1,183 @@
{
"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,
"iteration": 1640181241284,
"links": [],
"liveNow": false,
"panels": [
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 0
},
"id": 2,
"panels": [],
"repeat": "row",
"title": "Row title $row",
"type": "row"
}
],
"schemaVersion": 34,
"style": "dark",
"tags": [],
"templating": {
"list": [
{
"current": {
"selected": false,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "vertical",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
},
{
"current": {
"selected": true,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "horizontal",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
},
{
"current": {
"selected": true,
"text": [
"All"
],
"value": [
"$__all"
]
},
"hide": 0,
"includeAll": true,
"multi": true,
"name": "row",
"options": [
{
"selected": true,
"text": "All",
"value": "$__all"
},
{
"selected": false,
"text": "1",
"value": "1"
},
{
"selected": false,
"text": "2",
"value": "2"
},
{
"selected": false,
"text": "3",
"value": "3"
}
],
"query": "1,2,3",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "utc",
"title": "Repeating an empty row",
"uid": "dtpl2Ctnk",
"version": 4,
"weekStart": ""
}

View File

@@ -189,7 +189,7 @@
"type": "dashlist"
}
],
"schemaVersion": 30,
"schemaVersion": 33,
"style": "dark",
"tags": [],
"templating": {

View File

@@ -79,7 +79,8 @@
"stacking": "none",
"text": {},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -151,7 +152,8 @@
"stacking": "none",
"text": {},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -221,7 +223,8 @@
"stacking": "none",
"text": {},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -291,7 +294,8 @@
"stacking": "none",
"text": {},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -305,7 +309,10 @@
"type": "barchart"
},
{
"datasource": "-- Dashboard --",
"datasource": {
"type": "datasource",
"uid": "-- Dashboard --"
},
"fieldConfig": {
"defaults": {
"color": {
@@ -363,7 +370,8 @@
"valueSize": 25
},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -433,7 +441,8 @@
"stacking": "none",
"text": {},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -504,7 +513,8 @@
"stacking": "none",
"text": {},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -519,7 +529,7 @@
}
],
"refresh": "",
"schemaVersion": 30,
"schemaVersion": 33,
"style": "dark",
"tags": [
"gdev",

View File

@@ -433,4 +433,4 @@
"uid": "2jFpEvp7z",
"version": 8,
"weekStart": ""
}
}

View File

@@ -362,7 +362,7 @@
}
],
"refresh": "",
"schemaVersion": 30,
"schemaVersion": 33,
"style": "dark",
"tags": [
"gdev",

View File

@@ -95,7 +95,8 @@
"placement": "bottom"
},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -181,7 +182,8 @@
"placement": "bottom"
},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -266,7 +268,8 @@
"placement": "bottom"
},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -280,7 +283,10 @@
"type": "timeseries"
},
{
"datasource": "-- Dashboard --",
"datasource": {
"type": "datasource",
"uid": "-- Dashboard --"
},
"fieldConfig": {
"defaults": {
"color": {
@@ -352,7 +358,8 @@
"placement": "bottom"
},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -437,7 +444,8 @@
"placement": "bottom"
},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -455,7 +463,10 @@
"type": "timeseries"
},
{
"datasource": "-- Dashboard --",
"datasource": {
"type": "datasource",
"uid": "-- Dashboard --"
},
"fieldConfig": {
"defaults": {
"color": {
@@ -531,7 +542,8 @@
"placement": "bottom"
},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -544,7 +556,10 @@
"type": "timeseries"
},
{
"datasource": "-- Dashboard --",
"datasource": {
"type": "datasource",
"uid": "-- Dashboard --"
},
"fieldConfig": {
"defaults": {
"color": {
@@ -620,7 +635,8 @@
"placement": "bottom"
},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -633,7 +649,10 @@
"type": "timeseries"
},
{
"datasource": "-- Dashboard --",
"datasource": {
"type": "datasource",
"uid": "-- Dashboard --"
},
"fieldConfig": {
"defaults": {
"color": {
@@ -709,7 +728,8 @@
"placement": "bottom"
},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -797,7 +817,8 @@
"placement": "bottom"
},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -825,7 +846,7 @@
}
],
"refresh": false,
"schemaVersion": 30,
"schemaVersion": 33,
"style": "dark",
"tags": [
"gdev",

View File

@@ -34,7 +34,9 @@
],
"panels": [
{
"datasource": "gdev-testdata",
"datasource": {
"type": "testdata"
},
"fieldConfig": {
"defaults": {
"color": {
@@ -100,7 +102,8 @@
"placement": "bottom"
},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "7.4.0-pre",
@@ -138,7 +141,9 @@
"type": "timeseries"
},
{
"datasource": "gdev-testdata",
"datasource": {
"type": "testdata"
},
"description": "Series A have no nulls and is not aligned with series B",
"fieldConfig": {
"defaults": {
@@ -206,7 +211,8 @@
"placement": "bottom"
},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "7.4.0-pre",
@@ -252,7 +258,9 @@
"type": "timeseries"
},
{
"datasource": "gdev-testdata",
"datasource": {
"type": "testdata"
},
"description": "",
"fieldConfig": {
"defaults": {
@@ -320,7 +328,8 @@
"placement": "bottom"
},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "7.4.0-pre",
@@ -386,7 +395,9 @@
"type": "timeseries"
},
{
"datasource": "gdev-testdata",
"datasource": {
"type": "testdata"
},
"fieldConfig": {
"defaults": {
"color": {
@@ -452,7 +463,8 @@
"placement": "bottom"
},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "7.4.0-pre",
@@ -490,7 +502,9 @@
"type": "timeseries"
},
{
"datasource": "gdev-testdata",
"datasource": {
"type": "testdata"
},
"description": "Series A have no nulls and is not aligned with series B",
"fieldConfig": {
"defaults": {
@@ -558,7 +572,8 @@
"placement": "bottom"
},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "7.4.0-pre",
@@ -604,7 +619,9 @@
"type": "timeseries"
},
{
"datasource": "gdev-testdata",
"datasource": {
"type": "testdata"
},
"description": "Should look the same as above\n",
"fieldConfig": {
"defaults": {
@@ -672,7 +689,8 @@
"placement": "bottom"
},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "7.4.0-pre",
@@ -738,7 +756,9 @@
"type": "timeseries"
},
{
"datasource": "gdev-testdata",
"datasource": {
"type": "testdata"
},
"fieldConfig": {
"defaults": {
"color": {
@@ -836,7 +856,8 @@
"placement": "bottom"
},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "7.2.0-pre",
@@ -878,7 +899,9 @@
"type": "timeseries"
},
{
"datasource": "gdev-testdata",
"datasource": {
"type": "testdata"
},
"fieldConfig": {
"defaults": {
"color": {
@@ -976,7 +999,8 @@
"placement": "bottom"
},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "7.2.0-pre",
@@ -1082,7 +1106,8 @@
"placement": "bottom"
},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "7.5.0-pre",
@@ -1184,7 +1209,8 @@
"placement": "bottom"
},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -1198,7 +1224,7 @@
"type": "timeseries"
}
],
"schemaVersion": 30,
"schemaVersion": 33,
"style": "dark",
"tags": [
"gdev",

View File

@@ -1346,7 +1346,7 @@
"axisPlacement": "auto",
"drawStyle": "line",
"fillGradient": "hue",
"fillOpacity": 25,
"fillOpacity": 0,
"hideFrom": {
"graph": false,
"legend": false,

View File

@@ -76,7 +76,10 @@
"type": "histogram"
},
{
"datasource": "-- Dashboard --",
"datasource": {
"type": "datasource",
"uid": "-- Dashboard --"
},
"fieldConfig": {
"defaults": {
"color": {
@@ -409,7 +412,7 @@
"type": "table"
}
],
"schemaVersion": 30,
"schemaVersion": 33,
"style": "dark",
"tags": [
"gdev",

View File

@@ -815,19 +815,19 @@
"value": "Wm2"
},
{
"text": "Volt-ampere (VA)",
"text": "Volt-Ampere (VA)",
"value": "voltamp"
},
{
"text": "Kilovolt-ampere (kVA)",
"text": "Kilovolt-Ampere (kVA)",
"value": "kvoltamp"
},
{
"text": "Volt-ampere reactive (var)",
"text": "Volt-Ampere reactive (VAr)",
"value": "voltampreact"
},
{
"text": "Kilovolt-ampere reactive (kvar)",
"text": "Kilovolt-Ampere reactive (kVAr)",
"value": "kvoltampreact"
},
{

View File

@@ -89,7 +89,8 @@
"rowHeight": 0.98,
"showValue": "always",
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "7.5.0-pre",
@@ -186,7 +187,8 @@
"rowHeight": 0.98,
"showValue": "always",
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -287,7 +289,8 @@
"rowHeight": 0.98,
"showValue": "always",
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -367,7 +370,8 @@
"rowHeight": 0.98,
"showValue": "always",
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "asc"
}
},
"pluginVersion": "7.5.0-pre",
@@ -410,7 +414,7 @@
}
],
"refresh": false,
"schemaVersion": 30,
"schemaVersion": 33,
"style": "dark",
"tags": [
"gdev",

View File

@@ -68,7 +68,8 @@
"rowHeight": 0.9,
"showValue": "always",
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "7.5.0-pre",
@@ -244,7 +245,8 @@
"rowHeight": 0.9,
"showValue": "always",
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "7.5.0-pre",
@@ -319,7 +321,8 @@
"rowHeight": 0.9,
"showValue": "always",
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "7.5.0-pre",
@@ -358,7 +361,7 @@
}
],
"refresh": false,
"schemaVersion": 30,
"schemaVersion": 33,
"style": "dark",
"tags": [
"gdev",

View File

@@ -83,7 +83,8 @@
"placement": "bottom"
},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"targets": [
@@ -484,7 +485,8 @@
"showValue": "auto",
"text": {},
"tooltip": {
"mode": "single"
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "8.1.0-pre",
@@ -530,7 +532,7 @@
}
],
"refresh": "",
"schemaVersion": 30,
"schemaVersion": 33,
"style": "dark",
"tags": [
"gdev",

View File

@@ -23,7 +23,10 @@
"links": [],
"panels": [
{
"datasource": "-- Dashboard --",
"datasource": {
"type": "datasource",
"uid": "-- Dashboard --"
},
"fieldConfig": {
"defaults": {
"color": {
@@ -70,7 +73,10 @@
"type": "table"
},
{
"datasource": "-- Dashboard --",
"datasource": {
"type": "datasource",
"uid": "-- Dashboard --"
},
"fieldConfig": {
"defaults": {
"color": {
@@ -264,7 +270,10 @@
"type": "gauge"
},
{
"datasource": "-- Dashboard --",
"datasource": {
"type": "datasource",
"uid": "-- Dashboard --"
},
"fieldConfig": {
"defaults": {
"color": {
@@ -311,7 +320,10 @@
"type": "table"
},
{
"datasource": "-- Dashboard --",
"datasource": {
"type": "datasource",
"uid": "-- Dashboard --"
},
"fieldConfig": {
"defaults": {
"color": {
@@ -579,7 +591,7 @@
}
],
"refresh": "",
"schemaVersion": 30,
"schemaVersion": 33,
"style": "dark",
"tags": [
"gdev",

View File

@@ -6,6 +6,7 @@ import (
"io/ioutil"
"log"
"net/http"
"strings"
)
func hello(w http.ResponseWriter, r *http.Request) {
@@ -14,7 +15,8 @@ func hello(w http.ResponseWriter, r *http.Request) {
return
}
line := fmt.Sprintf("webbhook: -> %s", string(body))
safeBody := strings.Replace(string(body), "\n", "", -1)
line := fmt.Sprintf("webbhook: -> %s", safeBody)
fmt.Println(line)
if _, err := io.WriteString(w, line); err != nil {
log.Printf("Failed to write: %v", err)

View File

@@ -1,5 +1,5 @@
maildev:
image: maildev/maildev
image: gillesdemey/maildev
ports:
- "12080:80"
- "1025:25"
- "12080:1080"
- "1025:1025"

View File

@@ -0,0 +1,12 @@
This build is basically a clone of the `mssql` folder but without the custom `grafana` db/user created.
At this moment, there is no `MSSQL Server` available for `arm64` processors. The workaround is using an `azure-sql-edge` image instead.
The `setup` files cannot be used to create a custom `grafana` db/user since `sqlcmd` does not work for `arm64` processors.
(https://docs.microsoft.com/en-us/azure/azure-sql-edge/connect)
You can connect the Grafana MSSQL datasource to this instance by using the following credentials:
* Host: `localhost`
* Database: `master`
* User: `sa`
* Password: `Password!` or whatever is set in `docker-compose.yaml` for env var `MSSQL_SA_PASSWORD`

View File

@@ -0,0 +1,11 @@
FROM mcr.microsoft.com/azure-sql-edge:1.0.4
WORKDIR /usr/setup
COPY entrypoint.sh ./
USER root
RUN chown -R mssql ./
USER mssql
CMD /bin/bash ./entrypoint.sh

View File

@@ -0,0 +1,2 @@
#start SQL Server
/opt/mssql/bin/sqlservr

View File

@@ -0,0 +1,8 @@
mssql:
build:
context: docker/blocks/mssql_arm64/build
environment:
ACCEPT_EULA: Y
MSSQL_SA_PASSWORD: Password!
ports:
- "1433:1433"

View File

@@ -0,0 +1,21 @@
FROM mcr.microsoft.com/mssql/server:2019-CU8-ubuntu-18.04
WORKDIR /usr/setup
COPY setup.sh setup.sql.template entrypoint.sh ./
COPY mssql.conf /var/opt/mssql/mssql.conf
USER root
RUN chmod +x setup.sh
RUN chown -R mssql ./
RUN mkdir -p /home/mssql
RUN chown -R mssql /home/mssql
USER mssql
RUN touch ~/.rnd
RUN openssl req -x509 -nodes -newkey rsa:2048 -subj '/CN=mssql_tls' -keyout /var/opt/mssql/mssql.key -out /var/opt/mssql/mssql.pem -days 365
RUN chmod 440 /var/opt/mssql/mssql.key
RUN chmod 440 /var/opt/mssql/mssql.pem
CMD /bin/bash ./entrypoint.sh

View File

@@ -0,0 +1,2 @@
#start SQL Server and run setup script
/usr/setup/setup.sh & /opt/mssql/bin/sqlservr

View File

@@ -0,0 +1,5 @@
[network]
tlscert = /var/opt/mssql/mssql.pem
tlskey = /var/opt/mssql/mssql.key
tlsprotocols = 1.2
forceencryption = 1

View File

@@ -0,0 +1,13 @@
#/bin/bash
set -eo pipefail
#wait for the SQL Server to come up
sleep 15s
cat /usr/setup/setup.sql.template | awk '{
gsub(/%%DB%%/,"'$MSSQL_DATABASE'");
gsub(/%%USER%%/,"'$MSSQL_USER'");
gsub(/%%PWD%%/,"'$MSSQL_PASSWORD'")
}1' > /usr/setup/setup.sql
/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P $MSSQL_SA_PASSWORD -d master -i /usr/setup/setup.sql

View File

@@ -0,0 +1,26 @@
CREATE LOGIN %%USER%% WITH PASSWORD = '%%PWD%%'
GO
CREATE DATABASE %%DB%%
ON
( NAME = %%DB%%,
FILENAME = '/var/opt/mssql/data/%%DB%%.mdf',
SIZE = 500MB,
MAXSIZE = 1000MB,
FILEGROWTH = 100MB )
LOG ON
( NAME = %%DB%%_log,
FILENAME = '/var/opt/mssql/data/%%DB%%_log.ldf',
SIZE = 500MB,
MAXSIZE = 1000MB,
FILEGROWTH = 100MB );
GO
USE %%DB%%;
GO
CREATE USER %%USER%% FOR LOGIN %%USER%%;
GO
EXEC sp_addrolemember 'db_owner', '%%USER%%';
GO

View File

@@ -0,0 +1,18 @@
mssql_tls:
build:
context: docker/blocks/mssql_tls/build
environment:
ACCEPT_EULA: Y
MSSQL_SA_PASSWORD: Password!
MSSQL_PID: Developer
MSSQL_DATABASE: grafana
MSSQL_USER: grafana
MSSQL_PASSWORD: Password!
ports:
- "1434:1433"
fake-mssql-tls-data:
image: grafana/fake-data-gen
environment:
FD_DATASOURCE: mssql_tls
FD_PORT: 1434

View File

@@ -1,4 +1,5 @@
ARG mysql_version=5.6
FROM mysql:${mysql_version}
ADD setup.sql /docker-entrypoint-initdb.d
RUN chown -R mysql:mysql /docker-entrypoint-initdb.d/
CMD ["mysqld"]

View File

@@ -1,4 +1,5 @@
ARG postgres_version=9.3
FROM postgres:${postgres_version}
ADD setup.sql /docker-entrypoint-initdb.d
RUN chown -R postgres:postgres /docker-entrypoint-initdb.d/
CMD ["postgres"]

View File

@@ -6,6 +6,7 @@ import (
"net/http/httputil"
"net/url"
"os"
"strings"
"time"
)
@@ -31,7 +32,17 @@ func main() {
proxy := httputil.NewSingleHostReverseProxy(originURL)
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
log.Printf("sleeping for %s then proxying request: url '%s', headers: '%v'", sleep.String(), r.RequestURI, r.Header)
safeSleep := strings.Replace(sleep.String(), "\n", "", -1)
safeRequestUri := strings.Replace(r.RequestURI, "\n", "", -1)
log.Printf("sleeping for %s then proxying request: url '%s'", safeSleep, safeRequestUri)
// This is commented out as CodeQL flags this as vulnerability CWE-117 (https://cwe.mitre.org/data/definitions/117.html)
// If you need to debug and log the headers then use the line below instead of the log.Printf statement above
// The docker container will then need to be rebuilt after the change is made:
// Run `make devenv sources=slow_proxy`
// or run `docker-compose build` in the devenv folder
//
// log.Printf("sleeping for %s then proxying request: url '%s', headers: '%v'", safeSleep, safeRequestUri, r.Header)
<-time.After(sleep)
proxy.ServeHTTP(w, r)
})

View File

@@ -8,7 +8,7 @@ export const UIEndpoint = class UIEndpoint {
login(username, pwd) {
const payload = { user: username, password: pwd };
return this.httpClient.formPost('/login', payload);
return this.httpClient.post('/login', JSON.stringify(payload));
}
};

View File

@@ -20,7 +20,7 @@ If you have the grafana/website repo checked out in the same directory as the gr
Edit content in the `sources` directory.
### [Contributing](https://github.com/grafana/grafana/blob/main/contribute/documentation.md)
### [Contributing](/contribute/documentation/README.md)
### Using `relref` for internal links

Some files were not shown because too many files have changed in this diff Show More