Compare commits

...

2951 Commits

Author SHA1 Message Date
Grot (@grafanabot) e9cb2a313e [v9.3.x] Fix XSS in runbook URL (#684)
Fix XSS in runbook URL (#681)

(cherry picked from commit db1548c1491c2f5b522e3c0ceb1832b914a4b2f0)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-11-29 18:03:52 +02:00
Grot (@grafanabot) 08d483e0bd [v9.3.x] Docs: Improve docs for images in notifications (#59402)
Docs: Improve docs for images in notifications (#59033)

(cherry picked from commit 0af3515e95)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-11-28 09:23:11 -05:00
Grot (@grafanabot) 05948043e8 [v9.3.x] Docs: Improve Labels and annotations docs (#59401)
Docs: Improve Labels and annotations docs (#59325)

This commit makes a number of changes to the docs for Labels and
annotations.

 1. It changes the order in which Labels and annotations are mentioned
    from Annotations and labels to Labels and annotations as this is
    the order shown in the UI when creating and editing alert rules.
    It is also the order in the Prometheus documentation.

 2. It changes most of the documentation explaining what labels and
    annotations are and the differences between them. It also adds
    some paragraphs on Custom Labels.

(cherry picked from commit e7316ff13f)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-11-28 09:21:41 -05:00
Grot (@grafanabot) 3513179722 [v9.3.x] BarChart: fix hover overlay for hz stacked (#59396)
BarChart: fix hover overlay for hz stacked (#59359)

(cherry picked from commit 13d5ad2ce2)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-11-28 09:02:33 -05:00
Erik Sundell c652135724 [v9.3.x] CloudWatch: Cross-account querying support (#59389)
* add cross-account querying support

* fix tests
2022-11-28 14:21:34 +01:00
Grot (@grafanabot) 426fab32eb [v9.3.x] SSE: Make sure to forward headers, user and cookies/OAuth token (#59390)
SSE: Make sure to forward headers, user and cookies/OAuth token (#58897)

Fixes #58793 and Fixes https://github.com/grafana/azure-data-explorer-datasource/issues/513

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

Co-authored-by: Kyle Brandt <kyle@grafana.com>
2022-11-28 08:11:52 -05:00
Gilles De Mey 0e8f0d4b4a Alerting: fix "no permissions" alert flashing (#59300) (#59374) 2022-11-28 12:31:38 +01:00
Grot (@grafanabot) 7ab181383b [v9.3.x] OptionsUI: SliderValueEditor does not get auto focused on slider change (#59368)
OptionsUI: SliderValueEditor does not get auto focused on slider change (#59209)

(cherry picked from commit 45d3125919)

Co-authored-by: Laura Fernández <laura.fernandez@grafana.com>
2022-11-28 05:20:18 -05:00
Grot (@grafanabot) e0cf9e4331 [v9.3.x] Breadcrumbs: Remove semi-bold and change current/last breadcrumb text color (#58913)
Breadcrumbs: Remove semi-bold and change current/last breadcrumb text color (#58875)

(cherry picked from commit c14cbfc65d)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-11-28 04:40:54 -05:00
Timur Olzhabayev 9b5269dc4f Feat: Adding an optional browser config option to e2e test runner (#59321)
Adding an optional browser config option to e2e test runner

(cherry picked from commit 9e2d37462b)
2022-11-28 08:12:22 +01:00
Grot (@grafanabot) 2e36890b56 [v9.3.x] Access Control: Clear user's permission cache after resource creation (#59307)
Access Control: Clear user's permission cache after resource creation (#59101)

* refresh user's permission cache after resource creation

* clear the cache instead of reloading the permissions

* don't error if can't clear cache

* fix tests

* fix tests again

(cherry picked from commit a8bae3f0b0)

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2022-11-24 09:52:46 -05:00
Grot (@grafanabot) d147f3d366 [v9.3.x] Navigation: Support rbac for new dashboard, import dashboard and new folder (#59305)
Navigation: Support rbac for new dashboard, import dashboard and new folder (#59303)

RBAC: Support rbac for new dashboard, import dashboard and new folder
page

(cherry picked from commit a53f57cc43)

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2022-11-24 09:46:36 -05:00
Grot (@grafanabot) c0ddd089ef [v9.3.x] TraceView: Fix broken rendering when scrolling in Dashboard panel in Firefox (#59281)
TraceView: Fix broken rendering when scrolling in Dashboard panel in Firefox (#56642)

(cherry picked from commit a2f1d2e102)

Co-authored-by: zdg-github <52441803+zdg-github@users.noreply.github.com>
2022-11-24 14:31:56 +01:00
Grot (@grafanabot) 556bec41c9 [v9.3.x] Logs: Fix misalignment of LogRows (#59290)
Logs: Fix misalignment of LogRows (#59279)

* add default display flex

* changed to `text-align: left`

(cherry picked from commit 400ada1ad0)

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2022-11-24 07:33:41 -05:00
Grot (@grafanabot) b95b9f0c47 [v9.3.x] PostgreSQL: Fix missing CA field from configuration (#59286)
PostgreSQL: Fix missing CA field from configuration (#59280)

* PostgreSQL: Fix missing CA field from configuration

(cherry picked from commit be73418d00)

Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
2022-11-24 13:33:24 +01:00
Grot (@grafanabot) 4e2446d3e3 [v9.3.x] Azure Monitor: Fix empty/errored responses for Logs variables (#59278)
Azure Monitor: Fix empty/errored responses for Logs variables (#59240)

(cherry picked from commit 276b54fe9d)

Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>
2022-11-24 06:02:51 -05:00
Grot (@grafanabot) 2cbaab0e4c [v9.3.x] User: Optimize signed in user cache management (#59199)
User: Optimize signed in user cache management (#59090)

* only access the cache if a user ID is set

* ignore all negative values

(cherry picked from commit d7a652ff7f)

Co-authored-by: Jo <joao.guerreiro@grafana.com>
2022-11-24 04:15:43 -05:00
Grot (@grafanabot) 85383e9b43 [v9.3.x] Heatmap: Fix blurry text & rendering (#59262)
Heatmap: Fix blurry text & rendering (#59260)

(cherry picked from commit 6f00bc5674)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-11-23 23:15:19 -05:00
Grot (@grafanabot) d895cad92a [v9.3.x] Explore: Sub-tables support for Table component (#59250)
Explore: Sub-tables support for Table component (#58682)

* First commit with working version of sub-tables using subData array

* Update TableContainer and query result to support a dataframe array for the table result

* Fix border issue by moving the subtable to above the cells in the DOM

* Allow header to be configurable using custom options.

* Update TablePanel to support sub-tables

* Fix main row links

* Added tests

* Fix TablePanel correctly splitting frames and sub-frames by using refId

(cherry picked from commit 183b279274)

Co-authored-by: Andre Pereira <adrapereira@gmail.com>
2022-11-23 18:30:45 +00:00
Grot (@grafanabot) 000cfe1dfc [v9.3.x] Internationalization: Enable internationalization by default (#59226)
Internationalization: Enable internationalization by default (#59204)

* Enable internationalization feature flag by default

* Change i18n feature to beta

* Set i18n feature flag to stable

* update features

(cherry picked from commit ba0ac08465)

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2022-11-23 12:17:09 -05:00
Grot (@grafanabot) c4756c394b [v9.3.x] Azure Monitor Logs: Avoid warning when the response is empty (#59231)
Azure Monitor Logs: Avoid warning when the response is empty (#59211)

(cherry picked from commit 9d88e14f01)

Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>
2022-11-23 10:31:54 -05:00
Grot (@grafanabot) f5d7e0ed92 [v9.3.x] Tempo: Send the correct start time when making a TraceQL query (#59219)
(cherry picked from commit 6d94fa6aa5)
Co-authored-by: Hamas Shafiq <hamas.shafiq@grafana.com>
2022-11-23 14:28:59 +00:00
Grot (@grafanabot) e20a296176 [v9.3.x] I18n: Crowdin sync (#59212)
I18n: Crowdin sync (#59210)

* New translations grafana.json (French)

* New translations grafana.json (Spanish)

* New translations grafana.json (German)

* New translations grafana.json (Chinese Simplified)

(cherry picked from commit 343f65fffb)

Co-authored-by: Grafana I18n Bot <110095610+grafana-i18n-bot@users.noreply.github.com>
2022-11-23 14:17:34 +00:00
Grot (@grafanabot) 14878bcf99 [v9.3.x] I18n: Translate Dashboard Starred notification (#59208)
I18n: Translate Dashboard Starred notification (#59138)

(cherry picked from commit f180bb46f8)

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2022-11-23 07:28:04 -05:00
Grot (@grafanabot) f1efd350e6 [v9.3.x] Navigation: always show GetStartedWithPlugin even if there's install control wa… (#59206)
Navigation: always show `GetStartedWithPlugin` even if there's install control wa… (#59127)

always show `GetStartedWithPlugin` even if there's install control warnings

(cherry picked from commit c2f31c2685)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-11-23 11:49:45 +00:00
Grot (@grafanabot) 66ceacd98f [v9.3.x] Solo Panel: Configurable timezone (#59202)
Solo Panel: Configurable timezone (#59153)

* Allow to set timezone in query

* Use optional timestamp

* Update timeZone

(cherry picked from commit a0334a92f5)

Co-authored-by: Selene <selenepinillos@gmail.com>
2022-11-23 12:42:21 +01:00
Grot (@grafanabot) 7a543052ee [v9.3.x] Fix #58598 X-ID-Token header missing on Loki Datasource (#59193)
Fix #58598 X-ID-Token header missing on Loki Datasource (#58784)

* Fix #58598 X-ID-Token header missing on Loki Datasource

* Remove unecessary continue statements

* Add getAuthHeadersForCallResource unit tests

* Fix test and switch statement issues introduced during merge

(cherry picked from commit f1ef63791a)

Co-authored-by: Yann Vigara <yvigara@users.noreply.github.com>
2022-11-23 12:24:17 +01:00
Grot (@grafanabot) 7e02e2aef3 [v9.3.x] I18n: Fix variables not interpolating with pseudo localisation (#59194)
I18n: Fix variables not interpolating with pseudo localisation (#59145)

* I18n: Don't pseudolocalise string variables

* clean up

(cherry picked from commit c02f2321c1)

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2022-11-23 05:42:46 -05:00
Ashley Harrison a4919a6d69 Navigation: share logic between buildBreadcrumbs and usePageTitle… (#59155)
Navigation: share logic between `buildBreadcrumbs` and `usePageTitle` (#58819)

* simplify usePageTitle logic a bit

* use buildBreadcrumbs logic in usePageTitle

* always add home item to navTree, fix some tests

* fix remaining unit tests

(cherry picked from commit 824a562b03)
2022-11-23 10:26:55 +00:00
Grot (@grafanabot) 17d98d79d9 [v9.3.x] Azure Monitor: Fix namespace selection for storageaccounts (#59184)
Azure Monitor: Fix namespace selection for storageaccounts (#56449)

(cherry picked from commit 3bea8f2462)

Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>
2022-11-23 11:25:48 +01:00
Grot (@grafanabot) 82e6fdfaf9 [v9.3.x] Navigation: use correct id to find cloud access policies page (#59187)
Navigation: use correct id to find cloud access policies page (#59123)

use correct id to find cloud access policies page

(cherry picked from commit 8761a71da2)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-11-23 05:15:43 -05:00
Grot (@grafanabot) ff49b0de7e [v9.3.x] Internationalization: Translate ShareSnapshot label (#59144)
Internationalization: Translate ShareSnapshot label (#58802)

(cherry picked from commit 515440979b)

Co-authored-by: Laura Fernández <laura.fernandez@grafana.com>
2022-11-23 05:07:37 -05:00
Grot (@grafanabot) 068a41c6a7 [v9.3.x] SQL: Fix code editor for SQL datasources (#59185)
SQL: Fix code editor for SQL datasources (#58116)

* SQL: Fix code editor for sql datasources

* Fix: mysql completion with defaultdb

(cherry picked from commit 75097b99fb)

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2022-11-23 11:06:48 +01:00
Grot (@grafanabot) 812c85602b [v9.3.x] Internationalization: Translate menu items (#59178)
Internationalization: Translate menu items (#59088)

(cherry picked from commit 4a628f18b0)

Co-authored-by: Laura Fernández <laura.fernandez@grafana.com>
2022-11-23 03:53:55 -05:00
Grot (@grafanabot) 2fff4175b4 [v9.3.x] StateTimeline: Prevent label text from overflowing state rects (#59175)
StateTimeline: Prevent label text from overflowing state rects (#59169)

Co-authored-by: Vegard Vatn <vegard.vatn@avento.no>
(cherry picked from commit 9512f1e1af)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-11-22 23:14:09 -05:00
Grot (@grafanabot) 6dc4223e0b [v9.3.x] Heatmap: Fix tooltip y range of top and bottom buckets in calculated heatmaps (#59174)
Heatmap: Fix tooltip y range of top and bottom buckets in calculated heatmaps (#59172)

Co-authored-by: xdavidwu <xdavidwuph@gmail.com>
(cherry picked from commit 2a8706b025)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-11-22 23:06:50 -05:00
Grot (@grafanabot) 946daeb01a [v9.3.x] Canvas: Add icon value mapping (#59171)
Canvas: Add icon value mapping (#59013)

(cherry picked from commit e157ef1171)

Co-authored-by: Nathan Marrs <nathanielmarrs@gmail.com>
2022-11-22 21:13:44 -05:00
Grot (@grafanabot) 280e796635 [v9.3.x] Geomap: Improve location editor (#59170)
Geomap: Improve location editor (#58017)

* add custom component for location editor

* FC cleanup

* Apply filter to add location fields call

* Create custom editor for location mode

* Apply validation logic and render warning

* Improve alert styling

* Add help url button to location alert

* Add success alert for auto

* Remove completed TODOs

* Only use alert on error, not success

* Change location mode to dropdown

* Change alert severity to less severe, info

* Prevent auto field selection during manual

* Update location testing to be for auto mode

* Run geo transformer editor init once

* Fix breaking test

* Clean up some anys

* Update styling for alert

* Remove auto success styling

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

Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
2022-11-22 21:06:01 -05:00
Grot (@grafanabot) dc23aa9a0f [v9.3.x] Internationalization: Translate NavBar - 'Search dashboard' menu item (#59152)
Internationalization: Translate NavBar - 'Search dashboard' menu item (#58815)

(cherry picked from commit 3f63ca06c3)

Co-authored-by: Laura Fernández <laura.fernandez@grafana.com>
2022-11-22 11:52:49 -05:00
Grot (@grafanabot) eb9f63c715 [v9.3.x] Internationalization: Translate ViewJSONmodal and ClipboardButton (#59151)
Internationalization: Translate ViewJSONmodal and ClipboardButton (#58807)

(cherry picked from commit 8f567d57fa)

Co-authored-by: Laura Fernández <laura.fernandez@grafana.com>
2022-11-22 11:49:26 -05:00
Joao Silva 4c3adeff7c [v9.3.x] Preferences: Add confirmation modal when saving org preferences (#59119) (#59141) 2022-11-22 17:45:52 +01:00
Grot (@grafanabot) a2263b9249 [v9.3.x] Alerting: Enable interpolation for notification policies in file provisioning (#59140)
Alerting: Enable interpolation for notification policies in file provisioning (#58956)

(cherry picked from commit 41b3398eb4)

Co-authored-by: Jean-Philippe Quéméner <JohnnyQQQQ@users.noreply.github.com>
2022-11-22 17:27:08 +01:00
Grot (@grafanabot) 692bd0ac00 [v9.3.x] Internationalization: Translate 'Hide / show legend' of PanelHeaderMenuItem (#59133)
Internationalization: Translate 'Hide / show legend' of PanelHeaderMenuItem (#58800)

(cherry picked from commit f2cb248d93)

Co-authored-by: Laura Fernández <laura.fernandez@grafana.com>
2022-11-22 17:04:59 +01:00
Grot (@grafanabot) df10c952c5 [v9.3.x] Azure Monitor: Fix resource picker selection for subresources (#59137)
Azure Monitor: Fix resource picker selection for subresources (#56392)

(cherry picked from commit 5b1ff83ee9)

Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>
2022-11-22 17:02:24 +01:00
Grot (@grafanabot) 0491f55ad6 [v9.3.x] Internationalization: Translate VariableInput and VariableOptions components (#59131)
Internationalization: Translate VariableInput and VariableOptions components (#58748)

(cherry picked from commit 3cedcdedbd)

Co-authored-by: Laura Fernández <laura.fernandez@grafana.com>
2022-11-22 10:25:52 -05:00
Grot (@grafanabot) f3ffc1a495 [v9.3.x] CloudWatch: fix custom namespace for listing dimension keys, refactor to non-pointer types, add test assertions, rename packages (#59130)
CloudWatch: fix custom namespace for listing dimension keys, refactor to non-pointer types, add test assertions, rename packages (#59106)

Co-authored-by: Erik Sundell <erik.sundell87@gmail.com>
(cherry picked from commit c43e1a721f)

Co-authored-by: Shirley <4163034+fridgepoet@users.noreply.github.com>
2022-11-22 16:25:27 +01:00
Grot (@grafanabot) 3a1ffd88d5 [v9.3.x] AzureMonitor: Separate subscription health check API version (#59122)
AzureMonitor: Separate subscription health check API version (#58253)

Separate subscription health check API version

(cherry picked from commit f8656d269d)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2022-11-22 14:52:14 +00:00
Sonia Aguilar eda3fb190c Fix: Add checkForPathSeparator validation in group name for grafana-m… (#59100)
* Fix: Add checkForPathSeparator validation in group name for grafana-managed alerts in form

* Build: Disable flaky RuleEditor frontend test

* trigger CI
2022-11-22 15:41:03 +01:00
Grot (@grafanabot) 129b74fe08 [v9.3.x] Chore: Document theme toggle keybinding (#59120)
Chore: Document theme toggle keybinding (#59031)

* make theme toggle keybinding dev only

* fix bug + add support for theme change keybinding

(cherry picked from commit 6f26668a9f)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-11-22 14:21:31 +00:00
Grot (@grafanabot) 8ae02b4b7b [v9.3.x] DataSourceWithBackend - Set postResource method to POST (#59117)
DataSourceWithBackend - Set postResource method to POST (#59114)

Set postResource method to POST

(cherry picked from commit 4eed56193f)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2022-11-22 09:15:04 -05:00
Grot (@grafanabot) 0bb76df454 [v9.3.x] Accessibility: Improve keyboard accessibility in Collapse (#59097)
Accessibility: Improve keyboard accessibility in `Collapse` (#59022)

fix keyboard accessibility in Collapse

(cherry picked from commit 19e97a1f31)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-11-22 08:52:16 -05:00
Grot (@grafanabot) 7e509a19f1 [v9.3.x] Loki: Add gzip compression to resource calls (#59113)
Loki: Add `gzip` compression to resource calls (#59059)

* Loki: Add compression to `callResource`

* add missing tests

* fix formatting

(cherry picked from commit 08e87a217c)

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2022-11-22 08:16:45 -05:00
Grot (@grafanabot) 3de3eee655 [v9.3.x] MS/My/PostgresSQL: Migrate annotation query (#59112)
MS/My/PostgresSQL: Migrate annotation query (#58847)

(cherry picked from commit 38f25a0bf5)

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2022-11-22 08:08:11 -05:00
Grot (@grafanabot) 1bcdaeb910 [v9.3.x] @grafana/runtime: Avoid calling applyTemplateVariables for the wrong datasource (#59029)
@grafana/runtime: Avoid calling applyTemplateVariables for the wrong datasource (#57921)

(cherry picked from commit 448358ac66)

Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>
2022-11-22 06:50:47 -05:00
Grot (@grafanabot) 90a904fbd5 [v9.3.x] Alerting: Support Prometheus durations in Provisioning API (#59067)
Alerting: Support Prometheus durations in Provisioning API (#58293)

Provisioning API should support Prometheus durations

(cherry picked from commit 57d6adbc7c)

Co-authored-by: Bart Peeters <birtpeeters@hotmail.com>
2022-11-21 19:15:54 +00:00
Grot (@grafanabot) 7899b5ae72 [v9.3.x] Prometheus: fix Heatmap y buckets when legendFormat: auto (#59065)
Prometheus: fix Heatmap y buckets when legendFormat: auto (#59053)

(cherry picked from commit 1f4834a144)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-11-21 12:39:54 -05:00
Grot (@grafanabot) 3c353ab1c1 [v9.3.x] Chore: Fix SQLx failure when starting the server with newDBLibrary enabled (#59054)
Chore: Fix SQLx failure when starting the server with newDBLibrary enabled (#58985)

change the weekstart to pointer

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
(cherry picked from commit ba8124ef93)

Co-authored-by: ying-jeanne <74549700+ying-jeanne@users.noreply.github.com>
2022-11-21 17:55:36 +02:00
Grot (@grafanabot) e1bf7aa65e [v9.3.x] Alerting: Add Troubleshooting to Images in notifications docs (#59026)
Alerting: Add Troubleshooting to Images in notifications docs (#58955)

(cherry picked from commit 2f878acd9d)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-11-21 11:36:32 +00:00
Grot (@grafanabot) 6a6e05bfa1 [v9.3.x] Accessibility: Improve keyboard accessibility of FilterPill (#59017)
Accessibility: Improve keyboard accessibility of `FilterPill` (#58976)

fix keyboard a11y in FilterPill

(cherry picked from commit 8aa74fe9ee)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-11-21 06:15:49 -05:00
Grot (@grafanabot) 28b0af4476 [v9.3.x] Accessibility: Improve keyboard accessibility in AnnoListPanel (#59015)
Accessibility: Improve keyboard accessibility in `AnnoListPanel` (#58971)

fix keyboard accessibility in AnnoListPanel

(cherry picked from commit 598935cb34)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-11-21 04:37:38 -05:00
Grot (@grafanabot) 72ac08cc7b [v9.3.x] Navigation: Set navtree to an empty array instead of null (#59010)
Navigation: Set navtree to  an empty array instead of null (#58919)

set navtree to  an empty array instead of null

(cherry picked from commit 4aa5dea96b)

Co-authored-by: Leo <108552997+lpskdl@users.noreply.github.com>
2022-11-21 10:02:19 +01:00
Grot (@grafanabot) 90946b68a2 [v9.3.x] Navigation: Prevent viewer role accessing dashboard creation, import and folder creation (#59009)
Navigation: Prevent viewer role accessing dashboard creation, import and folder creation (#58842)

hide pages related dashboard import create and folder creation for viewer role

(cherry picked from commit 14fbd44ac0)

Co-authored-by: Leo <108552997+lpskdl@users.noreply.github.com>
2022-11-21 10:02:08 +01:00
Grot (@grafanabot) 9521c90651 [v9.3.x] Docs/removes admin screenshots (#58996)
Docs/removes admin screenshots (#58994)

* removes screenshots in the admin docs

* removes unneeded screenshot

(cherry picked from commit 8ac197b11c)

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2022-11-18 16:04:46 -06:00
Grot (@grafanabot) d6ca111109 [v9.3.x] Docs: adds permission validation setting (#58988)
Docs: adds permission validation setting (#58970)

* adds permission validation setting

* Update docs/sources/administration/roles-and-permissions/access-control/configure-rbac/index.md

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>

* makes prettier

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
(cherry picked from commit 780efa5791)

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2022-11-18 12:43:32 -06:00
Grot (@grafanabot) 200915fc91 [v9.3.x] Update verify-release script (#58984)
Update verify-release script (#58812)

Update verify-release script with required arg

(cherry picked from commit 19ff3645e8)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2022-11-18 17:27:08 +00:00
Grot (@grafanabot) 3bd24136a0 [v9.3.x] Docs: adjusts link to kms integration (#58983)
Docs: adjusts link to kms integration (#58981)

adjusts link to kms integration

(cherry picked from commit e7b5bd34bd)

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2022-11-18 10:52:06 -06:00
Grot (@grafanabot) 47a04102ee [v9.3.x] Alerting: Fix metric in Images in Notifications docs (#58979)
Alerting: Fix metric in Images in Notifications docs (#58954)

(cherry picked from commit 4da97aef7d)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-11-18 16:46:32 +00:00
Grot (@grafanabot) f35ab2f79d [v9.3.x] Nav: Split Admin into three sections for new IA (#58974)
Nav: Split Admin into three sections for new IA (#58229)

* start to split admin into two sections

* most of new admin nav implemented

* landing pages

* hide admin for non-admins

* update admin redirects if not topnav

* clean up

* updated IA for admin (still WIP)

* move plugin pages into correct admin sections

* fix backend unit test

* move correlations into the correct section

* add translations for admin sections

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

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2022-11-18 11:15:17 -05:00
Grot (@grafanabot) e07f115f98 [v9.3.x] Accessibility: Improve keyboard accessibility in GettingStarted panel (#58977)
Accessibility: Improve keyboard accessibility in `GettingStarted` panel (#58966)

fix keyboard a11y in `GettingStarted` panel

(cherry picked from commit e19957bbc8)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-11-18 10:54:21 -05:00
Grot (@grafanabot) 001179771e [v9.3.x] Navigation: Stop clearing search state when opening a result in a new tab (#58967)
Navigation: Stop clearing search state when opening a result in a new tab (#58880)

search: only clear search state if not opening in a new tab
(cherry picked from commit 5226a61f67)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-11-18 09:57:24 -05:00
Grot (@grafanabot) 661c72d6b7 [v9.3.x] Explore: Fix a11y issue with logs navigation buttons (#58963)
Explore: Fix a11y issue with logs navigation buttons (#58944)

(cherry picked from commit 27b5e5f781)

Co-authored-by: Giordano Ricci <me@giordanoricci.com>
2022-11-18 15:45:30 +01:00
Grot (@grafanabot) 4e31338e94 [v9.3.x] Navigation: move connections + integrations to be a top level item (#58939)
Navigation: move connections + integrations to be a top level item (#58902)

* move connections + integrations to be a top level item

* add a test to check we can move apps to the root

* split out movePlugin logic into a separate function

* fix linting

* rename movePlugin -> addPluginToSection

(cherry picked from commit d46e3916a1)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-11-18 08:08:36 -05:00
Grot (@grafanabot) d5d4685d20 [v9.3.x] GaugePanel: Setting the neutral-point of a gauge (#58949) 2022-11-18 12:52:29 +01:00
Grot (@grafanabot) d7e459fdee [v9.3.x] QueryData: skip header validation (revert check) (#58946)
QueryData: skip header validation (revert check) (#58871)

(cherry picked from commit 8e19a1618f)

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-11-18 05:59:50 -05:00
Grot (@grafanabot) 4db1f3b850 [v9.3.x] OAuth: Refactor OAuth parameters handling to support obtaining refresh tokens for Google OAuth (#58940)
OAuth: Refactor OAuth parameters handling to support obtaining refresh tokens for Google OAuth (#58782)

* Add ApprovalForce to AuthCodeOptions

* Extract access token validity check to a function

* Refactor

* Oauth: set options internally instead of exposing new function

* Align tests

* Remove unused function

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
(cherry picked from commit 9c98314e9f)

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
2022-11-18 10:37:24 +01:00
Grot (@grafanabot) 4fb033d525 [v9.3.x] Quota: Fix failure in store due to missing scope parameters (#58923)
Quota: Fix failure in store due to missing scope parameters (#58874)

Quota: Fix failure in store
(cherry picked from commit 18738cfd77)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2022-11-17 18:28:11 +01:00
Grot (@grafanabot) ffa649e377 [v9.3.x] Quota: Fix failure when checking session limits (#58869)
Quota: Fix failure when checking session limits (#58865)

(cherry picked from commit ab36252c86)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2022-11-17 18:09:29 +01:00
Grot (@grafanabot) 450ff445ea [v9.3.x] Navigation: rename Grafana Machine Learning to just Machine Learning (#58911)
Navigation: rename Grafana Machine Learning to just Machine Learning (#58893)

rename Grafana Machine Learning to just Machine Learning

(cherry picked from commit ac66e14054)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-11-17 09:49:07 -05:00
Grot (@grafanabot) 311b4b9b6f [v9.3.x] Chore: Extract server lock error so it can be used with errors.As (#58906)
Chore: Extract server lock error so it can be used with errors.As (#58899)

chore: extract server lock Error so it can be used with error.As
(cherry picked from commit 7e9d94cfda)

Co-authored-by: Jo <joao.guerreiro@grafana.com>
2022-11-17 15:30:24 +01:00
Grot (@grafanabot) 710124b5de [v9.3.x] Navigation: Change quick add styling (#58879)
Navigation: Change quick add styling (#58854)

Change quick add styling + allow for returning isOpen state to dropdown children

(cherry picked from commit b398e8640d)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-11-17 04:18:54 -05:00
Grot (@grafanabot) 61eb256882 [v9.3.x] SSE: Keep value name from numeric table (#58851)
SSE: Keep value name from numeric table (#58831)

fixes #48868

(cherry picked from commit 1953d473c0)

Co-authored-by: Kyle Brandt <kyle@grafana.com>
2022-11-16 10:54:41 -05:00
Grot (@grafanabot) 7ec8550652 [v9.3.x] QueryData: fix header parsing to support expressions (#58848)
QueryData: fix header parsing to support expressions (#58826)

fixes #58821

(cherry picked from commit 934fb2f0ee)

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-11-16 10:29:59 -05:00
Grot (@grafanabot) 4890db3089 [v9.3.x] AppRootPage: Render app plugins without pages (#58814)
AppRootPage: Render app plugins without pages (#58776)

fix: render app plugins that don't have a page in includes
(cherry picked from commit 4ee83a5f2b)

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2022-11-16 06:05:19 -05:00
Grot (@grafanabot) 81b0dd7686 [v9.3.x] Fix: Bump-version action regex pattern to work with beta1 (#58806)
Fix: Bump-version action regex pattern to work with beta1 (#58805)

Fixing bump version regex

(cherry picked from commit 174a039ee1)

Co-authored-by: Timur Olzhabayev <timur.olzhabayev@grafana.com>
2022-11-16 04:36:53 -05:00
Grot (@grafanabot) cb9df3bfdb Release: Bump version to 9.3.0-beta.1 (#58787)
"Release: Updated versions in package to 9.3.0-beta.1"
2022-11-15 22:30:16 +02:00
Grot (@grafanabot) a0eb08f01b [v9.3.x] Changelog: Updated changelog for 9.3.0-beta1 (#58786)
Changelog: Updated changelog for 9.3.0-beta1 (#58785)

(cherry picked from commit d5318f02c6)
2022-11-15 17:04:45 -03:00
sam boyer 78f0340031 plugindef: Move pluginmeta out of coremodels as standalone thema lineage (#56765)
* Get pluginmeta mostly moved over to pkg/plugins/plugindef

* Remove dead func

* Fix up pfs, use sync.Once in plugindef

* Update to latest thema

* Chase Endec->Codec conversion in Thema

* Comments on slash header gen; use ToSlash

* Also generate JSON schema for plugindef

* Generate JSON Schema as well

* Fix slot loading from kindsys cue decls

* Remove unused vars

* skip generating plugin.schema.json for now

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-11-15 14:48:31 +01:00
Ashley Harrison ff1afbb699 Revert "Chore: move to node 18 (#58570)" (#58754)
This reverts commit 0a9129cf90.
2022-11-15 13:47:14 +00:00
lean.dev 83bd57244d Chore: Update version (#58750) 2022-11-15 10:03:05 -03:00
Joao Silva 20e6ac397e Search: Fixes issue with Recent/Starred section always displaying "General" folder (#58746) 2022-11-15 13:16:03 +01:00
Ashley Harrison 028751a18a Navigation: Add quick actions button (#58707)
* initial implementation for quick add

* add new isCreateAction prop on NavModel

* adjust separator margin

* switch to primary button

* undo changes to plugin.json

* remove unused props from interface

* use a consistent dropdown overlay type

* memoize findCreateActions

* add prop description

* use a function so that menus are only rendered when the dropdown is open
2022-11-15 12:08:15 +00:00
Torkel Ödegaard 84a69135a7 Scene: Variables and support for declaring variable dependencies and getting notified or re-rendered when they change (#58299)
* Component that can cache and extract variable dependencies

* Component that can cache and extract variable dependencies

* Updates

* Refactoring

* Lots of refactoring and iterations of supporting both re-rendering and query re-execution

* Updated SceneCanvasText

* Updated name of file

* Updated

* Refactoring a bit

* Added back getName

* Added comment

* minor fix

* Minor fix

* Merge fixes

* Merge fixes

* Some review fixes

* Updated comment

* Added forceRender function

* Add back fail on console log
2022-11-15 12:54:24 +01:00
Sofia Papagiannaki 93b4b9154e Chore: Restore folder properties (#58743)
* Chore: Fix folder URL

* Restore more folder properties

* Fixup
2022-11-15 12:58:12 +02:00
Karl Persson 98dbc637cc Auth: Always include oauth and saml settings for frontend (#58705)
* Auth: Always include oauth and saml settings
2022-11-15 10:50:37 +01:00
Gabriel MABILLE d999b5bda0 RBAC: remove redundant role name field from plugin role registrations (#58166)
* RBAC: Remove name from role registration

* Inline accesscontrol service

* test fix

* use fmt

Co-Authored-By: marefr <marcus.efraimsson@gmail.com>

Co-authored-by: marefr <marcus.efraimsson@gmail.com>
2022-11-15 09:51:40 +01:00
Dominik Prokop 80e80221b9 Scenes: Grid layout (#56737)
* WIP: First approach to scene grid layout

* Flex layout

* Grid layout rows

* Allow passing custom props to scene object renderers

* Allow nesting grid layouts

* Re-layout nested grid's enclosing grids

* Update public/app/features/scenes/components/layout/SceneGridLayout.tsx

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

* Review comments

* Got rid of flex & grid child layout objects

* WIP: Recreating rows behaviour (almost working)

* Major progress on rows

* remove nested grid example (not supported)

* Remove removal damn

* Trying to use children directly

* Ts fixes

* chore: Fix TS

* Fix issue when row bboxes when not updated on layout change

* Now the tricky part

* working

* Removing some code

* needs more work

* Getting some thing working

* Getting some thing working

* fix toggle row

* Starting to work

* Fix

* Yay it's working

* Updates

* Updates

* Added some sorting of children

* Updated comment

* Simplify sorting

* removed commented code

* Updated

* Pushed a fix so we can move a panel out from a row and into the parent grid

* simplify move logic

* Minor simplification

* Removed some unnesary code

* fixed comment

* Removed unnessary condition in findGridSceneParent

* remove unnessary if

* Simplify toGridCell

* removed duplicate if

* removed unused code

* Adds grid demo with different data scenarios

* Make it green

* Demo grid with multiple time ranges

* Move child atomically

* Add tests

* Cleanup

* Fix unused import

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
2022-11-15 00:49:39 -08:00
matt abrams 16aa4376ac Transformations: Make Card Descriptions Clickable (#58717)
replace Card Meta w Card Description
2022-11-15 09:37:37 +01:00
Artur Wierzbicki eff5450ff1 Search: Revert "load dashboard performance improvements" (#58730)
Revert "Search: load dashboard performance improvements (#57509)"

This reverts commit 1df8a85a42.
2022-11-15 02:25:13 -05:00
Ryan McKinley d33939da55 DataSourceWithBackend: Add plugin id to the request headers (#58082) 2022-11-14 19:35:50 -05:00
Jack Baldry b9d8bcb59b Use relref resolved from nearest section (#58718)
As image-rendering is a branch bundle, it is considered a section by
Hugo and relrefs should be resolved from there even for child pages.

The behavior that worked in `next` but not `latest` could be explained
by the lenient but potentially ambiguous relref resolution algorithm
Hugo uses. However, I have not determined the exact difference between
the two sets of content that causes `next` to work but `latest` not to.

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

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
2022-11-14 17:00:28 -04:00
kay delaney 59d2cf2ff7 Snapshots: Allow user with viewer permissions to delete own snapshots (#58572)
Also allows deletion of snapshots whose original dashboard is
in a folder which the viewer has explicit edit permissions for
2022-11-14 19:13:33 +00:00
Sofia Papagiannaki 9855e74b92 Chore: Refactor quota service (#58643)
Chore: Refactor quota service (#57586)

* Chore: refactore quota service

* Apply suggestions from code review
2022-11-14 21:08:10 +02:00
Laura Fernández dd0d034796 Internationalization: Translate RefreshPicker component (#58530) 2022-11-14 17:47:15 +01:00
Laura Fernández 67bd0d5537 Internationalization: Translate TimeRangePicker component (#58470) 2022-11-14 17:16:34 +01:00
Yuri Tseretyan 28d39d35fd Alerting: Update state manager to save state transitions in one batch (#58358)
* change stale results handler to not update database but return transitions
* save all transitions in one call
2022-11-14 10:57:51 -05:00
Misi 4915d21c25 OAuth: Feature toggle for access token expiration check and docs (#58179)
* Add feature toggle for access token expiration check

* Add docs for configuring refresh tokens

* Update docs

* Update docs based on review

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

* Improve documentation

* Change access_type default to Offline

* Update docs/sources/setup-grafana/configure-security/configure-authentication/gitlab/index.md

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

* Update docs/sources/setup-grafana/configure-security/configure-authentication/google/index.md

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

* Update pkg/services/featuremgmt/registry.go

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

* Regenerate toggles

* Update Generic OAuth docs

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
2022-11-14 16:47:46 +01:00
Christopher Moyer a9458c8c00 Docs: corrects relrefs (#58706)
corrects relrefs
2022-11-14 09:24:39 -06:00
Jo 121631daae Fix: Email and username trimming and invitation validation (#58442)
* fix: email and username trimming and invitation validation

* Trim leading and trailing whitespaces from email and username on signup

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

* Align tests

Co-authored-by: Mihaly Gyongyosi <mgyongyosi@users.noreply.github.com>
2022-11-14 13:11:26 +01:00
David Beitey 1fddd9aed1 Docs: Update install guides link in README (#56116)
This updates the link to the installation guides in the README to the docs for the latest Grafana version, whereas the previous redirect was going to v9.0. This also improves the security of the link, which was previously insecure http://.
2022-11-14 11:42:23 +01:00
Dimitris Sotirakis 09c3ead945 CI: Make build and store storybook trigger in the release process (#58686)
Make storybook trigger conditional
2022-11-14 10:14:50 +00:00
Garrett Guillotte b0c197b966 Docs: Comment out broken images (#57482)
* Docs: Comment out broken images

* Docs: Hide the correct images

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Daniel Lee <dan.limerick@gmail.com>
2022-11-14 10:49:04 +01:00
Labesse Kévin c3fef96ee0 docs: code format (#58216) 2022-11-14 10:35:44 +01:00
Leo a71f74220a Navigation: Remove monitoring texts for items under Monitoring section (#58522)
* rename Synthetic monitoring with Synthetics

* improved text override
2022-11-14 10:01:23 +01:00
Karl Persson f4531b4ee1 Omit error from http response (#58443) 2022-11-14 09:42:31 +01:00
Jack Westbrook ce50400740 Toolkit: Fix compilation loop when watching plugins for changes (#58167)
* fix(toolkit): ignore node_modules and dist directories when watching for changes to plugin

* fix(toolkit): move watchOptions.ignored config to pluginDev watch call
2022-11-14 09:30:52 +01:00
Niklas Kaaf 75c9350a5a docs: fix heading level for env variable on configuration page (#58689)
fix syntax error in Heading
2022-11-13 13:43:23 +01:00
Ryan McKinley 5934407443 Storage: add an admin write flavor that can explicitly set the user/time (#58618) 2022-11-12 11:36:18 -08:00
ying-jeanne 69b5a9c752 Chore: [Nested Folder] Add db migration at service start time (#58590)
* add db migration at service start time

* make changes for the 3 db

* revert migrator

* fix feature toggle check

Co-authored-by: Serge Zaitsev <serge.zaitsev@grafana.com>
2022-11-12 09:51:46 -05:00
Oscar Kilhed 75e435fb00 SQL: Fix issue where testing the datasource would always be successful if the datasourceQueryMultiStatus feature was enabled (#58671)
SQL Datasources: fix issue where testing the datasource connection would show success even when there was an error.

Co-authored-by: Victor Marin <victor.marin@grafana.com>
2022-11-11 22:41:38 +01:00
Victor Marin 6e776d0fec MSSQL: Add connection timeout setting in configuration page (#58631)
* MSSQL add connection timeout

* add docs

* Update docs and add min value to the timeout setting
2022-11-11 14:04:08 -05:00
Alex Moreno 78bb8c10ce Alerting: Allow none provenance alert rule creation from provisioning API (#58410) 2022-11-11 19:58:45 +01:00
Victor Marin 79142340e0 StateTimelinePanel: Fix duration on merged values (#58561)
Fix stateTimeline duration
2022-11-11 20:19:40 +02:00
gotjosh d748979048 Alerting: Implement the Webex notifier (#58480)
* Alerting: Implement the Webex notifier

Closes https://github.com/grafana/grafana/issues/11750

Signed-off-by: gotjosh <josue.abreu@gmail.com>
2022-11-11 17:27:13 +00:00
ismail simsek 1c5039085b Prometheus: Make Prometheus streaming parser as default client (#58365)
* Introduce a new feature flag for prometheus buffered client

* Use querydata client as default and put buffered client behind the feature flag

* Remove prometheusStreamingJSONParser feature flag as it is not needed anymore

* Update tests

* Fix unit tests

* Update feature flag description
2022-11-11 17:53:12 +01:00
Ashley Harrison 500cf16142 Chore: fix some types (#58662)
chore: fix some types
2022-11-11 16:29:49 +00:00
Leon Sorokin 860e25df3c BarChart: add gdev panel for random threshold from query (#58580) 2022-11-11 08:58:08 -07:00
ismail simsek 8edeb1aa22 Prometheus: Handle errors in buffered client (#58504)
* Handle prometheus errors in buffered client

* Handle prometheus warnings

* Fix tests

* Add unit test for warnings
2022-11-11 15:49:46 +01:00
Ashley Harrison 0bd120e01b Navigation: fix page title spacing when there is no subtitle (#58654)
* fix page title spacing when there is no subtitle

* apply margin to whole page header
2022-11-11 09:43:11 -05:00
Virginia Cepeda e5cb1ceae0 Alerting: Suggest previously entered custom labels (#57783)
* [Alerting] - replace label inputs with dropdowns (#57019)

* Add AlertLabelDropdown component

It will be used to pick from or create new labels

* Adapt LabelsField component to use AlertLabelDropdown instead of inputs

* Add tests for LabelsField component

Plus a few other tests were adapted to work with the label dropdowns

* Use ref in component

* Fix showing placeholders in the label dropdowns

* Minor syntax change

* Remove unneeded import after rebase

* Display custom labels

When a label key is selected, its corresponding values are shown in the dropdown

* Add tooltip explaining where labels in the dropdowns come from

* Fix import of Stack component

* Avoid duplicated values

* Improvements based on review

* Display labels for currently selected datasource only

* Refactor AlertsField to allow to choose whether to suggest labels or not

* Suggest labels for NotificationStep and tests

* Don't suggest labels in TestContactPointModal

* [LabelsField] - refactor: get dataSourceName as a parameter

* [LabelsField] - extract common code into reusable components

* Display loading spinner while fetching rules

* LabelsField - refactor

Removing the suggest prop and the default dataSource 'grafana'. Instead, the component now relies on the dataSourceName param. If it's set it means we want to show suggestions so we fetch the labels, otherwise, if not set, we show the plain input texts without suggestions.

* Add test for LabelsField without suggestions

* Show custom labels for grafana managed alerts

When the dataSourceName in the NotificationsStep component has a null value, we can assume it's because we're dealing with grafana managed alerts. In that case we set the correct value.

* Fix tests after latest changes

Since we removed the combobox from the TestContactPoints modal, tests had to be adjusted

* Update texts

* initialize all new added inputs with empty data
2022-11-11 10:29:59 -03:00
idafurjes 080ea88af7 Nested Folders: Support getting of nested folder in folder service wh… (#58597)
* Nested Folders: Support getting of nested folder in folder service when feature flag is set

* Fix lint

* Fix some tests

* Fix ngalert test

* ngalert fix

* Fix API tests

* Fix some tests and lint

* Fix lint 2

* Fix library elements and panels

* Add access control to get folder

* Cleanup and minor test change
2022-11-11 14:28:24 +01:00
Sonia Aguilar 88a829e103 Fix: don't show an error when receiver status is not available (#58638) 2022-11-11 14:26:43 +01:00
Ashley Harrison 6625f6f0c8 Chore: Update .nvmrc (#58641)
Update .nvmrc
2022-11-11 07:21:38 -05:00
Ashley Harrison 0a9129cf90 Chore: move to node 18 (#58570)
* bump node version to 18

* update folder to 18.x

* update README for m1 instructions

* update drone

* update unit test

* update README
2022-11-11 11:34:00 +00:00
Daniel Lee 891ae91c70 docs: fix typo in provisioning docs (#58110)
Fix typo

Co-authored-by: Udlei Nati <udlei@nati.biz>
2022-11-11 12:30:26 +01:00
Hamas Shafiq 8e4fa4046b Chore: Refactor process.js & process.test.js to TypeScript (#58464) 2022-11-11 10:44:06 +00:00
Joey Tawadrous c76183a961 Tempo: Fix search removing service name from query (#58630)
* Fix handleOnChange deps

* Remove eslint disable
2022-11-11 10:40:13 +00:00
Timur Olzhabayev 02137396bd Fix: Bumping msw and xmldom (#58627)
Bumping msw and xmldom to mitigate xmldom vulnerability
2022-11-11 11:18:38 +01:00
George Robinson bd87b46b15 Alerting: Improve test coverage for ConditionsCmd (#58603) 2022-11-11 09:27:35 +00:00
Todd Treece c090de9ed9 Chore: Move dev-dashboards jsonnet into separate directory (#58619) 2022-11-11 04:19:29 -05:00
Alexa V 5fac98bcfd Docs: Add feature flag example to override configuration with environment variables (#58613) 2022-11-10 15:39:27 -06:00
Nathan Marrs fd6edbf8c5 Canvas: Improve disabled inline editing UX (#58610) 2022-11-10 13:04:42 -08:00
sam boyer 07e5f8117f Reconcile coremodels, entities, objects under new kind framework (#56492)
* Update thema to latest

* Deal with s/Library/*Runtime/

* Commit new, working results of codegen

* We like pointers now

* Always take runtime arg for NewBase()

* Sketchy handwavy pass at entity meta framework

* Little nibbles

* Update pkg/framework/coremodel/entityframework.cue

Co-authored-by: Artur Wierzbicki <wierzbicki.artur.94@gmail.com>

* Move file into new framework location

* Introduce loaders, Go code

* Complete rename to kind

* Flesh out framework, add svg/dashboard examples

* Cruft removal

* Remove generated kind go files from gitignore

* Refine maturity concept, add SlotKind

* Update embed and go deps

* Export PrefixWithGrafanaCUE

* Make the loader actually work, holy crap

* Many small tweaks to type.cue

* Add Apache 2 licensing exceptions for kinds

* Add new kinds dir, start of generator

* Roll back to earlier oapi-codegen

* Introduce new grafana-specific CUE loaders

* Introduce new tidy code generators framework

* Catch up kind framework with tinkering

* Add slices for the generators

* Add write/verify step to main generator

* Many renames

* Split up kind framework cue files

* Use kind.Decl within generated kinds

* Create kind.SomeDecl wrapper type to cache lineages

* Better names again

* Get one generated implemented, hopefully

* Copy dashboard schema into new kind.cue

* Small fixes to make the initial gen work

* Put svg kind in its new home

* Add generated Go dashboard type

* More renames and cleanups

* Add base kind registry and generator

* Stop blacklisting *_gen.go files

This is not the Go best practice, anyway. All we actually want to ignore
for enterprise is generated wire files.

* Change codegen output directories

pkg/kind -> pkg/kinds
pkg/registry/kindreg -> pkg/registry/corekind

* Rename pkg/framework/kind to pkg/kindsys

* Add core structured kind generator

* Add plural and machine names to kind spec

* Copy playlist over to kind system

* Consolidate kindsys files

* Add raw kind generator

* Update CODEOWNERS for kind framework

* Touch up comments a bit

* More docs tweaks

* Remove generated types to reduce noise for review

* Split each generator into its own file

* Rename Slot kind to Composable kind

* Add handwavy types for customkind loading

* Guard against init calls to framework loader

* First pass at doc on extending the kind system

* Improve attribute example in docs

* Fix wire imports

* Add basic TS types generator

* Fix composable kind category def

* No need for a separate file with generate directive

* Catch dashboard schema up

* Rename generator types to something saner and generic

* Make version configurable in ts/go generators

* Add CommonMeta to ease property access

* Add kindsys prop indicating whether lineage is group

* Put all kind categories back in a single file

* Finish with kindsys group props

* Refactor maturity progression per discussion

- Replace "committed" with "merged"
- All kindcats can use all maturity levels, at least for now

* Convert ts veneer index generator to modular system

* Move over to new jennywrites framework

* Strip down old coremodel generator

* Use public version of jennywrites

* Pull latest thema

* Commit generated Go types

* Add header injection postprocessor

* Move sdboyer/jennywrites to grafana/codejen

* Tweak header output

* Remove dashboard and playlist coremodels

* Fix up backend dashboards devenv test

* Fix TS import patterns to new gen filename

* Update internal imports, remove coremodel registry

* Fix compilation errors, wire generation

* Export and replace the prefix dropper

* More Go struct and field name changes

* Last name fixes, hopefully

* Fix lint errors

* Last lint error

Co-authored-by: Artur Wierzbicki <wierzbicki.artur.94@gmail.com>
2022-11-10 12:36:40 -08:00
Ryan McKinley f92d978386 Export: support export in postgresql (#58553) 2022-11-10 14:16:31 -05:00
Nathan Marrs 47055561ec Canvas: Fix setting icon from field data #58499 2022-11-10 10:56:31 -08:00
Timur Olzhabayev 41c491e2db Cleaning up plugin developer docs (#58596) 2022-11-10 18:36:59 +01:00
Timur Olzhabayev 5bc7f693b5 Docs: Replacing toolkit with sign-plugin (#58593) 2022-11-10 18:31:42 +01:00
Ashley Harrison 9cbbe65243 Move cloud link app to the Administration section (#58578) 2022-11-10 17:02:41 +00:00
Ivana Huckova 261d620f1c Elasticsearch: Add feature toggle for backend migration (#58585)
* Elasticsearch: Add feature toggle for backend migration

* Update
2022-11-10 16:35:15 +01:00
Alex Moreno 45facbba11 Alerting: Remove url based external alertmanagers config (#57918)
* Remove URL-based alertmanagers from endpoint config

* WIP

* Add migration and alertmanagers from admin_configuration

* Empty comment removed

* set BasicAuth true when user is present in url

* Remove Alertmanagers from GET /admin_config payload

* Remove URL-based alertmanager configuration from UI

* Fix new uid generation in external alertmanagers migration

* Fix tests for URL-based external alertmanagers

* Fix API tests

* Add more tests, move migration code to separate file, and remove possible am duplicate urls

* Fix edge cases in migration

* Fix imports

* Remove useless fields and fix created_at/updated_at retrieval

Co-authored-by: George Robinson <george.robinson@grafana.com>
Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
2022-11-10 16:34:13 +01:00
Gilles De Mey 738e023d13 Alerting: Fix threshold expression rewire (#58334) 2022-11-10 16:15:38 +01:00
Emil Tullstedt 990d8cd22e Chore: Upgrade go-sqlite3 to v1.14.16 (#58581) 2022-11-10 15:49:28 +01:00
Piotr Jamróz 039f4cb4dd Explore: Support fields interpolation in logs panel (#58426) 2022-11-10 15:33:17 +01:00
ying-jeanne b13b58ebf8 Add move endpoint into folder service (#58575)
* add move endpoint

* change signatures
2022-11-10 09:06:52 -05:00
Leon Sorokin 778337e522 BarChart: Fix coloring from thresholds and value mappings (#58285) 2022-11-10 07:43:32 -06:00
idafurjes 30f0d66983 Folder: Add implementation for Update for nested folder (#58479)
* Add implementation for Update nested folder

* Remove parent uid from Update

* Fix update
2022-11-10 14:28:55 +01:00
brendamuir bd6ac793a0 Docs: adds explore content for alerting (#58573) 2022-11-10 12:35:24 +00:00
Timur Olzhabayev f451332e36 Chore: Switching to new output format for detect breaking changes action (#58516)
* Switching to new output format for detect breaking changes action

* linting: wrap $GITHUB_OUTPUT with double quotes

* linting: fix shellcheck issues in the right place 🤦‍♂️

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2022-11-10 06:02:04 -05:00
Levente Balogh 181640b080 Connections: Support standalone plugin pages (#57772)
* feat(Connections): create sub-pages wrapped by `<Page>`

* feat(Connections): rename the Connections page and update routes

* feat(Connections): use new url for editing datasources

* refactor(Connections): remove unused tab components

* feat(Connections): update routes and nav titles

* tests: fix tests for Connections

* tests: fix typo in backend tests
2022-11-10 11:14:23 +01:00
George Robinson c5ae1bcfe0 Alerting: Fix logging pointer address of DashboardUID and PanelID variables (#58539) 2022-11-10 09:58:38 +00:00
George Robinson 68600c224b Alerting: Log when alert rule cannot be screenshot to help debugging (#58537) 2022-11-10 09:41:31 +00:00
Sofia Papagiannaki bf5a08e039 API: Support creating a nested folder (#58508)
* API: Support nested folder creation

* Update swagger

* fixup

* Update pkg/api/dtos/folder.go

Co-authored-by: Serge Zaitsev <serge.zaitsev@grafana.com>

* Fix some tests

* create legacy folder url from title and uid

Co-authored-by: idafurjes <36131195+idafurjes@users.noreply.github.com>
Co-authored-by: Serge Zaitsev <serge.zaitsev@grafana.com>
Co-authored-by: Ida Furjesova <ida.furjesova@grafana.com>
2022-11-10 04:41:03 -05:00
Timur Olzhabayev b5388bb080 Switching to new output format for bump-version action (#58514) 2022-11-10 10:24:19 +01:00
Timur Olzhabayev c9138ebb68 Switching to new output format for publish docs action (#58518) 2022-11-10 10:14:23 +01:00
ying-jeanne accb4dea55 [Nested Folder] Delete folder methode (#58444)
* transfer DeleteFolder changes from larger PR

* finish some thingies

* add the simplest delete logics

* some intermedia steps

* fix tests

* add test

* fix some comments

Co-authored-by: yangkb09 <yangkb09@gmail.com>
2022-11-10 03:42:32 -05:00
Andres Martinez Gotor 1201170724 GoogleCloudMonitoring: Refactor query type definition (#58512) 2022-11-10 09:30:47 +01:00
Kristin Laemmert 70dac35348 chore(tests): return a copy of the map to avoid concurrency issues in tests (#58547) 2022-11-09 22:12:18 +01:00
Alexander Weaver 2bfdda5b68 Alerting: Break dependency between state and image packages (#58381)
* Refactor state and manager to not depend directly on image interface

* Move generic errors to models package

* Move NotAvailableImageService to state as its only references are in state tests

* Move NoopImageService to state package

* Move mock to state package

* Fix linter error

* Fix comment styling

* Fix a couple added references introduced by rebase

* Empty commit to kick build
2022-11-09 15:06:49 -06:00
Yuri Tseretyan bad4f28d0d Alerting: update test TestAlertingTicker to not rely on clock (#58544)
* extract method processTick
* make processTick return scheduled rules
* move state manager tests to state manager
* update test
* move all tests into one file
* remove unused fields
2022-11-09 15:08:57 -05:00
Galen Kistler ee7348afee Prometheus: Query builder label filters dropdown UI overload fix (#58266)
* WIP: try to support removing series endpoint for supported clients

* add other filter variables to match param for label values query against filter values, in order to resolve bug in which filter value options would display that aren't relevant in the current query editor context, i.e. options would display that upon select would display no data

* clean up console logs

* refactor and comment

* expanding current unit test coverage to cover calls to new API

* fix unit test

* whitespace

* prettier

* WIP: need to merge in other PR

* WIP giving up and trying again

* WIP: most functionality is working, split out shared loki/prom code

* fix bug in which search results wouldn't take other label context into the query

* Fix bug in which the previously selected value would conflict with the async search

* interpolate the label name string instead of the match promql expression

* remove type assertions

* remove type assertion

* clean up generic confusing types, and add back in a type assertion

* remove generic type

* make sure to interpolate label names

* fix bugs with variables not interpolating before query

* remove debug

* assert partial properties on QueryBuilderLabelFilter

* Force update betterer results :(

* update regex so dropdown UX more closely matches current behavior

* add eslint ignore

* add eslint ignore and update betterer
2022-11-09 14:54:51 -05:00
Sofia Papagiannaki 000b4f878d Chore: Retry queries by default in tests (#58535) 2022-11-09 19:56:47 +02:00
Christopher Moyer ad374efcbd adjusts the stem sentence (#58538) 2022-11-09 11:24:29 -06:00
George Robinson 7e852720e3 Alerting: Fix images cached on rule instead of dashboard panel signature (#58510) 2022-11-09 17:01:48 +00:00
George Robinson b92a0223e3 Alerting: Improve debug logs in image service (#58507) 2022-11-09 16:32:58 +00:00
Sasha Melentyev febcaeff3a Chore: Use strings.ReplaceAll and preallocate containers (#58483) 2022-11-09 17:17:09 +01:00
Christopher Moyer 2dfe0a4060 Docs: adjusts topics to align with task templates (#58478)
* updates topic to align with multiple task template

* updates goal intro

* aligns formatting with single task topic template

* Update docs/sources/administration/team-management/index.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* adds permissions requirements to two tasks

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>
2022-11-09 10:09:46 -06:00
George Robinson acfa066ba2 Alerting: Change TestConditionsCmd to assert on mathexp.Results (#58434) 2022-11-09 16:07:43 +00:00
Giuseppe Guerra 33f02839f0 Plugins: CallResource: Use canonical MIME headers when writing response (#58506)
* Plugins: CallResource: use canonical MIME headers when writing response

* Plugins: add tests for canonical mime headers and Set-Cookie filter

* Removed extra new line
2022-11-09 15:47:32 +01:00
Ashley Harrison 159607fe6f Navigation: Convert PluginDetails page to use new Page extensions (#58509)
* Added labels

* App page fixes

* Switch to switch

* wip

* Updates

* I am stuck

* Minor tweak

* This props interface could work

* removed change

* use new page extensions in plugin details page

* add link separator, fix action button spacing

* some renaming

* Move PageInfo into it's own folder + add tests

* add support for new props in old page header

* remove PluginDetailsHeader as it's no longer used

* Fix unit tests

* fix some badge alignments

* center align actions

* badge alignment + only show downloads for community/commercial plugins

* better link alignment

* conditionally render description

* move install control warnings to below subtitle + refactor

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-11-09 14:44:38 +00:00
Esteban Beltran cced175ccf Docs: Replace toolkit command to scaffold plugins with create-plugin (#58462)
* Replace command to scaffold plugin with create-plugin

* Change link text
2022-11-09 08:15:23 -06:00
Gareth Dawson fa5a304de8 Elasticsearch: fix typo (#58519) 2022-11-09 14:10:47 +00:00
Timur Olzhabayev 008c554d7f Echo: Add config option to prevent duplicate page views for GA4 (#57619) 2022-11-09 15:09:19 +01:00
Matias Chomicki 463f993186 feat(loki-monaco-editor): update e2e test with autocomplete steps (#58455)
* feat(loki-monaco-editor): update e2e test with autocomplete steps

* Chore: replace typing method

* Test simpler POC test

* Chore: refactor test

* Chore: use selector to get the editor value
2022-11-09 13:37:00 +01:00
George Robinson 1290951b65 Alerting: Small improvements to staleResultsHandler (#58007) 2022-11-09 11:08:32 +00:00
Gareth Dawson 966b47c2ef Loki: Rename log browser to label browser (#58416)
* rename loki log browser to label browser

* rename loki log browser to label browser
2022-11-09 09:57:05 +00:00
Torkel Ödegaard b5651803e0 Scene: ObjectVariable for supporting the built in system variables and object scoped variables (__data for example) (#58291)
* Scene: Adds ObjectVariable to support the built-in/system variables

* fixed lint issue
2022-11-09 10:27:20 +01:00
George Robinson fdeefaee42 Alerting: Reorder tests in classic_test.go (#58425) 2022-11-09 09:13:47 +00:00
Ashley Harrison b3c761aaa7 Navigation: Expose new props to extend Page/PluginPage (#58465)
* add extensions and customisation to `Page`

* adjust alignment
2022-11-09 09:05:01 +00:00
Andres Martinez Gotor 9778d642df GoogleCloudMonitoring: use typed struct in newInstanceSettings (#58440) 2022-11-09 09:38:06 +01:00
Torkel Ödegaard 6ed35292fe Variables: SceneVariable update process (#57784)
* First baby steps

* First baby steps

* No progress really

* Updates

* no progress

* refactoring

* Progress on sub menu and value selectors

* Some more tweaks

* Lots of progress

* Progress

* Updates

* Progress

* Tweaks

* Updates

* Updates to variable system

* Cleaner tests

* Update

* Some cleanup

* correct test name

* Renames and moves

* prop rename

* Fixed scene template interpolator

* More tests for SceneObjectBase and fixed issue in EventBus

* Updates

* More tweaks

* More refinements

* Fixed test

* Added test to EventBus

* Clone all scene object arrays

* Simplify

* tried to merge issue

* Update

* added more comments to interface

* temp progress

* Trying to simplify things, but struggling a bit

* Updated

* Tweaks

* Progress on fixing the select componenet and typing, and sharing code in a base class

* Updated

* Multi select

* Simpler loading state

* Update

* removed failOnConsole

* Removed old funcs

* Moved logic from update manage to MultiValueVariable

* Added tests for MultiValueVariable logic

* Made value a more abstract concept to support object values

* renamed func to getValueText

* Refactored and moved logic to VariableSet

* Added test for deactivation and query cancelling

* Tweaks

* Fixed lint issues
2022-11-09 08:02:24 +01:00
George Robinson c646ff0ce3 Alerting: Fix screenshots were not cached (#58493) 2022-11-09 01:52:16 +00:00
Ryan McKinley 238a3f820c Store: use "at" suffix for time base fields more consistently (#58486) 2022-11-08 17:42:32 -05:00
George Robinson ad9ac85ee0 Alerting: Use hash of opts in singleflight (#58474) 2022-11-08 22:37:49 +00:00
George Robinson 72275e97d2 Use fnv64 for InmemCacheService (#58468) 2022-11-08 22:05:15 +00:00
Sofia Papagiannaki 4d2be7a277 Nested Folders: Use recursive query if the driver supports it (#58178)
* Nested Folders: Try first recursive query and fallback if it's not supported

* Apply suggestion from code review

Fix error msgID
2022-11-08 14:53:05 -05:00
Andreas Christou ed64133943 grafana/e2e: Update add dashboard flow (#58360)
* Update variable editor e2e flow

- Use correct selector for Variables
- Add variable query form
- Add label for variable apply button

* Use data-testid instead of aria-label

* Add jsdoc
2022-11-08 12:15:21 -05:00
Adam Simpson 3e92a2dc77 Tooltips: Make tooltips in FormField and FormLabel interactive and keyboard friendly (#57706)
* Tooltips: add tabindex and interactive

A couple tooltips used in configuration of datasources like ADX were not
clickable or didn't show on keyboard focus.

- fixes #56561
- Same solution as #47137

* test: add test around tabbing to tooltips
2022-11-08 16:55:53 +00:00
Hamas Shafiq 43a0afeac4 Tempo: Fix start time column sorting when using search (#56635) 2022-11-08 16:39:21 +00:00
Grot (@grafanabot) 512584558f Changelog: Updated changelog for 8.5.15 (#58467) 2022-11-08 16:32:41 +00:00
Laura Fernández 96d70c37bd Internationalization: Translate TimeZonePicker component (#58461) 2022-11-08 17:25:35 +01:00
Emil Tullstedt 75701695d8 pkg/web: avoid shared middleware slice (#58458) 2022-11-08 10:58:04 -05:00
Grot (@grafanabot) 2e6761b4e4 Changelog: Updated changelog for 8.5.15 (#58459) 2022-11-08 10:49:30 -05:00
Laura Fernández d0f173665f Internationalization: Translate TimePickerContent component (#58316) 2022-11-08 16:30:03 +01:00
Dan Cech d593aede3d properly format new .drone.yml in verify-drone (#58436) 2022-11-08 10:27:57 -05:00
Torkel Ödegaard 50a197014f Panels: Fixes crashing issue when migrating angular panels (#58232) 2022-11-08 16:26:02 +01:00
Matias Chomicki 25f79ef2b9 Loki: enable Monaco Query Editor by default (#58080)
* feat(loki-monaco-editor): update tests

* chore(loki): use unified datasource mock function in tests

* chore: enable monaco feature flag in tests

* feat(loki-monaco-editor): add test case for disabled feature

* feat(loki-monaco-editor): enable by default

* Revert "feat(loki-monaco-editor): enable by default"

This reverts commit 08904f94a707a4fa32aa1e7f3f0de377575a7636.

* feat(loki-monaco-editor): enable from registry

* feat(loki-monaco-editor): make feature flag frontend only
2022-11-08 10:22:40 -05:00
Gábor Farkas 29fcc46333 devenv:elastic: update version (#58439) 2022-11-08 15:00:23 +00:00
Laura Fernández 3790e105e5 Internationalization: Translate TimePickerFooter component (#58390) 2022-11-08 15:56:19 +01:00
Andres Martinez Gotor 42b2e630b7 GoogleCloudMonitoring: Refactor annotation code (#58417) 2022-11-08 15:41:17 +01:00
Galen Kistler 9281746914 Prometheus: remove /series endpoint calls in query builder label names and values for supported clients (#58087)
* add other filter variables to match param for label values query against filter values, in order to resolve bug in which filter value options would display that aren't relevant in the current query editor context, i.e. options would display that upon select would display no data

* expanding current unit test coverage to cover calls to new API

* interpolate the label name string instead of the match promql expression
2022-11-08 08:37:11 -06:00
Jack Westbrook 904c6f1ea9 Chore: update latest.json to 9.2.4 (#58433) 2022-11-08 09:26:32 -05:00
Ashley Harrison 831ecb467c Add new PageInfo component (#58421) 2022-11-08 14:20:05 +00:00
Joe Blubaugh f07da85d8b Dashboards: Provide better error messages in SaveDashboardAsForm (#57866)
The existing code uses `instanceof Error` to check for a `message` field on the thrown object. The objects that are thrown are never instances of the error interface. This change introduces a new type that extends Error so that the check works properly and displays a meaningful error message in the UI.
2022-11-08 22:11:02 +08:00
Kristin Laemmert a255c32e1a nested folders: support creation of nested folders in folder service when feature flag is set (#58364)
* nested folders: support creation of nested folders in folder service when feature flag is set
2022-11-08 08:59:55 -05:00
Grot (@grafanabot) 94573d3e61 Changelog: Updated changelog for 9.2.4 (#58429) 2022-11-08 14:58:19 +01:00
Laura Fernández c1d677c174 Internationalization: Translate TimeRangeContent component (#58343) 2022-11-08 14:55:50 +01:00
George Robinson aa69a8463f Revert "Alerting: Fix mathexp.NoData in ConditionsCmd (#56812)" (#58423)
This reverts commit 5fa0936b7e.
2022-11-08 13:35:58 +00:00
Levente Balogh bfd14709c9 Levitate: Only run workflows when the NPM packages change (#58206)
* chore: only run Levitate when our NPM packages have changes

* chore: show the Levitate workflow as passed even if it was skipped
2022-11-08 14:26:31 +01:00
Julien Duchesne f1f401147f Linux repositories: Document apt|rpm.grafana.com (#57527)
* Linux repositories: Document `apt|rpm.grafana.com`
We'll be moving off packages.grafana.com (it will be linked to the new repositories)
The new package repositories are easier to use, so let's document them instead

Question: Are the scripts in `scripts/build/update_repo` and `scripts/verify-repo-update` still used? They seem very old, and seem like the generation of scripts before grabpl was created

* Shorter RPM docs. No need to copy the same snippet twice

* Add warning about repository migration

* oops
2022-11-08 07:10:56 -05:00
Julien Duchesne 786c7faff2 Grafana Enterprise Packaging: Set to conflict with grafana, not replace (#58189)
* Grafana Enterprise Packaging: Set to conflict with `grafana`, not replace
When `grafana` and `grafana-enterprise` are in the same RPM repository, grafana-enterprise takes precedence over Grafana
This is not what we want. Users should be able to install either OSS or Enterprise

* Set it only one way. It's how it's currently tested
2022-11-08 13:08:01 +01:00
George Robinson 5fa0936b7e Alerting: Fix mathexp.NoData in ConditionsCmd (#56812)
This commit fixes an issue where mathexp.NoData would return an error
in ConditionsCmd (Classic Condition) instead of no data. It further
refactors the Execute method to make it easier to understand.
2022-11-08 11:41:57 +00:00
ying-jeanne 0e87d27e5b Support folderUID in import dashboard service (#58415)
* add folder service and get folderid

* remove storage?
2022-11-08 06:36:18 -05:00
Kristin Laemmert ef7145e4aa feat(nested folders): Add CountAlertRulesInFolder to ngalert store (#58269)
* chore: refactor CountDashboardsInFolder to use the more efficient Count() sql function

* feat(nested folders): Add CountAlertRulesInFolder to ngalert store

This commit adds CountAlertRulesInFolder and a new model for the CountAlertRulesQuery. It returns a count of alert rules associated with a given orgID and parent folder UID. (the namespace referenced inside alert rules is the parent folder).

I'm not sure where this belongs in the ngalert service, so that will come in a future commit.
2022-11-08 11:51:00 +01:00
idafurjes af2f51f196 Folder: Add folder service implementation (#58182)
* Folder: Add folder service implementation

* Add Move

* Add tests

* Add new servie method and adjust Update, Delete and Move

* Remove contains

* GetTree return children of depth one
2022-11-08 11:33:13 +01:00
Andreas Christou 5cfd983cc2 AzureMonitor - E2E tests drone update (#57100)
* Update e2e command with video flag

* Add Cloud Plugins E2E tests to drone

* Update env variable names

* Add vault Azure secrets

* Update e2e steps

* Update secrets path

* Update image and rebuild drone file

* Readd drone changes

* Rebuild drone

* Remake drone

* Correct reference to secret

* Remake drone file

* Remove unneeded step

* Clear values in Arg query
2022-11-08 11:27:54 +01:00
Giordano Ricci e4c394dfcd Correlations: add tracking for add, update, delete, and details expanded (#58239)
* Correlations: add tracking for add, update, delete, and details expanded

* add tests

* change delete event

* rename handlers
2022-11-08 10:10:09 +00:00
Sofia Papagiannaki 96cdf77995 Revert "Chore: Refactor quota service (#57586)" (#58394)
This reverts commit 326ea86a57.
2022-11-08 11:52:07 +02:00
Timur Olzhabayev 228ec4c0f3 Chore: Switch Grafana to using faro libraries (#58186) 2022-11-08 10:36:27 +01:00
Shirley 82d09e0647 CloudWatch: Refactor test mock by removing GetMetricsData from FakeMetricsAPI (#58355) 2022-11-08 10:28:50 +01:00
Sofia Papagiannaki 326ea86a57 Chore: Refactor quota service (#57586)
* Chore: refactore quota service

* Apply suggestions from code review
2022-11-08 10:25:34 +02:00
Marcus Efraimsson faa0fda6eb Prometheus: Upgrades http client to v1.13.1 (#58363) 2022-11-08 08:35:05 +01:00
Christopher Moyer 0315f6317e Docs: corrects outer join example (#58348)
* corrects outer join example

* Update docs/sources/panels-visualizations/query-transform-data/transform-data/index.md

* adds query tables back in
2022-11-07 13:40:09 -06:00
ismail simsek 93c1fbbe3f Remove data comparison tool and feature flag (#58196) 2022-11-07 19:20:00 +01:00
Eric Leijonmarck 76947b10e2 Auth: conflicting users validation improvements (#58136)
* WIP

* add: better validation of conflict file

* add: better description of validation and ingest command

* add: check for at least one user to delete

* add: example in terraform to setup for conflicts

* Update pkg/cmd/grafana-cli/commands/conflict_user_command.go

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

* Add: print of conflict block for error

- adds conflict block to error output for validation of the file to
  easier diagnose in the file

* fix: formatting of errors

* fix: info strings improvements

* add: default 0 to blocks to check for users

* fixed: tests

* test integration

* fix strings fmt

* set store in resolver

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2022-11-07 18:12:17 +00:00
Gareth Dawson 2027f4702c Loki: Add case insensitive line contains operation (#58177)
* add line-contains-case-insensitive operation definition

* add loki operation id for line-contains-case-insensitive

* make query case-insensitive when using line filter

* remove console log from operationUtils.ts

* add line-does-not-contain-case-insensitive operation definition

* add loki operation id for line-does-not-contain-case-insensitive

* make query case insensitive when using line-does-not-contain-case-insensitive

* update title and min-width for line-contains-case-insensitive

* add caseInsensitive optional parameter

* toggle case insensitive on operations

* remove console log

* update operation names

* add test coverage

* update to implement suggestions

* add suggestion
2022-11-07 17:01:06 +00:00
Andres Martinez Gotor 0a8fdc4550 GoogleCloudMonitoring: Remove unused code (#58347) 2022-11-07 17:51:49 +01:00
Matias Chomicki 17cce38545 Loki Monaco Editor: implement extracted label keys (#57368)
* feat(loki-monaco-editor): implement extracted label keys

* Chore: add missing responseUtils tests

* feat(loki-monaco-editor): suggest extracted labels

* Chore: fix test case name

* feat(loki-monaco-editor): dont suggest labels in logs query

* Chore: remove console log

* Chore: remove extracted keyword from suggested label

* feat(loki-monaco-editor): do not suggest duplicated labels

* refactor(loki-monaco-editor): pass query and offset to the completions resolver

* Revert "refactor(loki-monaco-editor): pass query and offset to the completions resolver"

This reverts commit d39464fd1a4624d5cd5420156dd2d1e2dad2eecf.

* refactor(loki-monaco-editor): refactor label completions for grouping

* Chore: remove obsolete function
2022-11-07 11:45:07 -05:00
George Robinson 8353f307aa Alerting: Fix test fails in some environments (#58251) 2022-11-07 16:34:37 +00:00
Ben Sully 480277f612 CallResource: don't set Content-Type header if status is 204 (#50780)
Grafana's HTTPServer ensures that the Content-Type header is always set
in the response to a CallResource call, but when the status code is
204 No Content this shouldn't be done; the body should be empty and no
Content-Type header should be set.

We ran into this in the Grafana ML plugin where we were sending an empty
response with status 204, but the frontend client saw that the content
type was JSON and tried to parse it, resulting in an error that made it
to the JS console.
2022-11-07 17:25:49 +01:00
Giordano Ricci 43436bd6f0 Explore: Remove explore2Dashboard feature toggle (#58329) 2022-11-07 16:06:40 +00:00
Zoltán Bedi b472306239 MSSql/Postgres: Fix visual query editor filter disappearing (#58248) 2022-11-07 17:04:53 +01:00
Yuri Tseretyan 3621cf5a12 Alerting: Update handling of stale state (#58276)
* delete all stale states in one lock
* do not use touched states to detect stale rely only on LastEvaluationTime maintained correctly
* fix tests to use correct eval time
* delete unused method
2022-11-07 11:03:53 -05:00
Neel db1fd10ff1 Alerting: Append org ID to alert notification URLs (#57123) 2022-11-07 16:03:25 +00:00
Si Mon bc280d0749 Datasource Loki: preserve header X-ID-Token (#57878) 2022-11-07 16:53:42 +01:00
Emil Tullstedt 89eba7a108 Server: Write internal server error on missing write (#57813) 2022-11-07 16:14:41 +01:00
Galen Kistler 6bc8ec0f9b fix thanos semver string (#58335) 2022-11-07 09:03:42 -06:00
Emil Tullstedt 1ba25b2baa Preferences: Create indices (#48356) 2022-11-07 15:52:26 +01:00
Yuri Tseretyan 623de12e35 Alerting: Create AlertInstanceKey in one place (#58278)
* use method GetAlertInstanceKey
* do not add key if error
2022-11-07 09:35:29 -05:00
Torkel Ödegaard 1fb37b54b3 Scenes: Enforce explicit accessibility modifiers (ESLint) (#58331)
* Public test

* Update

* Update

* revert

* Added some public accessability modifiers

* Force public acessability only for scenes/* folder

* Fixes
2022-11-07 15:32:02 +01:00
Levente Balogh eb3ee35e1c Frontend Routing: Always render standalone plugin pages using the <AppRootPage> (#57771)
* chore: fix go lint issues

* feat(Routing): route standalone plugin pages to the `AppRoutePage`

* feat(plugin.json): introduce a new field called `isCorePage` for `includes`

* chore: add explanatory comments for types

* refactor(AppRootPage): receive the `pluginId` and `pluginSection` through the props

Now we are able to receive these as props as the pluginId is defined on navLinks
that are registered by plugins.

* chore: update teests for AppRootPage

* fix: remove rebase issue

* tests(applinks): add a test for checking isCorePage plugin page setting

* refactor(applinks): update tests to use FindById() and be more resilient to changes

* fix: Go lint issues

* refactor(routes): use cleaner types when working with plugin nav nodes

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>

* chore: fix linting issues

* t: remove `isCorePage` field from includes

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
2022-11-07 15:19:31 +01:00
Yuri Tseretyan f9c88e72ae Alerting: Update saveAlertStates in state manager to not return results (#58279) 2022-11-07 09:09:19 -05:00
Laura Fernández e5d4d00c1f Internationalization: Translate CalendarFooter component (#58326) 2022-11-07 14:42:20 +01:00
Virginia Cepeda 97df6e682e [Alerting] - make rule groups the default view (#58271) 2022-11-07 09:44:20 -03:00
Conor Evans 40ba2ba18d fix(config/jwt): the value should be "expect_claims", not "expected_claims" (#58284)
Signed-off-by: Conor Evans <coevans@tcd.ie>
2022-11-07 12:29:27 +00:00
Josh Hunt d4e3d47f56 Chore: Disable dashboard-time-zone e2e tests (#58320) 2022-11-07 06:37:47 -05:00
Gábor Farkas 6dd5ce7ab0 Tracing: Allow trace to logs for OpenSearch (#58161)
* tracing: allow trace-to-opensearch functionality

* more consistent naming
2022-11-07 12:24:01 +01:00
Andres Martinez Gotor d001a1b035 @grafana/e2e: Fix addPanel for small screen size (#57398) 2022-11-07 12:10:30 +01:00
Jo 2ce5dcfb91 ServiceAccounts: Add background service to check for token leaks (#53658)
* add secret scan service

* add token batching

* Apply suggestions from code review

Co-authored-by: Victor Cinaglia <victor@grafana.com>

* fix: finish constant renaming

Co-authored-by: Victor Cinaglia <victor@grafana.com>
2022-11-07 05:46:19 -05:00
Giuseppe Crinò b40f192c7e chore(docs): clarify how to refer to GH teams (#57679) 2022-11-07 11:39:59 +01:00
Gabriel MABILLE 30fae33f66 RBAC: Allow role registration for plugins (#57387)
* Picking role registration from OnCall POC branch

* Fix test

* Remove include actions from this PR

* Removing unused permission

* Adding test to DeclarePluginRoles

* Add testcase to RegisterFixed role

* Additional test case

* Adding tests to validate plugins roles

* Add test to plugin loader

* Nit.

* Scuemata validation

* Changing the design to decouple accesscontrol from plugin management

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

* Fixing tests

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

* Add missing files

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

* Remove feature toggle check from loader

* Remove feature toggleimport

* Feedback

Co-Authored-By: marefr <marcus.efraimsson@gmail.com>

* Fix test'

* Make plugins.RoleRegistry interface typed

* Remove comment question

* No need for json tags anymore

* Nit. log

* Adding the schema validation

* Remove group to take plugin Name instead

* Revert sqlstore -> db

* Nit.

* Nit. on tests

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

* Update pkg/services/accesscontrol/plugins.go

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

* Log message

Co-Authored-By: marefr <marcus.efraimsson@gmail.com>

* Log message

Co-Authored-By: marefr <marcus.efraimsson@gmail.com>

* Remove unecessary method. Update test name.

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

* Fix linting

* Update cue descriptions

* Fix test

Co-authored-by: Kalle Persson <kalle.persson@grafana.com>
Co-authored-by: Jguer <joao.guerreiro@grafana.com>
Co-authored-by: marefr <marcus.efraimsson@gmail.com>
Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com>
2022-11-07 11:30:45 +01:00
Ashley Harrison 334b498632 group d3 updates together (#58309) 2022-11-07 10:30:23 +00:00
Will Browne 09e8cff06e Plugins: Make "README" the default markdown request param (#58264)
* Plugins: Make README the default markdown request param

* undo devdboard changes

* fix missing prefix

* rm newline

* re-add space UFFFFF
2022-11-07 11:16:17 +01:00
Oscar Kilhed b1bfae0350 MySQL: make it possible to add CA cert without using tlsAuth (#58226) 2022-11-07 09:38:42 +01:00
Victor Marin d673c8809b Timeseries: Fix null pointer when matching fill below to field (#58030)
* Fix timeseries fill below to error

* wip

* modifications

* add tests for fillBelowTo option
2022-11-06 16:19:50 +02:00
Dimitris Sotirakis bdb8fe3b02 Update drone-cli go mod to v1.6.1 (#58245) 2022-11-05 09:52:21 +02:00
Ryan McKinley bff19747bd Timeseries: Use standard editor for fillBelowTo field picker (#58283) 2022-11-04 22:00:46 -07:00
Ryan McKinley a83fdc6b87 Live: remove json exact converter (#58282) 2022-11-04 18:33:02 -04:00
Ryan McKinley eb1cc80941 Storage: include SQL implementation (#58018) 2022-11-04 17:30:22 -04:00
Yuri Tseretyan 978f1119d7 Alerting: Run state manager as regular sub-service (#58246) 2022-11-04 17:06:47 -04:00
Ryan McKinley e6a9fa1cf9 ServiceAccounts: enable service accounts after IsRealUser change (#58263)
* suppor service accounts

* add: IsServiceAccount to scheduleUser in scheduler

Co-authored-by: eleijonmarck <eric.leijonmarck@gmail.com>
2022-11-04 15:53:35 -04:00
Todd Treece d80abd173b Chore: Sort generated jsonnet dashboards by full path (#58267) 2022-11-04 15:14:56 -04:00
Yuri Tseretyan dce8879145 Alerting: Update state manager to accept rule store as Warm method argument (#58244) 2022-11-04 14:23:08 -04:00
juanicabanas 8f6cdd4cda PublicDashboards: Add delete public dashboard button in public dashboard modal (#58095)
- Delete public dashboard button added in public dashboard modal
- Delete public dashboard button refactored in order to be used in audit table and public dashboard modal
- Tests added
- RTK Query api modified, in order to keep cached data because of having to show public dashboard modal once delete modal is closed.
- RTK Query specific cached data invalidated for public dashboard
- Save button text changed: Create public dashboard when it was never created. Save public dashboard when there's a public dashboard already created
- Public Dashboard modal subscribed to DashboardModel metadata changes
2022-11-04 14:08:50 -04:00
Ezequiel Victorero ae30a0688a PublicDashboards: refactor using new grafana error types (#58078) 2022-11-04 14:14:32 -03:00
renovate[bot] 5f5b3521d9 Update dependency rollup-plugin-dts to v5 (#58258)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-04 17:04:00 +00:00
renovate[bot] 85d15b6292 Update dependency uuid to v9 (#58260)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-04 16:54:12 +00:00
renovate[bot] 10ee9f129d Update dependency rollup-plugin-node-externals to v5 (#58259)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-04 16:52:15 +00:00
Ashley Harrison ca3bcc691c hide sectionnav items when collapsed, ensure focus ring overlays active items (#58250) 2022-11-04 16:42:34 +00:00
Ryan McKinley 22628d1f7e Storage: fix failing test (set IsServiceAccount=true) (#58257) 2022-11-04 12:37:25 -04:00
Will Jordan d581b368bd Alerting: Remove duplicate Slack notification title (#58107)
Move mentions to a markdown-formatted pretext field
to prevent issues mixing blocks and legacy-attachment content.
2022-11-04 17:09:24 +01:00
Torkel Ödegaard 4d2bf41efb AppChrome: Fixes kiosk mode toggling (#58240) 2022-11-04 16:49:31 +01:00
Alexander Weaver cc8c1380e2 Alerting: Persist annotations from multidimensional rules in batches (#56575)
* Reduce piecemeal state fields

* Read data directly off state instead of rule

* Unify state and context into single struct

* Expose contextual information to layer above setNextState

* Work in terms of ContextualState and call historian in batches

* Call annotations service in batches

* Export format state and reason and remove workaround in unrelated test package

* Add new method to annotation service for batch inserting

* Fix loop variable aliasing bug caught by linter, didn't change behavior

* Incl timerange on annotation tests

* Insert one at a time if tags are present

* Point to rule from ContextualState rather than copy fields

* Build annotations and copy data prior to starting goroutine

* Rename to StateTransition

* Use new bulk-insert utility

* Remove rule from StateTransition and pass in directly to historian

* Simplify annotations logic since we have only one rule

* Fix logs and context, nilcheck, simplify method name

* Regenerate mock
2022-11-04 10:39:26 -05:00
renovate[bot] c1ea944c79 Update dependency @types/node to v18 (#58139)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-04 15:28:47 +00:00
Gareth Dawson 4749f45fe8 Loki: Replace hardcoded css values (#57770)
* replace hardcoded margin/padding in getLogRowStyles.ts

* replace hardcoded margin/padding in LogDetails.tsx

* replace hardcoded values in LogDetailsRow.tsx

* replace hardcoded values in LogLabels.tsx

* replace hardcoded values in LogLabelStats.tsx

* replace hardcoded values in LogLabelStatsRow.tsx

* replace hardcoded values in LogRowContext.tsx

* replace hardcoded values in LogRowMessage.tsx

* replace hardcoded values

* remove forced theme spacing values
2022-11-04 15:18:55 +00:00
Giordano Ricci 4758bbcb61 Explore: don't re-init the Graph on every data change (#57906)
* Perf: remove structureRev logic from Graph in Explore

* Avoid reinitializing uPlot when not needed

* move fieldConfigRegistry

* restore usememo for dataWithConfig
2022-11-04 15:05:06 +00:00
renovate[bot] 7078871ab6 Update dependency react-i18next to v12 (#58238)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-04 14:45:20 +00:00
Dan Cech da9c646f24 Build: add explicit build step for go codeql (#58195)
* add explicit build step for go codeql

* support workflow_dispatch for codeql checks

* syntax fix

* enable on push to codeql-go branch

* test

* use go version from go.mod

* explicitly set go version

* tidy up, add workflow_dispatch support to all codeql actions
2022-11-04 10:20:08 -04:00
Dan Cech 9ea6a43089 Build: clean up and document integration test convention (#58170)
* clean up and document integration test convention

* clarify integration test conventions

* clean up integration tests that don't follow convention

* mark testIntegration* functions as helpers to avoid confusion
2022-11-04 10:14:21 -04:00
Emil Tullstedt 428dd54094 Chore: Upgrade Go to 1.19.3 (#58052) 2022-11-04 14:50:43 +01:00
renovate[bot] a6f302648b Update dependency @wojtekmaj/enzyme-adapter-react-17 to v0.7.0 (#58233)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-04 13:49:09 +00:00
renovate[bot] 9b8e3b9619 Update dependency jest-fail-on-console to v3 (#58219)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-04 13:39:51 +00:00
Yuriy Tseretyan ff5cc3e640 Chore: Update cloud monitoring and Azure data sources to support contextual logs (#57844)
* update cloud monitoring to use log from context
* update azure monitor to use contextual logger
2022-11-04 09:28:38 -04:00
Eric Leijonmarck 72d0c6b428 Auth: add IsServiceAccount to IsRealUser (#58015)
* add: IsServiceAccount to SignedInUser and IsRealUser

* fix: linting error

* refactor: add function IsServiceAccountUser()

By adding the function IsServiceAccountUser() we use it to identify for
ServiceAccounts in the HasUniqueID() since caching is built up on having
a uniqueID, see comment: https://github.com/grafana/grafana/pull/58015#discussion_r1011361880
2022-11-04 12:39:54 +00:00
Laura Fernández b7efd46e2d Internationalization: Translate TimeRangeList component (#58131) 2022-11-04 12:21:46 +01:00
Dimitris Sotirakis 9c1c10ab9a Remove base and arch args (#58209) 2022-11-04 13:21:18 +02:00
Josh Hunt 9ff2765bb9 Auth: Check for OrgUsersAdd on frontend to display pending invites (#58217) 2022-11-04 11:14:59 +00:00
Gilles De Mey e410dfbab8 Alerting: Encode path separators to side-step proxies (#58141) 2022-11-04 06:58:17 -04:00
Andreas Christou 7bb76e0975 Azure Monitor: E2E Tests (#54619)
* Update credentials form with data-testids and aria-labels

* Update gitignore

* Add example dashboard

* Stub out E2E test for creating ds and importing dashboard

* Add component selectors

* Remove subscription check temporarily

* Appropriately set disabled prop

* Fix lint issues

* Update to use selectors and wait on subscriptions request

* Add test for metrics panel

- Add required selectors for resource picker and metrics query editor

* Add logs and ARG basic query scenarios

- More selector updates

* Add E2E test for template variables

- Tests advanced resource picker
- Adds required selectors

* Remove log and add annotation e2e test

* Update test

* Prettier/betterer updates

- Remove gitignore change

* Lint issues

* Update betterer results

* Lint issue and remove unneeded import

* Don't print certain commands

* Avoiding flakiness

- Ensure code editor has sufficient time to load in ARG test
- Avoid flakiness around correct template variable being selected by typing in resource name

* Remove be.visible requirement

* Update test

* Update selector name

* Reuse datasource

* Fix datasource reuse and combine query tests

* Remove import dashboard step as unneeded

* Review

- Randomise datasource name
- Skip annotations test
- Remove unused example dashboard

* Update to ensure e2e test works in CI

* Update e2e test

- Update environment variables (process is not available in cypress)
- Add wait on resource picker searches to avoid flakiness
- Update subscription and resource group names

* Update CODEOWNERS

* Parse credentials in CI from outputs file

* Update outputs file path

* Fix selector

* Undo selector change

* Update e2e tests

- Set default subscription
- Fix datasource selection in variable editor
- Fix resource picker search flakiness
- Set subscription in ARG query test
- Fix resource group selection
- Update resource group

* Review

* Review 2
2022-11-04 10:47:54 +00:00
renovate[bot] aa9039a841 Update dependency i18next to v22 (#58156)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-04 10:46:19 +00:00
renovate[bot] 1e7d9c6360 Update dependency sass to v1.56.0 (#58207)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-04 10:44:00 +00:00
renovate[bot] 3f38c95377 Update dependency @types/k6 to v0.41.0 (#58165)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-04 10:42:45 +00:00
Jo e3ea7ee145 Doc: Add groups mapping config to readme (#58208) 2022-11-04 10:43:38 +01:00
renovate[bot] 17f7cbf0f6 Update dependency babel-loader to v9.1.0 (#58155)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-04 09:20:27 +00:00
Ashley Harrison 871d98e550 hopefully improve slate test reliability (#58171) 2022-11-04 09:20:03 +00:00
Sofia Papagiannaki d131733f55 Nested Folder: Modify store Update() (#58183)
* Nested Folder: Modify store Update()

* fixup
2022-11-04 10:04:24 +01:00
Ryan McKinley 3dfa49b376 Playlist: cleanup object store implementation (#58201) 2022-11-03 16:35:20 -07:00
Levente Balogh 376f4b0cc7 Navigation: Add pluginId to standalone plugin page NavLinks (#57769)
* feat(Navigation): add `pluginId` to NavLink and override sibling navlinks with the same URL

* test replacing page from plugin

* chore: fix go lint issues

* fix(NavLink): change `PluginId` to `PluginID`

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

* fix(NavLink): make the `PluginId` -> `PluginID` change everywhere

* chore(navModel.ts): update explanatory comment for `pluginId`

Co-authored-by: Miklós Tolnai <miklos.tolnai@grafana.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-11-03 21:19:42 +01:00
Jeff Levin 6fcc5b42c0 publicdashboards: split create/update api paths (#57940)
This PR splits the create and update paths for public dashboards and includes assorted refactors toward a proper REST API. Additionally, we removed the concept of a "public dashboard config" in favor of "public dashboard" 

Co-authored-by: juanicabanas <juan.cabanas@grafana.com>
Co-authored-by: Ezequiel Victorero <ezequiel.victorero@grafana.com>
2022-11-03 11:30:12 -08:00
ismail simsek 0367f61bb3 Share azureauth between prometheus clients (#58122)
* Move azureauth to upper package

* Refactor http transport options
2022-11-03 19:44:37 +01:00
Christopher Moyer 1722000309 fixes typo (#58159) 2022-11-03 13:42:23 -05:00
kay delaney a8c181bf6a Chore: Migrate usage of v1 theme to v2 (#58154) 2022-11-03 18:15:55 +00:00
lean.dev c1b10e4f0c Docs: Adding documentation for custom branding on public dashboards (#58090)
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2022-11-03 14:58:43 -03:00
Timur Olzhabayev de7f411e20 Removing workflow_call from update-changelog and bump-version action (#58181) 2022-11-03 17:47:04 +00:00
Giuseppe Guerra 7996a1c8ad Chore: Update grafana-plugin-sdk-go to v0.142.0 (#58115)
* Chore: Update grafana-plugin-sdk-go to v0.142.0

* Update tests and golden files for 207 status code

* Chore: Move update flag definition at the top in response_parser_test.go

* retrigger

Co-authored-by: Will Browne <will.browne@grafana.com>
2022-11-03 18:34:27 +01:00
Ryan McKinley 857e545c5a FeatureFlags: set defaults in the registry rather than the ini file (#58106) 2022-11-03 17:34:01 +00:00
Adela Almasan 9c7b6b1ce8 Canvas: Extend root context menu (#58097) 2022-11-03 17:30:12 +00:00
dessen-xu b799be3052 Toolkit: Fix Webpack less-loader config (#57950) 2022-11-03 16:13:18 +01:00
Todd Treece e105b5a107 Chore: Add jsonnet library for devenv dashboards (#57928) 2022-11-03 11:04:39 -04:00
Laura Fernández 813ebf988d Internationalization: Translate TimePickerTitle component (#57909) 2022-11-03 16:03:28 +01:00
Kyle Cunningham 05f630a566 Add VSCode launch configuration to debug in remote Chrome (#58108) 2022-11-03 21:08:38 +07:00
Sven Grossmann 4b1ddba0a8 fixed explain handlers for label- and lineformat (#58135) 2022-11-03 14:57:29 +01:00
kay delaney f37e53f060 Chore: Migrate more theme v1 usage to v2 (#58121) 2022-11-03 09:54:18 -04:00
Ashley Harrison c1c8dc8749 remove e2e-api-tests + axios dependency (#58148) 2022-11-03 13:52:58 +00:00
renovate[bot] 0792ff8e20 Update dependency eslint-plugin-jest to v27 (#58143)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-03 13:37:00 +00:00
Leon Sorokin 4d88e2b542 TimeSeries: more thorough detection of negative values for stacking dir (#57863) 2022-11-03 07:24:01 -06:00
Marcos Vinicius 372ba83534 reduce the number of requests in folder section (#55876) 2022-11-03 13:22:07 +00:00
Sofia Papagiannaki 5c973e58bd Nested Folders: Add tests for store methods (#57662)
* Nested Folders: Add store tests

* Fix parent order

* Fix update

* skip tests!

* Export test helpers for now
2022-11-03 14:21:41 +01:00
renovate[bot] 89548df5a4 Update dependency @types/ol-ext to v3 (#58140)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-03 13:18:47 +00:00
lean.dev 49e36c5c05 Public Dashboards: Renaming PubdashFooter (#58137) 2022-11-03 10:12:27 -03:00
Todd Treece d45fe6e25c Chore: Add NewAnonymousSignedInUser to user service (#57537) 2022-11-03 14:03:29 +01:00
Beto Muniz 8fe02612b6 Graphite: Allow metric name to use true/false as name (#57996) 2022-11-03 09:34:34 -03:00
Sonia Aguilar c8f87f4413 Alerting: Improving group modal with validation on evaluation interval (#57830)
* Show rules list for the group with the For duration, and add validation for keeping all rules in the same group with a valid For

* Sort rules by For duration

* Add number evaluations column in alert list

* Add Error badge in column #evaluations in case of invalid For

* Add test for getNumberEvaluationsToStartAlerting method

* Move re-usable new InfoIcon component into a separate file in unified components folder

* Add edge case for getNumberEvaluationsToStartAlerting method, and change some namings
2022-11-03 12:50:32 +01:00
renovate[bot] 15b553c11c Update dependency @rollup/plugin-node-resolve to v15 (#58130)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-03 11:43:28 +00:00
renovate[bot] 2095bbcfa7 Update dependency react-select to v5.6.0 (#58127)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-03 11:32:46 +00:00
renovate[bot] 5b86474733 Update dependency eslint-plugin-jsdoc to v39.6.2 (#58126)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-03 11:29:25 +00:00
renovate[bot] ed31f0fe20 Update dependency @rollup/plugin-json to v5 (#58083)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-03 11:17:52 +00:00
Joey Tawadrous 130f848f74 Flame Graph: Add units and value to blocks (#57959)
* Added unit to block label

* Tests

* Throw if value field is undefined
2022-11-03 11:15:42 +00:00
Villena Guillaume e9dc7fb85c Rendering: Add configuration options for renderKey lifetime (#57339)
* Add configuration options for `renderKey` lifetime

* Rename config key to `render_key_lifetime`

* Update conf/defaults.ini

Co-authored-by: Joan López de la Franca Beltran <5459617+joanlopez@users.noreply.github.com>

* Add `render_key_lifetime` to sample.ini

Co-authored-by: Joan López de la Franca Beltran <5459617+joanlopez@users.noreply.github.com>
2022-11-03 12:06:55 +01:00
Andre Pereira 90ac300d10 Tempo: Make usage of time range for TraceID query optional (#58057)
* Added switch to toggle the TraceID query time shift

* Fix and improve tests
2022-11-03 11:01:22 +00:00
renovate[bot] 0071b949e1 Update typescript-eslint monorepo to v5.42.0 (#58073)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-03 07:00:00 -04:00
renovate[bot] cf5f88ca47 Update dependency @rollup/plugin-commonjs to v23 (#58075)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-03 06:56:11 -04:00
Ashley Harrison 514d3111f4 Accessibility: Enable rule jsx-a11y/no-noninteractive-element-interactions (#58077)
* fixes for no-noninteractive-element-interactions

* remaining fixes

* add type="button"

* fix unit tests
2022-11-03 10:55:58 +00:00
renovate[bot] 65bd5c65d8 Update emotion monorepo (#58066)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-03 10:49:50 +00:00
Ashley Harrison c3206167a6 increase select placeholder contrast to be WCAG AA compliant (#58034) 2022-11-03 10:45:57 +00:00
Ashley Harrison f76ba90078 Accessibility: Enable jsx-a11y/mouse-events-have-key-events (#58050)
* implement VizLegend keyboard accessibility

* add onBlur/onFocus
2022-11-03 10:22:50 +00:00
Giordano Ricci e6b088fbf5 Explore: Fix shared crosshair for logs, logsvolume and graph panels (#57892)
* Explore: enable shared corsshair for logs, logsvolume & graph panel

* avoid recreating a scoped bus on every render
2022-11-03 09:55:02 +00:00
Alex Moreno 3558cadb7e Alerting: Add title and description to Webhook contact point (#58058)
* Add title and description to Webhook contact point

* Remove deprecation message
2022-11-03 10:52:07 +01:00
Alexander Komarov 76532c1f27 Fix an indentation issue in example config in doc (#57814)
Fix this issue:
"Error loading config (--config.file=/etc/prometheus/prometheus.yml)" file=/etc/prometheus/prometheus.yml err="parsing YAML file /etc/prometheus/prometheus.yml: yaml: line 8: did not find expected '-' indicator"
2022-11-03 10:44:14 +01:00
Alex Moreno ba15d675e7 Alerting: Add values to annotations (#57738)
* Add values to annotations

* Fix imports

* Use State attrs instead of Result attrs

* Remove unnecessary variable
2022-11-03 10:35:34 +01:00
Ashley Harrison b8303fd431 Chore: Convert SpanTreeOffset test to RTL (#56195)
* convert SpanTreeOffset tests to RTL (minus mouseenter/mouseleave tests)

* fix remaining tests
2022-11-03 09:31:09 +00:00
Eric Leijonmarck fc1b647474 Auth: Add fixed repeat migration w. checks for subset of permissions (#58054)
* add: added a repeat migration w. fixed checks for permissions

* add: migration to migrations

* refactor: fix migration instead of making a new one

* fix: removed the old id

* fix: keep old name but change id

* add: migration for patched previous migration

* add: migration from missing file
2022-11-03 08:57:20 +00:00
Ivana Huckova a83dee6031 Elasticsearch: Add trace to logs functionality (#58063)
* Elasticsearch: Implement trace to logs

* Fix tests
2022-11-03 09:52:40 +01:00
Jo eb84358aa7 Auth: Validate Azure ID token version on login is not v1 (#58088) 2022-11-03 09:47:44 +01:00
Ivana Huckova 77f47ccba3 Loki: Remove redundant feature flag in defaults.ini (#58084) 2022-11-03 09:40:13 +01:00
Torkel Ödegaard 915ebcf832 Search: Refactor state and logic to be less fragmented and spread out (#57973)
* Started search state refactor

* Things are working

* Move more to statemanger

* minor tweaks

* Fixed name of hook

* revert yarn.lock changes

* Harderning StateManagerBase

* More tests and refinements

* Fixed unit test

* More polish

* fixing tests

* fixed test

* Fixed test
2022-11-03 08:29:39 +01:00
Drew Slobodnjak 94d9baa9ff Geomap: Add photo layer (#57307)
* Geomap: Add photo layer

* Remove unrelated changes

* Add todos for follow up

* Geomap: simplify photos layer (#57320)

* photos layer

* Remove unused import

Co-authored-by: drew08t <drew08@gmail.com>

* Add field selector for image source

* Add radius slider

* Fix rendering issue

* Only update vector layer after image load

* Add border color selection

* Update question mark source

* Add gdev dashboard for photo layer

* Add panel title to gdev dashboard

* Add photo validation

* Update geomap gdev dashboard to remove null value for threshold

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2022-11-02 16:50:59 -07:00
George Robinson f2e4cb7c4e Alerting: Fix feedback (#57922) 2022-11-02 22:36:14 +00:00
George Robinson 215ffee437 Alerting: Fix screenshot is not taken for stale series (#57982) 2022-11-02 22:14:22 +00:00
brendamuir f1b6660b54 Docs: fixes alias (#58060)
* Docs: fixes alias

* adds file ext
2022-11-02 17:00:26 -04:00
owensmallwood 7de093738d PublicDashboards: Adds command to generate map of supported datasources (#57841)
generates map of supported datasources for pubdash
2022-11-02 13:35:57 -06:00
Dimitris Sotirakis 7a12132237 DEB/RPM Packages: Remove old package publishing steps (#58071)
* Remove old publish package steps

* Don't ignore publish packaging failures
2022-11-02 18:42:01 +00:00
Andrej Ocenas 9e03355e53 Flamegraph: Add self to tooltip (#57548)
* Add self to tooltip

* Fix tests

* Update layout

* Fixed too much space on the bottom
2022-11-02 19:07:11 +01:00
lean.dev d5a92e8f42 Public Dashboards: Extracting config of Public Dashboard (#57788)
Co-authored-by: juanicabanas <juan.cabanas@grafana.com>
2022-11-02 14:32:29 -03:00
renovate[bot] 7954ac3948 Update dependency webpack-bundle-analyzer to v4.7.0 (#58055)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-02 16:17:28 +00:00
Marcus Andersson b804b2f073 Plugins: Added hook to make it easier to track interactions in plugins (#56126)
* first stab at context away plugin tracking.

* adding a plugin context and a hook to get hold of a tracker that always appends the plugin context information.

* wip

* improved the code a bit.

* wip

* Fixed type errors.

* added datasource_uid to data sources.

* fixed error message when trying to use hook outside of context.

* small refactoring according to feedback.

* using the correct provider for data source context.

* check not needed.

* enforcing the interaction name to start with grafana_plugin_

* exposing guards for the other context type.

* added structure for writing reporter hook tests.

* added some more tests.

* added tests.

* reverted back to inheritance between context types.

* adding mock for getDataSourceSrv
2022-11-02 16:57:57 +01:00
Leo 932429a545 LibraryPanels: Replace folderID with folderUID (#56414)
* user essentials mob! 🔱

lastFile:pkg/services/libraryelements/writers.go

* user essentials mob! 🔱

lastFile:pkg/services/libraryelements/writers.go

* user essentials mob! 🔱

lastFile:pkg/services/libraryelements/writers.go

* user essentials mob! 🔱

lastFile:pkg/services/libraryelements/writers.go

* user essentials mob! 🔱

lastFile:pkg/services/libraryelements/database.go

* user essentials mob! 🔱

lastFile:pkg/services/libraryelements/writers.go

* user essentials mob! 🔱

lastFile:pkg/services/libraryelements/writers.go

* user essentials mob! 🔱

* support filterFolderUIDs in the frontend

* move common logic to a variable

* fixed FolderLibraryPanelsPage and improved unit test

* fix backend lint error

* fix formatting error

Co-authored-by: Joao Silva <joao.silva@grafana.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Co-authored-by: eledobleefe <laura.fernandez@grafana.com>
Co-authored-by: joshhunt <josh@trtr.co>
2022-11-02 16:49:02 +01:00
Kristina 5a99aff7b8 construct the datasource for the example query if not added (#57936) 2022-11-02 09:50:10 -05:00
Yuriy Tseretyan 3a5ddbfbdf use logger context in cloudwatch (#57842) 2022-11-02 10:14:02 -04:00
Yuriy Tseretyan e3a4bde622 Alerting: Condition evaluator with cached pipeline (#57479)
* create rule evaluator
* load header from the context
* init one factory
* update scheduler
2022-11-02 10:13:39 -04:00
Yuriy Tseretyan d9c40ca41e Chore: Update sqleng, elasticsearch, tempo and opentsdb plugins to support contextual logs. (#57777)
* make sql engine use pick log context for logs
* update tempo to get log context
* update opentsdb to use log context
* update es client to use log context
2022-11-02 10:03:50 -04:00
renovate[bot] 17ebeab02c Update dependency webpack-dev-server to v4.11.1 (#58056)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-02 13:56:56 +00:00
Carl Bergquist 06705a49e2 Instrumentation: Log plugin and datasource info for each plugin request. (#54769)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2022-11-02 14:51:51 +01:00
Simon Podlipsky d32a9a62b5 Docker: Remove Edge repos (#53875)
Co-authored-by: Leonard Gram <leo@xlson.com>
2022-11-02 09:44:39 -04:00
Gábor Farkas ce13ab7077 renovate: group @types/slate* with slate* (#58053) 2022-11-02 13:42:53 +00:00
Dan Cech 6a4a10fa92 remove unneeded package updates (#58005) 2022-11-02 09:30:20 -04:00
Emil Tullstedt d0dfb28ee4 Security: Upgrade x/text to version unaffected by CVE-2022-32149 (#57797) (#57803)
Co-authored-by: emerson_gong <yong-jie.gong@microfocus.com>
2022-11-02 14:28:43 +01:00
renovate[bot] 78bef1c7e1 Update dependency eslint-plugin-jsdoc to v39.5.0 (#58039)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-02 13:22:54 +00:00
Kristin Laemmert 706b301285 feat(nested folders): add CountDashboardsInFolder (#57847)
* feat(nested folders): add CountDashboardsInFolder

This commit adds a new method to the Dashboard service and stores: CountDashboardsInFolder. The command struct takes a folderUID, but the store implementation still depends on the parent folder ID. This is temporary; eventually we will replace all references to FolderIDs (associated with Dashboards) with folder UIDs.

There are some unfortunate additional test changes that were necessary after generating the service & store mocks; it looks like that hasn't been generated since the last change(s).

* more test updates
* don't forget the service test
* that didn't end up used, so bye for now
* agree to disagree with the linter
2022-11-02 09:15:50 -04:00
renovate[bot] 409ed84136 Update dependency stylelint to v14.14.0 (#58051)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-02 09:02:41 -04:00
renovate[bot] 09d91d1f53 Update dependency react-select to v5.5.9 (#58012)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-02 12:35:24 +00:00
renovate[bot] a18ee16dd9 Update dependency sass-loader to v13.1.0 (#58047)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-02 12:28:28 +00:00
renovate[bot] 38ad824f7a Update dependency rudder-sdk-js to v2.18.1 (#58013)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-02 12:27:30 +00:00
George Robinson 4c581b5f85 Alerting: Fix response is not returned for invalid Duration in Provisioning API (#58046) 2022-11-02 08:21:23 -04:00
renovate[bot] 909d0f4ced Update Monthly patch updates (#58002)
* Update Monthly patch updates

* update typescript sdk, add ignore for emotion css prop

* fix unit tests

* type fixes

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-11-02 12:05:32 +00:00
Sriram c58542348d chore: updated plugin-ci go dependency to 1.19.3 (#58035) 2022-11-02 11:11:29 +00:00
renovate[bot] 9e25cf7e12 Update dependency rc-slider to v10 (#49242)
* Update dependency rc-slider to v10

* start migrating to rc-slider 10

* rc-slider 10 changes

* fix

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: joshhunt <josh@trtr.co>
2022-11-02 07:00:49 -04:00
Torkel Ödegaard d7f9093ccd LibrayPanels: Fix unlinking libray panel (#57825) 2022-11-02 11:38:48 +01:00
kay delaney 30dc0f56a4 Chore: Migrate more usage of v1 themes to v2 (#57680)
* Chore: Migrate more usage of v1 themes to v2

* Implement suggested changes
2022-11-02 10:25:08 +00:00
Piotr Jamróz dd5e3a0818 Explore: Track data links usage (#56868)
* Add tracking for data links in explore

* Add tracking for data links in explore

* Fix tests

* Retrigger build
2022-11-02 11:22:09 +01:00
Julien Duchesne c46a4a0b26 Linux Packages: Handle publish to beta (#57528)
Uses the feature added here: https://github.com/grafana/deployment_tools/pull/46301
When a version is named "beta", it will be distributed in the beta distribution, rather than in stable

Co-authored-by: dsotirakis <dimitrios.sotirakis@grafana.com>
2022-11-02 06:21:41 -04:00
Gabriel MABILLE 101ce57a94 RBAC: Allow listing user permissions with scope (#57538)
* RBAC: Allow listing user permissions with scope

* Add docs

* Document the api endpoint

* Update docs

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>

* Split endpoint in two

* document reloadcache

* Update docs/sources/developers/http_api/access_control.md

* Fix test

* Ieva's nit.

* Simplify flag description

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>
2022-11-02 10:48:11 +01:00
Ashley Harrison f1f0a6f88b Revert "Update React Aria (#57975)" (#58001)
This reverts commit 44069b64cd.
2022-11-02 09:39:32 +00:00
Jack Westbrook 68a3a867ce chore(npm): patch bump msw to fix nested dep vuln (#57671) 2022-11-02 04:20:33 -04:00
Dimitris Sotirakis f3b8cd1c98 CI: Remove *-test-backend-enterprise2 pipelines (#58028)
* Remove test-backend-enterprise2 pipelines

* Remove leftover
2022-11-02 04:13:12 -04:00
Zoltán Bedi 26659baf8f PostgreSQL: Migrate to React (#52831)
- Migrate Postgres query editor to react
- Add support for field aliasing in SELECT clauses to SQL based datasources

Co-authored-by: Kyle Cunningham <kyle@codeincarnate.com>
Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
2022-11-02 11:30:35 +07:00
Ryan McKinley 0c3ed0219e Storage: fix dummy implementation and tests (#58019) 2022-11-01 20:33:36 -04:00
Eric Leijonmarck c43e97cf37 Docs: Add prerequisites to enable auth.jwt for url login (#57806)
* docs: add prerequisites

* Update docs/sources/setup-grafana/configure-security/configure-authentication/jwt/index.md
2022-11-01 17:21:07 -04:00
juanicabanas fb5401b8b9 PublicDashboards: Orphaned public dashboard item list modified (#58014)
PublicDashboards: Orphaned public dashboard item list modified
2022-11-01 16:56:19 -03:00
Christopher Moyer 088a4e02e8 Docs: removes writing guidelines, points contributors to Writers' Toolkit (#58011)
* removes writing guidelines, points contributors to the Writers' Toolkit

* Update contribute/documentation/README.md

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

Co-authored-by: Ursula Kallio <ursula.kallio@grafana.com>
2022-11-01 14:48:52 -05:00
Alexander Weaver ea8c5ce929 SQLStore: Create utility for bulk inserts (#57632)
* Add batchsize to dialects

* Some intermediary progress

* Reflection-based implementation

* Validate batch size

* Implement a few simple tests

* Fix linter error

* Add debug message when falling back to default batch size
2022-11-01 13:24:32 -05:00
Grafana I18n Bot d8a4a7c90d I18n: Crowdin sync (#57998)
* New translations grafana.json (French)

* New translations grafana.json (French)
2022-11-01 12:38:55 -04:00
renovate[bot] 02f9853c4f Update dependency mocha to v10.1.0 (#58004)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-01 16:28:29 +00:00
renovate[bot] bb51afee69 Update dependency i18next-parser to v6.6.0 (#57999)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-01 16:24:59 +00:00
renovate[bot] 0ed71dbdd4 Update dependency marked to v4.2.0 (#58000)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-01 16:02:49 +00:00
Ryan McKinley 5736b46962 Storage: add support for snapshots, dataframes, and raw json objects (#57934) 2022-11-01 08:28:13 -07:00
Garrett Guillotte 852d069a3c Docs: Refactor data sources content (#57573)
* Docs: Revise data source index

* Docs: Consolidate data source administration docs

* Docs: Revise panels docs related to data sources

* Docs: Revise Alertmanager data source

* Docs: Reorganize AWS CloudWatch data source docs

* Docs: Reorganize Azure Monitor data source docs

* Docs: Move azuremonitor to azure-monitor

* Docs: Revise Elasticsearch docs

* Docs: Move Elasticsearch index into bundle

* Docs: Revise GCM docs

* Docs: Revise Graphite docs

* Docs: Move Graphite index into bundle

* Docs: Revise InfluxDB docs

* Docs: Revise Jaeger docs

* Docs: Move Jaeger index into bundle

* Docs: Revise Loki docs

* Docs: Move Loki index into bundle

* Docs: Revise MS SQL docs

* Docs: Move MS SQL index into bundle

* Docs: Revise Prometheus docs

* Docs: Move Prometheus index into bundle

* Docs: Revise Tempo docs

* Docs: Move Tempo index into bundle

* Docs: Revise TestData DB docs

* Docs: Move TestData DB index into bundle

* Docs: Revise Zipkin docs

* Docs: Move Zipkin index into bundle

* Docs: Move other data sources' index pages into bundles

* Docs: Revise frontmatter

* Fixing hugo markdown errors

* Docs: Add query editor and template var sections to overview doc

* Docs: Remove CTAs across data source docs

* Docs: Remove CTA

* Docs: Remove CTA

* Docs: Fix links, images, typos, and usage consistency.

* Docs: Fix typos

* Docs: Fix CI issues

* Update docs/sources/datasources/_index.md

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

* Update docs/sources/datasources/_index.md

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

* Docs: Fix query editor links

* Update docs/sources/panels-visualizations/_index.md

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

* Update docs/sources/panels-visualizations/_index.md

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

* Docs: Rebundle child pages per writers' toolkit

* Docs: Fix prettier for CI

* Docs: Fix relrefs from outside data sources docs

* Docs: Fix broken relrefs within datasources

* Docs: Fix relrefs to data sources docs

* Fixed some more refs

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-11-01 10:22:06 -05:00
Ryan McKinley 22648d8581 GRN: minor cleanup (#57924) 2022-11-01 11:09:39 -04:00
dependabot[bot] 09908b6602 Bump actions/cache from 2.1.7 to 3.0.11 (#56910)
Bumps [actions/cache](https://github.com/actions/cache) from 2.1.7 to 3.0.11.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v2.1.7...v3.0.11)

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

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-01 15:00:07 +00:00
renovate[bot] c0526e1905 Update dependency eslint to v8.26.0 (#57986)
* Update dependency eslint to v8.26.0

* update eslint sdk as well

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-11-01 14:55:41 +00:00
dependabot[bot] f6376ead29 Bump actions/stale from 5 to 6 (#57864)
Bumps [actions/stale](https://github.com/actions/stale) from 5 to 6.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/stale
  dependency-type: direct:production
  update-type: version-update:semver-major
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-01 14:46:04 +00:00
dependabot[bot] 86d7542234 Bump actions/setup-node from 3.4.0 to 3.5.1 (#57865)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3.4.0 to 3.5.1.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v3.4.0...v3.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>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-01 14:44:37 +00:00
Santiago a3f828de8a Alerting: Fix flaky test in notifiers (#57927)
* Alerting: Fix flaky test in notifiers

* remove TODO comment
2022-11-01 11:39:14 -03:00
Ashley Harrison e5c68f40c2 Accessibility: enable rule jsx-a11y/label-has-associated-control (#57964)
* use labels correctly

* fix opentsdb labels

* fix unit tests

* use aria-label instead of data-testid
2022-11-01 14:37:58 +00:00
dependabot[bot] 3770f4f2b7 Bump slackapi/slack-github-action from 1.14.0 to 1.23.0 (#56836)
Bumps [slackapi/slack-github-action](https://github.com/slackapi/slack-github-action) from 1.14.0 to 1.23.0.
- [Release notes](https://github.com/slackapi/slack-github-action/releases)
- [Commits](https://github.com/slackapi/slack-github-action/compare/v1.14.0...v1.23.0)

---
updated-dependencies:
- dependency-name: slackapi/slack-github-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-01 14:36:40 +00:00
renovate[bot] c9104c97a8 Update dependency eslint-plugin-jsdoc to v39.4.0 (#57987)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-01 14:34:23 +00:00
dependabot[bot] 28fc518ec8 Bump actions/cache from 2.1.7 to 3.0.10 (#56218)
Bumps [actions/cache](https://github.com/actions/cache) from 2.1.7 to 3.0.10.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v2.1.7...v3.0.10)

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

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-01 14:28:52 +00:00
renovate[bot] 5b43ca7d7d Update dependency @visx/tooltip to v2.16.0 (#57980)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-01 14:19:29 +00:00
unknowndevQwQ 6dd3584f77 Server: Make unix socket permission configurable (#52944) 2022-11-01 15:04:01 +01:00
renovate[bot] 44069b64cd Update React Aria (#57975)
* Update React Aria

* fix unit tests

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-11-01 13:36:00 +00:00
Dimitris Sotirakis 57ee0e4a4b CI: Use full dockerhub repository name (#57979)
* Add full dockerhub repo name

* Update grabpl version
2022-11-01 15:33:16 +02:00
renovate[bot] 9fa2da2724 Update dependency core-js to v3.26.0 (#57981)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-01 13:25:26 +00:00
Grafana I18n Bot b30a0887bd I18n: Crowdin sync (#57978)
* Update source file grafana.json

* New translations grafana.json (French)

* New translations grafana.json (Spanish)

* New translations grafana.json (German)

* New translations grafana.json (Chinese Simplified)
2022-11-01 13:07:06 +00:00
renovate[bot] 511be7d35f Update dependency @react-types/shared to v3.15.0 (#57970)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-01 13:01:35 +00:00
renovate[bot] deef046626 Update dependency @rushstack/ts-command-line to v4.13.0 (#57972)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-01 12:23:45 +00:00
renovate[bot] 1b8409dff8 Update Moveable (#57967)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-01 12:11:20 +00:00
Petr Stupka e99f75f0ca Alerting: Linking external images securely - Azure Blob (#1) (#56598) 2022-11-01 13:02:17 +01:00
Carl Bergquist 3188af9be3 metrics: expose when the binary was built as an gauge (#57951)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2022-11-01 13:00:47 +01:00
Ashley Harrison cff6d1cf8b Chore: group some packages to reduce number of PRs (#57912)
* group some packages to reduce number of PRs

* Group slate + slate-react together

* kick drone
2022-11-01 11:52:17 +00:00
Josh Hunt 2de6cd0692 Chore: Stories for Select performance (#57965)
* user essentials mob! 🔱

* user essentials mob! 🔱

lastFile:packages/grafana-ui/src/components/Select/SelectPerf.story.internal.tsx

* user essentials mob! 🔱

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-11-01 11:51:53 +00:00
Marcus Andersson 5c30b0cca1 Chore: update latest.json to 9.2.3 (#57960) 2022-11-01 07:01:37 -04:00
Grot (@grafanabot) 02add89b53 Changelog: Updated changelog for 9.2.3 (#57955) 2022-11-01 11:32:34 +01:00
Andrej Ocenas dfb75815b1 Profiling: Add docs for Parca and Phlare (#57833)
* Add docs for Parca and Phlare

* Add feature toggle note

* Wording fixes

* Update images and some links

* Update links
2022-11-01 11:14:36 +01:00
Joey Tawadrous 00ebd7a983 FlameGraph: Add docs for flame graph (#57834)
* Flame graph docs

* Remove aliases

* Add flame graph to viz page

* Update text

* Update feature toggle text

* Update docs/sources/panels-visualizations/visualizations/flame-graph/index.md

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>

* Update docs/sources/panels-visualizations/visualizations/flame-graph/index.md

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>

* Update docs/sources/panels-visualizations/visualizations/flame-graph/index.md

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>

* Update docs/sources/panels-visualizations/visualizations/flame-graph/index.md

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>

* Update docs/sources/panels-visualizations/visualizations/flame-graph/index.md

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>

* Update docs/sources/panels-visualizations/visualizations/flame-graph/index.md

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>

* Update docs/sources/panels-visualizations/visualizations/flame-graph/index.md

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>

* Update links

* Remove heading

* Update docs/sources/panels-visualizations/visualizations/flame-graph/index.md

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>

* Update docs/sources/panels-visualizations/visualizations/flame-graph/index.md

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>

* Update docs/sources/panels-visualizations/visualizations/flame-graph/index.md

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>

* Update docs/sources/panels-visualizations/visualizations/flame-graph/index.md

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>

* Update docs/sources/panels-visualizations/visualizations/flame-graph/index.md

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>

* Update docs/sources/panels-visualizations/visualizations/flame-graph/index.md

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>

* Update text

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>
2022-11-01 09:51:58 +00:00
Torkel Ödegaard 3991be4c1d Search: Fixes searching by current folder when opened by clicking dashboard folder name (#57716)
* Search: Read from url on mount no on app boot

* Fixed tests

* Remove unused type
2022-11-01 10:11:42 +01:00
Lion Ralfs 1f7c84f125 CloudWatch: Fix all-log-groups endpoint when called without logGroupNamePrefix (#57483) 2022-11-01 08:50:04 +01:00
Dimitris Sotirakis 1eaf7cbfc0 Add GCP_KEY to publish-grafanacom step (#57910) 2022-11-01 09:41:15 +02:00
Leon Sorokin 45234e76eb TimeSeries: Render null-bounded points at data edges (#57798) 2022-10-31 17:50:43 -05:00
Leon Sorokin fbfd0fd51b BarChart: Fix stacked hover (#57711) 2022-10-31 16:48:21 -05:00
Christopher Moyer 6aa3003a54 removes CTAs (#57931) 2022-10-31 16:24:51 -05:00
juanicabanas 48120f2594 PublicDashboards: Delete public dashboard in public dashboard table (#57766)
PublicDashboards: delete button added in public dashboard table in order to delete a public dashboard.

Co-authored-by: Jeff Levin <jeff@levinology.com>
2022-10-31 17:16:07 -04:00
Ryan McKinley 6e3a6cce61 Storage: move http wrapper into its own subpackage (#57929) 2022-10-31 13:37:05 -07:00
Gilles De Mey 6d2dced218 Alerting: fix filtering in notification policies (#57824) 2022-10-31 13:11:29 -04:00
George Robinson b0a927b138 Alerting: Add debug logs in validateAndGetPrefix (#57002) 2022-10-31 16:40:28 +00:00
Alexander Weaver 0dfd78c88c Attempt to preserve UID from migrated channel (#57639) 2022-10-31 11:29:07 -05:00
renovate[bot] 96c3a8339e Update dependency @leeoniya/ufuzzy to v0.8.0 (#57894)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-31 09:45:46 -06:00
Ryan McKinley 9149544086 Store: Add SQL tables for SQL based object store (dev mode only) (#57785) 2022-10-31 11:28:19 -04:00
Jo 07991c76fe Doc: Fix wrong default callback URL (#57908)
* doc: fix wrong default callback URL

* doc: fix gitlab typos
2022-10-31 16:13:27 +01:00
Konrad Lalik a59dc8b7ad Alerting: Query time logging (#57585) 2022-10-31 15:55:47 +01:00
Ieva 5c1a1c8318 change json command parameter names from userID to userId and teamID to teamId (#57902) 2022-10-31 14:32:28 +00:00
Ryan McKinley 3527cad9dc Store: protobuf based GRN/identifier (#57714) 2022-10-31 07:26:16 -07:00
Ezequiel Victorero 46093c1267 PublicDashboards: do not return errors when resource not found from store layer (#57838) 2022-10-31 11:22:27 -03:00
Torkel Ödegaard f0ab4bea8c Scene: SceneObject and SceneObjectBase refinements and stricter typing (#57851) 2022-10-31 15:16:16 +01:00
Joan López de la Franca Beltran 0864994bcb Docs: Update Auditing docs (#57867)
* Docs: Update Auditing docs

* Update docs/sources/setup-grafana/configure-grafana/enterprise-configuration/index.md

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2022-10-31 14:53:46 +01:00
Andres Martinez Gotor 9391a8ab9b Google Cloud Monitoring: Set frame interval to draw null values (#57768) 2022-10-31 14:48:32 +01:00
Sonia Aguilar 30cb04f205 Alerting: move alert rule View/Edit/Delete action buttons to collapsed row (#57687)
* Move view edit and delete buttons to RulesTable

* Move tests for edit and delete buttons to a new test file for RulesTable

* Action buttons: Only show icon for non large screens, and add a Tooltip

* Remove buttons moved from the RuleDetailsActionButtons component

* Fix horizontal aligment for icons for non large devices
2022-10-31 14:42:09 +01:00
Andres Martinez Gotor ce38840f29 Google Cloud Monitoring: Ensure selectors fit in the screen (#57817) 2022-10-31 12:52:25 +01:00
Ieva 2546437e20 add an endpoint for updating several managed permissions with one call (#57893) 2022-10-31 11:46:58 +00:00
Josh Hunt fd5c147574 Chore: Update footer changelog link to github (#57871) 2022-10-31 07:34:21 -04:00
renovate[bot] 2417b9151c Update dependency @cypress/webpack-preprocessor to v5.15.0 (#57873)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-31 11:28:39 +00:00
xiyu95 77be89eb1c Tempo: Fix dropdown issue on tag field focus (#57616) 2022-10-31 11:35:38 +01:00
Ieva 7e62352aea Access Control: documentation for RBAC provisioning with Terraform (#57747)
* add docs for RBAC provisioning with Terraform

* remove unnecessary bit

* shuffle the structure around, as docs can't go more than four levels deep

* Update index.md

* Update index.md
2022-10-31 06:32:32 -04:00
Erik Sundell 92ed9a4f2f CloudWatch: Fix broken test (#57879)
* mock date.now

* fix broken test
2022-10-31 06:26:43 -04:00
Torkel Ödegaard 19b961465c TopNav: Make it possible to to have sections without children (#57815) 2022-10-31 11:01:34 +01:00
renovate[bot] 656f159ae9 Update babel monorepo (#57665)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-31 09:25:01 +00:00
Karl Persson 052d1426f9 Oauth: Display friendly error message when role_attribute_strict=true and no valid role found (#57818)
* Oauth: change error type to a struct that unwraps into a social error

* Oauth: Handle empty role in error and fix unwrap

* Oauth: provide more informatio in error

* Oauth: return InvalidBasicRoleError

* Oauth: Fix tests

* Login: Remove casing

* Oath: Change to warning logs
2022-10-31 09:11:31 +01:00
Joe Blubaugh 89d917b196 Docs: Add information about DB version support to upgrade guide. (#57643)
In v9.2 Grafana added an official DB version support policy. That change
is now noted in the upgrade guide.
2022-10-31 15:23:51 +08:00
Jo 61774ae7f1 Docs: Add keycloak oauth setup guide (#57685)
* use scopes for generic_oauth devenv. Support refresh_tokens

* add keycloak section

* add teamsync support to oauth devenv

* Add keycloak guide

* Upgrade keycloak to version 19

* Update devenv/docker/blocks/auth/oauth/readme.md

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>

* feedback

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

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2022-10-28 17:57:56 -04:00
Karl Persson 1cc6dde836 GenericOauth: Only fetch user data from api if api_url is configured (#57827) 2022-10-28 21:44:09 +00:00
Virginia Cepeda c73b499ec5 [Alerting] Avoid invalid characters in copied rule expression (#57839)
* Avoid copying UTF8 BOM chars in rule expression

* Add comment
2022-10-28 15:40:55 -03:00
idafurjes d7bee33398 Add implementation for Create and GetParents of foder store (#57829)
* Add Move implementation

* Remove Move from store

* Add Create and GetParents implementation for folder store
2022-10-28 20:07:25 +02:00
Esteban Beltran 4abf4d90b4 Toolkit: Deprecate plugin:github-publish command (#57726)
* Toolkit: Deprecate `plugin:github-publish` command

* Remove wrong console log message

* Update link to recommended workflows
2022-10-28 19:44:59 +02:00
Adela Almasan a5c492b033 Canvas: Add tabs to inline editor (#57778) 2022-10-28 13:36:19 -04:00
Yuriy Tseretyan 3294918e9f Alerting: Update state manager to support nil stores and metrics (#57791) 2022-10-28 13:10:28 -04:00
Yuriy Tseretyan d848cc629b Alerting: Refactor rule interval validation to be reusable (#57792) 2022-10-28 14:40:11 +00:00
kay delaney e4d1d8d70c Dashboards: Add workaround for react-grid-layout rearrange bug (#57832) 2022-10-28 15:36:37 +01:00
Yuriy Tseretyan fa043efb2c Fix: correctly close trace span in Prometheus and Loki data sources (#57774)
* rename span for loki
2022-10-28 10:17:56 -04:00
Kyle Brandt 6126f56ef0 Prometheus: Do not drop errors in streaming parser (#57698)
- Fixes #57692
- and also takes care of #42776 when using the streaming parser, not an ideal fix for #42776 but makes explore work better I think. https://github.com/grafana/grafana/issues/57365 might be a better longer term solution
2022-10-28 10:11:06 -04:00
Shirley c2e9e797b3 CloudWatch: fix non-deterministic test (#57831) 2022-10-28 10:05:55 -04:00
idafurjes 6b483a8dca Add implementation for folder store methods (#57700)
* Add implementation for folder store methods

* Add Move implementation

* Add back comment and fix query

* Remove Move from store

* Adjust GetChildren

* Fix errutil error declaration and usage

* Add org id to get children query
2022-10-28 15:35:49 +02:00
Kyle Brandt 2cd9cbd359 Prometheus: Chore - Remove incorrect FrameType from exemplar frame (#57695) 2022-10-28 09:15:01 -04:00
Kristin Laemmert 6a6fdbc1f9 chore: updates to the new folder model (#57776) 2022-10-28 08:23:39 -04:00
Christopher Moyer b9a0576638 docs: Refactors remaining enterprise topics, corrects relrefs (#57707)
* moves topics, correct relrefs

* Update docs/sources/dashboards/create-reports/index.md

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>

* Update docs/sources/administration/data-source-management/index.md

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>

* Update docs/sources/setup-grafana/configure-security/audit-grafana.md

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>

* Update docs/sources/setup-grafana/configure-security/configure-request-security.md

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>

* Update docs/sources/setup-grafana/configure-security/configure-team-sync.md

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>

* Update docs/sources/administration/data-source-management/index.md

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>

* Update docs/sources/dashboards/create-reports/index.md

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>

* Update docs/sources/dashboards/create-reports/index.md

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>

* Update docs/sources/administration/recorded-queries/index.md

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>

* Update docs/sources/dashboards/create-reports/index.md

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>

* Update docs/sources/dashboards/create-reports/index.md

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>

* Update docs/sources/dashboards/create-reports/index.md

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>

* Update docs/sources/dashboards/create-reports/index.md

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>

* Update docs/sources/dashboards/create-reports/index.md

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>

* Update docs/sources/dashboards/create-reports/index.md

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>

* Update docs/sources/dashboards/create-reports/index.md

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>

* removes link that goes nowhere

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>
2022-10-28 07:13:40 -05:00
brendamuir f34dd29ac4 Docs: adds view notification errors topic (#57820) 2022-10-28 12:44:23 +01:00
Armand Grillet ee7adc081b Remove Sensu from docs (#57812)
We do not support Sensu in Grafana Alerting, only Sensu Go.
2022-10-28 12:40:46 +01:00
Andrej Ocenas 0845ac2f53 Profiling: Add Phlare and Parca datasources (#57809)
* Add phlare datasource

* Rename

* Add parca

* Add self field to parca

* Make sure phlare works with add to dashboard flow

* Add profiling category and hide behind feature flag

* Update description and logos

* Update phlare icon

* Cleanup logging

* Clean up logging

* Fix for shift+enter

* onRunQuery to set label

* Update type naming

* Fix lint

* Fix test and quality issues

Co-authored-by: Joey Tawadrous <joey.tawadrous@grafana.com>
2022-10-28 13:33:37 +02:00
brendamuir 1d53a6f57e Docs: Change GA to Alerting (#57811)
* Docs: Change GA to Alerting

* typos
2022-10-28 10:28:02 +01:00
Kevin Minehart fd16cad7da Only provide version ot build-frontend-packages if it's a valid semver (has 2 digits) (#57808) 2022-10-28 05:04:59 -04:00
brendamuir 5edd511461 Docs: fixes alerting links (#57805)
* Docs: fixes alerting links

* fixes grafana relrefs to alerting

* changing GA to Alerting
2022-10-28 10:01:43 +01:00
brendamuir f9d2801249 Docs: alerting refactor (#57804)
* Docs: alerting refactor

* fixes broken relrefs
2022-10-28 09:58:39 +02:00
Victor Marin 953fdfe76f TimeseriesPanel: Fill below to override works with name override (#57728) 2022-10-28 09:27:54 +03:00
Jeff Levin bf672f960a public dashboards: rename api functions (#57789)
This PR imposes better naming conventions on public dashboards api

* rename api functions and remove use of _config_ noun

* fix tests

Co-authored-by: Ezequiel Victorero <ezequiel.victorero@grafana.com>
2022-10-27 17:08:11 -08:00
Jeff Levin 6b7d6fe0cb public dashboards: rename route paths (#57787)
This PR fixes the naming of routes for public dashboards to be more accurate and descriptive.

Co-authored-by: Ezequiel Victorero <ezequiel.victorero@grafana.com>
2022-10-27 14:41:56 -08:00
Leon Sorokin 7d020d3f6e Candlestick: Maintain candle width at different display resolutions (#57709) 2022-10-27 17:36:59 -05:00
Drew Slobodnjak cf4c0a5db4 Canvas: Minor fixes for canvas gdev dashboard (#57781) 2022-10-27 15:02:40 -07:00
Alex Moreno c08c14f8dd Alerting: Add custom title to pushover contact point (#57530)
* Add custom title to pushover contact point

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

Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>

* Use simplejson

* Use more verbose variable names

Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>
2022-10-27 19:07:01 +02:00
Will Browne 9f77bd4728 Plugins: Use public store instead of internal registry (#57631)
* Plugins: Use public store instead of internal registry

* update comments

* fix import

* fix test
2022-10-27 18:44:28 +02:00
Yuriy Tseretyan facf2b1ee8 Chore: Update prometheus, loki, graphite and influx plugins to support contextual logs. (#57708) 2022-10-27 12:05:06 -04:00
yinjialu 9aac0d32f9 Prometheus: fix Raw query is not updated when label op change. (#57492) (#57493) 2022-10-27 18:00:14 +02:00
Selene bff9671b81 Rendering: Check timeout error when the request failed (#57654)
* Check timeout error when the request failed

* Update error and check

* Uses errors.As to fix the lint
2022-10-27 17:27:03 +02:00
Gilles De Mey 2a36301817 Alerting: Fall back to "range" query type for unified alerting when "both" is specified (#57288) 2022-10-27 17:22:23 +02:00
Artur Wierzbicki 616db7f68b Storage: k6 tests (#57496)
* object store k6

* update script

* refactor

* rename scripts

* fix paths

* fixes

* fix client - check connected state

* add teardown timeout

* rename to grpc object store client

* fail if health check fails

* abort rather than fail

* stale import

* create `run.sh`

* adjust for dummy server

* fix mkdir

* clean up dependencies

* remove name and version

* bring back name and version!

* remove clean webpackk plugin

* remove copy plugin

* update yarn lock

* remove stale import

* update yarn lock

* move perf tests to devenv/docker/loadtest-ts

* add codeownres
2022-10-27 23:22:04 +08:00
Alex Moreno 10fdfa8583 Alerting: Change handling of settings to pagerduty contact point (#57524)
* Add custom title to pagerduty contact point

* Fix tests by saving decrypted key

* Use simplejson
2022-10-27 16:20:10 +02:00
Alex Moreno f8d12af021 Add custom title to googlechet contact point (#57517)
* Add custom title to googlechet contact point

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

Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>

* Use simplejson

Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>
2022-10-27 16:19:48 +02:00
Sofia Papagiannaki 40a59c2793 Chore: Update developer guide for running integration tests (#57758) 2022-10-27 17:18:20 +03:00
Alex Moreno 3d437117ad Alerting: Add custom title to discord contact point (#57506)
* Add custom title to discord contact point

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

Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>

* Use simplejson

Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>
2022-10-27 16:17:18 +02:00
Alex Moreno 1ab0af1eb2 Alerting: Add custom title to DingDing contact point (#57498)
* Add custom title to DingDing contact point

* Update pkg/services/ngalert/notifier/channels_config/available_channels.go

Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>

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

Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>

* Add error checking before URL templating

* Remove comment

* Use simplejson

Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>
2022-10-27 16:16:36 +02:00
Alex Moreno fb62660df7 Alerting: Add title and description to VictorOps contact point (#57458)
* Add title and description to VictorOps contact point

* Update pkg/services/ngalert/notifier/channels_config/available_channels.go

Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>

Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>
2022-10-27 16:12:14 +02:00
Alex Moreno 73a9e2a115 Add title and description to Threema contact point (#57429) 2022-10-27 16:11:38 +02:00
Jo cae900c6f9 fix GF_AUTH_JWT_URL_LOGIN not working (#57689) 2022-10-27 15:57:01 +02:00
Gabriel MABILLE 4d380978d3 Fix: Unlock new button based on user permissions (#57733) 2022-10-27 15:48:07 +02:00
Alex Moreno 6839154720 Alerting: Add missing custom title and description to Line contact point (#57388)
* Add title and description to Line receiver

* Fix labal names for LINE contact point
2022-10-27 15:27:04 +02:00
Alex Moreno 1dcc432537 Alerting: Add missing custom title and description fields in Kafka contact point (#57361)
* Add description and details to Kafka notifier

* Fixed testing and add new logic testing

* Add proper description to kafka contact point UI

* Update pkg/services/ngalert/notifier/channels_config/available_channels.go

Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>

* Update pkg/services/ngalert/notifier/channels_config/available_channels.go

Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>

Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>
2022-10-27 15:25:54 +02:00
Esteban Beltran 91ee5fec14 Toolkit: Deprecate plugin:update-circleci command (#57743) 2022-10-27 15:05:32 +02:00
brendamuir 998093a280 Docs: more refactoring for alerting (#57741)
* docs: more refactoring alerting

* performance limitations

* typo

* fix relrefs
2022-10-27 13:21:02 +01:00
Shirley 96beb3a3f1 Cloudwatch: refactor parsing metric data queries (#57624) 2022-10-27 14:10:49 +02:00
Esteban Beltran b4633fc516 Toolkit: Deprecate plugin:bundle-managed command and move its functionality to a bash script. (#57719)
* Toolkit: Deprecate `plugin:bundle-managed` command

* Replace yarn script with bash command
2022-10-27 13:15:45 +02:00
Gareth Dawson 8b44ca1b0c Loki: Add devenv dashboard (#57519)
* Add loki devenv dashboard

* remove dashboard auto refresh

* set time range to 5m for timeseries graph

* add adhoc filters

* override with new export

* Chore: run stripnulls script

Co-authored-by: Matias Chomicki <matyax@gmail.com>
2022-10-27 12:07:20 +01:00
brendamuir 279ac50d59 Docs: refactors notifications in alerting (#57734)
* Refactors noticifacations section

* adds hover over error icon detail
2022-10-27 11:19:03 +01:00
idafurjes 50fb47dba0 Chore: Remove methods from sqlstore (#57545)
* Remove methods from sqlstore

* Remove commented out code

* Remove GetUserById from tests

* Adjust fake for get user profile

* Adjust test

* Adjust go mod files

* Try fix test

* Test adjustment

* Adjust test 2

* Remove commented out code
2022-10-27 11:44:09 +02:00
Pepe Fagoaga 1340c2c358 docs(config): Include admin_email documentation (#55789) 2022-10-27 10:15:14 +02:00
Artur Wierzbicki 1df8a85a42 Search: load dashboard performance improvements (#57509)
* fix windows storage init

* fixxx

* close session asap

* fix span end

* error handling

* add comment

* simplify

* simplify

* fix limit

* pass readDashboardCtx to summary builder

* add string slice validation
2022-10-27 14:52:42 +08:00
Santiago cdb5d4230a Alerting: Fix "Not Implemented" responses (#57710)
* fix swagger spec, return 404 instead of 501 when an endpoint does not exist

* update number of paths in authorization_test.go
2022-10-26 23:35:52 -03:00
Yuriy Tseretyan 0a4121cef8 Alerting: Contextual log provider for rule key (#57476)
* create contextual log context provider
* use contextual provider in scheduler
* init logger in the package
* use context for log context
* use context in state manager
2022-10-26 19:16:02 -04:00
Brendan O'Handley 59ffd9571e Transformations : Add partition by values to transformation docs (#57697)
* add partition by values to tranformation docs

* Update docs/sources/panels-visualizations/query-transform-data/transform-data/index.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/panels-visualizations/query-transform-data/transform-data/index.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/panels-visualizations/query-transform-data/transform-data/index.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/panels-visualizations/query-transform-data/transform-data/index.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* include leon's suggestions

* include leon's suggestions

* Update docs/sources/panels-visualizations/query-transform-data/transform-data/index.md

* Update docs/sources/panels-visualizations/query-transform-data/transform-data/index.md

* Update docs/sources/panels-visualizations/query-transform-data/transform-data/index.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-10-26 19:01:45 -04:00
Ryan McKinley 7346280316 LibraryPanels: Load library panels in the frontend rather than the backend (#50560)
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-10-26 15:38:20 -07:00
Garrett Guillotte 0db946977b Docs: Reassign docs ownership (#57701) 2022-10-26 15:20:25 -07:00
Yuriy Tseretyan 2d20c8db7b Chore: Expression engine to support relative time range (#57474)
* make TimeRange interface and add relative range
* make Execute methods support the current time
* update resample to support relative time range
* update DSNode to support relative time range
* update query service to create queries with absolute time
* make alerting evaluator create relative time ranges
2022-10-26 16:13:58 -04:00
brendamuir 596b4fecb0 Docs: Refactors notifications in alerting (#57653)
* Refactors notifications in alerting

* Fixes broken links

* adds headings

* fixes broken links

* Adds line space and intro sentences
2022-10-26 19:07:49 +01:00
Ezequiel Victorero 7b819284c1 PublicDashboards: use orgId when querying dashboards (#57696) 2022-10-26 14:49:43 -03:00
Kyle Brandt dfdc9bcbc1 Docs: (Whats new 9.2) Prom Stream Parser (#57603)
* Docs: (Whats new 9.2) Prom Stream Parser

* Update docs/sources/whatsnew/whats-new-in-v9-2.md

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>
2022-10-26 12:37:27 -04:00
Ezequiel Victorero fe9c0c881e PublicDashboards: remove function with business logic from database layer and use it at service layer (#57684) 2022-10-26 12:53:33 -03:00
Kristin Laemmert 6c982e5b71 some file moving and struct renaming (#57686) 2022-10-26 11:52:01 -04:00
Selene 8917bd57e6 Clarify that audit logs are generated only for API requests (#57521) 2022-10-26 17:08:21 +02:00
Emil Tullstedt 1e2b7c5368 Errors: Add HTTP writer for errutil.Error (#57661) 2022-10-26 16:57:53 +02:00
kay delaney 05872283b5 ServiceAccounts: Wrap ServiceAccountPage route in dynamic import (#57669) 2022-10-26 15:54:28 +01:00
Kristin Laemmert b346ae0310 feat: add new Folder table migration & define nested folder interfaces (#56882)
* feat: add new Folder table migration

Add a new folder table to support the Nested Folders feature.

https://github.com/grafana/grafana/issues/56880

* register nested folders feature flag (unused)

* feat: nested folder service (experiment)

This commit adds a NestedFolderSvc interface and stubbed out implementation as an alternative to the existing folder service. This is an experimental feature to try out different methods for backwards compatibility and parallelization, so that Grafana can continue to store folders in the existing (non-nested) manner while also using the new nested folder service.

Eventually the new service will (hopefully) become _the_ service, at which point the legacy service can be deprecated (or remain, with the new service methods replacing the original. whatever makes sense at the time).


* nested folders: don't run the new migration

This commit removes the nested folder migration from the list of active migrations so we can merge this branch and continue development without impacting Grafana instances built off main.
2022-10-26 10:15:14 -04:00
Erik Sundell 237ff2699d CloudWatch: Refactor metrics resource request frontend (#57602)
* refactor metric resource request frontend

* remove dupe interface
2022-10-26 15:59:26 +02:00
Erik Sundell 94aa090fb0 Cloudwatch: Refactor namespaces resource request (#57590)
* add route tests

* remove not used method

* pr feedback

* change variable name
2022-10-26 15:54:23 +02:00
Matias Chomicki c8689fd591 Loki Monaco Editor: grab operator documentation from the operations module (#57525)
* feat(loki-operations): add method to resolve operation docs

* feat(loki-operations): read operation and strip markdown links

* feat(loki-monaco-editor): read parser docs from operations

* feat(loki-monaco-editor): grab docs for more operations

* Chore: update completions test

* Chore: add tests for the operations module

* Chore: fix typo

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

* Chore: fix typo

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

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2022-10-26 15:44:44 +02:00
juanicabanas e81ce1dae7 PublicDashboards: Fix GET public dashboard that doesn't match
PublicDashboards: Fix GET public dashboard that doesn't match
2022-10-26 09:25:24 -04:00
kay delaney 05ceff5188 Chore: Migrate usage of v1 themes to v2 (#57617) 2022-10-26 13:28:12 +01:00
Jo 77437f2c89 Add multi-auth devenv (#57609)
* add authentik devenv

* remove direct dependency on spew

* use cn

* add authentik instructions

* add backup instructions
2022-10-26 13:46:50 +02:00
Ieva 92531c5596 move data source permission model to enterprise repo (#57615) 2022-10-26 11:49:45 +01:00
Esteban Beltran 987d4fd459 Toolkit: Deprecate and replace toolkit:build with plain yarn scripts (#57620)
* Toolkit: Deprecate and replace toolkit:build with plain yarn scripts

* Remove "generated" from copied files in the script
2022-10-26 10:11:15 +02:00
Esteban Beltran cbe7fe3d8d Toolkit: Deprecate searchTestData command (#57589) 2022-10-26 08:54:51 +02:00
Ryan McKinley a3acfb1a48 Chore: Register a feature flag for "newDBLibrary" (#57468) 2022-10-25 18:20:41 -07:00
Ezequiel Victorero 860380d893 PublicDashboards: refactor following naming convention for services (#57625) 2022-10-25 21:40:42 -03:00
Michael Mandrus 5879805e4b PublicDashboards: Fix unsafe code snippets (#57641)
* return an error if we can't extract queries from a panel

* check for null or undefined
2022-10-25 20:16:10 -04:00
Ryan McKinley e6575bab76 Playlist: allow using object store as the backend (#57467) 2022-10-25 16:51:01 -07:00
Artur Wierzbicki 6abd4cd8e8 Chore: pointerify dummy server (#57640) 2022-10-25 19:27:31 -04:00
owensmallwood b5f1876ba3 PublicDashboards: Update docs with supported datasources (#57629)
Updates public dashboards docs with compatible datasources
2022-10-25 17:06:02 -06:00
kay delaney b49713d323 Chore: Remove unused files (#57515) 2022-10-25 23:34:53 +01:00
Beto Muniz 069a4cb21b Fix orderFieldsTransformer sorting (#57635) 2022-10-25 17:48:14 -03:00
Ezequiel Victorero c5e420a94c PublicDashboards: move methods from store to service (#57599) 2022-10-25 16:29:18 -03:00
Galen Kistler c27aac0d38 Prometheus query builder: Replace select with AsyncSelect to support high cardinality prometheus instances (#57300)
* Replace current select with AsyncSelect component to facilitate autocomplete via prometheus server instead of client application
Co-authored-by: Kyle Brandt <kyle@grafana.com>
2022-10-25 13:05:21 -05:00
Andrej Ocenas 82d79780d8 Flamegraph: Fix vertical offset (#57618) 2022-10-25 17:55:49 +02:00
Gilles De Mey 8788f7d2d8 Alerting: Always allow configuring AM configuration (#57522) 2022-10-25 16:52:11 +02:00
Gilles De Mey 7414ba7279 Expressions: make reduce inputs compacter (#56404) 2022-10-25 16:28:11 +02:00
Shirley 76a3a1eda7 CloudWatch: migrate tests to metrics data query request parsing level, add tests (#57431) 2022-10-25 15:53:54 +02:00
Virginia Cepeda 9eae793b5d Alerting: Remove the alert manager selection from the data source configuration (#57369)
* Remove alertmanager dropdown from datasource config

* Avoid sending alertmanagers from loki/prom config editors

* Add test

* Remove unneeded param
2022-10-25 10:53:20 -03:00
Artur Wierzbicki a63c529ad1 Chore: add query_retries=3 to querylibrary_integration_test.go (#57607) 2022-10-25 09:52:56 -04:00
Matias Chomicki cc820062c6 Chore: update latest.json to 9.2.2 (#57608) 2022-10-25 13:39:23 +00:00
brendamuir 58b15f3e54 Adds information on what's new label to PR template (#57594) 2022-10-25 14:25:41 +01:00
Kristin Laemmert 225ed4cc0a GRN parsing service (#56750)
* GRN parsing service
* move GRN package into infra and update fields
* remove orgID from GRNs (collapse into tenantID)
2022-10-25 09:07:24 -04:00
Erik Sundell 5daa87d7a1 Cloudwatch: Remove unused code (#57593)
* remove not used code and refactor check health

* fix broken test

* remove not used variable
2022-10-25 15:03:51 +02:00
Esteban Beltran 8d42e1b169 Toolkit: Deprecate node-version-check command (#57591)
* Toolkit: Deprecate node-version-check command

* Do not check for nodejs version on frontend-test
2022-10-25 14:53:53 +02:00
Grot (@grafanabot) f64b0e1fae Changelog: Updated changelog for 9.2.2 (#57601) 2022-10-25 14:36:46 +02:00
Erik Sundell 4c654ddb76 Cloudwatch: Refactor metrics resource request (#57424)
* refactor metrics request

* Update pkg/tsdb/cloudwatch/routes/dimension_keys_test.go

Co-authored-by: Shirley <4163034+fridgepoet@users.noreply.github.com>

* return metric struct value intead of pointer

* make it possible to test hard coded metrics service

* test all paths in route

* fix broken test

* fix one more broken test

* add integration test

Co-authored-by: Shirley <4163034+fridgepoet@users.noreply.github.com>
2022-10-25 14:00:54 +02:00
Todd Treece 53d7404e2b Chore: Add appcontext.WithUser and appcontext.User (#57534) 2022-10-25 07:51:24 -04:00
sh0rez beaaabd770 live: explicitely reply with http 200 (#57428)
`pkg/web` triggers a panic when a http handler chain does not return any
response to the client.
This has been put in place, because it usually means a middleware along
the way did not call the next one.

In this specific case however, the handlers meant to return 200, but did
not do so explicitely, instead relying on the default behavior of `net/http`
2022-10-25 11:45:54 +02:00
Jack Westbrook 588e64d9f5 Chore: Fix vulnerabilities in webpack loader-utils (#57533)
* chore: remove unused webpack loaders from core and toolkit

* chore: refresh yarn.lock file

* chore(yarn): refresh lock file for loader-utils update to 2.0.3

* chore: force ngtemplate-loader to use loader-utils@2.0.3

* chore(e2e): bump ts-loader@8.4.0 for loader-utils@2.0.3

* chore(yarn): remove unused packageExtensions

* chore(storybook): force unused webpack deps to v5. force plugins and loaders for loader-utils@2.0.3

* chore(storybook): update config for type changes from webpack v4 to v5
2022-10-25 11:37:41 +02:00
Joey Tawadrous 8f75ec4007 Flame Graph: Exact search (#56769)
* Use exact match

* Create searchable FlameGraphPanel.tsx
2022-10-25 10:24:27 +01:00
Karl Persson 7386f8652c RBAC: Improve performance of dashboard filter query (#56813)
* RBAC: Move UserRolesFilter to domain package

* Dashboard Permissions: Rewrite rbac filter to check access in sql

* RBAC: Add break when wildcard is found

* RBAC: Add tests for dashboard filter

* RBAC: Update tests

* RBAC: Cover more test cases

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2022-10-25 11:14:27 +02:00
Ashley Harrison d2a70bc42d Chore: more any/type assertion improvements (#57450)
* more friday any/type assertion improvements

* Apply suggestions from code review

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>

* Update public/app/angular/promiseToDigest.test.ts

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
2022-10-25 11:04:35 +02:00
Erik Sundell 8adbacb18e Cloudwatch: Refactor datasource instance factory method (#57452)
* wip

* fix broken test
2022-10-25 09:52:12 +02:00
Joey Tawadrous d9a6c3f398 FlameGraph: Add newly designed flame graph icon (#57514)
* Add newly designed flame graph icon

* Update expectedListResponse
2022-10-25 07:18:17 +01:00
Victor Marin c30716a073 TablePanel: Fix updating footer values on data change (#57518)
* TablePanel: Fix updating footer values on data change

* tests
2022-10-25 08:32:16 +03:00
Artur Wierzbicki e485ddd13d Store: don't marshall/unmarshall the dashboard when building a summary (#57520)
* dont pretty print the dashboard

* stop marshalling the dashboard

* do not sanitize for searchV2

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-10-25 09:39:17 +08:00
Artur Wierzbicki 749b3b6263 Storage: Fix initialization on windows (#57504) 2022-10-25 09:27:22 +08:00
Nathan Marrs 9d857f4d61 Canvas: Improve resource picker initialization (#57319) 2022-10-24 13:40:28 -07:00
Ryan McKinley 37b011d79e Annotations: Disable "Add annotation" button when annotations are disabled (#57481) 2022-10-24 13:24:33 -07:00
Galen Kistler e59ddd6bc5 Revert "Revert "Prometheus: Provide label values match parameter API when supported prometheus instance is configured (#56510)" (#57551)" (#57553)
This reverts commit e7671bf909.
2022-10-24 15:02:15 -05:00
Galen Kistler f93c3acc51 Prometheus: Flavor/version configuration (#57554)
* Revert "Revert "Prometheus: Type and flavor configuration (#56496)" (#57552)"
This reverts commit 2432ce619a.
* Adds new fields and documentation for Prometheus datasource configuration: prometheus type, and version
2022-10-24 14:53:11 -05:00
Guilherme Caulada cfd9e72da5 Add dashboards to the navtree on public dashboards (#57542) 2022-10-24 16:34:27 -03:00
Erik Sundell c23a7bdcf8 refactoring dimension values frontend req (#57475) 2022-10-24 20:45:02 +02:00
Joan López de la Franca Beltran 5d18b41857 Docs: Database encryption corrections (#57503)
* Docs: Database encryption corrections

* Fix relref links

* Additional corrections
2022-10-24 20:07:32 +02:00
Galen Kistler 2432ce619a Revert "Prometheus: Type and flavor configuration (#56496)" (#57552)
This reverts commit 7ecbc98b3e.
2022-10-24 12:33:11 -05:00
Galen Kistler e7671bf909 Revert "Prometheus: Provide label values match parameter API when supported prometheus instance is configured (#56510)" (#57551)
This reverts commit 3cbbf706cf.
2022-10-24 11:56:49 -05:00
brendamuir e48fac9d91 Proposal for PR template text (#57267)
* Proposal for PR template text

* adds full stop
2022-10-24 16:51:26 +01:00
Zoltán Bedi c0b778134e Revert: Query editor components from grafana-ui (#57436)
* Revert: QueryEditor components from grafana-ui

* Use local version of experimental

* Use experimental for query editor components

* Fix type issues in MSSQL

* point to actual version of experimental package

* point to latest version of experimental

Co-authored-by: Erik Sundell <erik.sundell87@gmail.com>
2022-10-24 17:12:36 +02:00
Galen Kistler 3cbbf706cf Prometheus: Provide label values match parameter API when supported prometheus instance is configured (#56510)
Provide label values API with match parameter when prometheus datasource has configured supported prometheus type and version
2022-10-24 09:47:35 -05:00
Ivana Huckova 3d7439d97d Loki: Fix input history (#57344) 2022-10-24 16:27:56 +02:00
Galen Kistler 7ecbc98b3e Prometheus: Type and flavor configuration (#56496)
* Adding two new fields to the data JSON in the prometheus datasource configuration: prometheusType, and prometheusVersion.
* Version field will attempt to auto-detect via buildinfo API when prometheus Type is selected
2022-10-24 09:26:32 -05:00
Gábor Farkas 8d0e24a622 explore: fix filtering logs-data in table-display (#57356) 2022-10-24 14:18:56 +00:00
Erik Sundell 017da781cf Cloudwatch: Refactor dimension values resource request (#57346)
* refactor dimension values backend

* fix test file name
2022-10-24 15:04:25 +02:00
Shirley 9ebed91eed CloudWatch: Refactor to extract DataQuery grouping by region out of request parsing (#57392)
* CloudWatch: Extract request parsing grouping by region from ParseQueries

* Rename ParseQueries to ParseMetricDataQueries
2022-10-24 14:57:32 +02:00
idafurjes 1bda67ab11 Chore: Delete unused mocks (#57512)
* Chore: Delete unused mocks

* Add back used methods

* Add back used mocks 2

* Add back used mocks 3

* Add back used mocks 4

* Add back the alerting mocks

* Remove mock variables

* Add bacl needed mock var
2022-10-24 14:00:22 +02:00
Karl Persson 78c849ac29 RBAC: Fetch service account permissions in oss (#57343) 2022-10-24 12:11:59 +02:00
Eric Leijonmarck 924d6a82a3 add: postgresql as a database for resolving conflicts (#57466) 2022-10-24 10:59:26 +01:00
Andrej Ocenas 67aa99af78 NodeGraph: Fix rendering issues when values of arc are over 1 (#57460) 2022-10-24 11:28:49 +02:00
Yaelle Chaudy 6ee69853dc Datasource Config Editor: Add event-based funnel for measuring CVR (#55105)
* Added start event on adding new DS from datasources/new page

* Added end event + tests

* revert analytics.ts changes

* revert azure tracking changes

* changed version in doc

* update props name for consistency with plugin-platform PR to come

* Updated tests
2022-10-24 11:09:26 +02:00
Gabriel MABILLE fce0a49284 LDAP: inline toml with devenv (#57499) 2022-10-24 11:01:58 +02:00
Armand Grillet 42871fcb2a Clarify notification policies. (#57465) 2022-10-24 09:46:04 +01:00
Joey Tawadrous 52dbd67a11 Node Graph: Always show context menu (#56876)
* Ensure context menu always appears

* Close the context menu after selecting the alternative layout

Co-authored-by: Hamas Shafiq <hamas.shafiq@grafana.com>
2022-10-24 09:14:42 +01:00
Adela Almasan 73c215ae41 Canvas: Button element (alpha) (#57491) 2022-10-23 20:39:10 -04:00
Artur Wierzbicki 6e3de8d016 gRPC Server: Fix logging unauthenticated request error (#57490) 2022-10-23 03:51:23 +08:00
ismail simsek 4053cbea38 Fix broken image links (#57480) 2022-10-22 09:15:45 -07:00
Leon Sorokin 0640eeef0a Number formatting: only 0-trim decimals in y axis ticks. omit currency, locale units. (#57386) 2022-10-21 21:35:29 -06:00
Leon Sorokin 45707ccf99 TimeSeries: fix negative stacked percent y-axis range (#57470) 2022-10-21 15:45:00 -06:00
Ezequiel Victorero 1f3d34ecda PublicDashboards: service and store methods rename (#57463) 2022-10-21 18:25:20 -03:00
Alexander Weaver de46c1b002 Alerting: Improve logs in state manager and historian (#57374)
* Touch up log statements, fix casing, add and normalize contexts

* Dedicated logger for dashboard resolver

* Avoid injecting logger to historian

* More minor log touch-ups

* Dedicated logger for state manager

* Use rule context in annotation creator

* Rename base logger and avoid redundant contextual loggers
2022-10-21 16:16:51 -05:00
Ryan McKinley 910154c102 ObjectStore: Add folder to kind registry (#57461) 2022-10-21 16:48:32 -04:00
owensmallwood 0b8fb543fc Public Dashboards: Can toggle annotations in modal (#57312)
adds toggle for pubdash annotations
2022-10-21 13:42:14 -06:00
Zoltán Bedi 7f3b567657 TimeSeries: Fix stacking when first value is negative zero (#57257)
* TimeSeries: Fix stacking when first value is negative zero

* More test + refactor
2022-10-21 20:58:23 +02:00
Emil Tullstedt 2c9526fdf7 Docs: Update errors documentation (#57402)
Expand on what a base should represent and update some out of date info.
2022-10-21 20:50:29 +02:00
lean.dev 654db452cd Public Dashboards: Fixing annotations validations for public dashboards (#57455) 2022-10-21 12:06:39 -03:00
Hamas Shafiq 07ac388e8b Tempo: Update the query whenever the value of the TraceQL editor changes (#57199) 2022-10-21 16:01:53 +01:00
Kristina 5d7d54d076 Auth: Write the redirect cookie if denied - do not write a blank redirect (#57381)
* Write the redirect cookie if denied - do not write a blank redirect

* Remove redundant code, reverse polarity
2022-10-21 09:53:17 -05:00
bikashmishra100 98053cfde8 Tempo: Add start time and end time parameters while querying traces (#48068)
* Add start time and end time parameters while querying tempo traces

* Added configurable time shift to query by trace id

* Test that the URL is formatted correctly

* Added test to check for time shift

* Improved label and tooltip of new time shift settings

Co-authored-by: André Pereira <adrapereira@gmail.com>
2022-10-21 15:38:10 +01:00
Yuriy Tseretyan 245c1ee3d3 Chore: Add last downsampling function to Resample expression (#57379) 2022-10-21 10:03:43 -04:00
Sonia Aguilar cd0e0fcc53 fix: add alerting enabled condition FOR adding alerting tab in folder view (#57434) 2022-10-21 15:32:59 +02:00
Sven Grossmann 842b629cd1 use inherited colors on svg (#57427) 2022-10-21 15:24:02 +02:00
Karl Persson d55e5b8862 [main] Login email before username (#57400)
* Swap order of login fields

* Validate email field before validating the username field.

Co-authored-by: linoman <2051016+linoman@users.noreply.github.com>
2022-10-21 15:21:21 +02:00
Ashley Harrison 7e631e7239 A11y: Enable jsx-a11y/interactive-supports-focus (#57391)
* first batch of fixes for interactive-supports-focus

* remove role and aria attributes since this won't be focusable to a screenreader anyway
2022-10-21 13:52:46 +01:00
Beto Muniz 9fb6cdae8a Support resize Flux Query Editor (#57214) 2022-10-21 09:40:09 -03:00
Ezequiel Victorero 5b9959014c PublicDashboards: refactor service (#57372) 2022-10-21 09:37:38 -03:00
Victor Marin f161c5407a OutsideRangePlugin: Exclude leading and trailing null values when checking limits (#57335)
* OutsideRangePlugin: Exclude null limit values from calculation

* refactor

* Update OutsideRangePlugin.tsx

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-10-21 08:33:21 -04:00
Marcus Efraimsson 6f8fcae01b [main] Plugin fixes (#57399)
* Plugins: Remove support for V1 manifests

* Plugins: Make proxy endpoints not leak sensitive HTTP headers

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

(cherry picked from commit 4539c33fce)

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2022-10-21 13:54:55 +02:00
brendamuir af17123b5f Docs: fixes silences typo (#57418) 2022-10-21 12:48:33 +01:00
Josh Hunt e417387bc7 I18n: Add German (#57397) 2022-10-21 11:47:17 +01:00
Josh Hunt fc75076b72 I18n: Show languages in local names (#57367)
* I18n: Show languages in local names

* fixed test
2022-10-21 05:29:03 -04:00
Konrad Lalik 5c710a5590 Alerting: Add Alertmanager choice warning (#55311) 2022-10-21 11:01:07 +02:00
Laura Fernández e402a8f27d A11y: enable rule jsx-a11y/anchor-is-valid (#56690) 2022-10-21 09:13:32 +02:00
Leon Sorokin 7eac79b5f8 Number formatting: Strip trailing zeros after decimal point when decimals=auto (#57373) 2022-10-20 17:56:21 -05:00
Leon Sorokin 883d61d191 Transformers: PartitionByValues (#56767)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-10-20 17:22:02 -05:00
Brendan O'Handley 60b14a2ec2 Opentsdb: Allow template variables for filter keys (#57226)
* allow template variables for filter keys

* add types to interpolate var function
2022-10-20 15:53:29 -05:00
Brendan O'Handley c34c1d0cb4 Graphite: Never escape asPercent function params as string (#56593)
* handle asPercent func by never esc params as string

* add test and clean up
2022-10-20 15:49:40 -05:00
Adela Almasan 5128659d19 Canvas: Improve text element readability (#57371) 2022-10-20 15:01:28 -05:00
lean.dev 552d9d70eb PublicDashboards: Validate access token (#57298)
Adding validation for access token
2022-10-20 16:43:33 -03:00
Alexander Weaver 5ee4744d62 Alerting: Improve operational logs in sender package (#57134)
* Audit logs in sender package

* Fix casing and touch up a few key names

* Avoid logging entire alert struct

* Log configuration ID being applied

* Revert change to errorf rather than log

* Tune levels further and remove some redundancies

* Adjust logger naming and standardize log context

* Adjust logger naming in router

* Move log and get rid of dead error handling code
2022-10-20 14:19:04 -05:00
Yuriy Tseretyan f3c219a980 Alerting: update format of logs in scheduler (#57302)
* Change the severity level of the log messages
2022-10-20 13:43:48 -04:00
Josh Hunt 8cebaf345d User: Fix externalUserId not being populated (#57341) 2022-10-20 18:12:53 +01:00
Sonia Aguilar a61e044d00 Contact points tab: Remove error count in integrations details and show only Error label (#57325) 2022-10-20 18:24:32 +02:00
Sergey Kostrukov 47eb7f785d Use resource call query_result query (#57232) 2022-10-20 09:46:36 -05:00
Hamas Shafiq 84a5ced72a Tempo: Integrate TraceQL API (#56867) 2022-10-20 10:44:59 -04:00
Zoltán Bedi 0232927591 CODEOWNERS: Change owner for DateTimePickers (#57357)
Also remove @jessover9000 as she is not part of grafana anymore 😢
2022-10-20 16:32:48 +02:00
Guilherme Caulada 96a97f9827 Build: Add github release command to build/cmd (#56349)
* Add github release command to build/cmd

* Use go-github library and implement dry-run

* Make tag optional and default to metadata

* Fix minor bug with tag default

* Make some refactors to ease testing

* Add tests for publish github command

* Refactor publish github tests

* Refactor test helper function name

* Isolate local test
2022-10-20 11:11:53 -03:00
Josh Hunt 4b68918b0b I18n: Update crowdin config and codeowners (#57264)
* update config and codeowners for i18n

* update codeowners
2022-10-20 14:59:02 +01:00
mikkancso a4e66a2a01 Connections: New "Connect data" page with data source catalog (#56772)
* remove Plugins and CloudIntegrations tab and add ConnectData tab

* ConnectData: add Search component and use it

* ConnectData: add DataSourcePluginList component

* add CardGrid component

* add CategoryHeader component

* ConnectData: restructure content

DataSourcePluginList is removed, because its responsibilities are
actually the same as ConnectData's responsibilities.

NoResults was added as a reusable component, and was moved out of
CardGrid, since there could be more CardGrid on one page, but only one
NoResults.

* fix spacer

* use LoadingPlaceholder

* CardGrid: add margin

* generalize CardGridProps

* move isLoading and error into CardGrid

We'd like CardGrid to be reusable, even multiple times within a page.
In this case, it's better UX if we show the loading or error states per
card grid, not for the whole page.

* ConnectData: fix NoResults condition

* fix and add meaningful tests

* fix indentation

* move isLoading and error back to ConnectData

* make `url` required for CardGrid items
2022-10-20 15:53:10 +02:00
Sriram 8b2d35bdb9 updated plugin-ci go dependency to 1.19.2 (#57200) 2022-10-20 14:50:22 +01:00
Joey Tawadrous 5e27a6f276 Flame Graph: Fix for dashboard scrolling (#56555)
* Flamegraph dash scrolling

* Separate scroll for top table and for flame graph

* Custom scroll behavior for explore vs vs dash etc and sticky flame graph header

* Final UI tweaks

* Update tests
2022-10-20 14:20:48 +01:00
Gabriel MABILLE f184f9211c GoogleOAuth: Unlock UI (#57350) 2022-10-20 14:52:36 +02:00
Ivana Huckova ef78f03a6f Loki: Fix the name of exported component from LokiQueryEditor.tsx (#57340)
* Loki: Fix editor

* Fix names
2022-10-20 14:49:55 +02:00
Grafana I18n Bot 060c804449 I18n: Crowdin sync (#57345)
* New translations grafana.json (French)

* New translations grafana.json (Spanish)

* New translations grafana.json (German)

* New translations grafana.json (Chinese Simplified)
2022-10-20 12:37:47 +00:00
Ashley Harrison 630c18d79d make border-radius part of the base styles so focus styles are consistent (#57353) 2022-10-20 13:34:14 +01:00
Timur Olzhabayev 66d2fe7d9d Fixing upload failure (#57290) 2022-10-20 14:18:33 +02:00
Leon Sorokin 79afad3888 StateTimeline: fix hover overlays when browser-zoomed (#57224) 2022-10-20 06:02:29 -06:00
Erik Sundell b0c2ca6c1b Cloudwatch: Refactor dimension keys resource request (#57148)
* use new layered architecture in get dimension keys request

* go lint fixes

* pr feedback

* more pr feedback

* remove not used code

* refactor route middleware

* change signature

* add integration tests for the dimension keys route

* use request suffix instead of query

* use typed args also in frontend

* remove unused import

* harmonize naming

* fix merge conflict
2022-10-20 12:53:28 +02:00
Jo 7f3536a6d2 OAuth: Fix misleading warn log related to oauth and increase logged content (#57336)
* only emit warn log when sync is not skipped. Fix warn log that had wrong recommendation

* log presence of refresh token
2022-10-20 05:50:12 -04:00
Ivana Huckova 3ee450e66b Loki: Remove unused query editors (#57192)
* Loki: Remove not used query editors

* Move Loki editor to components and rename

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

Co-authored-by: Matias Chomicki <matyax@gmail.com>

* Fix test

Co-authored-by: Matias Chomicki <matyax@gmail.com>
2022-10-20 11:46:48 +02:00
Shirley cadc6088db CloudWatch: move QueryData input parsing types to separate package (#57165)
* CloudWatch: move parse request types separate package

* Move metric query constants, unexport metricDataQuery json decoding type

* Unexport isSearchExpression
2022-10-20 11:21:13 +02:00
brendamuir ee6ff18122 Docs: fixes endpoint for mimir (#57330) 2022-10-20 09:39:19 +01:00
Gábor Farkas e8cad52132 devenv: fix loki&elastic naming conflict (#57268) 2022-10-20 07:49:52 +00:00
Karl Persson 764d5b9929 RBAC: Cleaup team api rbac tests (#57265)
* RBAC: Remove the access control evaluator fake

* API: Change to use access control implementation instead of mocks with
rbac disabled in tests

* Tests: Set cfg and access control defaults after applying options

* Tests: Rewrite team legacy access control tests

* Tests: Add helper function to create user with permissions

* Tests: set fake quota service as default

* Team: Add ExpectedTeamDTO and set in query result

* RBAC: Revert change

* RBAC: Add deprecation notice to mock
2022-10-20 09:11:47 +02:00
Victor Marin 0dd721d4ce StatuHistoryPanel: Fix zoom not working (#57240) 2022-10-20 09:15:51 +03:00
Ryan McKinley ed1176adc8 Storage: export dashboards + playlists to object store (#57313) 2022-10-19 17:05:51 -07:00
Ryan McKinley e3c2859e83 Geomap: Upgrade to openlayers 7.x (#57317) 2022-10-19 17:03:44 -07:00
Alexander Weaver 3ddb28bad9 Find-and-replace 'err' logs to 'error' to match log search conventions (#57309) 2022-10-19 17:36:54 -04:00
Ezequiel Victorero 3e6bdf0439 PublicDashboards: filter by permissions on audit list (#57228) 2022-10-19 17:24:00 -03:00
Kristina d81a3e524d Panel Menu: Use config explore enabled as an override to access control (#57225)
* Use config explore as an override to access control

* Change logic to need something explicitly false

* Keep logic consistent
2022-10-19 15:21:40 -05:00
Leon Sorokin bdb97496ec Routing: an unexpected spelling error happened (#57295) 2022-10-19 16:01:50 -04:00
Yuriy Tseretyan 3e6bc28de5 Alerting: Change severity level of fetcher log messages (#57299) 2022-10-19 16:00:47 -04:00
juanicabanas 4418d78440 PublicDashboards: Delete public dashboard when dashboard is deleted (#57291)
PublicDashboards: Delete public dashboard when dashboard is deleted
2022-10-19 16:47:08 -03:00
Alexander Weaver 4eb8e4ff66 Alerting: Add traceability headers for alert queries (#57127)
* Define EvaluationContext

* Refactor ConditionEval to use new context struct

* Refactor QueriesAndExpressionsEval to use EvaluationContext

* Remove dead field from AlertExecCtx

* Refactor Validate to use EvaluationContext

* Get rid of privately used AlertExecCtx

* Move EvaluationContext to new file and add helper

* Add builder pattern and bind rule info to context

* Extract header logic and add rule UID header

* Fix missing call
2022-10-19 14:19:43 -05:00
Santiago 85cda0db69 Alerting: Templated URLs for webhook type contact points (#57296)
* templated URLs for webhooks

* clear tmplErr before using tmpl() again
2022-10-19 16:14:53 -03:00
Garrett Guillotte c70bb592fe Docs: Fix reference to Enterprise licensing restrictions (#57230) 2022-10-19 13:20:47 -05:00
Garrett Guillotte a0d83e7db7 Docs: Add missing alias for field options (#57234) 2022-10-19 14:13:17 -04:00
Michael Mandrus 86b0581021 add public dashboard token to metric panel issued queries (#57293) 2022-10-19 13:29:19 -04:00
Selene 8a35cb57fa Fix null pointer (#57292) 2022-10-19 13:20:03 -04:00
Gabriel MABILLE 717bd4a6c0 RBAC: Add a feature toggle for primitives we provide to OnCall (#57289) 2022-10-19 18:10:09 +02:00
Zoltán Bedi 09ab156480 MSSQL: Support tables from all schemas (#53099) 2022-10-19 17:27:29 +02:00
Ivana Huckova 7928f170ce Loki: Fix adding of adhoc filters to stream selector when query with empty stream selector (#57280)
* disable double stringify

* Refactor test for addLabelToQuery

* Add tests (TDD for expected behaviour)

* Fix adding ad hoc filters to correct place when no stream selector

* Update

* Update comment

* Fix getAllPositionsInNodeByType

Co-authored-by: Sven Grossmann <svennergr@gmail.com>
2022-10-19 17:24:00 +02:00
Garrett Guillotte e14ef50d02 Docs: Fix broken InfluxDB starting guide links (#57235)
* Docs: Fix broken InfluxDB starting guide links

* Docs: Fix another link to panel adding docs
2022-10-19 07:52:15 -07:00
Garrett Guillotte 9680249066 Docs: Fix links in old What's New docs (#57231)
* Docs: Fix placeholder URL in release notes link

* Docs: Fix link to refactored docs and add missing alias

* Docs: Fix malformed links

* Docs: Fix alias with correct path
2022-10-19 07:51:49 -07:00
Ryan McKinley 15517f8329 SQLX: Expose sqlxdb query functions (#57227) 2022-10-19 07:33:40 -07:00
Ryan McKinley de3737b5de Store: Add resolver service (#57112) 2022-10-19 07:33:26 -07:00
Matias Chomicki 93f39b5178 Loki Monaco Editor: add missing documentation and new autocompletion type (#57186)
* feat(loki-monaco-editor): add documentation and pipe operators

- Added documentation for line filters
- Added documentation for parsers
- Improved parser suggestions
- Introduced new PIPE_OPERATION category
- Added missing label_format pipe operation

* feat(loki-monaco-editor): update tests

* Chore: remove unused completion type

* Chore: remove line format
2022-10-19 10:30:44 -04:00
Ashley Harrison 2987734832 only get organizations if user is signed in (#57279) 2022-10-19 14:24:52 +01:00
Galen Kistler 0b66abba18 add case for empty influxdb 1 versions, so the health check doesn't fail (#56426) 2022-10-19 08:15:32 -05:00
Kristin Laemmert 05709ce411 chore: remove sqlstore & mockstore dependencies from (most) packages (#57087)
* chore: add alias for InitTestDB and Session

Adds an alias for the sqlstore InitTestDB and Session, and updates tests using these to reduce dependencies on the sqlstore.Store.

* next pass of removing sqlstore imports
* last little bit
* remove mockstore where possible
2022-10-19 09:02:15 -04:00
AJ Tomko 5285d34cc0 Dashboard: Alerts user to incorrect tag format for JSON import (#54657)
* Dashboard: Alerts user to incorrect tag format for JSON import

Fixes #54285: Malformed tags cause hidden title and settings page crash

* Update public/app/features/manage-dashboards/utils/validation.ts

Co-authored-by: Polina Boneva <13227501+polibb@users.noreply.github.com>

* Included Suggestions

- Removed Comments
- Updated Code Block accordingly
- Updated Tests to camelCase over snake_case

* Updates per comments

- Re-wrapped function in try{}, catch{} as I appear to have overlooked including it in the initial refactor
- Re-worded errors to align with initial error
- Added a test case for invalid json

* Update validation.ts

Updated errors to read correctly to the root cause.
Updated dashboard variable as const.

* Update actions.test.ts

Fix tests according to error output rewording

* Update validation.ts

- Included test for an empty string of non-array

* Update actions.test.ts

-- Commented incorrect commit for validation.ts, update:
- Refactored code to better align and separate from generic JSON package tests followed by our manual checks of (1) Is array, and (2) if array, is of strings

- Test cases now include a check for non-array empty string in the tag property

Co-authored-by: Polina Boneva <13227501+polibb@users.noreply.github.com>
2022-10-19 08:59:24 -04:00
Garrett Guillotte e52c98ba99 Docs: Fix links in panels and vis docs (#57233) 2022-10-19 07:41:34 -05:00
Hamas Shafiq f50ab457bd Tempo: Fix Node Graph visualization type in dashboard (#56931)
Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2022-10-19 13:11:33 +01:00
Grafana I18n Bot de24a444b5 I18n: Crowdin sync (#57260)
* New translations grafana.json (French)

* New translations grafana.json (Spanish)

* New translations grafana.json (German)

* New translations grafana.json (Chinese Simplified)
2022-10-19 12:14:55 +01:00
Dimitris Sotirakis e829b50149 CI: Add CreateTempDir func and use it in publish packages logic (#57171)
* Add CreateTempDir func and use it in publish packages logic

* Fill err return in defer func
2022-10-19 12:58:22 +02:00
Ivana Huckova b4a03d0cff Loki: Fix explain section about $__interval variable (#57188)
* Loki: Update  explain section

* Update

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

Co-authored-by: Matias Chomicki <matyax@gmail.com>

Co-authored-by: Matias Chomicki <matyax@gmail.com>
2022-10-19 12:01:29 +02:00
Sven Grossmann 598da14d88 disable double stringify (#57243) 2022-10-19 11:58:16 +02:00
Karl Persson 9adaf1565c RBAC: Allow to list users for dashboard / folder admins (#57080)
* RBAC: Use query struct in tests

* RBAC: If access control enforcement is disabled don't filter out users
when fetching permissions
2022-10-19 11:53:59 +02:00
Dimitris Sotirakis 0b72c36527 Replace json decoder with io.ReadAll (#57178) 2022-10-19 12:51:24 +03:00
Ivana Huckova b997bc4200 Loki: Remove already selected options from next label filter options in builder (#57187)
* Loki: Filter out duplicated options in loki query builder label name options

* Update test
2022-10-19 11:32:01 +02:00
Gareth Dawson c0f5183330 Logs: Add feature tracking to the load more button in log row context (#57079)
* add feature tracking for the load more button in log row context

* fix test by mocking reportInteraction

* track the new log row limit
2022-10-19 10:02:26 +01:00
Gareth Dawson 20616eef8c Logs: Add feature to tracking show context button click (#57074)
* report interaction on context open

* report interaction on context close_esc

* replace deprecated feature (KeyboardEvent.keyCode)

* update to report interaction on toggle context

* remove redundant if statement
2022-10-19 10:01:45 +01:00
Ashley Harrison 96660992f4 Navigation: Ignore null children in ToolbarButtonRow (#57201)
* filter out any null buttons to prevent padding being added for them

* ignore null children in toolbarbuttonrow
2022-10-19 10:00:57 +01:00
Gábor Farkas 0491c19712 elastic: backend-mode: fix trimEdges functionality (#56985) 2022-10-19 10:40:42 +02:00
Dimitris Sotirakis f0b882ebad Add token to init-enterprise (#57246) 2022-10-19 04:23:12 -04:00
Erik Sundell 8949e574e6 cache api calls when args are the same (#57082) 2022-10-19 08:40:03 +02:00
Erik Sundell a30885c523 CloudWatch: Make sure adoption tracking is done on valid, migrated queries (#56872)
* make sure adoption tracking is done on valid, migrated queries

* ignore hidden queries

* fix test

* remove obsolete test
2022-10-19 08:39:18 +02:00
aimuz c0cc85b5f1 Alerting: Add support for wecom apiapp (#55991)
This change adds new functionality to the wecom alerting contact point. In addition to a webhook address, you can now send alerts to the wecom apiapp endpoint.

Based on https://github.com/grafana/grafana/discussions/55883

Signed-off-by: aimuz <mr.imuz@gmail.com>
2022-10-19 12:17:37 +08:00
owensmallwood b2408dd7c5 Publicdasboards: Add annotations support (#56413)
adds annotations support for public dashboards
2022-10-18 19:48:20 -06:00
Sobuno cc6245df8e Fix typo (#57223) 2022-10-18 22:52:56 +00:00
Ezequiel Victorero 22b5e574b1 PublicDashboards: hide topnav (#56873) 2022-10-18 19:51:09 -03:00
Christopher Moyer cafdbc1644 restructures directories, corrects relrefs (#57130) 2022-10-18 15:07:15 -05:00
Christopher Moyer e5fc1b85e0 restructures directories, correct relrefs (#57131) 2022-10-18 15:06:58 -05:00
Michael Mandrus 2a8a82e2af PublicDashboards: Don't filter datasources from FrontendSettings in a public dashboard (#57208)
* add filter skip to avoid issues with RBAC

* update comment
2022-10-18 15:44:33 -04:00
Torkel Ödegaard 69bfd923be RefreshPicker: Fix issue clearing auto refresh (#57215) 2022-10-18 21:41:37 +02:00
Kristina 3cb1ec58f0 Add information about tempo in devenv (#57204) 2022-10-18 14:29:28 -05:00
Sarah Zinger b2e2879b07 Cloudwatch: Fix issue where selected log groups clear from dashboards if there are more than 50 results (#57196) 2022-10-18 14:34:27 -04:00
Misi 9c954d06ab Auth: Refresh OAuth access_token automatically using the refresh_token (#56076)
* Verify OAuth token expiration for oauth users in the ctx handler middleware

* Use refresh token to get a new access token

* Refactor oauth_token.go

* Add tests for the middleware changes

* Align other tests

* Add tests, wip

* Add more tests

* Add InvalidateOAuthTokens method

* Fix ExpiryDate update to default

* Invalidate OAuth tokens during logout

* Improve logout

* Add more comments

* Cleanup

* Fix import order

* Add error to HasOAuthEntry return values

* add dev debug logs

* Fix tests

Co-authored-by: jguer <joao.guerreiro@grafana.com>
2022-10-18 18:17:28 +02:00
Artur Wierzbicki 984ec00aac Search: load dashboards optimization (#56933)
* search: load dashboards optimization

* search: load dashboards optimization

* search: close dashboard channel, return error when context is done

* search: refactor

* search: return err on ctx done

* search: remove sleep
2022-10-18 23:53:15 +08:00
Torkel Ödegaard ca98dba053 Page: Refine responsive paddings and margins (#57132) 2022-10-18 17:43:09 +02:00
Victor Marin e91135cf19 Fix NumberInput empty values (#57142)
* Fix NumberInput empty values

* tests

* tests
2022-10-18 16:59:34 +03:00
juanicabanas 71f79b9de0 PublicDashboards: Fix hidden queries execution (#57004)
PublicDashboards: Fix hidden queries execution
2022-10-18 10:47:24 -03:00
ying-jeanne ed98d7bc27 Chore: remove busmock (#57170) 2022-10-18 13:31:56 +00:00
Sven Grossmann 4b1b0344e4 Chore: update latest.json to 9.2.1 (#57185) 2022-10-18 15:26:17 +02:00
Victor Marin 9c514748f7 Revert data links code for sorted vector case (#57175) 2022-10-18 08:59:53 -04:00
Grot (@grafanabot) 4cee910971 Changelog: Updated changelog for 9.2.1 (#57176) 2022-10-18 14:45:30 +02:00
Gilles De Mey 423643aaa6 Alerting: use virtualized list of namespaces / groups for cloud rules (#56415) 2022-10-18 13:38:59 +02:00
Eric Leijonmarck fa45742abc Quota(fix): remove service accounts from quota count (#56700) 2022-10-18 12:26:38 +01:00
Victor Marin 76d6e3c075 TimeseriesPanel: Fix variables in data links (#56729)
* TimeseriesPanel: Fix variables in data links

* Refactor variable fix for all Timeseries panels

* cr mods
2022-10-18 14:22:31 +03:00
Ashley Harrison 178b05160a make betterer a required step on PRs again (#57099) 2022-10-18 12:22:13 +01:00
Julien Duchesne 44ad4ec9d4 Add RPM package publishing (#56797)
Just tested deb publishing, and confirmed it works. Noticed that RPM packages aren't published though
It's the exact same step, targetting the RPM files instead
Both steps will run in parallel

Co-authored-by: dsotirakis <dimitrios.sotirakis@grafana.com>
2022-10-18 13:41:23 +03:00
Matias Chomicki d2abcbe4a5 feat(loki-monaco-editor): improve line filter suggestions (#57103) 2022-10-18 12:40:12 +02:00
Laura Fernández 4d0dd0647e Browse: Fix General folder not showing in FolderPicker (#57156) 2022-10-18 12:38:51 +02:00
Gabriel MABILLE 3963ed3754 RBAC: Allow access to /dashboards when user has dashboards create (#56712)
* RBAC: Allow access to dashboards when user has dashboards create

* Remove eval any that I didn't add on purpose
2022-10-18 11:15:52 +02:00
Shirley 65939ce5b1 CloudWatch: Move logger to its own package and minor refactoring (#57107)
* Move log to its own package

* Rename test-data to testdata

* Change alias to string type

* Remove parseQueries from a method of cloudWatchExecutor
2022-10-18 04:21:18 -04:00
Gábor Farkas 2815343ee5 logs: handle mixed datasources in filters (#56560)
* logs: handle mixed datasources in filters

* removed unnecessary special handling

* added explanation comment

* more consistent type-handling
2022-10-18 09:27:17 +02:00
Erik Sundell 36734f3cef CloudWatch: Move hard coded metrics, namespaces and dimensions to its own package (#57089)
* move hard coded metrics to its own package

* remove comment
2022-10-18 09:23:47 +02:00
Dimitris Sotirakis 7a71482371 Update grabpl to 3.0.14 (#57144) 2022-10-18 02:44:31 -04:00
Artur Wierzbicki c26cf6a517 Search: Sort alphabetically in the folder view, increase the limit of the folder search from 50 to 1000 (#57078)
* search: sort folders

* search: increase the limit for folder search to 1000

* add folder view sort test

* search: getFolderViewSort

* search: revert test

Co-authored-by: Todd Treece <todd.treece@grafana.com>
2022-10-18 14:10:53 +08:00
Matthew Jacobson 0db339d82f Alerting: Improve notification policies created during migration (#52071)
* Alerting: Improve notification policies created during migration

Previously, migrated legacy alerts were connected to notification policies through
a `rule_uid` label in a 1:1 fashion. While this correctly mimicked pre-migration routing,
it didn't create a notification policy structure that is easy to view/modify. In addition,
having one policy per migrated alert is, in some ways, counter to the recommended approach of
Unified Alerting.

This change replaces `rule_uid`-based migrated notification policies with a private
label called `__contacts__`. This label stores a list of double quoted strings containing the names of
all contact points an AlertRule should route to (based on legacy notification channels). Finally,
one notification policy is created per contact point with each matching AlertRules via regex on this
`__contacts__` label.

The result is a simpler, clearer, and easier to modify notification policy structure, with the
added benefit that you can see which contact points an AlertRule is being routed to from the
AlertRule creation page.
2022-10-18 00:47:39 -04:00
Guilherme Caulada 313c88f3e1 Reapply public dashboard granularity fix (#57129) 2022-10-17 22:11:59 -03:00
Adela Almasan 7f5914ff05 Canvas: Text input cursor jumping (#57133)
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2022-10-17 18:36:18 -04:00
Jeff Levin 7146f2731c Public Dashboards: audit log paths and add traceId where user facing error is different (#56914)
Audit all paths for publicdashboards and implement traces where user facing error is different from the internal error.
2022-10-17 13:17:24 -08:00
Christopher Moyer d09d39ddd4 Docs/restructures setup (#57125)
* builds out configure grafana directory to align with hugo

* restructures configure authentication, corrects relrefs

* correct alias

* corrects final relrefs
2022-10-17 15:24:33 -05:00
Santiago 6ad405e256 fix swagger spec for receivers API response (#57124) 2022-10-17 16:58:55 -03:00
Yuriy Tseretyan 888bdfd4ad Alerting: Use correct response body for silence post API (#57114) 2022-10-17 15:43:37 -04:00
Sofia Papagiannaki 46fb4081ba SQLStore: Optionally retry queries if sqlite returns database is locked (#56096)
* SQLStore: Retry queries if sqlite returns database is locked

* Configurable retries

* Apply suggestions from code review

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2022-10-17 21:23:44 +03:00
Beto Muniz 920d2aa599 InfluxDB: Interpolate ad-hoc filters from Dashboard to Explore (#56996) 2022-10-17 13:28:54 -03:00
Ahmed 5c2b722287 Docs: Fix broken link (#57083)
* Docs: Fix broken link

* Update docs/sources/setup-grafana/configure-security/configure-authentication/auth-proxy.md

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

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2022-10-17 09:09:31 -07:00
Jack Westbrook 24c04740e3 Grafana UI: Export prop types for queryfield, modal and field components (#57097)
* chore(grafana-ui): export prop types for queryfield, modal and field components

* docs(migration-guide): add notes for react peerdependencies and additional type exposure

* Update docs/sources/developers/plugins/migration-guide.md

Co-authored-by: Timur Olzhabayev <timur.olzhabayev@grafana.com>

Co-authored-by: Timur Olzhabayev <timur.olzhabayev@grafana.com>
2022-10-17 17:54:43 +02:00
brendamuir b7feb34acf Fix broken relrefs (#57092)
* Fixes relrefs

* Fixes more relrefs
2022-10-17 08:54:00 -07:00
Garrett Guillotte 2bed451990 Docs: Contextualize base64 encoding in Basic Authorization (#57046) 2022-10-17 08:53:17 -07:00
kay delaney ed71b7b884 Chore/React18: Remove enzyme slate tests and replace with e2e tests (#57095) 2022-10-17 16:31:59 +01:00
Dimitris Sotirakis c96b6a6ab0 CI: Move CreateTempFile - use it for rpm/deb packages (#56990)
* Move CreateTempFile - use it for rpm/deb packages

* Fix typo

* Fix tests:
2022-10-17 16:23:57 +01:00
Jack Westbrook fd0fcffc24 Toolkit: Fix Cannot use "import statement outside" error in tests (#57071) 2022-10-17 16:31:12 +02:00
Selene ba6c715708 Chore: Delete unused db in orgs and use db in datasources (#57085)
* Delete unused db in orgs and use db in datasources

* Sort imports
2022-10-17 16:27:56 +02:00
Alexa V 6524a0b437 Chore: Rename grafana core PanelChrome and use grafana-ui - PanelChrome component (#56659) 2022-10-17 16:03:38 +02:00
Christopher Moyer de1cfc120f Docs: adds modify dashboard settings docs (#56826)
* adds modify dashboard settings docs

* Quick updates

* minor corrections

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-10-17 09:02:22 -05:00
kay delaney 5d53a983d8 React18: Update useCallback arg types where needed (#57084) 2022-10-17 14:52:12 +01:00
kay delaney b1128e0b8c Chore/React18: Update context types where needed (#57018) 2022-10-17 13:29:44 +01:00
Torkel Ödegaard 0d9b321058 DashboardsList: Fixes issue with overflow hidden causing input focus state to be obscured (#57021) 2022-10-17 14:19:57 +02:00
Torkel Ödegaard 0f9e6dda2d Page: Refactor out section nav state logic and move it to SectionNav component (#57036) 2022-10-17 14:19:29 +02:00
Sonia Aguilar 3f26ffde94 Alerting: Add relativeTimeRange from dataSource when using Resample expresions (#56652)
* Fix: Add relativeTimeRange from dataSource when using Resample expression

* Add test for relativeTimeRange when updating resample expression

* update time range for expressions when data sources are updated

* Get data source recursively from expression up to the last query that this tree is referencing to

* Remove unnecessary produce from immer, and check if there is a cycle in the queries structure
2022-10-17 12:29:05 +02:00
Karl Persson 21792fdf37 RBAC: Make uid for managed role names deterministic during migrations (#56620)
* RBAC: Change the generate uid function to be deterministic so we can avoid collision

* RBAC: Use fmt.Errorf

* RBAC: Add comment

* RBAC: Export GenerateManagedRoleUID
2022-10-17 12:15:20 +02:00
brendamuir ecc252429e Docs alerting: copy edit terraform provisioning (#55978) (#57068) 2022-10-17 11:48:39 +02:00
Esteban Beltran 0abf04a20f Toolkit: Remove unused close-milestone command (#57062)
* Toolkit: Remove unused close-milestone command

* Remove import line
2022-10-17 11:27:27 +02:00
Dimitris Sotirakis 27f072beb3 Don't trigger tag event when merging (#57063) 2022-10-17 12:27:10 +03:00
Jan Garaj 03248e9cd8 Alerting: Missing config option in the sample (#54179) 2022-10-17 11:10:41 +02:00
Ashley Harrison 3cca8e3676 any/type assertion fixes (#57009) 2022-10-17 10:10:10 +01:00
Dimitris Sotirakis e25475b9c8 Make publish packages depend on compile-build-cmd and run from bin/build (#56713) 2022-10-17 10:58:36 +03:00
Labesse Kévin c8402b4b50 GoogleCloudMonitoring: fix typo tooltip pre-processing (#57049) 2022-10-17 09:45:35 +02:00
Leon Sorokin da39c7297b BarChart: use dashboard timezone for x axis (#57047) 2022-10-17 14:06:45 +07:00
Garrett Guillotte 4831091115 Docs: Fix provisioning table formatting (#57042) 2022-10-16 11:05:47 -05:00
Garrett Guillotte 0889c3ad07 Docs: Clarify and document dashboard URL query parameters for variables (#56055) 2022-10-15 18:07:25 -07:00
Vũ Quốc Phong 800754e7e8 Add document for jsondata field alertmanagerUid (#52895)
alertmanagerUid can be used to specify Alert Manager for a particular Prometheus/Loki data source.

Co-authored-by: Garrett Guillotte <garrett.guillotte@grafana.com>
2022-10-15 15:32:11 -07:00
Ben Golding a46fa16b4e <Documentation> Document usage of environment variables/files in GitHub Auth login (#52891)
* Document usage of environment variables/files

* Updating Github Auth Login Documentation

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>
2022-10-15 09:20:50 -07:00
Torkel Ödegaard 9f5e691994 Theme: Inter font (behind feature toggle) (#56441)
* Theme: Inter font change with new line-height

* Add it behind feature toggle

* make buildVariant easier to read + enforce integer multiples of 2 (#56486)

* Minor update

* Update

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-10-15 16:22:33 +02:00
Alexander Weaver 129a28919b Alerting: Cache result of dashboard ID lookups (#56587)
* Create caching dashboard resolver

* A couple tests for dashboard resolving

* Log warning on not found

* Additional polish + review nits

* Move to singleflight instead of a plain mutex

* Store errors instead of -1 in cache and use reflection when reading

* Address linter error

* One more linter error
2022-10-14 15:48:02 -05:00
Kristin Laemmert c61b5e85b4 chore: replace sqlstore.Store with db.DB (#57010)
* chore: replace sqlstore.SQLStore with db.DB

* more post-sqlstore.SQLStore cleanup
2022-10-14 15:33:06 -04:00
Garrett Guillotte 2b4d57fe60 Docs: Note end of release notes publication (#57013)
* Docs: Note cessation of release notes

* Docs: Update What's New index mention of release notes

* Docs: Update links and references to the release notes

* Docs: Fix relrefs

* Docs: Spellcheck
2022-10-14 18:24:32 +01:00
kay delaney 64b0f8072b Themes: Add color-scheme attribute to :root (#57001) 2022-10-14 16:30:07 +01:00
Michael Mandrus ea8549b8c2 Datasources: Support mixed datasources in a single query (#56832)
* initial cut at refactor - need to run more tests

* fix unit tests

* change newly unused function to test helper

* create unit tests for parsing query requests that cover a range of cases

* add some comments

* rename function to avoid dev confusion
2022-10-14 10:27:06 -04:00
Yaelle Chaudy 2ccbb4d3a3 Configuration page: Fix dropdown menus keyboard a11y (#56986)
* Made dropdown menu keyboard accessible

* ul menu and left align
2022-10-14 15:57:45 +02:00
Josh Hunt 2e16d5499e Dashboard: Add dashboard validation warning to save drawer (#55732)
* add api route for validating a dashboard json

* add feature flag for showDashboardValidationWarnings

* tidy up

* comments and messages

* swagger specs

* fix typo

* more swagger

* tests!

* tidy test a little bit

* no more ioutil

* api will return different status code depending on validation error

* clean up

* handle 4xx errors

* remove console.log

* fix backend tests

* tidy up

* Swagger: Exclude alpha endpoints

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2022-10-14 09:51:05 -04:00
Arpit Bhardwaj e4b1347ca5 Select Dropdown alignment fix (#56858) 2022-10-14 13:24:08 +00:00
Kristina 3dbb0f1659 Add in logic to send root datasource as override if needed (#56904) 2022-10-14 08:12:04 -05:00
George Robinson 2f85172718 Alerting: Remove blank comment (#56889) 2022-10-14 13:28:41 +01:00
Josh Hunt 8e512de308 I18n: update contributing docs (#56860)
* update contrib i18n docs

* update contrib i18n docs

* remove lingui references, rearrage plain js usage
2022-10-14 11:55:15 +01:00
Gabriel MABILLE 0f4d126109 AzureAD: Add option to force fetch the groups from the Graph API (#56916)
* Add a new option to systematically fetch AzureAD groups from the Graph API
2022-10-14 12:55:00 +02:00
Jorge Luis Betancourt e4f2006cce Elasticsearch: Fix calculation of trimEdges (#56148)
* Elasticsearch: Fix calculation of trimEdges

When a value of trimEdges is set greater than 1 we need to drop both the
first and last sample of the data from the response.

* Elasticsearch: Fix reading trimEdges from the query settings

Currently the trimEdges property in the JSON panel is stored as a string
and not directly as a number.

This caused that the reading of the value failed in the go backend
because the simplejson.Int() method doesn't properly handle this case.
This failure when decoding the value goes unnoticed because of the early
return causing the trimEdges configuration to be ignored.

* Refactor castToInt to also return an error

Add a new test case that sets the `trimEdges` property as a quoted
number.
2022-10-14 12:53:12 +02:00
GitStart 4ecc9f42ac Last Table Column Not Centered (#56047)
Co-authored-by: gitstart <gitstart@gitstart.com>
Co-authored-by: gitstart <gitstart@users.noreply.github.com>
Co-authored-by: Nitesh Singh <nitesh.singh@gitstart.dev>
Co-authored-by: Thiago Nascimbeni <tnascimbeni@gmail.com>
Co-authored-by: Rubens Rafael <70234898+RubensRafael@users.noreply.github.com>
Co-authored-by: RubensRafael <rubensrafael2@live.com>
Co-authored-by: Rafael Toledo <87545086+Toledodev@users.noreply.github.com>
Co-authored-by: Matheus Muniz <87545749+matheusmuniz03@users.noreply.github.com>
Co-authored-by: Matheus Muniz <matheusmuniz100@hotmail.com>
Co-authored-by: Matheus Benini Ferreira <88898100+MatheusBeniniF@users.noreply.github.com>
Co-authored-by: Murilo Amaral <87545137+MuriloAmarals@users.noreply.github.com>

Co-authored-by: gitstart <gitstart@users.noreply.github.com>
Co-authored-by: gitstart <gitstart@gitstart.com>
Co-authored-by: Nitesh Singh <nitesh.singh@gitstart.dev>
Co-authored-by: Thiago Nascimbeni <tnascimbeni@gmail.com>
Co-authored-by: Rubens Rafael <70234898+RubensRafael@users.noreply.github.com>
Co-authored-by: RubensRafael <rubensrafael2@live.com>
Co-authored-by: Rafael Toledo <87545086+Toledodev@users.noreply.github.com>
Co-authored-by: Matheus Muniz <87545749+matheusmuniz03@users.noreply.github.com>
Co-authored-by: Matheus Muniz <matheusmuniz100@hotmail.com>
Co-authored-by: Matheus Benini Ferreira <88898100+MatheusBeniniF@users.noreply.github.com>
Co-authored-by: Murilo Amaral <87545137+MuriloAmarals@users.noreply.github.com>
2022-10-14 13:25:40 +03:00
Gareth Dawson b047316ef4 Logs: Add feature tracking to the replace line button (#56883) 2022-10-14 11:10:53 +01:00
Ashley Harrison a904372269 Accessibility: enable rule jsx-a11y/no-noninteractive-element-to-interactive-role (#56870)
* enable rule `jsx-a11y/no-noninteractive-element-to-interactive-role` and switch to extending recommended preset

* fix unit tests

* better unit test
2022-10-14 11:02:01 +01:00
kay delaney e85917f041 Chore/React18: Update component prop types (#56898) 2022-10-14 10:24:32 +01:00
Leon Sorokin 4eea326ee8 Candlestick: re-init config when series length changes (#56913) 2022-10-14 04:12:28 -05:00
Leon Sorokin 53ac77d4a5 Heatmap: honor dashboard timezone in x axis and fix tooltip time range (#56909) 2022-10-14 04:11:20 -05:00
sam boyer 7767002e12 dashboards: Use @grafanamaturity(NeedsExpertReview) in schema (#56888) 2022-10-14 05:10:39 -04:00
Victor Marin b374b01260 MSSQL/MySQL: Add correct refId when fetching variable query results (#56919) 2022-10-14 11:52:12 +03:00
Victor Marin 902a230867 MSSQL/MySQL: Fix variable interpolation (#56879)
* MSSQL/MySQL: Fix variable interpolation

* Escape string vars
2022-10-14 11:52:08 +03:00
kay delaney e819ed0f51 PlotLegend: Memoize for better performance (#56123) 2022-10-14 09:51:27 +01:00
Matias Chomicki 08ffcfdf16 feat(loki-monaco-editor): escape autocompleted label values (#56890) 2022-10-14 08:29:03 +00:00
Konrad Lalik e5d644d991 Alerting: Fix source and rule name decoding on Find route (#56805) 2022-10-14 10:06:00 +02:00
Konrad Lalik 9d0380cbdd Alerting: Fix folder picker clear action (#56864) 2022-10-14 08:48:05 +02:00
Nathan Marrs 527690d19a Docs: Fix Canvas doc link and add call to action for feedback (#56908)
* Fix canvas documentation link on what's new page; add feedback CTA in canvas doc

* PORK: replace allows with enables for better language

* Fix a few more instances of allow to enable

* Move feedback above video in intro canvas section

* Revert changing link change
2022-10-13 19:02:44 -07:00
Christopher Moyer 385079bea7 Docs: Basics docs refactor (#56905)
* renames directory

* fixes relrefs
2022-10-13 15:57:58 -05:00
Christopher Moyer c137cf60f0 moves canvas to proper directory, corrects relref (#56902) 2022-10-13 14:39:05 -05:00
Leon Sorokin 5acda40248 Search/ActionRow: drill placeholder to SortPicker (#56475) 2022-10-13 13:30:20 -06:00
Alexander Weaver 145b970557 Propagate all headers on main QueryData (#56896) 2022-10-13 14:18:53 -05:00
Joan López de la Franca Beltran 1ca5c347d3 Analytics: Add datasource UID to events (#56852)
* Analytics: Add datasource UID to events
2022-10-13 17:41:52 +02:00
Beto Muniz 5d86dc507a Fix Meta Data tab breaking condition (#56646) 2022-10-13 12:39:01 -03:00
juanicabanas 75a5777e36 PublicDashboards: Validate access token not to be duplicated and add retries. (#56755)
PublicDashboards: Validate access token not to be duplicated and add retries.
2022-10-13 11:32:32 -03:00
Ryan McKinley 3b4b528993 Storage: Dashboard summary builder cleanup (#56665) 2022-10-13 09:29:19 -04:00
Gareth Dawson b8b25f7e31 Logs: add app to feature tracking in ad-hoc statistics (#56865)
* add app tracking to adhoc statistics

* use the object property value shorthand
2022-10-13 14:26:59 +01:00
Armand Grillet 83aa006c98 Add Alerting API to list of HTTP APIs (#56863)
This link has been asked many times and is only viewable on old docs pages.
2022-10-13 15:09:49 +02:00
Santiago 9996dbd577 use Prometheus' format for notification attempts durations (#56822) 2022-10-13 10:08:09 -03:00
Santiago 3c56fd8da0 Fix duplicated receivers in API response (#56829) 2022-10-13 10:01:28 -03:00
idafurjes ef651daed2 Use org service instead of sqlstore (#56407)
* Use org service instead of sqlstore

* Remove methods from sqlstore

* Remove commented out code

* Fix lint

* Fix lint 2
2022-10-13 08:40:46 -04:00
Gareth Dawson b0cb02568a Logs: Add feature tracking for filters in log rows (#56808)
* Add feature tracking for log details filter clicks

* use deconstructed prop values

* use deconstructed prop values
2022-10-13 11:21:17 +01:00
Laura Benz b71e08ad59 Explore: Remove camel case from tracking labels (#56809)
* refactor: remove camel case from tracking labels

* refactor: remove camel case from tracking labels
2022-10-13 12:12:50 +02:00
Sven Grossmann efe214a293 LogContext: Change line highlighting to match the hover state (#56811)
* add hover background also to logs with context

* add inherit display
2022-10-13 11:42:40 +02:00
Sonia Aguilar d957fe01f4 Simplify mocking useGetContactPointsState (#56842) 2022-10-13 11:06:20 +02:00
Yaelle Chaudy 0295177bb0 Cloud Monitoring: Fix missing data when result is paginated (#56270)
* Added nextPageToken prop

* Adding first and pageToken condition to while loop

* clean up

* revert gitignore

* fix go lint

* Added logic to builder too

* Removed pageSize - was for local testing

* gofmt

* extracted doRequest function

* extracted doRequest in query too

* Adressed filter comments

* Adressed query comments

* go fmt

* removed pageSize added for testing

* go fmt again
2022-10-13 10:58:07 +02:00
Dimitris Sotirakis b9d449529a Update grabpl to v3.0.12 (#56823) 2022-10-13 11:35:05 +03:00
Sofia Papagiannaki 97730aec10 Chore: Bump golang.org/x/text (#56841) 2022-10-13 11:26:25 +03:00
Gábor Farkas 5a0d90b104 logs: refactor: remove unused param "index" (#56543) 2022-10-13 10:04:51 +02:00
Sonia Aguilar 277803a894 Alerting: Refactor fetch for receivers for using RTKQuery (#56624)
* Refactor fetch for reveivers for using  RTKQuery

* Simplify receiversApi contactPointsState endpoint

* Fix tests and create useGetContactPointsState hook for using receiversApi.useContactPointsStateQuery
2022-10-13 10:00:59 +02:00
Ashley Harrison 5af36e48ba convert ThresholdsEditor to RTL (#56791) 2022-10-13 08:56:36 +01:00
Jeff Levin cc27214dca Public Dashboards: Add audit table (#54508)
This PR adds an audit table for public dashboards allowing a user to view all public dashboards on an instance of grafana. The public dashboards team is working on a proposal for adding RBAC support to the audit table for 9.3

Co-authored-by: juanicabanas <juan.cabanas@grafana.com>
2022-10-12 21:36:05 -08:00
Joe Blubaugh c7c640d903 Alerting: Fix email image embedding on Windows. (#56766)
The email notifier was incorrectly handling Windows filepaths. This is
fixed by using the `path/filepath` package.
2022-10-13 10:24:00 +08:00
Adela Almasan 254bb0c99e Canvas: Clear current selection in dashboard mode (#56830) 2022-10-12 17:18:56 -04:00
George Robinson 004bb7689d Alerting: Fix mathexp.NoData for ConditionsCmd (#56816) 2022-10-12 17:34:28 +01:00
Ashley Harrison 61fd369b3f ensure the first item in the sectionnav is always the section root (#56815) 2022-10-12 17:02:31 +01:00
Ashley Harrison 8846778f9b fix title of config node (#56810) 2022-10-12 16:37:14 +01:00
Alex 94ed744454 Auth: Make built-in login configurable (#46978) 2022-10-12 15:34:59 +00:00
Ashley Harrison 7d18460d8f Chore: convert MetricSelect test to RTL (#56801)
* convert MetricSelect test to RTL

* remove type param
2022-10-12 16:33:12 +01:00
Michael Mandrus 26e7228cd9 fix typo (#56802) 2022-10-12 09:44:21 -04:00
Gareth Dawson f30ba0d34e Explore/Logs: Add feature tracking for ad-hoc statistics in log rows (#56681)
* Add feature tracking for ad-hoc statistics in log rows

* Make row prop mandatory in LogDetailsRow.tsx

* Remove optional chaining

* fix: failing test by mocking reportInteraction
2022-10-12 14:37:24 +01:00
Karl Persson b1761908c2 RBAC: Add primary key to seed_assignment table (#56540)
* RBAC: Add seed_assignment migrations from enterprise

* RBAC: Create migration to add primary key to seed_assignment table
2022-10-12 15:18:07 +02:00
Gabriel MABILLE 5fcec05695 LDAP: log that organization mapping is skipped (#56796) 2022-10-12 08:41:11 -04:00
Joey Tawadrous 78061260fb Default to flamegraph (#56733) 2022-10-12 13:39:08 +01:00
Ivana Huckova 7c10082c57 Devenv: Fix influx dashboard (#56775) 2022-10-12 14:01:48 +02:00
Josh Hunt b7d969baf1 I18n: Improve tooling (#56731)
* Delete en-US.json before extracting strings so it's always up to date

* Add 'comment' to message jsons

* Enable Pseudo-locale option only in dev mode

* don't load english messages

* fix package.json

* fix
2022-10-12 07:51:16 -04:00
ying-jeanne 80ede174dd update the feature toggle usage in backend (#56787) 2022-10-12 13:43:35 +02:00
Gabriel MABILLE 10c080dad1 LDAP: Add skip_org_role_sync configuration option (#56679)
* LDAP: Add skip_org_role_sync option

* Document the new config option

* Nit on docs

* Update docs/sources/setup-grafana/configure-security/configure-authentication/ldap.md

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

* Docs suggestions

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

* Add test, Fix disabled user when no role

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: Jguer <joao.guerreiro@grafana.com>
2022-10-12 13:33:33 +02:00
Julien Duchesne 72b9555487 Publish Linux Packages: Fix bad secret name (#56708)
🤦

Co-authored-by: dsotirakis <dimitrios.sotirakis@grafana.com>
2022-10-12 14:07:13 +03:00
Josh Hunt 719769ee7c I18n: Add Chinese (Simplified) (#56739)
* Prevent _old.json files from being created

* Add contrib docs for adding new locale

* add chinese (simplified)
2022-10-12 06:12:46 -04:00
Torkel Ödegaard 85e3ed491d DashboardsList: Fix height issue in topnav (#56661) 2022-10-12 11:00:45 +01:00
George Robinson 67d93ceea0 Alerting: Add doc comments to classic.go (#56724) 2022-10-12 10:55:48 +01:00
Ashley Harrison dd9e1498f9 only render direct children on the landing page routes (#56720) 2022-10-12 10:01:33 +01:00
Matt 26bb139470 Fixes 48972 - Exposes channels.WebhookMessage (#56140) 2022-10-12 09:50:28 +01:00
kay delaney 45edce90d3 VariableEditor: Use new form styles (#56326) 2022-10-12 09:43:41 +01:00
Alex 6edce00b1a Inspect: Handle JSON tab crash when the provided object is too big to stringify. (#55939)
* fix(inspector): handle json tab crash when too much data

* message update when JSON stringify fails due to obj size
2022-10-12 00:52:23 -07:00
Victor Marin 48c27872af TablePanel: Footer now updates values on column filtering (#56354)
* Table footer now updates values on column filtering

* Backwards compatibility
2022-10-12 07:57:49 +03:00
Nathan Marrs 17433f2166 Docs: Fix what's new canvas doc video file reference #56754 2022-10-11 15:57:48 -07:00
Michael Mandrus 6827ca01a0 Docs: Add missing documentation for enterprise features (#56753)
* add documentation about protected roles

* add section about sync debug

* add link to recorded queries to main enterprise pages

* Update docs/sources/setup-grafana/configure-security/configure-authentication/ldap.md

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>

* fixes from pr review

* add missing char

* Apply suggestions from code review

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>

* fix other incorrect lines to match review

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>
2022-10-11 15:57:27 -07:00
Christopher Moyer 414d536186 Docs: refactors config panels and visualizations, corrects relrefs (#55940)
* refactors config panels and visualizations, corrects relrefs

* adds an alias

* Remove some old content

* moves visualizations topic to the root

* moves out panels and visualization topics to the root

* adds move and resize panel to add/organize panel; creates a create dashboard topic under build dashboards; adjusts context of add a panel to be from within an existing dashboard

* updates aliases

* creates search at root, moves dashboard preview to search, creates standalone search dashboard topic

* moves Set dashboard time range to use-dashboards, creates modify dashboard settings and adds moves Modify dashboard time settings to that topic

* moves existing query-options topic from working with panels to configure-panel-visualizations, moves panel time overrides and timeshift content to query options

* Moving things to better category, fixing links, improving ordering

* Move panel inspector to main panel topic

* completes partial fix of relrefs

* relref fixes con't

* restructures remaining panels topics

* more relref fixes

* Minor fix

* Minor tweak

* finishes fixing relrefs

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2022-10-11 15:31:20 -05:00
Garrett Guillotte f4a3400a9c Docs: Update Canvas videos to mp4 URLs (#56748) 2022-10-11 11:39:52 -07:00
Garrett Guillotte abd7b7dccc Docs: Remove Beta tag from 9.2 What's New post-release (#56746) 2022-10-11 13:16:24 -05:00
Garrett Guillotte 4a99470e22 Docs: Add CODEOWNER to setup docs (#56745) 2022-10-11 13:43:58 -04:00
Garrett Guillotte c98db1615f Docs: Clarify JOIN feature change (#56740) 2022-10-11 18:23:48 +02:00
Dimitris Sotirakis 62314bbf66 Remove grabpl dependency from yarn-install (#56692) 2022-10-11 18:58:03 +03:00
Matias Chomicki 6a74cd207a feat(loki-monaco-editor): add support for in_aggregation situation (#56680) 2022-10-11 15:52:57 +00:00
Junaid Ali 33eb4a2807 Exclude full OAuth token details from printing out on stdout (#55426)
* remove token details from printing out on stdout

* Update login_oauth.go

* address comment
2022-10-11 17:20:49 +02:00
Hamas Shafiq 9db61f54ff Tempo: Fix the inconsistency between the query limit values in the options component (#56566) 2022-10-11 16:08:53 +01:00
Dimitris Sotirakis 94fe605175 Update latest json (#56732) 2022-10-11 14:35:50 +00:00
Giordano Ricci e3e32c7d04 chore: bump code coverage action version (#56710) 2022-10-11 15:35:35 +01:00
Konrad Lalik 5ddf7b85df Alerting: Alert list performance improvements (#56247)
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2022-10-11 16:24:01 +02:00
Grot (@grafanabot) 8627b2131f Changelog: Updated changelog for 9.2.0 (#56725) 2022-10-11 17:18:15 +03:00
Sofia Papagiannaki 7e24e19230 Swagger: Remove license (#56716) 2022-10-11 17:06:36 +03:00
Nathan Marrs a9c0afcc1f Canvas: Docs for 9.2 (#56219)
Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
2022-10-11 06:34:49 -07:00
Grot (@grafanabot) 5cebb94e01 Changelog: Updated changelog for 9.1.8 (#56714) 2022-10-11 16:31:10 +03:00
Neel 86a1fe578a Grafana UI: Fix alignment issue with http method dropdown (#56592)
- Removed custom width prop from the http method Select component to fix the alignment issue for prometheus HTTP request type dropdown
2022-10-11 08:20:13 -05:00
Grot (@grafanabot) ae72742b76 Changelog: Updated changelog for 8.5.14 (#56709) 2022-10-11 16:15:07 +03:00
Giordano Ricci f1a0a5cb47 Glue: improves validation & fix api docs for correlations (#56682) 2022-10-11 14:04:55 +01:00
Andres Martinez Gotor cf2ba7e41c Google Cloud Monitoring: Adapt default crossSeriesReducer (#56693) 2022-10-11 14:51:25 +02:00
Piotr Jamróz ae927eab73 Glue: Enrich query results data frames in Explore with correlations to generate static links from correlations (#56295)
* Attach static generic data link to data frames in Explore

* WIP

* Always load correlations config when the query is run

This will be moved to Wrapper.tsx and called only once Explore is mounted

* remove comment

* Load the config when Explore is loaded

* Clean up

* Check for feature toggle, simplify cod

* Simplify the code

* Remove unused code

* Fix types

* Add a test for attaching links

* Revert package.json changes

* Display title provided in the correlation label

* Add missing mocks

* Fix tests

* Merge branch 'main' into ifrost/integration/attach-generic-data-link

# Conflicts:
#	public/app/features/explore/Wrapper.tsx
#	public/app/features/explore/state/main.ts

* Remove redundant async calls

* Do not block Wrapper before correlations are loaded (only delay the query)

* Test showing results after correlations are loaded

* Post-merge fix

* Use more consistent naming

* Avoid null assertions

Co-authored-by: Elfo404 <me@giordanoricci.com>
2022-10-11 14:40:55 +02:00
Jorge Luis Betancourt 95b9fa3346 Alerting: Fix duration calculation when testing a rule (#56616)
When testing a rule within the legacy alerting the `timeMs` field could
sometimes show negative (and/or wrongly calculated) durations. This happens if the alert evaluation crosses a second boundary. This change uses the full timestamp to compute the eval duration.
2022-10-11 20:40:18 +08:00
Leo 0a183d1ba2 Navigation: Mobile support for topnav items (#56568)
* add topbar layout and wrapper

* mobile support for topnav icons

* improved hooks implementation

* added tests for TopSearchBarSection

* support css overrides for select and valuepicker

* make singlevalue inherit the color from select
2022-10-11 14:24:02 +02:00
Ashley Harrison 90cf76e05e Navigation: Integrate Explore actions into topnav (#56381)
* integrate Explore actions into topnav toolbar

* add keys

* fix unit test

* fix bug with ToolbarButtonRow overflow

* make the render function a bit more readable

* fix overflow not updating when children change
2022-10-11 12:59:17 +01:00
brendamuir d6fa12c5bc Docs: updates numbering (#56695)
* Docs: updates numbering

* removes full stop
2022-10-11 12:58:15 +01:00
Leo a91d77003d AnnotationList: Support html content (#54916)
* support html content in annolistpanel

* improve panel tests

* add RenderUserContentAsHTML ui

* sanitize content
2022-10-11 13:35:03 +02:00
Josh Hunt 6969354490 Chore: remove i18n console log (#56691) 2022-10-11 07:22:48 -04:00
Grafana I18n Bot 11c4ab8397 I18n: Crowdin sync (#56688)
* New translations grafana.json (French)

* New translations grafana.json (Spanish)

* New translations grafana.json (German)

* New translations grafana.json (Chinese Simplified)
2022-10-11 07:04:33 -04:00
Dimitris Sotirakis efc8f985cb Remove build-frontend-packages step from docs pipelines (#56686) 2022-10-11 06:56:43 -04:00
Armand Grillet 74a79b517d Update Alerting changelog (#56684)
Now simpler to use.
2022-10-11 10:55:18 +00:00
Ashley Harrison 8348f486d9 Navigation: Make sure topnav is translated (#56643)
* initial translation progress

* more nav translations

* add subtitle translations

* more specific gitignore path

* fix unit tests
2022-10-11 11:45:58 +01:00
brendamuir 8a3294dcdf Docs: adds external Alertmanager config (#56636)
* Docs: adds external Alertmanager config

* Adds link to add external alertmanager

* updating with george feedbacj
2022-10-11 11:29:11 +01:00
Josh Hunt d52ab5de2e EchoSrv: Remove $.ajax for loading scripts (#56678)
* user essentials mob! 🔱

lastFile:public/app/core/services/echo/backends/analytics/RudderstackBackend.ts

* user essentials mob! 🔱

lastFile:public/app/core/services/echo/backends/analytics/ApplicationInsightsBackend.ts

* user essentials mob! 🔱

Co-authored-by: Joao Silva <joao.silva@grafana.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-10-11 11:11:23 +01:00
sam boyer 5641029a4a coremodels: Always take runtime arg for NewBase() (#56677) 2022-10-11 05:39:29 -04:00
Gareth Dawson 10a34a041c Add feature tracking for LogRow.tsx (#56656)
* Add feature tracking for LogRow.tsx

* Add type and logRowUid to reportInteraction

* Rename logs variable
2022-10-11 10:04:43 +01:00
GitStart bc632f239d Tempo: Tab button doesn't work when in the Tags field (#56458)
Co-authored-by: gitstart <gitstart@gitstart.com>
Co-authored-by: gitstart <gitstart@users.noreply.github.com>
Co-authored-by: Rubens Rafael <70234898+RubensRafael@users.noreply.github.com>
Co-authored-by: RubensRafael <rubensrafael2@live.com>
Co-authored-by: Rafael Toledo <87545086+Toledodev@users.noreply.github.com>
Co-authored-by: Matheus Muniz <87545749+matheusmuniz03@users.noreply.github.com>
Co-authored-by: Thiago Nascimbeni <tnascimbeni@gmail.com>
Co-authored-by: Matheus Muniz <matheusmuniz100@hotmail.com>
Co-authored-by: Nitesh Singh <nitesh.singh@gitstart.dev>
Co-authored-by: Matheus Benini Ferreira <88898100+MatheusBeniniF@users.noreply.github.com>
Co-authored-by: Murilo Amaral <87545137+MuriloAmarals@users.noreply.github.com>
2022-10-11 10:03:59 +01:00
Dimitris Sotirakis 66cb56de79 CI: Trigger tag on CI changes (#55388)
* Trigger tag on CI changes

* Use github token available for PRs

Remove remote addition

* Replace origin with full url

Remove fetch for origin

Fix fetch

Remove --quite

Add rebase

Stash changes from verify-gen-cue

Cleanup

* Add --quiet when fetching
2022-10-11 12:01:18 +03:00
Joan López de la Franca Beltran ef17f12c23 Docs: Fix caching.memcached setting name (#56606) 2022-10-11 10:47:57 +02:00
sam boyer e5a6547a94 coremodels: Update to latest Thema with generics (#56602)
* Update thema to latest

* Deal with s/Library/*Runtime/

* Commit new, working results of codegen
2022-10-11 09:45:07 +01:00
Dimitris Sotirakis 668cb25b82 Fix release test pipelines dependencies (#56671) 2022-10-11 11:42:24 +03:00
George Robinson 52965de369 Alerting: Add doc comments to state struct and normalize fields (#56647) 2022-10-11 09:30:33 +01:00
Gareth Dawson fa09aef4ba Loki: Add tests for NestedQuery.tsx (#56538)
* WIP: Testing the NestedQuery component

* Add tests for NestedQuery.jsx

* Add aria-labels to select elements

* Update aria-labels

* Create datasource using createLokiDatasource()
2022-10-11 09:22:32 +01:00
Andres Martinez Gotor 8d9da34827 @grafana/ui: EditorField tooltip interactive (#56557) 2022-10-11 10:19:37 +02:00
Matias Chomicki 1b7e31cd27 Loki Monaco Editor: add component tests (#56658)
* feat(loki-monaco-editor): add component tests

* feat(loki-monaco-editor): rename test case

* Chore: add missing export
2022-10-11 04:15:48 -04:00
Dimitris Sotirakis 811f6054c8 Add dependencies (#56666) 2022-10-11 10:05:13 +03:00
Serge Zaitsev 53baecd71f Chore: Move folder service into a separate package (#56591)
* Chore: move folder service interface into a separate package

* copy implementation into a standalone package

* move implementation and tests to the new folder package

* remove leftovers from wire

* add test doubles for folder service

* fix tests in library panels/elements

* fix provideservice in ngalert
2022-10-10 21:47:53 +02:00
Dimitris Sotirakis eb077db2b0 Add clone-enterprise and init-enterprise steps (#56662) 2022-10-10 22:46:12 +03:00
Grafana I18n Bot 3f89de1747 I18n: Crowdin sync (#56660)
* New translations grafana.json (Chinese Simplified)

* delete zh-CN

Co-authored-by: joshhunt <josh@trtr.co>
2022-10-10 12:15:21 -04:00
Ivana Huckova 3e856da2e4 LabelFilters: Remove redundant css styling (#56653)
* LabelFilters: Remove redundant css

* Remove unused import
2022-10-10 17:59:13 +02:00
kay delaney 0696cd3549 i18n: Fix unnecessary ampersand escaping (#56654) 2022-10-10 11:56:28 -04:00
Dimitris Sotirakis 75c5845749 CI: Split release test pipelines (#56655)
* Split test release pipelines

* Add missing dependencies

* Add release branch case when naming pipeline
2022-10-10 11:46:56 -04:00
Polina Boneva 129a5a29e7 PanelChrome: New Panel Header design Feature Flag (#56450)
* add feature toggle newPanelHeader

* add feature toggle newPanelHeader

* more explicit naming and description of PanelChrome feature flag
2022-10-10 18:03:16 +03:00
kay delaney efed72096f TagsInput: Prevent adding duplicate tags + refactor, restyle (#56485) 2022-10-10 15:56:02 +01:00
Sven Grossmann fb31daa92f LogContext: Fix wrong width if lines are wrapped (#56650) 2022-10-10 16:31:14 +02:00
Andres Martinez Gotor 65e56c9fb8 Google Cloud Monitoring: Fix bucket bound for distributions (#56565) 2022-10-10 16:08:33 +02:00
Alex Khomenko d332747c38 TimeRangeInput: Fix clear button type (#56545) 2022-10-10 17:05:30 +03:00
Grafana I18n Bot 08f9605d83 I18n: Crowdin sync (#56645)
* New translations grafana.json (German)

* New translations grafana.json (Chinese Simplified)
2022-10-10 09:58:36 -04:00
Laura Benz bc9a37ee8d Glue: Add configuration support to PATCH (#56117)
* feat: add config to tests v0

* feat: add config to UpdateCorrelationCommand

* refactor: repair some tests

* refactor: repair another test

* refactor: repair last test

* refactor: remove possible test

* refactor: add comments

* refactor: add changes from code review

* refactor: implement more detailed patch

* feat: add tests for partial config update

* refactor: make error handling more detailed

Co-authored-by: Giordano Ricci <me@giordanoricci.com>

Co-authored-by: Giordano Ricci <me@giordanoricci.com>
2022-10-10 15:36:14 +02:00
Josh Hunt 680dfde90d I18n: Update crowdin config for i18next json files (#56640) 2022-10-10 14:02:25 +01:00
George Robinson 802d67eeca Alerting: Support values in notification templates (#56457)
We have received a lot of feedback regarding the ValueString in alert notifications. Perhaps one of the most frequent complaints about ValueString is that it is difficult to read because it contains a lot of information, and the information is shown as a JSON-like string. Users have often asked how it can be templated and the answer is that it can't.

Until now users have been able to add custom annotations to their alert rules which contains values via the $values variable added in previous versions of Grafana. However, these custom annotations must be added for each of the user's alert rule, instead of once in a template that all of their alerts can be notified via.

This commit adds then the much requested feature to support values in notification templates. Users can then create a single template that prints the annotations, labels and values of their alerts in a format of their choice!
2022-10-10 13:40:21 +01:00
Sven Grossmann 62674604b4 Loki: Escape label-values in context queries (#56614) 2022-10-10 14:31:19 +02:00
brendamuir 137d332d4f Docs: deletes provisioning from grafana and adds link (#56637)
* Docs: deletes provisioning from grafana and adds link

* updates link
2022-10-10 13:30:23 +01:00
Sven Grossmann be68bb6b3b LogContext: Fix wrong position of logcontext (#56613)
* fix styling issues

* remove unused class
2022-10-10 14:17:22 +02:00
Giordano Ricci da9d8fe14f Correlations: Add query editor and target field to settings page (#55567)
* Fix: use type=button in editor

* Grafana-UI: TextArea: make ctextare a block element

* WIP: add field & target query to correlations

* add table query helpers & test ordering

* refactor some tests for disappearance

* chore: move QueryEditorField & add tests

* cleanup & fix typo

* revert textarea changes

* update form to support new config

* move defaults
2022-10-10 12:32:21 +01:00
brendamuir db68fa358f Docs: removes duplicate sentence in silences (#56629) 2022-10-10 06:56:21 -04:00
brendamuir 2aff817ea8 Docs: adds note on aurora incompatibility (#56621)
* Docs: adds note on aurora incompatibility

* updates with feedback

* adds issue link
2022-10-10 12:51:19 +02:00
Torkel Ödegaard 03e887723a ErrorPage: Fix position of chunk loading error (#56473) 2022-10-10 12:47:33 +02:00
Torkel Ödegaard 462f6b7797 Page: Pages that have hideFromBreadcrumbs set to true should not be added to page Title (#56596)
* Page: Pages that have hideFromBreadcrumbs set to true should not be added to page Title

* Updated test
2022-10-10 12:47:04 +02:00
Josh Hunt d405f3a877 GrafanaUI: InputGroup: Fix invalid children borders (#56169)
* GrafanaUI: InputGroup: Fix invalid children borders

* tidy story

* zindex priority stack

* clarify comment

* fix inputgroup children type
2022-10-10 06:43:29 -04:00
brendamuir a84edb274b Docs: changes alert groupings to groups (#56617)
* Docs: changes alert groupings to groups

* One more alert grouping
2022-10-10 12:41:14 +02:00
Timost f90e72991d docs/provisioning: fix typo in notification policies (#54917) 2022-10-10 10:51:29 +01:00
Alec Sears c61d6c39a0 Configuration: Update ssl_mode docs in sample.ini to match default.ini (#55138) 2022-10-10 09:04:51 +00:00
kay delaney d79f60d73f QueryEditorRow: Fix broken drag-and-drop reordering (#56515) 2022-10-10 09:40:54 +01:00
Sven Grossmann 1bcce79d4e LogContext: Add header and close button to modal (#56283)
* added context header

* Rename to Log Context

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

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2022-10-10 09:33:18 +02:00
Sofia Papagiannaki 4cdbfb7606 Chore: Timeout integration package tests faster (#56287) 2022-10-10 09:27:04 +02:00
Serge Zaitsev 169610fd27 Chore: Reduce test timeouts to 5 minutes (#56599) 2022-10-10 09:26:47 +02:00
Joe Blubaugh 7312a2dab0 Alerting: Mark all tests that interact with the database as Integration tests. (#54875)
Previously, two tests were not explicitly marked as integration tests
and so were not run against all 3 supported databases in the CI
environment.
2022-10-10 01:54:54 -04:00
Ryan McKinley b24be6c0fc ObjectStore: add a kind registry (#56507) 2022-10-08 12:05:46 -04:00
Nathan Marrs ac91df0ea2 Canvas: Add demo dashboards (#56351)
Co-authored-by: drew08t <drew08@gmail.com>
Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-10-07 21:34:18 -04:00
Yuriy Tseretyan 3487e68d15 Alerting: Fix migration to create rules with group index 1 (#56511) 2022-10-07 17:20:01 -04:00
Yuriy Tseretyan e2f1201382 Alerting: Fix migration to not add label "alertname" (#56509)
* do not add label alertname because it is overridden in state manager anyway
* update state manager to not consider labels with same value as dupe
2022-10-07 15:06:53 -04:00
Artur Wierzbicki 4b2a940659 Search: wrap data.Frame in a backend.DataResponse and return it directly when the index is not ready (#56522) 2022-10-07 11:32:37 -07:00
Artur Wierzbicki bf264d2f76 Query library: requiresDevMode dummy backend (#56466)
* query library - dummy backend

* fix tests

* dont explicitly marshall backend dataresponse

* skip integration tests

* null check for tests

* added query library to codeowners

* null check for tests

* lint
2022-10-07 11:31:45 -07:00
Ivana Huckova 23e04c0f9c Elasticsearch: Add integration tests for http header handling (#56542)
* Elasticsearch: Add integration test

* Fix lint
2022-10-07 18:21:48 +02:00
Eric Leijonmarck 53f0928321 Docs: Add variable expansion recommendation (#56368)
* docs: add variable expansion recommendation

* docs: updated the ldap docs in configure grafana
2022-10-07 17:04:37 +01:00
Leo 9c50131c2c Navigation: Added organisation switcher next to grafana logo (#56361)
* added org dropdown to topnav

* render icon and dropdown for mobile screen

* remove switch org from profile node

* adjust styles to be mobile first

* add test for select

* hide profile node only when topnav is on

* replace margin with gap instead

* improve tests

* add aria labels

* fix broken test
2022-10-07 17:52:13 +02:00
Sonia Aguilar 3990d2b2b3 Alerting/handle 0s last notify duration notification error feedback (#56541)
* Show '-' in notifiers table when lastNotifyAttemptDuration is 0s

* Add tests for no attempt (lastNotifyAttempt null date) and no last duration (lastNotifyAttemptDuration 0s)
2022-10-07 17:07:02 +02:00
Torkel Ödegaard 754fc37972 PluginPage: Fix finding root section for standalone pages (#56554) 2022-10-07 16:33:36 +02:00
Ashley Harrison ff41b9544b Chore: more typing improvements to @grafana/ui (#56544)
* improve grafana-ui types

* more type improvements

* better useState type
2022-10-07 15:22:21 +01:00
Ivana Huckova a4c5801440 Loki: Fix redundant escaping in adhoc filter with regex match (#56447)
* Loki: Fix redundant escaping in adhoc filter with regex match

* Update data.js

* Simplify test

* Simplify test

* Update

* Add more tests
2022-10-07 16:21:59 +02:00
Konrad Lalik d945091ff1 Alerting: Fix evaluation interval validation (#56115)
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2022-10-07 15:01:47 +02:00
Andres Martinez Gotor 76868bad04 AzureMonitor: Allow multiple resources in the API for Metrics (#56118) 2022-10-07 14:57:01 +02:00
Gabriel MABILLE 7595ed0668 FIX: Remove RBAC datasource permissions upon datasource deletion (#56530)
* FIX: Remove RBAC datasource permissions upon datasource deletion

* Use scope provider instead

* Fix test
2022-10-07 08:30:15 -04:00
GitStart 0eb3afbd14 Form validation problem in table panel option (column width & minimum column width) (#56452)
Co-authored-by: gitstart <gitstart@users.noreply.github.com>
Co-authored-by: gitstart <gitstart@gitstart.com>
Co-authored-by: Rubens Rafael <70234898+RubensRafael@users.noreply.github.com>
Co-authored-by: Rafael Toledo <87545086+Toledodev@users.noreply.github.com>
Co-authored-by: Matheus Muniz <87545749+matheusmuniz03@users.noreply.github.com>
Co-authored-by: Thiago Nascimbeni <tnascimbeni@gmail.com>
Co-authored-by: Matheus Muniz <matheusmuniz100@hotmail.com>
Co-authored-by: Nitesh Singh <nitesh.singh@gitstart.dev>
Co-authored-by: Matheus Benini Ferreira <88898100+MatheusBeniniF@users.noreply.github.com>
Co-authored-by: Murilo Amaral <87545137+MuriloAmarals@users.noreply.github.com>
2022-10-07 15:06:50 +03:00
Emil Tullstedt 22756913ba Errutil: Update documentation for Go 1.19 (#55807) 2022-10-07 12:47:43 +02:00
Emil Tullstedt c2d3a31772 Chore: Upgrade Go to 1.19.2 (#56355) 2022-10-07 12:47:24 +02:00
Josh Hunt 891f9c00a1 I18n: Add lint rule to enforce correct i18n imports (#56487)
* I18n: Add lint rule to enforce correct i18n imports

* ignore in gui wrapper
2022-10-07 11:46:28 +01:00
Joey Tawadrous 74c809f544 Plugins: Introduce new Flame graph panel (#56376)
* Flamegraph

* Updated flame graph width/height values

* Fix top table rendering issue

* Add feature toggle for flamegraph in explore

* Update tests

* Hide flamegraph from dash panel viz list if feature toggle not enabled

* Show table if no flameGraphFrames

* Add flame graph to testdata ds

* Minor improvement
2022-10-07 11:39:14 +01:00
Sonia Aguilar a18a3d7628 Show No attempts instead of OK when there is no attempt for notifier (#56494) 2022-10-07 11:41:18 +02:00
brendamuir 939caa67a2 Docs: adds alertmanager overview (#56527)
* Docs: adds alertmanager overview

* updating with georges feedback

* adds deprecation note to API docs

* update to provisioning instuctions
2022-10-07 10:26:51 +01:00
George Robinson 762688d67f Alerting: Fix pq: missing FROM-clause for table "a" (#56453)
This commit fixes a bug where changing the Folder or Rule Group of an existing rule returns the following error in PostgreSQL "pq: missing FROM-clause for table a"
2022-10-07 10:18:49 +01:00
Joe Blubaugh 13067b39da Alerting: Update replacement of prometheus-alertmanager (#56519)
grafana.com/grafana/prometheus-alertmanager has been updated to a
version that fixes some bugs upstream. This change just updates that
dependency and a few shared ones.
2022-10-07 17:10:20 +08:00
Torkel Ödegaard 6c39a1995f Page: More easily support full height pages (#56524)
* Page: More easily support full height pages

* tweaks to JSONSettingsPage
2022-10-07 10:56:12 +02:00
Dimitris Sotirakis df2abf09c2 Use io.ReadAll instead of json.Decode (#56528) 2022-10-07 04:27:18 -04:00
Ivana Huckova eef3f28447 Loki: Add integration tests for http header handling (#56478)
* Loki: Add integration tests for http header handling

* Fix linting
2022-10-07 10:16:41 +02:00
Emil Tullstedt bb479e030a RBAC: Redirect to /login when forceLogin is set (#56469) 2022-10-07 08:18:56 +02:00
Victor Marin b622a87aee StateTimeline: Fix tooltip showing erroneously in shared crosshair dashboards (#55809)
* StateTimeline: Fix shared crosshair

* Fix for StatusHistory also
2022-10-07 08:56:15 +03:00
Leon Sorokin 21d9cf0db4 Thresholds: fix line rendering with multiple y axes (#56516) 2022-10-06 17:18:47 -06:00
Beto Muniz b5cb917dfa Fix queries with repeated references (#56497) 2022-10-06 17:59:14 -03:00
lean.dev 356318e387 Docs: Updating Public Dashboard documentation (#56504)
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2022-10-06 17:47:38 -03:00
Jeff Levin 331110bde5 refactor public dashboards middleware testing (#55706)
This PR refactors how we add the orgId to the context on a public dashboard paths. We also split out accessToken handling into its own package and rework status code for "RequiresValidAccessToken". We will be modeling all endpoints to use these status codes going forward. Additionally, it includes a scaffold for better middleware testing and refactors existing tests to table drive tests.
2022-10-06 12:35:19 -08:00
Ryan McKinley 609abf00d1 ObjectStore: Write json as json when possible (#56433) 2022-10-06 15:48:53 -04:00
Yuriy Tseretyan 7b6437402a Alerting: Refactor state manager's cache (#56197)
* remove ResetAllStates because it's not used
* refactor cache to accept logs, metrics and url as method args
* update manager Warm method to set the entire state at once
* remove unused reset method
* introduce ruleStates
* change getOrCreate to belong to ruleStates
* update Get to not return error
2022-10-06 15:30:12 -04:00
Drew Slobodnjak 15d2653b89 Geomap: Docs for 9.2 (#56493) 2022-10-06 11:32:39 -07:00
Misi 1de0f4453e Chore: Make NewCookieOptions exported in cookies.go (#56476) 2022-10-06 20:00:54 +02:00
Josh Hunt 5361efc225 I18n: Migrate to I18next (#55845)
* Switch from lingui from i18next

* Change lingui messages to i18next messages

* Change lingui messages to i18next messages (grafana-ui)

* Init i18n for tests
2022-10-06 16:34:04 +01:00
Nicolas Janicaud Gondoin c1d6df4eb7 Fix issue 55626 (#55636)
Reset the mapping table for Dynamic Geojson
2022-10-06 08:30:03 -07:00
Virginia Cepeda 48f0f4bb91 Alerting: subscribe to Dashboard refresh interval for alert panels (#56347)
* Subscribe to Dashboard refresh interval for alert panels

* Add test

* Remove unused import

* Use useEffectOnce when obtaining dashboard
2022-10-06 12:02:19 -03:00
Matias Chomicki 729ce8bb72 Loki: query editor using Monaco (#55391)
* loki: switch to a monaco-based query field, step 1 (#46291)

* loki: use monaco-logql (#46318)

* loki: use monaco-logql

* updated monaco-logql

* fix all the tests (#46327)

* loki: recommend parser (#46362)

* loki: recommend parser

* additional improvements

* more improvements

* type and lint fixes

* more improvements

* trigger autocomplete on focus

* rename

* loki: more smart features (#46414)

* loki: more smart features

* loki: updated syntax-highlight version

* better explanation (#46443)

* better explanation

* improved help-text

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

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

* Fix label

* feat(loki-monaco-editor): add monaco-logql as a dependency

* feat(loki-monaco-editor): add back range function removed during merge

* feat(loki-monaco-editor): sync imports with recent changes

* feat(loki-monaco-editor): add missing lang provider functions

* feat(loki-monaco-editor): fix imports

* feat(loki-monaco-editor): display monaco editor by default

Temporarily

* Chore: remove commented code

* Chore: minor refactor to NeverCaseError

* Chore: minor code cleanups

* feat(loki-monaco-editor): add history implementation

Will see how it behaves and base the history slicing on tangible feedback

* feat(loki-monaco-editor): turn completion data provider into a class

* Chore: fix missing imports

* feat(loki-monaco-editor): refactor data provider methods

Move complexity scattered everywhere to the provider

* Chore: clean up redundant code

* Chore: minor comments cleanup

* Chore: simplify override services

* Chore: rename callback

* feat(loki-monaco-editor): use query hints implementation to parse expression

* feat(loki-monaco-editor): improve function name

* Chore: remove superfluous variable in favor of destructuring

* Chore: remove unused imports

* Chore: make method async

* feat(loki-monaco-editor): fix deprecations and errors in situation

* feat(loki-monaco-editor): comment failing test case

* Chore: remove comment from test

* Chore: remove duplicated completion item

* Chore: fix linting issues

* Chore: update language provider test

* Chore: update datasource test

* feat(loki-monaco-editor): create feature flag

* feat(loki-monaco-editor): place the editor under a feature flag

* Chore: add completion unit test

* Chore: add completion data provider test

* Chore: remove unwanted export

* Chore: remove unused export

* Chore(loki-query-field): destructure all props

* chore(loki-completions): remove odd string

* fix(loki-completions): remove rate_interval

Not supported

* fix(loki-completions): remove line filters for after pipe case

We shouldn't offer line filters if we are after first pipe.

* refactor(loki-datasource): update default parameter

* fix(loki-syntax): remove outdated documentation

* Update capitalization in pkg/services/featuremgmt/registry.go

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

* refactor(situation): use node types instead of names

* Chore: comment line filters pending implementation

It's breaking the build due to a linting error.

* Chore: update feature flag test after capitalization change

* Revert "fix(loki-completions): remove line filters for after pipe case"

This reverts commit 3d003ca4bc.

* Revert "Chore: comment line filters pending implementation"

This reverts commit 84bfe76a6a.

Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
Co-authored-by: Ivana Huckova <ivana.huckova@gmail.com>
2022-10-06 10:35:30 -04:00
Galen Kistler 8fd4fcb987 Prometheus: Annotation query filtering values less then 1 (#53969)
* prevent annotation query from filtering values less then 1
* unit tests were asserting that gaps in data (0 value) are removed from annotation, update filter to exclude 0
2022-10-06 09:26:08 -05:00
Sonia Aguilar 01526d9053 Add error details in notification error feedback tooltip (#56472) 2022-10-06 16:20:07 +02:00
Dimitris Sotirakis 66e8f39ce8 Packaging: Change from 0750 to 0755 folder permissions when packaging (#56436)
* Change from 0750 to 0755

* Change to 0o755

* Skip lint when creating dir
2022-10-06 17:11:11 +03:00
Sonia Aguilar d8d8ef1aff Alerting: Add Notification error feedback on contact points view (#56225)
* Alerting: Receivers integrations error feedback: WIP - Add notifications error at the top right on contact points view (#52390)

* Add interfaces for contact point errors

* [WIP] Create fake response for the new service to get contact point errors

* [WIP] Create action an reducer for the new service to get contact point errors

* Fetch fetchContactPointStates in Contact Points tab every 20s and when AM changes

* [WIP] Use store to get error count

* Show number of integrations errors at the contact points main view

* Add warning icon and refactor styles using getStyles

* Change lastNotify type to string instead of DateTime

* Use Stack component from experimental library when it is possible

* Alerting: Add receivers error feedback in contact point list (#52524)

* Refactor types for contact points state

* Add health column in ReceiversTable in case error state is available for this AM

* Create method for converting contact points state DTO to the FE type used in Redux store

* Update types

* Fix indexOf criteria getting integration type

* Change type name to integrationType name

* Change new components to be named functions to follow the FE style-guide

* Fix typos

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>

* Decouple ReceiversTable from Redux state

* Create private useContactPointsState hook to simplify code in ReceiversTable component

* Add tests for getIntegrationType and refactor the method to validate the name

* Add tests for contactPointsStateDtoToModel method

* Remove unnecessary check

* Use Badge compoment for health status in contact point list

* Create new method parseIntegrationName to simplify getting types and index from integration name

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>

* Alerting: Show integrations error feedback when expanding contact point in list (#52920)

* Use DynamicTable for rendering list of contact points and make them expandable if error status is available

* Render expanded content for contact points integrations

* Style and format last notify column

* Add send resolve column to the integration details

* Fix receiver id for DynamicTable row

* Update clock icon in integration state

* Fix tests

* Add PR review sugestions

* Alerting/integrations error feedback handle null dates in response 3 (#55659)

* Update fake response with lastNotify ISO8601 formatted, to be aligned with latest BE changes

* Update LastNotify in ReceiversTable component to handle null date

* Alerting/integrations error feedback handle 404 state not available (#55803)

* Create fetchContactPointsState using the future contact point url and handle 404 error

* Add contact points state tests

* Alerting/update receivers dto naming 2 (#56201)

* Update NotifierStatus naming and fix sendResolved not being updated in UI

* Return always empty ContactPointsState array when catching an error in the request response

* Fix test

* Show notification status only in notifications main view

* Calculate total error count from the final contactPointsState object, to avoid errors when duplicated entries are returned wronly in the response

* Add PR review suggestions

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
2022-10-06 15:23:38 +02:00
Torkel Ödegaard 9300ae7ce6 NavTree: Don't add license and stats page unless your a Grafana Admin (#56410) 2022-10-06 14:30:51 +02:00
Gábor Farkas 3a76c7aac3 grafana-ui: removed obsolete test that cause jest warnings (#56444) 2022-10-06 11:35:21 +00:00
Ashley Harrison c5171b84a0 actually convert Cloudwatch ConfigEditor test to RTL (#56461) 2022-10-06 12:14:41 +01:00
Torkel Ödegaard a8b883b1fa TopNav: Adding sign in to topnav and hiding it mega menu (#56403)
* TopNav: Adding sign in to topnav and hiding it mega menu

* Added target _self

* remove scss change

* Fix sign in link

* Fix other link
2022-10-06 13:00:32 +02:00
Torkel Ödegaard 0958d9ba55 Theme: Change body line-height to fix alignment issue (#56442)
* Theme: Change body line-height to fix alignment issue

* Updates
2022-10-06 12:59:43 +02:00
Levente Balogh 55187ebc48 Navtree: Make it possible to configure standalone plugin pages (#56393)
* feat: make it possible to register standalone app plugin pages under different sections

* refactor(sample.ini): use "admin" instead of "starred" section in the INI

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

* feat(defaults.ini): add app navigation settings to the defaults.ini as well

* fix: use the correct key in the tests

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-10-06 12:57:03 +02:00
Joe Blubaugh b1df15c4b9 Alerting: Add basic test wrappers to notification channel API test. (#56432)
Adds t.Run calls that supply the name of a receiver and its integrations
when the API response is being verified. This test has a rare flake and
it's difficult to track down without more context for the test failure.
2022-10-06 17:38:54 +08:00
Leo b0ba94f316 Navigation: Use page nav in silence and policy notification pages (#55753)
* use pagenav in mutetiming form

* use pagenav in alert policy page

* use pageNav for Silence page

* added missing breadcrumbs
2022-10-06 11:18:43 +02:00
Dimitris Sotirakis 3aacda5579 Move files under pkg/build/packaging (#56435) 2022-10-06 03:33:40 -04:00
Dimitris Sotirakis ec7d9e196e Change from grabpl to build for grafana-com (#56434) 2022-10-06 08:14:38 +01:00
Torkel Ödegaard fe1395a1ec Revert "TopNav: Section styling fix (#56372)" (#56399)
This reverts commit b396f16fe1.
2022-10-06 08:23:29 +02:00
Joe Blubaugh b476ae62fb Alerting: Write and Delete multiple alert instances. (#55350)
Prior to this change, all alert instance writes and deletes happened
individually, in their own database transaction. This change batches up
writes or deletes for a given rule's evaluation loop into a single
transaction before applying it.

These new transactions are off by default, guarded by the feature toggle "alertingBigTransactions"

Before:

```
goos: darwin
goarch: arm64
pkg: github.com/grafana/grafana/pkg/services/ngalert/store
BenchmarkAlertInstanceOperations-8           398           2991381 ns/op         1133537 B/op      27703 allocs/op
--- BENCH: BenchmarkAlertInstanceOperations-8
    util.go:127: alert definition: {orgID: 1, UID: FovKXiRVzm} with title: "an alert definition FTvFXmRVkz" interval: 60 created
    util.go:127: alert definition: {orgID: 1, UID: foDFXmRVkm} with title: "an alert definition fovFXmRVkz" interval: 60 created
    util.go:127: alert definition: {orgID: 1, UID: VQvFuigVkm} with title: "an alert definition VwDKXmR4kz" interval: 60 created
PASS
ok      github.com/grafana/grafana/pkg/services/ngalert/store   1.619s
```

After:

```
goos: darwin
goarch: arm64
pkg: github.com/grafana/grafana/pkg/services/ngalert/store
BenchmarkAlertInstanceOperations-8          1440            816484 ns/op          352297 B/op       6529 allocs/op
--- BENCH: BenchmarkAlertInstanceOperations-8
    util.go:127: alert definition: {orgID: 1, UID: 302r_igVzm} with title: "an alert definition q0h9lmR4zz" interval: 60 created
    util.go:127: alert definition: {orgID: 1, UID: 71hrlmR4km} with title: "an alert definition nJ29_mR4zz" interval: 60 created
    util.go:127: alert definition: {orgID: 1, UID: Cahr_mR4zm} with title: "an alert definition ja2rlmg4zz" interval: 60 created
PASS
ok      github.com/grafana/grafana/pkg/services/ngalert/store   1.383s
```

So we cut time by about 75% and memory allocations by about 60% when
storing and deleting 100 instances.
2022-10-06 14:22:58 +08:00
Ryan McKinley b4e23e5d32 ObjectStore: update dev protobuf definitions (#56428) 2022-10-05 18:46:17 -07:00
Leon Sorokin 8300702524 Search: fuzzy match dashboard names in frontend from full list (#55721) 2022-10-05 18:32:35 -04:00
juanicabanas 69c49f6ba2 PublicDashboards: Make mixed datasource calls concurrently (#56421)
PublicDashboards: Make mixed datasource calls concurrently
2022-10-05 18:45:17 -03:00
ying-jeanne d9cc292066 Star: Add uid in the endpoint (#54340)
* add new uid endpoing for star

* add store pool into service

* fix the endpoint caller

* udpate swagger file

* Update pkg/api/stars.go

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>

* remove useless code for star dashboard

* add new uid endpoing for star

* add store pool into service

* fix the endpoint caller

* Update pkg/api/stars.go

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>

* Update pkg/api/stars.go

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>

* solve linter

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2022-10-05 22:32:49 +02:00
Alexander Weaver 8df830557a Alerting: Move annotation functionality behind a history persistence interface (#56133)
* Move annotation functionality behind a history persistence interface

* Rename to RecordState

* Fix lint error in import aliasing

* One more import linter error
2022-10-05 15:32:20 -05:00
Kevin Yu b3087cfcd1 QueryEditorRow: Only pass error to query editor if panel is not loading (#56350) 2022-10-05 12:19:49 -07:00
Ryan McKinley 97d19830cf ObjectStore: rename modified to updated (#56420) 2022-10-05 14:58:46 -04:00
Artur Wierzbicki a94acb7f61 Object store: get user from context (#56346)
* GRPC Server: Add signedInUser to context after auth

* add permissions to signedInUser

* add access control permissions test

* add additional signedInUser checks

* get user from context

* move `UserFromContext` to object/auth.go

Co-authored-by: Todd Treece <todd.treece@grafana.com>
2022-10-05 17:00:34 +00:00
Beto Muniz 4a14d75086 Add prop to improve memory usage listing metrics (#56398) 2022-10-05 12:19:12 -03:00
Andres Martinez Gotor 2cdbd05634 Azure Monitor: Fix subscription selector when changing data sources (#56284) 2022-10-05 16:59:06 +02:00
Sven Grossmann 0d8ea2bb34 LogContext: Fix scroll position in upper context group (#56370)
* fix log row being falsely added to context

* do not add to many lines

* fix scroll position in context

* more flexible id comparison

* add original refid to context query

* added missing row comparison

* updated comment

Co-authored-by: Matias Chomicki <matyax@gmail.com>

Co-authored-by: Matias Chomicki <matyax@gmail.com>
2022-10-05 16:26:22 +02:00
Sven Grossmann 2410b88ad1 Logs: Show LogRowMenu also for long logs and wrap-lines turned off (#56030)
* show logrowmenu as new table-cell

* fix dashboard position

* added reasonable position

* fix log row message not beeing 100%
2022-10-05 16:11:08 +02:00
idafurjes bc7a383252 Remove org methods from sqlstore interface (#56358)
* Remove org methods from sqlstore interface

* Remove some mocks

* Fix some tests
2022-10-05 15:47:56 +02:00
Yuriy Tseretyan ad2a1dd680 Alerting: Start ticker only when scheduler starts (#56339) 2022-10-05 09:35:02 -04:00
Andres Martinez Gotor 8594e648e8 Azure Monitor: Adapt empty Logs response (#56378) 2022-10-05 15:29:34 +02:00
Ivan Ortega Alba 7fd613ec0d E2E: Remove time zone scenario flackyness (#55458)
Co-authored-by: polinaboneva <polina.boneva@grafana.com>
2022-10-05 16:00:33 +03:00
GitStart 48ebaa48cc Toolkit: Remove changelog command (already replaced by a github workflow) (#56073)
Co-authored-by: gitstart <gitstart@gitstart.com>
Co-authored-by: Rubens Rafael <70234898+RubensRafael@users.noreply.github.com>
Co-authored-by: Matheus Muniz <matheusmuniz100@hotmail.com>
Co-authored-by: Nitesh Singh <nitesh.singh@gitstart.dev>
Co-authored-by: Matheus Benini Ferreira <88898100+MatheusBeniniF@users.noreply.github.com>
Co-authored-by: Thiago Nascimbeni <tnascimbeni@gmail.com>
Co-authored-by: Rafael Toledo <87545086+Toledodev@users.noreply.github.com>
Co-authored-by: Murilo Amaral <87545137+MuriloAmarals@users.noreply.github.com>
2022-10-05 14:44:53 +02:00
Gilles De Mey 87cba8836f Alerting: Expressions pipeline redesign (#54601) 2022-10-05 14:35:15 +02:00
Tania 222c33c307 Remove branding feature toggle (#56379) 2022-10-05 14:07:35 +02:00
Ashley Harrison 78a57f2064 Navigation: use ToolbarButton in TopSearchBar for consistency (#56371)
* use ToolbarButton in TopSearchBar for consistency

* Removed unnessary styles

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-10-05 12:22:47 +01:00
Dimitris Sotirakis 636ae8d091 Update grabpl version to v3.0.11 (#56377) 2022-10-05 14:18:28 +03:00
Torkel Ödegaard b396f16fe1 TopNav: Section styling fix (#56372) 2022-10-05 13:06:51 +02:00
Jack Westbrook dcc02a8ebe Storybook: Fix asset paths for hosted storybooks (#56319)
* feat(sass): introduce font-file-path var to define where to load fonts from

* feat(storybook): introduce storybook sass theme styles to set font file paths

* chore(sass): change imports so treated as sass rather than css

* feat(storybook): filter assets so builds dont contain thousands of files
2022-10-05 12:10:29 +02:00
Torkel Ödegaard aa274500cf TopNav: Fixes to page and plugin page handling (#56278)
* Added labels

* App page fixes

* Switch to switch

* Fixing sort position for Apps
2022-10-05 11:46:27 +02:00
Ivana Huckova 4469572b27 Loki: Add support for range aggregations with by grouping (#56184)
* Loki: Fix unwrapped range operations with grouping

* Update, fix tests

* Fix modeller
2022-10-05 11:32:33 +02:00
Gilles De Mey 015651f860 @grafana/ui: adds a virtualized options for the Select component (#55629) 2022-10-05 10:33:47 +02:00
Ashley Harrison 7ac7f844f4 improve some grafana-ui types (#56318) 2022-10-05 09:04:10 +01:00
Levente Balogh ae5e8bc53b refactor: rename Data Connections to Connections (#56353) 2022-10-05 09:56:58 +02:00
brendamuir b1b3f9e24c Fixes alertmanagers whats new entry (#56356) 2022-10-05 08:39:50 +01:00
idafurjes 5167c55760 Chore: Move methods from sqlstore to user store (#56305)
* Copy sqlstore methods to suer store

* Adjust ProvideService signatures in test

* Add xorm tags and tests for search

* Remove methods from sqlstore

* fix lint in tests
2022-10-05 09:34:36 +02:00
Torkel Ödegaard 580ca144fd StyleGuide: Minor fix for themes.md (#56012)
* Update themes.md

* Update themes.md

* Updates
2022-10-05 08:50:39 +02:00
Gábor Farkas 3f4bf76324 cloudwatch-logs: use not-deprecated version of type (#56239) 2022-10-05 08:47:57 +02:00
Dimitris Sotirakis 5cdc932f8c CI: Stop publishing OSS images for security mode (#56088)
* No-op: Refactor publish images pipeline struct

* Stop publishing images for OSS
2022-10-05 09:39:38 +03:00
George Rodrigues 8950d86141 fix: some typos (#56171) 2022-10-04 18:43:49 -05:00
Todd Treece 4163f31d76 GRPC Server: Add signedInUser to context (#56059) 2022-10-04 16:31:02 -04:00
sam boyer ba97b268d0 Playlist: Split PlaylistItem into standalone TS type (#56343)
* playlist: Split PlaylistItem into standalone TS type

* update playlist model

* actually set the title

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-10-04 16:08:26 -04:00
Nathan Marrs 2c1c98f3b6 Canvas: Promote to beta (#56217)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-10-04 12:29:56 -07:00
Adela Almasan 8833e35b43 Canvas: Increase Add Item picker width (#56204) 2022-10-04 15:22:11 -04:00
Ryan McKinley 4fc9b9aa35 Storage: Cleanup object history API (#56215) 2022-10-04 14:57:26 -04:00
Kat Yang 7715672fb3 Chore: use org service methods (#55768)
* Chore: use org service methods

* fix tests

* fix errors

* adjust func signatures for getbyname

* 💩

* Use the same fake service to get the user in AC and in HS

* Fix middleware test

* Fix more middleware test

* Fix api tests

Co-authored-by: gamab <gabi.mabs@gmail.com>
Co-authored-by: Ida Furjesova <ida.furjesova@grafana.com>
2022-10-04 14:48:02 -04:00
Grot (@grafanabot) 169f1ab974 ReleaseNotes: Updated changelog and release notes for 9.1.7 (#56323) 2022-10-04 16:56:21 +00:00
Ryan McKinley d5e2713168 Storage: Add HTTP endpoint for object store service (#56214) 2022-10-04 09:40:15 -07:00
Sofia Papagiannaki bba6eb1f2d Chore: update latest.json to 9.1.7 (#56315) 2022-10-04 19:32:13 +03:00
Jack Westbrook d7228829ad Grafana UI: Clean up bundle (#56100)
* chore(grafana-ui): don't bundle emotionPerfTest

* chore(grafana-ui): fix circular dependencies that cause esm chunks to not match up

* chore(grafana-ui): prevent bundling all css properties in package types
2022-10-04 17:51:45 +02:00
Grot (@grafanabot) a50017da1d ReleaseNotes: Updated changelog and release notes for 9.1.7 (#56313) 2022-10-04 18:26:30 +03:00
Ryan McKinley 3b1a8d45ed Playlist: update service so it supports both read+write (#55959) 2022-10-04 11:11:18 -04:00
Ashley Harrison d293055ef6 enable rule jsx-a11y/iframe-has-title (#56292) 2022-10-04 16:04:28 +01:00
Giordano Ricci a7de5182b0 Explore: Revert split pane resize feature (#56310)
* Revert "Explore: Prevent panes from disappearing when resizing window in split view (#55696)"

This reverts commit 0a5aa19ca2.

* Revert "Explore: Add resize to split view, with Min/Max button (#54420)"

This reverts commit c3e4f1f876.
2022-10-04 15:42:43 +01:00
Ashley Harrison d3f50f791c Convert test to RTL (#56279) 2022-10-04 15:37:47 +01:00
Dimitris Sotirakis d94af21cac Replace filename with path without the local dir (#56296) 2022-10-04 17:18:07 +03:00
brendamuir 8176810b2b adds alertmanager to whats new (#56304) 2022-10-04 14:59:52 +01:00
Christopher Moyer d0b437741e adds 4 links to blogs (#56193) 2022-10-04 08:28:00 -05:00
Gábor Farkas 291276e767 elasticsearch: improved types in the typescript files (#56293) 2022-10-04 15:08:57 +02:00
Todd Treece 152c7f149a Prometheus: Add Exemplar sampling for streaming parser (#56049) 2022-10-04 08:40:01 -04:00
Leo 4eea5d5190 Navigation: Use navid and pagnav in alert rules pages (#55722)
* add navid and pagenav to edit/add/view alert rules

* move ruleeditor smaller component to its own file

* fix form alignments with new layout

* fixed broken test

* reuse AlertingPageWrapper
2022-10-04 14:36:36 +02:00
idafurjes a25516fbe3 Chore: Copy sqlstore methods to user store (#56280)
* Chore: Copy sqlstore methods to user store

* Fix xorm tag

* Add tests

* Remove unused methods from sqlstore
2022-10-04 14:14:32 +02:00
Mitch Seaman 3d58f39b25 Remove Custom Branding previews from What's new (#56273)
We need to remove the custom branding announcement from the 9.2 release, since we will not release the feature in Grafana Enterprise.
2022-10-04 13:06:10 +01:00
Gábor Farkas 3fb104209f explore: logs volume histogram: anchor graph to zero (#56200) 2022-10-04 13:54:39 +02:00
Ashley Harrison e942a3d99d enable jsx-a11y/no-autofocus (#56288) 2022-10-04 12:54:14 +01:00
Gabriel MABILLE 80dfa788c6 Azure OAuth: Use TID from id_token by default (#56264)
Co-authored-by: Kalle Persson <kalle.persson@grafana.com>

Co-authored-by: Kalle Persson <kalle.persson@grafana.com>
2022-10-04 13:48:15 +02:00
Sofia Papagiannaki 91b4ce08a9 Update github.com/labstack/echo/v4 (#56226) 2022-10-04 14:31:05 +03:00
Will Browne 1038ac7308 DataSources: Remove unused cfg from core Grafana data source (#56188)
* remove unused cfg from grafana ds

* fix test
2022-10-04 06:32:25 -04:00
Todd Treece 2d433194d0 GRPC Server: Add tracing interceptors (#56045)
Co-authored-by: Artur Wierzbicki <artur.wierzbicki@grafana.com>
2022-10-04 14:27:14 +04:00
idafurjes a863a4d95d Chore: Copy user methods over to user store (#56000)
* Chore: Copy user methods over to user store

* Fix some tests and bugs

* Add some more tests

* Move tests to user store

* Move back the tests

* Add some tests
2022-10-04 12:17:55 +02:00
Ashley Harrison ab09f2783c fix section root styling, parentItem will be the home item now (#56266) 2022-10-04 11:17:12 +01:00
Dimitris Sotirakis 26d64a778e Add cronjob option at switch case (#56272) 2022-10-04 11:15:47 +01:00
renovate[bot] cb5195329b Update dependency selecto to v1.20.2 (#56245)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-04 10:42:49 +01:00
Joe Blubaugh ce89624ca2 Alerting: Update imported prometheus alertmanager version. (#56228)
Version 0.24.0 has a few bugs that cause panics. We update here to the
latest commit on github.com/prometheus/alertmanager's main branch.

Panic Bugs:
https://github.com/prometheus/alertmanager/issues/2936
https://github.com/prometheus/alertmanager/issues/3064
2022-10-04 17:41:34 +08:00
Ashley Harrison 7e5509891a Navigation: adjust megamenu position in mobile (#56262)
* adjust megamenu position in mobile

* improve mobile breadcrumb logic
2022-10-04 10:40:34 +01:00
Gábor Farkas 3c1de8750c GrafanaData: Deprecate the LogsParser type (#56242)
* added copy of code to main-grafana

* grafana-data: add depreceted-notice
2022-10-04 11:25:22 +02:00
Andreas Christou 462ca50512 AzureMonitor: Ensure resourceURI template variable is migrated (#56095)
* Ensure resourceURI template vars are migrated

- Do not filter queries containing a resource URI template
- Update migration
- Add test

* Update condition

* Review
2022-10-04 04:44:34 -04:00
renovate[bot] efe4ce06a2 Update dependency sass to v1.55.0 (#56243)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-04 09:41:26 +01:00
Levente Balogh cc6fae18db BackendSrv: Make it possible to pass options to .get|post|patch... methods (#51316)
* feat: make it possible to pass in `options` to `.get()`, `.post()`, etc methods

* feat(Datasource): make it possible to specify `optinos` for `getResource()` and `postResource()`

* fix(BackendSrv): use partial `BackendSrvRequest`

* feat(Datasource): make it possible to set `options` for resource requests

* refactor(BackendSrv): remove internal usage of `.request()`

* fix(GettingStarted): remove unnecessary import

* fix: fix type issues by typing the delete dashboard response

* refactor: use more strict types for `params`

By reusing the type of `BackendSrvRequest.params`

* refactor: make the options paramater partial

* fix: extract `data` from the fetch response

* docs: update the deprecation notice or `BackendSrv.request()`

* refactor: use `.request()` as if it was private

* refactor: remove unnecessary change
2022-10-04 10:40:21 +02:00
Giordano Ricci 489b302c03 Glue: Correlations minor APIs behavior improvements (#56078)
* add correlation config type, CorrelationConfig validator & default values

* make config required when creating correlations

* make targetUID optional, add validation for createCommand & configType

* fix tests

* update remaining tests

* fix lint error

* Update pkg/services/correlations/models.go

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>

* update docs

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
2022-10-04 09:39:55 +01:00
Giordano Ricci 3381629d3d Chore: Convert Wrapper to function component (#56172)
* WIP

* remove comment
2022-10-04 09:39:22 +01:00
Jesus Vazquez cb99b94b01 Add error information to graphite queries tracing (#55249)
This commit extends graphite QueryData() instrumentation to include in
the traces information about possible errors.

I've added an attribute about the graphite response code as well as
records for errors if there are any.
2022-10-04 10:30:27 +02:00
Ashley Harrison 317b353b34 Navigation: Collapsible section nav implementation (#55995)
* initial collapsible section nav implementation

* fix unit tests

* automatically collapse sectionnav when below lg size

* fix unit tests

* only register 1 event listener each time

* fix display name for SectionNavToggle
2022-10-04 09:19:23 +01:00
Will Browne 4087ad413f re-use fake trace + feature toggles (#56186) 2022-10-04 10:15:10 +02:00
renovate[bot] c83d576ffc Update dependency @cypress/webpack-preprocessor to v5.13.1 (#56072)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-04 09:14:09 +01:00
renovate[bot] 51cf573656 Update dependency rudder-sdk-js to v2.15.0 (#56196)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-04 09:11:37 +01:00
Esteban Beltran 25bb926a0a Toolkit: Deprecate component:create command (#56086)
* Mark component:create as deprecated

* Update message

* Update packages/grafana-toolkit/src/cli/index.ts

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

* Add alternative message

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2022-10-04 09:43:24 +02:00
Victor Marin 7b93d85a85 XYChart: Beta release (#55973)
* Bump state from alpha to beta

* Sync manual pointsize max with auto one

* Add xyChart to list
2022-10-04 10:41:36 +03:00
Dimitris Sotirakis 8eea6f7f4f Add edition as environment var (#56069) 2022-10-04 10:35:18 +03:00
Leon Sorokin eeb31c2901 Heatmap: fix color scheme reversal (#56227) 2022-10-04 02:17:58 -05:00
Dimitris Sotirakis f7c6fe0c97 Fix update-changelog.yml version input (#56224) 2022-10-04 02:55:13 -04:00
Victor Marin 6913623461 Take standard options min/max into account (#55972) 2022-10-04 08:58:35 +03:00
Brendan O'Handley 82d8015469 OpenTSDB: Convert the OpenTSDB Query Editor from Angular to React (#54677)
* add query editor to module

* add metric section, add tests, update query type

* remove use of any for betterer

* fix test

* add tooltip for alias

* run runQuery on select change, fix metric select loading

* add downsample row, differentiate for tsdb version

* add tests for mteric section and downsample section

* add filter section react component and tests

* add tag section and tests

* add rate section and tests

* remove angular code

* fix styling

* remove comments

* remove unused code
2022-10-03 17:00:46 -04:00
Ethan ad48cee2bb init sbom action (#56177) 2022-10-03 15:53:28 +00:00
Torkel Ödegaard dba0baec69 TopNav: Fix pages import dashboard and create new folder (#56182) 2022-10-03 17:30:53 +02:00
renovate[bot] bcd1c48a4d Update dependency rollup-plugin-esbuild to v4.10.1 (#56191)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-03 16:27:37 +01:00
Gareth Dawson 05e958f689 Loki: Add tests for LokiOptionFields.tsx (#56183)
* WIP: Added tests to LokiOptionFields.test.tsx

* chore(loki-option-fields): fix error with `userEvent`

Using `fireEvent` prevents the running condition.

* Add tests for LokiOptionFields.tsx

* chore: remove unwanted comments

* chore: update test names

Co-authored-by: Matias Chomicki <matyax@gmail.com>
2022-10-03 15:56:30 +01:00
renovate[bot] 8f578d18ce Update dependency rollup to v2.79.1 (#56187)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-03 16:42:55 +02:00
Todd Treece 1c61c81dde Prometheus: Various buffered and streaming parsing fixes (#55941) 2022-10-03 10:26:54 -04:00
Ashley Harrison 8984507291 Navigation: show breadcrumbs correctly when on the home page (#55759)
* show breadcrumbs correctly when on the home page

* adjust breadcrumb unit tests

* update betterer

* fix backend tests

* update getSectionRoot to look at the home nav id

* remove redundant setting of home dashboard

* construct a home navmodelitem in the backend

* fix cases when the feature toggle is off

* fix unit test

* fix more unit tests

* refactor how buildBreadcrumbs works

* use HOME_NAV_ID

* move homeNav useSelector into NavToolbar

* remove unnecesary cloneDeep

* don't need locationUtil here

* restore using getUrlForPartial in DashboardPage

* special case for the editview query param

* remove commented out code

* add comment to clarify splice behaviour

* slightly cleaner syntax
2022-10-03 15:05:19 +01:00
Virginia Cepeda 0d348dc0b1 Alerting: log alert rule creation and clicking state filters (#55698)
* Add messages for new trackings

* Track clicking on alert state filters

* Track creating alert rule from panel

* Track creating alert rule from scratch

* Track on success and when cancelling a rule creation
2022-10-03 11:00:19 -03:00
Santiago 09f8e026a1 Alerting: Expose info about notification delivery errors in a new /receivers endpoint (#55429)
* (WIP) switch to fork AM, first implementation of the API, generate spec

* get receivers avoiding race conditions

* use latest version of our forked AM, tests

* make linter happy, delete TODO comment

* update number of expected paths to += 2

* delete unused endpoint code, code review comments, tests

* Update pkg/services/ngalert/notifier/alertmanager.go

Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>

* remove call to fmt.Println

* clear naming for fields

* shorter variable names in GetReceivers

Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
2022-10-03 10:58:41 -03:00
Yuriy Tseretyan 1e16dd5b7c Docs: Update Grafana Alerting migration article to mention paused alert rules (#55590)
Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2022-10-03 09:45:09 -04:00
Christopher Moyer c5b68ed497 adds note about org_role being case sensitive (#56043) 2022-10-03 08:20:19 -05:00
Dimitris Sotirakis d32c67b52a CI: Add packages-bucket flag to publish packages command (#56170)
* Add public bucket string

* Fix lint
2022-10-03 13:29:32 +01:00
Oscar Kilhed 3342e529b4 Docs: Update postgresql and mssql docs (#56011)
* Update mssql docs first draft

* Update postgresql docs first draft

* update image tag

* add missing >

* Update docs/sources/datasources/mssql.md

* Update docs/sources/datasources/mssql.md

* Update docs/sources/datasources/postgres.md

* Update docs/sources/datasources/postgres.md

* Update docs/sources/datasources/postgres.md

* Reflect updated image names

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>
2022-10-03 14:06:51 +02:00
Oscar Kilhed 885e8efec6 Docs: update mysql docs to reflect editor changes (#54568)
* Docs: update mysql docs to reflect visual query builder/code editor changes

* Apply suggestions from code review

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>
Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Add missing >

* Reflect updated image name

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>
Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2022-10-03 14:06:20 +02:00
Dimitris Sotirakis 947838cca0 CI: Move grafanacom command to OSS (#55853)
* Move publish-packages command over from

* Fix lint

* Move grafanacom command to OSS

* Add GetLatestMainBuild to gsutil

* Fix lint

* More lint fixes

* Add tests for grafanacom

* Fix lint
2022-10-03 14:14:24 +03:00
renovate[bot] abfd647283 Update dependency lerna to v5.5.4 (#54955)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-03 12:45:11 +02:00
renovate[bot] eed8df5ccc Update dependency react-colorful to v5.6.1 (#56165)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-03 11:38:18 +01:00
ms-hujia ec024ae960 Azure Monitor: Add support to customized routes (#54829) 2022-10-03 12:33:37 +02:00
Eric Leijonmarck 4200d7b246 Auth: fix check for conflict login in validation (#56154)
* fix: check for conflict login

* review comment fix
2022-10-03 06:24:26 -04:00
renovate[bot] 3372668889 Update dependency css-minimizer-webpack-plugin to v4.2.0 (#56153)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-03 10:58:26 +01:00
Jack Westbrook d1b21a5981 Grafana UI: Prevent built storybook being bundled with package (#56158) 2022-10-03 11:41:38 +02:00
Ashley Harrison f2b06abb33 Convert SpanDetail/index.test.js to RTL (#56019) 2022-10-03 10:22:50 +01:00
Ashley Harrison 3e688ecf7d Navigation: remove description from the backend navmodel and use subTitle instead (#56155)
* remove description from the backend navmodel and use subTitle instead

* only add admin subtitle in topnav
2022-10-03 10:09:32 +01:00
Eric Leijonmarck f7de253cdd fix: remove permission grouping (#56157) 2022-10-03 10:59:24 +02:00
gotjosh 501e921b2b Alerting: Allow created by to be manually set when there's no creator for silences (#55952)
* Alerting: Allow created by to be manually set when there's no creator

Grafana has a mode that allows unauthenticated interaction, typically the created by field of a silence is inferred from the current logged user. When this is not present, the field is left black and thus the silence creation fails.

This allows us to set the created by when we is not possible to infer it from the current user.

* Show created by input field only if user is not logged

* Add test for new logic with createdBy input field

Co-authored-by: Sonia Aguilar <soniaaguilarpeiron@gmail.com>
2022-10-03 10:56:27 +02:00
Laura Fernández fca252e7dc A11y: enable rule jsx-a11y/alt-text (#55832)
* Enable jsx-a11y/alt-text rule

* Fix errors

* Fix tests

* Enable jsx-a11y/alt-text rule after solving merge conflict

* Delete unused import

* Modify files according to the reviewer's comments

* Revert test changes and update snapshot

* tweaks to image alt names

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-10-03 09:27:04 +01:00
renovate[bot] 6856784134 Update Storybook updates to v6.5.10 (#49793)
* Update Storybook updates to v6.5.6

* refactor(storybook): fix up dependencies and webpack configs

* chore(storybook): bump to 6.5.7

* chore(yarn): refresh lock file

* chore(storybook): bump storybook to 6.5.10

* refactor(storybook): update configuration to use babel, tidy webpack config, clean dependencies

* chore(storybook): bump to 6.5.12

* chore(storybook): bump storybook-dark-mode to 1.1.2

* chore(storybook): workaround resolving storybook-docs addon for yarn pnp

* refactor(storybook): remove preview-head.html in favour of global theme styles

* chore(storybook): patch storybook-dark-mode to work with SB 6.5.x and yarn PnP

* feat(storybook): move to using MDXv2

* fix(icon): make sure icon story doesn't disappear offscreen and is scrollable

* chore(grafana-ui): clean up dependencies related to storybook

* feat(storybook): enable webpack5 filesystem cache

* feat(storybook): replace babel with esbuild

* fix(emotionperftest): fix jsx pragma for esbuild

* fix(emotionperftest): force jsxRuntime to classic so esbuild and babel compile without error

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2022-10-03 09:23:47 +02:00
Esteban Beltran 29ca8de6c0 Toolkit: Remove unused legacy cherrypick command (#56114) 2022-10-03 09:04:11 +02:00
Nathan Marrs fc62f7ae23 Canvas: Add text element (#56137)
Co-authored-by: Drew Slobodnjak <drew08t@users.noreply.github.com>
2022-09-30 17:21:02 -07:00
Garrett Guillotte ef1aa8ceb8 Docs: Add link to TimescaleDB docs (#56134)
* Added a link for more information

Added a link to TimescaleDB so that users can get additional information if need be.

* fixed formatting

* fixed the table

* made it prettier

* make it pretty for CI

Co-authored-by: Rajakavitha Kodhandapani <krajakavitha@gmail.com>
2022-09-30 15:35:11 -07:00
Ryan McKinley 385ebea540 Devenv: move timeseries dashboards to a timeseries folder (#56131) 2022-09-30 13:10:20 -07:00
Artur Wierzbicki 85b965cbec Storage: Dummy object server and basic integration tests (#56014)
* object extractors

* update bluge to use summary values

* gosec

* move to store/object package

* references

* references

* references

* same thign but with protobuf

* now the service

* now with summary

* now with summary

* from protobuf

* from protobuf

* cleanup

* remove hand crafted file

* update proto definitions

* update comments

* remove properties

* remove properties

* re-generate

* add batch

* move ref to raw struct

* GRPC test infra

* fix merge

* add delete

* lint

* rename to dummyobjectserver

* update comment

* refactor collection, simplify dummy server

* update

* refactor test structure

* more tests

* more tests

* replace collection with infra/persistentcollection

* skip if not integration test suite

* very important lint fix

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-09-30 15:56:07 -04:00
Ryan McKinley 268a49cb38 Devenv: add dashboard showing timeseries out of range points (#56130) 2022-09-30 15:47:23 -04:00
Alexander Weaver c16317e5b8 Alerting: Move fake rule store to the test utilities package (#56062)
* Move fakeRuleStore to tests/fakes package

* Break stub dependencies on store

* Update existing tests to point to new location

* Remove unused stub of TimeNow

* Rename fake to take advantage of package name
2022-09-30 14:36:51 -05:00
Drew Slobodnjak 82d7f80a15 Canvas: Rename textbox to rectangle (#55633)
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2022-09-30 10:44:47 -07:00
Artur Wierzbicki ea1334c01d Chore: Persistent collection (#56074)
* persistent collection

* dont remove temp dir

* temp dir change

* lint

* add experimental comment

* move to X package

* lint

* orgID -> namespace
2022-09-30 21:34:44 +04:00
Nathan Marrs 2eb24bbc4e Canvas: Add canvas editor options to inline editor (#55970)
Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
2022-09-30 09:52:30 -07:00
Andres Martinez Gotor 9958f938e0 @grafana/ui: Render PageToolbar Go Back icon for smaller window size (#55671) 2022-09-30 17:36:14 +02:00
kay delaney 81a39b7e5b Variables: Add confirmation modal when deleting variables (#56016) 2022-09-30 16:32:14 +01:00
Alexa V e2ef41be72 Docs [Standard options definitions] Add missing information for prefix in custom unit (#56098) 2022-09-30 16:13:26 +02:00
renovate[bot] c29667f35e Update dependency react-calendar to v3.9.0 (#55921)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-30 06:42:04 -07:00
Gareth Dawson 2338660a62 Loki: Add more assertions to loki-query-builder.spec.ts (#56044)
* Add more assertions to loki-query-builder.spec.ts

* Update assertions in loki-query-builder.spec.ts
2022-09-30 14:27:48 +01:00
Josh Hunt 80065c47ab Chore: Updating swagger spec (#56094) 2022-09-30 09:15:09 -04:00
Leo 7df49ca230 Navigation: Add News to top nav (#55466)
* added news feed component

* move button to news component

* create newsfeed hooks and conver NewsPanel to functional component

* added news_feed_enabled and news_feed_url to server settings ini

* add default value in defaults.ini

* set news drawer settings value to true by default

* remove server settings config

* use useToggle hook

* fix newsitem render

* support drawer on mobile screen

* use media query utility
2022-09-30 15:11:24 +02:00
juanicabanas 5eab922a16 Dashboard: Record the number of cached queries for usage insights. 2022-09-30 09:49:16 -03:00
Gábor Farkas a069a01853 grafana-data: logs: add deprecated-info (#56077) 2022-09-30 14:22:04 +02:00
Ashley Harrison 5b1fdd535a Accessibility: turn on jsx-a11y/no-noninteractive-tabindex + fix/ignore errors (#56084)
* turn on jsx-a11y/no-noninteractive-tabindex + fix/ignore errors

* update comments
2022-09-30 13:20:39 +01:00
Shirley 09079bfb65 Upgrade to grafana-aws-sdk v0.11.0 (#56042) 2022-09-30 13:51:28 +02:00
Marcus Andersson d406e6d899 Docs: Added icon type improvements to plugin migration guide (#56075) 2022-09-30 13:17:11 +02:00
Laura Benz fc6afc6b84 Core: Implement aria attributes for query rows, improve a11y (#55563)
* feat: add aria-expanded prop

* refactor: remove console.log()

* feat: add aria-controls

* refactor: add id to expendable section

* refactor: create unique id
2022-09-30 13:03:55 +02:00
sam boyer 9ec7b202b6 playlist: introduce coremodel schema, swap in for backend DTO types (#56048)
* Add simplest possible playlist schema

* Add @grafana(decisionNeeded) attributes

* playlistid, not playlist_id
2022-09-30 06:33:11 -04:00
Gábor Farkas d2601003cf Logs: move logs-functions from grafana-data to grafana-main (#55457)
* logs: move utils from grafana-data to grafana

* logs: adjust imports

* updated betterer checksum file
2022-09-30 12:16:47 +02:00
Sven Grossmann 0c1e4979af add correct overscroll-behavior to context modals (#56070) 2022-09-30 11:25:51 +02:00
renovate[bot] 62811c2141 Update dependency @rushstack/node-core-library to v3.53.0 (#56002)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-30 10:01:30 +01:00
Timur Olzhabayev 2ded4c12ab Chore: Rename one of the publish docs action steps (#55888) 2022-09-30 09:48:54 +02:00
Jeff Levin e4157361d9 documentation: update documentation for enabling tracing on a grafana instance (#56068)
This PR improves docs around enabling traces on grafana.
In order to enable tracing and get a traceID, you must set the address field in your config.ini

https://github.com/grafana/grafana/blob/main/contribute/engineering/backend/instrumentation.md#2-enable-tracing-in-grafana
2022-09-30 03:44:12 -04:00
GitStart 2664575a4a Dashboard Edited/Saved notifications leak into other views (#55540)
Co-authored-by: Nitesh Singh <nitesh.singh@gitstart.dev>
Co-authored-by: gitstart <gitstart@users.noreply.github.com>
Co-authored-by: Rubens Rafael <70234898+RubensRafael@users.noreply.github.com>
Co-authored-by: RubensRafael <rubensrafael2@live.com>
Co-authored-by: Matheus Benini Ferreira <88898100+MatheusBeniniF@users.noreply.github.com>
Co-authored-by: Thiago Nascimbeni <tnascimbeni@gmail.com>
Co-authored-by: gitstart <gitstart@gitstart.com>
Co-authored-by: Rafael Toledo <87545086+Toledodev@users.noreply.github.com>
Co-authored-by: Murilo Amaral <87545137+MuriloAmarals@users.noreply.github.com>
Co-authored-by: Júlio Piubello da Silva Cabral <julio.piubello@gitstart.dev>

Co-authored-by: gitstart <gitstart@users.noreply.github.com>
Co-authored-by: Nitesh Singh <nitesh.singh@gitstart.dev>
Co-authored-by: Rubens Rafael <70234898+RubensRafael@users.noreply.github.com>
Co-authored-by: RubensRafael <rubensrafael2@live.com>
Co-authored-by: Matheus Benini Ferreira <88898100+MatheusBeniniF@users.noreply.github.com>
Co-authored-by: Thiago Nascimbeni <tnascimbeni@gmail.com>
Co-authored-by: gitstart <gitstart@gitstart.com>
Co-authored-by: Rafael Toledo <87545086+Toledodev@users.noreply.github.com>
Co-authored-by: Murilo Amaral <87545137+MuriloAmarals@users.noreply.github.com>
Co-authored-by: Júlio Piubello da Silva Cabral <julio.piubello@gitstart.dev>
2022-09-30 09:18:50 +02:00
Ryan McKinley 213cfe5117 Object: use protobuf to declare the raw/summary types (#55646) 2022-09-29 22:18:15 -07:00
Alexander Weaver d66ed6fe35 Alerting: Move stray model structs in store package to model package (#55968)
* Move stray command structs to model package like the rest

* Fix broken references
2022-09-29 15:47:56 -05:00
lean.dev 7bd8dbf2f8 Docs: Update Public Dashboard documentation (#56035) 2022-09-29 14:24:38 -03:00
Sven Grossmann 3afa3f5e21 fix wrong context height (#56024) 2022-09-29 18:12:20 +02:00
sam boyer 59a3e18bb2 Fix prefix dropper in Go codegen (#56041) 2022-09-29 12:01:02 -04:00
Mike McFarland 46da77d1a0 docs: fix typo in is_null expression explainer (#55988) 2022-09-29 10:04:43 -05:00
Sofia Papagiannaki 6099e55e62 SQLStore: Remove call to deleted store.NewSession() (#56025) 2022-09-29 10:17:33 -04:00
Sven Grossmann 6bc09a6390 Logs: Add Download logs button to log log-browser (#55163)
* move download functions to utils

* add downloads button

* removed unused export annotations

* changed button to `ToolbarButton`

* added tests and restructured download methods

* pin `blob-polyfill`

* add missing import

* changed type
2022-09-29 16:09:40 +02:00
Sofia Papagiannaki 8b77ee2734 SQLStore: Ensure that sessions are always closed (#55864)
* SQLStore: Ensure that sessions are always closed

Delete `NewSession()` in favour of `WithDbSession()`

* Add WithDbSessionForceNewSession to the interface

* Apply suggestions from code review
2022-09-29 15:55:47 +03:00
Sven Grossmann c9e957a44e Logs: Center show context modal on click (#55989)
* added center implementation

* fixed passing `scrollElement` to wrong component

* rather destructure than direct ref

* removed unnecessary `undefined`
2022-09-29 14:51:20 +02:00
Artur Wierzbicki 64eff8196c Chore: expose grpc server address (#56013) 2022-09-29 08:42:01 -04:00
Eric Leijonmarck 1e8f8dff4b Auth: Adds validation and ingestion of conflict file (#53014)
* add users-manager command

* add users-manager command

* rename files

* refactor: imports and renaming

* Command: add conflict merge user command

- MergeUser will
	- replace all user_ids from conflicting users to the chosen userId
	- delete users whose user_ids are not the chosen user
- SameIdentification will
	- update chosen user with chosen email,login details
	- delete users whose user_ids are not the chosen user

* refactor: clean up

* refactor: create structure for read, validate, ingest

* feat: ls and generate-file for conflicting users

* remove usagestats

* added back pkg/services/login/authinfoservice/database/stats.go

* Revert "added back pkg/services/login/authinfoservice/database/stats.go"

This reverts commit 2ba6e3c4d6.

* Revert "remove usagestats"

This reverts commit 1e3fa97810.

* cherry pick

* Revert "cherry pick"

This reverts commit 461626c306.

* validation of picked merge user

* fix test

* make lint

* make test run

* tests for ingest working

* clean up and refactored to align with downstream refactoring

* formatting

* refactor: name list instead of ls

* fix: static lint error use trimprefix

* WIP: permissions for validation

* fix: remove unused functions in sqlstore

* fix: remove unused function

* handling of multiple users and resolve discarded users

* fix tests

* fix: bug that did not exclude the blocks

* ioutil is blacklisted

* WIP: validation

* tests for merging a user working

* add latest changes to output print

* refactor: removed conflictEmail and conflictLogin that was not used

* refactor: code clean up, showChanges working

* test and linting fixes

* test and linting fixes

* refactor: removed logging of config and added more info for vlidation command

* refactor: fix order of code

* fix time now

* refactor: no longer need for check casesensitive login/email

* removed unnessecary loop

* refactor: move functions around

* test: working

* docs: add docuemntationf for file

* Add failing test for generating the conflict login block

* Fix regex

* Fix some stuff/tests

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

* add: docs for conflict file

* add: conflict_email, conflict_login fields

* add: conflict_email, conflict_login fields

* WIP

* fix: tests working as intended

* Update pkg/cmd/grafana-cli/commands/conflict_user_command.go

Co-authored-by: linoman <2051016+linoman@users.noreply.github.com>

* review comments

* Update pkg/cmd/grafana-cli/commands/conflict_user_command.go

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>

* Update pkg/cmd/grafana-cli/commands/conflict_user_command.go

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>

* missspelling

* trailing new line

* update to use userimpl store

* remove newline

* remove newline

* refactor: initializing of resolver for conflicts

* fix: test sqlStore

* refactor: removed lines

* refactor: remove TODOs

Co-authored-by: Mihaly Gyongyosi <mgyongyosi@users.noreply.github.com>
Co-authored-by: linoman <2051016+linoman@users.noreply.github.com>
2022-09-29 14:26:24 +02:00
Dimitris Sotirakis 9a68f8704f CI: Move publish-packages command over from grabpl (#55850)
* Move publish-packages command over from

* Lint fixes

* Update test
2022-09-29 07:32:42 -04:00
Ivana Huckova b39d629142 Loki: Show invalid fields in label filter (#55751)
* Loki: Show invalid fields in Label filter

* Update

* Update comment

* Update comment
2022-09-29 13:32:01 +02:00
Torkel Ödegaard b4f73c9f09 PluginPages: Support plugin pages that don't belong to a section (#55904)
* Fixing pages that don't exist in navtree

* Fix test

* fix lint warning

* Fixes
2022-09-29 13:27:51 +02:00
Artur Wierzbicki 34f18aacd6 Chore: add more input parameters to serviceaccounts/test/common.go (#55994) 2022-09-29 12:11:53 +01:00
Ashley Harrison 27abc32608 fix lockfile (#56003) 2022-09-29 06:52:33 -04:00
renovate[bot] 836b3b4dd6 Update dependency rc-tree to v5.7.0 (#55902)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-29 11:22:01 +01:00
Alexa V c4500438a4 Variable: Limit variable name to 50 characters (#55406)
Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
Co-authored-by: kay delaney <kay@grafana.com>
2022-09-29 12:13:07 +02:00
Ivana Huckova 21a99fba7e Loki/Prometheus: Fix adding of ad hoc filters when jumping from dashboard to explore (#55915)
* Loki, Prometheus: Fix adding of ad hoc filters when jumping from dashbaord to explore

* Update
2022-09-29 11:17:41 +02:00
Sven Grossmann 9cf1f2224c LogsContext: Added button to load 10 more log lines (#55923)
* added load-more button

* added missing px
2022-09-29 10:44:15 +02:00
Jack Westbrook 5c5228da61 Toolkit: Put back publishConfig access public (#55983) 2022-09-29 04:31:52 -04:00
brendamuir ebdc13ed86 Docs alerting: copy edit terraform provisioning (#55978)
* Docs alerting: copy edit terraform provisioning

* changes intro sentence for explore
2022-09-29 10:19:16 +02:00
Sven Grossmann 998a368c69 Logs: Show copy button independently from context (#55934) 2022-09-29 10:00:01 +02:00
aimuz bf07deb992 Fix showWhen failure (#55337)
When a contact point configuration field has `showWhen` set on it, the contact point form was not correctly displaying. This change fixes that so that forms display correctly.
2022-09-29 15:00:49 +08:00
Nathan Marrs 5a9dfd7173 Canvas: Fix inline edit toggle crash (#55961) 2022-09-28 15:31:30 -07:00
Drew Slobodnjak b0cd511ecc Geomap: Fix tooltip display option (#55956) 2022-09-28 15:21:21 -07:00
Leon Sorokin 16c9c858b8 BarChart: add negY transform to fieldConfig overrides (#55930) 2022-09-28 14:32:37 -06:00
Marcus Andersson fc09d5a8a7 GrafanaUI: Expose data links context types externally (#55905) 2022-09-28 21:35:46 +02:00
Ezequiel Victorero b370a8e366 PublicDashboards: Allow disabling an existent public dashboard if it has template variables (#55778) 2022-09-28 15:34:53 -03:00
Todd Treece a281c26580 GRPC Server: Move reflection to a separate gRPC service (#55872) 2022-09-28 14:00:46 -04:00
Giedrius Statkevičius e8ac52ba0f Prometheus: fix proxy check (#54823)
The original check has been added ~3 years ago and since then a new
variable has been added that says whether the mode is browser or
proxied.

Start using the new variable in this function so that proxy mode could
be properly detected. It's important to us to get these headers and this
check is currently broken for HTTP/HTTPS URLs.

Signed-off-by: Giedrius Statkevičius <giedrius.statkevicius@vinted.com>

Signed-off-by: Giedrius Statkevičius <giedrius.statkevicius@vinted.com>
2022-09-28 19:05:52 +02:00
Ivana Huckova 5bd65db8a8 Loki: Add new range operation range_counter (#55936)
* Loki: Add new range operation range_counter

* Update yarn.lock
2022-09-28 18:36:36 +02:00
Sofia Papagiannaki b749cef78e Chore: Remove unnecessary transaction (#55819) 2022-09-28 18:50:19 +03:00
Jack Westbrook b81f90cd0c Toolkit: Fix script failures due to missing import paths (#55857)
* fix(toolkit): package without dist folder so config file paths are correct

* chore(packages): make sure to bundle readme, changelog and apache2 license

* refactor(packages): recursively copy src when prepacking toolkit

* chore(toolkit): lock down babel dependencies. use grafana-eslint-config@5 for TS4.8 support
2022-09-28 17:04:55 +02:00
Tania 71578d0932 Docs: Document Reporting API (#55434)
* Docs: Document reporting api

* Update docs/sources/developers/http_api/reporting.md

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

* Update docs/sources/developers/http_api/reporting.md

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

* Update docs/sources/developers/http_api/reporting.md

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

* Document the rest of endpoints

* Document more endpoints

* Fix scopes and links

* Remove rendering endpoints

* Fix status codes

* Apply review feedback

* Typo

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2022-09-28 17:03:43 +02:00
emerson_gong 4ffa0532f0 Security: Fix CVE-2022-27664 (#55361)
* Fix CVE-2022-27664

* update golang.org/x/sys in go.sum
2022-09-28 17:35:06 +03:00
idafurjes 122e7c141d Chore: Delete UpdateUser, ChangeUserPassword, UpdateLastSeenAt from sqlstore (#55928) 2022-09-28 16:17:09 +02:00
Hamas Shafiq 0ec253bfa0 Tempo: Add a placeholder to the TraceQL query editor (#55257) 2022-09-28 15:07:10 +01:00
Emil Tullstedt 6aef353b59 Tracing: Fix bug where errors are not reported to OTel (#55925) 2022-09-28 15:54:47 +02:00
Emil Tullstedt b0b1e8d568 Tracing: Document Tracer and Span interfaces (#55926) 2022-09-28 15:53:48 +02:00
Jimmie Han c6dffb11a4 Tempo: Fix unexpected trimming of leading zeroes in traceID (#55167)
* tempo: fix unexpected trim traceID leading zero (#55166)

* fix lint
2022-09-28 15:49:12 +02:00
Sonia Aguilar ef641ea9c9 Alerting: fix alert supported warning when editing data source name (#55886) 2022-09-28 14:41:54 +02:00
Joao Silva cf1862ecc4 Storybook: Explicitly set init on a registry to stop Storybook from being broken (#55909) 2022-09-28 13:29:41 +01:00
ying-jeanne 2472777ce2 Chore: implement sqlx into tag service (#55908)
* add sqlx store to tag service

* add sqlx into tag service

* fix test

* change to camal cases

* change in xorm camal case
2022-09-28 08:23:40 -04:00
renovate[bot] 8869d6fe7a Update dependency rc-cascader to v3.7.0 (#55896)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-28 13:12:15 +01:00
Leon Sorokin 4ff7917039 TimeSeries: clamp log-y-axis min to 1 when decimals=0 (#55882) 2022-09-28 05:39:24 -06:00
Sven Grossmann 7e8738e01e LogContext: Improve text describing the loglines (#55475)
* changed messages before and after LogContext

* add comment explaining the if

* add tests

* removed unused divs

* improved if statements
2022-09-28 13:37:49 +02:00
idafurjes a45ef61d25 Chore: Remove GetUserByEmail and GetUserByLogin from sqlstore (#55903)
* Chore: Remove GetUserByEmail and GetUserByLogin from sqlstore
 Rename GetUserProfile to GetProfile

* Fix lint

* Skip test for mysql

* Add missing method to sqlstore mock
2022-09-28 13:18:19 +02:00
Piotr Jamróz a8f43b97a2 Glue: Return correlation config in GET /correlations (#55801)
* Fix getting and creating correlations config

* Fix tests
2022-09-28 12:17:43 +01:00
brendamuir 43dc92d12c fix index file for website (#55907) 2022-09-28 13:06:38 +02:00
Andreas Christou 37aa45001f AzureMonitor: Correctly update subscriptions value in ARG editor (#55860)
* Correctly update subscriptions prop in query

* Simplify setting of subscriptions value
2022-09-28 11:59:07 +01:00
renovate[bot] 678fb7c29a Update dependency eslint to v8.24.0 (#55727)
* Update dependency eslint to v8.24.0

* bump sdk as well

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-09-28 10:43:14 +01:00
brendamuir 4ba757e7b8 Update Alerting provisioning docs (#55892) 2022-09-28 11:03:36 +02:00
renovate[bot] 1bfc6413db Update dependency react-awesome-query-builder to v5.3.1 (#54988)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-28 09:55:49 +01:00
Dimitris Sotirakis 46037cff56 Remove prepare-release.yml (#55893) 2022-09-28 04:52:42 -04:00
brendamuir b7f356df31 Docs: adds terraform provisioning docs (#55660)
* Docs: adds set up section and alertmanager

* deletes info that got copied to new file
2022-09-28 09:18:46 +01:00
Hamas Shafiq 445fed0875 Chore: Fix broken image link in Zipkin's documentation (#55847) 2022-09-28 09:18:26 +01:00
Vladimir efef672d19 Documentation: clarify label matching (#55650)
* Documentation: clarify label matching

Behaviour in case of multiple matchers is not documented, but my experiments show they are reduced using logical AND. Please validate the updated description.

* Accept wording suggestion

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

* Accept suggestion for docs/sources/alerting/fundamentals/annotation-label/labels-and-label-matchers.md

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

* Improve wording according to review suggestions

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2022-09-28 09:06:04 +01:00
Alexa V 51028b1b2e Panel Inspect JSON: Add instrumentation for "Apply" feature (#55179)
Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
2022-09-28 09:56:58 +02:00
Leon Sorokin bd50fd1606 Thresholds: Add option for dashed line style (#55875) 2022-09-28 00:48:09 -06:00
Torkel Ödegaard e31cb93ec0 NavTree: Make it possible to configure where in nav tree plugins live (#55484)
* NewIA: Plugin nav config

* progress

* Progress

* Things are working

* Add monitoring node

* Add alerts and incidents

* added experiment with standalone page

* Refactoring by adding a type for navtree root

* First test working

* More tests

* more tests

* Progress on richer config and sorting

* Sort weight working

* Path config

* Improving logic for not including admin or cfg nodes, making it the last step so that enterprise can add admin nodes without having to worry about the section not existing

* fixed index routes

* removed file

* Fixes

* Fixing tests

* Fixing more tests and adding support for weight config

* Updates

* Remove unused fake

* More fixes

* Minor tweak

* Minor fix

* Can now control position using sortweight even when existing items have no sortweight

* Added tests for frontend standalone page logic

* more tests

* Remove unused fake and fixed lint issue

* Moving reading settings to navtree impl package

* remove nav_id setting prefix

* Remove old test file

* Fix trailing newline

* Fixed bug with adding nil node

* fixing lint issue

* remove some code we have to rethink

* move read settings to PrivideService and switch to util.SplitString
2022-09-28 08:29:35 +02:00
Artur Wierzbicki 202dce66ff Search: add basic e2e test for the folder view (#55820) 2022-09-28 09:46:24 +04:00
Nathan Marrs d9d7bff793 Canvas: Fix resource picker folder UX (#55877) 2022-09-27 21:05:13 -07:00
Ryan McKinley e7e7763252 Store/Search: Explore a general interface to extract summary data from a blob (#55598) 2022-09-27 18:08:47 -04:00
Yuriy Tseretyan 0b3c60fc22 Alerting: Refactor notifiers VictorOps, Threema, Telegram to use encoding/json to parse settings instead of simplejson (#55779)
* update victorops
* update threema
* update telegram
2022-09-27 16:58:18 -04:00
Leon Sorokin b8da1ffdc3 TimeSeries: fix log-y-axis tick label skipping when decimals=0 (#55868) 2022-09-27 15:50:41 -05:00
Guilherme Caulada 2a12644778 Links: Fix opening links from different orgs on the same tab (#55837)
* Skip intercepting links of different orgs

* Check if orgId is present on query params

* Use locationSearchToObject instead of parseKeyValue

* Revert locationSearchToObject to parseKeyValue
2022-09-27 16:50:05 -03:00
Richard Hartmann 80daf05843 Relicense Tempo datasource plugin to Apache 2 (#55866)
As per Ash's request.

Signed-off-by: Richard Hartmann <richih@richih.org>
2022-09-27 20:53:11 +02:00
Alexander Weaver e6f99fc418 Alerting: Decouple schedule package from store (#55858)
* Separate out fake for scheduler tests

* Delete extracted methods from older fake
2022-09-27 13:48:12 -05:00
owensmallwood 664aa795c1 PublicDashboards: Add metric for public dashboard datasource query success (#55701)
Adds metric for which datasource queries are successful or not with pubdash.
2022-09-27 12:25:56 -06:00
Garrett Guillotte 1485209287 Docs: Add screenshots to What's New in v9.2 (#55862)
* Docs: Add What's New in Grafana v9.2 Beta

* Docs: Add links to What's New in Grafana v9.2

* Docs: Apply updates to What's New
2022-09-27 11:11:14 -07:00
Artur Wierzbicki 814211282a Search: Fix tags query (#55851)
* Search: fix tags query

* Search: fix type
2022-09-27 21:16:49 +04:00
Garrett Guillotte 3409979288 Docs: Add What's New in Grafana v9.2 Beta (#55855) 2022-09-27 12:09:00 -05:00
Ashley Harrison 97f1524b66 Chore: move the a11y rules to the overrides section so they don't apply to t… (#55848)
* move the a11y rules to the overrides section so they don't apply to tests

* turn alt-text back off
2022-09-27 16:59:35 +01:00
Nathan Marrs e160f19247 Canvas: Fix icon element resizing 2022-09-27 08:53:47 -07:00
Guilherme Caulada 6674407d3f Revert public dashboard granularity fix (#55844) 2022-09-27 12:41:14 -03:00
Alexander Weaver 81b631d1e9 Use separate fake for rule reader (#55835) 2022-09-27 10:33:32 -05:00
Victor Marin 3361f2c62d XYChart further improvements (#55152)
* Tooltip shows all data facets. Renamed options

* Add per series line style

* Remove line style option from manual panel options

* Refactored tooltip view

* sets selected after switch to manual

* remove facet prefixes

* in manual mode pull series names from config options, not y facet

* unused import

* Point size

* x & y axes labels

* Fix manual series prep

* betterer

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-09-27 18:18:42 +03:00
Ashley Harrison 11eb02a183 enable rule role-has-required-aria-props (#55841) 2022-09-27 11:17:26 -04:00
idafurjes edcf359473 Chore: Copy org sqlstore methods to org store (#55825)
* Chore: Copy org sqlstore methods to org store

* Remove GetByName, add some tests

* Rename GetByNameHandler to GetByName

* Fix fake name
2022-09-27 16:53:45 +02:00
Ashley Harrison 527c00dae5 enable rule jsx-a11y/role-supports-aria-props (#55839) 2022-09-27 15:42:46 +01:00
Ashley Harrison 422b22a513 enable img-redundant-alt rule (#55833) 2022-09-27 10:26:32 -04:00
Josh Hunt 615d86d902 Docs: Clarify contributions for translations (#55574)
* Docs: Clarify contributions for translations

* add comment to messages.po files
2022-09-27 10:21:23 -04:00
Ashley Harrison afdb094983 turn on tabindex-no-positive rule (#55830) 2022-09-27 15:18:24 +01:00
Alexander Weaver d17ab82b98 Alerting: Break up store.RuleStore interface, delete dead code (#55776)
* Refactor state manager to not depend on rule store interface

* Refactor grafana and proxied ruler APIs to not depend on store.RuleStore

* Refactor folder subscription logic to not use store.RuleStore

* Delete dead code

* Delete store.RuleStore
2022-09-27 08:56:30 -05:00
Dimitris Sotirakis cd360f2d2a Add nightly cronjob (#55675) 2022-09-27 08:49:20 -05:00
Dimitris Sotirakis 2a3f423e10 Replace armhf with armhfp for RPMs (#55814) 2022-09-27 08:49:00 -05:00
Kristina 0a5aa19ca2 Explore: Prevent panes from disappearing when resizing window in split view (#55696) 2022-09-27 15:48:09 +02:00
idafurjes 56cfe02ca2 Chore: Remove methods from sqlstore interface (#55802)
* Remove SearchOrgUsers from sqlstore interface

* Remove RemoveOrgUser method from sqlstore interface

* Delete RemoveOrgUser from sqlstore

* Fix lint
2022-09-27 15:33:38 +02:00
GitStart 332e8477c7 Convert packages/grafana-ui/src/components/Graph/Graph.test.tsx to RTL (#55771)
Co-authored-by: gitstart <gitstart@users.noreply.github.com>
Co-authored-by: gitstart <gitstart@gitstart.com>
Co-authored-by: Nitesh Singh <nitesh.singh@gitstart.dev>
Co-authored-by: Thiago Nascimbeni <tnascimbeni@gmail.com>
Co-authored-by: Rubens Rafael <70234898+RubensRafael@users.noreply.github.com>
Co-authored-by: Matheus Benini Ferreira <88898100+MatheusBeniniF@users.noreply.github.com>
Co-authored-by: Rafael Toledo <87545086+Toledodev@users.noreply.github.com>
Co-authored-by: Murilo Amaral <87545137+MuriloAmarals@users.noreply.github.com>
Co-authored-by: Rubens Rafael <rubensrafael2@live.com>
2022-09-27 14:26:53 +01:00
ying-jeanne b96a3832d0 StoreSplit: move dashboard thumbs into thumbs service (#55800)
* move dashboard thumbs into thumbs service

* rename some variables
2022-09-27 08:46:03 -04:00
Julien Duchesne 169df2fe90 Drone: publish-linux-packages should be privileged (#55816)
It's currently failing with a failure to mount s3fs
2022-09-27 15:44:39 +03:00
Oscar Kilhed 53a39e5037 Make LocalStorageProvider react to storage events (#55810) 2022-09-27 14:37:59 +02:00
Tania 4a4201ec92 Chore: Update versions (#55813) 2022-09-27 14:07:16 +02:00
Virginia Cepeda 27f022283d JS Agent: remove user email and add session id (#55767) 2022-09-27 08:59:32 -03:00
Kristin Laemmert 701f6d5436 UserService: use the UserService instead of calling sqlstore directly (#55745)
* UserService: update callers to use the UserService instead of calling sqlstore directly

There is one major change hiding in this PR. UserService.Delete originally called a number of services to delete user-related records. I moved everything except the actual call to the user table, and moved those into the API. This was done to avoid dependencies cycles; many of our services depend on the user service, so the user service itself should have as few dependencies as possible.
2022-09-27 07:58:49 -04:00
Tania 4f6c2d35c2 Chore: Update latest.json to 9.2.0-beta1 (#55811) 2022-09-27 11:52:55 +00:00
Hamas Shafiq 62046449d2 Tempo: Add a placeholder for the Limit field under the Search tab (#55557) 2022-09-27 12:27:40 +01:00
Tima Gixe 69f8b32dc0 Storybook: add controls to Segment story (#55264) 2022-09-27 12:19:00 +01:00
Grot (@grafanabot) da7797014a ReleaseNotes: Updated changelog for 9.2.0-beta1 (#55788)
* ReleaseNotes: Updated changelog and release notes for 9.2.0-beta1

* Remove release notes

Co-authored-by: dsotirakis <dimitrios.sotirakis@grafana.com>
2022-09-27 13:16:53 +02:00
idafurjes d8cd30d22a Chore: Remove DeleteOrg and UpdateOrgAddress from sqlstore (#55795)
* Chore: Remove DeleteOrg and UpdateOrgAddress from sqlstore

* Remove commented out methods
2022-09-27 12:30:10 +02:00
Gábor Farkas d1375d31cd devenv: loki: remove unused devenv-config (#55752)
* devenv: jaeger: add it's own copy of promtail-config

* devenv: removed unused loki config
2022-09-27 11:58:08 +02:00
Martin Lehmann 85c26ea908 Alerting: Fix a typo in alerting rule annotation docs (#55730) 2022-09-27 10:56:22 +01:00
Laura Fernández 6b6882c141 Navigation: Align landing pages with designs (#55749) 2022-09-27 11:16:29 +02:00
Piotr Jamróz becdf10f0e Glue: Add DB migration & support provisioning for user-defined correlations config (#55560)
* Allow provisioning correlation config

* Simplify code

* Fix reading correlations test

* Fix linting errors

* Fix linting errors

* remove simpleJson

* Clean up

* Fix tests

* Update swagger docs

* Fix linting

* Fix linting

* Clean up swagger definitions

Co-authored-by: Elfo404 <me@giordanoricci.com>
2022-09-27 11:08:02 +02:00
George Robinson a49fcbdbbc Alerting: Add frames for all queries and expressions (#55609)
This commit is one of two commits to make the data frames for all queries and expressions in an alert rule available to the state package for rendering a graph. It renames Result to Condition, and creates an additional field called
Results that is a map of Ref ID to data.Frames.
2022-09-27 10:05:29 +01:00
Laura Fernández 4544494058 A11y: enable rule jsx-a11y/aria-role (#55760) 2022-09-27 10:55:16 +02:00
idafurjes 2bfd26249b Chore: Remove methods from store interface (#55765)
* Chore: Remove methods from store interface

* Fix api tests

* Remove sqlstore methods, add org store tests, add GetOrgUsers to org store interface

* Fix lint

* Remove debug logs

* Remove commented out methods
2022-09-27 10:34:31 +02:00
Jimmie Han 708225f69f feat: add tracesToMetrics span time shift options (#54710) (#55335) 2022-09-27 09:30:33 +01:00
Giordano Ricci 4cd4bc84b5 Fix: use type=button in editor (#55731) 2022-09-27 09:20:23 +01:00
Christopher Moyer 2bbc7c40e9 Docs: first draft of share panel with support docs (#55170) 2022-09-26 13:28:10 -07:00
Alexander Emelin 55aae79744 GRPC Server: Add gRPC server service (#47849)
Co-authored-by: Todd Treece <todd.treece@grafana.com>
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-09-26 16:25:34 -04:00
Alexander Weaver f11495a4c3 Alerting: Remove dead functionality from alert instance store (#55774)
* Update tests to use ListAlertInstances

* Drop the actual methods rather than just updating tests
2022-09-26 14:38:53 -05:00
Alexander Weaver a00879ae21 Alerting: Refactor store to not export its own interface for InstanceStore, delete dead dependency injection (#55772)
* Add consumer-side store interface to state manager

* Remove dead dependency

* Delete dead dependency in API struct

* Delete store-layer InstanceStore interface

* Move fake for state's InstanceStore interface to state package
2022-09-26 13:55:05 -05:00
Alexander Weaver bd6a5c900f Alerting: Extract ticker into shared package (#55703)
* Move ticker files to dedicated package with no changes

* Fix package naming and resolve naming conflicts

* Fix up all existing references to moved objects

* Remove all alerting-specific references from shared util

* Rename TickerMetrics to simply Metrics

* Rename base ticker type to T and rename NewTicker to simply New
2022-09-26 12:35:33 -05:00
Andreas Christou 53c61b49bf AzureMonitor: Add region params (#55763)
* Ensure region params are included

* Fix betterer results change
2022-09-26 12:56:18 -04:00
idafurjes 846a4510b4 Chore: Use org service methods (#55738)
* Chore: Use org service methods

* Fix loginservice test

* User Serach from org service

* Fix test
2022-09-26 18:53:17 +02:00
Yuriy Tseretyan 29fdbf0354 Alerting: Refactor webhook notifier to use encoding/json to parse settings instead of simplejson (#55517)
* update webhook to use json marshaller
* make maxAlerts to be interface{}
2022-09-26 12:51:58 -04:00
owensmallwood 64dd9a0898 Adds docker block for clickhouse (#55702)
Adds clickhouse docker-compose block
2022-09-26 10:44:25 -06:00
Josh Hunt 00a90d3255 Chore: Regen swagger spec (#55750)
* Chore: Regen swagger spec

* Regenerate swagger after enteprise fix

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2022-09-26 12:37:27 -04:00
kay delaney 4d1b422b25 Chore: Remove empty and leftover files (#55757) 2022-09-26 11:33:07 -04:00
Dominik Prokop 70f48cc725 Library panels: Add backend route (#55746) 2022-09-26 08:27:26 -07:00
sam boyer e2ff875976 codegen: Introduce TS codegen veneer (#54816)
* Split all named types out into defs, etc.

* Use latest cuetsy, refactor generators accordingly

* Return AST type from plugin TS generator

* Near-complete checkin of TS veneer code generator

* First full completed pass

* Improve the attribute name

* Defer use of the dashboard veneer type to follow-up

* Remove dummy index, prettier on veneer

* Fix merge errors in gen.go

* Add match field to SpecialValueMap

* Fix backend lint errors
2022-09-26 11:26:18 -04:00
Christopher Moyer f8240e4b0a Docs: Refactors best practices and creates Build a dashboard section in the docs (#55101)
* starts refactor

* corrects broken relrefs
2022-09-26 10:07:24 -05:00
Marcos Vinicius f4d7a6d869 Elasticsearch: Rename public/app/plugins/datasource/elasticsearch/elastic_response.ts to follow convention (#55533)
* Elasticsearch: Rename public/app/plugins/datasource/elasticsearch/elastic_response.ts to follow convention

* undo changes in this file

* fix import types
2022-09-26 16:53:25 +02:00
GitStart ac875a1329 Loki: Remove any from public/app/plugins/datasource/loki/live_streams.test.ts (#55545)
Co-authored-by: gitstart <gitstart@gitstart.com>
Co-authored-by: gitstart <gitstart@users.noreply.github.com>
Co-authored-by: Matheus Benini Ferreira <88898100+MatheusBeniniF@users.noreply.github.com>
Co-authored-by: Nitesh Singh <nitesh.singh@gitstart.dev>
Co-authored-by: Thiago Nascimbeni <tnascimbeni@gmail.com>
Co-authored-by: Rafael Toledo <87545086+Toledodev@users.noreply.github.com>
Co-authored-by: Murilo Amaral <87545137+MuriloAmarals@users.noreply.github.com>
Co-authored-by: Rubens Rafael <70234898+RubensRafael@users.noreply.github.com>
Co-authored-by: Júlio Piubello da Silva Cabral <julio.piubello@gitstart.dev>

Co-authored-by: gitstart <gitstart@users.noreply.github.com>
Co-authored-by: gitstart <gitstart@gitstart.com>
Co-authored-by: Matheus Benini Ferreira <88898100+MatheusBeniniF@users.noreply.github.com>
Co-authored-by: Nitesh Singh <nitesh.singh@gitstart.dev>
Co-authored-by: Thiago Nascimbeni <tnascimbeni@gmail.com>
Co-authored-by: Rafael Toledo <87545086+Toledodev@users.noreply.github.com>
Co-authored-by: Murilo Amaral <87545137+MuriloAmarals@users.noreply.github.com>
Co-authored-by: Rubens Rafael <70234898+RubensRafael@users.noreply.github.com>
Co-authored-by: Júlio Piubello da Silva Cabral <julio.piubello@gitstart.dev>
2022-09-26 16:42:53 +02:00
Gilles De Mey 9aa61ddd0e Alerting: Add threshold expression (#55102) 2022-09-26 16:05:44 +02:00
Emil Tullstedt f7a3e50b23 UsageStats: Add traces when sending usage stats (#55474) 2022-09-26 15:10:54 +02:00
Giordano Ricci d07abdd23c Correlations: Only return correlation for which both source and target datasources exist (#55454)
* Correlation: only return correlation for which both source and targe ds exist

* add test
2022-09-26 14:05:04 +01:00
Torkel Ödegaard 018733dd24 PluginDetails: Make plugin details page look good in topnav (#55571)
* PluginDetails: Make plugin details page look good in topnav

* Minor style tweak aligning things

* minor refactoring where I moved the logic to decide the default tab into its own hook.

* refactor(plugindetails): first pass at using navmodel for usePluginDetailsTabs hook

* refactor(plugindetails): move "reset page when uninstalling plugin" to installcontrols

this prevents a user from seeing a blank page if they uninstall an app plugin whilst viewing a
config page

* refactor(plugindetails): remove usage of toIconName and reduce nested if

* Trying to fix tests

* minor fix

* test(plugindetails): update selectors causing failing tests

* chore(plugindetails): remove commented out test code

* test(plugindetails): clean up - remove unnecesary usage of waitFor

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2022-09-26 15:04:07 +02:00
Ashley Harrison 1a830e6f45 don't add folder breadcrumb if there is no folderUid (#55739) 2022-09-26 14:02:50 +01:00
Gábor Farkas d8b4f776aa Logs: Allow collapsing the logs volume histogram (#52808)
* logs: Allow disabling the logs volume histogram

* removed unnecessary code

* refactor: adjusted prop-name

* refactor: simplified code

* refactor: more readable code

* refactor: better naming

* refactor: better naming

* only unsubscribe when disabling the UI

* revert visual change

* re-apply visual change

This reverts commit 7fda5c197f.

* smoother transition

* adjusted visual

Co-authored-by: Giordano Ricci <me@giordanoricci.com>

* logs: top-gap reduced

* added feature tracking

* removed not-working feature-tracking property

* lint fix

Co-authored-by: Giordano Ricci <me@giordanoricci.com>
2022-09-26 14:28:12 +02:00
Gábor Farkas 2efd7fa481 Elasticsearch: Reuse http client in the backend (#55172)
* elastic: backend: reuse http client

* fixed lint error
2022-09-26 14:27:46 +02:00
Ivana Huckova c0ecdf6783 Loki: Redesign and improve query patterns (#55097)
* WIP

* WIP

* Query patterns: Redesign and improve feature

* Remove duplicated pattern

* Remove empty line

* Refactor

* Add tests

* Update docs and e2e test

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

Co-authored-by: Matias Chomicki <matyax@gmail.com>

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

Co-authored-by: Matias Chomicki <matyax@gmail.com>

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

Co-authored-by: Matias Chomicki <matyax@gmail.com>

* Use capitalize

* Refactor to use QueryPatternsCard component

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

Co-authored-by: Matias Chomicki <matyax@gmail.com>

* Update feature tracking for v2

* QueryPatternsCard: Remove unnecessary key

* Update naming for card

* Mock reportInteraction in tests

Co-authored-by: Matias Chomicki <matyax@gmail.com>
2022-09-26 14:03:13 +02:00
Sven Grossmann 231de5a32f devenv: change default elasticsearch datasources (#55479)
* devenv: change default elasticsearch datasources

* remove metrics ds

* updated datasources
2022-09-26 13:00:29 +02:00
ying-jeanne 70c2a31513 move models of dashboard thumbs into its package (#55729) 2022-09-26 12:37:34 +02:00
Tania 40e6ac8fc0 Update whats new (#55726) 2022-09-26 12:24:57 +03:00
renovate[bot] fc7727430e Update dependency html-loader to v4.2.0 (#55655)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-26 10:24:03 +01:00
renovate[bot] 8bc8778287 Update dependency css-minimizer-webpack-plugin to v4.1.0 (#55619)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-26 10:22:59 +01:00
Maksim Nabokikh d1e50580a5 Add the file label to dashboard provisioning errors (#53282)
Signed-off-by: m.nabokikh <maksim.nabokikh@flant.com>

Signed-off-by: m.nabokikh <maksim.nabokikh@flant.com>
2022-09-26 10:57:37 +02:00
idafurjes 178cd0a232 Use OrgUser method from org service (#55674)
* Use OrgUser method from org service

* Use GetOrgUser from org service
2022-09-26 10:27:38 +02:00
Nathan Marrs 15de96286a Canvas: Add edit option to context menu for elements with an edit mode (#55697) 2022-09-23 15:43:34 -04:00
Michael Mandrus f8bde4df09 Public Dashboards: Add Grafana logo to public dashboards (#55641)
* add floating footer logo to pubdash pages

* make it a link

* fix typo

* use rem instead of pixels

* Update public/app/features/dashboard/components/PubdashFooter/PubdashFooter.tsx

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

* Update public/app/features/dashboard/components/PubdashFooter/PubdashFooter.tsx

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

* Update public/app/features/dashboard/components/PubdashFooter/PubdashFooter.tsx

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

* Update public/app/features/dashboard/components/PubdashFooter/PubdashFooter.tsx

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

* PR feedback

* add todo

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2022-09-23 14:32:34 -04:00
Artur Wierzbicki af9e58eeeb Search: fix cache in the frontend search engine (#55681) 2022-09-23 10:13:14 -07:00
Kevin Minehart 2fadeeff4c CI: move grabpl package command to pkg/build (#55651)
* add grabpl package

* update .drone.yml

* resolve lint errors
2022-09-23 11:49:07 -05:00
Jean-Philippe Quéméner f3a307778a Alerting: cache general folder in migration based on org id (#55620) 2022-09-23 18:22:45 +02:00
Ashley Harrison 366731d8d9 Navigation: Add descriptions to NavModelItems (#55669)
* add some descriptions!

* Update some descriptions

* Tweak playlist description

* fix unit tests + betterer
2022-09-23 16:08:08 +01:00
Ashley Harrison c65a8d3cab reenable active state for home (#55566) 2022-09-23 16:03:01 +01:00
Michael Mandrus fedc1cdb11 Revert "Plugins: Display "renderer" and "secretsmanager" plugin types under plugin catalog "Application" filter (#55597)" (#55686)
This reverts commit e981848026.
2022-09-23 10:58:57 -04:00
Josh Hunt 4e65f131d9 Chore: Update betterer results for elasticsearch (#55682) 2022-09-23 09:46:24 -04:00
Ashley Harrison 480a3b92d2 dispatch clearFilters when an item is selected (#55512) 2022-09-23 14:46:21 +01:00
Kristina c3e4f1f876 Explore: Add resize to split view, with Min/Max button (#54420)
* Add split resize to Explore without keeping width in state

* debug commit

* ugly hack around split lib only supporting one child

* Use SplitView to accomodate one or two elements, remove debug code, fix test

* More cleanup, fix state action

* Fix even split from manual size scenario

* cleanup

* Add new state elements to test

* Handle scrollable on internal element for virtualized lists

* Left align overflow button for explore

* Change min/max buttons

* Apply suggestions from code review

Co-authored-by: Giordano Ricci <me@giordanoricci.com>

* Add more suggestions from the code review

* Fix problems tests found

* commit broken test with debug info

* Add test, remove debug code

* Remove second get of panes

* Remove second get of panes

Co-authored-by: Elfo404 <me@giordanoricci.com>
2022-09-23 08:20:33 -05:00
Ashley Harrison 80c49688a1 turn on all the rules that are working anyway (#55679) 2022-09-23 09:18:23 -04:00
Jack Westbrook ba10548547 CI: Update grabpl to 3.0.10 (#55678) 2022-09-23 15:15:04 +02:00
Jean-Philippe Quéméner 0f2afb6417 Alerting: support env variables in contact point settings when provsioning (#55666) 2022-09-23 08:06:51 -05:00
Ashley Harrison 717e9b0a34 add eslint-plugin-jsx-a11y (#55677) 2022-09-23 14:02:16 +01:00
Sonia Aguilar e714d750f2 Alerting: Character / allowed in dashboard folder names, but not in alert folder names (#54395)
* Refactor FolderPicker to functional componment and add dissalowSlashes as an optional prop

* Update DetailsStep component to use FolderPicker dissalowing slashes in folders

* Adds icon that links to the Github issue when showing slashes not allowed  warning

* Add test for slashed folders warning

* Fix merge conflicts with folder creation fix PR

* Move slashes filter to useRuleFolderFilter hook, and make folder warning an optional generic prop

* Apply PR review suggestions
2022-09-23 14:44:24 +02:00
Will Browne d0d8544ded Plugins: Create single point of entry for adding / removing plugins (#55463)
* split out plugin manager

* remove whitespace

* fix tests

* split up tests

* updating naming conventions

* simplify manager

* tidy

* explorations

* fix build

* tidy

* fix tests

* add logger helper

* pass the tests

* tidying

* fix tests

* tidy and re-add test

* store depends on loader

* enrich tests

* fix test

* undo gomod changes
2022-09-23 14:27:01 +02:00
Virginia Cepeda 003a1cdaa0 Alerting: log some basic user interactions (#55401)
* Log leaving rule group edit without saving

* Log filtering alert instances by label

Also debouncing the search to prevent sending too many log requests

* Log loading the Alert Rules list

* Move log messages to centralized location

* Add tests on log trackings

* Fix linting
2022-09-23 08:51:16 -03:00
idafurjes fb66439c3e Chore: Add orguser methods to org service interface (#55668)
* Move role types to a separate package

* Make role type singular and remove _ from directory name

* Add orguser methods to org service

* Fix fake method
2022-09-23 07:19:34 -04:00
idafurjes 7f98f4b411 Move role types to a separate package (#55665)
* Move role types to a separate package

* Make role type singular and remove _ from directory name
2022-09-23 12:40:02 +02:00
Gareth Dawson 3eaeffda07 Elasticsearch: Remove any type from elastic_response.test.ts 2022-09-23 11:25:42 +01:00
Sofia Papagiannaki d0e7765c6a Annotation: Optionally allow storing longer annotation tags (#54754)
* Annotation: Optionally allow longer annotation tags

* Do not accept configuration lower than today's default (500)

* Apply suggestion from code review
2022-09-23 06:04:41 -04:00
idafurjes 883c7a802b Chore: Use AddUserOrg from org service (#55657)
* Chore: Copy methods from sqlstore to org store

* Rename method, add test

* Add comments of tests

* Chore: Add methods from sqlstore to org service interface

* Avoiding import cycle

* Add and remove some methods

* User AddOrgUSer from org service in api

* Fix test function calls
2022-09-23 11:59:07 +02:00
Tania 96cb415497 Docs: Describe applying a license (#55078)
* Docs: Describe adding a license via API

* Add missing word
2022-09-23 11:57:51 +02:00
Konrad Lalik 7114c51f9f Alerting: Add alert preview to cloud rules editor (#54950) 2022-09-23 10:05:08 +02:00
idafurjes e8a60c1988 Chore: Add methods from sqlstore to org service interface (#55635)
* Chore: Copy methods from sqlstore to org store

* Rename method, add test

* Add comments of tests

* Chore: Add methods from sqlstore to org service interface

* Avoiding import cycle

* Add and remove some methods
2022-09-23 09:58:17 +02:00
Torkel Ödegaard c9b5acfefc Frontend: Update frontend styleguide emotion example (#55608)
* Frontend: Update frontend styleguide emotion example

* Update styling guide

* Fixes

* Add back link to cx

* prettier

* Update contribute/style-guides/frontend.md

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

* prettier

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-09-23 08:22:16 +02:00
Dimitris Sotirakis 61c50ca1aa Update grabpl version to v3.0.9 (#55621) 2022-09-23 09:19:55 +03:00
renovate[bot] 07733a2ec1 Update dependency @kusto/monaco-kusto to v5.2.0 (#54134)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-23 05:53:34 +00:00
Jan Garaj b1b4110ab1 CloudWatch: Add missing AWS/Prometheus metrics (#54990) 2022-09-22 22:25:33 -04:00
Artur Wierzbicki f8d69415ca Search: create a separate HTTP endpoint (#55634)
* search: create a separate http endpoint

* search: extract api uri

* search: rename uri

* search: replicate the readiness check

* search: replicate the readiness check metric

* search: update mock
2022-09-22 19:02:09 -04:00
Torkel Ödegaard 09f4068849 NavTree: Refactor out the navtree building from api/index.go and into it's own service (#55552) 2022-09-22 22:04:48 +02:00
Garrett Guillotte 8863c4c140 Update CODEOWNERS with specific docs responsibilities (#55522)
* Update CODEOWNERS with specific docs responsibilities

* Docs: Per Ursula, hand off enterprise docs
2022-09-22 15:26:03 -04:00
Garrett Guillotte f0e3b9b16b Docs: Clarify "supported data sources" (#54337)
* Docs: Clarify "supported data sources"

The term "supported" is context-dependent. Clarify the data sources
index page to link to the plugins catalog with additional detail,
and specify that the links to data sources are for those with
additional documentation content as part of Grafana.

Add a link to the tutorial to build a data source plugin.

* Update docs/sources/datasources/_index.md

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

Co-authored-by: Fiona Artiaga <89225282+GrafanaWriter@users.noreply.github.com>
2022-09-22 15:23:15 -04:00
Garrett Guillotte a98a33774b Docs: Fix relrefs in access control API docs (#51940)
* Fix relrefs in access control API docs

* Apply Prettier changes to fix CI
2022-09-22 15:13:23 -04:00
Garrett Guillotte 72ec1eba1a Docs: Note issue #13399 in database install docs (#55596)
* Docs: Note issue #13399 in database install docs

* Docs: Be more specific about serverless Aurora MySQL
2022-09-22 12:00:48 -07:00
Hamas Shafiq 4be78095c9 Tempo: Wrap the autocomplete value for a tag in double quotes (#55610) 2022-09-22 18:37:46 +01:00
Nathan Marrs ff7225745a Canvas: Add metric value element type (#55205) 2022-09-22 10:21:45 -07:00
lean.dev 3ab4d543d4 GrafanaUI: Add icon to links on Plugin configuration page (#55581) 2022-09-22 14:16:45 -03:00
Serge Zaitsev 4c19e83ff0 Chore: Move team store implementation to a separate package (#55514)
* Chore: move team store implementation to a separate package

* trying to fix more tests

* fix tests in service accounts and access control

* fix common tests

* restore commented out test

* add todos
2022-09-22 19:16:21 +02:00
idafurjes 591df92265 Chore: Copy methods from sqlstore to org store (#55615)
* Chore: Copy methods from sqlstore to org store

* Rename method, add test

* Add comments of tests
2022-09-22 19:02:55 +02:00
Michael Mandrus e981848026 Plugins: Display "renderer" and "secretsmanager" plugin types under plugin catalog "Application" filter (#55597)
* convert plugin filter options to use a type instead of string

* add secrets manager and renderer to app plugin filter

* update frontend tests

* more test updates

* fix function to handle all cases
2022-09-22 12:28:44 -04:00
sam boyer 8314baf9bc ci: Update CODEOWNERS for as-code team (#55334) 2022-09-22 17:59:29 +02:00
Laura Fernández 4da04ff16d Navigation: use pageNav and subTitle in Dashboards > Settings > Links (#55510) 2022-09-22 17:44:47 +02:00
Gabriel MABILLE 3ce76e1e78 SAML: Allow wildcard mapping to add user to all existing orgs (#55628) 2022-09-22 17:34:00 +02:00
Kyle Brandt 27288276a2 Prometheus: Restore FromAlert header (#55255)
This restores the FromAlert header to prometheus for Grafana managed alert Queries. 

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

This reverts commit 2372501368.
2022-09-22 11:03:13 -04:00
Marcos Vinicius 69f1ba3e6e Elasticsearch: Rename public/app/plugins/datasource/elasticsearch/index_pattern.ts to follow convention (#55532)
* Elasticsearch: Rename public/app/plugins/datasource/elasticsearch/index_pattern.ts to follow convention

* undo change in this file
2022-09-22 14:04:16 +00:00
Ieva 6f93630e97 RBAC: add check for whether a role is managed (#55617)
* add check for whether a role is managed

* fix typo
2022-09-22 15:00:42 +01:00
Andreas Christou cf588bd083 AzureMonitor: Automate retrieval of supported Metrics namespaces (#53203)
* Automate retrieval of supported Metrics namespaces

- Pass AzMonitor datasource to resource picker
- Add function to fetch unique namespaces for all subscriptions
- Update tests

* Remove unused file and reference

* Remove final namespace reference

* Add missing arguments

* Remove spaces added to generated file
2022-09-22 14:05:29 +01:00
juanicabanas c7419de2e5 PublicDashboard: Add RTK Query with loading and error state. Add MSW dependency for testing. (#55518)
PublicDashboard: Add RTK Query with loading and error state. Add MSW dependency for testing.
2022-09-22 09:35:04 -03:00
Sofia Papagiannaki 2f14575dd3 Chore: Move annotations cleanup to the annotations service (#55618) 2022-09-22 15:27:48 +03:00
renovate[bot] 4739ff06a5 Update dependency @rushstack/node-core-library to v3.52.0 (#55614)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-22 12:59:32 +01:00
Sofia Papagiannaki 55ef34bee4 Instrumentation: Add api/health to the unnamed handlers (#55478) 2022-09-22 13:03:20 +03:00
Jan Garaj e5619c0fe6 CloudWatch: update AWS/States metrics (#55427) 2022-09-22 12:00:07 +02:00
Marcus Efraimsson 919a26f389 Instrumentation: Guidance/conventions for logs, metrics and traces (#55562)
A first rough draft of adding some guidance/conventions for instrumenting 
Grafana with logs, metrics and traces together with how to run things 
locally to query/visualize logs, metrics and traces.

Closes #55470

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
Co-authored-by: Kristin Laemmert <mildwonkey@users.noreply.github.com>
Co-authored-by: Carl Bergquist <carl.bergquist@gmail.com>
2022-09-22 11:39:14 +02:00
renovate[bot] ab13b951ed Update dependency @opentelemetry/semantic-conventions to v1.7.0 (#55577)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-22 10:37:58 +01:00
Artur Wierzbicki e341aa4dab Search: fix front end query search condition (#55611)
* fix frontend query condition

* refactor to `inludes`
2022-09-22 05:34:09 -04:00
Grafana I18n Bot c56b3f39cf Update source file messages.po (#55575) 2022-09-22 09:08:21 +00:00
Erik Sundell 5eeba155f7 Cloudwatch: Refactor - move describe all log groups to call resource handler (#55582)
* refactor backend

* move describe log groups to api file

* fix lint issue
2022-09-22 10:32:05 +02:00
Leo 383602a850 Dashboard: Fix plugin dashboard save as button (#55197)
* render SaveDashboardErrorProxy only when error is not yet handled

* improve dashbaoard drawer test
2022-09-22 09:14:13 +02:00
Victor Marin da78f33939 TablePanel: Fix FooterRow styling for Safari and Firefox (#55543)
* Fix FooterRow styling for Safari and Firefox

* Change column header th to div
2022-09-22 09:33:15 +03:00
tab0r 06b38133a9 Update usage insights docs (#55155)
* adding links for cloud usage insights

* adding todo stub

* adding more stubs

* basic description

* remove two changes

* tweaks and todos from pairing

* addressing more feedback and adding links

* fix grafana enterprise links

* fix grafana enterprise links (one more)

* updating dashboard links to match style

* add note about cloud in export logs page

* missing word

* change the Grafana Enterprise notes links to point to the Grafana Enterprise intro
2022-09-21 16:47:45 -07:00
Drew Slobodnjak 6e85dfa25a Geomap: Add dynamic initial view options (#54419)
* Geomap: Add dynamic initial view options

* Add control options for dynamic initial view

* Add handling for last only scope

* Remove stale todos

* Only reinitialize map view during data if fit

* Add options for data fit

In map init, remove dependency on layers input.

Add a boolean to map view config to handle all layers, with default
set to true. Also, add layer string to handle currently selected layer.

Change some verbage.

In map view editor, add controls for data extent options. Only display
layer selection when all layers is not selected.

Update layer extent function to handle all options permutations. When
all layers is selected, return all data for extent calculation. When
last only is selected, only return last data point in matching layer for
extent calculation. Otherwise, return all data points in matching layer
for extent calculation.

* Change padding tooltip and hide for last only

* Simplify getLayersExtent call

* Add enums for data scope options

* Update GeomapPanel for refactor merge

* Move view init functions back into geomap class

Re-apply data change handling and extent calculation handling.

* Update padding tooltip verbage

* Ensure geomap panel options layers are initialized

* Clean up GeomapPanel file (betterer)

* refactors / clean up

* more cleanup

Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2022-09-21 13:11:44 -07:00
Kristina 5be04f5336 Set ExploreDrawer Z index to one below dashboard search (#55323) 2022-09-21 14:49:29 -05:00
Dimitris Sotirakis a9a86cbe54 Introduce lint-frontend pipeline (#55559) 2022-09-21 14:39:28 -05:00
Marcus Efraimsson 08d352a0ad Instrumentation: Improve instrumentation of server lock service (#55516)
Improve log and trace instrumentation of the server lock service.

Closes #55455
2022-09-21 15:17:26 -04:00
Yuriy Tseretyan 2d38664fe6 Alerting: Improve validation of query and expressions on rule submit (#53258)
* Improve error messages of server-side expression 
* move validation of alert queries and a condition to eval package
2022-09-21 15:14:11 -04:00
Yuriy Tseretyan 879241a48f Alerting: Fix state manager tests (#55593) 2022-09-21 13:57:18 -05:00
Garrett Guillotte 29018d522c Docs: Fix link to config docs (#55396) 2022-09-21 11:42:39 -07:00
Galen Kistler 89a20526e5 Prometheus: Update onblur ref with value of last changed monaco editor (#55513)
* add new monaco callback to update onBlurRef with current value on monaco editor change.

* don't overload onBlur, create new onChange tracker that doesn't initiate queries, just updates values

* Update public/app/plugins/datasource/prometheus/components/monaco-query-field/MonacoQueryField.tsx

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2022-09-21 12:51:14 -05:00
Sven Grossmann e55003174a slate-suggenstions: adding moveBackward (#55576) 2022-09-21 19:39:54 +02:00
kay delaney 9e0d349bf9 LibraryPanelSearch: Refactor and fix hyphen issue (#55314) 2022-09-21 18:37:17 +01:00
Yuriy Tseretyan 199996cbf9 Alerting: Resolve stale state + add state reason to notifications (#49352)
* adds a new reserved annotation `grafana_state_reason`
* explicitly resolve stale states
2022-09-21 13:24:47 -04:00
Guilherme Caulada 9c2f3045b4 PublicDashboards: Resolve interval for public dashboard data source (#55489)
* Resolve interval for public dashboard data source

* Remove type assertions in favor of 'in'

* Add org id to public dashboard requests
2022-09-21 13:29:27 -03:00
idafurjes 48a8b35ece Chore: Add org methods to org service and store (#55579)
* Add org methods to org service and store

* Fix name of fake

* Remove unused fake

* Add xorm tags and half of a test

* Add cmment for clarifying missing part of test

* Add some comments about future refactors

* Rename test

* Add test for update org address
2022-09-21 18:00:18 +02:00
Galen Kistler 23afb0c04e delete graphite angular partial (#55570) 2022-09-21 10:30:24 -05:00
Ashley Harrison cf19baf80f improve responsiveness of breadcrumbs (#55572) 2022-09-21 15:52:06 +01:00
Jean-Philippe Quéméner 74c66b29d0 Alerting: Skip unsupported file types on provisioning (#55573) 2022-09-21 16:48:39 +02:00
Ashley Harrison 1978b935ba remove underlay fade out animation (#55578) 2022-09-21 10:42:08 -04:00
renovate[bot] bc6a006fc0 Update dependency @lezer/lr to v1.2.3 (#54144)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-21 16:18:09 +02:00
Artur Wierzbicki 1f2cab9036 SearchV2: add more tracing spans (#55488)
* add additional spans to searchv2

* add initial setup span

* add dashboardCount attribute to readDashboard span

* add dashboard count to init org index span

* fix merge

Co-authored-by: Todd Treece <todd.treece@grafana.com>
2022-09-21 16:14:52 +02:00
Yuriy Tseretyan 0629d3922a stop flushing state when Grafana stops (#55504) 2022-09-21 10:10:17 -04:00
Andreas Christou 17fc5d82d3 Bump code coverage versions (#55554) 2022-09-21 13:38:02 +01:00
Emil Tullstedt 647997cc4c Alerting: Fix flaky test (#55551)
The length of the identifier from the underlying library is 9 or more characters depending on the rate at which the identifiers are generated. See https://pkg.go.dev/github.com/teris-io/shortid

The test previously made the assumption that the length will always be 10, which would intermittently fail.
2022-09-21 14:17:25 +02:00
ying-jeanne 7b4cea8151 Chore: StoreSplit tag service (#55453)
* move tag service outside

* fix dashboard

* fix test

* lint

* fix linter

* remove spew
2022-09-21 08:04:01 -04:00
Josh Hunt e3e954cbba Docs: Fix decimals: auto docs for panel edit (#55477)
* Docs: Fix decimals: auto docs for panel edit

* Update docs/sources/panels/configure-standard-options/index.md

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

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2022-09-21 12:56:04 +01:00
Artur Wierzbicki 5a1f004fb1 Live: Fix live streaming with live-service-web-worker feature flag enabled (#55528) 2022-09-21 13:09:16 +02:00
Dimitris Sotirakis c18432971b CI: Introduce lint-backend pipeline (#55476)
* Introduce lint-backend pipeline

* Use go image and install make

* Don't run lint pipeline on .drone.yml changes
2022-09-21 07:05:19 -04:00
Will Browne b25ea75bac Plugins: Add secure JSON fields to plugin setting DTO (#55313)
* add secure JSON fields to plugin setting DTO

* add nil pointer fix

* adding secureJsonFields to the plugin meta.

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
2022-09-21 12:20:11 +02:00
Emil Tullstedt c10a69c007 Cleanup: Add traces to cleanup jobs (#55465) 2022-09-21 12:01:21 +02:00
Torkel Ödegaard 8440baab91 NavBarMenu: Section as links and design tweak (#55538)
* scaffold new component + remove storing of expanded state

* some padding fixes

* simplify!

* move browse back to being a child of dashboards

* behaviour working

* improve child matcher to look recursively

* increase NavBarMenu zIndex to ensure it overlays explore drawer

* some renaming

* fix unit test

* make dashboards a top level item again and make chevrons their own buttons

* remove active background state

* Finished tweaks

* remove theme change

* Remove exit animation

* align button centrally + fix empty message alignment

* only show the empty message if there are no children

* ensure overflowing menu items truncate correctly

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-09-21 11:57:30 +02:00
Gábor Farkas 3a545007ca elastic: devenv: add nested objects to data generator (#55482) 2022-09-21 11:34:49 +02:00
George Robinson bad4f7fec5 Alerting: Change screenshots to use components (#55156)
* Alerting: Change screenshots to use components

This commit changes screenshots to use a number of components instead of a set of functional wrappers.

It moves the uploading of screenshots from the screenshot package to the image package so we can re-use the same code for both uploading screenshots and server-side images; SingleFlight from the screenshot package to the image package so we can use it for both taking and uploading the screenshot, where as before it was used just for taking the screenshot; and it also removes the use of a cache because we know that screenshots can be taken at most once per tick of the scheduler.
2022-09-21 10:25:07 +01:00
George Robinson 7d20766ae9 Alerting: Fix mathexp.NoData cannot be reduced (#55347)
This commit fixes a bug where queries from datasources such as InfluxDB that returned no data would not create a DatasourceNoData alert, but instead an error "can only reduce type series, got type noData".
2022-09-21 10:01:51 +01:00
Erik Sundell 28ebdf1641 move describe log groups to resource api (#55485) 2022-09-21 10:55:54 +02:00
GitStart 79a5e3e802 Elasticsearch: rename public/app/plugins/source/elasticsearch/query_def.ts to follow convention (#55415) 2022-09-21 10:25:04 +02:00
GitStart ff043aebef Elasticsearch: Rename public/app/plugins/datasource/elasticsearch/query_builder.ts to follow convention (#55413) 2022-09-21 09:38:25 +02:00
Julien Duchesne a44c0040a9 Drone: Always have image_pull_secrets (#55530)
Having it doesn't prevent pulling any images, so it's easier if it's everywhere
2022-09-21 06:27:43 +00:00
GitStart 667993eae7 Dashboard: Single right-aligned y axis loses gridlines (#54206)
Co-authored-by: gitstart <gitstart@gitstart.com>
Co-authored-by: gitstart <gitstart@users.noreply.github.com>
Co-authored-by: Nitesh Singh <nitesh.singh@gitstart.dev>
Co-authored-by: Murilo Amaral <87545137+MuriloAmarals@users.noreply.github.com>
Co-authored-by: Matheus Benini Ferreira <88898100+MatheusBeniniF@users.noreply.github.com>
Co-authored-by: Rafael Toledo <87545086+Toledodev@users.noreply.github.com>
Co-authored-by: Rubens Rafael <70234898+RubensRafael@users.noreply.github.com>
Co-authored-by: Júlio Piubello da Silva Cabral <julio.piubello@gitstart.dev>
Co-authored-by: Thiago Nascimbeni <tnascimbeni@gmail.com>

Co-authored-by: gitstart <gitstart@users.noreply.github.com>
Co-authored-by: gitstart <gitstart@gitstart.com>
Co-authored-by: Nitesh Singh <nitesh.singh@gitstart.dev>
Co-authored-by: Murilo Amaral <87545137+MuriloAmarals@users.noreply.github.com>
Co-authored-by: Matheus Benini Ferreira <88898100+MatheusBeniniF@users.noreply.github.com>
Co-authored-by: Rafael Toledo <87545086+Toledodev@users.noreply.github.com>
Co-authored-by: Rubens Rafael <70234898+RubensRafael@users.noreply.github.com>
Co-authored-by: Júlio Piubello da Silva Cabral <julio.piubello@gitstart.dev>
Co-authored-by: Thiago Nascimbeni <tnascimbeni@gmail.com>
2022-09-20 23:58:12 -05:00
Torkel Ödegaard 96dfc4bac5 GrafanaRoute: Use React.Lazy instead of react-loadable and improve error handling (#55339)
* Things are working

* Add new GrafanaRoute tests

* removed old file

* Remove from package.json
2022-09-21 05:41:05 +02:00
GitStart e0c630e915 Status History Panel: Show X-Axis Value in Tooltip (#54563)
Co-authored-by: gitstart <gitstart@users.noreply.github.com>
Co-authored-by: gitstart <gitstart@gitstart.com>
Co-authored-by: Nitesh Singh <nitesh.singh@gitstart.dev>
Co-authored-by: Rubens Rafael <70234898+RubensRafael@users.noreply.github.com>
Co-authored-by: Rafael Toledo <87545086+Toledodev@users.noreply.github.com>
Co-authored-by: Matheus Benini Ferreira <88898100+MatheusBeniniF@users.noreply.github.com>
Co-authored-by: Matheus Benini <matheus_benini@hotmail.com>
Co-authored-by: Júlio Piubello da Silva Cabral <julio.piubello@gitstart.dev>
Co-authored-by: juliopiubello <juliopiubellow@gmail.com>
2022-09-20 21:57:47 -05:00
Ryan McKinley 0c38a3ba97 Search: Investigate frontend search options (again) (#55526) 2022-09-20 20:24:29 -04:00
Artur Wierzbicki c3ca5405ce Search: Add search index configuration options (#55525)
* Search: externalize config

* Search: update config descriptions

* Search: fix value

* Search: fix

* update

* Search: revert config values

* Search: rename copy/paste

* Search: fix tests
2022-09-20 19:09:55 -04:00
Artur Wierzbicki 9db2720016 Search: improve logging in case of failed dashboard loading phase (#55523) 2022-09-20 23:50:29 +02:00
Yuriy Tseretyan 57a0b6db2c Alerting: Refactor WeCom notifier to use encoding/json to parse settings instead of simplejson (#55423) 2022-09-20 14:37:24 -04:00
Ieva 6d5bdf12e8 resolve merge conflicts (#55503) 2022-09-20 13:31:08 -04:00
kay delaney 064a9ccd6e PanelHeader: Add deadzone to panel header click/drag detection (#55490) 2022-09-20 18:15:03 +01:00
Serge Zaitsev 305d494902 Chore: Switch over to team.Service instead of sqlstore (#55497)
* switch to using team service

* trying to fix tests

* more tests to fix

* add missing teamtest package
2022-09-20 18:58:04 +02:00
Torkel Ödegaard 40bc140a9a Refactoring and simplifying TopSearchBar (#55341) 2022-09-20 18:57:38 +02:00
Grot (@grafanabot) 80c0dc890a ReleaseNotes: Updated changelog and release notes for 9.0.9 (#55511) 2022-09-20 16:45:53 +00:00
owensmallwood aae2c3c4f4 PublicDashboards: Tag is rerendered when dashboard meta changes in state (#55414)
Can update dashboard meta state using dashboard events.
2022-09-20 10:42:57 -06:00
Marcus Efraimsson 862a6a2fa6 Logging: Introduce API for contextual logging (#55198)
Introduces a FromContext method on the log.Logger interface that 
allows contextual key/value pairs to be attached, e.g. per request, 
so that any logger using this API will automatically get the per request 
context attached. The proposal makes the traceID available for 
contextual logger , if available, and would allow logs originating from 
a certain HTTP request to be correlated with traceID.
In addition, when tracing not enabled, skip adding
traceID=00000000000000000000000000000000
to logs.
2022-09-20 18:32:06 +02:00
Grot (@grafanabot) c6ed7d6741 ReleaseNotes: Updated changelog and release notes for 9.0.9 (#55506) 2022-09-20 16:21:25 +00:00
Grot (@grafanabot) ce10706f03 ReleaseNotes: Updated changelog and release notes for 8.5.13 (#55502) 2022-09-20 11:55:14 -04:00
Jo 006944a360 Auth: Add development manual override (#55496)
* Auth: Add development manual override

* rename to disable_sync_lock
2022-09-20 11:48:40 -04:00
Alexander Emelin 0e6a8cc6ac Live: Migrate to centrifuge-js v3 (new API and client protocol) (#51977) 2022-09-20 11:39:46 -04:00
renovate[bot] 42cf92a3f2 Update dependency @daybrush/utils to v1.10.0 (#55492)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-20 16:35:37 +01:00
Alexander Weaver 3a580dc3cd Alerting: Extract default message embed into named constant (#55424)
* Resolve conflicts

* Combine multiple const definitions
2022-09-20 10:20:06 -05:00
renovate[bot] 3195866596 Update dependency @babel/plugin-transform-runtime to v7.19.1 (#55289)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-20 16:00:06 +01:00
Artur Wierzbicki 03af63d52e SearchV2: add tracing to background jobs (#55250)
* searchv2: add tracing to background jobs

* searchv2: lint

* searchv2: lint

* searchv2: fix context passing

* searchv2: add init org index span

* searchv2: add traceid to logs

* searchv2: add db count to logs
2022-09-20 16:49:44 +02:00
Leonard Gram a14bd4055f Chore: update latest.json to 9.1.6 (#55486) 2022-09-20 16:47:25 +02:00
Grot (@grafanabot) bbb8bf08db ReleaseNotes: Updated changelog and release notes for 9.1.6 (#55481) 2022-09-20 16:31:35 +02:00
Jo 0be644031d Auth: Add SAML common resolutions to cookie issues (#55395)
* Auth: Add SAML cookie specifics

* Auth: remove legacy message

* HTTPS

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
2022-09-20 16:21:50 +02:00
Josh Hunt 070d44802f Chore: Type Rudderstack and AppInsights window APIs (#55162)
* Chore: Type Rudderstack and AppInsights window APIs

* remove rudder sdk to dev deps
2022-09-20 10:06:31 -04:00
Emil Tullstedt 4711454b81 Org: Fix service initialization (#55460) 2022-09-20 08:28:47 -04:00
Hamas Shafiq d06ed3226c Jaeger: Add cheat sheet (#54521) 2022-09-20 12:48:17 +01:00
Konrad Lalik 4c4b758646 Alerting: Add templates autocomplete (#53655)
Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2022-09-20 13:07:17 +02:00
idafurjes 43a1d1484d Add some org methods to org service interface (#55449)
* Add some org methods to org service interface

* Fix fake method name
2022-09-20 12:57:51 +02:00
Laura Benz dbbab6e95c Explore: Add feature tracking events (#54514)
* feat: add tracking in query row button group

* feat: add tracking for split view

* feat: add tracking for query inspector tab open

* feat: add tracking for shortened link button

* feat: add tracking for change of datasource

* feat: add tracking for time range options

* refactor: clean up

* refactor: repair tests

* refactor: clean up

* feat: add details to change of data source

* refactor: remove duplicate tracking

* refactor: make tracking reusable in an easier way

* refactor: add property

* refactor: change data for time picker

* refactor: change tracking label for time picker

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>

* refactor: store tracking in explore component

* refactor: add index signature

* refactor: remove ?

* refactor: split into 3 callbacks

* refactor: apply suggestions from code review

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
2022-09-20 06:50:23 -04:00
idafurjes eff4daacaf Bug: Rollback change in search (#55443) 2022-09-20 12:18:39 +02:00
Dimitris Sotirakis cb93ed04a7 Add storybook bucket for main builds (#55448) 2022-09-20 13:15:06 +03:00
Serge Zaitsev 2ee3fd3994 Chore: Create structure for team service (#55444) 2022-09-20 10:14:00 +00:00
Giordano Ricci d815e2cb56 Correlations: Return 200 instead of 404 for empt correlation lists (#55242)
* return 200 instead of 404 for empty correlations list

* handle empty list response & improve consistency
2022-09-20 11:13:33 +01:00
Josh Hunt d014a3a09b Echo: Add support for Google Analytics 4 (#55446)
* user essentials mob! 🔱

lastFile:public/app/core/services/echo/backends/analytics/GA4Backend.ts

* user essentials mob! 🔱

* user essentials mob! 🔱

lastFile:public/app/core/services/echo/backends/analytics/GA4Backend.ts

* user essentials mob! 🔱

lastFile:public/app/core/services/echo/backends/analytics/GA4Backend.ts

* user essentials mob! 🔱

lastFile:public/app/app.ts

* user essentials mob! 🔱

Co-authored-by: eledobleefe <laura.fernandez@grafana.com>
Co-authored-by: Leodegario Pasakdal <leodegario.pasakdal@grafana.com>
2022-09-20 03:13:14 -07:00
Jo 13146cc812 Auth: reduce allocs (#55410) 2022-09-20 12:03:08 +02:00
Torkel Ödegaard 10b3c0787a CSSTransition fixes warnings (#55340) 2022-09-20 11:47:31 +02:00
Marcos Vinicius c088f2be50 Elasticsearch: Rename public/app/plugins/datasource/elasticsearch/language_provider.ts to follow convention (#55430) 2022-09-20 11:34:07 +02:00
Serge Zaitsev 8f1e2ed658 Chore: Split temporary user (invite) service (#55397)
* Chore: Split temporary users

* change references to tempuser service

* fix api tests

* restore tests
2022-09-20 11:29:17 +02:00
matt abrams 9bf778d5d7 add triage/needs-confirmation to collector (#55189) 2022-09-20 11:11:12 +02:00
Sonia Aguilar 4270e5606c Alerting: Fix enter key 'clicking' first button on form (#55222)
* Add type='button' in button used in Heading component to prevent having the default value ='submit'

* Add type='button' for buttons used in form when grafana-managed alert type is selected

* Add type='button' for buttons used in form when mimir-or-loki alert type is selected
2022-09-20 11:02:41 +02:00
Konrad Lalik 20e6e0d593 Alerting: Fix default query's data source when no default datasource specified (#55435) 2022-09-20 10:43:39 +02:00
Gábor Farkas 323ca6825a devenv: removed obsolete elastic docker configs (#55402) 2022-09-20 10:16:28 +02:00
idafurjes 7ce7c9b64c Chore: Move SearchOrgs to org service (#55416)
* Chore: Move SearchOrgs to org service

* Fix lint

* Fix lint 2
2022-09-20 09:55:40 +02:00
Andrea Spadaccini e25612092b Mention the need for Subscription Reader role (#51844)
Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
Co-authored-by: Andres Martinez Gotor <andres.mgotor@gmail.com>
Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>
2022-09-20 09:24:33 +02:00
Sven Grossmann 95ddfe8ee1 GrafanaUI: mark all Log components deprecated (#55404) 2022-09-20 08:48:32 +02:00
Erik Sundell caba98590d Cloudwatch: Break out resource requests from datasource file (#55358)
* break out resource requests from datasource file

* fix lint issues
2022-09-20 07:50:54 +02:00
Alexander Weaver 4df41972f1 Alerting: Refactor one notifier to use encoding/json to parse settings instead of simplejson (#55271)
* Create struct for Slack's receiver settings

* Remove one layer of indirection when building slack notifier

* Delete un-used struct

* Validate against settings struct instead of simplejson object

* Genericize settings marshalling

* Remove repetition between fields on notifier and fields on settings struct

* Rename unmarshal settings wrapper

* Handle comma separated strings at marshalling time rather than validation time

* Address misc review feedback
2022-09-19 17:30:16 -05:00
Serge Zaitsev 7108b4331d Fix: return proper values in dashboard thumbs service (#55421) 2022-09-20 00:29:55 +02:00
owensmallwood c946e44741 Ignore docker-compose override. (#55407)
adds docker-compose override to gitignore
2022-09-19 12:17:54 -06:00
Guilherme Caulada 3b1fc18692 PublicDashboards: Ignore time range input and changes on public dashboard (#55412)
* Ignore time range input and changes on public dashboard

* Use config instead of getConfig to access boot config
2022-09-19 15:16:27 -03:00
Timur Olzhabayev 80ff9fc0ef Chore: Handing over sigv4 middleware ownership (#55355) 2022-09-19 18:39:24 +02:00
Misi 8405a99fef Chore: Add changed enterprise devenv path to .gitignore (#55408) 2022-09-19 12:15:28 -04:00
sam boyer 4d0988b6b2 misc: Update to Go 1.18 (#53440) 2022-09-19 16:04:14 +00:00
Guilherme Caulada ee899e8c3a PublicDashboards: Sanitize metadata from public dashboard queries (#55269)
* Add function to remove metadata from queries

* Add test for RemoveMetadataFromQueryData function

* Remove only custom data and executed query string

* Add sanity check to SanitizeMetadataFromQueryData
2022-09-19 12:44:29 -03:00
Torkel Ödegaard d5e4b08a3a DashNav: Fixes missing key warning caused by public dashboard tag (#55336) 2022-09-19 17:01:14 +02:00
Jack Westbrook db17a88193 Plugins: Expose emotion/react to plugins to prevent load failures (#55297) 2022-09-19 16:54:13 +02:00
Kristina 273ff02dde Explore: Add error handling function when retrieving datasource (#55055)
* Use datasource function with error handling

* Check datasource exists when validating query, add test

* Add mock to test that now requires it

* Add comment explaining verbose validity logic
2022-09-19 09:43:16 -05:00
Dimitris Sotirakis b26e443173 Fix fetch-images command (#55365) 2022-09-19 17:17:56 +03:00
Dimitris Sotirakis 2c872b0d94 Run enterprise downstream after OSS CI is done (#55366) 2022-09-19 17:17:36 +03:00
Dimitris Sotirakis f058e1eae3 Add storybook bucket for main builds (#55379) 2022-09-19 17:17:25 +03:00
Torkel Ödegaard cc4392d514 Devenv: Add compose block for elastic 8 (#55214)
* Devenv: Add compose block for elastic 8

* added filebeat and metricbeat configurations

* disable mount to `/var/log`

* renamed to elasticstack

Co-authored-by: Sven Grossmann <svennergr@gmail.com>
Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
2022-09-19 16:05:42 +02:00
Jo e1af4e72bc Auth: Add documentation on group overage claims in AzureAD (#55389)
* Auth: Add documentation on group overage claims in AzureAD

* add info on versioning
2022-09-19 15:45:05 +02:00
Sonia Aguilar e677afabdf Use GrafanaAlertStateDecision.Error instead of Error string in RuleEditor test (#55385) 2022-09-19 15:04:24 +02:00
Giordano Ricci 93e4205caa chore: fix OX coverage report (#55386) 2022-09-19 13:55:09 +01:00
GitStart 6fb8abbbb6 Convert packages/jaeger-ui-components/src/TracePageHeader/SpanGraph/TickLabels.test.js to RTL (#55284)
Co-authored-by: gitstart <gitstart@users.noreply.github.com>
Co-authored-by: Nitesh Singh <nitesh.singh@gitstart.dev>
Co-authored-by: Rafael Toledo <87545086+Toledodev@users.noreply.github.com>
Co-authored-by: Murilo Amaral <87545137+MuriloAmarals@users.noreply.github.com>
Co-authored-by: Matheus Benini Ferreira <88898100+MatheusBeniniF@users.noreply.github.com>
Co-authored-by: Rubens Rafael <70234898+RubensRafael@users.noreply.github.com>
Co-authored-by: Toledodev <rafael.toledo@engenharia.ufjf.br>
Co-authored-by: Júlio Piubello da Silva Cabral <julio.piubello@gitstart.dev>
2022-09-19 15:02:33 +03:00
Giordano Ricci d2adb1a3cd chore: add coverage repoort for OX-related PRs (#55316) 2022-09-19 13:01:15 +01:00
Torkel Ödegaard 2916b483eb Update a few more pages to use navId instead of navModel from store (#55342) 2022-09-19 13:21:41 +02:00
Gábor Farkas 5efeff4890 GrafanaUI: Deprecate logs components (#55364)
* grafana-ui: mark logs-components deprecated

* improved deprecation-message
2022-09-19 13:21:14 +02:00
Tima Gixe e73a85dfb5 Chore: omit allowCustomValue and allowEmptyValue (#55352) 2022-09-19 13:40:58 +03:00
Will Browne cd7a464f7e Plugins: Ensure plugin uninstall success for "pre-installed" community plugins (#55322)
* track pre-installed external plugins in store

* fix tests
2022-09-19 12:14:30 +02:00
kay delaney 64bbb7a7ce Chore: Update and enforce usage of typed react-redux hooks (#55349)
* Chore: Update and enforce usage of typed react-redux hooks
2022-09-19 10:49:35 +01:00
Sven Grossmann a3ff758874 ElasticSearch: Fix dispatching queries at a wrong time (#55225)
* Loki: Fix running queries without an `expr`

* rever previous change

* only dispatch `initQuery` if the DS is uninitialized

* moved `isUninitialized` to static var
2022-09-19 11:45:21 +02:00
George Robinson 4a1ca7e32f Alerting: Change default alert state to Error on execution error or timeout (#55345) 2022-09-19 10:42:04 +01:00
Serge Zaitsev 96b032e103 Chore: Split dashboard thumbnail service (#55344)
* Chore: split dashboard thumbnail service

* fix typo

* move tests

* make linter happy
2022-09-19 11:29:22 +02:00
Gábor Farkas 1ee6a1f7c2 Logs: move logs-components from grafana-ui to grafana-main (#55041)
* logs: added a copy of the grafana-ui logs-files

* fix: added the ansicolor package to the main grafana package

* logs-components: import things from grafana-ui

* import from local files

* logs-components: other fixes

* add betterer-exceptions

* apply updates from grafana-ui package
2022-09-19 10:51:46 +02:00
Victor Marin 32c4245efd TablePanel/StatPanel: Fix values not being visible when background transparent (#55092)
* TablePanel/StatPanel: Fix values not being visible when background transparent

* Maintain backwards compatibility
2022-09-19 11:47:37 +03:00
Yaelle Chaudy 1e9f5a5080 Azure Monitor: Fix migration issue with MetricDefinitionsQuery template variable query types (#55262)
* updated imported dashboards

* Adds check for MetricDefinitionsQuery in migration

* Removed delete from migratio

* switched back to const for migratedQ

* Added depreacted to MetricDefinitionQuery
2022-09-19 10:32:27 +02:00
Dimitris Sotirakis 93e78e2146 CI: Move fetch-images sub-command from build-pipeline repo (#55298)
* Move fetch images from build-pipeline

* Modify drone

* Replace zerolog with builtin log

* Fix lint
2022-09-19 11:19:31 +03:00
Sofia Papagiannaki 754eea20b3 Chore: SQL store split for annotations (#55089)
* Chore: SQL store split for annotations

* Apply suggestion from code review
2022-09-19 10:54:37 +03:00
Erik Sundell 469f915b8c CloudWatch: Enable feature adoption tracking in the plugin (#54299)
* improve typing for DashboardLoadedEvent

* cleanup

* add cloudwatch tracking event

* add test

* revert test change

* fix typo

* remove optional

* pr feedback

* reactor test

* revert changes to api and azure

* cleanup

* refactoring test

* pr feedback
2022-09-19 08:53:42 +02:00
Erik Sundell 7bca193ecd CloudWatch: Refactoring - decouple logs and metrics in datasource file (#55079)
* break out query execution related logic

* betterer fixes

* remove unused

* cleanup

* remove unused variables

* remove not used file

* fix broken test

* pr feedback

* add comments
2022-09-19 08:50:41 +02:00
Leo 1a0cbdeabe Navigation: Add help menu to top search bar (#55062)
* add help menu to top search bar

* fixes

* handle preventDefault in node graph specifically

* use icon prop of MenuItem

* undo changes to ContextMenuPlugin/DataLinksContextMenu

* remove unused component

* revert storybook changes

* Tweaks

* remove unused style

* stop propagation on the header so version can be highlighted

* make sure useContextMenu has the exact same logic as before

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-09-17 18:17:00 +02:00
Ryan McKinley 17b2fb04e8 DashboardQuery: Expand query options (#53998) 2022-09-16 13:28:47 -04:00
Jean-Philippe Quéméner 4dc0d49025 Alerting: make sure that rules in rule group are nil if not provided (#55301) 2022-09-16 18:54:00 +02:00
Joao Silva bf5b21563c StatPanel: Add padding between horizontal name and value (#55299) 2022-09-16 17:53:09 +01:00
brendamuir c0c4409abc Docs: adds set up section with alertmanager, provisioning sections (#55291)
* Docs: adding setup, provisioning docs

* add set up, alertmanager

* Adds link to provisioning from set up page

* renames topics in set up section

* fixes alertmanager link

* removing article for alertmanager

* first connection to oncall

* updating armands intro text

* getting rid of blank line
2022-09-16 17:22:20 +01:00
Gareth Dawson 98a8908910 Loki: Remove any type from logs.test.ts (#55303)
* Remove any type from logs.test.ts

* Replace unknown types and move type casting to variables
2022-09-16 16:57:42 +01:00
Ryan McKinley 0c4d181d1e SupportSnapshots: Rename to "Get help" (#55206) 2022-09-16 08:51:14 -07:00
Yuriy Tseretyan 6539ae512c use filepath.Dir to get the parent (#55266) 2022-09-16 10:29:39 -04:00
Gregory Quinio fb59702c74 Storybook: use div #root styles on storybook preview instead of additional div wrapper (#55023)
* feat: use styles on #root div instead of additionnal div wrapper

* Update packages/grafana-ui/src/utils/storybook/withTheme.tsx

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

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2022-09-16 17:04:56 +03:00
Dave Henderson 801b61c963 Tracing: Add new [tracing.opentelemetry] custom_attributes config setting (#54110)
* tracing: Add new [tracing.opentelemetry] custom_attributes config setting

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

* Fix typos in config

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

* Return error when custom_attributes contains malformed entries

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2022-09-16 09:54:25 -04:00
Kristina 18f4d02262 Docs: Update enter/shift+enter details for prometheus query field (#52607)
* Update for accuracy

* Update docs/sources/explore/query-management.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>
2022-09-16 09:50:18 -04:00
GitStart 46f0672215 Loki: Remove hardcoded values for parsed query parts (#54755)
Co-authored-by: Nitesh Singh <nitesh.singh@gitstart.dev>
Co-authored-by: gitstart <gitstart@users.noreply.github.com>
Co-authored-by: Rafael Toledo <87545086+Toledodev@users.noreply.github.com>
Co-authored-by: Murilo Amaral <87545137+MuriloAmarals@users.noreply.github.com>
Co-authored-by: gitstart <gitstart@gitstart.com>
Co-authored-by: Matheus Benini Ferreira <88898100+MatheusBeniniF@users.noreply.github.com>
Co-authored-by: Matheus Benini <matheus_benini@hotmail.com>
Co-authored-by: Rubens Rafael <70234898+RubensRafael@users.noreply.github.com>
Co-authored-by: Júlio Piubello da Silva Cabral <julio.piubello@gitstart.dev>

Co-authored-by: gitstart <gitstart@users.noreply.github.com>
Co-authored-by: Nitesh Singh <nitesh.singh@gitstart.dev>
Co-authored-by: Rafael Toledo <87545086+Toledodev@users.noreply.github.com>
Co-authored-by: Murilo Amaral <87545137+MuriloAmarals@users.noreply.github.com>
Co-authored-by: gitstart <gitstart@gitstart.com>
Co-authored-by: Matheus Benini Ferreira <88898100+MatheusBeniniF@users.noreply.github.com>
Co-authored-by: Matheus Benini <matheus_benini@hotmail.com>
Co-authored-by: Rubens Rafael <70234898+RubensRafael@users.noreply.github.com>
Co-authored-by: Júlio Piubello da Silva Cabral <julio.piubello@gitstart.dev>
2022-09-16 15:35:20 +02:00
Piotr Jamróz 9b4cdfe652 Correlations: Hide Correlations Page behind a feature toggle (#55224)
* Hide Correlations Page behind a toggle

* Remove redundant defaults

* Ensure top nav is rendered when correlations are disabled

This is for the case when:

[feature_toggles]
topnav = true
2022-09-16 15:14:27 +02:00
Gareth Dawson 5c66c41220 Loki: Remove any type from logsModel.test.ts (#55287)
* Remove any type from logsModel.test.ts

* Remove duplicate type checks
2022-09-16 12:56:35 +01:00
Ivana Huckova 82a6872f0f Loki, Prometheus: Remove beta tag from query builder (#55150) 2022-09-16 12:31:33 +02:00
Dimitris Sotirakis 95512c19e0 CI: Refactor versions.go (#55238)
* Refactor versions.go

* s/ReleaseModeConfig/BuildConfig
2022-09-16 06:26:33 -04:00
ying-jeanne e4741ce8d6 remove datasource from sqlstore (#55288) 2022-09-16 06:20:26 -04:00
Victor Marin 18f33871d1 Fix header/footer not sticky (#55285) 2022-09-16 13:14:34 +03:00
Eric Leijonmarck 9cdd1cde7f fix: order of database (#55232)
* fix: order of database

* fix: sort of results

* Update pkg/api/dtos/models_test.go

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

* Update pkg/api/dtos/models_test.go

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

* only one assert

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-09-16 05:24:24 -04:00
renovate[bot] 7565752644 Update dependency @swc/core to v1.3.1 (#55040)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-16 10:19:44 +01:00
GitStart f26babf484 Loki: Rename public/app/plugins/datasource/loki/query_utils.ts file to follow convention (#55180) 2022-09-16 10:16:54 +02:00
Agnès Toulet 359685b051 Docs: RBAC update for insights and query caching (#52544)
* Doc: RBAC update for insights and query caching

* Fix RBAC actions table order

* Fix RBAC role definitions & assignments tables

Co-authored-by: Joan López de la Franca Beltran <joanjan14@gmail.com>
2022-09-16 09:59:59 +02:00
Leo e7ae71a5cc Navigation: use pagenav and subtitle to the new team page (#55200)
* added pageNav to new team page

* improve copies

* improve copies

* improve test
2022-09-16 09:32:08 +02:00
Leo 896d684065 Browse: Hide dashboard actions if user does not have enough permission (#55218)
* hide dashboard actions if user does not have enough permission

* improve test description
2022-09-16 09:19:19 +02:00
Leo 3f413f6f94 Navigation: Use navId and pageNav for Create User page (#55201)
* added pageNav subttitle and used navid for usercreatepage

* improve subtitle copy and redirected to user page after creation

* improve title copy

* improve copies

* breadcrumbs redirect to users page instead of org
2022-09-16 09:16:26 +02:00
Leo 26e444c194 Navigation: Use navid and pagenav for new org page (#55203)
* use navid and pagenav for new org page

* Minor tweak

* improve copies

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-09-16 08:56:50 +02:00
GitStart eb7fe07401 Loki: Rename public/app/plugins/datasource/loki/language_utils.ts file to follow convention (#55181) 2022-09-16 08:48:37 +02:00
Ryan McKinley 6947e276d6 Inspect: Hide Actions tab when it is empty (#55272) 2022-09-15 22:17:12 -07:00
Christopher Moyer dd0be3012c adjusts structure of tasks (#55268) 2022-09-15 17:17:12 -05:00
Saverio Proto a09e4b0e4f Update grafana version tag to 9.1.0 (#54049)
* Update grafana version tag to 9.0.5

The user doing cut and paste will not notice and will install a old version of Grafana

* Update version to 9.1.0

Current latest tag is 9.1.0: https://hub.docker.com/r/grafana/grafana/tags
2022-09-15 19:46:13 +00:00
Garrett Guillotte 97ca109d84 Docs: Fix Cloud availability of JWT URL Embedding (#55260)
* Docs: Fix Cloud availability of JWT URL Embedding

* Docs: Clarify JWT URL embedding availability in docs
2022-09-15 10:57:38 -07:00
Ezequiel Victorero 9770edb118 Docs: Grafana Live not supported by public dashboards (#55246) 2022-09-15 14:53:27 -03:00
Brendan O'Handley 331f3e2a58 small fix for new variable editor types (#55195) 2022-09-15 11:39:40 -05:00
George Robinson 5561f935e6 Alerting: Fix send resolved notifications (#54793)
This commit fixes a bug where we did not send resolved alerts to Alertmanager for resolved alert instances. This meant that resolved notifications did not have the annotations from the resolved state, and a result did not also have the resolved screenshot.
2022-09-15 17:25:05 +01:00
Michael Musenbrock 099d3cdf72 Provisioning Contact points: Support disableResolveMessage via YAML too (#54122)
Signed-off-by: Michael Musenbrock <michael.musenbrock@gmail.com>
2022-09-15 12:19:34 -04:00
Jo 3e2e9f93b9 Auth: Allow admins to manually change oauth user role if oauth_skip_org_role_update_sync is enabled (#55182)
* Auth: Allow admins to change oauth user info it it's not synced.

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

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

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

* Add missing import

* Simplify init

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

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

* SAML: Add option to skip org role sync

* Modify frontend accordingly

* Remove update from config option name

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

* Remove update from config option name

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

* Fix typo

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

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
Co-authored-by: gamab <gabi.mabs@gmail.com>
Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2022-09-15 12:06:09 -04:00
Kim Nylander ebcbb66548 Fix broken image rendering troubleshooting links (#55210) 2022-09-15 10:50:08 -05:00
owensmallwood 5121e32722 When generating the pubdash url, use the base url from the Grafana config. This allows the url generation to work in the case that Grafana is hosted on a subpath. (#55204)
Support subpaths when generating public dashboard url
2022-09-15 09:46:11 -06:00
Jo 00e7324bf6 Auth: Restore legacy behavior and add deprecation notice for empty org role in oauth (#55118)
* Auth: Add deprecation notice for empty org role

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

* fix recasts

* fix azure tests missing logger

* Adding test to gitlab oauth

* Covering more cases

* Cover more options

* Add role attributestrict check fail

* Adding one more edge case test

* Using legacy for gitlab

* Yet another edge case YAEC

* Reverting github oauth to legacy

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

* Not using token

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

* Nit.

* Adding warning in docs

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

* add warning to generic oauth

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

* Be more precise

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

* Adding warning to github oauth

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

* Adding warning to gitlab oauth

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

* Adding warning to okta oauth

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

* Add docs about mapping to AzureAD

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

* Clarify oauth_skip_org_role_update_sync

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

* Nit.

* Nit on Azure AD

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

* Reorder docs index

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

* Fix typo

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

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
Co-authored-by: gamab <gabi.mabs@gmail.com>
2022-09-15 17:35:59 +02:00
Sven Grossmann f1e8a528d1 ElasticSearch: Fix lucene formatted variables being wrongly escaped (#54981)
* fixed negative numbers are encoded

* Chore: move variableModel to TypedVariableModel

* add tests
2022-09-15 17:18:57 +02:00
Seyaji 7ec1d137b4 Logs: Relocate "show context" button, add copy line log button (#50977)
* add context button to right side of log row

* add context button to right side of log row

* add context button to right side of log row

* add context button to right side of log row

* add show-context icon

Co-authored-by: Sven Grossmann <svennergr@gmail.com>
2022-09-15 17:13:58 +02:00
Brendan O'Handley cd6b7ba688 InfluxDB: add scopedVars to tags to fix repeated panels querying all selected variables (#54934)
* add scoped vars for tags in influx to fix repeated panels

* test for adding scopedVars to tags
2022-09-15 09:29:19 -05:00
Adam Simpson 92857ef331 CloudMonitor: Remove cloudMonitoringExperimentalUI feature flag (#55054)
* CloudMonitor: remove cloudMonitoringExperimentalUI

* fix: address typecheck errors

* fix: fix SLO import and width cleanup

* fix wrong metricType when switching datasources

* fix: remove legacy SLO and fix queryType check
2022-09-15 14:12:26 +00:00
Joao Silva 13014dc0df Search: Fixes folder section not displaying dashboards (#55231) 2022-09-15 14:00:05 +01:00
Eric Leijonmarck 1d298b3e53 fix: min metric to hourly metric (#55228)
* fix: min metric to hourly metric

* Update pkg/services/login/model.go

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

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-09-15 14:17:34 +02:00
Marcus Efraimsson cc583c5d87 Chore: Change default log level for errutil.CoreStatus (#55199) 2022-09-15 14:08:59 +02:00
Torkel Ödegaard b8e72d6173 TopNav: KioskMode rewrite move to AppChrome responsibility and make it a global feature (#55149)
* Initial progress

* Moving keybindingSrv to context

* Simplfy KioskMode

* Removed unused logic

* Make kiosk=tv behave as before but when topnav is enabled

* Minor fix

* Fixing tests

* Fixing bug with notice when entering kiosk mode

* Fixed test
2022-09-15 14:04:58 +02:00
Piotr Jamróz 7352c181c2 Migrate user_id to BIGINT (#55084) 2022-09-15 13:29:46 +02:00
Karl Persson b827df626d RBAC: Initiate store in service (#55081)
* RBAC: Dont inject store with wire

* RBAC: Use Store interface

* RBAC: Move store interface and initiate it from service
2022-09-15 11:34:15 +02:00
Sven Grossmann aabd626403 Devenv: Fix filebeat level labels (#55217) 2022-09-15 10:33:39 +02:00
Dimitris Sotirakis 4e73766067 CI: Move store-storybook to OSS (#55212)
* Move store-storybook to OSS

* grabpl -> build for store-storybook command

* Replace zerolog with builtin log

* Remove flags from store-storybook

* Fix lint
2022-09-15 11:06:43 +03:00
Ryan McKinley 7700b529f9 SupportSnapshots: improved iframe support (#55059)
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-09-14 12:54:09 -07:00
owensmallwood e37420f0a8 PublicDashboards: Log api layer errors and which datasources fail/succeed (#55056)
Adds pubdash api error logging and logs array of datasource names with success status when running pubdash queries.
2022-09-14 13:19:21 -06:00
Torkel Ödegaard d639b5a7f8 Datasources: New data source page should work with new nav (#55094) 2022-09-14 21:12:09 +02:00
Torkel Ödegaard 7a10a0cb16 Gauge: Fixes empty/broken Gauge panels with datalinks (#55129) 2022-09-14 21:11:36 +02:00
matt abrams 6f0c4c7f82 Geomap: Add Africa, Australia, Oceania, South Asia, and East Asia as initial view options (#55142)
* add remaining continents + Asian regions

* capitalize South-East Asia

* Limit max zoom to 4 for view regions

Co-authored-by: drew08t <drew08@gmail.com>
2022-09-14 11:38:35 -07:00
Guilherme Caulada 82708df287 PublicDashboards: Add link to public dashboards docs to sharing modal (#55186) 2022-09-14 15:05:15 -03:00
Yuriy Tseretyan 8a62020211 Alerting: New API endpoint GET /api/v1/ngalert (#55134)
* declare new endpoint /api/v1/ngalert
* add authorization for new path
* add request handler for the new path
2022-09-14 14:03:10 -04:00
Joao Silva ca2139e9ce Search: Avoid requesting all dashboards when in Folder View 2022-09-14 18:51:55 +01:00
juanicabanas 1e06b0170b PublicDashboards: UI improvements (#55130)
* Public dashboard modal UI modifications
2022-09-14 14:35:46 -03:00
Will Browne 29327cbba2 Plugins: Use error plane for api/ds/query (#54750)
* plugin client returns error base

* fix api test

* add plugin client test

* add fallback err

* fix linting

* wip

* replace bad query

* template is an error

* failing test of templated error

* add one test passing

* fix failing test

* move test

* rename ErrBadQuery to ErrQueryValidationFailure

* tidy diff

* Change to one error per specific error kind

* last err + fix test

* fix imports

* more tests

* keep req vars together

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-09-14 18:19:57 +02:00
owensmallwood deb86e3250 PublicDashboards: Dont support exemplars (#54933)
Don't support exemplars in public dashboards
2022-09-14 09:49:10 -06:00
Ivana Huckova 926a3396ab Query patterns: Feature tracking (#55164)
* Query patterns: Feature tracking before redesign

* Update
2022-09-14 16:52:39 +02:00
Emil Tullstedt 104388dcc1 Chore: Update swagger to v0.30.2 (#55159) 2022-09-14 14:47:19 +00:00
Dimitris Sotirakis 244ccead9d Make lint-drone depend on compile-build-cmd (#55174) 2022-09-14 10:45:00 -04:00
Adam Simpson 65bdee3a90 AzureMonitor: Explain custom and metric namespace properties (#55048) 2022-09-14 14:28:25 +00:00
Dimitris Sotirakis 5c40b053d0 Update grabpl (#55061) 2022-09-14 10:20:58 -04:00
sam boyer ced53a8dc2 plugins: Introduce generated, static core plugin registry (#54118)
* Refactor towards template/codegen framework

* Add templates for plugin gen

* Add Go codegen for plugins; overhaul framework, too

* Add new codegen output; assorted framework fixes

* Regenerate after merge

* Remove accidental commit file, update templates

* Export the pfs.Tree loader from plugin types

* Print details from cuetsy errors

* Generate loaders for all plugins and list in registry

* Use pfs_gen.go over lineage_gen.go

* Un-un-ignore main file

* Introduce simple List static registry for plugins

* Last tweaks to codegen

* remove unused tvars

* Ensure loop-local instances for both vars

* Generate pfs parsing in-place in registry

* Stop generating pfs_gen.go

* Move Tree into pfs, rename subdir

* Change package name to match dir

* Ignore gocyclo on HTTPServer.getNavTree
2022-09-14 10:15:09 -04:00
Kevin Minehart c69a37f8c2 CI: grabpl verify-drone -> ./bin/build verify-drone (#55171)
* move grabpl verify-drone
2022-09-14 09:07:09 -05:00
Dimitris Sotirakis 5a1ba20856 CI: Split oss and enterprise steps for release pipelines (#55157)
* s/include_enterprise2/include_enterprise

* Get rid of get_steps def - include steps in separate defs
2022-09-14 09:47:02 -04:00
Will Browne 0571d98bba [WIP] Plugins: Introduce Plugins specific config (#54854) 2022-09-14 14:35:35 +01:00
Dimitris Sotirakis 8b38f9408d Run codespell only on docs changes (#55064) 2022-09-14 16:32:08 +03:00
Yuriy Tseretyan 896eeb65a9 Alerting: Fix alerting evaluation to use proper permissions (#55127)
* access control to log user name if it does not have permissions
* update ngalert Evaluator to accept user instead of creating a pseudo one
* update alerting eval (rule\query testing) API to provide the real user to the Evaluator
* update scheduler to create a pseudo user with proper permissions
2022-09-14 09:30:58 -04:00
Karl Persson d896db6d30 RBAC: Batch permission creation (#55075) 2022-09-14 15:14:09 +02:00
Gábor Farkas 6dcc8534f7 elastic: simplify unit test (#55168) 2022-09-14 08:59:35 -04:00
GitStart 57bc472755 Loki: Rename public/app/plugins/datasource/loki/live_streams.ts file to follow convention (#55148)
Co-authored-by: gitstart <gitstart@users.noreply.github.com>
Co-authored-by: gitstart <gitstart@gitstart.com>
Co-authored-by: Nitesh Singh <nitesh.singh@gitstart.dev>
Co-authored-by: Rafael Toledo <87545086+Toledodev@users.noreply.github.com>
Co-authored-by: Murilo Amaral <87545137+MuriloAmarals@users.noreply.github.com>
Co-authored-by: Matheus Benini Ferreira <88898100+MatheusBeniniF@users.noreply.github.com>
Co-authored-by: MuriloAmarals <muralha2000@gmail.com>
Co-authored-by: Rubens Rafael <70234898+RubensRafael@users.noreply.github.com>
Co-authored-by: Júlio Piubello da Silva Cabral <julio.piubello@gitstart.dev>
2022-09-14 14:55:15 +02:00
GitStart 017b7c7a7f Convert packages/jaeger-ui-components/src/TracePageHeader/SpanGraph/Scrubber.test.js to RTL (#54822)
Co-authored-by: Nitesh Singh <nitesh.singh@gitstart.dev>
Co-authored-by: gitstart <gitstart@users.noreply.github.com>
Co-authored-by: Rafael Toledo <87545086+Toledodev@users.noreply.github.com>
Co-authored-by: Murilo Amaral <87545137+MuriloAmarals@users.noreply.github.com>
Co-authored-by: Matheus Benini Ferreira <88898100+MatheusBeniniF@users.noreply.github.com>
Co-authored-by: Toledodev <rafael.toledo@engenharia.ufjf.br>
Co-authored-by: Rubens Rafael <70234898+RubensRafael@users.noreply.github.com>
Co-authored-by: Júlio Piubello da Silva Cabral <julio.piubello@gitstart.dev>

Co-authored-by: gitstart <gitstart@users.noreply.github.com>
Co-authored-by: Nitesh Singh <nitesh.singh@gitstart.dev>
Co-authored-by: Rafael Toledo <87545086+Toledodev@users.noreply.github.com>
Co-authored-by: Murilo Amaral <87545137+MuriloAmarals@users.noreply.github.com>
Co-authored-by: Matheus Benini Ferreira <88898100+MatheusBeniniF@users.noreply.github.com>
Co-authored-by: Toledodev <rafael.toledo@engenharia.ufjf.br>
Co-authored-by: Rubens Rafael <70234898+RubensRafael@users.noreply.github.com>
Co-authored-by: Júlio Piubello da Silva Cabral <julio.piubello@gitstart.dev>
2022-09-14 14:40:39 +02:00
Ivan Ortega Alba bed531f5fb Panel: Disable legends when showLegend is false prior to schema v37 (#55126) 2022-09-14 14:33:03 +02:00
Ivana Huckova 4503e0f417 Loki: Hide sample loki queries from inspector (#55158) 2022-09-14 14:25:25 +02:00
Sonia Aguilar 7a6f452f13 Alerting/fix folder creation dropdown (#54687)
*Refactor FolderPicker to be functional component.

* Add customAdd optional property to FolderPicker so we can add new values in the alert view but keeping the same behaviour in the rest of the ui.

* Add test for being able to add folder when no folders found.
2022-09-14 14:04:36 +02:00
brendamuir ab774b47fb Docs: create new explore page for concepts (#55161)
* Docs: create new explore page for concepts

* Updates weighting of explore section to appear at top

* Weight for fundamentals page
2022-09-14 12:16:59 +01:00
Karl Persson d1b9849946 RBAC: Fix background users to include permissions (#55147)
* RBAC: add function to construct background users

* PluginDashboards: Set rbac permissions for user

* Dashboards: use background user constructor
2022-09-14 11:26:05 +02:00
Karl Persson 870929b463 RBAC: Add cache for oss rbac permissions (#55098)
* RBAC: Add cache for oss permissions

* RBAC: include service account actions

* RBAC: revert changes to fetch service account permissions

* Update comment for setting

* RBAC: Disable permission chache for tests
2022-09-14 09:13:10 +02:00
Dimitris Sotirakis 716bdde3f6 CI: Make shellcheck a standalone pipeline (#55082)
* Make shellcheck standalone pipeline

* Run shellcheck on every .sh change

* Change base image

* Trigger on script changes

* Run shellcheck on PRs only
2022-09-14 09:00:06 +03:00
Kevin Minehart ed5d617cb9 CI: move grabpl verify-drone (#55057)
* move grabpl verify-drone
2022-09-14 08:59:18 +03:00
Adrian Serrano 1366b87b34 Fix download link in macOS install instructions (#55133)
The link was pointing to non-existing `7.3.0-381ff45epre` version.

Updated to point to main download page, as with other platforms.
2022-09-13 15:06:01 -07:00
Ryan McKinley 927d97f1ab SupportSnapshots: Show type icons in table (#55119) 2022-09-13 13:42:19 -07:00
Adela Almasan 446b17f308 Canvas: Reload scene in panel view mode (#55122) 2022-09-13 16:22:29 -04:00
Alexander Weaver 9f45e2e706 Alerting: Fix legacy migration crash when rule name is too long (#55053)
* Extract standardized UID field length to constant

* Extract default length to constant

* Truncate rule names that are too long

* Add tests for name normalization

* Fix whitespace lint error

* Another linter fix

* Empty commit to kick build
2022-09-13 13:53:09 -05:00
Guilherme Caulada b06eaf66b6 Public Dashboards: Replace simplejson with TimeSettings on dashboard struct (#55047)
* Replace simplejson for TimeSettings on PublicDashboard struct

* Implement xorm conversion interface to TimeSettings

* Fix minor test assertion issue
2022-09-13 13:33:41 -03:00
Ezequiel Victorero 6e99d8bba5 PublicDashboards: Add wait when fetching public dashboard data in e2e… (#55096) 2022-09-13 13:24:50 -03:00
Armand Grillet b7825ea418 Make brendamuir owner of the Alerting docs (#55117) 2022-09-13 17:49:21 +02:00
Ashley Harrison bd19a06fa9 Update create/edit playlist pages to work with topnav (#55104) 2022-09-13 16:18:50 +01:00
Oscar Kilhed e2f5058a7d Chore: update latest.json to 9.1.5 (#55095) 2022-09-13 09:40:38 -04:00
Grot (@grafanabot) 4ff5fe718b ReleaseNotes: Updated changelog and release notes for 9.1.5 (#55091) 2022-09-13 15:14:46 +02:00
Dimitris Sotirakis 9b42cf009a CI: Update build-container image to v1.6.2 (#55083)
* Update build container to v1.6.2

* Update Dockerfile
2022-09-13 15:43:02 +03:00
Ashley Harrison 14d4e0eeca set font-weight correctly (#55074) 2022-09-13 13:34:02 +02:00
Marcus Andersson c95b530502 DataSource: Adding possibility to hide queries from the inspector (#54892)
* adding the possibility to hide queries when they are executed via the DataSourceWithBackend.query
2022-09-13 13:27:16 +02:00
Laura Fernández 6bc0d97c49 Bar Gauge: fix flip direction when adding data links 2022-09-13 13:13:51 +02:00
Ivana Huckova e70395f07a Query editor: Allow query editors to create new query (#55028)
* Query editor: Allow query editors to create new query

* Update

* Revert "Update"

This reverts commit d5b79d60dd.
2022-09-13 13:09:31 +02:00
Andreas Gerstmayr 2c622b912a Prometheus: Fix integer overflow in rate interval calculation (#52051)
Affecting only 32-bit architectures.
2022-09-13 12:51:26 +02:00
Dimitris Sotirakis ac0f5c5556 CI: Add export-version command (#55072)
* Add export-version command

* Fix lint

* 1-line cleanup
2022-09-13 13:26:24 +03:00
Torkel Ödegaard da001b01f1 TopNav: Section navigation UX (#55012)
* Design tweaks

* Updated

* Fixing unit tests

* Review fixes

* Text primary on active sections, and change home icon to text

* spacing fix

* More fix

* Fixes

* Updates
2022-09-13 12:24:23 +02:00
Ashley Harrison 031c186617 convert AlertRuleList test to RTL (#55045) 2022-09-13 09:29:29 +01:00
Torkel Ödegaard ab045184e4 PanelMenu: Remove hide legend action as it was showing on all panel types (#54876)
* PanelMenu: Remove hide legend action

* Fix test

* Updated
2022-09-13 10:19:59 +02:00
GitStart dc1f7cc226 Loki: Rename public/app/plugins/datasource/loki/live_streams_result_transformer.ts file to follow convention (#54919)
Co-authored-by: Nitesh Singh <nitesh.singh@gitstart.dev>
Co-authored-by: gitstart <gitstart@users.noreply.github.com>
Co-authored-by: Murilo Amaral <87545137+MuriloAmarals@users.noreply.github.com>
Co-authored-by: Rafael Toledo <87545086+Toledodev@users.noreply.github.com>
Co-authored-by: Matheus Benini Ferreira <88898100+MatheusBeniniF@users.noreply.github.com>
Co-authored-by: Toledodev <rafael.toledo@engenharia.ufjf.br>
Co-authored-by: Rubens Rafael <70234898+RubensRafael@users.noreply.github.com>
Co-authored-by: Júlio Piubello da Silva Cabral <julio.piubello@gitstart.dev>

Co-authored-by: gitstart <gitstart@users.noreply.github.com>
Co-authored-by: Nitesh Singh <nitesh.singh@gitstart.dev>
Co-authored-by: Murilo Amaral <87545137+MuriloAmarals@users.noreply.github.com>
Co-authored-by: Rafael Toledo <87545086+Toledodev@users.noreply.github.com>
Co-authored-by: Matheus Benini Ferreira <88898100+MatheusBeniniF@users.noreply.github.com>
Co-authored-by: Toledodev <rafael.toledo@engenharia.ufjf.br>
Co-authored-by: Rubens Rafael <70234898+RubensRafael@users.noreply.github.com>
Co-authored-by: Júlio Piubello da Silva Cabral <julio.piubello@gitstart.dev>
2022-09-13 10:16:04 +02:00
Matias Chomicki c5223f7bf1 Loki: Update Query Variable docs (#54909)
* feat(loki-query-variable-editor): update docs

* Chore: fix typo in updated docs

* Chore: improve redaction

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>
2022-09-13 08:04:33 +00:00
Artur Wierzbicki e19f36649f Storage: Content root storage (#54929)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-09-12 18:34:46 -04:00
Adela Almasan 89d94eeab2 Canvas: Refine element duplication (#55050) 2022-09-12 14:33:08 -05:00
Kevin Minehart d3af3e0431 CI: Move grabpl publish-metrics (#55042)
* move grabpl publish-metrics

* grabpl -> ./bin/build

* fix lint error
2022-09-12 13:28:08 -05:00
Torkel Ödegaard d59bb1e4c2 IconName: Move to grafana/data and use type on NavModelItem (#55013)
* IconName: Allow strings

* Moving to grafana/data and adding type to NavModelItem

* Removed any type

* ts fix
2022-09-12 20:09:33 +02:00
Victor Marin 64869e3d90 Fix StateTimeline zoom function (#55033) 2022-09-12 18:45:31 +02:00
Matias Chomicki 445e1b3eae Loki: add missing interpolation to metric find query requests (#54979)
* feat(loki-variable-query-support): refactor datasource to support legacy and new variable query format

* Chore: fix comment

* Chore: use internal method to interpolate strings

* Chore: revert removed changes

* Chore: update test
2022-09-12 17:48:04 +02:00
Alexa V 18310785a1 Chore: Fix ShellCheck issue in the local a11y report (#55036) 2022-09-12 16:54:06 +02:00
Ashley Harrison b90260b3ae Chore: convert LogRowContextProvider tests to RTL (#55031)
* convert LogRowContextProvider tests to RTL

* remove act
2022-09-12 15:00:09 +01:00
Torkel Ödegaard 49bc70c812 TopNav: Panel edit changes (#54746)
* Progress

* Progress

* Things are working

* More tweaks

* Fixing unit test

* Tweaks and fixing e2e tests

* Remove ... in Save as

* Fixing unit test

* Fixing e2e test

* Fixes

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-09-12 15:45:14 +02:00
Ashley Harrison 4c3e08db91 Chore: Convert ShareLink tests to RTL (#55026)
* Convert ShareLink tests to RTL

* use findByRole instead of findByLabelText to be more robust
2022-09-12 14:34:06 +01:00
kay delaney f578adfede PluginLoader: Alias slate-react as @grafana/slate-react (#55027) 2022-09-12 09:22:01 -04:00
Alexa V 493a2c8e15 A11y: Add Dashboard Settings to Pa11y CI and Refactor local a11y report (#54476) 2022-09-12 15:14:45 +02:00
Torkel Ödegaard 7198fbaf47 AppChrome: Fix unmount on full page reload (#54897)
* AppChrome: Fix unmount on full page reload

* fix flickering on login page

* Changed logic a bit
2022-09-12 15:11:57 +02:00
Joey Tawadrous be5369d6fa Traces: More visible span colors (#54513)
* Use colors array from position 0 for span colors

* Update/add tests

* Use service name hex to get color

* getTheme

* Only add colors that have a contrast ratio >= 3 for the current theme

* Add new tests
2022-09-12 13:20:10 +01:00
Erik Sundell ab72d47850 Cloudwatch: Fix annotation query serialization issue (#54884)
* pass period as string and let backend handle conversion

* adding unit test

* adding unit test
2022-09-12 13:29:55 +02:00
Gustavo Santos 698a4fab26 GrafanaUI: Add required behavior to Inline Field (#54867) 2022-09-12 12:29:23 +01:00
Orlando Ortega Jr 28619d7a55 Chore: Added controls to IconButton & renamed Simple story to Examples (#54371) 2022-09-12 12:03:25 +01:00
Ashley Harrison 58e17f8144 CustomScrollbar: Add optional scroll indicators to CustomScrollbar (#54705)
* Add general scroll indicator behaviour to CustomScrollbar

* Extract ScrollIndicators logic into it's own file

* add scroll indicators to MegaMenu
2022-09-12 11:18:45 +01:00
Adam Simpson 879ee82b83 AzureMonitor: Fix custom namespaces (#54937) 2022-09-12 12:10:51 +02:00
Domas b5c67fe0dd Frontend logging: handle logging endpoints without expensive middleware (#54960) 2022-09-12 13:04:43 +03:00
Emil Tullstedt b287047052 Chore: Upgrade Go to 1.19.1 (#54902)
* WIP

* Set public_suffix to a pre Ruby 2.6 version

* we don't need to install python

* Stretch->Buster

* Bump versions in lib.star

* Manually update linter

Sort of messy, but the .mod-file need to contain all dependencies that
use 1.16+ features, otherwise they're assumed to be compiled with
-lang=go1.16 and cannot access generics et al.

Bingo doesn't seem to understand that, but it's possible to manually
update things to get Bingo happy.

* undo reformatting

* Various lint improvements

* More from the linter

* goimports -w ./pkg/

* Disable gocritic

* Add/modify linter exceptions

* lint + flatten nested list

Go 1.19 doesn't support nested lists, and there wasn't an obvious workaround.
https://go.dev/doc/comment#lists
2022-09-12 12:03:49 +02:00
Gábor Farkas 5388dc6a2f devenv: elastic: new version (#54841) 2022-09-12 11:48:39 +02:00
Alex Khomenko 8aa80078cd LoginLayout: allow providing custom branding (#54787)
* Branding: Customise values

* Branding: Customise loginLogo

* Branding: Add settings type

* Branding: Allow empty subtitle

* Branding: Allow custom footer links

* Branding: Allow empty subtitle
2022-09-12 12:24:45 +03:00
Ashley Harrison cc5f8b9180 bump eslint sdk (#54968) 2022-09-12 10:00:09 +01:00
Carl Bergquist 72ae4a5aa3 toggles: add feature toggle to increase in mem caching (#55014)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2022-09-12 03:50:54 -04:00
Gábor Farkas 7c4c2fb341 codeowners: assign logs-devenvs to logs-squad (#54842) 2022-09-12 09:41:08 +02:00
Sofia Papagiannaki b157fcdd87 Chore: fix formating for swagger definitions (#54993) 2022-09-12 10:40:35 +03:00
Leon Sorokin 7979463bbf PanelOptions: fix timezones editor save key (#55009) 2022-09-10 09:25:27 -07:00
Ryan McKinley 4125dd57ee Panels: Add panel debug support helper (#54678) 2022-09-09 14:35:52 -07:00
Ryan McKinley c49c238974 Snapshots: Use the grafana datasource to render snapshot (#54870) 2022-09-09 13:16:24 -07:00
Leon Sorokin dbb33eaba9 DataFrameJSON: add string enums inflation of field values (#54938)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-09-09 13:59:29 -06:00
Adela Almasan b08f839c4d Geomap: Map control options e2e (#54809) 2022-09-09 15:56:35 -04:00
Christopher Moyer b6237a43e6 adds section shortcode, adjust topic titles (#55000) 2022-09-09 14:44:19 -05:00
Andre Pereira c776131929 [Tempo] - Random API response and other improvements (#54905)
* Moved the SearchResponse type to types.ts.
Created a mockSearchResponse function to generate search responses.

* Generate spans in mocked response. Extend results table to accomodate spans

* Show the first spanset attributes in the table

* Added a shortcut to run the query in TraceQL editor. Added a label and link to docs above the editor

* Improved autocomplete list sorting. Improved value regex.

* Rename column to "Span"

* Tests are great!
2022-09-09 19:00:35 +01:00
Jean-Philippe Quéméner bc4d929c67 Alerting: remove interpolation of annotations from alert rule file provisioning (#54975) 2022-09-09 18:47:54 +02:00
Misi c5be9605a2 Chore: Use TimeNow instead of time.Now in user sql store to make it testable (#54983) 2022-09-09 18:43:14 +02:00
Leo d5e28426ee hide overflow content for single left pane (#54882) 2022-09-09 18:01:30 +02:00
Joe Blubaugh 22c937340e Revert "Alerting: Write and Delete multiple alert instances. (#54072)" (#54885)
This reverts commit 5e4fd94413.
2022-09-09 17:44:06 +02:00
Leo 380fd45b04 Chore: update latest.json to 9.1.4 (#54992) 2022-09-09 15:22:48 +00:00
kay delaney 4c7732ad17 Chore: Upgrade Typescript to 4.8.2 (#54901)
* Chore: Upgrade typescript to 4.8.2
2022-09-09 16:17:58 +01:00
Ashley Harrison 4866898529 make sure AppRoot is lazily loaded (#54954) 2022-09-09 16:09:34 +01:00
Grot (@grafanabot) 1a285d2d0e ReleaseNotes: Updated changelog and release notes for 9.1.4 (#54987) 2022-09-09 16:41:49 +02:00
renovate[bot] 62ef9fb04c Update dependency prismjs to v1.29.0 (#54976)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-09 15:18:20 +01:00
Giordano Ricci f0ec5961a4 fix: restore data source edit page access (#54973) 2022-09-09 09:50:56 -04:00
Tima Gixe 0598ff3743 Storybook: Add controls to CollapsableSection story (#54943) 2022-09-09 14:40:27 +01:00
Christopher Moyer 7147d17567 Docs/refactors variables topics (#54470)
* refactor and partial relref fix

* finishes variables refactor

* Update docs/sources/variables/add-template-variables/index.md

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

* removes duplicate general options, adds links to general options within tasks

* adds configure variable selection options topic

* starts phase II of refactoring

* incorporates feedback, updates relrefs

* corrects final relrefs

* updates alias

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-09-09 08:38:17 -05:00
renovate[bot] b382c7ac1d Update dependency marked to v4.1.0 (#54972)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-09 09:09:32 -04:00
Matias Chomicki 4bed59efb3 Loki Query Variables: Add support to select from existing labels (#54625)
* feat(loki-variable-editor): replace input with select with datasource labels

* feat(loki-variable-editor): update test

* feat(loki-variable-editor): allow the editor to receive an existing query instance and edit it

* feat(loki-variable-editor): allow custom values in the label select

* feat(loki-variable-editor): mark stream field as optional

* feat(loki-variable-editor): add placeholder to stream selector and extend tooltip info
2022-09-09 08:59:07 -04:00
Tima Gixe 7104d90b39 Storybook: Add controls to FieldSet story (#54964) 2022-09-09 15:23:50 +03:00
Erik Sundell a37fa758a2 CloudWatch: Fix display name of metric and namespace (#54860)
* convert value to option

* add unit test

* fix lint issue
2022-09-09 14:15:32 +02:00
renovate[bot] 34e06dbe18 Update dependency lru-cache to v7.14.0 (#54967)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-09 12:14:28 +00:00
renovate[bot] 1054ec2795 Update dependency eslint to v8.23.0 (#54951)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-09 12:57:07 +01:00
Hamas Shafiq 5169e79577 Chore: Add a README for Traces in the Plugins section (#54903) 2022-09-09 12:56:05 +01:00
Virginia Cepeda d3a70de962 Alerting: Use original query time range when duplicating a query (#54805)
* Use original query time range when duplicating it

If there's no time range, then assign a default one

* Add tests

* Import default relative time range from common lib
2022-09-09 08:34:38 -03:00
Seyaji 096fc76e23 Chore: Convert TimelineHeaderRow to RTL (#51390)
* update data-testids

* update data-testids

* Convert TimelineHeaderRow test to RTL

* update data-testids

* Convert TimelineHeaderRow test to RTL

* Convert TimelineHeaderRow test to RTL

* modify TraceView test

* revert test

* Update packages/jaeger-ui-components/src/TraceTimelineViewer/TimelineRow.tsx

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

* Ran yarn betterer

* update selector

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
Co-authored-by: Hamas Shafiq <hamas.shafiq@grafana.com>
2022-09-09 06:44:05 -04:00
Tima Gixe 6b2ff6f25b Storybook: Add controls to LoadingPlaceholder story (#54939) 2022-09-09 13:35:41 +03:00
Tima Gixe 76f0037654 Storybook: Add controls to PanelChrome story (#54741) 2022-09-09 11:08:46 +01:00
Sven Grossmann 20b07fae6f fix bug in loki's adhoc filters (#54920) 2022-09-09 12:04:51 +02:00
Ashley Harrison a861c10f1b Navigation: Integrate search into topnav (#54925)
* behaviour mostly there

* slight performance improvement

* slightly nicer...

* refactor search and add it to the store

* add comments about removing old component

* remove unneeded logic

* small design tweak

* More small tweaks

* Restore top margin

* add onCloseSearch/onSelectSearchItem to useSearchQuery

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-09-09 11:01:31 +01:00
renovate[bot] ad19f018a9 Update dependency esbuild to v0.15.7 (#54928)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-09 10:56:49 +01:00
renovate[bot] 75c46885ca Update dependency @visx/shape to v2.12.2 (#54851)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-09 10:20:44 +01:00
Nicholas Wiersma faf8eb3afb JWT: Allow conventional bearer token in Authorization header (#54821)
* fix: allow JWT to accept standard bearer token

* fix: linter issues

* fix: linter gosec false positive

* fix: refactor logic into JWT handler

* fix: move bearer trimming earlier
2022-09-09 11:05:58 +02:00
Andres Martinez Gotor 366129c14e AzureMonitor: Fix metric namespace list (#54826) 2022-09-09 10:17:10 +02:00
Jean-Philippe Quéméner d88f1c8e35 Alerting: validate am config changes before persisting (#54908) 2022-09-09 10:05:52 +02:00
Gabriel MABILLE 101349fe49 RBAC: Add permissions to install and configure plugins (#51829)
* RBAC: Allow app plugins restriction

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

* Moving declaration to HttpServer

Co-Authored-By: marefr <marcus.efraimsson@gmail.com>

* Picking changes from the other branch

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>

* Rename plugins.settings to plugins

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

* Account for PluginAdminExternalManageEnabled

Co-authored-by: Will Browne <will.browne@grafana.com>

* Set metadata on instantiation

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

Co-authored-by: Kalle Persson <kalle.persson@grafana.com>
Co-authored-by: marefr <marcus.efraimsson@gmail.com>
Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
Co-authored-by: Will Browne <will.browne@grafana.com>
Co-authored-by: Jguer <joao.guerreiro@grafana.com>
2022-09-09 09:44:50 +02:00
Dimitris Sotirakis 8c081d4523 Remove gen-version from windows pipelines (#54941) 2022-09-09 03:22:38 -04:00
Karl Persson bcd7afd1f5 RBAC: Remove service dependency in Evaluator component (#54910)
* RBAC: Remove service dependency for Evaluator component

* RBAC: Add service and load permissions in target org if they are not
there

* RBAC: Use service if we need to load permissions for org

* API: remove service injection into evaluator

* API: set new user for each request in tests

* PublicDashboards: Use fake service to provide permissions

* RBAC: Set org id for dashboard provisioning user
2022-09-09 09:07:45 +02:00
Dimitris Sotirakis e277ab0017 CI: Call for Grafana version on demand - remove need for version.json (#54638)
* Remove need for version.json

* Fix lint

* log.Info -> fmt.Print

* Add back tests

* Remove non-used file

* Fix lint

* Update grabpl version to v3.0.6
2022-09-09 02:35:10 -04:00
Guilherme Caulada 942be4215a Secrets: Improve error handling for secrets manager plugin (#54811)
* Improve error handling for secrets manager plugin

* Update sever lock log for secret migration to Error

* Move plugin started check to a separate function

* Fix nil pointer exception on HasPluginStarted
2022-09-08 17:26:47 -03:00
Torkel Ödegaard f5fd9029ea DebugSnapshot: Change to use exisiting localstorage prop and open in new tab (#54877)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-09-08 11:20:56 -07:00
Leon Sorokin 085db83cd9 DisplayProcessor: Handle reverse-ordered data when auto-showing millis (#54923) 2022-09-08 12:49:03 -05:00
Leon Sorokin eb90d0c4b5 TimeSeries: Support for log scale and negative numbers (#54812) 2022-09-08 11:52:57 -05:00
renovate[bot] 6a7e1caced Update dependency core-js to v3.25.1 (#54915)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-08 17:46:16 +01:00
Polina Boneva 2f16c27e35 Docs: Mention queryparam function (#54526)
* Update data-link-variables.md

Add queryparam function and tables of output to match the other listed variables

* Update docs/sources/linking/data-link-variables.md

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

* Add r4j4h's suggestions to the new documentation space with some partial changes to the wording

* Add r4j4h's suggestions to the new documentation space with some partial changes to the wording

* mockery generated code as it is on main

* simplify changes in docs and go straight to the point

Co-authored-by: Jasmine Hegman <jasmine@jhegman.com>
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2022-09-08 17:14:37 +03:00
renovate[bot] 8f0473aa3e Update dependency @rushstack/node-core-library to v3.51.1 (#54835)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-08 15:14:18 +01:00
Christopher Moyer e15c8cf535 Docs: moves reporting docs per customer request (#54591)
* moves reporting docs per customer request

* corrects relrefs

* adjusts link and menutitle

* corrects typo

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-09-08 08:55:57 -05:00
Christopher Moyer f516b8c5d8 restructures user management docs (#54871) 2022-09-08 08:51:34 -05:00
Jean-Philippe Quéméner e41f78a56d Alerting: make sure to update contact point references when updating (#54896) 2022-09-08 15:20:52 +02:00
Domas 9dd4eab553 ignore non-actionable errors in grafana agent (#54824) 2022-09-08 16:19:38 +03:00
Laura Fernández c684babecc A11y: Make tooltip dismissible in Toolbar and Icon buttons (#54586) 2022-09-08 14:32:50 +02:00
GitStart e9243f8a38 Loki: Rename public/app/plugins/datasource/loki/language_provider.ts file to follow convention (#54819) 2022-09-08 14:32:32 +02:00
Ezequiel Victorero 76edf1a727 PublicDashboards: Fix flaky e2e test (#54864) 2022-09-08 09:18:40 -03:00
Tima Gixe 8fb0d3421b Storybook: Add controls to UnitPicker (#54694) 2022-09-08 13:16:27 +01:00
Shirley bdd0af0645 Build: Refactor cron_job_pipeline to take the cron name as a parameter (#54899) 2022-09-08 13:36:36 +02:00
Konrad Lalik 933ec4817f Alerting: Change the rule yaml data to reflect Prom-based rule format (#54520) 2022-09-08 12:52:36 +02:00
Jo ef245874da OAuth: Allow assigning Server Admin (#54780)
* extract errors to errors file

* implement oauth server admin assignment

* add server admin tests

* deduplicate autoAssignOrgRole

* deduplicate strict setting

* deduplicate strict setting

* add support for generic oauth

* add role attribute strict support for generic oauth

* add support for github/gitlab

* assignGrafanaAdmin option is here to stay

* unify similar errors

* add config option

* add okta server admin mapping

* remove never used Company attribute

* unify generic oauth role extract with other methods

* case insensitive role match as in azure

* add ini settings

* add server admin to devenv

* remove duplicate fields

* add documentation to oauth

* fix titlecase test

* implement doc feedback
2022-09-08 06:11:00 -04:00
Artur Wierzbicki 1353177e15 Search: Add substring matcher (#54813)
* search: bring back substring search

* lint fix

* search: bring back ngram

* search: bring back ngram

* search: more tests
2022-09-08 12:10:30 +02:00
Carl Bergquist b4e3c89f60 instrumentation: dont instrument ErrSkip at all (#54880)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2022-09-08 11:14:55 +02:00
Sven Grossmann 78a3f1fcea Chore: Upgrade @grafana/lezer-logql to 0.1.0 (#54878) 2022-09-08 10:29:58 +02:00
Joe Blubaugh a101d127cb CI: Update Drone MySQL version to 5.7.39 to match database policy. (#54612)
The supported database policy is listed at: https://grafana.com/docs/grafana/latest/setup-grafana/installation/#supported-databases
2022-09-08 15:03:02 +08:00
Ezequiel Victorero bcab0194f1 PublicDashboards: disable form if user does not has permissions (#54853) 2022-09-07 18:29:01 -03:00
matt abrams 9c88360ec5 change no-new-info label action (#54501) 2022-09-07 14:37:42 -05:00
Adela Almasan 5a3ae293cf Geomap: Layer types e2e (#54666) 2022-09-07 13:29:03 -05:00
Christopher Moyer 5b830e131e adjusts access control directory structure (#54865) 2022-09-07 13:27:32 -05:00
owensmallwood 108678a8cc Public Dashboards: Only use queries from dashboard for caching (#54596)
Don't accept frontend queries for query caching when its from a public dashboard. Use queries on the dashboard instead.
2022-09-07 12:08:52 -06:00
Leon Sorokin 4223d3a6a7 Heatmap: Add option to reverse color scheme (#54365) 2022-09-07 11:09:44 -05:00
Matthew Jacobson 940d18ad57 Alerting: Sanitize invalid label/annotation names for external alertmanagers (#54537)
* Alerting: Sanitize invalid label/annotation names for external alertmanagers

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

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

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

* Prefix hex replacements with `0x`

* Refactor for clarity

* Apply suggestions from code review

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

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2022-09-07 11:39:39 -04:00
Leon Sorokin 75de42fba7 BarChart: fix stale colorByField being used in value mappings (#54820) 2022-09-07 08:31:31 -06:00
Alexander Weaver b193eaed6e Alerting: Resetting the notification policy tree to the default policy will also restore default contact points (#54608)
* Add test that resetting the route restores the default receiver

* Return error instead of panic

* Adjust error string to match styleguide
2022-09-07 09:28:10 -05:00
Ashley Harrison 8e8d0a08f9 reobserve elements when children change (#54827) 2022-09-07 15:07:35 +01:00
Hamas Shafiq 762432a921 Chore: Add a README for the Node Graph plugin (#54801) 2022-09-07 14:52:55 +01:00
renovate[bot] 04d15b5810 Update dependency @types/webpack-env to v1.18.0 (#54839)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-07 14:51:36 +01:00
Gustavo Santos 968e2218ac Chore: Add controls to InlineField (#54674) 2022-09-07 14:24:38 +01:00
majordookie 35751b2ab4 Fix typo (#54681) 2022-09-07 15:40:52 +03:00
mhuangwm 39102c6656 Admin: Add support to configure default admin email (#54363) 2022-09-07 14:38:40 +02:00
Gábor Farkas 687b0b1726 elastic: explain why moving_avg is 7.x only (#54840) 2022-09-07 14:31:11 +02:00
Gustavo Santos c56907b879 Add controls for Date Picker story (#54806)
Signed-off-by: gefgu <gefgu@hotmail.com>

Signed-off-by: gefgu <gefgu@hotmail.com>
2022-09-07 15:30:46 +03:00
Dimitris Sotirakis 8e577ce9fa CI: Trigger *-storybook steps on UI changes (#54833)
* No-op, small starlark refactoring

* Make build and store storybook steps execute on ui changes
2022-09-07 15:08:13 +03:00
Nicholas Wiersma 9e704fec3c JWT: Add support for assigning org roles (#54277)
* feat: allow jwt role to be set

* chore: update documentation

* fix: cr suggestions

* fix: lint issues

* respect org auto assign and default org ID

* add server admin to devenv

Co-authored-by: jguer <joao.guerreiro@grafana.com>
2022-09-07 14:00:33 +02:00
Ashley Harrison 4825707853 Add basic unit tests for landing pages (#54696) 2022-09-07 12:40:53 +01:00
renovate[bot] e22ed6b720 Update dependency @types/ol-ext to v2.3.0 (#54836)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-07 11:42:29 +01:00
renovate[bot] 84212d8746 Update babel monorepo to v7.19.0 (#54756)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-07 09:57:22 +01:00
renovate[bot] bccf8e139e Update dependency @react-types/shared to v3.14.1 (#54830)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-07 09:55:08 +01:00
Matias Chomicki c0b3cd3da0 refactor(loki-derived-fields): migrate test to testing library (#54729) 2022-09-07 08:54:28 +00:00
linoman 0324e9c60e Fix paths for auth/ build and volume paths (#54828) 2022-09-07 10:53:58 +02:00
renovate[bot] 86e432f25b Update dependency @react-types/menu to v3.7.1 (#54825)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-07 09:39:20 +01:00
Ashley Harrison 66ce33bc5b make Browse the root item of Dashboards when topnav is enabled (#54782) 2022-09-07 09:24:10 +01:00
renovate[bot] ebf24da028 Update dependency @react-types/button to v3.6.1 (#54797)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-07 09:06:46 +01:00
Adela Almasan 3864de9425 Geomap: Cleanup GeomapPanel component (#54538) 2022-09-06 21:22:34 -04:00
Christopher Moyer cdc2200273 restructures aws marketplace docs (#54810) 2022-09-06 16:47:47 -05:00
Leon Sorokin bf052cb35e TimeSeries: omit non-integer y ticks when decimals: 0 (#54679) 2022-09-06 16:12:09 -04:00
Alexander Weaver b8d1474609 Fix incorrect propagation of org ID in rule endpionts (#54603) 2022-09-06 14:51:54 -05:00
Guilherme Caulada 20589f76f4 Secrets: Convert secret migration to a background service (#54676)
* Convert secret migration to a background service

* Fix merge conflicts

* Return concrete type for secret migration provider
2022-09-06 16:21:25 -03:00
Christopher Moyer 0f549a44b0 changes _index files to index, adds aliases (#54804) 2022-09-06 12:58:07 -05:00
Kevin Minehart 1169f14d47 CI: move grabpl build-frontend-packages from grabpl to grafana (#53072)
* move grabpl build-frontend-packages

* add frontend and lerna packages

* grabpl build-frontend-packages -> ./bin/build build-frontend-packages

* move getgrafanaversion

* add noinstalldeps flag

* fix compiler error

* fix lint error

* add missing flags
2022-09-06 20:09:08 +03:00
Torkel Ödegaard e5c32c8cc9 Dashboard: Unsaved changes warning fixes (#54706)
* Quick test of alternative method

* change order of if condition again for better readability

* Think I have something that is working

* Update
2022-09-06 13:00:32 -04:00
Joao Silva ab79976a8d Navigation: Adds profile menu to top nav bar (#54720) 2022-09-06 17:32:05 +01:00
renovate[bot] 9cc828a00e Update dependency @react-stately/menu to v3.4.1 (#54784)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-06 17:23:16 +01:00
Ilya Galimyanov b593d371ef Alerting: Telegram: truncate long messages (#54339)
Truncate messages longer than 4096 characters
2022-09-06 16:47:04 +01:00
Ashley Harrison a4566eaf32 add unit tests for buildBreadcrumbs (#54785) 2022-09-06 16:43:59 +01:00
Laura Fernández 066710a7bc Navigation: use navId and pageNav on Alerting - Contact Points page (#54451) 2022-09-06 16:25:07 +02:00
kay delaney a70aba1384 Chore: Update slate and related packages (#54566)
* Chore: Update slate and related packages
2022-09-06 15:23:48 +01:00
ismail simsek 9c6a6ca487 graphite and opentsdb integration tests (#54733) 2022-09-06 17:19:04 +03:00
Tima Gixe ce1221cd59 Storybook: Add controls to InlineLabel story (#54604) 2022-09-06 15:18:38 +01:00
Tima Gixe 05c16d1da3 Storybook: Add controls to QueryField story (#54606) 2022-09-06 15:18:08 +01:00
linoman c915cb2d5c Update auth/jwt_proxy and auth/oauth reference (#54781) 2022-09-06 15:46:01 +02:00
Matias Chomicki baffc3d948 fix(elasticsearch): remove deprecated elastic versions (#54632)
* fix(elasticsearch): remove deprecated elastic versions

* fix(elasticsearch): make 8 the default and fallback version
2022-09-06 09:42:39 -04:00
renovate[bot] 7a01186324 Update dependency @react-aria/overlays to v3.10.1 (#54763)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-06 14:37:32 +01:00
Sofia Papagiannaki e57fd88644 Swagger: restore missing enterprise endpoints (#54765) 2022-09-06 16:26:55 +03:00
Will Browne 15756ecf86 remove unused cfg (#54770) 2022-09-06 08:59:28 -04:00
Matias Chomicki 5767c01a79 Elasticsearch: fix types in test and add mock factory (#54582)
* refactor(elastic-test): add datasource mock factory

* refactor(elastic-test): use new factory and attempt to fix some type issues

* refactor(elastic-test): type fixes

* refactor(elastic-test): update test with mock changes

* refactor(elastic-test): remove commented code

Git history should be more than enough to go back to previous revisions instead of keeping commented code.

* refactor(elastic-test): use mock factory and fix type issues in language provider test

* Chore: rename mock parameter

* Chore: remove unnecessary conditional

* Chore: remove ts-expect-error
2022-09-06 14:35:54 +02:00
linoman 638fb5dc6d Fix docker compose for openldap and oauth (#54745)
* Fix reference for `openldap` block

* Fix volume reference for `oauth` block
2022-09-06 14:22:03 +02:00
Oscar Kilhed 661ac46e6c Chore: update latest.json to 9.1.3 (#54764) 2022-09-06 07:22:04 -04:00
renovate[bot] 3847e09750 Update dependency @react-aria/interactions to v3.11.0 (#54761)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-06 12:05:43 +01:00
Grot (@grafanabot) fe848e93b3 ReleaseNotes: Updated changelog and release notes for 9.1.3 (#54759) 2022-09-06 12:54:58 +02:00
renovate[bot] a36ef9cdfd Update dependency @react-aria/focus to v3.8.0 (#54718)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-06 11:50:44 +01:00
Laura Fernández 8ae6cf6b99 Navigation: add breadcrumbs in Explore page (#54547) 2022-09-06 12:11:00 +02:00
renovate[bot] 0e16456602 Update dependency @react-aria/dialog to v3.3.1 (#54717)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-06 11:07:26 +01:00
Hamas Shafiq 7779ae315b Chore: Use the DEFAULT_LIMIT variable for the default value of the TraceQL Limit field (#54723) 2022-09-06 10:02:37 +01:00
Josh Hunt 139705611a Chore: Remove remaining IconName type assertions (#54658)
* Chore: Remove remaining IconName type assertions

* fix lints
2022-09-06 09:15:36 +01:00
George Robinson 77e53f9986 Alerting: Fix boolean comparison on PostgreSQL (#54730) 2022-09-06 08:28:42 +01:00
Ryan McKinley ac93cf1db2 Playlists: Migrate to UIDs and load dashboards in the frontend (#54125) 2022-09-05 20:40:01 -07:00
ismail simsek 3ea9ece16e Update graphite datasource testing query (#54635)
* Provide from and to parameters when testing the datasource

* Strongly typed test datasource query
2022-09-05 20:59:44 +02:00
George Robinson c4d32dd687 Fix nil logger in SqlStore (#54726) 2022-09-05 18:24:19 +01:00
GitStart d5d7e920a0 Loki: Remove any from public/app/plugins/datasource/loki/components/LokiOptionFields.test.tsx (#54239) 2022-09-05 18:25:12 +02:00
Karl Persson ff35e35ce0 RBAC: Move service and evaluator to acimpl package (#54714)
* RBAC: Move access control evaluator to acimpl package

* RBAC: Move service to acimpl package
2022-09-05 18:15:47 +02:00
Gareth Dawson 73eb1f047a Loki/Prometheus: Make sections in log/metrics browser resizable (#54704)
* Make loki label browser resizable

* Make prometheus metric browser resizable

* Remove min-width from Label and Metrics browser

* Remove max-width from Prometheus Metrics Browser
2022-09-05 17:03:03 +01:00
GitStart 69f3e48962 Panel Header: Description tooltip expand to fit large elements (#54238)
Co-authored-by: Nitesh Singh <nitesh.singh@gitstart.dev>
Co-authored-by: Rafael Toledo <87545086+Toledodev@users.noreply.github.com>
Co-authored-by: Júlio Piubello da Silva Cabral <julio.piubello@gitstart.dev>
Co-authored-by: Toledodev <rafael.toledo@engenharia.ufjf.br>
Co-authored-by: juliopiubello <juliopiubellow@gmail.com>
Co-authored-by: Rubens Rafael <70234898+RubensRafael@users.noreply.github.com>
2022-09-05 17:54:24 +02:00
Orlando Ortega Jr 042fbcc609 Chore: Added controls to ContextMenu story (#54373) 2022-09-05 16:43:02 +01:00
Kevin Yu 34fe7a1119 Plugins: Add feature toggles for long running queries (#54349)
* Add feature toggles for long running queries

* update feature flag name

* make feature toggle frontend only
2022-09-05 08:39:45 -07:00
Ezequiel Victorero bfa35ff8d8 PublicDashboards: Add RBAC to secured endpoints (#54544) 2022-09-05 12:22:39 -03:00
Hamas Shafiq 295c36e4ec Tempo: Move interfaces & TempoQueryType from datasource.ts to types.ts (#54621) 2022-09-05 15:46:10 +01:00
Ivan Ortega Alba fbfe2b2800 Library Panel: Allow to delete it when disabled or deprecated (#54662) 2022-09-05 16:45:45 +02:00
Hamas Shafiq 413c7c7d99 Tempo: Cache autocomplete values for tags (#54622) 2022-09-05 15:44:44 +01:00
Michael Musenbrock 78833b4a47 Alerting: Display alert's 'Created' time in local time instead of UTC (#54414)
Signed-off-by: Michael Musenbrock <michael.musenbrock@gmail.com>

Signed-off-by: Michael Musenbrock <michael.musenbrock@gmail.com>
2022-09-05 16:36:52 +02:00
Sven Grossmann a4b86a194d changed lezer-logql version (#54712) 2022-09-05 16:25:26 +02:00
renovate[bot] 67cecef1b7 Update dependency @opentelemetry/api to v1.2.0 (#54669)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-05 15:04:33 +01:00
renovate[bot] 9b9e298896 Update dependency @react-aria/button to v3.6.1 (#54670)
* Update dependency @react-aria/button to v3.6.1

* bump @react-aria/menu at the same time

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-09-05 14:52:56 +01:00
ismail simsek e912029ad3 influxdb integration tests (#54700) 2022-09-05 15:35:53 +02:00
kay delaney 65c3ad6721 LibraryElements: Fix inability to delete library panels under MySQL (#54600)
Closes #53456
2022-09-05 14:28:32 +01:00
Sofia Papagiannaki 950715b255 API: Do not expose user input in datasource error responses (#53483) 2022-09-05 16:10:45 +03:00
Torkel Ödegaard 11de1dfe40 TopNav: Plugin page layouts / information architecture (#53174)
* Change nav structure when topnav is enable to do initial tests with new information architecture

* Support for nested sections

* Updated

* sentance case

* Progress on plugin challange

* Rewrite to functional component

* Progress

* Updates

* Progress

* Progress on things

* missing file

* Fixing issue with runtime, need to use setter way to set component exposed via runtime

* Move PageLayoutType to grafana/data

* Fixing breadcrumb issue, adding more tests

* reverted backend change

* fix recursive issue with cleanup
2022-09-05 14:56:08 +02:00
Ashley Harrison a423c7f22e Add scrolling to SectionNav (#54698) 2022-09-05 12:39:54 +01:00
Victor Marin aee13563ce Fix StateTimeline duration bug + add hidden tooltip option (#54697) 2022-09-05 14:11:06 +03:00
Ashley Harrison 8d489dfd9b Navigation: Landing pages behind feature toggles (#54576)
* super quick attempt

* feature toggle everything

* only construct alertNav if there are navChildren

* fix toggle name

* plugin landing pages poc

* add apps route + put behind feature toggle

* use toIconName

* rename to NavLandingPage

* feature toggle new routes

* don't modify GetServerAdminNode

* some fairly hacky code to check if the plugin has a root page

* remove trailing slash
2022-09-05 10:07:13 +01:00
Victor Marin 6d2352735d XYPanel: Improvements (#54220)
* Fix panel option bugs and make tooltip options work

* Support multiple series in explicit mode. Rename XY/Explicit to Auto/Manual

* Fixes

* Fix

* Legend improvements

* Rewrite Pure Component to Function Component

* Add datalinks support

* Legend fixes and CR modifications

* Fix bugs that crash panel
2022-09-05 11:03:17 +03:00
Jo 4952b7f22d Add JWT url auth documentation (#54040)
* add jwt auth docs

* add appropriate warnings to docs

* remove unimplemented login_token assumptions

* Update conf/sample.ini
2022-09-05 03:46:50 -04:00
Carl Bergquist 78978048c3 Instrumentation: log the total number of db queries per request (#54647)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
Co-authored-by: Dave Henderson <dave.henderson@grafana.com>
2022-09-05 07:39:22 +02:00
Ryan McKinley 7e53bd107c Panels: Add troubleshooting snapshot (#54417) 2022-09-02 15:38:35 -07:00
Adela Almasan 37a0207463 Canvas: Phantom mouse down fix (#54673) 2022-09-02 12:58:49 -07:00
Leon Sorokin 8273839539 Histogram: ensure y axis is unit-less (#54667) 2022-09-02 13:50:01 -05:00
Adela Almasan aa897e4f40 Chore: Upgrade Moveable to v0.35.4 (#54559)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-09-02 11:24:55 -07:00
Drew Slobodnjak 600ea254af Geomap: Fix duplicate layer bug (#54660)
* Geomap: Fix duplicate layer bug

* Remove dependency on name parameter
2022-09-02 10:53:21 -07:00
Adela Almasan 773a453108 Chore: Upgrade Selecto to v1.19.1 (#54598) 2022-09-02 10:41:36 -07:00
Ashley Harrison 0ab548a8b5 Chore: fixing some anys/type assertions (#54661)
* fixing some anys/type assertions

* make types consistent
2022-09-02 16:39:09 +00:00
linoman d2bb72fb3c Login: Remove single admin team restriction (#54534)
* Remove single member team restriction

* Add label when permissions list is empty

* Fix unit tests

* Add co-author.

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2022-09-02 18:16:39 +02:00
Esteban Beltran 4bba3223a0 Grafana/toolkit: Update README.md to include an alternative way to run local grafana/toolkit (#54203)
* Update README.md

* Run prettier
2022-09-02 17:49:39 +02:00
Guilherme Caulada f4a35a4645 Secrets: Implement secrets manager plugin fallback store (#54496)
* Refactor fallback to be isolated to plugin secret store

* Check for error value on replace fallback test helper

* Move ResetPlugin from test_helpers.go to plugin.go

* Add check to GetUnwrappedStoreFromCache

* Add fallback GetAll query to WithFallbackEnabled

* Add mutex lock to WithFallbackEnabled

* Add cache to fallback store

* Fix linter issues

* Fix linter issues

* Fix linter issues
2022-09-02 12:39:18 -03:00
Josh Hunt 6b197f3fa9 Chore: Use react-highlight-words types (#54627) 2022-09-02 16:36:44 +01:00
Mihály Gyöngyösi 53c095aae7 RBAC: Disable RBACPermissionValidation by default (#54626)
* update conf/provisioning/access-control/sample.yaml
2022-09-02 17:18:01 +02:00
Kevin Minehart a76ce1f567 CI: move grabpl e2e tests from grabpl to grafana (#53075)
* move grabpl e2e tests
2022-09-02 11:02:10 -04:00
Dimitris Sotirakis 8be3ea269d Default to pull_request events (#54640) 2022-09-02 17:39:05 +03:00
Leon Sorokin 28426219ce TimeSeries: fix padding, force 0-100% y range when % stacked (#54197) 2022-09-02 09:26:04 -05:00
Ashley Harrison 3e8d178fc1 convert LokiQueryEditor test to RTL (#54639) 2022-09-02 15:11:13 +01:00
Ashley Harrison 22e5ee3b52 update LokiExploreQueryEditor test to RTL (#54644) 2022-09-02 14:46:14 +01:00
Ieva de6584b976 Auth: Extend auth token errors with user ID (#54633)
* add user ID to user token errors

* remove colon

* move user ID to debug log, so it wouldn't accidentally be added in response
2022-09-02 14:38:25 +01:00
ismail simsek a230439679 Add monaco-editor section in grafana-toolkit faq (#54585)
* Add monaco-editor question in faq section

* Fix typo
2022-09-02 08:30:59 -04:00
Will Browne ecdcafb258 manager exposes renderer + secrets manager (#54629) 2022-09-02 14:20:10 +02:00
Will Browne 43987e7f8c Plugins: Fix plugin registered startup log line (#54634)
* fix plugin registered log

* remove stale test
2022-09-02 14:01:52 +02:00
Ashley Harrison 11689c0385 convert ConfigEditor test to RTL (#54636) 2022-09-02 12:48:37 +01:00
Hamas Shafiq 21dd60ba60 Tempo: Map the status tag to status.code for autocomplete (#54593) 2022-09-02 11:55:55 +01:00
Josh Hunt 3cf8e9c72e Chore: Remove grafana-ui IconName type assertions (#54623) 2022-09-02 11:31:16 +01:00
Dimitris Sotirakis 4735de6aa4 Run gen-version in windows pipelines (#54624) 2022-09-02 06:27:20 -04:00
Hamas Shafiq d79830fdd7 Chore: Replace deprecated toPromise() calls with lastValueFrom (#54234) 2022-09-02 11:17:36 +01:00
Kian Eliasi 6e4900dc45 Footer: Add release notes url to version label (#52909)
* Add release note url to footer's version label

* Filter out pre-release versions in release notes link at the footer

* correct links for beta/prerelease release notes

* make all links target blank

* Fix TeamPages test

Co-authored-by: joshhunt <josh@trtr.co>
2022-09-02 06:05:27 -04:00
Jack Westbrook ffdda9296a Chore: Refresh out of date yarn lock file (#54620) 2022-09-02 11:08:27 +02:00
Jack Westbrook 4179f94959 Fix: Make sure grafana/e2e cypress config file is in correct location (#54588)
* fix(grafana-e2e): make sure cypress can find config file

* chore(yarn): refresh lock file
2022-09-02 10:37:50 +02:00
Joe Blubaugh 5e4fd94413 Alerting: Write and Delete multiple alert instances. (#54072)
Prior to this change, all alert instance writes and deletes happened
individually, in their own database transaction. This change batches up
writes or deletes for a given rule's evaluation loop into a single
transaction before applying it.

Before:
```
goos: darwin
goarch: arm64
pkg: github.com/grafana/grafana/pkg/services/ngalert/store
BenchmarkAlertInstanceOperations-8           398           2991381 ns/op         1133537 B/op      27703 allocs/op
--- BENCH: BenchmarkAlertInstanceOperations-8
    util.go:127: alert definition: {orgID: 1, UID: FovKXiRVzm} with title: "an alert definition FTvFXmRVkz" interval: 60 created
    util.go:127: alert definition: {orgID: 1, UID: foDFXmRVkm} with title: "an alert definition fovFXmRVkz" interval: 60 created
    util.go:127: alert definition: {orgID: 1, UID: VQvFuigVkm} with title: "an alert definition VwDKXmR4kz" interval: 60 created
PASS
ok      github.com/grafana/grafana/pkg/services/ngalert/store   1.619s
```

After:
```
goos: darwin
goarch: arm64
pkg: github.com/grafana/grafana/pkg/services/ngalert/store
BenchmarkAlertInstanceOperations-8          1440            816484 ns/op          352297 B/op       6529 allocs/op
--- BENCH: BenchmarkAlertInstanceOperations-8
    util.go:127: alert definition: {orgID: 1, UID: 302r_igVzm} with title: "an alert definition q0h9lmR4zz" interval: 60 created
    util.go:127: alert definition: {orgID: 1, UID: 71hrlmR4km} with title: "an alert definition nJ29_mR4zz" interval: 60 created
    util.go:127: alert definition: {orgID: 1, UID: Cahr_mR4zm} with title: "an alert definition ja2rlmg4zz" interval: 60 created
PASS
ok      github.com/grafana/grafana/pkg/services/ngalert/store   1.383s
```

So we cut time by about 75% and memory allocations by about 60% when
storing and deleting 100 instances.

This change also updates some of our tests so that they run successfully against postgreSQL - we were using random Int64s, but postgres integers, which our tables use, max out at 2^31-1
2022-09-02 11:17:20 +08:00
Matthew Jacobson d706320d0a Alerting: Fix UI bug when setting custom notification policy group by (#54607)
Custom values were not being displayed in the multiselect for notification policy `Group by` even though
they were correctly being saved.
2022-09-01 19:06:42 -04:00
Hamas Shafiq e17c2f1cb5 Tempo: Add an options component under the TraceQL query field (#54435) 2022-09-01 22:49:27 +01:00
Michael Mandrus 39c31416a4 improve log in plugin check (#54599) 2022-09-01 13:47:37 -04:00
Timur Olzhabayev 70802d270e Fix: publish_docs GitHub action needs to be updated after a script that was used there has been removed (#54597) 2022-09-01 16:37:17 +00:00
Timur Olzhabayev b5b41988cf Docs: Deprecating packages_api and removing it from our pipelines (#54473) 2022-09-01 18:15:44 +02:00
Serge Zaitsev 927ddf9376 Chore: Move login attempt methods to separate service (#54479)
* Chore: Move login attempt methods to separate service

* attempt to fix tests

* fix syntax

* better time mocking

* initialise now func
2022-09-01 18:08:42 +02:00
Victor Marin d2bdb01092 Fixed tooltip does not change data when hovering over other datapoints (#54517) 2022-09-01 18:57:51 +03:00
Adela Almasan f35a36b9f1 Chore: Downgrade Selecto to v1.17.0 (#54558) 2022-09-01 10:13:18 -05:00
Dimitris Sotirakis 212f0609eb Check if dist dir exists (#54590) 2022-09-01 10:43:04 -04:00
Andrej Kiripolský 59ba64f29b Dashboard: Fix typos in feedback request sentence (#54429)
* Fix typo in feedback request

* prettier

Co-authored-by: Domas <domasx2@gmail.com>
2022-09-01 09:29:52 -05:00
Murtaza Ahmedi f6827a0518 Plugins Catalog: Allow to filter plugins using special characters (#54474) 2022-09-01 16:25:25 +02:00
Timur Olzhabayev f7302149d0 Fix: Adjusting plugin.json schema regex (#54515) 2022-09-01 15:53:38 +02:00
Christopher Moyer ac12b6d7ff refactors usage insights topics (#54497) 2022-09-01 08:46:21 -05:00
Josh Hunt fd7a30c0a9 Fix: Restore Grafana and Dashboard data source icons (#54580) 2022-09-01 09:46:06 -04:00
Christopher Moyer 8a23b1fd4f adds video (#54545) 2022-09-01 08:35:58 -05:00
Beto Muniz 29ff97a4b8 Fix create a dashboard from Explorer and edit panel flow (#54551) 2022-09-01 10:18:57 -03:00
Dimitris Sotirakis 7e2238cf6f CI: Generate Grafana version (and metadata) when the build binary is built (#54393)
* Add GenerateVersions as BeforeFunc

* Delete gen-version

* Fix lint

* Get build id from env var
2022-09-01 15:43:40 +03:00
Dominik Prokop 4ec03bad64 Revert 54400 (#54570)
* Revert "Add FocusScope to PanelEditor when open in the Dashboard Page so that a11y focus never catches invisible content. (#54400)"

This reverts commit ef32050508.

* Betterer <3
2022-09-01 05:42:06 -07:00
Josh Hunt c3633feea8 Chore: Remove Dashboard IconName type assertions (#54573)
* Chore: Remove Dashboard IconName type assertions

* fix lint
2022-09-01 13:26:28 +01:00
Josh Hunt caa0c91b1c Chore: Remove Nav + story IconName type assertions (#54572)
* Chore: Remove some IconName type assertions

* fix actually importing the function

* fix lint

* fix lint
2022-09-01 13:23:41 +01:00
Julien Duchesne 67f1778bf1 Add package publishing step (#53553)
Issue: https://github.com/grafana/deployment_tools/issues/36289
Based on the new image: https://github.com/grafana/deployment_tools/tree/master/docker/package-publish
This is a new step meant to replace the store-packages command. It will greatly improve publishing performace and it publishes to a common repository shared with all Grafana products

Co-authored-by: dsotirakis <dimitrios.sotirakis@grafana.com>
2022-09-01 07:13:44 -04:00
Karl Persson be6b8d91eb Correlations: Use correct fallback handlers (#54511)
* Correlations: Use correct fallback handlers

* Add signed in middleware to all routes
2022-09-01 12:29:44 +02:00
Gustavo Santos 822d24c123 Chore: Add controls to Label stories (#54549)
* Add controls for Label's Simple story

* Add controls for Label's Categorised story
2022-09-01 13:03:50 +03:00
Josh Hunt f15ce633c9 Navigation: Don't round app plugin icon images (#54543)
* Navigation: Don't round app plugin icon images

* round icon
2022-09-01 10:28:50 +01:00
renovate[bot] 7efefbaece Update dependency moment-timezone to v0.5.35 [SECURITY] (#54523)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-01 10:27:39 +01:00
Hamas Shafiq 610952ca8a TestData DB: Fix node graph not showing when the Data type field is set to random (#54298) 2022-09-01 09:53:33 +01:00
Hamas Shafiq 028ba2bf95 Chore: Change JSON file to JSON File for consistency with other tabs (#54453) 2022-09-01 09:09:13 +01:00
Josa Gesell 3b848fd91b Fix a typo on the Manage dashboard links page (#54525) 2022-09-01 08:01:22 +00:00
Sven Grossmann d31f2889a2 update @grafana/lezer-logql (#54530) 2022-09-01 09:11:55 +02:00
Adela Almasan 565766cca4 selecto version 1.19.0 (#54548) 2022-08-31 16:07:14 -05:00
Kat Yang 58449d42ed Chore: Add dashboard thumbnails service (#54500)
* Chore: Add dashboard thumbnails service

* Fix errors in dashboard thumbs impl

* Inject dashboardThumbsService into wire
2022-08-31 16:45:41 -04:00
Ryan McKinley 55fe1506ba Plugins: unlock on plugin startup failure (#54555) 2022-08-31 16:02:07 -04:00
Galen Kistler d19a125ada Prometheus: report metrics browser toggle click interaction (#54546)
* report metrics browser toggle click interaction

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2022-08-31 14:43:00 -05:00
Ryan McKinley dd38ff7cc8 Collapse: remove explicit panel-container className from definition (#54359) 2022-08-31 11:50:24 -07:00
Andre Pereira e3c72ef5b7 Tempo: Improve TraceQL editor autocomplete (#54461)
* Detect spansets and improve autocomplete

* Better situation detection. Autocomplete scopes

* Remove scopes from tag name to get autocomplete

* Stronger regexes. More autocomplete tests

* Split big regex in smaller regexes

* Fix autocomplete when writing a string value with spaces

* Added test for the space inside string value autocomplete case

* Syntax highlight fix when using >< operators
2022-08-31 17:31:54 +01:00
Kristina 5069747893 Fix RefID and mixed datasource equality (#54536) 2022-08-31 10:22:13 -05:00
Christopher Moyer e64009fa88 moves time series up, fixes random relrefs (#54477) 2022-08-31 10:13:07 -05:00
owensmallwood f4bbce15a0 Public Dashboards: Add Expressions Support (#54336)
Adds support for expressions with public dashboards
2022-08-31 09:11:10 -06:00
Yuriy Tseretyan 76ea0b15ae Alerting: Scheduler to fetch folders along with rules (#52842)
* Update GetAlertRulesForScheduling to query for folders (if needed)
* Update scheduler's alertRulesRegistry to cache folder titles along with rules
* Update rule eval loop to take folder title from the
* Extract interface RuleStore 
* Pre-fetch the rule keys with the version to detect changes, and query the full table only if there are changes.
2022-08-31 11:08:19 -04:00
Mihály Gyöngyösi 60839d9c30 RBAC: Config setting to disable permission validation (#54447)
* Add scope_validation_enabled config setting to rbac section

* Rename config setting
2022-08-31 16:58:45 +02:00
Kristina 38c1f3d054 Explore: Add Mixed Datasource (#53429)
* Toggle on the mixed mode option

* Ensure switching to mixed gives existing query prev datasource

* WIP - Populate datasource when switching between mixed and not

* WIP - handle change from mixed

* Remove preimport filter, refine filter to work for queries

* WIP debugging datasource transition

* Ensure creating a new query gets target data source if switching with no matches between

* Add mixed datasource to rich history display

* Cleanup console logs, add relevant comments

* Add feature toggle for mixed datasource

* Fix Wrapper tests

* Fix tests!

* Fix test types and add feature tracking

* Remove unnecessary default, remove explore/mixed workarounds for D2E

* Move display text logic to mixed datasource file

* Add in the default query parameters to a generated empty query

* Condense some code

* Apply suggestions from code review

Co-authored-by: Giordano Ricci <me@giordanoricci.com>

* Add more logic around mixed datasource being off for explore

* Build out logic to handle different datasource scenarios

* Add tests

* Finalize last test

* Fix mixed URL with mixed ds off, and relevant test

* Fix datasource to explore workflow

* Add datasource change function, call import queries if needed

* add logic for changing single query ds

Co-authored-by: Giordano Ricci <me@giordanoricci.com>
2022-08-31 09:24:20 -05:00
Torkel Ödegaard e5fba788d6 AppRootPage: Fixes issue navigating between two app plugin pages (#54519)
* AppRootPage: Fixes issue where it was not possible to navigate to another plugin

* Externalize react-router

* fixing test
2022-08-31 15:36:08 +02:00
Dave Henderson 713075c494 Metrics: Fixed grafana_database_conn_* metrics, and added new go_sql_stats_* metrics as eventual replacement (#54405)
* metrics: Fix broken DBStats metrics

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

* Register the sqlstats metrics by default

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2022-08-31 08:54:32 -04:00
Victor Marin 51e2f57ac9 Hidden series stay hidden in legend when toggling visibility (#54139) 2022-08-31 13:49:24 +03:00
Piotr Pomierski e95bab1f2b Storybook: Add controls to button story (#54389) 2022-08-31 11:42:47 +01:00
Dimitris Sotirakis 87f2b13efa CI: Update grabpl verison to v3.0.5 (#54269)
* Update grabpl

* Update to grabpl v3.0.5
2022-08-31 06:27:53 -04:00
Gustavo Santos 3ba3d47b85 Chore: Added controls to Checkbox stories (#54372) 2022-08-31 11:19:37 +01:00
Ashley Harrison 9e74050472 Update latest.json (#54484) 2022-08-31 09:17:59 +01:00
Dimitris Sotirakis 239c4cdb25 Add CustomMode in versions.go (#54482) 2022-08-31 09:21:33 +03:00
Joe Blubaugh 56369457d4 Grafana Backend: Establish a database version support policy. (#54374)
As stated in the documentation, Grafana will support the versions of our backend database options that are supported by their projects at the time that a Grafana release is issued.
2022-08-31 09:40:35 +08:00
Grot (@grafanabot) 3a9a145ef7 ReleaseNotes: Updated changelog and release notes for 8.3.11, 8.4.11, 8.5.11 and 9.0.8 (#54493)
* ReleaseNotes: Updated changelog and release notes for 8.3.11, 8.4.11, 8.5.11 and 9.0.8

Co-authored-by: Joan López de la Franca Beltran <joanjan14@gmail.com>
2022-08-30 20:55:01 +02:00
Grot (@grafanabot) ab959f9305 ReleaseNotes: Updated changelog and release notes for 9.1.2 (#54481) 2022-08-30 18:33:03 +01:00
Will Browne 166b981019 ensure process manager is background service (#54475) 2022-08-30 13:09:52 -04:00
Artur Wierzbicki 9284216880 Search: ordering tests (#54432)
* search ordering tests

* lintt
2022-08-30 18:58:19 +02:00
Christopher Moyer dc2616f833 removes previously refactored content (#54416) 2022-08-30 11:24:31 -05:00
Matias Chomicki 6e6069a2ba Loki: Create Variable Query Editor for Loki. (#54102)
* feat(loki-query-editor): create base editor component

* feat(loki-query-editor): update editor to use loki query type

* feat(loki-query-editor): add custom variable support to datasource

* feat(loki-query-editor): prevent errors when no label is present

* Add unit test for LokiMetricFindQuery

* Update datasource test

* Add component test

* Add variable query migration support

* feat(loki-query-editor): add migration support for older-format variables

* Fix enum capitalization for consistency

* Move attribute to the top of the class

* Remove unnecessary from()

* Update capitalization of new enum

* Fix enum capitalization in component

* feat(loki-query-editor): replace unnecessary class with class method
2022-08-30 18:18:51 +02:00
Will Browne 4a707e2a88 Plugins: Split plugin manager into smaller components (#54384)
* split out plugin manager

* remove whitespace

* fix tests

* split up tests

* updating naming conventions

* simplify manager

* tidy

* add more fakes

* testing time

* add query verif to int test

* renaming

* add process tests

* tidy up manager tests

* add extra case to int test

* add more coverage to store and process tests

* remove comment

* fix capatilization

* init on provide

* remove addfromsource from API
2022-08-30 17:30:43 +02:00
Nathan Marrs acbbdccba9 Canvas: Fix minor duplication bug #54462 2022-08-30 08:27:00 -07:00
Gabriel MABILLE c2c319146a FIX: RBAC prevents deleting empty snapshots (#54385)
* FIX: RBAC prevents deleting empty snapshots

* Update pkg/api/dashboard_snapshot.go

Co-authored-by: Mihály Gyöngyösi <mgyongyosi@users.noreply.github.com>

* Simplify else case

Co-authored-by: Emil Tullsted <sakjur@users.noreply.github.com>

Co-authored-by: Mihály Gyöngyösi <mgyongyosi@users.noreply.github.com>
Co-authored-by: Emil Tullsted <sakjur@users.noreply.github.com>
2022-08-30 17:19:52 +02:00
Dimitris Sotirakis 933bbe228b Add PackagesBucketEnterprise2 field in config (#54449) 2022-08-30 10:47:12 -04:00
Artur Wierzbicki 7a340f486b Storage: add WithContents option to storage.Get() (#53105)
* Storage: add `WithContents` option to `storage.Get()`

* fix tests

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-08-30 15:23:16 +02:00
Esteban Beltran fc348e6279 Plugins Catalog: Use appSubUrl to generate plugins catalog urls (#54426)
* Plugins Catalog: us appSubUrl to generate plugins catalog urls

* add tests for PluginList with app sub url

* remove unnecessary comments
2022-08-30 12:34:41 +02:00
Joan López de la Franca Beltran 6ec06f66b9 Rendering: Add support for renderer token (#54425)
(cherry picked from commit a4f75cc0438712c90b02d24740416f8615e3a0cb)
2022-08-30 12:09:38 +02:00
renovate[bot] 8291ec1e44 Update dependency @opentelemetry/semantic-conventions to v1.6.0 (#54316)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-30 10:28:48 +01:00
Ashley Harrison db4a2d58a1 convert DerivedField test to RTL (#54334) 2022-08-30 10:28:06 +01:00
Jack Westbrook 5ea01dc9b9 Build: Introduce webpack manifest plugin (#49798)
* build(webpack): introduce manifest plugin

* build(webpack): move manifest.json to root of project and git ignore
2022-08-30 05:18:55 -04:00
Polina Boneva ef32050508 Add FocusScope to PanelEditor when open in the Dashboard Page so that a11y focus never catches invisible content. (#54400) 2022-08-30 12:08:31 +03:00
Ashley Harrison 5e394c0385 Convert influxdb ConfigEditor test to RTL (#54332) 2022-08-30 09:30:10 +01:00
Yaelle Chaudy 711c504b39 Azure Monitor: Updated grafana_ds_azuremonitor_dashboard_loaded event, replaced array of queries for stats (#54286)
* Replaced array of queries for stats

* Added ds_version prop

* Added ds_version to tests

* Extracted event name to tracking file

* Extracted event to tracking file

* Removed ds_version - useless for core plugin

* Addressed comments

* Added note to event documentation
2022-08-30 09:55:40 +02:00
Esteban Beltran 56bceacfb1 Navigation Bar: Remove plugins link under Server Admin (#54386)
* Navigation Bar: Remove plugins link under Server Admin

* Modify frontend to handle admin plugins as just plugins

* update assets and documentation mentioned path

* Fix copy to remove redundant text
2022-08-30 03:40:04 -04:00
Adela Almasan 89236cf418 Geomap: Cleanup (#54415) 2022-08-29 17:34:42 -04:00
Ezequiel Victorero 722aca5c53 Public Dashboards: use intervalMs and maxDataPoints from request (#53613) 2022-08-29 18:13:06 -03:00
Matt Dodson fcea9ac913 Fix admonition (#54408) 2022-08-29 15:33:54 -05:00
Michael Mandrus 2c21113917 Secrets: Implement admin mechanism for deleting all secrets stored on the secrets plugin (#54264)
* implement delete all secrets endpoint

* change deletion check to just check for installed plugin

* refactor function call
2022-08-29 14:44:55 -04:00
linoman 3f0beee362 Update README build references (#54394) 2022-08-29 16:36:06 +02:00
Adela Almasan 07dcb64e38 Geomap: Fix tooltip display (#54245) 2022-08-29 09:29:54 -05:00
Ivan Ortega Alba 4a0a6c8fd4 Analytics: Rename create dashboard event (#54390) 2022-08-29 16:26:54 +02:00
Adam Simpson 87375f570d QueryEditorRow: filter data on mount (#54260)
This works correctly on initial dashboard load. However, when an action
is taken that triggers a "re-mount", e.g. opening the options pane on
the right side of the page, the `data` prop becomes undefined.
2022-08-29 13:49:58 +00:00
Alex Khomenko d574a5d98f TimeRangeForm: Do not use HTML form (#54318)
* TimeRangeForm: Do not use HTML form

* TimeRangeForm: rename to TimeRangeContent
2022-08-29 16:19:12 +03:00
Marcus Efraimsson 9ff2b33ff1 Chore: Fix prometheus docker block (#54388) 2022-08-29 08:42:46 -04:00
Mihály Gyöngyösi 990f673202 Docs: Fix typo in custom-role-actions-scopes.md (#54294)
* Fix typo in custom-role-actions-scopes.md

* Address lint issue
2022-08-29 11:59:17 +02:00
linoman d2547bb832 Chore: Group auth docker blocks (#54274)
* Move auth docker images to parent folder

* Add README file for auth parent folder

* Add grafana-authnz-team as code owner

* Update `devenv` docs
2022-08-29 08:36:56 +02:00
Orlando Ortega Jr 72a143aaff Chore: Added controls to DatePickerWithInput story (#54360) 2022-08-28 16:44:51 +03:00
ying-jeanne fe062f2eaa Chore: Use db.DB interface instead of sqlstore (#54358)
* use db.DB interface instead of sqlstore

* make store service depends on db.DB instead of sqlstore
2022-08-26 19:07:58 -05:00
Ryan McKinley 216185b7f0 Storage: Avoid UID errors from annotations api when loading dashboards from storage (#54346) 2022-08-26 15:09:56 -07:00
Jean-Philippe Quéméner a932428057 Alerting: use raw query data in provisioning to bypass interpolation of macros (#54293) 2022-08-26 23:54:30 +02:00
Jean-Philippe Quéméner 49b1182f34 Alerting: add missing yaml tag to mute time struct (#54287) 2022-08-26 23:30:07 +02:00
Nathan Marrs 3be3b02f59 Geomap: cleanup (#54328) 2022-08-26 16:03:20 -05:00
Adela Almasan 0707d682e0 Geomap: Local color range for dimensions (#54348)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-08-26 15:39:59 -05:00
Jeff Levin 5cb9fca990 public-dashboards: Add log statement when public dashboard enabled or disabled (#54133)
* refactor apis for consistent outputs
* add dashboardUid validation at API layer
* add check for empty dashboardUid on SavePublicDashboard
* remove public dashboard errors from models package.

Co-authored-by: Ezequiel Victorero <evictorero@gmail.com>
2022-08-26 11:28:54 -08:00
Yuriy Tseretyan b9be2815d3 Chore: Fix cue loader to use absolute path (#54257) 2022-08-26 14:08:12 -04:00
Brendan O'Handley 20d0aa9904 OpenTsdb: migrate annotations from angular to react (#53856)
* remove annotation angular dependency and migrate annotations

* add nullish coalescing operator

* remove annotations angular partial

* make annotation queries code and errors more readable

* handle the betterer issue with '^ Unexpected any. Specify a different type' at top of file

* run precommits

* run prettier
2022-08-26 13:44:10 -04:00
Ryan McKinley 2db6a199b8 Preferences: Support setting any dashboard as home, not just the starred ones (#54258) 2022-08-26 12:40:40 -04:00
Hamas Shafiq 93c5c175fe Jaeger: Show a better error msg if no service is selected when using search (#54172) 2022-08-26 17:09:18 +01:00
Karl Persson 9d2f5ef62f RBAC: Add function to generate wildcards from prefix (#54275)
* RBAC: Move metadata to own file

* RBAC: Rename test files

* RBAC: Add wildcard structure and helper function to generate wildcards
from prefix

* RBAC: Refactor filter to use WildcardsFromPrefix

* RBAC: Refactor GetResourceMetadata to use WildcardsFromPrefix
2022-08-26 17:10:35 +02:00
ying-jeanne 6227528ea0 Chore: SQL Store Split of datasource (#54262)
* refectory datasource

* fix linter
2022-08-26 11:03:38 -04:00
Selene ec3697584a Move config nodes to another function (#54330) 2022-08-26 16:30:21 +02:00
Yuriy Tseretyan db09a76125 update test environment to create folders (#54254) 2022-08-26 09:46:41 -04:00
Ivan Ortega Alba c66c275342 SearchSrv: stop using IDs (#54296)
* SearchSrv: stop using IDs

* Remove IDs from test
2022-08-26 15:41:47 +02:00
Maria Alexandra f4fa3e4ff4 Panel edit: Run queries when time range changes in table view (#53111) 2022-08-26 15:36:42 +02:00
Galen Kistler 6ed0787376 InfluxQL: Quoting tag values in the query editor (#54187)
* Quote numeric values in query editor
2022-08-26 08:26:44 -05:00
Giordano Ricci 26524e3ff1 GrafanaUI: Fix styles for invalid selects & DataSourcePicker (#53476)
* GrafanaUI: fix styles for invalid select & DataSourcePicker

* Apply suggestions from code review

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

* fix focus issues & tests

* remove unused import

* TypeScript work in progress

* Move react select props to types.ts

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: eledobleefe <laura.fernandez@grafana.com>
Co-authored-by: joshhunt <josh@trtr.co>
2022-08-26 13:48:51 +01:00
Gábor Farkas a58edc9f5e elastic: always use millisecond-intervals for alerting (#54157) 2022-08-26 14:40:28 +02:00
renovate[bot] 6f72c4d10d Update dependency @testing-library/user-event to v14.4.3 (#54292)
* Update dependency @testing-library/user-event to v14.4.3

* use ReturnType instead of using a nested import

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-08-26 13:30:34 +01:00
Ashley Harrison 91948ce554 Convert elasticsearch ConfigEditor.test.tsx to RTL (#54301) 2022-08-26 13:29:31 +01:00
Giordano Ricci b4334b26aa Chore: add missing properties to mocks (#54290)
* Chore: add missing properties to mocks

* update snapshot
2022-08-26 12:17:04 +01:00
renovate[bot] 526989e16b Update dependency @microsoft/api-extractor-model to v7.23.3 (#54283)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-26 11:51:16 +01:00
Giordano Ricci c68d7f1e35 Correlations: Add CorrelationSettings Page (#53821)
* GrafanaUI: add option to close DeleteButton on confirm click

* add datasource readOnly info to frontend settings

* move isTruthy utility type guard

* add generic non-visualization table component

* Add correlations settings page

* add missing readOnly in mock

* Fix typo

* avoid reloading correlations after add/remove

* use DeepPartial from rhf

* validate source data source

* fix validation logic

* fix navmodel test

* add missing readonly property

* remove unused styles

* handle multiple clicks on elements

* better UX for loading states

* fix remove handler

* add glue icon
2022-08-26 11:27:28 +01:00
Vadim Beskrovnov 37fde2eec6 Dashboard save: Persist details message when navigating through dashboard save drawer's tabs. (#54084)
* Dashboard: Fix `changes note` textarea to save draft when going to other tabs

* Do not show Changes tab if there are no changes

* Fix comments

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2022-08-26 03:25:40 -07:00
renovate[bot] ed50af904f Update dependency @microsoft/api-extractor to v7.29.5 (#54281)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-26 11:01:00 +01:00
Marcus Efraimsson 87afd9cadc Plugins: Remove various custom headers logic (#54146)
Removes various custom headers logic sprinkled around in the backend. 
It should automatically be applied to outgoing HTTP requests via the 
CustomHeadersMiddleware.
This also removes decryption of SecureJSONData to populate custom 
headers in ngalert which seemed to have caused a ton of CPU usage.
2022-08-26 11:56:10 +02:00
renovate[bot] 2f4c8e1b3d Update dependency eslint-plugin-react to v7.31.0 (#49214)
* Update dependency eslint-plugin-react to v7.31.0

* fix displayName for OldNavOnly

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-08-26 10:31:16 +01:00
Josh Hunt ebbeed8ad7 I18n: Use locale preference (#53293) 2022-08-26 10:27:14 +01:00
Jeff Levin 681bdf1a2d public-dashboards: refactor query method (#54119)
This PR refactors the GetPublicDashboard method so we don't need to make extra database calls. Also adds general documentation
2022-08-26 05:21:52 -04:00
Hamas Shafiq cd26cade68 Chore: Remove unused theme (#54175) 2022-08-26 10:15:21 +01:00
Artur Wierzbicki 74158ed66b Search: use SQL search as a fallback during bluge's initial indexing (#54095)
* Search: use SQL search as a fallback when bluge indexing is ongoing

* Search: lint

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

* Search: revert readiness check query type

* Search: remove println

* remove sleep, get coffee
2022-08-26 12:36:41 +04:00
Karl Persson 5a1b9d2283 RBAC: Remove DeclareFixedRoles wrapper on Access control and inject service (#54153)
* RBAC: Remove DeclareFixedRoles wrapper on Access control and inject service when needed
2022-08-26 09:59:34 +02:00
Ivan Ortega Alba c332bf885c Migrate to UID: Stop using search result ID (#54099)
* DashList: Stop using IDs

* DashLinks: Stop using IDs

* BackendSrv: Do not use ID for search endpoint

* DashboardDataDTO: Remove ID

* Remove unused properties from DashboardSearchItem
2022-08-26 09:42:46 +02:00
Leo e27769da9c use navId and subtitle on api keys page (#54247) 2022-08-26 09:28:17 +02:00
Matias Chomicki cd617b6520 Loki: refactor mock instance creation and clean up datasource test (#54176)
* refactor(loki-test): move mock creation to mock module

* refactor(loki-test): allow to pass custom settings to the mock constructor

* refactor(loki-test): refactor mock factory in datasource test

* refactor(loki-test): revert change in undefined test case for dsMaxLines

* refactor(loki-test): move type assertion to mock definition

* refactor(loki-test): fix more type issues

* refactor(loki-explore-query-editor): refactor test to use createLokiDatasource() and fix type issues

* refactor(loki-test): replace makeMockLokiDatasource with metadataRequest factory

* fix: remove any

* fix(loki-test): fix remaining usages of any

* Fix: add missing exported type
2022-08-26 09:26:48 +02:00
Gábor Farkas 448a67ab43 elastic: use millisecond-intervals (#54202) 2022-08-26 08:56:39 +02:00
Victor Marin 07c9c8ffd7 Histogram cue model fixes (#54022) 2022-08-26 09:45:19 +03:00
Adela Almasan cea2b4b7b8 Geomap: Spatial operations location options transform e2e test (#54162) 2022-08-25 17:34:24 -04:00
Adela Almasan 9db66049c6 Devenv: Geomap global vs local field coloring (#54253) 2022-08-25 16:22:14 -05:00
Guilherme Caulada f25c7f6ddd Chore: Refactor secrets kvstore to organize testing and migrations (#54249)
* Refactor migrations and tests for secrets kvstore

* Use fake secrets store as a shortcut on tests

* Update wire

* Use global migration logger

* Fix ds proxy tests

* Fix linting issues

* Rename data source test setup function
2022-08-25 18:04:44 -03:00
ying-jeanne fd01161bcc Chore: replace xorm by sqlx in dashboardversion service (#53869) 2022-08-25 16:04:16 -05:00
Michael Mandrus 8deababa50 Chore: Refactor secrets plugin unit tests code (#54231)
* refactor test setup to return struct rather than many values

* changes to code style from review

* apply diff from Leandro for logging
2022-08-25 15:15:58 -04:00
Yuriy Tseretyan 03e746d9df Alerting: Delete state from the database on reset (#53919)
* make ResetStatesByRuleUID return states
* delete rule states when reset
* rule eval routine to clean up the state only when rule is deleted
2022-08-25 14:12:22 -04:00
Artur Wierzbicki 5c0bf2ba39 Storage: fix creating a new dashboard with dashboardsFromStorage feature flag enabled 2022-08-25 14:04:09 -04:00
Christopher Moyer 3f0636083d Docs/adds cloud support disclaimer (#54150)
* adds cloud support disclaimer to three sections

* starts add cloud disclaimer

* adds disclaimer to JWT and Org sections

* adds final Cloud disclaimer to the Loki data source
2022-08-25 12:53:41 -05:00
Christopher Moyer 948452034e Docs/refactors manage dashboard topics (#54178)
* makes prettier

* refactors manage dashboard topics

* Apply suggestions from code review

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

* incorporates review feedback

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-08-25 11:30:07 -05:00
GitStart 468597b687 Elasticsearch: Remove any from public/app/plugins/datasource/elasticsearch/components/AddRemove.test.tsx (#54232)
Co-authored-by: gitstart <gitstart@users.noreply.github.com>
Co-authored-by: gitstart <gitstart@gitstart.com>
Co-authored-by: Nitesh Singh <nitesh.singh@gitstart.dev>
Co-authored-by: Júlio Piubello da Silva Cabral <julio.piubello@gitstart.dev>
Co-authored-by: Toledodev <rafael.toledo@engenharia.ufjf.br>
Co-authored-by: juliopiubello <juliopiubellow@gmail.com>
2022-08-25 17:33:16 +02:00
Ashley Harrison 15e19cef95 Navigation: improve page toolbar responsiveness (#54223)
* improve page toolbar responsiveness

* rename emotion style to be more descriptive

* remove unnecessary max-width
2022-08-25 16:21:29 +01:00
Brendan O'Handley c9a3b2d420 use metadata endpoint (#53980) 2022-08-25 10:59:49 -04:00
Christopher Moyer ca3296da34 Docs: refactors and copy edits share dashboard topics (#53972)
* refactors and copy edits share dashboard topics

* fixes typo

* incorporates feedback

* completes splitting out reporting and playlists
2022-08-25 08:19:28 -05:00
Ashley Harrison d765aaff49 use navId + pageNav on datasource pages (#54218) 2022-08-25 13:58:41 +01:00
Emil Tullstedt 0ffbf901d7 ContextHandler: Use stdlib format for middleware (#54219) 2022-08-25 14:35:21 +02:00
Mihály Gyöngyösi aace0b1e7f Admin: Create/Edit Team/ServiceAccount UI changes (#53889)
* RolePicker: Handle inherited with

* Small ammendment to Create Service Account layout

* RolePicker: introduce maxWidth prop

* Clean up

* Change VerticalGroup spacing to large on Team Settings page

* Introduce constant for submenu width

* Update public/app/core/components/RolePicker/RolePicker.tsx

Simplify style parameter

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

* Add description to the improved calculation

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2022-08-25 13:30:11 +02:00
Leo 9f8cb17b01 Navigation: Use new page layout in Service accounts item page (#54200)
* use navId, pageNav and update alignments of service account page

* Fixing item header when feature is disabled

* Fix orgs item page

* Minor tweak to subtitle for service account item page

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-08-25 13:11:30 +02:00
Karl Persson 552d3fec8d RBAC: Fix resolver issue on wildcard resulting in wrong status code for endpoints (#54208)
* RBAC: Test evaluation before attaching mutator

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

* RBAC: Sync changes to evaluation in mock

* RBAC: Check for resolver not found error and just fail the evaluation in that case
2022-08-25 12:50:27 +02:00
Gábor Farkas 89d264fecc logs: better names and comments (#53770)
* logs: better names and comments

* comment: updated capitalization
2022-08-25 12:49:35 +02:00
Hamas Shafiq 5148464c88 Jaeger: Make search form fields more consistent with Tempo (#54026) 2022-08-25 09:51:21 +01:00
Esteban Beltran 6200c6d70f Build: Force a specific nodejs version for levitate detect breaking changes pipeline (#54207) 2022-08-25 04:35:13 -04:00
Armand Grillet 0a18456507 Move GH workflow step to have node_id unchanged (#54201) 2022-08-25 10:15:04 +02:00
Carl Bergquist ab59f3cb1a metrics: add operation name used in metrics/tracing for middlewares (#53949)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2022-08-25 10:11:27 +02:00
Dominik Prokop 8eac5706fd AdHoc variable: Correctly preselect datasource when provisioning (#54088)
* Adhoc variable: Correctly preselect datasource when provisioning

* Fix test

* Remove data sources from ad hoc variable state in favor of DataSourcePicker
2022-08-25 00:56:45 -07:00
Yaelle Chaudy d0d6562f63 AzureMonitor: Added ARG query function for template variables (#53059)
* Added ARG query functionfor template variables

* removed unused import

* Tweak tests

* Fix tests

* Renamed query function - added 'Azure'

* Revert "Renamed query function - added 'Azure'"

This reverts commit a046bcdd7c.

* Adressed comments

* Fix uncaught error issue

* revert last commit

* Add back errorMessage check
2022-08-25 09:38:43 +02:00
Gábor Farkas 60d1668d74 Elasticsearch: Respect time range in ad hoc filters (#53874)
* elastic: respect time range in ad hoc filters

* added unit test
2022-08-25 09:29:15 +02:00
Dominik Prokop f9a49aa3ed Fix: Correctly migrate mixed data source targets (#54152)
* Failing test case

* Fix mixed datasource targets migration
2022-08-25 00:07:10 -07:00
Jeff Levin 6128cb60b4 cleanup unused fields (#54115)
This PR removes unused struct fields in SavePublicDashboardCommand
2022-08-24 21:29:01 -04:00
Kim Nylander fe87ffdda0 [Doc] Fix broken link in Tempo doc (#54120)
* Fix broken link

* Update docs/sources/datasources/tempo.md

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

Co-authored-by: Ursula Kallio <ursula.kallio@grafana.com>
2022-08-24 16:58:45 -07:00
Ryan McKinley b483ac322f Chore: replace React.FC<Props> with simple function component (#54123) 2022-08-24 16:54:34 -04:00
Michael Mandrus 277ea836b6 Secrets: Implement migration of secrets from plugin back to unified secrets (#53561)
* initial cut at migration from plugin

* create new migration from plugin

* only migrate to or from, not both

* remove cfg check from plugin migration itself

* update comments, clean up secret after migration

* add better error handling

* hook up REST API with migrations

* Minor fixes

* fix wire injection issue

* modify migrator to access plugin calls directly. create unit tests

* change pre-migration checks in admin api

* stop plugin after migrating from it

* fix compile issues after merge

* add comment about migration

* fix linting issue

* bleh, fix unit test

* fix another unit test

* update plugin error fatal flag after a migration from the plugin

* add extra logging to migration

* make linter happy

Co-authored-by: Leandro Deveikis <leandro.deveikis@gmail.com>
2022-08-24 16:24:50 -04:00
lean.dev c8f2cd2599 Fixing swagger meta preventing spec generation (#54181) 2022-08-24 16:56:28 -03:00
Yuriy Tseretyan 41bd36eb97 Alerting: Update rules delete endpoint to handle rules in group (#53790)
* update RouteDeleteAlertRules rules to update as a group
* remove expecter from scheduler mock to support variadic function
* create function to check for provisioning status + tests

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2022-08-24 15:33:33 -04:00
Santiago 4fad827acd Alerting: log external alertmanager URLs #54127 2022-08-24 13:52:39 -04:00
Andre Pereira c8f2148f75 Tempo: Basic PoC of the upcoming TraceQL editor in Explore (#54028)
* First working version of the TraceQL editor with syntax highlighting and autocomplete

* Add feature flag around the new editor option

* Fix tests and cleanup

* Fix misspelling
2022-08-24 17:57:59 +01:00
Ryan McKinley 94b4f6f459 Search: Show all dashboards in the folder view (#54163) 2022-08-24 12:10:34 -04:00
Torkel Ödegaard 264645eecd TopNav: Dashboard settings (#52682)
* Scenes: Support new top nav

* Page: Make Page component support new and old dashboard page layouts

* Pass scrollbar props

* Fixing flex layout for dashboard

* Progress on dashboard settings working with topnav

* Updated

* Annotations working

* Starting to work fully

* Fix merge issue

* Fixed tests

* Added buttons to annotations editor

* Updating tests

* Move Page component to each page

* fixed general settings page

* Fixed versions

* Fixed annotation item page

* Variables section working

* Fixed tests

* Minor fixes to versions

* Update

* Fixing unit tests

* Adding add variable button

* Restore annotations edit form so it's the same as before

* Fixed semicolon in dashboard permissions

* Fixing unit tests

* Fixing tests

* Minor test update

* Fixing unit test

* Fixing e2e tests

* fix for e2e test

* fix a11y issues

* Changing places Settings -> General

* Trying to fix a11y

* I hope this fixes the e2e test

* Fixing merge issue

* tweak
2022-08-24 18:05:12 +02:00
Ryan McKinley fe61a97c9d TextPanel: Support code formats (#53850) 2022-08-24 08:13:00 -07:00
ying-jeanne 4d4ecd7fec fix the event attributes (#54117) 2022-08-24 09:59:06 -05:00
Dimitris Sotirakis 9be8b0564a Update whatsNewUrl (#54154) 2022-08-24 09:57:03 -05:00
Jeff Levin f5b99e5ca7 add tests for api urls (#54116)
Create function for generating api urls and add tests
2022-08-24 08:51:35 -06:00
Yuriy Tseretyan 736d035c65 Chore: Add context util that allow to provide cause of cancellation (#53918) 2022-08-24 10:24:41 -04:00
Armand Grillet 6804a8c9cc Add GH action to automatically add issue labeled to GH board (#54151) 2022-08-24 16:20:10 +02:00
Andreas Christou e8b13f8122 Bump code coverage workflow version (#54138) 2022-08-24 14:40:47 +01:00
Laura Benz 95ec6f6c0f Explore: Improve a11y of query row collapse button (#53827)
* refactor: convert to IconButton

* refactor: adjust attributes
2022-08-24 15:38:16 +02:00
Dimitris Sotirakis 50d0581000 Trigger backend tests on devenv changes (#54137) 2022-08-24 14:54:11 +03:00
Valério Valério b5142832fa Alerting: Fix saving of screenshots uploaded with a signed url (#53933)
The URL of screenshots uploaded to external image storages can be optionally signed, resulting in a long string (800+ chars).
2022-08-24 12:40:50 +01:00
Karl Persson 55c7b8add2 RBAC: Split up service into several components (#54002)
* RBAC: Rename interface to Store

* RBAC: Move ranme scopeInjector

* RBAC: Rename files to service

* RBAC: Rename to service

* RBAC: Split up accesscontrol into two components

* RBAC: Add DeclareFixedRoles to AccessControl interface

* Wire: Fix wire bindings

* RBAC: Move resolvers to root

* RBAC: Remove invalid test

* RBAC: Inject access control service

* RBAC: Implement the RoleRegistry interface in fake
2022-08-24 13:29:17 +02:00
Ashley Harrison 211c9991c5 Navigation: Add responsive behaviour to ToolbarButtonRow (#53739)
* hacky first attempt

* slightly cleaner...

* behaviour mostly working...

* remove unnecessary wrapper

* css tweaks

* much cleaner implementation with intersectionobserver

* set style props directly on children

* separate story, integrate when toggle is off

* improve story, integrate when toggle is on

* remove styles from DashNavTimeControls

* mock IntersectionObserver for all unit tests

* prettier

* don't use dropdown anymore

* add some basic documentation

* add right alignment to scenes toolbarbuttonrow

* just use the react children api to prevent duplicating children
2022-08-24 11:19:36 +01:00
renovate[bot] b51167e89a Update dependency @betterer/regexp to v5.4.0 (#54051)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-24 11:04:51 +01:00
Marcus Efraimsson cd5f27a25d Plugins: Propagate distributed tracing headers to backend plugins (#54107) 2022-08-24 11:55:49 +02:00
sam boyer 1cfb3c1627 devenv: run stripnulls.sh (#54124) 2022-08-24 12:26:20 +03:00
renovate[bot] caf3077ebb Update dependency @betterer/eslint to v5.4.0 (#54046)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-24 09:29:17 +01:00
Matias Chomicki 1642716978 Chore(loki): remove any from DerivedFields test (#53547) 2022-08-24 10:06:28 +02:00
Kevin Minehart 95ec3e8c09 Chore: update latest.json to 9.1.1 (#54108) 2022-08-24 08:34:41 +01:00
Torkel Ödegaard 8880cbd7f6 AngularPanels: Fixing changing angular panel options not taking having affect when coming back from panel edit (#54087) 2022-08-24 08:35:44 +02:00
ying-jeanne 4dbe0b4f02 Chore: Move updateorg out of sqlstore (#54111)
* Chore: move updateorg out of sqlstore

* fix api test
2022-08-23 12:26:21 -05:00
Kristina 5f57edd08a Allow for clickable link (#54067) 2022-08-23 12:17:58 -05:00
Ryan McKinley 1d4e01f8ba Transformers: Support inner vs outer join (#53913) 2022-08-23 10:14:03 -07:00
eledobleefe 1766ea9fdf Navigation: Use new page layout in Server Admin > Orgs pages (#54018) 2022-08-23 18:38:46 +02:00
Grot (@grafanabot) 2eec035c13 ReleaseNotes: Updated changelog and release notes for 9.1.1 (#54103) 2022-08-23 11:56:04 -04:00
Isabella Siu 4f2b66ac1d CloudWatch: Log group variable should get all log groups (#54062) 2022-08-23 11:43:30 -04:00
Andreas Christou 1f17e9a044 Update effects to avoid retrieving metrics descriptors except on project name update (#54091) 2022-08-23 16:42:59 +01:00
Guilherme Caulada d90600c454 Secrets: Add fallback to secrets kvstore plugin (#54056)
* Add fallback to secrets kvstore plugin

* Fix linter issues

* Fix linter issues

* Add deletion error to bool to fake secrets kvstore

* Add fallback to fake secrets kvstore

* Fix fake secrets kvstore fallback setter

* Use Key on Item message for secrets manager protobuf

* Add clarifying comment about fallback
2022-08-23 12:21:54 -03:00
ying-jeanne ebcdf402b2 Chore: move from xorm to sqlx apikey store (#53434)
* migrate from xorm to sqlx

* fix tests

* fix comments

* fix some comments on the PR

* fix CI

* fix the comments
2022-08-23 11:01:35 -04:00
Kim Nylander 45b65cc6c9 [DOC] Add APM changes and fix links (#53986)
* Add APM changes and fix links

* Apply suggestions from code review

* Update docs/sources/datasources/tempo.md

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>

* Update docs/sources/explore/trace-integration.md

* Prettier update

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>
2022-08-23 07:46:23 -07:00
Giordano Ricci fe8a4e926d Chore: cleanup datasources devenv (#54092) 2022-08-23 15:10:13 +01:00
Ryan McKinley dfda3e2b03 Dependencies: Update monaco-editor (#54068)
Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
2022-08-23 06:58:58 -07:00
Esteban Beltran 6fe7a1f034 Icons: Move unicons icons to the repository and generate the iconsBundle.js with nodejs (#53766) 2022-08-23 15:47:14 +02:00
Karl Persson c9661a5be1 RBAC: Only display unique permissions in list (#54074)
* PermissionList: Only display one row for each user, team or builtin role
2022-08-23 15:34:31 +02:00
Jo 5c1f614d3c Service Accounts: Separate metrics logic from store (#54085)
* separate stats logic from store

* remove in_teams unused stat

* use init instead
2022-08-23 08:24:55 -04:00
Hamas Shafiq afa7e8d8de Tempo: Make TempoQuery.search & SearchQueryParams.tags optional (#54052) 2022-08-23 12:27:19 +01:00
Marcus Efraimsson e6857bf17d Plugins: Handle app plugin proxy routes per request (#51835)
Fixes #47530
2022-08-23 13:05:31 +02:00
Hamas Shafiq 5f80bf5297 Tempo: Remove unused functions in datasource.ts (#54081) 2022-08-23 12:02:43 +01:00
Will Browne 26dfdd5af3 Plugins: Refactor plugin download/installation (#43046)
* installer -> repo

* add semver format checking

* add plugin callbacks in test

* remove newline

* post install only scans new directories

* remove unused stuff

* everything in own package

* add missing cli params

* make grafana version part of the API

* resolve conflicts

* tidy up logger

* fix cli and tidy log statements

* rename log package

* update struct name

* fix linter issue

* fs -> filestore

* reorder imports

* alias import

* fix test

* fix test

* inline var

* revert jsonc file

* make repo dep of manager

* actually inject the thing

* accept all args for compatability checks

* accept compat from store

* pass os + arch vals

* don't inject fs

* tidy up

* tidy up

* merge with main and tidy fs storage

* fix test

* fix packages

* fix comment + field name

* update fs naming

* fixed wire

* remove unused func

* fix mocks

* fix storage test

* renaming

* fix log line

* fix test

* re-order field

* tidying

* add test for update with same version

* fix wire for CLI

* remove use of ioutil

* don't pass field

* small tidy

* ignore code scanning warn

* fix testdata link

* update lgtm code
2022-08-23 11:50:50 +02:00
Karl Persson cc78486535 RBAC: Display indicator if a permission is inherited (#54080)
* RBAC: Add IsInherited property

* PermissionList: Display inherited indicator
2022-08-23 05:34:19 -04:00
Will Browne eb4266a85e Plugins: Interpolate plugin type as part of plugin ID schema (#54030)
* do it

* undo
2022-08-23 05:14:23 -04:00
Leon Sorokin 530dd63ac6 TimeSeries: Fix crash when min >= max in config (#54069)
* TimeSeries: fix crash when min === max in config

* stat sparkline, too

* better types
2022-08-23 01:00:42 -07:00
Christopher Moyer c29a2c37c1 docs: corrects broken relrefs (#54061)
* corrects broken relrefs

* Apply suggestions from code review

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>
2022-08-22 17:03:58 -05:00
Ryan McKinley 13aacf3590 Geomap: Fix geohash editor settings #54058 2022-08-22 14:12:21 -07:00
Christopher Moyer 657e1683d2 docs: refactors field value overrides topics (#53849)
* refactors field value overrides topics

* Update docs/sources/panels/configure-overrides/index.md

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

* Update docs/sources/panels/configure-overrides/index.md

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

* Update docs/sources/panels/configure-overrides/index.md

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

* Update docs/sources/panels/configure-overrides/index.md

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

* Update docs/sources/panels/configure-overrides/index.md

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

* Update docs/sources/panels/configure-overrides/index.md

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

* Update docs/sources/panels/configure-overrides/index.md

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

* makes prettier

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-08-22 15:37:29 -05:00
Ryan McKinley dcdf232882 Heatmap: update heatmap documentation (#52756)
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2022-08-22 12:50:34 -05:00
ceh ad501e770f Docs: Fix minor typo (#53590) 2022-08-22 18:26:52 +02:00
sam boyer 4d433084a5 plugins: New static scanner and validator, with Thema slot support (#53754)
* coremodels: Convert plugin-metadata schema to a coremodel

* Newer cuetsy; try quoting field name

* Add slot definitions

* Start sketching out pfs package

* Rerun codegen with fixes, new cuetsy

* Catch up dashboard with new cuetsy

* Update to go1.18

* Use new vmuxers in thema

* Add slot system in Go

* Draft finished implementation of pfs

* Collapse slot pkg into coremodel dir; add PluginInfo

* Add the mux type on top of kernel

* Refactor plugin generator for extensibility

* Change models.cue package, numerous debugs

* Bring new output to parity with old

* Remove old plugin generation logic

* Misc tweaking

* Reintroduce generation of shared schemas

* Drop back to go1.17

* Add globbing to tsconfig exclude

* Introduce pfs test on existing testdata

* Make most existing testdata tests pass with pfs

* coremodels: Convert plugin-metadata schema to a coremodel

* Newer cuetsy; try quoting field name

* Add APIType control concept, regen pluginmeta

* Use proper numeric types for schema fields

* Make pluginmeta schema follow Go type breakdown

* More decomposition into distinct types

* Add test case for no plugin.json file

* Fix missing ref to #Dependencies

* Remove generated TS for pluginmeta

* Update dependencies, rearrange go.mod

* Regenerate without Model prefix

* Use updated thema loader; this is now runnable

* Skip app plugin with weird include

* Make plugin tree extractor reusable

* Split out slot lineage load/validate logic

* Add myriad tests for new plugin validation failures

* Add test for zip fixtures

* One last run of codegen

* Proper delinting

* Ensure validation order is deterministic

* Let there actually be sorting

* Undo reliance on builtIn field (#54009)

* undo builtIn reliance

* fix tests

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2022-08-22 12:11:45 -04:00
renovate[bot] 828497447a Update dependency @betterer/cli to v5.4.0 (#54041)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-22 16:59:45 +01:00
Ashley Harrison 3cf95d7eee Chore: fix some anys pt.2 (#53928)
* correctly type some more any's

* undo this change for now...
2022-08-22 16:51:33 +01:00
Josh Hunt 2b17e5354a Chore: Remove needless eslint ignore comment from variable utils (#54050) 2022-08-22 16:50:24 +01:00
Vadim Beskrovnov 7caba545ec A11y: Fix a11y for toolbar buttons in PanelEditor (#53864)
Co-authored-by: Vadim Beskrovnov <vbeskrovnov@fb.com>
2022-08-22 17:08:22 +02:00
Christopher Moyer 666f84be57 refactors transformation topics (#53984) 2022-08-22 10:04:59 -05:00
George Robinson e163a976fa Alerting: Fix width of Adapative Cards in Teams notifications (#53996) 2022-08-22 16:04:22 +01:00
Alex Khomenko 2caaa7fba2 ColorInputPicker: Fix popover in disabled state (#54000) 2022-08-22 18:01:33 +03:00
renovate[bot] 38017fd3f5 Update dependency @betterer/betterer to v5.4.0 (#54031)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-22 15:50:51 +01:00
Guilherme Caulada 2e9edf4592 Secrets: Refactor code duplicity on secrets sql kvstore (#54032) 2022-08-22 11:48:57 -03:00
renovate[bot] 013dda7bb8 Remove dependency jest-mock-console (#52872)
* Update dependency jest-mock-console to v2

* let's remove jest-mock-console

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-08-22 15:47:45 +01:00
Christopher Moyer 1da4aa25a8 docs: refactors value mappings topics (#53616)
* starts copy edit

* completes refactor and copy edit
2022-08-22 09:26:53 -05:00
Gábor Farkas 35253a909d Elasticsearch: remove already-disabled code (#52932)
* elastic: removed unused code from go-part

* elastic: removed unused code from js-part
2022-08-22 16:25:20 +02:00
Josh Hunt 9db9ebce02 Typed variables pt6: Clean up and test variable type guards (take 2) (#54025)
* Add fixture-factories for all variable types

* clean up variable guards

* add tests for isMulti, hasCurrent, and hasOptions variable type guards

* create VariableSupport type to try and work around ts wonkiness
2022-08-22 14:45:40 +01:00
renovate[bot] 4c8ea0bb89 Update dependency @lezer/common to v1 (#50866)
* Update dependency @lezer/common to v1

* Bump lezer/lr as well

* Fix broken code

* Add new lezer-promql and update lezer-logql

* Change to prometheus lezer-promql, fix lezer-logql code

* Update tests for Loki

* fix typeErrors

* fix tests by adding new error node to expected objects

* refactor usages of node references to differentiate usage from node object

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
Co-authored-by: Ivana Huckova <ivana.huckova@gmail.com>
Co-authored-by: gtk-grafana <galen.kistler@grafana.com>
2022-08-22 08:45:29 -05:00
Dimitris Sotirakis ceb32a7506 Add GCP_KEY secret to the artifacts-page pipeline (#54013) 2022-08-22 08:44:43 -05:00
Gilles De Mey 0923d2455c Alerting: Show alerting enabled for Alertmanager data sources (#54023) 2022-08-22 14:34:55 +02:00
Ashley Harrison 0f4b8c5e54 convert AzureCredentialsForm test to RTL (#53959) 2022-08-22 13:22:19 +01:00
Karl Persson ef25d297d6 RBAC: Display groups for custom roles (#54020)
* RolePicker: Default to "Other" for roles without group

* RolePicker: Add GroupType enum and calculate group options based on
group type

* RolePicker: Display groups for custom roles

* RolePicker: Remove unused code

* RolePicker: Restructure

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2022-08-22 14:21:12 +02:00
Ashley Harrison f91f05f32c Chore: convert DebugSection test to RTL (#53965)
* convert DebugSection test to RTL

* remove unused import
2022-08-22 13:19:46 +01:00
Gábor Farkas 395e443932 loki: Fix adding refId to rowId (#53932) 2022-08-22 13:09:33 +02:00
Hamas Shafiq 895616a231 Tempo: Remove spanName from the query object if undefined (#53945) 2022-08-22 11:52:36 +01:00
Victor Marin cbe4fb4dab TablePanel: Fix vertical scrollbar (#53457)
* TablePanel: Fix vertical scroll

* Fix vertical scrollbar with virtualized rendering

* betterer

* Refactor prop
2022-08-22 13:41:05 +03:00
George Robinson c960301aa8 Alerting: Fix links in Microsoft Teams notifications (#54003) 2022-08-22 12:08:38 +02:00
Joao Silva ee58d4ce4b TimePicker: Fixes relative timerange of less than a day not displaying 2022-08-22 10:37:27 +01:00
eledobleefe 8cdfedc559 A11y: Update buttons in Explore page to not use HTML Title for tooltip (#53894) 2022-08-22 11:19:22 +02:00
Polina Boneva 51d173711f A11y: do not change the focus when switching between Viz/Suggestions/Library Panels views (#53814) 2022-08-22 12:12:39 +03:00
Emil Tullstedt ce7593686d Errors: Allow using Base as an error type (#53824) 2022-08-22 11:07:33 +02:00
Takuya Kosugiyama 2ff007b266 Cloud Monitoring: Support SLO burn rate (#53710) 2022-08-22 10:11:54 +02:00
Leon Sorokin d5cc1bfff2 TimeSeries: fix regression with hardMin + hardMax ranging (#53922) 2022-08-19 12:20:21 -05:00
Alexander Weaver c7b93ec331 Make channels_config no longer depend on legacy alerting (#53799) 2022-08-19 11:21:02 -05:00
Ashley Harrison 0b322a0f5d fix some anys (#53789) 2022-08-19 16:46:58 +01:00
Ryan McKinley 7cbf6015db StructureRev: use deep equals for structure revision change detection (#53920) 2022-08-19 08:29:23 -07:00
Esteban Beltran 88419aa8fe Grafana/schema: Fix plugins API regression. Add back "hidden" in LegendDisplayMode (#53925) 2022-08-19 17:06:33 +02:00
Esteban Beltran edb54fc8d3 Fix: Rename timezones prop to timezone for plugins compatibility (#53926) 2022-08-19 16:59:56 +02:00
Joao Silva 4f2d30b153 Decimals: Fixes auto decimals to behave the same for positive and negative values (#53960) 2022-08-19 15:42:34 +01:00
Ashley Harrison b6835ef87d convert TestRuleResult to RTL (#53953) 2022-08-19 15:00:53 +01:00
Timur Olzhabayev 4ca845e479 Chore/extend plugin schema json (#53950)
* Allowing additional parameters in tokenAuth and jwtTokenAuth
2022-08-19 08:58:32 -04:00
Ashley Harrison 0550808126 use navId over navModel, add page descriptions + create pageNav for child pages (#53936) 2022-08-19 13:32:43 +01:00
sam boyer a87c685345 coremodels: Convert plugin-metadata schema to a coremodel (#52121)
* coremodels: Convert plugin-metadata schema to a coremodel

* Newer cuetsy; try quoting field name

* Add APIType control concept, regen pluginmeta

* Use proper numeric types for schema fields
2022-08-19 12:11:13 +02:00
Joao Silva 25538c528d Grafana-UI: Changes ClipboardButton to always allow copy of multi line content (#53903) 2022-08-19 09:57:56 +01:00
Hamas Shafiq 6b1804b6c0 Tempo: Set the default query type even if queryType was set to 'clear' (#53887) 2022-08-19 09:41:39 +01:00
eledobleefe f926020c1b Chore: Improve FolderSettingsPage test (#53601) 2022-08-19 10:25:33 +02:00
Ashley Harrison 78995e252a implement responsive breadcrumb behaviour (#53764) 2022-08-19 09:17:52 +01:00
Ryan McKinley 7755f4c4ba Inspect: show DataFrame JSON *before* transformation and field config are applied (#53867) 2022-08-18 15:06:33 -07:00
Alex Karacaoglu 9be73e758d Transforms: Allow for clearing of select fields for outer join and grouping to matrix transformations (#53916) 2022-08-18 14:19:59 -07:00
Carl Bergquist a74681036e prometheus: upgrades http client to 1.30 (#53901)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2022-08-18 18:44:31 +01:00
Alex Karacaoglu a3c1cd836e Transformations: Add support for an inner join transformation (#53865) 2022-08-18 10:22:45 -07:00
owensmallwood fb40b80141 shows example of how and where to enable public dashboards in config.ini (#53904) 2022-08-18 11:13:48 -06:00
Laura Benz f5f93ccd96 A11y: Make tabs in query history + inspector accessible in Explore (#53773)
* refactor: make tabs accesible

* refactor: make content after slider accessible

* refactor: add a comment with todo
2022-08-18 17:16:37 +02:00
Jo 4a9137ac40 API Keys: Add revocation for SATs (#53896)
* add apikey is_revoked field

* add token store tests

* Apply suggestions from code review

* remove unused fields
2022-08-18 16:54:39 +02:00
Galen Kistler 8b18530cb8 Prometheus: properly de-accumulate multi-heatmap responses (#53688)
* Implement workaround to #3373, grouping heatmaps by query before sorting prevents bug when calculating a heatmap with multiple values for the same label on the x-axis

* Group heatmap frames prior to sort by the concatenation of their values, excluding quantile (le)

* add unit tests for multiple query and multi-dimensional query

* replace final le value with more apt quartile label

* unify quantile labels

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-08-18 09:54:09 -05:00
Andreas Gerstmayr 8b22481aec User management: Use HMAC-SHA256 to generate time limit codes (password reset tokens) (#42334)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
Co-authored-by: bergquist <carl.bergquist@gmail.com>
2022-08-18 16:01:09 +02:00
Yuriy Tseretyan 9f90a7b54d Alerting: State manager to use InstanceStore (#53852)
* move saving the state to state manager when scheduler stops
* move saving state to ProcessEvalResults

* add GetRuleKey to State
* add LogContext to AlertRuleKey
2022-08-18 09:40:33 -04:00
Zoltán Bedi 86de94cbfa TimeSeries: Don't show y axis when visualisation is hidden (#53671)
* TimeSeries: Don't show y axis when visualisation is hidden

* Update snapshot

* make scale ranger return nulls for minMax when no visible data exists on scale

* drop unneeded change

* remove explicit axis.show

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-08-18 09:26:40 -04:00
Jo 10e6eac632 Auth: Reduce lookup cookie error to warning and invalidate cookie (#53881)
* Reduce lookup cookie error to warning. Delete invalid cookie to avoid continuous refresh

* debug log branch
2022-08-18 09:24:31 -04:00
Victor Marin ae69b1d99c HistogramPanel: Generate .cue model (#53826)
* Generate .cue model for histogram panel

* Docs

* Refactor PR
2022-08-18 16:19:11 +03:00
Jan Garaj 6ca7009b6c CloudWatch: Add missing AWS/Lambda metrics (#53866)
Missing metrics/dimensions for AWS/Lambda. Removed Alias dimension - it isn't mentioned by doc and I don't see that dimension in my CloudWatch. Doc: https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics.html
2022-08-18 09:18:40 -04:00
Zoltán Bedi ea5e58a051 BarChart/PieChart: create/update models.cue (#52988)
* Reverse engineering barchart models.cue from models.gen.ts

* Barchart models.cue and import fixes

* Add models.cue for piechart

* Use single-item syntax to dodge cuetsy bug

* Add some docs

Co-authored-by: sam boyer <sdboyer@grafana.com>
2022-08-18 14:46:36 +02:00
Leon Sorokin 329aab7395 TimeSeries: Fix memory leak on viz re-init caused by KeyboardPlugin 2022-08-18 07:09:37 -05:00
Mihály Gyöngyösi a915977002 Teams: Add TeamRolePicker to the Create and Edit Team pages (#53775)
* Add TeamRolePicker to CreateTeam and TeamSettings pages

* Align tests to the changes

* Change TeamRolePicker

* Add useRoleOptions hook

* Clean up

* Requested changes by reviewers

* Fixes

* Fixes
2022-08-18 13:21:06 +02:00
Oscar Kilhed eedc7f1831 Update betterer results because of #53806 (#53884) 2022-08-18 06:36:12 -04:00
linoman 52904151f1 Update open ldap for macos (#53819)
* Add new OpenLDAP Docker block for macOS

* Add preconfigured users, groups and modules

* Add README
2022-08-18 12:31:19 +02:00
Karl Persson 4ff4aaab23 RBAC: Remove builtin role code (#53767)
* remove rbacBuiltInRoleAssignmentEnabled from frontendsettings

* RBAC: Remove RBACBuiltInRoleAssignmentEnabled

* RBAC: Remove code for builtin role

* RolePicker: Remove unused prop

* RolePicker: Rename builtinRole to basicRole

* RolePicker: Rename onBuiltinRoleChange to onBasicRoleChange

* RolePicker: Rename properties
2022-08-18 12:25:37 +02:00
Phil Z 8145caf554 Fix file extension (#53838) 2022-08-18 11:21:38 +02:00
Hamas Shafiq a6ff6cd0c1 Tempo: Remove unused theme param in getStyles (#53823) 2022-08-18 09:55:24 +01:00
Jan Garaj fdaf6b5e8d CloudWatch: Add missing AWS/ApiGateway metrics (#53839)
Missing metrics/dimensions for WebSocket API. Doc: https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-logging.html
2022-08-18 09:52:14 +02:00
Karl Persson 1b933ff3ed RBAC: Move resource permissions store to service package (#53815)
* Rename file to store

* Move resource permission specific database functions to
resourcepermissions package

* Wire: Remove interface bind

* RBAC: Remove injection of resourcepermission Store

* RBAC: Export store constructor

* Tests: Use resource permission package to initiate store used in tests

* RBAC: Remove internal types package and move to resourcepermissions
package

* RBAC: Run database tests as itegration tests
2022-08-18 09:43:45 +02:00
Jan Garaj 83f8da2e02 Update of AWS/Events (#53831)
Added missing metrics: Events, IngestionToInvocationStartLatency. Doc: https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-monitoring.html
2022-08-18 08:48:01 +02:00
Oscar Kilhed e877c1da90 Revert "BarchartPanel: Fix color from thresholds show incorrectly (#52038)" (#53806)
This reverts commit 11c79cd6da.
2022-08-18 08:47:17 +02:00
ying-jeanne 82b63688d2 Chore: remove xorm from preference (#53803)
* Chore: remove xorm from preference

* separte feature toggle

* fix comments

* fix comments

* remove the dublicated namedexec
2022-08-17 22:07:20 -04:00
Ryan McKinley 4ac87a3b3b Geomap: update the layer order in docs (#53749) 2022-08-17 15:57:52 -07:00
Artur Wierzbicki 2a0ae74f96 Live: fix StreamingDataFrame length on replace action and schema change (#53796)
* streaming-data-frame

* add more expect.length in tests
2022-08-18 00:58:38 +04:00
Christopher Moyer 070393075a updates broken relrefs (#53857) 2022-08-17 15:26:29 -05:00
Eve Meelan 59e638acb9 Legal: CLA formatting update (#53853)
* Formatting

* linter
2022-08-17 14:37:25 -05:00
Christopher Moyer 5cbc579955 fixes time-series relrefs (#53851) 2022-08-17 14:22:52 -05:00
Brendan O'Handley 085258c035 Influxdb Datasource: Remove angular dependencies for Influxdb influxql annotations (#52546)
* migrate influxQL annotations to react and build new annotation editor

* use es-lint ignore for any type in migration

* changes for PR comments

* handle annotation editor on load error without query

* correct label for ann editor query

* add null coalesce operator and remove comment

* fix tooltip
2022-08-17 13:20:46 -04:00
Jean-Philippe Quéméner 2fef8e6f2c Alerting: add docs for file provisioning (#53101) 2022-08-17 18:53:36 +02:00
ying-jeanne c7212643c2 add sqlx_store into star service (#53430) 2022-08-17 11:17:23 -05:00
George Robinson 6d69d7acb8 Alerting: Fix notifications for Microsoft Teams (#53810)
This commit fixes notifications for Microsoft Teams where notifications
would just contain "Card" rather than the title.
2022-08-17 16:46:46 +01:00
Karl Persson 57d87389e0 RBAC: Remove user permissions in org when user is removed (#53782)
* RBAC: Add orgID to DeleteUserPermissions

* RBAC: Refactor query to delete all permissions in specified org, 0
deletes all permissions

* Delete user permission in org when user is removed

* Remove call to delete permissions in frontend

* Remove user permissions if removed orgs is detected during oauth sync

Co-authored-by: Jo <joao.guerreiro@grafana.com>
2022-08-17 16:32:02 +02:00
Gábor Farkas 6fe2d4724a devenv: elastic: update to new version (#53825) 2022-08-17 15:02:00 +02:00
Beto Muniz d4a63aca64 InfluxDB: Remove browser ('direct' access) mode. (#53529)
* Remove InfluxDB browser ('direct' access) mode.

* Improve text usage and clarity
2022-08-17 09:40:21 -03:00
Andrej Ocenas f30795b088 Prometheus: Throw error on direct access (#50162)
* Disable direct access

* Hide access select if Server mode is already selected

* Update docs

* Add more tests

Co-authored-by: Beto Muniz <contato@betomuniz.com>
2022-08-17 09:37:29 -03:00
Victor Marin b5cb7738da TimeRangePicker: Absolute timeranges with timezone (#53763) 2022-08-17 13:52:21 +03:00
Victor Marin 2d391c98d2 Histogram: Fix panel hide when clicking on legend (#53651) 2022-08-17 13:40:38 +03:00
Gilles De Mey 0523eba2a9 Alerting: Read group details before saving (#53586) 2022-08-17 11:56:54 +02:00
Gilles De Mey 68f6ae5de1 Alerting: Hide "no rules" message when we are fetching from data sources (#53778) 2022-08-17 11:54:51 +02:00
sam boyer 8ef6820f06 coremodels: Remove "Model" prefix from Go types (#53801)
Using the prefix "Model" on all generated types was adding more
verbosity to already lengthy generated types. This removed that prefix,
only replacing the base generated struct with the literal "Model" to
avoid a redundant name, e.g. dashboard.Dashboard.
2022-08-17 05:42:41 -04:00
Esteban Beltran 81957732ab Chore: Replace react-inlinesvg usage for the Icon component (#53736) 2022-08-17 09:09:58 +02:00
Kat Yang 7c5ddaea58 Chore: Add loginattempt service (#53687)
* Chore: Add loginattempt service

* Inject loginattemptservice into httpserver
2022-08-17 08:34:23 +02:00
sam boyer c23a9d78ab Actually enforce dashboard schema on devenv (#53797)
* Relocate dashboards test so it runs

* Cover newer schema versions in stripnulls

* Strip nulls and remove iteration fields

* Fix fiscalYearStartMonth bounds

* Fix up and format dashboard schema

* Update thema, tidy Go dependencies
2022-08-16 22:07:57 -04:00
ying-jeanne 25de383540 Chore: Replace xorm with sqlx (#52575)
* Change of sqlstore to use sqlx

* Use sqlx in the playlist store

* Refectory of the interface

* update playlist service

* go mod tidy

* some refectory on interface

* fix kyle
2022-08-16 13:17:14 -05:00
Hamas Shafiq 860fd83ab4 Jaeger: Remove advanced options toggle & show advanced options by default (#53774)
Jaeger: Remove advanced options toggle & show advanced options by default
Jaeger: Make the width of all labels in the search form the same
Jaeger: Fix typo in the tooltip for the "Limit" field
Chore: Re-add durationPlaceholder constant
2022-08-16 19:27:43 +02:00
idafurjes e3501dfa4d Chore: Add Get User Profile to user and Get User Org List to org service (#53788)
* Remove delete suer from store interface

* Remove get signed in user with cache ctx from store interface

* Support options when setting up access control tests

* Fix broken tests

* Fix lint

* Add user fake to middleware

* Fix middleware tests, remove usertest being initialised twice

* Chore: Add Get User Profile to user and Get User Org List to org service

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2022-08-16 17:50:45 +02:00
Karl Persson d1df896962 Remove unsued dep (#53785) 2022-08-16 17:33:24 +02:00
Daniel Lee ca017e0209 Chore: update latest.json to 9.1.0 (#53786) 2022-08-16 17:07:02 +02:00
Ashley Harrison 7eab08364e Navigation: Improve responsiveness of TopSearchBar (#53777)
* remove some magic numbers + used grid for better responsiveness

* remove old responsive styles
2022-08-16 15:09:22 +01:00
idafurjes fa2e74cd6e Chore: Remove GetSignedInUserWithCacheCtx from store interface (#53734)
* Remove delete suer from store interface

* Remove get signed in user with cache ctx from store interface

* Support options when setting up access control tests

* Fix broken tests

* Fix lint

* Add user fake to middleware

* Fix middleware tests, remove usertest being initialised twice

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2022-08-16 16:08:59 +02:00
Konrad Lalik f3085b1cac Alerting: Improve Mimir AM interoperability with Grafana (#53396) 2022-08-16 16:01:57 +02:00
Grot (@grafanabot) 932d1b6650 ReleaseNotes: Updated changelog and release notes for 9.1.0 (#53780) 2022-08-16 15:54:14 +02:00
Gilles De Mey fb93b60fcc Alerting: Support for re-ordering alert rules in a group (#53318)
Co-authored-by: Peter Holmberg <peterholmberg@users.noreply.github.com>
2022-08-16 14:42:02 +02:00
idafurjes 1f442b419b Chore: Remove disable user, disable batch users and searchusers methods from store interface (#53717)
* Chore: Remove disable user and searchusers methods from store interface

* Remove disable batch user from sqlstore interface

* Remove sqlstore from search store

* Fix lint
2022-08-16 14:24:57 +02:00
Gábor Farkas 549f963366 codeowners: adjust logs ownership (#53771) 2022-08-16 07:29:30 -04:00
Hamas Shafiq 3e209c06f3 Tempo: Fix typo in the tooltip for 'Limit' (#53750) 2022-08-16 06:52:44 -04:00
Ivan Ortega Alba 38c690ecb0 Revert "Analytics: Use Fullstory to get behavioral data (#53732)" (#53762)
This reverts commit 961479b111.
2022-08-16 12:45:14 +02:00
Selene 6988dcd7f5 Release Notes: Add missing report bug fixes (#53597)
* Add missing report bug fixes

* Update docs/sources/release-notes/release-notes-9-0-7.md

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

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2022-08-16 06:42:33 -04:00
sh0rez 635571db8a pkg/web: remove Router and Logger from Context (#53765)
web.Context previously held references to the current *web.Router albeit
not using it.

It also had a log.Logger only being used once internally
2022-08-16 12:25:27 +02:00
Garrett Guillotte 47364ae11f fix configuration secret_key relref link (#52742)
Co-authored-by: Fabio Michelini <fabio.michelini@protonmail.com>
2022-08-16 10:57:08 +02:00
Garrett Guillotte 25e546ad21 Docs: Fix link in What's New in 9.1 (#53259) 2022-08-16 10:54:33 +02:00
Garrett Guillotte 1f692d4020 Docs: Add 9.1 to What's New index (#53545)
* Docs: Add 9.1 to What's New index

* Docs: Update docs index What's New link
2022-08-16 10:45:05 +02:00
Ivan Ortega Alba 961479b111 Analytics: Use Fullstory to get behavioral data (#53732) 2022-08-16 10:32:00 +02:00
renovate[bot] a7dd095231 Update dependency eslint to v8.22.0 (#52723)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-16 08:44:24 +01:00
Torkel Ödegaard c8fc840865 Fix initDashboard bug (#53722)
Co-authored-by: Erik Sundell <erik.sundell87@gmail.com>
2022-08-16 03:24:04 -04:00
sam boyer 4a5afe4fb6 openapi: Use indentations for human-readable JSON (#53707) 2022-08-15 15:39:18 -04:00
malcolmholmes a19d82124b Build: upgrade Alpine images (#53743) 2022-08-15 18:17:55 +02:00
Zoltán Bedi 835562bb68 GeoMap: Fix tooltip not showing values (#53738) 2022-08-15 16:39:00 +02:00
Timur Olzhabayev 12381c74f4 Adding urlparams to the routes schema (#53735) 2022-08-15 15:39:50 +02:00
Isabella Siu f39f9eb053 Cloudwatch: update redis metrics (#53618) 2022-08-15 09:09:27 -04:00
Vardan Torosyan 962bf8a906 RBAC: Remove the flag from the config which states that you can disable RBAC (#53730) 2022-08-15 14:22:04 +02:00
idafurjes dfc75b1114 Remove delete suer from store interface (#53726) 2022-08-15 13:56:16 +02:00
Mihály Gyöngyösi 1c0ab501aa UsersTable: Display Disabled flag in Organizations' Users table (#53656)
* Add disabled column to Org's Users table

* fix typo

* Change column order

* Add test for testing whether GetOrgUsers populates the DTO correctly
* Remove type assertion
2022-08-15 10:58:58 +02:00
Karl Persson 4069fe1c39 RBAC: Update permission query to not join on team table (#53677)
* RBAC: Add teamIDs to get permission query

* RBAC: Remove join on team table and use team ids

* RBAC: Pass team ids
2022-08-15 09:41:20 +02:00
Nathan Marrs 97eec9c220 Geomap: Minor 9.1 doc fixes (#53704) 2022-08-12 20:45:33 -07:00
Drew Slobodnjak e9e5c97807 Geomap: Update language to match documentation and remove beta (#53703)
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2022-08-12 21:33:30 -04:00
Nathan Marrs 0362ab131e Geomap: Update whats new docs for 9.1 (#53634)
Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>
2022-08-12 15:58:01 -07:00
Drew Slobodnjak ef24453b9b Geomap: Update Documentation (#53552)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: Nathan Marrs  <nathanielmarrs@gmail.com>
2022-08-12 15:37:10 -07:00
Alexander Weaver f093c249ac Alerting: Fix incorrect embedded DTO being returned when handling rule groups (#53701)
* Fix DTO embedding when getting/putting alert rule groups

* Drop usage of word 'Domain'

* Rename var as well
2022-08-12 16:36:50 -05:00
Nathan Marrs a19b3136c9 Geomap: Add devenv dashboard for v9.1 of geomap (#53638) 2022-08-12 14:30:55 -07:00
Eve Meelan a0cbe548fe replace relrefs with URLs (#53686) 2022-08-12 13:10:07 -07:00
Alexander Weaver ccd41df603 Fix order-of-magnitude bug in DTO conversion (#53690) 2022-08-12 15:02:40 -05:00
Kat Yang 943cdea855 Chore: Add tempuser service (#53325)
* Chore: Add tempuser service

* Add implementation

* Fix linter; Inject tempUser into wire and HTTPServer

* Fix errors
2022-08-12 12:13:23 -04:00
Kim Nylander 101c087fc7 [Doc] Added link to APM dashboard doc for Service graph Tempo data source doc (#53491)
* Added link to APM dashboard doc

* Apply suggestions from code review
2022-08-12 08:46:28 -07:00
Leo 0ce89dbcb6 use dash-db type when searching for dashboard (#53607) 2022-08-12 16:14:04 +02:00
Eric Leijonmarck dc8eb0b777 Print package error message for deprecated io/ioutil (#53665)
* Add: package error message for io/util

* added a ioutil for testing ci

* Revert "added a ioutil for testing ci"

This reverts commit 8c324ccf8a.

* removed spaces
2022-08-12 09:57:42 -04:00
Yuriy Tseretyan d8d97d15ba Alerting: AlertingProxy to elevate permissions for request forwarded to data proxy when RBAC enabled (#53620) 2022-08-12 09:56:18 -04:00
Andreas Christou d6a0a5c9ed Set projectName in componentDidMount to ensure GCE project is set (#53652)
- Update componentDidMount to call ensureGCEDefaultProject to correctly set project name for GCE Service Account auth
- Set state appropriately
- Update test
2022-08-12 14:54:19 +01:00
Andreas Christou cace6f06d1 Fix webpack issue (#53666) 2022-08-12 13:53:35 +00:00
Eric Leijonmarck cac3833b8e Auth: Add cli command users-manager for conflict resolution (#52344)
* add users-manager command

* add users-manager command

* rename files

* refactor: imports and renaming

* Command: add conflict merge user command

- MergeUser will
	- replace all user_ids from conflicting users to the chosen userId
	- delete users whose user_ids are not the chosen user
- SameIdentification will
	- update chosen user with chosen email,login details
	- delete users whose user_ids are not the chosen user

* refactor: clean up

* refactor: create structure for read, validate, ingest

* feat: ls and generate-file for conflicting users

* remove usagestats

* added back pkg/services/login/authinfoservice/database/stats.go

* Revert "added back pkg/services/login/authinfoservice/database/stats.go"

This reverts commit 2ba6e3c4d6.

* Revert "remove usagestats"

This reverts commit 1e3fa97810.

* cherry pick

* Revert "cherry pick"

This reverts commit 461626c306.

* fix test

* make lint

* make test run

* clean up and refactored to align with downstream refactoring

* formatting

* refactor: name list instead of ls

* fix: static lint error use trimprefix

* fix: remove unused functions in sqlstore

* fix: remove unused function

* handling of multiple users and resolve discarded users

* fix tests

* fix: bug that did not exclude the blocks

* ioutil is blacklisted

* should not run tests for mysql

* fix tests
2022-08-12 14:47:31 +01:00
Emil Tullstedt cc777e175e Chore: Panic! in the Logs (#53664) 2022-08-12 13:43:16 +00:00
Sonia Aguilar f416651842 Show alerting availability in data source details (#53391)
* Show alerting availability in data source details

* Show tooltip info in data source dropdown when creating an alert

* return earlier in HeaderExtras component

* Use getDataSourceSrv().getInstanceSettings instead of getDataSourceSrv().get to simplify

* Make information icon clickable and open a new window with documentation url
2022-08-12 15:32:07 +02:00
Ivana Huckova fde5147d71 Loki, Prometheus: Fix passing of query with defaults to code mode (#53646) 2022-08-12 15:00:55 +02:00
Ivana Huckova f34a03b2f1 Loki: Rename Labels to Label filter and update placeholders (#53446)
* Loki: Rename Labels to Label filter and update placeholders

* Update label

* Replace Label filter with Label filters based on suggestion
2022-08-12 07:38:34 -04:00
Karl Persson 91ef08de68 RBAC: Remove unused code (#53649) 2022-08-12 13:02:24 +02:00
idafurjes 0a2a8bc919 Chore: Add user methods to service (#53595) 2022-08-12 12:13:26 +02:00
Alex Khomenko 7944f3a692 ColorPickerInput: Enable input clearing (#53587)
* ColorPickerInput: Enable removing selected color

* ColorPickerInput: Add tests

* ColorInput: Add isClearable prop
2022-08-12 13:07:24 +03:00
Andreas Christou d4f382892d CloudMonitor: Fix to hide queries when used in conjunction with Expressions (#53537)
* Correctly pass all original query parameters on interpolation

* Add datasource tests

- Update props on mock query
- Add mock instance settings
- Add util function to generate template variables
- Add datasource test file
- Correct setting of templateSrv
- Update betterer results

* Simplify test and pass templateSrv appropriately

* Fix lint issue

* Simplify test and add type that supports parital nested objects

* Update test and remove unneeded util function

* Rename to avoid duplicate mock
2022-08-12 11:02:56 +01:00
Maria Alexandra 2b5d12310a Docs: Fix missing reference update on dashboard page (#53641) 2022-08-12 09:49:46 +02:00
Mihály Gyöngyösi 57a46767cd AccessControl: Move GetCacheKey to SignedInUser (#53591)
* Add HasUniqueId and IsApiKeyUser to SignedInUser

* Improve GetCacheKey by explicit checks and error branch

* Align SignedInUser to merged changes

* change comparison method

Co-authored-by: jguer <joao.guerreiro@grafana.com>
2022-08-12 09:47:47 +02:00
Karl Persson 7e16d5b4b4 RBAC: Fix various ui issues for role picker (#53589)
* RolePicker: Check if user has permissions to delegate roles

* UserRolePicker: Require both UserRolsAdd and UserRolesRemove for chaning
roles

* RolePicker: Add option for controlling if roles can be updated to
RolePicker

* UserOrgs: Dont try to fetch roles with wrong permission

* RolePicker: make usage consistent with allowed actions

* RolePickerMenu: Remove unused property

* UserOrgs: Check for correct permission

* UserRolePicker: add apply to controll apply behaviour instand of
updateDisabled

* UserOrgs: Check for correct permission when trying to update roles

* RolePicker: Disable button if no roles or org role can be updated

* RolePicker: Always close on update

* RolePicker: Fix issue with updating immutable value

* ServiceAccountsListItem: Pass correct value to RolePicker

* ServiceAccountCreatePage: Pass correct value
2022-08-12 09:16:16 +02:00
Christopher Moyer 01bb83853c docs: refactor work, combines time-series topics (#53530)
* combines time-series topics

* makes prettier

* Progress on new time series docs

* Move annotation docs to dashboard annotation topic, simplify and update text for axis docs and color scheme docs

* Minor tweaks

* Move titles from shared files into the topic and add some intro paragraphs

* Fix double axis headings

* Test new image

* starts copyedit

* copy edit

* Update docs/sources/visualizations/time-series/index.md

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

* Update docs/sources/visualizations/time-series/index.md

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

* fixes typos

* adjust path to images

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-08-12 08:20:23 +02:00
Jean-Philippe Quéméner 7f0002448d Alerting: use duration model for alert rule provisioning api (#53196) 2022-08-12 00:58:02 +02:00
Jean-Philippe Quéméner e14c91d5d4 Alerting: fetch interval from stored namespace UID (#53195) 2022-08-12 00:54:57 +02:00
Jean-Philippe Quéméner 8c5f5e7a32 Alerting: create provisioning dir in docker image (#53594) 2022-08-12 00:16:02 +02:00
Yuriy Tseretyan e3da9da51d update alertmanager to 0.24 (#53555) 2022-08-11 17:54:32 -04:00
Adela Almasan 1f93216f1d Layers check (#53611) 2022-08-11 17:39:18 -04:00
Giordano Ricci 6b84dddee8 Fix build error (#53615) 2022-08-11 15:21:37 -04:00
Gilles De Mey e9980a9bb8 Alerting: Adds interval and For to alert rule details (#53211) 2022-08-11 18:49:21 +02:00
Andre Pereira 1216e70b08 Fix devenv tempo port (#53605) 2022-08-11 17:17:21 +01:00
Matias Chomicki 8d69acb9f8 Chore(loki): remove any from LokiQueryField test (#53548) 2022-08-11 18:08:23 +02:00
Matias Chomicki df8d1de94f Chore(loki): remove any from config editor test (#53475) 2022-08-11 18:08:05 +02:00
Giordano Ricci c1b30c56c9 Correlations: Add GetCorrelation(s) HTTP APIs (#52517)
* Correlations: Get Single correlations

* Correlations: Get all correlations for given source ds

* Correlations: Get all correlations

* add tests

* add DB indices

* fix lint errors

* remove skip from tests

* use DatasourceService in test
2022-08-11 16:58:11 +01:00
Ivana Huckova 8813cbfb62 Loki: Update copy for missing label filter error message (#53449)
* Loki: Update copy for missing label filter

* Update
2022-08-11 17:57:10 +02:00
Hamas Shafiq 6592b03f12 Jaeger: Extract inline CSS into getStyles 2022-08-11 16:41:59 +01:00
Ashley Harrison 6cdeeeda3c remove UseState from last 2 stories (#53596) 2022-08-11 16:28:22 +01:00
Hamas Shafiq 20caed026f Jaeger: Improve JSON file upload error msg 2022-08-11 16:23:19 +01:00
Maria Alexandra 6ec5e7b998 Docs: Update dashboard documentation, including new search (#53050)
Co-authored-by: Chris Moyer <chris.moyer@grafana.com>
2022-08-11 17:18:52 +02:00
malcolmholmes 0ac85c8169 Build: fix shellcheck (#53602) 2022-08-11 16:13:41 +01:00
Andres Martinez Gotor a31d96d20a Prometheus: Promote Azure auth flag to configuration (#53447) 2022-08-11 16:12:57 +02:00
zhichli 806fb8ab7a Tracing: Fix OpenTelemetry Jaeger context propagation (#53269)
* fix otel jaeger context propagation

* add back launch.json

* add back launch.json
2022-08-11 16:11:34 +02:00
Josh Hunt 44ea98b24f Chore: Ignore type assertions in __mocks__ (#53593) 2022-08-11 14:06:15 +00:00
timkendrickmw 85dbacafdb GrafanaUI: improve Prometheus getQueryHints performance (#52148) 2022-08-11 15:47:07 +02:00
Karl Persson c08fe3a53c RBAC: Enable rbac when creating new settings (#53531)
* Settings: Set RBACEnabled to true by default

* Remove accessControlEnabledFlag and explicitly set to false when needed

* Disable rbac for tests
2022-08-11 15:37:31 +02:00
Jack Westbrook b1ce721cf1 Levitate: Update workflow to find type declaration via package.json (#53539)
* refactor(breaking-changes): make sure to pack and zip tarballed packages before artifact upload

* feat(check-breaking-changes): support extracting npm package tarballs before comparing packages

* chore(breaking-changes): fix typo preventing upload of pr_built_packages.zip
2022-08-11 15:17:51 +02:00
idafurjes da72a4ed2e Chore move Filter to user service (#53588) 2022-08-11 14:45:29 +02:00
idafurjes a14621fff6 Chore: Add user service method SetUsingOrg and GetSignedInUserWithCacheCtx (#53343)
* Chore: Add user service method SetUsingOrg

* Chore: Add user service method GetSignedInUserWithCacheCtx

* Use method GetSignedInUserWithCacheCtx from user service

* Fix lint after rebase

* Fix lint

* Fix lint error

* roll back some changes

* Roll back changes in api and middleware

* Add xorm tags to SignedInUser ID fields
2022-08-11 13:28:55 +02:00
Jo ca72cd570e Remove ioutil.ReadDir from usage (#53550)
* add depguard rule for ioutil

* replace ioutil.ReadDir with os.ReadDir

* use legacy option in depguard supported in golangci-lint v1.40

* replace ioutil.ReadDir with os.ReadDir

* return error for file info
2022-08-11 07:21:12 -04:00
Alex Khomenko b42f3e2c4c A11y: Create Minimal Styleguide (#46948)
* First draft of the guide

* Fix Select part

* Move a11y PR guidelines

* Update contribute/create-pull-request.md

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

Co-authored-by: Maria Alexandra <239999+axelavargas@users.noreply.github.com>
2022-08-11 14:00:38 +03:00
Dimitris Sotirakis 332bc3aa63 CI: Split store-packages step (#53516)
* Remove unused def

* Add grafanacom step
2022-08-11 05:31:35 -04:00
Dimitris Sotirakis fa4abdcce1 Grafana Build: Sync Grafana versioning changes from build-pipeline (#53522)
* Sync version changes

(cherry picked from commit fb449ba0376cd7d86928e8b08ef77a851488604b)

Sync version refactoring changes

* Update grabpl
2022-08-11 11:44:59 +03:00
Ivan Ortega Alba 6423485061 Preferences: Use search endpoint to get missing dashboard (#53540) 2022-08-11 10:34:01 +02:00
Serge Zaitsev 72367f99cf Chore: Move plugin settings store code into a dedicated service (#53560) 2022-08-11 09:50:53 +02:00
Zoltán Bedi 818bc88242 MSSQL: Don't inject angular dependency (#53546) 2022-08-11 09:43:20 +02:00
Yaelle Chaudy dfe33a63fb Datasources: Emit event on dashboard load with queries info (#52052)
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
Co-authored-by: Andres Martinez <andres.martinez@grafana.com>
2022-08-11 09:30:14 +02:00
Levente Balogh d7556bd189 fix: use type instead of uid to get datasource metadata (#53543) 2022-08-11 07:24:39 +02:00
Guilherme Caulada 7554322327 Fix middleware tests for public dashboards (#53557) 2022-08-10 17:12:25 -04:00
Guilherme Caulada 7924d3b3b5 Secrets: Move license check to secret store plugin (#53185)
* Move license check to secret store plugin

* Use shouldUseRemoteSecretsPlugin for migration

* Encapsulate plugin startup logic in sync.Once

* Remove global logger from startup functions

* Fix issues with wire and secrets plugin check

* Remove todo for plugin fatal error

* Rename fatalErr variable to be less confusing

* Fix merge conflicts

* Fix issue with grafana-cli wire and opentsdb

* Remove duplicated import on remote plugin

* Rename plugin check in favor of error return value

* Remove unnecessary import on grafana-cli wireexts_oss

* Remove unnecessary import on grafana wireexts_oss

* Reset sync.Once during test setup

* Remove unrelated opentsdb change on grafana-cli wire

* Readd opentsdb change on grafana-cli wire
2022-08-10 16:47:03 -03:00
lean.dev 92d0420a45 Adding logs during migration of secrets to plugin (#53426) 2022-08-10 16:23:55 -03:00
George Robinson 5e1d628f21 Alerting: Use Adaptive Cards in Teams notifications (#53532)
This commit changes the cards in Teams notifications from Office 365
Connector cards to Adaptive Cards to fix an issue where images were not
shown in Teams for desktop and web. Since Office 365 Connector cards
are deprecated, it made sense to move to Adapative Cards and fix this
bug at the same time.

The Adaptive Card messages maintain the design of the Office 365
Connector Card with a number of minor differences:

- In Adaptive Card messages the color of the title is red or green
  depending on the status of the alerts, where as with Office 365
  connector cards there was a colored border at the top of the title

- In Adaptive Card messages the title is bold to make it easier to read
  when the color is red or green

- In Adaptive Card messages the thumbnails for images are medium size
  if there are more than two images, otherwise large size
2022-08-10 19:51:20 +01:00
Alexander Weaver b198559225 Alerting: Extend PUT rule-group route to write the entire rule group rather than top-level fields only (#53078)
* Wire up to full alert rule struct

* Extract group change detection logic to dedicated file

* GroupDiff -> GroupDelta for consistency

* Calculate deltas and handle backwards compatible requests

* Separate changes and insert/update/delete as needed

* Regenerate files

* Don't touch the DB if there are no changes

* Quota checking, delete unused file

* Mark modified records as provisioned

* Validation + a couple API layer tests

* Address linter errors

* Fix issue with UID assignment and rule creation

* Propagate top level group fields to all rules

* Tests for repeated updates and versioning

* Tests for quota and provenance checks

* Fix linter errors

* Regenerate

* Factor out some shared logic

* Drop unnecessary multiple nilchecks

* Use alternative strategy for rolling UIDs on inserted rules

* Fix tests, add back nilcheck, refresh UIDs during test

* Address feedback

* Add missing nil-check
2022-08-10 12:33:41 -05:00
owensmallwood dc23643bee Public Dashboards: Usage Insights (#52768) 2022-08-10 14:14:48 -03:00
Christopher Moyer 5e4d5eb14b updates whats new version number and link (#53541) 2022-08-10 10:22:01 -05:00
Christopher Moyer f96a72d3ec Docs/refactors configure panels (#53485)
* updates prose

* updates prose and relrefs

* incorporates feedback

* moves repeating rows to add and organize panels; fixes relrefs
2022-08-10 10:18:04 -05:00
Josh Hunt 081d6e9d3e Typed variables pt5: Remove generics from getInstanceState (#53018)
* wip

* make diff easier to read

* Update template_srv getVariables to return new TypedVariableModel

* update VariableType to use the type from TypedVariableModel

* tidy things up

* Chore: Use type-accurate mock variables in tests

* Chore: Type VariableState to use TypedVariableModel

* fix typo

* remove type assertion from template_srv.getVariables

* use typescript/no-redeclare for compatibility with ts overloads

* remove generics from getVariable() and overload it to only return undefined based on arguments

* update usages of getVariable()

* Remove generic from getInstanceState

* update usages of getInstanceState

* fix lint
2022-08-10 16:06:49 +01:00
Ashley Harrison f32c0058a1 remove UseState from legacy Select story (#53519) 2022-08-10 15:30:02 +01:00
Kevin Minehart d117689aea CI: move grabpl build-frontend from grabpl to grafana (#53073)
* move grabpl build-frontend
2022-08-10 10:29:51 -04:00
ismail simsek 435aaf81d2 Chore: update latest.json to 9.0.7 (#53533) 2022-08-10 14:28:41 +00:00
Josiah (Jay) Goodson 7d7890e23c Transform: Add a limit transform (#49291)
* Add a limit transform

* Add a limit transform

* Simplify filter code

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2022-08-10 07:21:11 -07:00
Jo 062d255124 Handle ioutil deprecations (#53526)
* replace ioutil.ReadFile -> os.ReadFile

* replace ioutil.ReadAll -> io.ReadAll

* replace ioutil.TempFile -> os.CreateTemp

* replace ioutil.NopCloser -> io.NopCloser

* replace ioutil.WriteFile -> os.WriteFile

* replace ioutil.TempDir -> os.MkdirTemp

* replace ioutil.Discard -> io.Discard
2022-08-10 15:37:51 +02:00
Leo 4926767737 Dashboard: Reverted the changes of hiding multi-select and all variable in the datasource picker (#53521)
* REVERT PanelEdit: Hide multi-/all-select datasource variables in datasource picker, PR 52142

* user essentials mob! 🔱

lastFile:public/app/features/dashboard/dashgrid/PanelChrome.tsx

* user essentials mob! 🔱

lastFile:public/app/features/dashboard/dashgrid/PanelChrome.tsx

* removed todo comments

Co-authored-by: polinaboneva <polina.boneva@grafana.com>
Co-authored-by: Joao Silva <joao.silva@grafana.com>
Co-authored-by: eledobleefe <laura.fernandez@grafana.com>
2022-08-10 15:30:00 +02:00
lean.dev 07681a737d Add LockExecuteAndRelease method to ServerLockService (#53417) 2022-08-10 10:28:25 -03:00
Serge Zaitsev 6e4b537ba6 Chore: Remove datasources from the Store interface (#53515) 2022-08-10 15:04:51 +02:00
Grot (@grafanabot) 86030493a8 ReleaseNotes: Updated changelog and release notes for 9.0.7 (#53524) 2022-08-10 08:57:57 -04:00
Ashley Harrison 26e81cad21 Add tests for Breadcrumbs (#53514) 2022-08-10 12:56:25 +01:00
Ashley Harrison e51c80f8dd Storybook: remove UseState from ButtonSelect story (#53509)
* remove UseState from ButtonSelect story

* leave this type assertion for now
2022-08-10 07:00:19 -04:00
Ashley Harrison aaccb592cc remove UseState from Drawer story (#53503) 2022-08-10 11:40:33 +01:00
Dimitris Sotirakis e9fe9a25dc Run docs pipeline on *.md changes only, in the packages dir (#53517) 2022-08-10 13:39:56 +03:00
idafurjes 6afad51761 Move SignedInUser to user service and RoleType and Roles to org (#53445)
* Move SignedInUser to user service and RoleType and Roles to org

* Use go naming convention for roles

* Fix some imports and leftovers

* Fix ldap debug test

* Fix lint

* Fix lint 2

* Fix lint 3

* Fix type and not needed conversion

* Clean up messages in api tests

* Clean up api tests 2
2022-08-10 11:56:48 +02:00
Kirchen99 46004037e2 Dashboard: Support Variables in "Filter by Name" Transformation (#51804) 2022-08-10 10:54:40 +01:00
Matias Chomicki 9b1e1d67cc Chore(devenv): remove unsupported elasticsearch versions (#53470) 2022-08-10 11:13:39 +02:00
Selene 119ce90234 Allow empty value in kv_store (#53416) 2022-08-10 10:48:14 +02:00
Leo c4984854b6 added dashboard uid when tracing header in browsermode (#53232) 2022-08-10 10:36:19 +02:00
Karl Persson aa484a60c9 RBAC: Fix dashboard filter in SQLBuilder (#53379)
* Reuse DasbhoardPermissionFilter

*  Use rbac dashboard filter if enabled
2022-08-10 10:32:03 +02:00
Ashley Harrison 6d495a6a8e Navigation: Improve breadcrumb accessibility (#53471)
* refactor breadcrumbs into their own folder, add appropriate accessibility

* rename Breadcrumb to BreadcrumbItem
2022-08-10 09:24:21 +01:00
Jo 1f8b1eef75 SAML: Do not SAML SLO if user is not SAML authenticated (#53418)
* Only SLO user if the user is using SAML

* only one source of truth for auth module info

* ensure SAML is also enabled and not only SLO

* move auth module naming to auth module login package

* use constants in other previously unused spots
2022-08-10 10:21:33 +02:00
Jo 09c95bc31f TeamSync: Fix team syncing out of orgs mapped by auth method (#53257) 2022-08-10 10:20:23 +02:00
Matej Kubinec bca8a5d153 Grafana UI: Add implicit submit to TimeRangeForm for A11y (#52647) 2022-08-10 10:00:02 +02:00
Ashley Harrison d38e86f3a6 Storybook: add controls support + remove UseState from RelativeTimeRangePicker story (#53459)
* add controls support + remove UseState from RelativeTimeRangePicker story

* don't need this displayName

* exclude onChange
2022-08-10 08:55:22 +01:00
Ivan Ortega Alba 742686bab1 Library Panels: Use UIDs to list Dashboards using a panel (#53477) 2022-08-10 03:43:09 -04:00
Kian Eliasi e3c50f0cd6 Chore: Remove any from public/app/plugins/datasource/elasticsearch/hooks/useNextId.test.tsx (#53427)
* Remove any from public/app/plugins/datasource/elasticsearch/hooks/useNextId.test.tsx

* Fix lint and update betterer results
2022-08-10 09:25:35 +02:00
Joey Tawadrous 9fbebc7550 Update codeowners (#53381) 2022-08-10 08:04:37 +01:00
Joey Tawadrous f9576ad137 Update add to project urls (#53384) 2022-08-10 08:03:48 +01:00
Adela Almasan 45750da667 Geomap: Set markers color based on selected color field #53493 2022-08-09 15:42:37 -07:00
Christopher Moyer ffb4aba214 updates aliases (#53488) 2022-08-09 14:59:05 -05:00
Christopher Moyer acae736796 moves legend to visualizations, adds links (#53486) 2022-08-09 14:41:41 -05:00
linoman 9f749eead7 Fix cloak typo (#53474) 2022-08-09 17:38:49 +02:00
Mihály Gyöngyösi 3ac4415d6d Devenv: Universal jwt_proxy environment (#53377)
* change hostname to env.grafana.local to not collide with any custom host.docker.internal settings
* add WSL2 documentation
* update general documentation
* cleanup
2022-08-09 17:02:36 +02:00
Ashley Harrison e73e3cac11 add controls support + remove UseState from WeekStartPicker.story.tsx (#53455) 2022-08-09 16:00:39 +01:00
Peter Holmberg 509e34cfe7 Alert list panel: Add view mode "Stat" (#53281)
* add stat mode

* remove unused import
2022-08-09 16:37:09 +02:00
George Robinson 196b781c70 Alerting: Delete expired images from the database (#53236)
This commit adds a DeleteExpiredService that deletes expired images from the database. It is run in the periodic collector service.
2022-08-09 15:28:36 +01:00
sh0rez adbb789877 pkg/web: detect Hijack() as chain write (#53466) 2022-08-09 16:04:21 +02:00
kay delaney 96403236cb Chore: Further reduce usage of v1 theme (#53423) 2022-08-09 14:58:32 +01:00
kay delaney f4a5e034b3 LibraryPanels: Rewrite invalid connection deletion query to be MySQL-friendly (#53460)
Closes #53456
2022-08-09 14:55:36 +01:00
Karl Persson e4c45c4f98 RBAC: Remove sort and unique values when fetching permissions (#53461)
* RBAC: remove sort and unique values for fetching permissions
2022-08-09 15:52:14 +02:00
Matias Chomicki 27e2953951 Loki: Rewrite getHighlighterExpressionsFromQuery to use Loki parser (#53316)
* refactor(loki): use Loki parser in getHighlighterExpressionsFromQuery

* fix(highlighter): update regex to properly identify term quotes

* refactor(highlighter): determine quote type by string comparison

* Chore: remove empty line
2022-08-09 15:23:14 +02:00
Dimitris Sotirakis d638cd4fd7 Trigger test release on pkg/cmd/** changes (#53448) 2022-08-09 08:21:09 -05:00
Ivana Huckova ab739bf0e6 Collapse: Fix miss-aligned arrow icon (#53452) 2022-08-09 15:05:10 +02:00
sh0rez 534ece064b pkg/web: closure-style middlewares (#51238)
* pkg/web: closure-style middlewares

Switches the middleware execution model from web.Handlers in a slice to
web.Middleware.
Middlewares are temporarily kept in a slice to preserve ordering, but
prior to execution they are applied, forming a giant call-stack, giving
granular control over the execution flow.

* pkg/middleware: adapt to web.Middleware

* pkg/middleware/recovery: use c.Req over req

c.Req gets updated by future handlers, while req stays static.

The current recovery implementation needs this newer information

* pkg/web: correct middleware ordering

* pkg/webtest: adapt middleware

* pkg/web/hack: set w and r onto web.Context

By adopting std middlewares, it may happen they invoke next(w,r) without
putting their modified w,r into the web.Context, leading old-style
handlers to operate on outdated fields.

pkg/web now takes care of this

* pkg/middleware: selectively use future context

* pkg/web: accept closure-style on Use()

* webtest: Middleware testing

adds a utility function to web/webtest to obtain a http.ResponseWriter,
http.Request and http.Handler the same as a middleware that runs would receive

* *: cleanup

* pkg/web: don't wrap Middleware from Router

* pkg/web: require chain to write response

* *: remove temp files

* webtest: don't require chain write

* *: cleanup
2022-08-09 14:58:50 +02:00
Victor Marin 3893c46976 Histogram: Send proper dataframe to PlotLegend (#53284)
* Send proper dataframe to PlotLegend

* Update dataFrameFieldIndex for multiple frames
2022-08-09 15:39:42 +03:00
Ashley Harrison 8185b6fdf7 refactor component to be more dumb, use LinkButton for icons and fix alignment (#53383) 2022-08-09 11:46:27 +01:00
Ashley Harrison 25c7dc9151 Add controls support + remove UseState from TimeRangePicker.story.tsx (#53376) 2022-08-09 11:20:03 +01:00
Andrew Grangaard 109f821abf Query Builder: Fix spelling of "lose" in user visible message (#53435)
* Fix spelling of "lose" in user visible message

* Fix spelling of "lose"
2022-08-09 10:59:17 +02:00
lai 8f9a372ce2 Access Control: optimize GetUserPermissions sql (#53279)
* Access Control: optimize GetUserPermissions sql
2022-08-09 10:40:22 +02:00
Dimitris Sotirakis bf30976200 Change from arm to armv7 (#53437) 2022-08-09 04:20:45 -04:00
Alex Ratner fecf4c41ad Dashboard: Spelling corrections in end-user visible dialogs (#53340) 2022-08-09 10:19:30 +02:00
Karl Persson 592d31e617 RBAC: Handle case when folder id is negative (#53438) 2022-08-09 04:14:08 -04:00
Kevin Minehart 59ce564d49 CI: move grabpl build-docker from grabpl to grafana (#53077)
* add grabpl build-docker
2022-08-09 09:43:28 +03:00
linoman ed5dac7a75 Fix groups and useres indentation (#53414) 2022-08-09 08:05:15 +02:00
Brendan O'Handley 7aeb8b4cdf Prometheus: Remove metadata endpoint (#53428)
* remove prom metadata endpoint until we have a fix for detecting versions and implementations

* fix linting issue
2022-08-08 18:37:12 -04:00
sam boyer e6903582d0 coremodels: Include nested optional fields in output (#53355) 2022-08-08 21:48:21 +00:00
Seth Falco a8666370be fix: add promql placeholder text (#53321) 2022-08-08 19:11:45 +02:00
Dimitris Sotirakis 499cac44e3 Remove packages-bucket arg (#53421) 2022-08-08 13:05:26 -04:00
matt abrams d69457d5e5 revise to match docs (#53354) 2022-08-08 18:49:54 +02:00
Dimitris Sotirakis c472726083 Change base image for npm storage (#53419) 2022-08-08 12:43:44 -04:00
Brendan O'Handley 85db523dd5 Graphite Plugin: fix annotation migration regression with ref-ids (#53361)
* fix regression with ref-ids

* remove duplicate check for annotations in fix
2022-08-08 12:32:35 -04:00
ying-jeanne ba89471598 Chore: Enable ANSI_QUOTES for Mysql Database (#53277)
* remove the quote dialect

* add environment variable
2022-08-08 12:14:17 -04:00
Dimitris Sotirakis 732c22ed02 CI: Update grabpl to v3.0.1 (#53369)
* Update grabpl to v3.0.0

* Update to v3.0.1
2022-08-08 12:08:55 -04:00
ying-jeanne af09638a0d remove the sqlstore playlist methods (#53415) 2022-08-08 11:06:06 -05:00
eledobleefe 9930fd522d Chore: convert DashboardGrid test to RTL (#53405) 2022-08-08 17:43:35 +02:00
kay delaney 1772bd4238 Chore: Reduce usage of v1 theme (#53245) 2022-08-08 16:37:06 +01:00
Kevin Minehart d1d237f30a CI: move grabpl shellcheck from grabpl to grafana (#53076)
* add grabpl shellcheck

* grabpl shellcheck -> ./bin/build shellcheck
2022-08-08 10:36:13 -05:00
Ezequiel Victorero 7f43839813 Chore: disable flaky e2e test (#53408)
* Chore: disable flaky e2e test
2022-08-08 11:34:59 -04:00
linoman 82d35b7d72 Change LDAP configuration to secure connections (#53404) 2022-08-08 17:27:22 +02:00
Gilles De Mey f0594ebace Alerting: Fix alert detail layout issue (#53256) 2022-08-08 16:57:34 +02:00
kay delaney c2d3b45bf4 Chore: Make "why-did-you-render" a dynamic import (#53121) 2022-08-08 15:33:49 +01:00
Ashley Harrison f1295e4bd0 Chore: Update version of @grafana/eslint-config (#53403)
* use let/const over var

* use new version of @grafana/eslint-config
2022-08-08 15:19:15 +01:00
Grot (@grafanabot) ff8d96602a ReleaseNotes: Updated changelog and release notes for 8.5.10 (#53395) 2022-08-08 15:16:29 +02:00
Ivana Huckova 84b2498150 Loki: Fix showing of unusable labels field in detected fields (#53319)
* Loki: Fix showing of labels field in detected fields

* Create reusable createlogRow mock
2022-08-08 14:27:33 +02:00
Dimitris Sotirakis ee8966344d Replace with anonymoud functions (#53386) 2022-08-08 08:09:52 -04:00
Josh Hunt aee2856907 Fix: correct bold, italics, and code color in Panel tooltips (#53380) 2022-08-08 07:10:42 -04:00
Matias Chomicki 6f01930e9d Chore: remove any from test (#53260) 2022-08-08 11:26:12 +02:00
Leo 64967325b2 Search: Migrated impressions to use dashboardUID (#53090)
* used dashboarduid in impressions

* handle scenario to convert all ids saved in storage to uids
2022-08-08 11:13:19 +02:00
Jo beb3cb9abe Oauth: Reduce error scope on upsert (#53242) 2022-08-08 10:58:10 +02:00
ismail simsek a40c1e227c Prometheus: Use lezer-promql types instead of hardcoded strings (#53287)
* Prometheus: Use lezer-promql types instead of hardcoded strings

* Update comment line

* Removing more hardcoded values
2022-08-08 10:14:12 +02:00
Ashley Harrison 2fea3f0d9a BarGauge: Show empty bar when value, minValue and maxValue are all equal (#53314)
* prevent returning NaN from getValuePercent

* return 0 instead of NaN always
2022-08-08 09:11:46 +01:00
Teddy Lin 42f9a6e67b Azure Monitor: Add Network Insights Dashboard (#50362) 2022-08-08 09:38:23 +02:00
Josh Hunt fbc48d68f1 E2E: Make Cypress recordings higher res + quality (#53342) 2022-08-08 09:54:00 +03:00
Krzysztof Dąbrowski 2dab7ad890 Login: allow basic users to reset password when LDAP or Auth Proxy is enabled (#52331) 2022-08-08 05:12:39 +00:00
Kat Yang 62b4dbf52f Chore: Remove pluginsettings methods from store and mockstore (#53347) 2022-08-05 12:26:39 -04:00
Josh Hunt 4b4d546e32 Typed variables pt4: Remove generics from getVariable (#53017)
* wip

* make diff easier to read

* Update template_srv getVariables to return new TypedVariableModel

* update VariableType to use the type from TypedVariableModel

* tidy things up

* Chore: Use type-accurate mock variables in tests

* Chore: Type VariableState to use TypedVariableModel

* fix typo

* remove type assertion from template_srv.getVariables

* use typescript/no-redeclare for compatibility with ts overloads

* remove generics from getVariable() and overload it to only return undefined based on arguments

* update usages of getVariable()

* Fix Interval variable options picker not working
2022-08-05 13:44:52 +01:00
Yuriy Tseretyan 4090e122f8 Alerting: Remove mention of host name from Alerting HA docs (#53178) 2022-08-05 08:41:37 -04:00
Ieva b590c1c60f Access Control: Set permissions for Grafana's test data source (#53247)
* set permissions for Grafana's test data source

* linting
2022-08-05 10:19:50 +03:00
Drew Slobodnjak 64721bfa94 Geomap: Do not show markers with empty coordinates (#53330)
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2022-08-04 21:17:32 -04:00
Timur Olzhabayev 2107652c3f Docs: Adding hint about healthcheck not being mandatory (#53308) 2022-08-04 18:51:52 +02:00
lean.dev e8e7b59bb0 Implementing OpenApi 3 specs (converted from Swagger 2) (#53243)
* Adding OpenApi target to makefile, to covert swagger spec into OpenAPI 3
* Adding endpoint to server swaggerui with new openapi3 specs
* Passing output file as parameter for OpenApi3 specs
* Implement workaround for missing host and prefix domain
2022-08-04 13:51:12 -03:00
Kevin Minehart 138f03aad1 CI: move grabpl build-plugins from grabpl to grafana (#53071)
* add grabpl command to build internal plugins

* grabpl build-plugins -> ./bin/build build-plugins
2022-08-04 11:39:36 -05:00
Ivana Huckova bf3fa4a445 Loki: Fix producing correct log volume query for query with comments (#53254)
* Loki: Remove comments from log volume query

* Update, add more tests

* Update based on suggestions

* Update

* Update tests to use it.each
2022-08-04 17:58:39 +02:00
Joao Silva a84873a52b i18n: Translates the Share Panel modal (#53297) 2022-08-04 16:43:49 +01:00
Gilles De Mey ca2b97b095 Alerting: Adds support for editing group details for Grafana managed rules (#53120) 2022-08-04 11:39:28 -04:00
eledobleefe c65b4c732f Chore: Convert FolderSettingsPage.test.tsx to RTL (#53307) 2022-08-04 16:00:04 +02:00
idafurjes 0c5b71694f Chore: Add user service method UpdateLastSeenAt (#53309)
* Chore: Add user service method UpdateLastSeenAt

* Fix lint
2022-08-04 15:44:14 +02:00
idafurjes 20f4191e56 Chore: Add user service method ChangePassword (#53303)
* Chore: Add user service method ChangePassword

* Fix lint
2022-08-04 15:05:05 +02:00
idafurjes 6fdb6ea6f6 Chore: Add user service method Update (#53300)
* Chore: Add user service method Update

* Remove UpdateUser from store interface
2022-08-04 14:22:44 +02:00
Serge Zaitsev 191ab3bb01 Chore: Move api key models into apikey service package (#53241)
* Chore: move api key models into apikey service package

* force table name for api key
2022-08-04 14:19:09 +02:00
idafurjes af83a09a92 Chore: Add user service method GetByEmail (#53298) 2022-08-04 13:47:30 +02:00
idafurjes 1ecbe22751 Chore: Add user service method GetByLogin (#53204)
* Add wrapper around sqlstore method GetUserByLogin

* Use new method from user service

* Fix lint

* Fix lint 2

* fix middleware basic auth test

* Fix grafana login returning a user by login

* Remove GetUserByLogin from store interface

* Merge commit
2022-08-04 13:22:43 +02:00
Giordano Ricci 1ec9007fe0 GrafanaUI: Render PageToolbar's leftItems regardless of title's presence (#53285)
* Grafana-UI: make PageToolbar render leftItems regardless of title's presence

* simplify test
2022-08-04 11:59:20 +01:00
idafurjes 66fd516c44 Remove GetUserById from store interface (#53226) 2022-08-04 10:34:05 +02:00
Esteban Beltran 112f69177b Build: Replace the file-loader loader with asset module in webpack config (#53088) 2022-08-04 10:29:42 +02:00
Joan López de la Franca Beltran 6b8316d510 Encryption: Fall back to AES-CFB on empty algorithm metadata (#53266) 2022-08-04 09:37:53 +02:00
Levente Balogh 2bf37a0d35 Data Connections: Remove the placeholder for Recorded Queries (#53230)
* feat(Data Connections): remove the Recorded Queries tab

* chore: remove the Recorded Queries from the nav
2022-08-04 06:39:06 +00:00
Drew Slobodnjak fe0f193189 Geomap: Add measuring tools (#51608)
* Geomap: add measuring tools

* Add measure type selection

* Add controls and state to measure overlay

* Override tooltip mouse events when menu active

* Move measure tools to top right

* Lay groundwork for units and consolidate measuring

* Create measure vector layer class

* Improve styling to match other overlay controls

* Consolidate styling and use theme2

* Update unit language and add km2

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2022-08-03 16:19:30 -07:00
Adela Almasan 6c58ea66a9 Canvas: Fix inconsistent border behavior (#53262) 2022-08-03 16:23:08 -05:00
sam boyer b11f66b4bb coremodels: Combine static and generic registries (#53246)
* Stop generating non-dynamic registry code

* Remove generic, errors, s/static/base/

* Sort during codegen, not runtime

* Not a method call

* Precisiate a comment

* Remove generic registry, fix assignability test
2022-08-04 00:04:54 +04:00
Adela Almasan d54e55ea9a Canvas: Fix duplicated option editors functionality (#53184)
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2022-08-03 12:49:35 -07:00
Beto Muniz 4c02d072e3 Ensure that tooltip and legend have same parameters to calculate and display label equally (#53176) 2022-08-03 14:47:22 -03:00
Sofia Papagiannaki ae101bf935 Alerting: Fix migration (#53253) 2022-08-03 11:41:18 -04:00
Ashley Harrison 202f5d38c8 Add missing package to @grafana/schema (#53252) 2022-08-03 11:28:01 -04:00
Ashley Harrison 9d6faa7e9a Storybook: remove UseState + add controls support to TimeZonePicker story (#53219)
* remove UseState + add controls support to TimeZonePicker story

* remove redundant check
2022-08-03 16:17:42 +01:00
Kyle Brandt 643d2bc890 Chore: Sql store split for legacy alerting (#52901)
Moves ~20 sqlstore methods for legacy alerting out of sqlstore (sqlstore.Store interface) and into alerting.
2022-08-03 11:17:26 -04:00
Will Browne 46b7ca12e1 add missing check for root URLs length (#53239) 2022-08-03 17:13:45 +02:00
gtk-grafana f8d6730134 Metrics: Refactor use of lezer nodes to reference ID instead of name (parsing.ts) (#53177)
* Update public/app/plugins/datasource/prometheus/querybuilder/shared/parsingUtils.ts

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

* Since loki is still passing in node type strings, update the getAllByType shared function to allow string or number types

* add todo to remove string type when last datasource has migrated

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2022-08-03 09:57:29 -05:00
gtk-grafana 7f165729b0 remove string constant and use ids provided in lezer-promql library (#53180) 2022-08-03 09:56:32 -05:00
Sofia Papagiannaki 5fec6cc4f5 API: Fix snapshot responses (#52998)
* API: Fix response status when snapshots are not found

* API: Fix response status when snapshot key is empty

* Apply suggestions from code review
2022-08-03 10:31:23 -04:00
Jean-Philippe Quéméner 54217a2037 Alerting: set dashboard and panel id using annotations in provisioning api (#53221) 2022-08-03 16:05:32 +02:00
Matias Chomicki 97ce40577b Loki: Fix types in querybuilder state test (#53223)
* Chore: add missing refId property to LokiQuery type

* Chore: fix types in Loki querybuilder state test

* Chore: remove unnecessary added property to LokiQuery
2022-08-03 15:59:33 +02:00
Ivana Huckova 3877964470 Loki: Remove some of any assertions from tests (#53114)
* Loki: Remove some of any assertions from tests

* Remove unnecessary as assertions
2022-08-03 15:57:38 +02:00
Grafana I18n Bot 1c1f72b1aa I18n: Crowdin sync (#53222)
* New translations messages.po (French)

* New translations messages.po (French)
2022-08-03 09:49:53 -04:00
ismail simsek 87af08129c Prometheus: Add tests for new explain section (#53182)
* Prometheus: Add tests for new explain section

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

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

* Mock MonacoQueryFieldWrapper

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2022-08-03 15:48:16 +02:00
Jack Westbrook d87bf30e9e Build: Introduce ESM and Treeshaking to NPM package builds (#51517)
* Revert "Chore: Bump terser to fix security vulnerability (#53052)"

This reverts commit 7ae74d2a18.

* feat: use tsc and rollup directly with esbuild and publishConfig, files props

* refactor(grafana-data): fix isolatedModules re-export type error

* refactor(grafana-data): import paths from src not package name

* refactor(rollup): fix dts output.file

* chore(grafana-schema): delete dashboard_experimental.gen.ts - cannot work with isolatedModules

* refactor(grafana-e2e-selectors): fix export types isolatedModules error

* refactor(grafana-runtime): fix isolatedModules re-export type error

* refactor(grafana-ui): fix isolatedModules re-export type error

* feat(grafana-ui): use named imports for treeshaking

* refactor(grafana-ui): use named imports for treeshaking

* feat: react and react-dom as peerDeps for packages

* feat(grafana-ui): emotion packages as peerDeps

* feat(grafana-e2e): use tsc, rollup, esbuild for bundling

* chore(packages): clean up redundant dependencies

* chore(toolkit): deprecate unused package:build task

* chore(schema): put back dashboard_experimental and exclude to prevent isolatedModules error

* docs(packages): update readme

* chore(storybook): disable isolatedModules for builds

* chore: relax peerDeps for emotion and react

* revert(grafana-ui): put @emotion dependencies back

* refactor: replace relative package imports with package name

* build(packages): set emitDeclaration false for typecheck scripts to work

* test(publicdashboarddatasource): move test next to implementation. try to appease the betterer gods

* chore(storybook): override ts-node config for storybook compilation

* refactor(grafana-data): use ternary so babel doesnt complain about expecting flow types

* chore(toolkit): prefer files and publishConfig package.json props over copying

* build(npm): remove --contents dist arg from publishing commands

* chore(packages): introduce sideEffects prop to package.json to hint package can be treeshaken

* chore(packages): remove redundant index.js files

* feat(packages): set publishConfig.access to public

* feat(packages): use yarn berry and npm for packaging and publishing

* refactor(packages): simplify rollup configs

* chore(schema): add comment explaining need to exclude dashboard_experimental

* revert(toolkit): put back clean to prevent cli failures

* ci(packages): run packages:pack before a canary publish

* chore(gitignore): add npm-artifacts directory to ignore list

* test(publicdashboarddatasource): fix module mocking

* chore(packages): delete package.tgz when running clean

* chore(grafana-data): move dependencies from devDeps to prevent build resolution errors
2022-08-03 15:47:09 +02:00
Ieva 610abc2af0 Access Control: Fix permission error during dashboard creation flow (#53214)
* remove permission check

* remove unneeded function
2022-08-03 16:39:20 +03:00
Will Browne 5523c00b01 check not empty root urls before setting field (#53135) 2022-08-03 15:25:59 +02:00
Giordano Ricci 09c4dbdb9f Correlations: Add UpdateCorrelation HTTP API (#52444)
* Correlations: add UpdateCorrelation HTTP API

* handle correlation not found

* add tests

* fix lint errors

* add bad request to API spec

* change casing

* fix casing in docs

* fix tests

* update spec
2022-08-03 14:18:51 +01:00
Artur Wierzbicki f61a97a0ab Search: rename remove search constraints (#53190) 2022-08-03 16:44:51 +04:00
Mihály Gyöngyösi dc775c7577 RolePicker: Fix RolePicker menu positioning (#53201)
Fixes #52800
2022-08-03 14:35:51 +02:00
Dimitris Sotirakis 1d1fb07124 Make retrieve and release npm packages allowed to fail (#53191) 2022-08-03 08:24:32 -04:00
Serge Zaitsev 8d36f71673 Chore: Remove apikey store methods from sqlstore (#53197)
* Chore: remove apikey store methods from sqlstore

* remove GetAPIKeys

* remove GetAllAPIKeys

* remove the rest of apikey from sqlstore
2022-08-03 08:13:05 -04:00
Dimitris Sotirakis 5d014f0c37 CI: Run main-docs pipeline only, when a docs PR is merged (#53026)
* Trigger docs pipeline on main, on docs only changes

* Export docs inclusion paths in variable
2022-08-03 08:08:43 -04:00
Julien Duchesne 157303d8ba Drone: Add retries for pipelines (#53171)
* Drone: Add retries for pipelines
Self-explanatory, this should reduce flakiness for the clone step

* Oops remove extra file
2022-08-03 14:51:29 +03:00
Victor Marin 34b7c38314 Change var keyword to const (#53206) 2022-08-03 11:41:39 +00:00
Josh Hunt c7d3fec515 Typed variables pt3: Type VariableState with TypedVariableModel (#53015)
* wip

* make diff easier to read

* Update template_srv getVariables to return new TypedVariableModel

* update VariableType to use the type from TypedVariableModel

* tidy things up

* Chore: Use type-accurate mock variables in tests

* Chore: Type VariableState to use TypedVariableModel

* fix typo

* remove type assertion from template_srv.getVariables

* undo whatever changes i did to swagger spec
2022-08-03 12:38:59 +01:00
Josh Hunt 8f81c4d2ce Chore: reformat swagger specs, again (#53205) 2022-08-03 12:18:52 +01:00
Andrey Smirnov fc9577b76d MegaMenu: Fix broken hamburger toggle (#52770)
* MegaMenu: Fix broken hamburger toggle

* oops

* MegaMenu: move NavBarToggle to FocusScope
2022-08-03 12:08:39 +01:00
Matias Chomicki 7cf2b68e0a Loki: Remove hardcoded values for LokiOperationId (#53168) 2022-08-03 12:50:43 +02:00
Josh Hunt 805203dba9 Chore: Prettier ignore api-merged & api-spec swagger api specs (#53170)
* Prettier ignore api-merged & api-spec swagger api specs

* add enterprise
2022-08-03 11:41:31 +01:00
user10x fb00a11b5f rename table_model.ts => TableModel.ts (#51659)
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-08-03 10:33:13 +00:00
Joey Tawadrous 1592ea45b0 Tempo: Devenv update to support all features (#52728)
* Tempo devenv

* Add logging to tempo devenv

* Update readme

* Formatting

* Update loki image

* Update tempo image
2022-08-03 11:24:50 +01:00
Gabriel MABILLE 00ff61cb9e RBAC: Add an additional check on UserID before fetching the permissions (#53002)
* RBAC: add an additional check before fetching permissions

* Nit.

* Readd removed test

* change message
2022-08-03 11:06:06 +02:00
J-Loup 2054414d37 Frontend: Make datalinks work with status history and state timeline (#50226)
* fix datalinks for state and status panels

* Add close button on tooltip

* fix links from all series displayed in tooltip

* Allow annotations creation, tweak UI

* Nits

* Remove unused property

* fix returns made from review

* setupUPlotConfig renamed to addTooltipSupport

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: Victor Marin <victor.marin@grafana.com>
2022-08-03 11:58:01 +03:00
Harry Tennent c56aae6f63 Docs: update annotations API docs to include required field (#52644)
* Update annotations.md

A minor change to include the required fields when creating a new annotation via the annotations API. The error message when fields are missing is not descriptive and there is no indication in the current documentation (that I can see anyway) that would indicate these fields are required.

* Update annotations.md

Update required json body fields to only include fields that are actually required.

* Add required field in Swagger

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2022-08-03 08:01:25 +00:00
ismail simsek 920ee16b54 Update LokiQueryCodeEditor test title (#53181)
* Update LokiQueryCodeEditor test title

* Update public/app/plugins/datasource/loki/querybuilder/components/LokiQueryCodeEditor.test.tsx
2022-08-03 09:59:02 +02:00
Armand Grillet edbaaf495b Docs: update Alerting configuration (#53169) 2022-08-03 09:52:38 +02:00
Gilles De Mey b7e11358cf Alerting: Fix crash when viewing alert group without interval (#53166) 2022-08-03 08:22:52 +02:00
Garrett Guillotte e1bb23a2d7 Docs: Add What's New in v9.1 (#53066)
* Docs: Add What's New in v9.1

* Update docs/sources/whatsnew/whats-new-in-v9-1.md

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

* Docs: Pass CI

* Update docs/sources/whatsnew/whats-new-in-v9-1.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/whatsnew/whats-new-in-v9-1.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/whatsnew/whats-new-in-v9-1.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/whatsnew/whats-new-in-v9-1.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/whatsnew/whats-new-in-v9-1.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/whatsnew/whats-new-in-v9-1.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/whatsnew/whats-new-in-v9-1.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Docs: Apply style and semantic linebreak suggestions to 9.1 what's new

* Docs: Pass CI

* Removed reference to AWS SM project that has been pulled from announcement

* Docs: Pass CI

* Docs: Pass CI

Co-authored-by: Fiona Artiaga <89225282+GrafanaWriter@users.noreply.github.com>
Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>
Co-authored-by: Tim Levett <tim.levett@grafana.com>
2022-08-02 11:07:36 -07:00
Sofia Papagiannaki 3713a193d8 Chore: Fix Makefile target dependency (#53165) 2022-08-02 19:42:48 +03:00
Ieva 67d817ff48 update versions (#53167) 2022-08-02 11:55:46 -04:00
Scott Lepper fe7add0bc6 ref experimental query editor (#53061)
* ref experimental query editor
2022-08-02 11:44:06 -04:00
Ieva 904d21dc93 update latest.json testing version (#53157) 2022-08-02 15:35:04 +00:00
Ivana Huckova c4ed5c4d4b Docs: Update explain section in Loki docs (#53107) 2022-08-02 17:21:09 +02:00
Ivana Huckova 5009c330ca Loki: Add tests for explain section in builder and code editor (#53113)
* Loki: Add tests for new explain section

* Update any assertions
2022-08-02 17:20:22 +02:00
Grot (@grafanabot) 8a1dc85e2c ReleaseNotes: Updated changelog and release notes for 9.1.0-beta1 (#53155) 2022-08-02 11:07:36 -04:00
idafurjes fab6c38c95 Chore: Split get user by ID (#52442)
* Remove user from preferences, stars, orguser, team member

* Fix lint

* Add Delete user from org and dashboard acl

* Delete user from user auth

* Add DeleteUser to quota

* Add test files and adjust user auth store

* Rename package in wire for user auth

* Import Quota Service interface in other services

* do the same in tests

* fix lint tests

* Fix tests

* Add some tests

* Rename InsertUser and DeleteUser to InsertOrgUser and DeleteOrgUser

* Rename DeleteUser to DeleteByUser in quota

* changing a method name in few additional places

* Fix in other places

* Fix lint

* Fix tests

* Chore: Split Delete User method

* Add fakes for userauth

* Add mock for access control Delete User permossion, use interface

* Use interface for ream guardian

* Add simple fake for dashboard acl

* Add go routines, clean up, use interfaces

* fix lint

* Update pkg/services/user/userimpl/user_test.go

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>

* Update pkg/services/user/userimpl/user_test.go

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>

* Update pkg/services/user/userimpl/user_test.go

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>

* Split get user by ID

* Use new method in api

* Add tests

* Aplly emthod in auth info service

* Fix lint and some tests

* Fix get user by ID

* Fix lint
Remove unused fakes

* Use split get user id in admin users

* Use GetbyID in cli commands

* Clean up after merge

* Remove commented out code

* Clena up imports

* add back )

* Fix wire generation for runner after merge with main

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2022-08-02 16:58:05 +02:00
Serge Zaitsev 64488f6b90 Chore: split APIKey store (#52781)
* move apikey store into a separate service

* add apikey service to wire graph

* fix linter

* switch api to use apikey service

* fix provideservice in tests

* add apikey service test double

* try different sql syntax

* rolling back the dialect

* trigger drone

* trigger drone
2022-08-02 16:55:19 +02:00
Andres Martinez Gotor 43955bdebd Azure Monitor: Early error if the client secret is not set (#53106) 2022-08-02 16:53:05 +02:00
Andres Martinez Gotor 245af46798 Docs: Remove limitation for Azure Monitor template variables (#52983) 2022-08-02 16:52:28 +02:00
kay delaney b9598a08a4 Chore: Enable React strict mode (#53126) 2022-08-02 15:27:49 +01:00
Andres Martinez Gotor 194d0fe33b Azure Monitor: Clarify removed query methods (#52986) 2022-08-02 16:02:26 +02:00
Josh Hunt 1a683e53c5 Typed variables pt2: Use type-accurate mock variables in tests (#52987)
* wip

* make diff easier to read

* Update template_srv getVariables to return new TypedVariableModel

* update VariableType to use the type from TypedVariableModel

* tidy things up

* Chore: Use type-accurate mock variables in tests

* make createBaseVariableModel take the variable type
2022-08-02 14:47:41 +01:00
Yuriy Tseretyan 718620c197 Alerting: Update forking request handlers to use the same errors (#52965)
* generalize error handling in forking request handlers
* remove MatchesBackend and change test to test Can
* add 404 to route specs
* change backendTypeByUID to getDatasourceByUID of expected type
* use common errors in api testing
* handle 401 in errorToResponse
* replace backend type error with "unexpected datasource type"
* update swagger spec
2022-08-02 09:33:59 -04:00
Joan López de la Franca Beltran 28e27e1365 Encryption: De-duplicate encryption code with extensible service (#52472)
* Encryption: De-duplicate encryption code with extensible service

* Fix Wire injections

* Fix tests

* Register reload handler
2022-08-02 15:08:09 +02:00
Ashley Harrison 9c6aab3bc9 Chore: remove UseState + add support for controls in TimeOfDayPicker/TimeRangeInput story (#53040)
* remove UseState + add support for controls in TimeOfDayPicker story

* remove UseState + add controls support in TimeRangeInput story

* Add documentation + fix error when clearing

* properly type range
2022-08-02 13:33:59 +01:00
Grafana I18n Bot db08ece3db I18n: Crowdin sync (#53104)
* New translations messages.po (French)

* New translations messages.po (Spanish)
2022-08-02 12:14:07 +01:00
Josh Hunt 4323e12588 I18n: Add X-Crowdin-SourceKey to messages.po files (#53102)
* add X-Crowdin-SourceKey to messages.po files

* remove previous fake translation
2022-08-02 06:54:24 -04:00
Josh Hunt 1cadccf137 Add crowdin config (#53096) 2022-08-02 05:15:37 -04:00
Josh Hunt eaf6aea98f Typed variables pt1: Use discriminated union for variable model (#52981)
* wip

* make diff easier to read

* Update template_srv getVariables to return new TypedVariableModel

* update VariableType to use the type from TypedVariableModel

* tidy things up
2022-08-02 10:15:25 +01:00
Ashley Harrison 4d47d7085b don't show dashboards or starred items in navbar when unauthenticated (#53051) 2022-08-02 09:57:32 +01:00
Eric Leijonmarck f6985835aa Chore: update latest.json to 9.0.6 (#53095) 2022-08-02 04:45:52 -04:00
ismail simsek 3701c9a8f5 Update prometheus docs (#53062) 2022-08-02 10:38:22 +02:00
Grot (@grafanabot) 47a7f84c86 ReleaseNotes: Updated changelog and release notes for 9.0.6 (#53092) 2022-08-02 10:18:46 +02:00
Jack Westbrook 7ae74d2a18 Chore: Bump terser to fix security vulnerability (#53052) 2022-08-02 09:08:10 +02:00
Alexander Weaver c50cbea0bb Alerting: Extract alert rule diff logic into separate file with exported API (#53083)
* Refactor diff logic into separate file with exported API

* Fix linter complaint
2022-08-01 23:41:23 -05:00
Michael Mandrus d5c80a2411 remove documentation for feature not yet being launched (#53082) 2022-08-01 22:02:30 -04:00
Nathan Marrs c00c8db13c Canvas: Unable to add fixed text in textbox element #53080 2022-08-01 20:32:41 -05:00
Yuriy Tseretyan 5fb778814c Alerting: Update rules version when folder title is updated (#53013)
* remove support for bus from scheduler
* rename event to FolderTitleUpdated and fire only if title has changed
* add method to increase version of all rules that belong to a folder
* update ngalert service to subscribe to folder title change event call data store and update scheduler
* add tests
2022-08-01 19:28:38 -04:00
Jeff Levin b3f7deebda fix audit log prefix for public dashboards (#53070) 2022-08-01 14:46:48 -08:00
Alexander Weaver cc20f04860 Alerting: Increase alert rule operation perf by replacing subquery with threshold calculation (#53069)
* Replace subquery with threshold calculation

* Use offset/limit to account for orgs with large gaps in IDs

* Collapse into one statement

* Drop dead constants

* Revert to 2 query approach

* Drop unused consts again
2022-08-01 16:48:34 -05:00
Adela Almasan 5797fbc0b2 Canvas: Cleanup default elements (#52958) 2022-08-01 15:34:05 -05:00
Adela Almasan f2436b15bf Canvas - Clear button bugfix (#53068) 2022-08-01 14:40:01 -05:00
Artur Wierzbicki 0d817987ec Storage: move file quota check to service (#53058)
* Storage: move file quota check to service

* Fix tests
2022-08-01 22:53:44 +04:00
Jean-Philippe Quéméner 8fc8d00167 Alerting: Add file provisioning for text templates (#52952) 2022-08-01 20:50:03 +02:00
Jean-Philippe Quéméner 3d39594d75 Alerting: Add file provisioning for mute timings (#52936) 2022-08-01 14:19:33 -04:00
Nathan Marrs 7b249d19b2 Canvas: Inline element settings (#52771) 2022-08-01 12:22:13 -05:00
Jean-Philippe Quéméner eab6365cf7 Alerting: Add file provisioning for notification policies (#52877) 2022-08-01 19:14:57 +02:00
Jean-Philippe Quéméner d9cace4dca Alerting: Add file provisioning for contact points (#51924) 2022-08-01 18:17:42 +02:00
Alexander Emelin e791a4e576 Search: Move entity events to transaction (#52394) 2022-08-01 18:56:36 +03:00
Andres Martinez Gotor a4f56446ee Azure Monitor: Restore Metrics query parameters: subscription, resourceGroup, metricNamespace and resourceName (#52897)
* Azure Monitor: (Components) deprecate ResourceURI (#52982)
2022-08-01 17:48:49 +02:00
Victor Marin 2948bf01dc TimeSeriesPanel: Tooltip works properly when changing modes (#52876)
* TimeSeriesPanel: Tooltip works properly when changing modes

* TooltipPlugin respects display mode

* Pass options to TimeSeriesPanel props
2022-08-01 18:12:40 +03:00
Ezequiel Victorero e0d71f02b1 Public Dashboards: add e2e tests for public dashboards (#52970) 2022-08-01 11:20:49 -03:00
Isabella Siu 52b57fdb1c CloudWatch: add CloudWatchSynthetics namespace (#52956) 2022-08-01 10:19:02 -04:00
Isabella Siu 74f0c3dbd4 CloudWatch: the variable editor should accept custom values (#52955) 2022-08-01 10:07:27 -04:00
Ashley Harrison f64b241d32 Navigation: split logic, reenable unit test, copy whole node to prevent recursion error (#53033)
* split logic, reenable unit test, copy whole node to prevent recursion error

* remove double assignment
2022-08-01 14:47:52 +01:00
Sofia Papagiannaki 3f58e8ec2a Chore: Cleanup Makefile (#53037)
Remove redundant reference to deleted folder pkg/api/docs/definitions
2022-08-01 16:31:49 +03:00
Konrad Lalik f877f79bbc Alerting: Show evaluation interval global limit warning (#52942)
Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-08-01 15:01:14 +02:00
Andres Martinez Gotor 314eb5223f CloudMonitoring: Remove link setting for SLO queries (#53031) 2022-08-01 14:53:09 +02:00
Jeff Levin 58ff0f07b4 public dashboards: check to see if dashboard state is different from persisted on save (#52008)
* public dashboards: check to see if dashboard state is different from persisted on save

Co-authored-by: Ezequiel Victorero <ezequiel.victorero@grafana.com>
2022-08-01 09:35:09 -03:00
lean.dev 3395981d35 Chaging log level when secret is not found (#53007) 2022-08-01 09:25:24 -03:00
Ashley Harrison 6781041860 Import: prevent recursion blowup in redux + reintroduce import e2e test (#52985)
* prevent recursion blowup in redux, attempt to reintroduce import e2e test

* try importing json like this instead?

* need the panel validation

* Update text so it finds Panel data instead of Dataframe JSON

* skip test for now
2022-08-01 12:53:31 +01:00
Artur Wierzbicki 784cfcf2b0 Search: add request metrics (#53028)
* Search: add request metrics

* Search: consistent naming

* Search: remove success counter

* Search: update buckets

* Search: remove log
2022-08-01 15:23:41 +04:00
Dimitris Sotirakis cea4b3fb19 Make compile-build-cmd depend on init-enterprise (#53029) 2022-08-01 06:56:06 -04:00
Josh Hunt 96564be396 GrafanaUI: Improved ClipboardButton success state (#52665)
* Add new pill-shaped Indicator component

* Use indicator for clipboard button success

* show just check icon during success state

* expose Indicator

* move animation and positioning into Indicator component

* update stories

* update stories
2022-08-01 10:46:29 +01:00
Dimitris Sotirakis 1666871d48 Trigger pr-integration-tests pipeline only on backend changes (#53024) 2022-08-01 12:36:32 +03:00
Konrad Lalik 54f2c056f5 Alerting: Configure alert manager data source as an external AM (#52081)
Co-authored-by: Jean-Philippe Quéméner <JohnnyQQQQ@users.noreply.github.com>
Co-authored-by: gotjosh <josue.abreu@gmail.com>
Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2022-08-01 10:20:43 +02:00
Leo 1fc9f6f1c6 Annotations: Migrate dashboardId to dashboardUID (#52588)
* Annotations: replaced dashboardId with dashboardUID when fetching annotations

* Annotations: Replaced dashboardID with dashboardUID when adding and updating annotations

* Annotations: Used dashboardUID for PanelChrome related methods

* Annotations: Used dashboarduid in annolistpanel

* Annotations: Used dashboardUID in graph plugin

* used boolean in canEditDashboard
2022-08-01 09:21:41 +02:00
Artur Wierzbicki 046a2602ff Storage: optimize sql list operation (#53009) 2022-07-30 00:19:28 +04:00
Artur Wierzbicki 08dabfaffc Storage: add global resources/system (#53000)
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2022-07-29 15:58:47 -04:00
Holger Freyther 27709adac3 docker: The cue directory is gone. Catch-up (#52606)
The files got removed in 8876d56495 but
the container was not updated yet.
2022-07-29 10:47:27 -05:00
Josh Hunt 583490678b update e2e docs to remove aria-label mentions (#52999) 2022-07-29 16:42:53 +01:00
Ryan McKinley a51d3dad4f Loki: support template variables when running stream (live) mode (#52973) 2022-07-29 08:41:11 -07:00
Ivan Ortega Alba c9d50ddaaa Search: Track user searches and results interactions (#52949) 2022-07-29 11:30:13 -04:00
Josh Hunt 06d78ea904 Dashboards: Disable variable pickers for snapshots (#52827)
* user essentials mob! 🔱

lastFile:public/app/features/variables/textbox/TextBoxVariablePicker.tsx

* user essentials mob! 🔱

* user essentials mob! 🔱

lastFile:public/app/features/variables/adhoc/picker/AdHocFilter.tsx

* finish up disabling variables in snapshots

* remove accident

* use theme.spacing instead of the v1 shim

Co-authored-by: Joao Silva <joao.silva@grafana.com>
Co-authored-by: Leodegario Pasakdal <leodegario.pasakdal@grafana.com>
2022-07-29 16:29:55 +01:00
Torkel Ödegaard d3323f870e AppChrome: Fix race condition when updating chrome state on route changed (#52694) 2022-07-29 17:16:14 +02:00
Ivana Huckova b8e4c2abeb Loki: Move explain section to builder mode (#52879)
* Loki: Move explain to builder and code mode

* Update

* Update transition

* Fix tests

* Fix tests

* Prometheus: Move explain section to builder mode (#52935)

* Prometheus: Move explain section to builder mode

* Show explain switch before raw query switch

* Store explain switch value in localstorage

* Make explain available for code mode too

* Introduce useFlag hook for query editor switches

* Remove Explain mode

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2022-07-29 17:09:43 +02:00
Ryan McKinley fbd289c19c Search: add starred filter and swap button order (#52184)
Co-authored-by: Alexandra Vargas <alexa1866@gmail.com>
Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
2022-07-29 16:34:17 +02:00
Selene 085ae014cd Sync: Move ActiveTokenCount to a new service (#52991)
* Move ActiveTokenCount to a new service

* Fixing tests

* fix `RootSystem`

Co-authored-by: Artur Wierzbicki <artur.wierzbicki@grafana.com>
2022-07-29 16:30:46 +02:00
Ivana Huckova 1eb3513781 Prometheus: Fix adding of multiple values for regex operator (#52978)
* Prometheus, Loki: Fix adding of multiple values for regex operator

* Refactor
2022-07-29 15:27:19 +02:00
Sofia Papagiannaki 87004cc22d API: Do not expose user input in datasource error responses (#52992) 2022-07-29 08:46:51 -04:00
Gábor Farkas ba76f9b580 elastic: eliminate react warning (#52934) 2022-07-29 12:24:33 +00:00
Victor Marin e88e3482e0 Tooltip mode works in BarChart panel (#52941) 2022-07-29 15:11:42 +03:00
Josh Hunt b223c65a6c Chore: remove unnessisary type assertion from GrafanaContext (#52979) 2022-07-29 11:48:52 +01:00
Jo ff1c294963 AzureAD: Don't copy claims around (#52950) 2022-07-29 10:17:07 +02:00
Ryan McKinley 197acd73c0 Storage: support git + github backed roots (#52192) 2022-07-28 23:26:44 -07:00
Drew Slobodnjak e2044cde13 Canvas: Enable ability to instantly select and drag an element (#52861)
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2022-07-28 16:55:31 -07:00
Leon Sorokin 7c40257baf BarChart: fix top y tick clipping when x labels are rotated (#52964) 2022-07-28 16:51:37 -05:00
mingozh 11c79cd6da BarchartPanel: Fix color from thresholds show incorrectly (#52038)
Signed-off-by:  Kyle Cunningham <kyle.cunningham@grafana.com>
2022-07-28 15:56:12 -05:00
Artur Wierzbicki 273c37c27d Previews: return an empty array, rather than a null, if a dashboard has no datasources (#52961) 2022-07-28 22:49:06 +04:00
Kim Nylander d0aa688e36 [DOC] Updates to K8s install instructions (#52772)
* Updates to K8s install

* Update docs/sources/setup-grafana/installation/kubernetes.md

* Apply suggestions from code review

* Update docs/sources/setup-grafana/installation/kubernetes.md

* Update docs/sources/setup-grafana/installation/kubernetes.md

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

* Update docs/sources/setup-grafana/installation/kubernetes.md

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

* Update docs/sources/setup-grafana/installation/kubernetes.md

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

* Apply suggestions from code review from Ursula

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

* Apply suggestions from code review

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

* Update docs/sources/setup-grafana/installation/kubernetes.md

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

* Update docs/sources/setup-grafana/installation/kubernetes.md

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

* Apply Prettier fixes to pass CI

Co-authored-by: Ursula Kallio <ursula.kallio@grafana.com>
Co-authored-by: Garrett Guillotte <garrett.guillotte@grafana.com>
2022-07-28 11:37:07 -07:00
Artur Wierzbicki 449acb56a9 Previews: fix dashboard.thumbnails.ds_uids migration (#52960) 2022-07-28 21:50:02 +04:00
Adam Simpson 165efcd9cc CloudMonitor: Consolidate editor rows (#52675)
* consolidate project, metric, and service

* CloudMonitor: make AlignmentPeriodLabel a tooltip

alignmentPeriodLabel now returns a string instead of component. This is
because as a <label> it would cause wrapping issues when the screen size
would change. It also isn't essential information _unless_ the user is
using a template variable for the Alignment period.

* refactor: remove any hard-coded widths for auto

* chore: use newly moved experimental comps in UI
2022-07-28 17:47:01 +00:00
Ashley Harrison 921d32d70b Chore: use new pa11y-ci version (#52953)
* use new pa11y-ci version, update some thresholds and set standard to WCAG2AA

* remove unneeded comment

* PRs won't have unified alerting enabled...
2022-07-28 12:49:41 -04:00
jcolladokuri 0acf98db5c Azure Monitor: Add new dashboard with geo map for app insights test availability (#52494) 2022-07-28 16:15:36 +02:00
Kevin Minehart d567f199dd CI: add the grabpl build-backend command into the repo (#52673)
* Move the grabpl build-backend command and clean it up a bit
2022-07-28 10:11:22 -04:00
Dimitris Sotirakis f215a35caf Docker: Install jq on build-container image (#52928)
* Install jq on build-container image

* Bump build-container version
2022-07-28 08:21:48 -05:00
Esteban Beltran 6395d6d6f3 Grafana/toolkit: Fix incorrect image and font generation for plugin builds (#52927) 2022-07-28 14:54:29 +02:00
Artur Wierzbicki 18daa6754c Previews: datasource permissions (#52747)
* Previews: datasource permissions

* lint

* simplify - force non-null `ds_uids`

* add `canBeDisabled` to search service

* add `IncludeThumbnailsWithEmptyDsUids`

* remove force refresh migration

* refactor main preview service

* add safeguard

* revert ticker interval

* update testdata

* fix test

* add mock search service

* add datasources lookup test

* update migration

* extract ds lookup to its own package to avoid cyclic imports

* lint

* fix dashbaord extract, use the real datasource lookup in tests. IS IT BULLETPROOF YET?!

* fix dashbaord extract, use the real datasource lookup in tests. IS IT BULLETPROOF YET?!

* remove stale log

* consistent casing

* pass context to `createServiceAccount`

* filter out the special grafana ds
2022-07-28 16:40:26 +04:00
Andrej Ocenas d0e548c3e5 Prometheus: Add flag to compare streaming and buffered responses (#51711)
* Add flag to compare streaming and buffered

* Move log

* Fix lint

* Fix tests

* Remove debug logs
2022-07-28 14:26:51 +02:00
ismail simsek 2f9636e698 InfluxDB: move datasource health check to backend (#52668)
* Move datasource health check to backend

* Introduce healthcheck unit tests

* Remove unused method
2022-07-28 12:06:09 +02:00
Vardan Torosyan 532741a8fe RBAC: Update the docs homepage to mention that RBAC is only enterprise (#52890)
* RBAC: Update the docs homepage to mention that RBAC is only enterprise

* Don't mention that there is anything to enable for provisioning RBAC

* Add GE notices to child RBAC pages

* Extend the RBAC availibility note to Cloud Advanced

Co-authored-by: Garrett Guillotte <garrett.guillotte@grafana.com>
2022-07-28 05:32:11 -04:00
Artur Wierzbicki 9e841ef21d Storage: fix delete folder (#52860) 2022-07-28 12:27:26 +03:00
Leo 8d6d5f2fdc SearchV2: Add minor UX improvements to Search pages (#52833)
* Search: display dash for panel and folder when sort type is view or error

* Search: Disabled panel checkbox in folrder view
2022-07-28 11:17:47 +02:00
Gilles De Mey 9332fb65a9 Alerting: Allow testing provisioned contact points (#52824) 2022-07-28 10:03:28 +02:00
Agnès Toulet 44cc9132e3 RBAC: Add RBAC for query caching (#52113)
* start adding RBAC for query caching

* update with scope

Co-authored-by: Leonard Gram <leo@xlson.com>
2022-07-28 09:49:58 +02:00
Leon Sorokin 8ee0555bac TimeSeries: Implement auto decimals for y axes (#52912) 2022-07-28 02:58:42 -04:00
Jo 51e2a1c0a4 Deps: Update SAML libraries (#52893)
Deps: ensure goxmldsig is pinned

update go.mod
2022-07-28 08:43:30 +02:00
Ryan McKinley 8a2d40c2bc Canvas: Add all options to inline editor (#52834)
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2022-07-27 19:20:39 -04:00
Ryan McKinley cb3f7ccd09 Transformers: remove config from "join by labels" source fields (#52850) 2022-07-27 13:52:38 -07:00
ying-jeanne 017e6771ce fix the issue of annotation endpoint (#52907) 2022-07-27 16:35:27 -04:00
Brendan O'Handley 6c3efb0c88 Graphite Plugin: Remove angular dependencies for graphite annotations (#52261)
* fix merge conflict

* fix betterer

* handle new creating annotations

* add h5 'or' tag to annotation editor

* fix annotation regression looking for tags before target

* remove angular annotation partial

* change ann tags type to string[] and use TagsInput to create ann

* remove GraphiteEventsType, return annotations targets setting 'textEditor': true

* fix yarn typecheck errors

* add dateTime for yarn fix to tests

* fix incorrect merge conflict resolution

* fix betterer

* making changes for PR approval resolutions

* fix prettier issue

* fix prettier
2022-07-27 16:27:42 -04:00
Alyssa Bull 6ec9a7682d Various Panels: Add ability to toggle legend with keyboard shortcut (#52241) 2022-07-27 13:39:55 -06:00
Christopher Moyer d06ea6ea0e fixes links (#52899) 2022-07-27 14:06:35 -05:00
Ieva 0d324e931d Access Control: Allow org admins to invite new users (#52894)
* allow org admins to invite new users to Grafana

* doc updates

* fix test
2022-07-27 17:37:27 +01:00
Kristina 6ecc420534 Revert "Explore: Add Mixed Datasource (#51605)" (#52889)
This reverts commit e2258120e7.
2022-07-27 10:17:31 -05:00
renovate[bot] a4355bd6e4 Update Monthly patch updates (#52885)
* Update Monthly patch updates

* ignore updates to lezer-logql and @types/slate

* update lockfile

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-07-27 16:02:48 +01:00
Andres Martinez Gotor d66e178b66 Azure Monitor: Append /default to the resource URI if needed (#52884) 2022-07-27 16:49:51 +02:00
Joey Tawadrous dc0ef2913e Tempo: Set APM table default span kind (#52851)
* Add span kind server to query

* Updated test
2022-07-27 15:48:09 +01:00
Kristina e2258120e7 Explore: Add Mixed Datasource (#51605)
* Toggle on the mixed mode option

* Ensure switching to mixed gives existing query prev datasource

* WIP - Populate datasource when switching between mixed and not

* WIP - handle change from mixed

* Remove preimport filter, refine filter to work for queries

* WIP debugging datasource transition

* Ensure creating a new query gets target data source if switching with no matches between

* Add mixed datasource to rich history display

* Cleanup console logs, add relevant comments

* Add feature toggle for mixed datasource

* Fix Wrapper tests

* Fix tests!

* Fix test types and add feature tracking

* Remove unnecessary default, remove explore/mixed workarounds for D2E

* Move display text logic to mixed datasource file

* Add in the default query parameters to a generated empty query

* Condense some code

* Apply suggestions from code review

Co-authored-by: Giordano Ricci <me@giordanoricci.com>

Co-authored-by: Giordano Ricci <me@giordanoricci.com>
2022-07-27 09:40:59 -05:00
Ashley Harrison a98920f910 Storybook: add controls support + remove UseState from Collapse story (#52869)
* add controls support + remove UseState from Collapse story

* exclude className as well

* exclude className prop as well
2022-07-27 15:36:54 +01:00
Jo c2d3c90bc8 Auth: Implement Token URL JWT Auth (#52662)
* Auth: check of auth_token in url and resolve user if present

* check if auth_token is passed in url

* Auth: Pass auth_token for request if present in path

* no need to decode token in index

* temp

* use loadURLToken and set authorization header

* cache token in memory and strip it from url

* Use loadURLToken

* Keep token in url

* strip sensitive query strings from url used by context logger

* adapt login by url to jwt token

* add jwt iframe devenv

* add jwt iframe devenv instructions

* add access note

* add test for cleaning request

* ensure jwt token is not carried into handlers

* do not reshuffle queries, might be important

* add correct db dump location

* prefer set token instead of cached token

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

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2022-07-27 16:10:47 +02:00
Sofia Papagiannaki 7ba076de10 Chore: Move swagger definitions to the handlers (#52643) 2022-07-27 09:54:37 -04:00
Ursula Kallio c968b76279 Separate task with additional information (#52871) 2022-07-27 09:44:18 -04:00
Andres Martinez Gotor 7505cf418b Azure Monitor: Deprecate metricDefinition (#52793) 2022-07-27 15:26:32 +02:00
Timur Olzhabayev 976a91cb0a Fixing the relative url path (#52774) 2022-07-27 15:21:56 +02:00
Timur Olzhabayev 84930e2ef9 Adding rudderstack to our storybook (#52777) 2022-07-27 15:20:13 +02:00
Timur Olzhabayev 8ddf8ab6ee Updating plugin packaging documentation (#52744)
* Updating packaging documentation

* Adding link to zipinfo manpage

* Removing unx as codespell doesnt like it
2022-07-27 15:19:47 +02:00
renovate[bot] 8005357858 Update dependency lint-staged to v13 (#52873)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-27 14:16:08 +01:00
Taewoo K 8b6b82f239 PromQuery: Show exemplars in collapsed view (#52767)
* add Examplars: false in collapsed view

* assign defaut value - false to switch

* add 3 tests for 3 possible cases

Co-authored-by: Taewoo Kim <taewookim@Taewoos-MacBook-Pro.local>
2022-07-27 09:08:52 -04:00
Isabella Siu 542b4f2431 CloudWatch: returnData should default to true (#52759) 2022-07-27 08:45:59 -04:00
Carl Bergquist 7825ad6aa3 Instrumentation: Collect database connection stats (#52797)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2022-07-27 13:42:28 +02:00
Will Browne 6d066a7aa8 Plugins: Add validation for plugin manifest (#52787)
* add validation for plugin manifest

* no more semver checking

* undo go.mod changes

* undo go.mod changes

* only validate v2 fields where necessary

* remove manifest version field check
2022-07-27 12:56:52 +02:00
renovate[bot] 6e5bd934fd Update dependency html-loader to v4 (#52858)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-27 10:56:48 +01:00
renovate[bot] 23af7d7bb4 Update dependency jest-junit to v14 (#52859)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-27 10:41:59 +01:00
Zoltán Bedi 309965aaf0 Dev: Bump eslint sdk for vscode (#52852) 2022-07-27 11:22:05 +02:00
renovate[bot] 77a4443aa7 Update dependency @opentelemetry/semantic-conventions to v1.5.0 (#52856)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-27 09:58:03 +01:00
Ivana Huckova 3f681114e5 Loki: Show label options for unwrap operation (#52810)
* Loki: Show options for unwrap operation

* Add comment for check
2022-07-27 10:45:30 +02:00
renovate[bot] 33f67ed6e2 Update typescript-eslint monorepo to v5.31.0 (#52819)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-27 09:27:55 +01:00
renovate[bot] 290b2e1ed0 Update grafana monorepo to v0.4.0 (#52805)
* Update grafana monorepo to v0.4.0

* update mock

* actually mock...

* typescript is hard...

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-07-27 09:21:13 +01:00
Ashley Harrison 85e80d1d7b Don't make the whole row a drag handle, use css instead (#52795) 2022-07-27 09:18:16 +01:00
Giordano Ricci 9a06b00e92 Correlations: Add DeleteCorrelation HTTP API (#51801)
* Correlations: add DeleteCorrelation HTTP API

* fix error message copy

* add readonly check

* add source_uid in delete condition

* make path singular

* Revert "make path singular"

This reverts commit d15be89578e202e5cb64a3e964ee09521b72d87c.

* add tests

* fix lint errors

* fix lint errors

* change casing

* update spec

* Remove transaction

* change casing in param name in docs
2022-07-27 09:07:58 +01:00
Gábor Farkas 52989c2144 loki: remove unused code (#52435) 2022-07-27 06:11:09 +00:00
Giordano Ricci 4b2144fe40 Correlations: change casing of *UID properties (#52836)
* Correlations: change casing of *UID properties

* add link to correlations HTTP API
2022-07-27 07:01:46 +01:00
Ryan McKinley 0235fc136c Storage: allow public access to public files (#52849) 2022-07-26 20:37:35 -07:00
ying-jeanne 86283bb99e Chore: Rename dashboardUID to dashboardUIDs in search endpoint and up… (#52766)
* Chore: Rename dashboardUID to dashboardUIDs in search endpoint and update doc

* make it backward compatible
2022-07-26 22:28:14 -04:00
ying-jeanne 7da0a6d3ce Chore: Add dashboard UID as query parameter of Get annotation endpoint (#52764)
* Chore: Add dashboard uid as query parameter of Get annotation endpoint

* Update pkg/api/annotations.go

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>

* update the dashboarUID

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2022-07-26 21:52:34 -04:00
Adela Almasan a5410063c6 Canvas: Merge tree view and layer element list UX (#52701)
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2022-07-26 19:51:20 -04:00
Michael Mandrus e5d89ddb95 fix typo in SQL editor placeholders #52846 2022-07-26 19:23:47 -04:00
gjed 6968478d94 Docs: updated configuration description for auto_assign_org (#50180)
* Docs: updated configuration description for auto_assign_org

* Update docs/sources/setup-grafana/configure-grafana/_index.md

* Resolve prettier issues for CI

* Update docs/sources/setup-grafana/configure-grafana/_index.md

Remove trailing space

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>
Co-authored-by: Garrett Guillotte <garrett.guillotte@grafana.com>
Co-authored-by: Ursula Kallio <ursula.kallio@grafana.com>
2022-07-26 10:09:40 -07:00
ismail simsek 0a664faeeb Graphite: Introduce new query types in annotation editor (#52341)
* Fix comment lines

* Introduce graphite variable editor

* Render results differently based on queryType

* Add comments and fallback values

* Unit tests for different type of graphite queries

* Use metrics/expand endpoint to retrieve metric names
2022-07-26 18:30:23 +02:00
Gábor Farkas 7d78d3f8b2 CODEOWNERS: update for the observability-logs squad (#52792) 2022-07-26 15:51:15 +00:00
Andres Martinez Gotor d68f8d9577 Azure Monitor: fix bug in variable editor (#52804) 2022-07-26 17:42:43 +02:00
Adela Almasan 817837a532 Geomap: Support ability to color markers based on label value (#47476)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-07-26 10:26:29 -05:00
Ryan McKinley 5df6a95045 Transformations: Add standard deviation and variance reducers (#52769)
Co-authored-by: Selva <selvavm@hotmail.com>
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2022-07-26 11:25:35 -04:00
Gilles De Mey a1c6147374 Alerting: Group alert state history by labels and allow filtering (#52784) 2022-07-26 17:00:04 +02:00
Gabriel MABILLE f3cc54f7ef Chore: update latest.json to 9.0.5 (#52820) 2022-07-26 16:50:25 +02:00
renovate[bot] 21ba1469b5 Update linguijs monorepo to v3.14.0 (#52811)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-26 15:21:26 +01:00
Gilles De Mey aa8c9d86dd UI/Card: Fix card items always having pointer cursor (#52809) 2022-07-26 16:15:18 +02:00
Dimitris Sotirakis 12079a7285 Remove unused code (#52806) 2022-07-26 15:08:45 +01:00
Grot (@grafanabot) c20d96aaec ReleaseNotes: Updated changelog and release notes for 9.0.5 (#52813) 2022-07-26 16:04:54 +02:00
Yuriy Tseretyan a081764fd8 Alerting: Scheduler to use AlertRule (#52354)
* update GetAlertRulesForSchedulingQuery to have result AlertRule
* update fetcher utils and registry to support AlertRule
* alertRuleInfo to use alert rule instead of version
* update updateCh hanlder of ruleRoutine to just clean up the state. The updated rule will be provided at the next evaluation
* update evalCh handler of ruleRoutine to use rule from the message and clear state as well as update extra labels

* remove unused function in ruleRoutine
* remove unused model SchedulableAlertRule

* store rule version in ruleRoutine instead of rule
* do not call the sender if nothing to send
2022-07-26 09:40:06 -04:00
renovate[bot] 58d8d7c44d Update dependency webpack to v5.74.0 (#52799)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-26 14:36:20 +01:00
sam boyer 566d0a7148 coremodel: Fix hardcoded text and overly broad embedding (#52802)
* Replace hardcoded 'dashboard' references

* Only embed cue.mod/module.cue

* Add quotes
2022-07-26 09:14:07 -04:00
renovate[bot] 22374cfab8 Update dependency ts-node to v10.9.1 (#52798)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-26 13:55:55 +01:00
Torkel Ödegaard 6af5f71dda Dropdown: New dropdown component (#52684)
* Progress

* Example usage in application

* Add FocusScope

* REmove unused type

* simplify it by removing trigger property

* Use new Menu.Item way to access component
2022-07-26 14:19:30 +02:00
renovate[bot] 21dab47293 Update dependency selecto to v1.17.0 (#52794)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-26 12:36:59 +01:00
Ashley Harrison 4c9786ea18 add a note about starred dashboards in the navbar to the documentation (#52660) 2022-07-26 12:32:45 +01:00
brendamuir 8fa6489dd4 Docs: fix data source MSSQL link (#52796) 2022-07-26 13:31:29 +02:00
renovate[bot] 8c3eb2a965 Update dependency sass to v1.54.0 (#52791)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-26 12:19:02 +01:00
renovate[bot] 4d7e26abfd Update dependency rollup to v2.77.1 (#52786)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-26 11:33:24 +01:00
renovate[bot] c70641c593 Update dependency lru-cache to v7.13.1 (#52733)
* Update dependency lru-cache to v7.13.1

* update snapshot

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-07-26 11:21:57 +01:00
Carl Bergquist 732cc99480 instrumentation: add buckets to catch very slow requests (#51492)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2022-07-26 12:38:59 +03:00
renovate[bot] 1d7edb1c3a Update dependency react-select to v5.4.0 (#52763)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-26 10:19:23 +01:00
Torkel Ödegaard 284ec1d428 Profile: Fix nav tree link to notifications (#52685) 2022-07-26 10:11:40 +01:00
George Robinson 23fc5383d9 Docs: Update docs for images in notifications (#52721) 2022-07-26 10:09:48 +01:00
Gábor Farkas c74f9daba0 logs: better volume-color (#52711) 2022-07-26 10:50:48 +02:00
Ieva e947910910 Service accounts: update docs (#52734)
* update the docs

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

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

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2022-07-26 09:44:12 +01:00
Ieva b3a10202d4 Revert "Service accounts: Add service account to teams" (#52710)
* Revert "Service accounts: Add service account to teams (#51536)"

This reverts commit 0f919671e7.

* remove unneeded line

* fix test
2022-07-26 09:43:29 +01:00
Esteban Beltran 8f4d924531 Grafana/toolkit: Fix incorrect image and font generation for plugin builds (#52661) 2022-07-26 10:36:18 +02:00
Gabriel MABILLE c6340a8214 Dashboard and Folder permissions: Update docs to reflect reality (#52730)
* Folder permissions: Update docs to reflect reality
2022-07-26 09:07:37 +02:00
Laura Benz d429ec18a0 grafana/ui: convert sass to emotion (#52541)
* refactor: convert .elapsed-time

* refactor: elapsedTime styling not required

* refactor: logs-rows styling not defined, remove classname

* refactor: logs-meta-item__labels styling not defined, remove classname

* refactor: transfer .label-slider styling to its own element

* refactor: clean up .slider styling

* refactor: muted styling not defined, remove classname

* refactor: transfer .space-between styling to its own element + clean up

* refactor: remove icon
2022-07-26 08:31:40 +02:00
Ryan McKinley 238d761450 Geomap: refactor and cleanup structures (#52760)
Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
2022-07-25 20:12:20 -04:00
Simon Podlipsky 7eabd7c83a Chore: typos in MySQL/PostgreSQL ConfigurationEditor (#52735) 2022-07-25 23:58:52 +00:00
Ryan McKinley 19ef418edc Transforms: Add Join by label transformation (#52670) 2022-07-25 19:16:58 -04:00
ying-jeanne ac502e5013 Chore: add dashboarduid in the connection endpoint response (#52761)
* Chore: add dashboarduid in the connection endpoint response

* add uid of dashboard in the markdown
2022-07-25 18:55:28 -04:00
renovate[bot] 9df9b1b5c3 Update dependency ol to v6.15.1 (#52751)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-25 13:54:33 -07:00
Kristina 3ac5dfec42 Only reset keybindings on route change, not param change (#52746) 2022-07-25 14:21:24 -05:00
Kristina 0e13ee345d Explore: Change datasourceName usage to datasourceUID or datasourceRef where appropriate (#52479)
* First pass at using datasource UID when appropriate

* Fix tests

* be more lenient with lookup to accomodate different URLs

* Make test setup get mock work like real datasource get

* Fix the typing issue and remaining tests

* Fix PR feedback
2022-07-25 13:05:57 -05:00
Joey Tawadrous cb35729553 Traces: Align APM table names (#52591)
* Order col values according to rate names order

* Tests
2022-07-25 18:59:43 +01:00
Michael Mandrus 12c495bd74 fix typo, ensure kms key example uuid isn't a potentially real key (#52750) 2022-07-25 10:20:58 -07:00
Artur Wierzbicki 3cd43bd7ea Storage: externalize allow_unsanitized_svg_upload (#52703) 2022-07-25 21:11:17 +04:00
Robin Tönniges 9c3f9887fc Updated pushover in Supported notifiers (#52631)
Pushover supports images in notifications since v9.0.2
2022-07-25 17:01:21 +00:00
Michael Mandrus 72d9de3a0f Secrets: Implement Secret Plugin required flag and fatal crash on startup (#52552)
* add special handling on the plugin gathering side to check whether secrets manager plugins are enabled or not

* show disabled badge in front end if the plugin is not enabled

* Only show error in disabled badge hover if one is present (otherwise it shows "undefined")

* refactor to make use of fields already available in the DTO

* fix typo

* if there is no error returned for the plugin, just show 'disabled'

* fix typo

* Update public/app/features/plugins/admin/components/Badges/PluginDisabledBadge.tsx

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

* Update frontendsettings.go

add clarifying comment

* fix unit test

* rework task to use new frontend property combined with plugin type to determine if the plugin should be disabled

* Update helpers.test.ts

revert test change

* fix unit test

* show custom uninstall message if the plugin is a secrets manager

* bogus commit to trigger precommit

* undo commit

* run precommit manually

* add some consts

* refactor a bit to pull plugin error management up a level

* re-add code squashed in merge

* fix compile issues

* add code to set plugin error fatal flag after secret migration

* refactor to move plugin startup out of Should Check func

* re-add important check

* make plugin startup errors fatal the first time we set a secret on the plugin

* rename func to make intent clearler

* remove unnecessary duplicate code from plugin mig

* fix compile error

* fix more compile errors

* add some extra logging to secrets migration

* have remote_plugin secret service managed plugin error fatal flag directly

* add blank file for eventual unit tests

* fix linting issues

* changes from PR review

* quick bit of cleanup

* add comment explaining design decision

* move more common test helpers to file

* slightly update to first time Get secret call

* add unit tests

* remove override func from provider

* fix linting issues

* add test cleanup step

* add some comments about refactoring to hacky test function

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2022-07-25 12:37:47 -04:00
kay delaney 06012d51a9 Dashboard: Adjust styles for very long titles (#52452) 2022-07-25 17:03:37 +01:00
Artur Wierzbicki 33fc3a683b Datasources: add datasourceUids filter 2022-07-25 19:24:22 +04:00
Jo 4a12d0f236 Auditing: Add new options to docs (#52050)
* Auditing: Add new option docs

* add log all status codes

* change option to verbose

* denote status_codes

* Apply suggestions from code review

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

* add setup-grafana docs

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2022-07-25 11:15:04 -04:00
Torkel Ödegaard feaa037a19 Menu: Improvements to menu component (#52686) 2022-07-25 16:54:58 +02:00
renovate[bot] da5bc5bde7 Update dependency lerna to v5.2.0 (#52732)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-25 15:44:11 +01:00
Med Amine Amara 4d2f2b88b6 docs(alerting): removed a repetition of a word (#52376)
removed a repetition of a word in doc
2022-07-25 16:38:50 +02:00
renovate[bot] 2c78977e97 Update dependency date-fns to v2.29.1 (#52722)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-25 15:31:39 +01:00
Giordano Ricci 5ce4baf6f5 Correlations: Add CreateCorrelation HTTP API (#51630)
* Correlations: add migration

* Correlations: Add CreateCorrelation API

* Correlations: Make correlations work with provisioning

* Handle version changes

* Fix lining error

* lint fixes

* rebuild betterer results

* add a UID to each correlation

* Fix lint errors

* add docs

* better wording in API docs

* remove leftover comment

* handle ds updates

* Fix error message typo

* add bad data test

* make correlations a separate table

* skip readonly check when provisioning correlations

* delete stale correlations when datasources are deleted

* restore provisioned readonly ds

* publish deletion event with full data

* generate swagger and HTTP API docs

* apply source datasource permission to create correlation API

* Fix tests & lint errors

* ignore empty deletion events

* fix last lint errors

* fix more lint error

* Only publish deletion event if datasource was actually deleted

* delete DS provisioning deletes correlations, added & fixed tests

* Fix unmarshalling tests

* Fix linting errors

* Fix deltion event tests

* fix small linting error

* fix lint errors

* update betterer

* fix test

* make path singular

* Revert "make path singular"

This reverts commit 420c3d315e.

* add integration tests

* remove unneeded id from correlations table

* update spec

* update leftover references to CorrelationDTO

* fix tests

* cleanup tests

* fix lint error
2022-07-25 15:19:07 +01:00
Scott Lepper dbc2171401 fix dockerfile for oracle alpine image (#52667)
fix dockerfile for oracle alpine image
2022-07-25 10:12:22 -04:00
Ieva fc4fd47deb change managed permissions for service accounts (#52709) 2022-07-25 15:02:25 +01:00
Ivana Huckova 77421907b7 Loki: Add support for IP label and line filter in query builder (#52658)
* Add support for IP line filter

* Add support for IP label filter

* Updates for Explain mode

* Update test

* Remove invalid options in LabelFilterIpMatches
2022-07-25 15:16:04 +02:00
Chris Hodges bdcef92e35 Fix small typo in panel doc (#52568) 2022-07-25 13:04:29 +00:00
Ivana Huckova 9d960e8723 Docs: Fix query history documentation (#52610)
* Query history: Fix docs

* Update query history docs

* Update docs/sources/explore/query-management.md

* Update docs/sources/explore/query-management.md

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

* Trigger drone

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2022-07-25 15:00:56 +02:00
kay delaney c35c3abaa3 Chore: Bump typescript version to 4.7.4 (#52325)
* Chore: Bump typescript version to 4.7.4

* Bump related packages

* Revert eslint-plugin-react upgrade
2022-07-25 13:47:59 +01:00
renovate[bot] 4cd9fa3ff5 Update dependency core-js to v3.24.0 (#52708)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-25 13:45:02 +01:00
Josh Hunt 972105cc52 I18n: Wrap event-based modals with I18nProvider (#52720) 2022-07-25 08:44:11 -04:00
renovate[bot] 84a92bc5c8 Update dependency @visx/shape to v2.11.1 (#52707)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-25 13:41:43 +01:00
Levente Balogh a1c565dec9 Data Connections: Add data sources (#52436)
* feat: show data-sources under the data-connections page

* refactor: add a constant for data-sources routes

* refactor: add a context that holds the currently active data-sources routes

* refactor: use the data-sources routes constant wherever possible

* refactor: use the data-sources routes context wherever possible

* feat(data-connections): add edit and new pages

* feat(data-connections): set the the custom routes via the context provider

* fix(data-connections): set the active tab properly

We needed to update the routes to match with the ones on the backend ("data-sources" vs "datasources"),
and we also needed to check if it is the default tab, in which case we would like to highlight the Datasources tab.

* tests: fix tests for Data Connections page

* fix: address rebase issues

* tests: find button based on role and text

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

* fix: add missing closing ) paren in tests

* refactor: use implicit return types for components

* tests: change role from "button" to "link"

* refactor: stop using unnecessary wrapper components

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2022-07-25 14:29:21 +02:00
Ivana Huckova 53b8e528fc Loki: Add unwrap with conversion function to builder (#52639)
* Loki: Add unwrap with conversion operator to builder

* Update explain section

* Update test
2022-07-25 12:51:28 +02:00
Torkel Ödegaard 9d6994c565 ToolbarButton: Add back useful storybook story (#52683)
* ToolbarButton: Add back useful storybook story

* Remove duplicate bits
2022-07-25 12:46:07 +02:00
Shirley 7f73f65bcd CloudWatch: Refactor tests to assert struct instead of marshalled json (#52024)
* CloudWatch: Refactor tests to assert struct instead of marshalled json

* apply linter suggestion

* Move false next to average
2022-07-25 05:48:09 -04:00
renovate[bot] 4176b652a8 Update dependency @opentelemetry/semantic-conventions to v1.4.0 (#52663)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-25 10:15:11 +01:00
renovate[bot] fab0f9c6be Update dependency @types/ol-ext to v2.1.2 (#52691)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-25 10:13:37 +01:00
renovate[bot] 044d8315de Update dependency @testing-library/user-event to v14.3.0 (#52690)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-25 10:11:42 +01:00
Joey Tawadrous 4937105994 Tempo: Add context menu to edges (#52396)
* Edge links

* Update tests

* Update menu title

* Remove title

* Update duration linked query

* Update links

* Added test for getFieldConfig
2022-07-25 10:03:57 +01:00
Andres Martinez Gotor eacda83caf Azure Monitor: New template variable editor (#52594) 2022-07-25 09:32:27 +02:00
Artur Wierzbicki d9db155394 Storage: Mime type detection (#52512)
* Storage: implement mime type detection

* lint
2022-07-25 11:30:20 +04:00
Alex Khomenko 1e3135b18a ColorPickerInput: Allow returning empty color value (#52650)
* ColorPickerInput: Allow returning empty color value

* ColorPickerInput: Do not call onChange if the value didn't change
2022-07-25 10:01:19 +03:00
Torkel Ödegaard f9d8b68543 Slider: Fixes styling of marker dots (#52678) 2022-07-24 09:34:27 -07:00
Torkel Ödegaard 973be23908 FolderPage: Do not create browser history when adding slug to url (#52695) 2022-07-24 09:32:16 -07:00
Ilya Stoliar d0db3ab306 TimeZone: Remove political reference (#52689)
* Remove political reference

* Name adjustment

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

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-07-24 11:41:18 +02:00
Torkel Ödegaard be5e96f628 Timezone: Consistency in how we write time zone (#52679)
* Timezone: Consistency in how we write time zone

* Updated
2022-07-23 17:49:58 +02:00
Torkel Ödegaard b782d9aa12 GrafanaContext: Exploring a way to get rid of global scope singletons (#52128)
* Context start

* More progress on more generic react context for services

* Update

* Update Page test

* Fixing tests

* Moving to core app
2022-07-23 17:09:03 +02:00
Torkel Ödegaard 4eb0a8a98e Plugins: Fixes navigation between different plugin pages (#52571) 2022-07-23 13:38:14 +02:00
Ryan McKinley 2fa10dc903 TimeSeries: Support multiple timezones in x axis (#52424)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-07-22 22:18:27 -05:00
Artur Wierzbicki 17ea5f4f3e Search: Handle special datasource types (#52446) 2022-07-22 21:10:53 -04:00
Artur Wierzbicki bcfa4fabf6 Search: Allowed actions (#52529) 2022-07-22 17:42:43 -07:00
Carl Bergquist ce04a01ae9 devenv: removes old ab script (#52657)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2022-07-22 17:39:23 -07:00
matt abrams 667ae91323 Docs: Replace apt-key command with signed-by option (#44885)
* replace apt-key command with signed-by option

* add gpg command to meet debian best practices

* delete old file

* update filepath
2022-07-22 18:44:20 -05:00
Ashley Harrison 2b46138202 improve meta and story typings (#52659) 2022-07-22 17:19:16 +01:00
kay delaney 0c89743759 Variables: Optimize "timeRangeUpdated" path (#52047) 2022-07-22 16:10:10 +01:00
renovate[bot] 3c1a9293c3 Update dependency @microsoft/api-extractor-model to v7.22.1 (#52641)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-22 15:59:48 +01:00
Ivana Huckova 772b6396f5 Loki: Add hints for level-like labels (#52414)
* Loki: Add hint for level-like label

* Add test to addToQuery

* Add tests

* Update tests

* Update copy

* Get log position in metrics query and add test

* Update
2022-07-22 16:59:25 +02:00
Josh Hunt 9f81b3dcc6 I18n: Change locale format to IETF language tag (#52596)
* I18n: Change locale format to our agreed format

* fix test

* Build lingui messages files before ci tests
2022-07-22 10:50:00 -04:00
Josh Hunt 1ee21b81d1 GrafanaUI: Improve ClipboardButton story (#52656)
* GrafanaUI: Improve ClipboardButton story

* GrafanaUI: Improve ClipboardButton story
2022-07-22 15:23:08 +01:00
Joey Tawadrous 39f385d2cd Remove need to use lowercase in span name dropdown (#52645) 2022-07-22 14:34:46 +01:00
Dimitris Sotirakis f26c49ecc0 Remove build-storybook from release-branch mode for enterprise (#52654) 2022-07-22 08:29:29 -04:00
Ashley Harrison 64d30e37b2 add support for controls in DataSourceHttpSettings story (#52618) 2022-07-22 13:27:43 +01:00
eledobleefe 42e92665f3 Internationalisation: Translate the Share modal (#52457) 2022-07-22 13:01:57 +02:00
Konrad Lalik 0507b3564f Alerting: Fix alert panel instance-based rules filtering (#52583) 2022-07-22 12:52:56 +02:00
renovate[bot] b4c6efa07b Update dependency moment to v2.29.4 [SECURITY] (#51886)
* Update dependency moment to v2.29.4 [SECURITY]

* chore(moment): make sure nested moment deps resolve to moment@2.29.4

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2022-07-22 12:00:54 +02:00
Dimitris Sotirakis 6e6863f10a Remove condition - simplify code (#52637) 2022-07-22 12:23:08 +03:00
Konrad Lalik 8ce9f2c936 Alerting: Add subpath to the folder edit and permission url (#52399) 2022-07-22 11:20:28 +02:00
Will Browne 843ff932b7 Plugins: Add signature wildcard globbing for dedicated private plugin type (#52163)
* it's glob time

* add more tests

* fix warn log

* support new sig type
2022-07-22 10:48:16 +02:00
Ivan Ortega Alba 2ec01c8d08 Preferences: Use dashboardUID to set the home dashboard (#51919) 2022-07-22 10:44:22 +02:00
Alex Khomenko c7f8c2a7e1 LoginLayout: Remove hardcoded background-color (#52505) 2022-07-22 11:44:00 +03:00
Torkel Ödegaard 5b275ca3f5 TopNav: Support for deeper nesting in section nav (#52562) 2022-07-22 10:42:41 +02:00
Gabriel MABILLE 8d938175f5 Fix anonymous access (#52615) 2022-07-22 10:35:26 +02:00
Vardan Torosyan 47c9d461b3 Service accounts: Document service account managed permissions (#52628) 2022-07-22 10:35:14 +02:00
Vardan Torosyan 18867d6d78 Service account: Ensure that you can revert only service accounts which you can access (#52626)
* Service account: Ensure that you can revert only service accounts which you can access

* Remove prettier messup with docs

* Remove prettier messup with docs

* Prettier run
2022-07-22 10:35:01 +02:00
Vardan Torosyan 5d05d26e12 Service account: Redirect to the edit page after creation (#52623) 2022-07-22 09:54:24 +02:00
Gabriel MABILLE 5e5e8c0b04 Docs: Revoke access to App Plugins (#52542)
* Docs: Revoke access to App Plugins

* Describe role and permission

* Adding a 'Managing app plugins access' section to plugin management
2022-07-22 08:53:11 +02:00
Leon Sorokin d7b208ec58 TimeSeries: Add option for symmetrical y axes (align 0) (#52555) 2022-07-21 23:38:22 -05:00
Drew Slobodnjak bf8bb26f63 Canvas: Set element cursor to grab (#52503)
* Only display grab cursor when editing enabled

* Apply grabbing cursor while dragging an element
2022-07-21 13:17:25 -07:00
Drew Slobodnjak 3c2ef54e04 Geomap: Fix tooltip offset bug (#52627) 2022-07-21 13:16:05 -07:00
owensmallwood cf86c696e0 Public Dashboards: Adds template variable validation for pubdash on the backend (#52566)
Validates template variables for pubdash on the backend when saving a public dashboard
2022-07-21 13:56:20 -06:00
Torkel Ödegaard 9ef29bb5c3 TopNav: Keyboard shortcut to toggle topnav on or off (#52572)
* TopNav: Keyboard shortcut to google topnav on off

* gate it behind dev mode
2022-07-21 20:55:24 +02:00
Christopher Moyer 1974f166e0 removes unnecessary words in into (#52622) 2022-07-21 13:41:29 -05:00
Eric Leijonmarck fb24ff3081 Auth: Add prometheus metrics for case insensitive ids (#52162)
* rename file

* add promstats for authinfostore every 4h

* add mixed cased users

* cherry pick and cleanup

* fix: query login,email instead of count()

* FIX: mysql missing alias to subquery

* fix: query working on mysql, sqllite3, and pg
2022-07-21 18:11:35 +01:00
Vardan Torosyan 7251b8524f Service accounts: Update docs to mention about reverting token to API key (#52608)
* Service accounts: Update docs to mention about reverting token to API key

* Update docs/sources/administration/api-keys/_index.md
2022-07-21 18:56:41 +02:00
Vardan Torosyan f571c46495 Service accounts: Add a confirm modal for migration actions (#52604)
* Service accounts: Add a confirm modal for migration actions

* Handle the error case when migrating fails, reload page afterwards so that the tab disappears
2022-07-21 18:56:20 +02:00
Connor Lindsey 83c1756251 Tracing: Send tags, events, and references as raw json (#52245)
* Tracing: Send tags, events, and references as raw json

* Update tempo fixture
2022-07-21 10:00:47 -06:00
Ashley Harrison c68ae0b616 remove UseState from SpectrumPalette story (#52612) 2022-07-21 16:20:31 +01:00
Ashley Harrison 27542445ce Chore: remove UseState from ColorPicker story (#52611)
* remove UseState from ColorPicker story

* remove story meta type assertion
2022-07-21 16:15:55 +01:00
Ashley Harrison f25c609105 Convert MultiModeGraphTooltip test to RTL (#52595)
* Convert MultiModeGraphTooltip test to RTL

* don't export these styles

* use theme instead of hardcoded style values
2022-07-21 15:54:18 +01:00
Todd Treece b5d57c45e3 Plugins: Add support for HTTP logger (#46578) 2022-07-21 09:46:47 -04:00
Darren Janeczek 565430f297 Prometheus: Don't show errors from unsuccessful API checks like rules or exemplar checks (#52193)
The query inspector was experiencing some error pop-ups due
to errors encountered on metrics datasources configured with multiple
tenants.

e.g., team-a|team-b

This fix suppresses those errors so as to not mislead the user.
2022-07-21 15:45:02 +02:00
Andres Martinez Gotor 5644555833 Azure Monitor: Migrate template variables to new format (#52584) 2022-07-21 13:21:07 +02:00
brendamuir cf42365fdd Docs: minor corrections to prefix and naming (#52579) 2022-07-21 12:09:25 +01:00
gotjosh d762de7aa7 Revert "Alerting: Add support for images in Line alerts (#50703)" (#52593)
This reverts commit 0af09b8c57.
2022-07-21 06:57:57 -04:00
Josh Hunt 62a3f2ed32 Chore: Align on 'internationalization' for feature name (#52585)
* rename internationalization docs

* Move localisation.tsx to internationalization/index.tsx
2022-07-21 06:31:08 -04:00
Ivan Ortega Alba 3fbec39952 History: list, compare and restore versions using UID (#51989) 2022-07-21 11:52:36 +02:00
George Robinson 0af09b8c57 Alerting: Add support for images in Line alerts (#50703) 2022-07-21 11:43:06 +02:00
gotjosh b026f2bc5d Alerting: Allow the webhook notifier to support a custom Authorization header (#52515)
* Allow the webhook notifier to support a custom Authorization header

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

 It'll fail if you have values for both HTTP Basic Authentication and Authorization.
2022-07-21 10:25:58 +01:00
Sven Grossmann b1f355fddc Changelog: Removed falsely added bugfix (#52580) 2022-07-21 10:19:12 +02:00
Michael Mandrus 530135c403 Documentation: Create documentation around AWS Secrets Manager plugin (#52181)
* first draft of secrets manager documentation

* some minor refinements

* Update docs/sources/enterprise/aws-secrets-plugin.md

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

* Update docs/sources/enterprise/aws-secrets-plugin.md

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>

* Update docs/sources/enterprise/aws-secrets-plugin.md

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>

* Update docs/sources/enterprise/aws-secrets-plugin.md

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>

* Update docs/sources/enterprise/aws-secrets-plugin.md

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>

* Update docs/sources/enterprise/aws-secrets-plugin.md

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>

* Update docs/sources/enterprise/aws-secrets-plugin.md

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>

* Update docs/sources/enterprise/aws-secrets-plugin.md

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

* Update docs/sources/enterprise/aws-secrets-plugin.md

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

* Update docs/sources/enterprise/aws-secrets-plugin.md

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>

* Update docs/sources/enterprise/aws-secrets-plugin.md

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>

* Update docs/sources/enterprise/aws-secrets-plugin.md

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>

* Update docs/sources/enterprise/aws-secrets-plugin.md

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>

* Update docs/sources/enterprise/aws-secrets-plugin.md

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>

* Update docs/sources/enterprise/aws-secrets-plugin.md

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>

* Update docs/sources/enterprise/aws-secrets-plugin.md

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>

* Update docs/sources/enterprise/aws-secrets-plugin.md

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>

* Update docs/sources/enterprise/aws-secrets-plugin.md

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>

* Update docs/sources/enterprise/aws-secrets-plugin.md

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>

* a few changes from the review

* more changes based on review

* add menuTitle

* final round of changes based on feedback

* final cleanup before new review

* add sample config for clarity

* Apply suggestions from code review

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

* add feature to other enterprise page

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2022-07-20 15:02:22 -04:00
Ieva f9ef7cac11 allow setting team managed permissions for service accounts (#52467) 2022-07-20 20:27:41 +02:00
Jean-Philippe Quéméner ba9c18d9c3 Alerting: use static channel configuration to determinate secure fields (#52527)
* Alerting: use static channel configuration to determinate secure fields

* move to channels package

* introduce channel_config package to fix cyclic import

* add missing changes

* compare type to type
2022-07-20 19:58:36 +02:00
Christopher Moyer 7d90f2f1a3 Docs: adjusts heading and rewords the intro to active voice (#52545)
* adjusts heading and makes intro active voice

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

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

Co-authored-by: Ursula Kallio <ursula.kallio@grafana.com>
2022-07-20 12:33:05 -05:00
Ieva f3baac581d Chore: update latest.json to 9.0.4 (#52550) 2022-07-20 13:21:59 -04:00
Grot (@grafanabot) 240bb8928d ReleaseNotes: Updated changelog and release notes for 9.0.4 (#52548) 2022-07-20 18:03:00 +01:00
Scott Lepper de956fc3d8 Core code editor/builder components (#52421)
* migrate experimental to core grafana - update refs

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2022-07-20 12:50:08 -04:00
Drew Slobodnjak feb9960f96 Canvas: Add constraint selection icons (#52504) 2022-07-20 09:49:34 -07:00
Sarah Zinger 355489d9b4 Upgrade grafana-aws-sdk from core, and remove it from @grafana/ui (#52420) 2022-07-20 12:33:57 -04:00
Joao Silva e3567c21d1 Internationalisation: Translates RefreshPicker and the dashboard toolbar (#51827) 2022-07-20 17:28:32 +01:00
Gabriel MABILLE 60da9eaac5 Docs: Fix access-control links (#52537) 2022-07-20 18:01:05 +02:00
Torkel Ödegaard 77f7e8dafc PageLayouts: Updates dashboard section routes with navId (#52175)
* First stab at new page layouts behind feature toggle

* Simplifying PageHeader

* Progress on a new model that can more easily support new and old page layouts

* Progress

* rename folder

* Progress

* Minor change

* fixes

* Fixing tests

* Make breadcrumbs work

* Add tests for old Page component

* Adding tests for new Page component and behavior

* fixing page header test

* Fixed test

* Moving user profile routes to navId

* PageLayouts: Updates dashboards routes with navId

* added missing navId

* AppChrome outside route

* Renaming folder

* Minor fix

* Updated

* Fixing StoragePage

* Updated

* Updating translation ids

* Updated snapshot

* update nav translation ids (yes this is confusing)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Co-authored-by: joshhunt <josh@trtr.co>
2022-07-20 17:26:52 +02:00
Jean-Philippe Quéméner 320262c3db Alerting: Cleanup the alert_configuration table on write (#51497) 2022-07-20 16:54:18 +02:00
Jean-Philippe Quéméner 50ae42130b Alerting: take datasources as external alertmanagers into consideration (#52534) 2022-07-20 16:50:49 +02:00
Jo 5c4aa4a7ac OAuth: Allow role mapping from GitHub and GitLab groups (#52407)
* OAuth: Add extract role support to github

OAuth: correct github errors

Oauth: add github tests

Oauth: Allow mapping via group memberships

Oauth: Add markdown instructions to the new mappers

fix lint

* Apply suggestions from code review

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

* Apply suggestions from code review

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
Co-authored-by: Vardan Torosyan <vardants@gmail.com>
2022-07-20 10:32:04 -04:00
Torkel Ödegaard 01d561224c TopNav: Updates to create service account page and invite user (#52480)
* Simplify logic to support both navs

* Added new file
2022-07-20 16:02:25 +02:00
Gábor Farkas b42ac8a211 github: add issues to logs-squad based on labels (#52533) 2022-07-20 10:01:02 -04:00
Ieva becd895244 display dashboard settings to users who are allowed to edit the dashboard (#52532) 2022-07-20 13:53:36 +00:00
Dimitris Sotirakis 3b6cef9dfa CI: Refactor/Reorder *.star files (#52384)
* Refactor test pipelines

* Move pr, main and release starlark files under scripts/drone/event

* Move cron.star to scripts/drone/events

* Further unused code removal

* Introducing build.star

* Extract verify_drone.star

* Extract windows.star

* Extract publish.star

* Remove unused code

* Fix formatting in main.star
2022-07-20 09:43:19 -04:00
Adam Simpson c8be92e827 CloudMonitoring: add tests around experimental UI (#52487)
* CloudMonitoring: add tests around experimental UI

I also reworked the annotation query editor UI a little bit to bring it
inline with how AzureMonitor's query editor looks.

Closes #44431
2022-07-20 13:40:55 +00:00
Sofia Papagiannaki f7c5eceb21 Chore: Update to the latest grafana-plugin-sdk-go and more swagger fixes (#52445)
* Fix get legacy alert response

* Swagger: Fix get folder by UID response

* Fix conflicting swagger model Alert

Reanme legacy alerting swagger model to LegacyAlert to differentiate it
from the prometheus Alert

* Bump grafana-plugin-sdk-go

* Fix get folder response

* Use go-swagger command for merging the specifications and remove merge_specs script
2022-07-20 16:09:42 +03:00
idafurjes d3d8fdd878 Chore: Move user errors to user service (#52460)
* Move user not found err to user service

* User ErrCaseInsensitive from user pkg

* User ErrUserAlreadyExists from user pkg

* User ErrLastGrafanaAdmin from user pkg

* Remove errors from model
2022-07-20 14:50:06 +02:00
Emil Tullstedt 78f26a079c Chore: Upgrade to Go version 1.17.12 (#52523) 2022-07-20 14:27:44 +02:00
Dominik Prokop 98d41f0bf8 Table: Fix type safety (#52525) 2022-07-20 05:26:04 -07:00
Nathan Marrs 813f18b990 Canvas: Fix selecto box offset placement #52489 2022-07-20 04:28:02 -07:00
Agnès Toulet 66f941adb8 RBAC: Add RBAC for data source insights (#51496) 2022-07-20 12:54:26 +02:00
Dimitris Sotirakis 47678cd087 CI; Update Dockerfile for grafana/grafana-ci-deploy container (#52516)
* Use python 3.7 for gcloud

* Update comment for reference

* Update image version

* Update gcloud components
2022-07-20 06:34:09 -04:00
Sven Grossmann 6cab909132 Loki: Fix show context not working in some occasions (#52458)
* added missing `languageProvider.start` call

* moved `languageProvider.start`
2022-07-20 12:28:11 +02:00
Ezequiel Victorero 0633840777 GrafanaUI: Add success state to ClipboardButton (#52069)
* User Experience: apply the same pattern feedback for all copy to clipboard buttons

* add copy icon to all ClipboardButton use cases

* Change primary color for copy to clipboard in create token

* Add success button variant

* Remove copy confirmation from TableCellInspectModal because it's in the base component now

* Design tweaks to copy confirmation

 - Only change the icon to tick to avoid the button changing size
 - Change button to success green
 - Only show copy confirmation state for 2 seconds

* revert TabelCellInspectModal text button back

* revert accidental change to ShareLink

Co-authored-by: joshhunt <josh@trtr.co>
2022-07-20 10:33:46 +01:00
Ieva ba76be174f Access control: Fix org user removal for OSS users (#52473)
* allow setting team managed permissions for service accounts

* Revert "allow setting team managed permissions for service accounts"

This reverts commit 7598626397.

* fix org user removal for OSS

* remove comment
2022-07-20 10:18:41 +01:00
Andres Martinez Gotor 2538fca53a Azure Monitor: Add support for Metric Names variables (#52322)
* Azure Monitor: Add support for Metric Names variables

* Azure Monitor: Add support for Workspaces variables (#52323)
2022-07-20 11:04:01 +02:00
Levente Balogh d6d49d8ba3 DataSources: refactor datasource pages to be reusable (#51874)
* refactor: move utility functions out of the redux actions

* refactor: move password handlers to the feature root

* refactor: move API related functions to an api.ts

* refactor: move components under a /components folder

* refactor: move page containers under a /pages folder and extract components

* refactor: update mocks to be easier to reuse

* refactor: move tests into a state/tests/ subfolder

* refactor: expose 'initialState' for plugins

* refactor: move generic types to the root folder of the feature

* refactor: import path fixe

* refactor: update import paths for app routes

* chore: update betterer

* refactor: fix type errors due to changed mock functions

* chore: fix mocking context_srv in tests

* refactor: udpate imports to be more concise

* fix: update failing test because of mocks

* refactor: use the new `navId` prop where we can

* fix: use UID instead ID in datasource edit links

* fix:clean up Redux state when unmounting the edit page

* refactor: use `uid` instead of `id`

* refactor: always fetch the plugin details when editing a datasource

The deleted lines could provide performance benefits, although they also make the
implementation more prone to errors. (Mostly because we are storing the information
about the currently loaded plugin in a single field, and it was not validating if it
is for the latest one).

We are planning to introduce some kind of caching, but first we would like to clean up
the underlying state a bit (plugins & datasources.

* fix: add missing dispatch() wrapper for update datasource callback

* refactor: prefer using absolute import paths

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

* fix: ESLINT import order issue

* refactor: put test files next to their files

* refactor: use implicit return types for components

* fix: remove caching from datasource fetching

I have introduced a cache to only fetch data-sources once, however as we
are missing a good logic for updating the instances in the Redux store
when they change (create, update, delete), this approach is not keeping the UI in sync.
Due to this reason I have removed the caching for now, and will reintroduce it once we have a
more robust client-side state logic.

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-07-20 09:25:09 +02:00
Torkel Ödegaard 9f4683b3d0 Dashboard: Fix iteration property change triggering unsaved changes warning (#51272) 2022-07-20 03:41:54 +02:00
owensmallwood 3bc13e2335 Public Dashboards: Add Public Tag to Dashboard Title (#52351)
Adds Public tag to dashboard title when it has an enabled public dashboard
2022-07-19 17:44:41 -06:00
Michael Mandrus acd85314b3 Secrets: Add logging to track secrets migration (#52481)
* add logging to track migration

* fix lint problem
2022-07-19 16:36:51 -04:00
owensmallwood 20907d0635 Adds documentation for public dashboards under the dashboards section. (#52126)
Adds documentation for public dashboards
2022-07-19 13:19:40 -06:00
Usman Ahmad a8ddea0d35 Update upgrade-grafana.md (#52406)
fixed the broken link for the release notes
2022-07-19 14:14:56 -05:00
Torkel Ödegaard b29045b57b FolderPage: Improve folder page to work with new nav breadcrumbs and modify Dashboard page show path based breadcrumbs" (#52428)
* FolderPage: Progress on folder page navigation

* Dashboard to adapt breadcrumbs when opening dashboard from file storage

* add warning when topnav is not enabled

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-07-19 20:41:27 +02:00
Yuriy Tseretyan 79d92aa03e Alerting: Rename sender.Sender to sender.ExternalAlertmanagers (#52463) 2022-07-19 14:04:48 -04:00
Isabella Siu 146c90d59e CloudWatch: fix log explorer context (#52118) 2022-07-19 13:59:30 -04:00
lean.dev e1785f4eb4 Secret migration from Sql KV Store to Secret Plugin (#52191)
* Created PluginSecretMigrationService to be able to migrate from the secrets table from the database to the secret plugin. Added migration which takes all the secrets at the sql store and stores it in the plugin. Then deletes all the secrets from the sql
* Added secretsKVStoreSQL.GetAll() method to return all the secrets at the sql table
* Renaming kvstore_test.go as sql_test.go, adding GetAll test case. Fixing decryption of keys
2022-07-19 14:42:23 -03:00
Adela Almasan b742e80930 Tree navigation in inline editor (#52427) 2022-07-19 12:37:37 -05:00
Torkel Ödegaard dfce454eca StyleGuide: Update frontend style guide (#52471)
We should not explicitly type the return type for React functional components.
2022-07-19 19:12:11 +02:00
George Robinson 094dfd0d4d Alerting: Fix Slack push notifications (#52391)
This commit fixes push notifications for Slack which used to show "This content cannot be displayed". The text field is shown in both the message and the push notification.
2022-07-19 17:42:24 +01:00
Ivana Huckova c087198b1b Loki: Fix adding of multiple label filters when parser (#52335)
* Loki: Fix adding multiple filters

* Update logic in sorting
2022-07-19 18:08:55 +02:00
Alexander Weaver 39d7fdbbbc Alerting: Preserve new-lines from custom email templates in rendered email (#52253)
* Add line break, regenerate, and fix

* Left-align custom text in addition to preserving newlines
2022-07-19 11:05:50 -05:00
Torkel Ödegaard 16f813fc04 Scene: Fixing state issue with useState when SceneObject instance changes (#52372)
* ScenePanelRepeater: Fixes refreshes temporarily by setting key to guid

* Fixing issue with old state being returned by useState when the scene object instance changed (with same react key)
2022-07-19 17:47:59 +02:00
Torkel Ödegaard 8d92417a16 Scenes: Improve typing of scene state to avoid type guards and casting (#52422)
* Trying to get rid of type guard but failing

* Improve typing of scene object state

* Fixed wrongly renamed event

* Tweaks
2022-07-19 17:46:49 +02:00
Torkel Ödegaard 6483914815 ServiceAccounts: Updates the service accounts list page to look good in new top nav design (#52425) 2022-07-19 17:46:04 +02:00
kay delaney 0142c8ccd1 Dashboard Links: Fix styles for very long dashboard titles (#52443) 2022-07-19 16:15:59 +01:00
Ryan McKinley 3bdec4d138 Storage: remove orgId from sql config (#52426) 2022-07-19 08:13:26 -07:00
Dimitris Sotirakis 529289268b Docker: Install git in grafana/grafana-ci-deploy image (#52466)
* Install git in grafana/grafana-ci-deploy image

* Bump grafana/grafana-ci-deploy version
2022-07-19 11:04:16 -04:00
Ezequiel Victorero e0a58300ac Public Dashboards: count public dashboards view requests (#52419) 2022-07-19 11:50:37 -03:00
Artur Wierzbicki 0300b1c674 Storage: branding access (#52412)
* Storage: add special users for system branding access

* Storage: explicit global org id

* Storage: initialize org storages with global org id

* Storage: add comments

* Storage: simplify - use orgId: 1 for systembranding
2022-07-19 18:47:11 +04:00
Agnès Toulet 2b7fe7251c Docs: Update query caching support (#50706)
* Docs: Update query caching support

* Update query-caching.md
2022-07-19 16:23:44 +02:00
idafurjes c061b66d5f Chore: Split delete user method (#52216)
* Remove user from preferences, stars, orguser, team member

* Fix lint

* Add Delete user from org and dashboard acl

* Delete user from user auth

* Add DeleteUser to quota

* Add test files and adjust user auth store

* Rename package in wire for user auth

* Import Quota Service interface in other services

* do the same in tests

* fix lint tests

* Fix tests

* Add some tests

* Rename InsertUser and DeleteUser to InsertOrgUser and DeleteOrgUser

* Rename DeleteUser to DeleteByUser in quota

* changing a method name in few additional places

* Fix in other places

* Fix lint

* Fix tests

* Chore: Split Delete User method

* Add fakes for userauth

* Add mock for access control Delete User permossion, use interface

* Use interface for ream guardian

* Add simple fake for dashboard acl

* Add go routines, clean up, use interfaces

* fix lint

* Update pkg/services/user/userimpl/user_test.go

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>

* Update pkg/services/user/userimpl/user_test.go

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>

* Update pkg/services/user/userimpl/user_test.go

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>

* Add wrapper for not service account error

* fix indentation

* Use fmt for error wrapper

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2022-07-19 16:01:05 +02:00
Ieva 39025bb4cd add logs to debug failing migration (#52447) 2022-07-19 09:34:49 -04:00
Yuriy Tseretyan 054fe54b03 Alerting: Split Scheduler and AlertRouter tests (#52416)
* move fake FakeExternalAlertmanager to sender package
* move tests from scheduler to router
* update alerts router to have all fields private
* update scheduler tests to use sender mock
2022-07-19 09:32:54 -04:00
Leo c60487fdbf Plugins: Convert BarGaugePanel to RTL (#52423)
* Plugins: Convert bargaugepanel tests to RTL

* Chore: Improved test methods used in BarGaugePanel
2022-07-19 14:17:22 +02:00
Dominik Prokop 49311e1cfb Legend: Right align calculation values (#52400) 2022-07-19 14:07:27 +02:00
Dimitris Sotirakis e0d1af1867 Remove volumes from build-e2e pipeline on main (#52386) 2022-07-19 14:38:43 +03:00
Sofia Papagiannaki e6b9ded949 API: Add service account routes to the swagger (#52398)
* API: Add service account routes to the swagger
2022-07-19 12:52:51 +03:00
Joe Blubaugh a0f96ed4e1 SQLStore: Support Upserting multiple rows. (#52228)
This will be used to reduce write load when the alerting system writes a
large number of events.
2022-07-19 16:42:48 +08:00
Peter Holmberg e74c2390de Alerting: Prevent evaluation if "for" shorter than "evaluate" (#51797)
Co-authored-by: Armand Grillet <armand.grillet@outlook.com>
2022-07-19 10:30:26 +02:00
Kat Yang ab8ad1bb42 Chore: Add new go test commands for unit, integration, and pro tests to makefile (#51202)
* Chore: Add new go test commands for unit, integration tests to makefile

* Add test-go-unit and test-go-integration targets as dependencies of the test-go target

* Add makefile target for mysql & postgres backends

* Set GRAFANA_TEST_DB variable for the xargs postgres command

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>

* Set GRAFANA_TEST_DB variable for the xargs mysql command

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>

* Use postgres_tests as source

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>

* Set postgres_tests as source

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>

* Clean test cache before postgres and mysql integration test makefile commands

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2022-07-19 11:04:38 +03:00
Gabriel MABILLE 2617a25fb5 Fix: Use ac.parameter for the scope protecting plugins routes (#52389)
* Fix: Use parameter for the scope protecting /a routes

* Fix: Use parameter for the scope protecting /plugins/resources routes
2022-07-19 09:30:54 +02:00
Joey Tawadrous 11b743ecd9 Traces: Remove serviceMap feature flag (#52375)
* Remove serviceMap feature flag

* Remove import

* Add serviceMap to queryTypeOptions
2022-07-19 08:00:58 +01:00
Gábor Farkas 46eec85b1a loki: better handle an empty-response (#52397) 2022-07-19 08:13:38 +02:00
Alex Khomenko ba543343c4 Grafana/UI: Add ColorPickerInput component (#52222)
* ColorPickerInput: Setup componnet

* ColorPickerInput: Add onChange callback

* ColorPickerInput: Conver ColorInput to functional component

* ColorPickerInput: Extend Input props

* ColorPickerInput: Upate value prop

* ColorPickerInput: Allow customising color format for onChange

* ColorPickerInput: Add docs

* ColorPickerInput: Update docs

* ColorPickerInput: Memoize debounced callback

* ColorPickerInput: Add tests and use theme for spacing

* Apply styles from SpectrumPalette

* Cleanup
2022-07-19 01:09:09 -04:00
sunb3am 9a72ebcd99 Docs: Updated links to landing pages for the notifiers (#51875)
* Documentation: Updated links to landing pages for the respective notifiers in alerting 

Updated links for listed notifiers to correctly redirect to their landing pages

* Ran prettier
2022-07-19 04:13:51 +02:00
Leon Sorokin a5a8052916 TimeSeries: Add option to match axis color to series color (#51437) 2022-07-18 17:50:07 -05:00
Adela Almasan 524948515c Storage: Upload button (#52346) 2022-07-18 16:09:24 -05:00
Torkel Ödegaard 4aae9d1567 Scene: Support for collapsable rows via a nested scene object (#52367)
* initial row test

* Updated

* Row is more of a nested collapsable scene

* Updated

* Added test for nested scene

* Added test for nested scene
2022-07-18 20:26:10 +02:00
Ryan McKinley 824f12a993 Storage: Remove storageLocalUpload flag (#52413) 2022-07-18 10:44:42 -07:00
Artur Wierzbicki 841e5ae8ad Storage: system/branding storage (#51987)
* Storage: add `system` branding storage root, expose `system/branding` subfolder

* Storage: merge
2022-07-18 19:37:22 +04:00
George Robinson e7feff6d99 Alerting: Move debug log line to where alert rules are updated (#52318) 2022-07-18 11:27:06 -04:00
Torkel Ödegaard 38ec4c0a09 UnsavedChanges: Should not be triggered when only going into panel edit without changing anything (#52363) 2022-07-18 17:24:21 +02:00
Torkel Ödegaard 1bedf33e3d ServiceAccount: New service account modal to follow design system (#52373)
* ServiceAccount: New service account modal to follow design system

* Fixing spacing and removing double Field label

* Fixing imports

* Update comment
2022-07-18 17:23:49 +02:00
Ryan McKinley b3b64e24c2 Export: include section count in status updates (#52368) 2022-07-18 11:03:08 -04:00
Michael Mandrus 278f5b131b add secretsmanager type to plugin.json (#52408) 2022-07-18 11:02:37 -04:00
Joey Tawadrous 6c89bf53f2 Tempo: Tempo/Prometheus links select ds in new tab (cmd + click) (#52319)
* Set tempo/prom ds name when clicking trace links

* Updated tests

* Removed vars
2022-07-18 15:36:16 +01:00
Leo 7b7b9ff4a7 ValueMappings: Make value mapping row focusable (#52337)
* Dimensions: Move drag handle to draggable container

* Accessibility: Added unique ids to preserve focus when dragging items using keyboard
2022-07-18 16:19:32 +02:00
Artur Wierzbicki 9afe845d5c Sanitization: fix log message (#52401) 2022-07-18 06:46:57 -07:00
idafurjes f5cace8bbd Rename Acl to ACL (#52342)
* Rename Acl to ACL

* Fix yaml files

* Add xorm tags and fix test
2022-07-18 15:14:58 +02:00
Ivana Huckova 8ff152f98f ModifyQuery: Improve typing for modifyQuery and query hints (#52326)
* ModifyQuery: Improve typing

* Elasticsearch: Added `modifyQuery` method to add filters in Explore (#52313)

* fixed elasticsearch `QueryFixAction` type

Co-authored-by: Sven Grossmann <Svennergr@gmail.com>
2022-07-18 14:13:34 +02:00
Artur Wierzbicki b2736ac1fe Storage: limit the number of uploaded files (#50796)
* #50608: sql file upload quotas

* rename `files_in_sql` to `file`

* merge conflict
2022-07-18 15:24:39 +04:00
Artur Wierzbicki 67ea2da57e Storage: fix svg upload (#52395) 2022-07-18 06:36:54 -04:00
brendamuir 076851313d Docs: fixes warning for enterprise customers (#52385)
* Docs: fixes data source links

* fixes unified alerting redirect

* Docs: fixes enterprise customer warning
2022-07-18 12:09:29 +02:00
Sofia Papagiannaki fb379ae436 Chore: Introduce playlist service (#52252)
* Store: Introduce playlist service

* Integrate playlist service

* Update swagger
2022-07-18 05:26:35 -04:00
eledobleefe 332639ce43 PanelEdit: Hide multi-/all-select datasource variables in datasource picker (#52142) 2022-07-18 11:02:18 +02:00
Joey Tawadrous 3617eac5f3 Traces: Add more template variables in Tempo & Zipkin (#52306)
* Add support for more vars in Tempo

* Tests for Tempo vars

* Tempo ds vars

* Tempo ds vars test

* Zipkin template var

* Zipkin tests
2022-07-18 08:08:35 +01:00
Joe Blubaugh 689ae96a0e Alerting: Refactor API types generation with different names. (#51785)
This changes the API codegen template (controller-api.mustache) to simplify some names. When this package was created, most APIs "forked" to either a Grafana backend implementation or a "Lotex" remote implementation. As we have added APIs it's no longer the case. Provisioning, configuration, and testing APIs do not fork, and we are likely to add additional APIs that don't fork.

This change replaces {{classname}}ForkingService with {{classname}} for interface names, and names the concrete implementation {{classname}}Handler. It changes the implied implementation of a route handler from fork{{nickname}} to handle{{nickname}}. So PrometheusApiForkingService becomes PrometheusApi, ForkedPrometheusApi becomes PrometheusApiHandler and forkRouteGetGrafanaAlertStatuses becomes handleRouteGetGrafanaAlertStatuses

It also renames some files - APIs that do no forking go from forked_{{name}}.go to {{name}}.go and APIs that still fork go from forked_{{name}}.go to forking_{{name}}.go to capture the idea that those files a "doing forking" rather than "are a fork of something."

Signed-off-by: Joe Blubaugh <joe.blubaugh@grafana.com>
2022-07-18 03:08:08 -04:00
Joan López de la Franca Beltran 9abe9fa702 Encryption: Expose secrets migrations through HTTP API (#51707)
* Encryption: Move secrets migrations into secrets.Migrator

* Encryption: Refactor secrets.Service initialization

* Encryption: Add support to run secrets migrations even when EE is disabled

* Encryption: Expose secrets migrations through HTTP API

* Update docs

* Fix docs links

* Some adjustments to makes errors explicit through HTTP response
2022-07-18 08:57:58 +02:00
Alexander Gee a71b4f13e4 Dashboard: Add guidance about reload required after updating shared cursor/tooltip setting. (#52280)
* Dashboard: Add guidance about reloaded needed for shared cursor/tooltip

* Dashboard: Added todo note for author of (#46581) impl

* Dashboard: prettier errors fixed for new text
2022-07-18 08:32:52 +02:00
Artur Wierzbicki 6188526e1d Storage: use static access rules (#52334)
* Storage: use static access rules

* Storage: use static access rules

* Storage: add tests
2022-07-17 22:41:54 +04:00
Torkel Ödegaard e6a5b9ee7f TopNav: Store collapse state for chrome top search bar in local storage (#52300) 2022-07-16 17:44:16 +02:00
Adela Almasan 57249aa408 Canvas: Overlapping elements bugfix (#52343) 2022-07-15 17:03:03 -05:00
Christopher Moyer 433bb735de Docs: refactors configure standard options (#52278)
* refactors configure standard options

* makes prettier
2022-07-15 17:02:16 -05:00
Christopher Moyer 1834973cc6 Docs: removes old whats new docs (#52188)
* removes old whats new docs

* adds v7 whats new back in
2022-07-15 16:28:02 -05:00
Scott Lepper 53933972b6 mysql query editor - angular to react (#50343)
mysql conversion to react

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2022-07-15 16:49:24 -04:00
Yuriy Tseretyan 6e1e4a4215 Alerting: Update DbStore to use disabled orgs from the config (#52156)
* update DbStore to use UnifiedAlerting settings
* remove disabled orgs from scheduler and use config in db store instead
* remove test
2022-07-15 14:13:30 -04:00
Zoltán Bedi 35d98104ad MSSQL: Migrate to React (#51765)
* Fix: sql plugins feature

* SQLDS: Use builtin annotation editor

Plus strict rule fixes

* MSSQL: Migrate query editor to React

* Make code editor work

* Make SQLOptions and SQLQuery in SQLDatasource and in Editor generic

* MSSQL: Fix ts issues

* Fix SQLDatasource refID

* Remove comment

* Revert "Make SQLOptions and SQLQuery in SQLDatasource and in Editor generic"

This reverts commit 1d15b4061a.

* Fix ts issues without generic

* TS
2022-07-15 19:51:28 +02:00
Joan López de la Franca Beltran 7b40322bbe Encryption: Add support to run secrets migrations even when EE is disabled (#51705)
* Encryption: Move secrets migrations into secrets.Migrator

* Encryption: Refactor secrets.Service initialization

* Encryption: Add support to run secrets migrations even when EE is disabled

* Init EE providers on-demand (only when needed)

* Add multiple tests + some adjustments

* Apply feedback
2022-07-15 18:33:34 +02:00
Yuriy Tseretyan a7509ba18b Alerting: rule evaluation loop's update channel to provide version (#52170)
* handler for update message in rule evaluation routine ignores the message if its version greater or equal.
* replace messages to update the channel if it is not empty
2022-07-15 12:32:52 -04:00
idafurjes 17ec9cac83 Add delete user from other services/stores (#51912)
* Remove user from preferences, stars, orguser, team member

* Fix lint

* Add Delete user from org and dashboard acl

* Delete user from user auth

* Add DeleteUser to quota

* Add test files and adjust user auth store

* Rename package in wire for user auth

* Import Quota Service interface in other services

* do the same in tests

* fix lint tests

* Fix tests

* Add some tests

* Rename InsertUser and DeleteUser to InsertOrgUser and DeleteOrgUser

* Rename DeleteUser to DeleteByUser in quota

* changing a method name in few additional places

* Fix in other places

* Fix lint

* Fix tests

* Rename DeleteOrgUser to DeleteUserFromAll

* Update pkg/services/org/orgimpl/org_test.go

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

* Update pkg/services/preference/prefimpl/inmemory_test.go

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

* Rename Acl to ACL

* Fix wire after merge with main

* Move test to uni test

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
2022-07-15 18:06:44 +02:00
Will Browne 5d052be6ff Plugins: Always validate root URL if specified in signature manfiest (#52332)
* always validate root URL if specified in signature

* tidy imports
2022-07-15 17:42:20 +02:00
Gábor Farkas 1d3cd0103e logs: send more info to getLogRowContext (#52130) 2022-07-15 14:02:43 +00:00
Joao Silva 57273d4846 Internationalisation: Translates "Inspect panel" drawer (#52324) 2022-07-15 14:38:14 +01:00
Sven Grossmann 0531e4efc0 Elasticsearch: Added modifyQuery method to add filters in Explore (#52313) 2022-07-15 14:37:53 +02:00
Sven Grossmann a2512dd1c7 Logs: Fixed incorrect highlighting on empty line filter (#52214)
* fixed hightlighting searchwords

* do not add empty searchWords
2022-07-15 14:26:15 +02:00
Andres Martinez Gotor 10b9830cec Azure Monitor: Add template variables for namespaces and resource names (#52247) 2022-07-15 13:10:03 +02:00
Ivana Huckova 8fc51932f5 Loki: Fix incorrect TopK value type in query builder (#52226)
* Loki: Fix incorrect TopK value type in query builder

* Simplify code

* Remove bracket

* Brackets are back
2022-07-15 13:03:14 +02:00
George Robinson 91fd0223a4 Datasources: Allow configuration of the TTL (#52161) 2022-07-15 10:48:52 +01:00
Andreas Christou 1c48f443f0 Upgrade grafana-azure-sdk-go package (#52248)
- Includes fix for appropriate selection of system assigned identity when using managed identity credential for Azure Monitor auth
2022-07-15 10:46:30 +01:00
Jo f3ee57abef Fix: Choose Lookup params per auth module (#395) (#52312)
Co-authored-by: Karl Persson <kalle.persson@grafana.com>

Fix: Prefer pointer to struct in lookup

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

Fix: user email for ldap

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

Fix: Use only login for lookup in LDAP

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

Fix: use user email for ldap

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

fix remaining test

fix nit picks
2022-07-15 10:21:09 +01:00
Polina Boneva bec500b69f Chore: Test grafana/public/app/plugins/panel/text/TextPanel.tsx (#52244)
* move sanitize test to its own test file

* add a test for renderTextPanelMarkdown to always sanitize

* setup TextPanel tests

* add tests to always sanitize Text Panel contents and always convert correctly to html/markdown
2022-07-15 12:06:16 +03:00
Jo 13b23fd512 Auth: Lockdown non-editables in frontend when external auth is configured (#52160)
* Auth: Lockdown user profile edit if external synced

* Auth: use builtin isExternal

* Auth: When user is synced, orgs will be overriden on next login
2022-07-15 09:10:20 +02:00
Torkel Ödegaard 85309f4e63 Scenes: Fixes layout when the editor is active (#52291) 2022-07-15 02:08:40 +02:00
Nathan Marrs 8b7516bc55 Canvas: Remove inline editor button #52237 2022-07-14 16:55:22 -07:00
Drew Slobodnjak 644e82e85c Chore: update latest.json to 9.0.3 (#52298) 2022-07-14 18:56:25 -04:00
Christopher Moyer 6177e433ff updates broken relrefs, removes unneeded file (#52292) 2022-07-14 15:54:09 -07:00
Nathan Marrs 5579c59fd1 Canvas: Improve context menu UX (#52234) 2022-07-14 15:53:02 -07:00
Ryan McKinley da1701ce57 Dashboards: load from storage (#51949) 2022-07-14 15:36:17 -07:00
Grot (@grafanabot) eab03aa207 ReleaseNotes: Updated changelog and release notes for 9.0.3 (#52296) 2022-07-14 17:34:46 -05:00
Joan López de la Franca Beltran 973b3112d7 Encryption: Re-order error check (#52251) 2022-07-14 23:53:43 +02:00
Jean-Philippe Quéméner 41790083d2 Alerting: Add file provisioning for alert rules (#51635) 2022-07-14 23:53:13 +02:00
Yuriy Tseretyan e5e8747ee9 Alerting: Update state manager to accept reserved labels (#52189)
* add tests for cache getOrCreate
* update ProcessEvalResults to accept extra lables
* extract to getRuleExtraLabels
* move populating of constant rule labels to extra labels
2022-07-14 15:59:59 -04:00
Dave Henderson 19cf9fa87d Docs: Correct references to 'lockingMigration' (#51678)
Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2022-07-14 15:42:24 -04:00
Torkel Ödegaard 52a7b0e75f Browse/Search: Make browser back work properly when visiting Browse or search (#52271) 2022-07-14 21:07:12 +02:00
Esteban Beltran 0573df931b Docs: Fix broken grafana plugins tutorial links (#52147)
* Fix broken grafana plugins docs links

* Update docs/sources/developers/plugins/build-a-streaming-data-source-plugin.md

* Update docs/sources/developers/plugins/_index.md

* Update docs/sources/developers/plugins/_index.md

* Update docs/sources/developers/plugins/_index.md

* Update docs/sources/developers/plugins/add-support-for-annotations.md

* Update docs/sources/developers/plugins/add-support-for-explore-queries.md

* Update docs/sources/developers/plugins/build-a-logs-data-source-plugin.md

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>
2022-07-14 11:52:17 -07:00
Torkel Ödegaard a472e094e1 TopNav: Page can now support dashboard page layouts (Both new and old) (#52039)
* Scenes: Support new top nav

* Page: Make Page component support new and old dashboard page layouts

* Pass scrollbar props

* Fixing flex layout for dashboard

* Updated title handling and test
2022-07-14 20:52:03 +02:00
Torkel Ödegaard 7947629f82 TopNav: Make dashboard toolbar actions work in new top nav (#51950)
* Initial work on new toolbar button

* Minor step

* Small progress

* Minor progress

* Minor fix

* removed console.log

* Removing stuff we don't need yet
2022-07-14 20:34:00 +02:00
Ieva ecdd4a184f fix dates (#52264) 2022-07-14 19:15:25 +01:00
Grot (@grafanabot) f4e0420e66 ReleaseNotes: Updated changelog and release notes for 8.4.10 (#52259) 2022-07-14 11:29:44 -06:00
Matthew Jacobson efa0d90093 Alerting: Fix Teams notifier not failing on 200 response with error (#52254)
Team's webhook API does not always use the status code to communicate errors.
There are cases where it returns 200 and an error message in the body.
For example, 429 - Too Many Requests or when the message is too large.
Instead, what we should be looking for is a response body = "1".

https://docs.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/connectors-using?tabs=cURL#send-messages-using-curl-and-powershell
2022-07-14 13:15:18 -04:00
Grot (@grafanabot) 03456a9c3b ReleaseNotes: Updated changelog and release notes for 8.5.9 (#52256) 2022-07-14 13:03:35 -04:00
Eric Leijonmarck 58a4122624 Fix: Comment out flaky tests for TestReadProm (#52243)
* comment out flaky test

* commented out unused functions

* using t.skip()

* disable linting
2022-07-14 17:42:13 +01:00
Ieva c851907fc3 Access Control: Fix missing folder permissions (#52153)
* add the migration

* Update pkg/services/sqlstore/migrations/accesscontrol/dashboard_permissions.go

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

Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
2022-07-14 12:01:21 -04:00
grafanabot 6c6537383b ReleaseNotes: Updated changelog and release notes for 8.4.10 2022-07-14 15:13:23 +01:00
Kyle Brandt 05fd7eb047 SSE: Add noData type (#51973)
When there is a single frame with no fields (e.g. splunk datasource) SSE errors when trying to figure out the data type. This frame needs to exist since this is where the executedQueryString metadata exists.

This adds a new return type to SSE to represent no data, so the original frame with its metadata can still be maintained.
2022-07-14 09:18:12 -04:00
Adam Simpson 5d199a40b7 AzureMonitor: Update UI to experimental package (#52123)
* feat: make azure experimental the default

* feat: combine metrics query editor rows

fix: linter errors

* chore: remove test loop for DimensionFields test
2022-07-14 13:07:31 +00:00
Emil Tullstedt c8b5307c61 Preferences: Get home dashboard from teams (#52225) 2022-07-14 08:20:11 -04:00
Oscar Kilhed 9498ee3d54 SQL: Migrate (MS/My/Postgres)SQL configuration pages from Angular to React (#51891)
* Migrate SQL configuration pages from angular to react

* Move enums to types.ts and remove angular partials

* remove es lint disables and update betterer instead

* Fix automatically added type declarations

* Bump wor.. betterer ;)

* Export SecretInput component from grafana-ui

* Fix A11y issues

* Export SecretTextArea as well

* Fix typo

* Use const instead of var

* Fix typo in doc

* Add autoDetectFeatures to postgres config editor

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2022-07-14 13:29:08 +02:00
Leo 77e87f1806 fix: set RGL wrapper height to auto to remove empty space below the panel (#52122) 2022-07-14 13:28:50 +02:00
kay delaney 3131d12738 Panels: Prevent panel content from escaping its bounds (#52167) 2022-07-14 11:17:40 +01:00
Michał Zielonka b54da68765 Alerting: fix validation of alertmanager template. (#51538)
without setting function map from alertmanager we receive error:
method=PUT path=/api/v1/provisioning/templates/slack.message status=400
level=error msg="invalid object specification: invalid template: template: :1: function \"toUpper\" not defined"

So for validation we should use the same settings as alertmanager do
for templates internally.
2022-07-14 11:54:08 +02:00
George Robinson 34d45977ca Alerting: Fix bug where state did not change between Alerting and Error (#52204)
This commit fixes a bug where the state did not change from Alerting to Error if the evaluation result returned an error, or from Error to Alerting if evaluations stopped returning errors.
2022-07-14 10:53:39 +01:00
Josh Hunt cabdfb4811 Chore: Remove any that was introduced in a test (#52203) 2022-07-14 09:35:12 +00:00
Andreas Christou caec0f8771 Cloud Datasources: Add necessary inputs and bump version for code coverage workflow (#52055)
* Add necessary inputs and bump version

* Test coverage commit

* Bump coverage workflow version

* Bump workflow version

* Try updated workflow

* Bump commit sha

* Rename empty file for testing

* Update sha

* Update sha

* Update sha

* Bump SHA

* Update SHA

* Update sha

* Bump SHA

* Bump SHA

* Bump sha

* Bump SHA

* Test all plugins (including backend)

* Bump SHA

* Update SHA

* Remove empty files and set appropriate workflow version
2022-07-14 10:14:55 +01:00
eledobleefe e565f69711 Internationalisation: Translates the panel header menu (#52168) 2022-07-14 11:09:58 +02:00
Ivana Huckova 1d077e84ce Loki: Add hint for pipeline error to query builder (#52134)
* WIP

* Update

* Add tests

* Fix lint/betterer errors

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

* Update copy
2022-07-14 10:48:27 +02:00
Sven Grossmann 63776d5a0e Logs: Fixed LogContext being underneath the table (#52165) 2022-07-14 10:35:54 +02:00
Andreas Christou a4d33a0f43 AzureMonitor: Improve handling of unsupported template variable cases in URIs (#52054)
* Set error message for certain template variable combinations

- Make use of setError method from query editor
- Update Azure Monitor error type
- Add test for case 2 from https://github.com/grafana/grafana/pull/51331

* Update template variable docs

* Fix lint issues

* Update docs/sources/datasources/azuremonitor/template-variables.md

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>

* PR comment updates

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>
2022-07-14 09:28:44 +01:00
Andres Martinez Gotor 99d9c3d0fd AzureMonitor: Add ResourceGroups template variable (#52141) 2022-07-14 09:48:11 +02:00
brendamuir 07e03666ad Docs: fixes data source links (#52196)
* Docs: fixes data source links

* fixes unified alerting redirect
2022-07-14 08:24:53 +01:00
Alexander Weaver 2d7389c34d Alerting: Provisioning API respects global rule quota (#52180)
* Inject interface for quota service and create mock

* Check quota and return 403 if limit exceeded

* Implement tests for quota being exceeded
2022-07-13 17:36:17 -05:00
Nathan Marrs eb5a96eae9 Canvas: Remove Open Editor option from context menu when in normal editor mode #52186 2022-07-13 15:33:43 -07:00
Christopher Moyer 2520d8f827 combines table viz docs (#52176) 2022-07-13 16:56:01 -05:00
Ryan McKinley 5fe1068f81 Export: Export plugin settings (#52129) 2022-07-13 12:36:14 -07:00
Emil Tullstedt 06bd8b8e7a CSRF: Fix additional headers option (#50629)
* CSRF: Fix additional headers option

* fix: type assertion on error fail on wrapped error

* Update pkg/middleware/csrf/csrf_test.go

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

* update test

Co-authored-by: eleijonmarck <eric.leijonmarck@gmail.com>
2022-07-13 19:28:59 +01:00
Ryan McKinley ab6cf9e94d Storage: refactor readonly support (#52127) 2022-07-13 10:15:25 -07:00
Nathan Marrs 074bcf8599 Canvas: Avoid refreshing elements while dragging (#52120) 2022-07-13 11:44:43 -04:00
Yuriy Tseretyan 429ed4b4ee remove unused orgStore from scheduler (#52157) 2022-07-13 10:34:35 -04:00
Kian Eliasi 7c5ba889a4 Fix the bug in navbar's active item when the root url include a subpath (#51767) 2022-07-13 15:33:26 +01:00
Ezequiel Victorero 05dd0d7f57 Public Dashboards: add information about how time settings works (#52152) 2022-07-13 11:28:55 -03:00
Yuriy Tseretyan 0d4c503d3d update Evaluator interface to accept context (#52151) 2022-07-13 10:21:11 -04:00
Laura Benz d71735d431 grafana/ui: convert sass to emotion explore classes (#52078)
* refactor: move .explore styling

* refactor: make new theme run

* refactor: convert .explore-split

* refactor: remove .explore and .explore-split

* refactor: cleanup ExplorePaneContainer

* refactor: convert .explore-wrapper

* refactor: move .page-scrollbar-wrapper

* refactor: apply changes from code review

* refactor: add theme to class interface

* refactor: remove typecheck errors
2022-07-13 15:45:27 +02:00
Michael Mandrus 9aa6ce2a50 Datasource: Propagate datasource secret decryption errors to the frontend (#52068)
* update decrypt secrets function signature and add secrets error handling

* remove a couple instances of unnecessary logging since errors are properly handled now

* add unit test

* fix linting issues
2022-07-13 09:27:03 -04:00
Emil Tullstedt dd6d71ee4b HTTP: Add function for using new style errors with fallback (#51627) 2022-07-13 13:14:28 +02:00
Sofia Papagiannaki 4ff0f006dd SQLstore: Fix fetching an inexistent playlist response (#51962)
* SQLstore: Fix fetching and deleting an inexistent playlist

xorm's session.Get() does not return an error if the raw does not exist.
It returns a boolean instead.
The playlist `sqlstore.GetPlaylist()` used to check only the error and in case
of inexistent UID didn't return an error.
2022-07-13 13:00:03 +03:00
Konrad Lalik 169a1c5b0f Use non-blocking way of fetching ruler api availability (#52102)
Co-authored-by: Joe Blubaugh <joe.blubaugh@grafana.com>
2022-07-13 11:50:20 +02:00
Sofia Papagiannaki 21632817c5 Alerting: Fix invalid swagger specification (#51907)
* Alerting: Fix invalid swagger specification

* Add make targets for validating the generated swagger spec
2022-07-13 12:34:54 +03:00
Sofia Papagiannaki b3992df988 API: Do not validate/save legacy alerts when saving a dashboard if legacy alerting is disabled (#51883)
* API: Do not validate/save legacy alerts if legacy alerting is disabled

Co-authored-by: Ida Furjesova <ida.furjesova@grafana.com>
2022-07-13 12:33:28 +03:00
Andres Martinez Gotor c4c7908f51 AzureMonitor: Add support for Subscriptions template variable (#52086) 2022-07-13 11:16:16 +02:00
Sven Grossmann 05ba08fd8b Logs: Fixed wrapping log lines from detected fields (#52108)
* fixed wrap in detected fields

* removed cx
2022-07-13 09:25:00 +02:00
Michael Mandrus dfc7a98d87 add comments (#52124) 2022-07-12 19:21:02 -04:00
owensmallwood 894e519406 Owensmallwood/pubdash panel blank when target has no datasource (#52115)
Fixes public dashboards bug. When panel targets have no datasource, the datasource on the panel can be a json object or a string and will get added to the targets for pubdash.
2022-07-12 17:01:08 -06:00
Yuriy Tseretyan 554ebd647b Alerting: Refactor Evaluator (#51673)
* AlertRule to return condition
* update ConditionEval to not return an error because it's always nil
* make getExprRequest private
* refactor executeCondition to just converter and move execution to the ConditionEval as this makes code more readable.
* log error if results have errors
* change signature of evaluate function to not return an error
2022-07-12 16:51:32 -04:00
Guilherme Caulada 2d8a91a846 Secrets: Improve unified secrets migration and implement compatibility flag (#50463)
* Implement disableSecretsCompatibility flag

* Allow secret deletion right after migration

* Use dialect.Quote for secure_json_data on secret deletion

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>

* Set secure_json_data to NULL instead of empty json

* Run toggles_gen_test and use generated flag variable

* Add ID to delete data source secrets command on function call

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>

* Remove extra query to get datasource on secret deletion

* Fix linting issues with CHANGELOG.md

* Use empty json string when deleting secure json data

* Implement secret migration as a background process

* Refactor secret migration as a background service

* Refactor migration to be inside secret store

* Re-add secret deletion function removed on merge

* Try using transaction to fix db lock during tests

* Disable migration for pipeline debugging

* Try adding sleep to fix database lock

* Remove unecessary time sleep from migration

* Fix merge issue, replace models with datasources

* Try event listener approach

* Fix merge issue, replace models with datasources

* Fix linting issues with unchecked error

* Remove unecessary trainling new line

* Increase wait interval on background secret migration

* Rename secret store migration folder for consistency

* Convert background migration to blocking

* Fix number of arguments on server tests

* Check error value of secret migration provider

* Fix linting issue with method varaible

* Revert unintended change on background services

* Move secret migration service provider to wire.go

* Remove unecessary else from datasource service

* Move transaction inside loop on secret migration

* Remove unecessary GetServices function

* Remove unecessary interface after method removal

* Rename Run to Migrate on secret migration interface

* Rename secret migrations service variable on server

* Use MustBool on datasource secret migration

* Revert changes to GetDataSources

* Implement GetAllDataSources function

* Remove DeleteDataSourceSecrets function

* Move datasource secret migration to datasource service

* Remove unecessary properties from datasource secret migration

* Make DecryptLegacySecrets a private method

* Remove context canceled check on secret migrator

* Log error when fail to unmarshal datasource secret

* Add necessary fields to update command on migration

* Handle high availability on secret migration

* Use kvstore for datasource secret migration status

* Add error check for migration status set on kvstore

* Remove NewSecretMigrationService from server tests

* Use const for strings on datasource secrets migration

* Test all cases for datasources secret migrations

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2022-07-12 17:27:37 -03:00
Yuriy Tseretyan a6b1090879 Alerting: refactor scheduler and separate notification logic (#48144)
* Introduce AlertsRouter in the sender package, and move all fields and methods related to notifications out of the scheduler to this router.
* Introduce a new interface AlertsSender in the schedule package and replace calls of anonymous function `notify` inside the ruleRoutine to calling methods of that interface.
* Rename interface Scheduler in api package to ExternalAlertmanagerProvider, and replace scheduler with AlertRouter as struct that implements the interface.
2022-07-12 15:13:04 -04:00
Ryan McKinley ededf1dd6f Graph: move time region calculation to a utility function (#51413) 2022-07-12 12:09:49 -07:00
Joao Silva 7bb644d910 GrafanaUI: Reverts changes in styling to tag component (#51911) 2022-07-12 18:46:51 +02:00
dependabot[bot] 0ae98743e0 Bump actions/setup-node from 3.3.0 to 3.4.0 (#52075)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3.3.0 to 3.4.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v3.3.0...v3.4.0)

---
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-07-12 15:52:53 +00:00
Yuriy Tseretyan f4606faec2 fix docs with correct instructions to create a silence URL (#52062) 2022-07-12 11:36:01 -04:00
Jo c9c4fc604e LDAP: Improve errors and documentation (#52111) 2022-07-12 11:11:09 -04:00
Nathan Marrs 48e757ff87 Canvas: Show constraints on element drag #52074 2022-07-12 07:22:16 -07:00
Adela Almasan 2f942c57e8 Storage: Optionally overwrite existing files (#52067)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-07-12 09:13:57 -05:00
Ivana Huckova 2090534635 Loki: Support json parser with expressions in query builder (#51965)
* Loki: Support json parser with expressions in query builder

* Add explain docs for json parser
2022-07-12 15:42:01 +02:00
Adela Almasan c73d78eaac Canvas: Tree View Navigation (#51855)
* tree navigation using rc-tree library
2022-07-12 08:31:02 -05:00
Connor Lindsey db9c9b5354 Node Graph: Emphasize hovered or connected nodes (#51925)
* Node Graph: Emphasize hovered or connected nodes

* Add tests and refactor into util functions
2022-07-12 06:14:45 -06:00
Zoltán Bedi 4155dc8eca SQL: Fix couple of issues in SQLDatasource (#52080)
* Fix: sql plugins feature

(cherry picked from commit 035862bade)

* SQLDS: Use builtin annotation editor

Plus strict rule fixes

(cherry picked from commit fee2eb3716)
2022-07-12 14:11:54 +02:00
Will Browne b32ad993c5 Plugins: Validate root URLs when signing private plugins via grafana-toolkit (#51968)
* validate URLs

* apply PR review feedback

* fix err msg
2022-07-12 05:51:16 -04:00
Konrad Lalik e46ee78bed Alerting: Add default input parameters for expressions (#51810) 2022-07-12 11:50:58 +02:00
Joey Tawadrous 3761e9efa8 Add Splunk to annotations legacy runner (#52025) 2022-07-12 09:16:27 +01:00
Joe Blubaugh 0cbc14961a Alerting: Disable /api/admin/pause-all-alerts with Unified Alerting (#51895)
/api/admin/pause-all-alerts only takes effect for legacy alerts. This
change returns a 403 if it's called when legacy alerting is disabled.

Fixes #51729
2022-07-12 10:01:31 +03:00
Sonja Feitsch ef77c93934 Chore: Improve TagList story (#52012)
* Chore: Improve TagList story

* Chore: fix moreTagsLabel in the TagList component
2022-07-12 09:06:31 +03:00
Ryan McKinley 3003a48dc6 Export: include alerts, thumbnails, usage stats, and short urls (#51938) 2022-07-11 16:25:40 -07:00
Alexander Weaver 0e066dd5f8 Alerting: Allow filtering of contact points by name (#51933)
* Define query param and regenerate

* Add query struct for contact points

* Filter contact points by name in query

* Document that name filter is optional
2022-07-11 17:11:46 -05:00
Vardan Torosyan 73f4d7ac05 Service accounts: Update documentation with new changes (#52015)
* Service accounts: Update documentation with new changes

* Apply suggestions from code review

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

* Add sections about migration, handle comments

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2022-07-11 21:32:07 +01:00
Leon Sorokin 254159ad69 BarChart: fix crash when checking bar value text overlap (#52061) 2022-07-11 12:45:42 -05:00
Matthew Jacobson 28dd413c1d Alerting: Add config disabled_labels to disable reserved labels (#51832)
* Alerting: Add config disabled_labels to disable reserved labels

[unified_alerting.reserved_labels]
disabled_labels

* Replace IsGrafanaFolderDisabled with more generic IsReservedLabelDisabled

* Simplify SchedulerCfg by including UnifiedAlertingSettings
2022-07-11 12:41:40 -04:00
Matthew Jacobson 434e94ef2b Alerting: Update default route groupBy to [grafana_folder, alertname] (#50052)
* Alerting: Update default route groupBy to [grafana_folder, alertname]

Default group by for new routes and migrations is now [grafana_folder, alertname]
2022-07-11 12:24:43 -04:00
Vardan Torosyan 32c2b62dc7 Service accounts: Remove feature toggle check on API keys page (#52048)
* Service accounts: Remove feature toggle check on API keys page

* Increase a11y threshold
2022-07-11 16:24:10 +01:00
despian 1f3ff08482 AzureMonitor: Update resource and namespace metadata. (#52030)
Fixes #52028
2022-07-11 17:17:49 +02:00
Sofia Papagiannaki 42f69a5e63 API: Add playlists endpoints to the swagger spec (#51918) 2022-07-11 17:12:22 +03:00
Alexander Zobnin 958e1b6ad0 Geomap: Fix layer extent (#51956) 2022-07-11 08:32:16 -05:00
Ursula Kallio f1960b8ffc Emphasize American English as source language (#52040) 2022-07-11 08:36:46 -04:00
Torkel Ödegaard 4d4ab87bb6 Page: Update profile page components to use new navId (#51664) 2022-07-11 14:35:30 +02:00
Christopher Moyer 94175a801a refactors all dashboard and linking content (#52005) 2022-07-11 07:35:19 -05:00
Ivana Huckova 0a2a370b77 Loki: Fix suggesting operations from different category (#52034) 2022-07-11 14:24:49 +02:00
brendamuir 2f41ee7333 Docs: fixes couple of typos (#52031) 2022-07-11 13:04:15 +01:00
Jeff Levin fcfde8abd8 public dashboards:fix time regression (#51998)
This PR fixes a regression bug for public dashboards and adds a test to ensure the regression does not resurface.
2022-07-11 08:50:34 -03:00
Joey Tawadrous 5aacc7cc2a Traces: More feature tracking (#51686)
* Added tracing for json upload, service graph, loki queries

* Tracking for node graph expand/collapse

* Tracking for traceID expand/collapse

* Updated betterer.results

* Update tests

* Updated betterer.results

* Fixed?

* Fix for test

* Update report interaction key for loki expr

* Change grafana_traces_search_queried limit to resultLimit as limit is reserved keyword
2022-07-11 10:21:24 +01:00
Joe Blubaugh b808cd4432 Documentation: Show that admin/pause-all-alerts is only for legacy. (#51862)
Fixes #51728
2022-07-11 15:39:25 +08:00
Laura Benz 1d8272c286 URL: Encode certain special characters (#51806)
* refactor: add encoding of certain special characters in url

* refactor: add related test
2022-07-11 09:28:28 +02:00
Adela Almasan 5ad2767954 File upload error handling (#52006) 2022-07-08 20:10:15 -05:00
Drew Slobodnjak 7e9194e6e2 Geomap: update with template variable change (#52007)
After componentDidUpdate, check for a data change and apply it.

Fixes #51983
2022-07-08 15:46:01 -07:00
Alexander Weaver fce283d73e Alerting: Add method to reset notification policy tree back to the default (#51934)
* Define route and run codegen

* Wire up HTTP layer

* Update API layer and test fakes

* Implement reset of policy tree

* Implement service layer test and authorization bindings

* API layer testing

* Be more specific when injecting settings
2022-07-08 16:23:18 -05:00
Adam Simpson 05cdef5004 CloudWatch: Remove simplejson in favor of 'encoding/json' (#51062) 2022-07-08 19:39:53 +00:00
Ryan McKinley eb6d6d0d2b Search: pass the 'explain' flag from the UI and debug paging issues (#51847) 2022-07-08 15:28:21 -04:00
Garrett Guillotte 25edee88a7 Fix relrefs in product docs (#51944) 2022-07-08 12:25:19 -07:00
Garrett Guillotte 92577d3770 Fix relrefs in api keys doc (#51943) 2022-07-08 12:22:19 -07:00
Garrett Guillotte a243dc8713 Fix relrefs in alerting (#51939) 2022-07-08 12:21:56 -07:00
Garrett Guillotte 1c6ee69c2d Fix relrefs in devloper docs (#51942) 2022-07-08 12:21:29 -07:00
Artur Wierzbicki 1d2aa7c69b Storage: add delete / deleteFolder / createFolder (#51887)
* delete / delete folder / create folder

* add backend tests

* implement force delete

* fix merge

* lint fix

* fix delete root folder

* fix folder name validation

* fix mysql path_hash issue

* Fix returning error
2022-07-08 22:23:16 +04:00
Brendan O'Handley e51187a474 Prometheus datasource: query builder freezes when metrics metadata is undefined (#51929)
* add error handling for prom query builder returning undefined metrics metadata

* remove reference to escalation
2022-07-08 11:59:48 -04:00
Alexander Weaver d77731646c Fix consistency errors and regenerate (#51935) 2022-07-08 10:33:43 -05:00
Christopher Moyer 7f70be0580 adds shared content (#51982) 2022-07-08 10:28:11 -05:00
Artur Wierzbicki c372b892ec fix nil pointer dereference (#51978) 2022-07-08 19:27:53 +04:00
Stephanie Hingtgen 704a602d8c FeatureFlags: omit metric when grafana cant run the feature (#51856) 2022-07-08 09:11:49 -06:00
ying-jeanne 56f3f3fe69 Chore: Remove the old log format (#51526)
* remove the old log format

* fix CI

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
2022-07-08 09:56:30 -05:00
Dominik Prokop e1f876eee8 Table panel: Show ellipsis in Default cell when data link is wider than the column (#51975) 2022-07-08 16:26:28 +02:00
Leon Sorokin fda7f064ad GraphNG: uPlot 1.6.22 (#51945) 2022-07-08 09:45:16 -04:00
Josh Hunt 15d9cf2139 Chore: Set codeowner for betterer results file (#51971)
* Update CODEOWNERS

* Update CODEOWNERS

* Update CODEOWNERS
2022-07-08 09:38:19 -04:00
Ivana Huckova 99fb29850e Loki: Add missing operators in label filter expression (#51880) 2022-07-08 15:33:03 +02:00
Josh Hunt 0c88850070 Chore: Sync betterer results (#51963) 2022-07-08 14:19:17 +01:00
Gabriel MABILLE 5975c4bc6d RBAC: Allow app plugins access restriction (#51524)
* RBAC: Allow app plugins restriction

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

* Fix tests

* Imports

* WIP

* Adding RBAC to AppPluginsRoutes

* Switching middleware order

* Restrict access to resources

* Nit

* Cosmetic changes

* Fix fallback

* Moving declaration to HttpServer

Co-Authored-By: marefr <marcus.efraimsson@gmail.com>

Co-authored-by: Kalle Persson <kalle.persson@grafana.com>
Co-authored-by: marefr <marcus.efraimsson@gmail.com>
2022-07-08 13:24:09 +02:00
Ieva 0c33b9f211 Access control: Allow organisation admins to add existing users to org (#51668)
* check users with user add permission to access the invite endpoint

* undo unneeded changes

* tests and cleanup

* linting

* linting

* betterer

* betterer again

* fix prettier issue

Co-authored-by: jguer <joao.guerreiro@grafana.com>
2022-07-08 12:07:00 +01:00
Zoltán Bedi 506e63f4e1 Table: Fix scrollbar is hidden by pagination (#51501)
* Table: Pagination fix centering

* Table: Fix scrollbar is hidden by pagination

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2022-07-08 06:28:41 -04:00
Ieva d85df0a560 Service Accounts: Managed permissions for service accounts (#51818)
* backend changes

* frontend changes

* linting

* nit

* import order

* allow SA creator to access the SA page

* fix merge

* tests

* fix frontend tests

Co-authored-by: alexanderzobnin alexanderzobnin@gmail.com
2022-07-08 05:53:18 -04:00
Dimitris Sotirakis 2af5feb147 CI: Add pr-verify-drone pipeline (#51951)
* Introduce pr-verify-drone pipeline

* Remove `make drone` pre-commit hook

* Remove lint-drone from test-backend pipeline
2022-07-08 12:18:46 +03:00
hannes-256 62b0a8bae6 LDAP: Allow specifying LDAP timeout (#48870)
* Allow specifying LDAP timeout

* Update docs/sources/auth/ldap.md

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

* LDAP timeout: Add annotations; Make functions "private"

* Setting the default timeout if unspecified

* fix goimports lint issue

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
Co-authored-by: jguer <joao.guerreiro@grafana.com>
2022-07-08 08:52:54 +02:00
Torkel Ödegaard cff763ca1d Dashboard: Fixes sub menu alignment issue (#51775) 2022-07-08 08:46:42 +02:00
Drew Slobodnjak dec3c3a5b1 Canvas: Position inline editor default via panel dimensions and add context menu option (#51471)
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2022-07-07 19:16:22 -04:00
Artur Wierzbicki 63366615bb Search: support datasource template variables when parsing dashboard JSON models (#51587)
* init

* support template variables

* support variables without curly braces

* add todo for `__all` case

* fix `$__all` case for non-multivalue

* extract some functions

* fix flakinesss

* support `$__all` and `default` template variables

* add todo

* compilation fix

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-07-08 01:59:24 +04:00
owensmallwood 2aff83d4e1 Public Dashboards Bug: Permissions error on panel when using mixed datasource with Enterprise (#51930)
Fixes pubdash bug for enterprise when pubdash panel uses a mixed datasource
2022-07-07 15:58:11 -06:00
Sarah Zinger e1d36754a1 Split up issue boards for cloud datasources (#51902) 2022-07-07 17:06:58 -04:00
Dimitris Sotirakis beb60a5de2 Make store packages depend on gen-version (#51916) 2022-07-07 15:13:47 -04:00
Drew Slobodnjak 6dc119ef56 Slider: Enforce numeric constraints and styling within the text input (#50905)
* Add NumberInput to core slider

* Change opacity interpretation

To be consistent with other layers, and CSS, opacity of 0 is fully
transparent and an opacity of 1 is fully opaque.

* Add state management for slider.

* Ensure number input step matches slider

* Style input width based on expected digits

* Improve styling for number input validation error
2022-07-07 11:57:03 -07:00
Jack Baldry 1976edaffc Remove indentation from docs/list shortcode usage (#51715)
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
2022-07-07 14:02:35 -04:00
Ryan McKinley 5cb8010440 Export: support stopping exports (#51769) 2022-07-07 11:02:01 -07:00
ismail simsek 8deb17fdc4 Plugins: InfluxDB update time range query (#51833) 2022-07-07 19:55:51 +02:00
Isabella Siu 8dd8c50dc4 CloudWatch: Add default log groups to config page (#49286)
Co-authored-by: Shirley Leu <4163034+fridgepoet@users.noreply.github.com>
2022-07-07 13:03:02 -04:00
ismail simsek 3d68023606 Plugins: InfluxDB datasource - set epoch query param value as "ms" (#51651) 2022-07-07 13:02:20 -04:00
Vardan Torosyan 5eaba5b5b2 Service account: Update service accounts creation (#51848) 2022-07-07 17:32:56 +01:00
ismail simsek 885c517983 Plugins: InfluxDB variable interpolation fix (#51917)
* Don't use regex on flux mode while applying template variables
2022-07-07 17:16:35 +02:00
Agnès Toulet ca80865bf1 Rendering: Fix user information when using render key (#50879)
* Rendering: Fix user information when using render key

* fix when render user ID is 0

* update fix

* improve fix

* add comment
2022-07-07 17:01:49 +02:00
Dimitris Sotirakis 5cbb7003c0 Add artifacts-page grabpl command (#51894) 2022-07-07 11:00:28 -04:00
Torkel Ödegaard 849134b5dd Scene: Small refactorings and name changes (#51866)
* Rename onMount and onUnmount and some other small refactorings

* More refactorings fixing typescript issues
2022-07-07 16:49:05 +02:00
Dimitris Sotirakis 6447e08809 Add gen-version step to release pipelines (#51913) 2022-07-07 10:32:18 -04:00
Jguer b79b53cbdb JWT: Add JWT proxy setup devenv (#51731)
* JWT: Add JWT Auth devenv

* Auth: JWT allow retrieving login token

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

* JWT: Add JWT Auth Proxy devenv

* JWT: Add instructions to readme

* JWT: Add JWT users

* JWT: Remove oauth users

* revert session changes, unnecessary

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
2022-07-07 10:28:04 -04:00
Dominik Prokop 5a65a12278 Time series panel: Fix an issue with stacks being not complete due to the incorrect data frame length (#51910)
* Test failure

* Fix
2022-07-07 07:25:52 -07:00
Jguer db9f80a7a3 ServiceAccounts: Add Prometheus metrics service (#51831)
* ServiceAccounts: Add Prometheus metrics service

* add missing init in tests
2022-07-07 10:03:16 -04:00
Ivana Huckova 10cb84e401 Loki: Implement hints for query builder (#51795)
* Loki: Implement hints for query builder

* Update name of file

* Update imports

* Refactor

* Remove unused import

* Unify

* Revert "Unify"

This reverts commit 78da0e27e3.

* Unify

* Fix types

* Fix tests

* Fix type error

* Simplify

* Update test

* Add documentation

* Update comment

* Add tests for addParserToQuery

* Smaller updates
2022-07-07 15:49:31 +02:00
George Robinson 2b2c09b8d5 Docs: Improve docs for differences and limitations (#51905) 2022-07-07 14:49:03 +01:00
George Robinson ef1fb9d3a3 Docs: Improve docs for images in notifications (#51900) 2022-07-07 14:38:02 +01:00
eledobleefe cd3bf59ce3 Storybook: Add documentation and controls to RefreshPicker story (#51736) 2022-07-07 15:34:46 +02:00
idafurjes ee88b44458 Do not check permissions while deleting external snapshot (#51897) 2022-07-07 15:15:39 +02:00
Jguer 9ab210a7d7 ServiceAccounts: Don't create new orgs for service accounts (#51819)
* Org: use constants for status codes

* ServiceAccounts: Avoid creating new orgs for service accounts

* Document createUserBehavior

* Update pkg/services/sqlstore/org_users_test.go

* add doc string to flag
2022-07-07 08:50:38 -04:00
Andres Martinez Gotor 438c76252a Azure Monitor: Add support to migrate some queries with template variables (#51881) 2022-07-07 14:44:53 +02:00
brendamuir f6f017edc2 Docs: new data sources topic (#51863)
* Docs: new datasources topic

* Update docs/sources/alerting/fundamentals/data-source-alerting.md

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

* Update docs/sources/alerting/fundamentals/data-source-alerting.md

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

* corrects relrefs

Co-authored-by: George Robinson <george.robinson@grafana.com>
2022-07-07 13:32:00 +01:00
Dimitris Sotirakis 88943590b3 Add gen-version for main-publish pipeline (#51890) 2022-07-07 12:58:20 +01:00
Sven Grossmann b12998df16 upgrade @grafana/lezer-logql (#51888) 2022-07-07 13:35:34 +02:00
Artur Wierzbicki e96f67ae2e Renderer: Add sanitize API (#50936)
* svg fun

* #50597: add proto

* #50597: add sanitizer methods

* #50597: add provider

* #50597: use sanitizer

* #50597: use sanitizer

* update grafana to match new api

* add comments

* add capability check

* add timing

* update sanitize path

* improve log message

* strings.HasPrefix rather than filepath.IsAbs

* filepath.Clean + filepath.ToSlash for windows

* read 404

* remove `path.clean` from `getPathAndScope`

* add resp body close

* remove unneeded prop

* Update pkg/services/rendering/rendering.go

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

* remove test files

* filepath.ToSlash correct wrapping

* filepath.ToSlash correct wrapping

* filepath.ToSlash comment

* compilation error

* lint fix

* fix error message

* Update pkg/services/rendering/rendering.go

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

* add `image/svg+xml` mime type

* refactored log

* refactored log

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
2022-07-07 15:32:18 +04:00
Dimitris Sotirakis f279699beb CI: Abstract Grafana versioning (#50935)
* Remove flags and update grabpl

* Sign drone yaml
2022-07-07 13:41:27 +03:00
Levente Balogh 99de3313f7 Datasources: Refactor the list page (#51438)
* refactor(Data Sources): rename file to follow naming convention

* refactor: use react-redux hooks for interacting with the store

* tests: update data-sources list related test files

* refactor: extract datasource list page contents

* refactor: pass dataSources to the DataSourcesList as a prop

* refactor: use proper typing for navIndex mocks
2022-07-07 11:15:34 +02:00
Kevin Yu 689639cdb0 CloudMonitoring: Update AnnotationQueryEditor to use experimental UI components (#51841) 2022-07-07 10:29:32 +02:00
Kevin Yu 401ce2b2f9 CloudMonitoring: Update Selector to use experimental UI components (#51840) 2022-07-07 10:27:20 +02:00
Kevin Yu 6d2d99e804 CloudMonitoring: Update SLO to use experimental UI components (#51839) 2022-07-07 10:26:24 +02:00
Kevin Yu 19fa4ef9af CloudMonitoring: Update Service to use experimental UI components (#51838) 2022-07-07 10:25:53 +02:00
Kevin Yu 5bd58be334 CloudMonitoring: Update Project to use experimental UI components (#51837) 2022-07-07 10:25:08 +02:00
Joe Blubaugh d99a7334d5 Alerting: Fix RegExp matchers in frontend for Silences and other previews. (#51726) 2022-07-07 16:06:25 +08:00
Jack Baldry 602ee37533 Add doc-validator tool to CI (#51698)
* Add doc-validator tool to CI

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

* Use simpler apostrophe to make title match h1

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

* Ensure doc-validator CI always passes until all errors are resolved

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
2022-07-07 08:58:51 +01:00
Yaelle Chaudy a802e84772 Fixed broken link for supported namespaces (#51302) 2022-07-07 09:58:01 +02:00
Joan López de la Franca Beltran 81753526bd Encryption: Refactor secrets.Service initialization (#51091)
* Encryption: Refactor secrets.Service initialization
2022-07-07 09:48:25 +02:00
Torkel Ödegaard 9f2df8f8ee Scene: Fix merge issue in main (#51865) 2022-07-07 09:02:15 +02:00
Torkel Ödegaard 935334cbda Scene: POC for a future dashboard model and runtime (#50980)
* Playing around

* This is getting interesting

* Updates

* Updated

* Observable experiments

* This is tricky

* VizPanel panel renderer

* New model progress

* Maybe this could be something

* Updated

* Rename

* updates

* Updated

* Query runners? not sure

* Updated

* updates

* flex box layout starting to work

* Testing

* Tested an action

* Parent context sort of working

* Progress

* Progress

* Updated

* Starting to work

* Things are working

* Scene list, nested scene demo

* Progress on repeats

* Moving things

* Pretty big progress

* More things working

* Great progress

* Progress

* Name changing

* Minor tweaks

* Simplified sizing

* Move toggleDirection to SceneFlexLayout

* add feature flag (#50990)

* removed new useObservable hook

* Rename folder and feature toggle to scenes

* Caching scenes so you can go back to another scene without having to re-query data

* Fix issue with subs on re-mount

* Fixing test

* Added SceneCanvasText to play around with layout elements with size based on content

* Scene: Edit mode and component edit wrapper that handles selection  (#51078)

* First step for scene variables

* Started playing around with a scene edit mode

* Better way to set component

* Progress on edit mode

* Update

* Progress on edit mode

* Progress on editor

* Progress on editor

* Updates

* More working

* Progress

* Minor update

* removed unnessary file

* Moving things around

* Updated

* Making time range separate from time picker

* minor rename of methods

* The most basic variable start

* Minor renames

* Fixed interpolate issue if not found at closest level

* An embryo of event model and url sync handling

* Update url sync types

* Removed unnessary any type arg

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2022-07-07 08:53:02 +02:00
Artur Wierzbicki 052132be46 Storage: simplify retrieving the file names from the response frame (#51805)
* add util method for storage list frame

* use go:embed

* remove enum
2022-07-07 10:47:05 +04:00
Torkel Ödegaard 4f931afe29 Betterer: Rebuild better results file as it was corrupt (#51861) 2022-07-07 08:32:56 +02:00
Jeff Levin eacee08135 public dashboards: move into into its own service (#51358)
This PR moves public dashboards into its own self contained service including API, Service, Database, and Models. Routes are mounted on the Grafana HTTPServer by the API service at injection time with wire.go. The main  route that loads the frontend for public dashboards is still handled by the API package.

Co-authored-by: Jesse Weaver <jesse.weaver@grafana.com>
Co-authored-by: Owen Smallwood <owen.smallwood@grafana.com>
2022-07-06 17:51:44 -06:00
Ezequiel Victorero ba2d8cd838 Public Dashboards: disable saving button instead of hide before accepting checkboxes (#51744) 2022-07-06 18:21:00 -03:00
Ezequiel Victorero 10a33be2c2 Public Dashboards: add icon buttons with links to useful information for the user (#51722) 2022-07-06 16:34:23 -03:00
Torkel Ödegaard 777f0d532a Fixes tooltip issue with time picker and dashboard settings (#51836) 2022-07-06 20:53:52 +02:00
gjed c93f1f3693 Docs: added clarification to plugin provisioning (#50212)
* Docs: added clarification to plugin provisioning

* Update docs/sources/administration/provisioning.md

* Lint docs

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

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2022-07-06 13:49:58 -05:00
owensmallwood 0b4af38bfa Public Dashboards: Query Caching (#51403)
* passes id and uid to PublicDashboardDatasource

* betterer results

* If for a public dashboard, return the PublicDashboardDataSource first or else getDatasourceSrv.get() will fail bc of no authed user.

Added some unit tests for resolving the uid from the many possible datasource types.

* updates betterer

* Exports DashboardService. Adds method to DashboardService to build anonymous user for use with public dashboards where there is no authed user. Adds method on dashboard_queries to get all dashboard uids from a dashboard.

* refactors to get unique datasource uids

* Adds tests for getting all unique datasource uids off a dashboard

* adds test for building anonymous user with read and query actions that are scoped to each datasource uid in the dashboard

* updates casing of DashboardService

* updates test case to have additional panel with a different datasource

* gives default interval to public dashboard data source
2022-07-06 12:42:39 -06:00
ismail simsek 9941e06e22 Plugins: InfluxDB variable interpolation fix for influxdbBackendMigration feature flag (#51624) 2022-07-06 19:27:21 +02:00
Ezequiel Victorero 9f6297ca9b Public Dashboards: use default dashboard time range instead of current (#51656) 2022-07-06 13:37:39 -03:00
dingweiqings 119c13e666 Alerting: Add custom templated title to Wecom notifier (#51529)
* add custom title in wecom channel

* add wecom test case and setting config in ui

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

Co-authored-by: Matthew Jacobson <JacobsonMT@gmail.com>

* change version in comment

* Update pkg/services/ngalert/notifier/available_channels.go

Co-authored-by: Matthew Jacobson <JacobsonMT@gmail.com>

* format

Co-authored-by: Matthew Jacobson <JacobsonMT@gmail.com>
2022-07-06 11:54:46 -04:00
Kevin Yu 396278a6e5 add experimental slo query editor (#51351) 2022-07-06 11:48:43 -04:00
Emil Tullstedt c12d1727f0 Docker: Update glibc version (#51107) 2022-07-06 17:30:56 +02:00
Kevin Yu b5eef488ce Cloud Monitoring: Update LabelFilter to use experimental UI components (#51342)
* add label filter

* add tests

* define labels once

* update betterer results
2022-07-06 11:28:54 -04:00
Santiago 93e2a0eddc fix broken links (#51821) 2022-07-06 12:16:05 -03:00
Leon Sorokin 173636aa61 Histogram: filter nulls, bucket-adaptive xAxis decimals (#51773) 2022-07-06 10:13:32 -05:00
Torkel Ödegaard 1e85a6f4fd TopNav: New page layouts (#51510)
* First stab at new page layouts behind feature toggle

* Simplifying PageHeader

* Progress on a new model that can more easily support new and old page layouts

* Progress

* rename folder

* Progress

* Minor change

* fixes

* Fixing tests

* Make breadcrumbs work

* Add tests for old Page component

* Adding tests for new Page component and behavior

* fixing page header test

* Fixed test

* AppChrome outside route

* Renaming folder

* Minor fix

* Updated

* Fixing StoragePage

* Fix for banners

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-07-06 17:00:56 +02:00
Sven Grossmann 663f3fcd2a Loki: Fix error when changing operations with different parameters (#51779)
* copy defaultParams when changing an operation

* add type and name comparison

* removed name check
2022-07-06 16:52:58 +02:00
Andreas Christou 0a6eeaa636 AzureMonitor: Update curated dashboards (#51331)
* Ensure resource name is appended to URI

* Add storage account check to ensure default subresource is appended

* Update storage dashboard

* Bump storage version

* Remove ADX StreamingIngestRequestRate panel as the metric is unavailable

* Refactor condition for storage namespaces

* Add more tests for URI builder

* Do not migrate resource URI if resource name or metric definition uses template variables

* Revert change to metricNamespace
2022-07-06 15:37:17 +01:00
Will Browne 40dff288cd Plugins: Register management endpoints only when external managed is also false (#51802)
* Only define plugin install endpoints when catalog enabled

* add external check
2022-07-06 16:22:59 +02:00
Leon Sorokin d122449a97 BarChart: fix explicit yAxis min (#51768) 2022-07-06 06:47:49 -06:00
Jack Westbrook edfbdc4b63 Chore: Bump parse-url to 6.0.2 to fix security vulnerabilities (#51796) 2022-07-06 13:21:41 +02:00
Jack Westbrook 0c04fe16aa Chore: Fix CVE-2021-3807 (#51753) 2022-07-06 13:01:08 +02:00
Jack Westbrook aa06328e8c Chore: Fix CVE-2021-43138 (#51751) 2022-07-06 13:00:37 +02:00
Joey Tawadrous 45a00bdc94 Traces: Move towards using OTEL naming conventions (#51379)
* Updates names

* Update tests

* Update betterer results

* Updated betterer.results

* Updated tests
2022-07-06 11:12:53 +01:00
Gábor Farkas df9f86190f devenv: influxdb: fix config (#51781) 2022-07-06 11:58:17 +02:00
Eric Leijonmarck 0f919671e7 Service accounts: Add service account to teams (#51536)
* Revert "Serviceaccounts: #48995

Do not display service accounts assigned to team (#48995)"

This reverts commit cbf71fbd7f.

* fix: test to not include more actions than necessary

* adding service accounts to teams - backend and frontend changes

* also support SA addition through the old team membership endpoints

* fix tests

* tests

* serviceaccounts permission tests

* serviceaccounts permission service tests run

* added back test that was removed by accident

* lint

* refactor: add testoptionsTeams

* fix a bug

* service account picker change

* explicitly set SA managed permissions to false for dash and folders

* lint

* allow team creator to list service accounts

Co-authored-by: IevaVasiljeva <ieva.vasiljeva@grafana.com>
2022-07-06 05:34:36 -04:00
Sriram efdd999e03 Chore: Plugin CI E2E image update (#51787) 2022-07-06 12:26:08 +03:00
Jack Westbrook 3be4af87f6 Chore: Remove unused nodemon dependency (#51749) 2022-07-06 11:20:09 +02:00
Jack Westbrook c1ef68535b Chore: Fix CVE-2022-0155 (#51755) 2022-07-06 11:19:09 +02:00
Jack Westbrook f14cdc712c Chore: Fix CVE-2020-7753 (#51752) 2022-07-06 11:18:35 +02:00
Jack Westbrook 73e7a1cc92 Chore: Fix CVE-2021-3918 (#51745) 2022-07-06 11:16:57 +02:00
Will Browne ba9fc10a74 Only define plugin install endpoints when catalog enabled (#51788) 2022-07-06 05:13:20 -04:00
Sonja Feitsch 95053b760d Chore: Improve Tagstory (#51677) 2022-07-06 09:26:34 +01:00
Joey Tawadrous 2970c6db37 Traces: Trace to logs fix (#51053)
* Fix to set isSplunkDS

* Remove comment

* Updated betterer.results
2022-07-06 08:39:41 +01:00
Polina Boneva 556f312b00 remove event.stopPropagation(), so that when one menu opens, all others close; (#51557)
Put the ClickOutsideWrapper further out in the PanelHeader, so it doesn't catch itself when clicking on the panel header above the menu;
2022-07-06 10:33:25 +03:00
Dominik Prokop 73c5a9f23c Tabe panel: Minor fixes caused by datalinks context menu (#51756) 2022-07-06 00:29:14 -07:00
Joey Tawadrous 01130f22b7 Traces: Span bar label (#50931)
* Add SpanBarSettings

* Add SpanBarSettings to Jaeger

* Add SpanBarSettings to Zipkin

* Updated title

* Add dropdown to select identifer and make duration a default option

* Show duration by default

* Add option to hide

* Move identifers into constants

* Add process

* Update text

* Update placeholders

* Text/meta data updates

* Added tests

* Added docs

* Update find

* Merge tag and prcoess options

* Update docs

* Updated tests

* Update betterer results and trace view to match

* Updated docs
2022-07-06 08:14:03 +01:00
Alexander Zobnin 21591be469 Geomap: Support shared crosshair for route layer (#51495) 2022-07-06 10:08:55 +03:00
Josh Hunt ffd9d9d0c5 Chore: Refactor logs_model to clean up types (#51201)
* Chore: Minor refector of logs_model to clean up types

* undo a change i didn't commit to

* use isObservable instead

* fix type
2022-07-06 08:49:45 +02:00
Victor Marin 5b058d617d Graphite: Use TimeRange with applied fiscalYearStartMonth (#51623)
* Parse date with fiscalYearStartMonth in graphite ds

* Use precalculated timeranges

* Always use precalculated values

* Modify test
2022-07-06 09:27:09 +03:00
Christopher Moyer e4bf7ddefe Docs: Add and organize panels (#51763)
* combines topics into add and organize panels topic

* updates front matter

* fixes relrefs

* fixes typo

* Update docs/sources/dashboards/add-organize-panels.md

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

* Update docs/sources/dashboards/add-organize-panels.md

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

* make prettier

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-07-05 12:59:17 -05:00
Ryan McKinley 4fa606c600 Export: save all dashboards to git (#48233) 2022-07-05 10:54:07 -07:00
Ryan McKinley 4a00c7ebde Storage: Add basic file upload management (#50638) 2022-07-05 10:53:41 -07:00
Jean-Philippe Quéméner 4a76436be2 Altering: validate that the mute time intervals exist when updating routing tree (#51573)
* validate that the mute time intervals exist when updating routing tree

* run lint

* add tests
2022-07-05 13:09:17 -04:00
Alexander Weaver b9c7eb1380 Alerting: Add method to provisioning API for obtaining a group and its rules (#51398)
* Generate shell for new route

* Propagate path parameters

* Implement route logic

* Add a couple simple tests

* Use NotFound error for not found, avoid returning pointer

* Regenerate
2022-07-05 11:53:50 -05:00
Jean-Philippe Quéméner e64cde8727 Alerting: validate that the receiver exist when updating routing tree (#51561)
* Alerting: validate that the receiver exist when updating routing tree

* rename interface

* add missing file

* change constructor

* fix e2e tests

* only import package once

* add unit test for bug

* wording

* close response body

* Update pkg/services/ngalert/api/tooling/definitions/alertmanager_validation.go

* refactor to remove database roundtrip
2022-07-05 18:09:57 +02:00
idafurjes 578ab71ba9 Copy delete user permission to access control service (#51747)
* Copy delete user permission to access control service

* Update pkg/services/accesscontrol/database/database_test.go

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

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2022-07-05 18:05:56 +02:00
eledobleefe 13fbe6ed28 Storybook: Add documentation to PluginSignatureBadge story (#51645)
* Import the mdx documentation file to PluginSignatureBadge.story.tsx and add to its export defaul

* Create the mdx file of PluginSignatureBadge with its information

* Fix signed PluginSignatureBadge status

* Modify text according to reviewer suggestions

* betterer

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-07-05 09:38:26 -04:00
Torkel Ödegaard 18b481cedc MegaMenu: Add mega menu to new top nav design (#51616)
* MegaMenu: Add mega menu to new top nav design

* Copy NavBar in order to make changes more cleanly

* Adding tests

* whoops, forgot to resolve conflicts...

* Review fixes

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-07-05 15:06:07 +02:00
Christopher Moyer 7eec92988e Docs: Manage library panels refactor (#51661)
* merges library panel content into a single topic

* updates menuTite

* fixes typo

* removed Grafana from task titles
2022-07-05 07:43:01 -05:00
Seyaji 500010e0b6 Chore: Convert QueryOperationRow test to RTL (#51290)
* Convert QueryOperationRow test to RTL

* Convert QueryOperationRow test to RTL

* Convert QueryOperationRow test to RTL

* Convert QueryOperationRow test to RTL

* Update QueryOperationRow.test.tsx

* update betterer

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-07-05 08:10:20 -04:00
kay delaney d4eef3bd76 TimeSrv: Don't modify refresh interval when editing panel (#51718) 2022-07-05 05:25:07 -04:00
Pawan Verma 920bd1e88d Chore: Improve SecretInput story (#51665)
* Added mdx file for secret input

* Chore: Improve SecretInput story

* review related changes in docs

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-07-05 09:32:51 +01:00
Sriram f78b7f1f17 TestDataDB: update CSV wave scenario ui (#51719)
* update testdb csv wave

* support enter key

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-07-05 04:57:32 +01:00
Andrej Ocenas bf334ab777 Prometheus: Small improvements to the custom client (#51709)
* Add suggestions

* Fix tests
2022-07-04 22:55:07 +02:00
Santiago 9797744c10 template functions reference and examples moved to corresponding section, description and links fixed (#51654) 2022-07-04 10:38:22 -03:00
Ieva 1768e09cfd document auth_style option (#51697) 2022-07-04 14:22:19 +01:00
Gabriel MABILLE c9708e1813 Devenv: Add an oauth block (#51514)
* Devenv: Add an oauth block

* Adding profile to responses

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

Co-authored-by: Jguer <joao.guerreiro@grafana.com>
2022-07-04 13:56:15 +02:00
Ashley Harrison 986b766ca0 Chore: Make betterer tests more stable (#51703)
* rewrite eslint test to not care about position of errors

* changing file contents shouldn't require a betterer.results update

* fix up eslint test

* fix the undocumented stories test

* ignore .test.ts files as well
2022-07-04 12:13:20 +01:00
Will Browne 0b40c8e51e Plugins: Add missing asserts for Plugin Errors field (#51702)
* make sure to check plugin errors

* remove unused test
2022-07-04 11:03:50 +00:00
renovate[bot] 6af8189816 Update dependency @rushstack/ts-command-line to v4.12.1 (#51586)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-04 10:32:31 +00:00
Ivan Ortega Alba f8ac160545 DashboardRow: collapse shortcut doesn't allow to move the row (#51589) 2022-07-04 12:32:21 +02:00
renovate[bot] e781ef582f Update dependency @microsoft/api-extractor-model to v7.21.0 (#51629)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-04 10:26:13 +00:00
Joan López de la Franca Beltran 38bcd37fba Encryption: Move secrets migrations into secrets.Migrator (#51014) 2022-07-04 12:17:21 +02:00
George Robinson 6844ac9879 Alerting: Change __alertScreenshotToken__ to __alertImageToken__ (#50771) 2022-07-04 06:05:36 -04:00
Jean-Philippe Quéméner 580c5b6ad2 Alerting: add YAML support for relative time range (#51694) 2022-07-04 06:03:34 -04:00
Ieva 75873d05d7 Access Control: Allow dashboard admins to query org users (#51652)
* allow dashboard admins to query org users

* rename one more variable
2022-07-04 10:43:06 +01:00
Andrej Ocenas 3df34fe064 Prometheus: Remove cache, pass headers in request, simplify client creation for resource calls and custom client (#51436)
* Remove cache, pass headers in request, simplify client creation

* Add test for http options creation
2022-07-04 11:18:45 +02:00
Sven Grossmann b7e22c37a8 UsageStats: fixed elasticsearch version number to semver (#49054)
* UsageStats: fixed elasticsearch version number

- The version numbering was changed from plain numbers to a semver-ish approach

* added missing version assertion

* adapted tests
2022-07-04 11:08:01 +02:00
Alexander Emelin f233a74b70 Search: Downgrade Bluge, refactor code (#51560)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-07-04 11:33:07 +03:00
Dominik Prokop 16f9830fc3 State Timeline: Enable support for annotations (#47887)
* WIP: Enable annotations display and annotations editor in State timeline panel

* Note support for annotations in module file

* Lint fix

* Post review

Co-authored-by: Kyle Cunningham <kyle@codeincarnate.com>
2022-07-04 01:27:27 -07:00
Zoltán Bedi ebb9025669 StateTimeline: Try to sort time field (#51569)
* StateTimeline: Try to sort time field

* Sort frame earlier
2022-07-04 10:11:33 +02:00
Seyaji e88514beea Chore: Convert SpanDetailsRow test to RTL (#51345)
* Convert SpanDetailsRow test to RTL

* Convert SpanDetailsRow test to RTL
2022-07-04 10:30:03 +03:00
7667 changed files with 570975 additions and 195462 deletions
+8434 -12387
View File
File diff suppressed because it is too large Load Diff
+55 -16
View File
@@ -1,28 +1,18 @@
import { regexp } from '@betterer/regexp'; import { regexp } from '@betterer/regexp';
import { eslint } from '@betterer/eslint';
import { BettererFileTest } from '@betterer/betterer'; import { BettererFileTest } from '@betterer/betterer';
import { ESLint, Linter } from 'eslint';
import { existsSync } from 'fs';
export default { export default {
'no enzyme tests': () => regexp(/from 'enzyme'/g).include('**/*.test.*'), 'no enzyme tests': () => regexp(/from 'enzyme'/g).include('**/*.test.*'),
'better eslint': () => 'better eslint': () => countEslintErrors().include('**/*.{ts,tsx}'),
eslint({ 'no undocumented stories': () => countUndocumentedStories().include('**/*.story.tsx'),
'@typescript-eslint/no-explicit-any': 'error',
'@typescript-eslint/consistent-type-assertions': [
'error',
{
assertionStyle: 'never',
},
],
}).include('**/*.{ts,tsx}'),
'no undocumented stories': () => countUndocumentedStories().include('**/*.{story.tsx,mdx}'),
}; };
function countUndocumentedStories() { function countUndocumentedStories() {
return new BettererFileTest(async (filePaths, fileTestResult) => { return new BettererFileTest(async (filePaths, fileTestResult) => {
const storyFilePaths = filePaths.filter((filePath) => filePath.endsWith('story.tsx')); filePaths.forEach((filePath) => {
const mdxFilePaths = filePaths.filter((filePath) => filePath.endsWith('mdx')); if (!existsSync(filePath.replace(/\.story.tsx$/, '.mdx'))) {
storyFilePaths.forEach((filePath) => {
if (!mdxFilePaths.includes(filePath.replace(/\.story.tsx$/, '.mdx'))) {
// In this case the file contents don't matter: // In this case the file contents don't matter:
const file = fileTestResult.addFile(filePath, ''); const file = fileTestResult.addFile(filePath, '');
// Add the issue to the first character of the file: // Add the issue to the first character of the file:
@@ -31,3 +21,52 @@ function countUndocumentedStories() {
}); });
}); });
} }
function countEslintErrors() {
return new BettererFileTest(async (filePaths, fileTestResult, resolver) => {
const { baseDirectory } = resolver;
const cli = new ESLint({ cwd: baseDirectory });
await Promise.all(
filePaths.map(async (filePath) => {
const linterOptions = (await cli.calculateConfigForFile(filePath)) as Linter.Config;
const rules: Partial<Linter.RulesRecord> = {
'@typescript-eslint/no-explicit-any': 'error',
};
const isTestFile =
filePath.endsWith('.test.tsx') || filePath.endsWith('.test.ts') || filePath.includes('__mocks__');
if (!isTestFile) {
rules['@typescript-eslint/consistent-type-assertions'] = [
'error',
{
assertionStyle: 'never',
},
];
}
const runner = new ESLint({
baseConfig: {
...linterOptions,
rules,
},
useEslintrc: false,
cwd: baseDirectory,
});
const lintResults = await runner.lintFiles([filePath]);
lintResults
.filter((lintResult) => lintResult.source)
.forEach((lintResult) => {
const { messages } = lintResult;
const file = fileTestResult.addFile(filePath, '');
messages.forEach((message, index) => {
file.addIssue(0, 0, message.message, `${index}`);
});
});
})
);
});
}
+19 -13
View File
@@ -1,4 +1,4 @@
# Auto generated binary variables helper managed by https://github.com/bwplotka/bingo v0.6. DO NOT EDIT. # Auto generated binary variables helper managed by https://github.com/bwplotka/bingo v0.7. DO NOT EDIT.
# All tools are designed to be build inside $GOBIN. # All tools are designed to be build inside $GOBIN.
BINGO_DIR := $(dir $(lastword $(MAKEFILE_LIST))) BINGO_DIR := $(dir $(lastword $(MAKEFILE_LIST)))
GOPATH ?= $(shell go env GOPATH) GOPATH ?= $(shell go env GOPATH)
@@ -21,29 +21,35 @@ BRA := $(GOBIN)/bra-v0.0.0-20200517080246-1e3013ecaff8
$(BRA): $(BINGO_DIR)/bra.mod $(BRA): $(BINGO_DIR)/bra.mod
@# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies. @# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies.
@echo "(re)installing $(GOBIN)/bra-v0.0.0-20200517080246-1e3013ecaff8" @echo "(re)installing $(GOBIN)/bra-v0.0.0-20200517080246-1e3013ecaff8"
@cd $(BINGO_DIR) && $(GO) build -mod=mod -modfile=bra.mod -o=$(GOBIN)/bra-v0.0.0-20200517080246-1e3013ecaff8 "github.com/unknwon/bra" @cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=bra.mod -o=$(GOBIN)/bra-v0.0.0-20200517080246-1e3013ecaff8 "github.com/unknwon/bra"
DRONE := $(GOBIN)/drone-v1.5.0 DRONE := $(GOBIN)/drone-v1.5.0
$(DRONE): $(BINGO_DIR)/drone.mod $(DRONE): $(BINGO_DIR)/drone.mod
@# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies. @# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies.
@echo "(re)installing $(GOBIN)/drone-v1.5.0" @echo "(re)installing $(GOBIN)/drone-v1.5.0"
@cd $(BINGO_DIR) && $(GO) build -mod=mod -modfile=drone.mod -o=$(GOBIN)/drone-v1.5.0 "github.com/drone/drone-cli/drone" @cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=drone.mod -o=$(GOBIN)/drone-v1.5.0 "github.com/drone/drone-cli/drone"
SWAGGER := $(GOBIN)/swagger-v0.29.0 GOLANGCI_LINT := $(GOBIN)/golangci-lint-v1.49.0
$(SWAGGER): $(BINGO_DIR)/swagger.mod
@# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies.
@echo "(re)installing $(GOBIN)/swagger-v0.29.0"
@cd $(BINGO_DIR) && $(GO) build -mod=mod -modfile=swagger.mod -o=$(GOBIN)/swagger-v0.29.0 "github.com/go-swagger/go-swagger/cmd/swagger"
GOLANGCI_LINT := $(GOBIN)/golangci-lint-v1.40.1
$(GOLANGCI_LINT): $(BINGO_DIR)/golangci-lint.mod $(GOLANGCI_LINT): $(BINGO_DIR)/golangci-lint.mod
@# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies. @# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies.
@echo "(re)installing $(GOBIN)/golangci-lint-v1.40.1" @echo "(re)installing $(GOBIN)/golangci-lint-v1.49.0"
@cd $(BINGO_DIR) && $(GO) build -mod=mod -modfile=golangci-lint.mod -o=$(GOBIN)/golangci-lint-v1.40.1 "github.com/golangci/golangci-lint/cmd/golangci-lint" @cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=golangci-lint.mod -o=$(GOBIN)/golangci-lint-v1.49.0 "github.com/golangci/golangci-lint/cmd/golangci-lint"
JB := $(GOBIN)/jb-v0.5.1
$(JB): $(BINGO_DIR)/jb.mod
@# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies.
@echo "(re)installing $(GOBIN)/jb-v0.5.1"
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=jb.mod -o=$(GOBIN)/jb-v0.5.1 "github.com/jsonnet-bundler/jsonnet-bundler/cmd/jb"
SWAGGER := $(GOBIN)/swagger-v0.30.2
$(SWAGGER): $(BINGO_DIR)/swagger.mod
@# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies.
@echo "(re)installing $(GOBIN)/swagger-v0.30.2"
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=swagger.mod -o=$(GOBIN)/swagger-v0.30.2 "github.com/go-swagger/go-swagger/cmd/swagger"
WIRE := $(GOBIN)/wire-v0.5.0 WIRE := $(GOBIN)/wire-v0.5.0
$(WIRE): $(BINGO_DIR)/wire.mod $(WIRE): $(BINGO_DIR)/wire.mod
@# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies. @# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies.
@echo "(re)installing $(GOBIN)/wire-v0.5.0" @echo "(re)installing $(GOBIN)/wire-v0.5.0"
@cd $(BINGO_DIR) && $(GO) build -mod=mod -modfile=wire.mod -o=$(GOBIN)/wire-v0.5.0 "github.com/google/wire/cmd/wire" @cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=wire.mod -o=$(GOBIN)/wire-v0.5.0 "github.com/google/wire/cmd/wire"
+2 -2
View File
@@ -2,6 +2,6 @@ module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT
go 1.17 go 1.17
require github.com/unknwon/bra v0.0.0-20200517080246-1e3013ecaff8 replace golang.org/x/sys => golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c
replace golang.org/x/sys => golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c require github.com/unknwon/bra v0.0.0-20200517080246-1e3013ecaff8
+2 -2
View File
@@ -1,5 +1,5 @@
module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT
go 1.17 go 1.19
require github.com/golangci/golangci-lint v1.40.1 // cmd/golangci-lint require github.com/golangci/golangci-lint v1.49.0 // cmd/golangci-lint
+322 -608
View File
File diff suppressed because it is too large Load Diff
+5
View File
@@ -0,0 +1,5 @@
module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT
go 1.18
require github.com/jsonnet-bundler/jsonnet-bundler v0.5.1 // cmd/jb
+50
View File
@@ -0,0 +1,50 @@
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 h1:JYp7IbQjafoB+tBA3gMyHYHrpOtNuDiK/uB5uXxq5wM=
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 h1:s6gZFSlWYmbqAuRjVTiNNhvNRfY2Wxp9nhfyel4rklc=
github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE=
github.com/campoy/embedmd v1.0.0/go.mod h1:oxyr9RCiSXg0M3VJ3ks0UGfp98BpSSGr0kpiX3MzVl8=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w=
github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk=
github.com/jsonnet-bundler/jsonnet-bundler v0.5.1 h1:eUd6EA1Qzz73Q4NLNLOrNkMb96+6NTTERbX9lqaxVwk=
github.com/jsonnet-bundler/jsonnet-bundler v0.5.1/go.mod h1:Qrdw/7mOFS2SKCOALKFfEH8gdvXJi8XZjw9g5ilpf4I=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40=
github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4=
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y=
github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.4/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c h1:aFV+BgZ4svzjfabn8ERpuB4JI4N6/rdy1iusx77G3oU=
golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc=
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+1 -1
View File
@@ -2,4 +2,4 @@ module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT
go 1.18 go 1.18
require github.com/go-swagger/go-swagger v0.29.0 // cmd/swagger require github.com/go-swagger/go-swagger v0.30.2 // cmd/swagger
+38
View File
@@ -1,48 +1,86 @@
github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI=
github.com/Masterminds/semver/v3 v3.1.1 h1:hLg3sBzpNErnxhQtUy/mmLR2I9foDujNK030IGemrRc=
github.com/Masterminds/sprig/v3 v3.2.2 h1:17jRggJu518dr3QaafizSXOjKYp94wKfABxUmyxvxX8=
github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI= github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI=
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=
github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d h1:Byv0BzEl3/e6D5CLfI0j/7hiIEtvGVFPCZ7Ei2oq8iQ= github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d h1:Byv0BzEl3/e6D5CLfI0j/7hiIEtvGVFPCZ7Ei2oq8iQ=
github.com/felixge/httpsnoop v1.0.2 h1:+nS9g82KMXccJ/wp0zyRW9ZBHFETmMGtkk+2CTTrW4o= github.com/felixge/httpsnoop v1.0.2 h1:+nS9g82KMXccJ/wp0zyRW9ZBHFETmMGtkk+2CTTrW4o=
github.com/felixge/httpsnoop v1.0.3 h1:s/nj+GCswXYzN5v2DpNMuMQYe+0DDwt5WVCU6CWBdXk=
github.com/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI= github.com/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI=
github.com/fsnotify/fsnotify v1.5.4 h1:jRbGcIw6P2Meqdwuo0H1p6JVLbL5DHKAKlYndzMwVZI=
github.com/go-openapi/analysis v0.21.2 h1:hXFrOYFHUAMQdu6zwAiKKJHJQ8kqZs1ux/ru1P1wLJU= github.com/go-openapi/analysis v0.21.2 h1:hXFrOYFHUAMQdu6zwAiKKJHJQ8kqZs1ux/ru1P1wLJU=
github.com/go-openapi/analysis v0.21.4 h1:ZDFLvSNxpDaomuCueM0BlSXxpANBlFYiBvr+GXrvIHc=
github.com/go-openapi/errors v0.20.2 h1:dxy7PGTqEh94zj2E3h1cUmQQWiM1+aeCROfAr02EmK8= github.com/go-openapi/errors v0.20.2 h1:dxy7PGTqEh94zj2E3h1cUmQQWiM1+aeCROfAr02EmK8=
github.com/go-openapi/errors v0.20.3 h1:rz6kiC84sqNQoqrtulzaL/VERgkoCyB6WdEkc2ujzUc=
github.com/go-openapi/inflect v0.19.0 h1:9jCH9scKIbHeV9m12SmPilScz6krDxKRasNNSNPXu/4= github.com/go-openapi/inflect v0.19.0 h1:9jCH9scKIbHeV9m12SmPilScz6krDxKRasNNSNPXu/4=
github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY= github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY=
github.com/go-openapi/jsonreference v0.19.6 h1:UBIxjkht+AWIgYzCDSv2GN+E/togfwXUJFRTWhl2Jjs= github.com/go-openapi/jsonreference v0.19.6 h1:UBIxjkht+AWIgYzCDSv2GN+E/togfwXUJFRTWhl2Jjs=
github.com/go-openapi/jsonreference v0.20.0 h1:MYlu0sBgChmCfJxxUKZ8g1cPWFOB37YSZqewK7OKeyA=
github.com/go-openapi/loads v0.21.0 h1:jYtUO4wwP7psAweisP/MDoOpdzsYEESdoPcsWjHDR68= github.com/go-openapi/loads v0.21.0 h1:jYtUO4wwP7psAweisP/MDoOpdzsYEESdoPcsWjHDR68=
github.com/go-openapi/loads v0.21.2 h1:r2a/xFIYeZ4Qd2TnGpWDIQNcP80dIaZgf704za8enro=
github.com/go-openapi/runtime v0.21.1 h1:/KIG00BzA2x2HRStX2tnhbqbQdPcFlkgsYCiNY20FZs= github.com/go-openapi/runtime v0.21.1 h1:/KIG00BzA2x2HRStX2tnhbqbQdPcFlkgsYCiNY20FZs=
github.com/go-openapi/runtime v0.24.1 h1:Sml5cgQKGYQHF+M7yYSHaH1eOjvTykrddTE/KtQVjqo=
github.com/go-openapi/spec v0.20.4 h1:O8hJrt0UMnhHcluhIdUgCLRWyM2x7QkBXRvOs7m+O1M= github.com/go-openapi/spec v0.20.4 h1:O8hJrt0UMnhHcluhIdUgCLRWyM2x7QkBXRvOs7m+O1M=
github.com/go-openapi/spec v0.20.7 h1:1Rlu/ZrOCCob0n+JKKJAWhNWMPW8bOZRg8FJaY+0SKI=
github.com/go-openapi/strfmt v0.21.1 h1:G6s2t5V5kGCHLVbSdZ/6lI8Wm4OzoPFkc3/cjAsKQrM= github.com/go-openapi/strfmt v0.21.1 h1:G6s2t5V5kGCHLVbSdZ/6lI8Wm4OzoPFkc3/cjAsKQrM=
github.com/go-openapi/strfmt v0.21.3 h1:xwhj5X6CjXEZZHMWy1zKJxvW9AfHC9pkyUjLvHtKG7o=
github.com/go-openapi/swag v0.19.15 h1:D2NRCBzS9/pEY3gP9Nl8aDqGUcPFrwG2p+CNFrLyrCM= github.com/go-openapi/swag v0.19.15 h1:D2NRCBzS9/pEY3gP9Nl8aDqGUcPFrwG2p+CNFrLyrCM=
github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g=
github.com/go-openapi/validate v0.20.3 h1:GZPPhhKSZrE8HjB4eEkoYAZmoWA4+tCemSgINH1/vKw= github.com/go-openapi/validate v0.20.3 h1:GZPPhhKSZrE8HjB4eEkoYAZmoWA4+tCemSgINH1/vKw=
github.com/go-openapi/validate v0.22.0 h1:b0QecH6VslW/TxtpKgzpO1SNG7GU2FsaqKdP1E2T50Y=
github.com/go-stack/stack v1.8.1 h1:ntEHSVwIt7PNXNpgPmVfMrNhLtgjlmnZha2kOpuRiDw= github.com/go-stack/stack v1.8.1 h1:ntEHSVwIt7PNXNpgPmVfMrNhLtgjlmnZha2kOpuRiDw=
github.com/go-swagger/go-swagger v0.29.0 h1:z3YoZtLvS1Y8TE/PCat1VypcZxM0IgKLt0NvZxQyNl8= github.com/go-swagger/go-swagger v0.29.0 h1:z3YoZtLvS1Y8TE/PCat1VypcZxM0IgKLt0NvZxQyNl8=
github.com/go-swagger/go-swagger v0.29.0/go.mod h1:Z4GJzI+bHKKkGB2Ji1rawpi3/ldXX8CkzGIa9HAC5EE= github.com/go-swagger/go-swagger v0.29.0/go.mod h1:Z4GJzI+bHKKkGB2Ji1rawpi3/ldXX8CkzGIa9HAC5EE=
github.com/go-swagger/go-swagger v0.30.2 h1:23odPUyQZdkNFZZSBJ3mqYYcdh+LnuReEbdWN18OMRo=
github.com/go-swagger/go-swagger v0.30.2/go.mod h1:neDPes8r8PCz2JPvHRDj8BTULLh4VJUt7n6MpQqxhHM=
github.com/google/uuid v1.1.2 h1:EVhdT+1Kseyi1/pUmXKaFxYsDNy9RQYkMWRH68J/W7Y=
github.com/gorilla/handlers v1.5.1 h1:9lRY6j8DEeeBT10CvO9hGW0gmky0BprnvDI5vfhUHH4= github.com/gorilla/handlers v1.5.1 h1:9lRY6j8DEeeBT10CvO9hGW0gmky0BprnvDI5vfhUHH4=
github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
github.com/huandu/xstrings v1.3.2 h1:L18LIDzqlW6xN2rEkpdV8+oL/IXWJ1APd+vsdYy4Wdw=
github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU=
github.com/jessevdk/go-flags v1.5.0 h1:1jKYvbxEjfUl0fmqTCOfonvskHHXMjBySTLW4y9LFvc= github.com/jessevdk/go-flags v1.5.0 h1:1jKYvbxEjfUl0fmqTCOfonvskHHXMjBySTLW4y9LFvc=
github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/magiconair/properties v1.8.5 h1:b6kJs+EmPFMYGkow9GiUyCyOvIwYetYJ3fSaWak/Gls= github.com/magiconair/properties v1.8.5 h1:b6kJs+EmPFMYGkow9GiUyCyOvIwYetYJ3fSaWak/Gls=
github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo=
github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0=
github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw=
github.com/mitchellh/mapstructure v1.4.3 h1:OVowDSCllw/YjdLkam3/sm7wEtOy59d8ndGgCcyj8cs= github.com/mitchellh/mapstructure v1.4.3 h1:OVowDSCllw/YjdLkam3/sm7wEtOy59d8ndGgCcyj8cs=
github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ=
github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4=
github.com/pelletier/go-toml v1.9.4 h1:tjENF6MfZAg8e4ZmZTeWaWiT2vXtsoO6+iuOjFhECwM= github.com/pelletier/go-toml v1.9.4 h1:tjENF6MfZAg8e4ZmZTeWaWiT2vXtsoO6+iuOjFhECwM=
github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8=
github.com/pelletier/go-toml/v2 v2.0.1 h1:8e3L2cCQzLFi2CR4g7vGFuFxX7Jl1kKX8gW+iV0GUKU=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/rogpeppe/go-internal v1.8.1 h1:geMPLpDpQOgVyCg5z5GoRwLHepNdb71NXb67XFkP+Eg= github.com/rogpeppe/go-internal v1.8.1 h1:geMPLpDpQOgVyCg5z5GoRwLHepNdb71NXb67XFkP+Eg=
github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8=
github.com/shopspring/decimal v1.2.0 h1:abSATXmQEYyShuxI4/vyW3tV1MrKAJzCZ/0zLUXYbsQ=
github.com/spf13/afero v1.8.0 h1:5MmtuhAgYeU6qpa7w7bP0dv6MBYuup0vekhSpSkoq60= github.com/spf13/afero v1.8.0 h1:5MmtuhAgYeU6qpa7w7bP0dv6MBYuup0vekhSpSkoq60=
github.com/spf13/afero v1.8.2 h1:xehSyVa0YnHWsJ49JFljMpg1HX19V6NDZ1fkm1Xznbo=
github.com/spf13/cast v1.4.1 h1:s0hze+J0196ZfEMTs80N7UlFt0BDuQ7Q+JDnHiMWKdA= github.com/spf13/cast v1.4.1 h1:s0hze+J0196ZfEMTs80N7UlFt0BDuQ7Q+JDnHiMWKdA=
github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w=
github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk=
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
github.com/spf13/viper v1.10.1 h1:nuJZuYpG7gTj/XqiUwg8bA0cp1+M2mC3J4g5luUYBKk= github.com/spf13/viper v1.10.1 h1:nuJZuYpG7gTj/XqiUwg8bA0cp1+M2mC3J4g5luUYBKk=
github.com/spf13/viper v1.12.0 h1:CZ7eSOd3kZoaYDLbXnmzgQI5RlciuXBMA+18HwHRfZQ=
github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s=
github.com/subosito/gotenv v1.3.0 h1:mjC+YW8QpAdXibNi+vNWgzmgBH4+5l5dCXv8cNysBLI=
github.com/toqueteos/webbrowser v1.2.0 h1:tVP/gpK69Fx+qMJKsLE7TD8LuGWPnEV71wBN9rrstGQ= github.com/toqueteos/webbrowser v1.2.0 h1:tVP/gpK69Fx+qMJKsLE7TD8LuGWPnEV71wBN9rrstGQ=
go.mongodb.org/mongo-driver v1.8.2 h1:8ssUXufb90ujcIvR6MyE1SchaNj0SFxsakiZgxIyrMk= go.mongodb.org/mongo-driver v1.8.2 h1:8ssUXufb90ujcIvR6MyE1SchaNj0SFxsakiZgxIyrMk=
go.mongodb.org/mongo-driver v1.10.1 h1:NujsPveKwHaWuKUer/ceo9DzEe7HIj1SlJ6uvXZG0S4=
golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 h1:Y/gsMcFOcR+6S6f3YeMKl5g+dZMEWqcz5Czj/GWYbkM=
golang.org/x/mod v0.5.1 h1:OJxoQ/rynoF0dcCdI7cLPktw/hR2cueqYfjm43oqK38= golang.org/x/mod v0.5.1 h1:OJxoQ/rynoF0dcCdI7cLPktw/hR2cueqYfjm43oqK38=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 h1:6zppjxzCulZykYSLyVDYbneBfbaBIQPYMevg0bEwv2s=
golang.org/x/net v0.0.0-20220121210141-e204ce36a2ba h1:6u6sik+bn/y7vILcYkK3iwTBWN7WtBvB0+SZswQnbf8= golang.org/x/net v0.0.0-20220121210141-e204ce36a2ba h1:6u6sik+bn/y7vILcYkK3iwTBWN7WtBvB0+SZswQnbf8=
golang.org/x/sys v0.0.0-20220114195835-da31bd327af9 h1:XfKQ4OlFl8okEOr5UvAqFRVj8pY/4yfcXrddB8qAbU0= golang.org/x/sys v0.0.0-20220114195835-da31bd327af9 h1:XfKQ4OlFl8okEOr5UvAqFRVj8pY/4yfcXrddB8qAbU0=
golang.org/x/sys v0.0.0-20220829200755-d48e67d00261 h1:v6hYoSR9T5oet+pMXwUWkbiVqx/63mlHjefrHmxwfeY=
golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
golang.org/x/tools v0.1.8 h1:P1HhGGuLW4aAclzjtmJdf0mJOjVUZUzOTqkAkWL+l6w= golang.org/x/tools v0.1.8 h1:P1HhGGuLW4aAclzjtmJdf0mJOjVUZUzOTqkAkWL+l6w=
golang.org/x/tools v0.1.12 h1:VveCTK38A2rkS8ZqFY25HIDFscX5X9OoEhJd3quQmXU=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
gopkg.in/ini.v1 v1.66.3 h1:jRskFVxYaMGAMUbN0UZ7niA9gzL9B49DOqE78vg0k3w= gopkg.in/ini.v1 v1.66.3 h1:jRskFVxYaMGAMUbN0UZ7niA9gzL9B49DOqE78vg0k3w=
gopkg.in/ini.v1 v1.66.4 h1:SsAcf+mM7mRZo2nJNGt8mZCjG8ZRaNGMURJw7BsIST4=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
+5 -3
View File
@@ -1,4 +1,4 @@
# Auto generated binary variables helper managed by https://github.com/bwplotka/bingo v0.6. DO NOT EDIT. # Auto generated binary variables helper managed by https://github.com/bwplotka/bingo v0.7. DO NOT EDIT.
# All tools are designed to be build inside $GOBIN. # All tools are designed to be build inside $GOBIN.
# Those variables will work only until 'bingo get' was invoked, or if tools were installed via Makefile's Variables.mk. # Those variables will work only until 'bingo get' was invoked, or if tools were installed via Makefile's Variables.mk.
GOBIN=${GOBIN:=$(go env GOBIN)} GOBIN=${GOBIN:=$(go env GOBIN)}
@@ -12,9 +12,11 @@ BRA="${GOBIN}/bra-v0.0.0-20200517080246-1e3013ecaff8"
DRONE="${GOBIN}/drone-v1.5.0" DRONE="${GOBIN}/drone-v1.5.0"
SWAGGER="${GOBIN}/swagger-v0.29.0" GOLANGCI_LINT="${GOBIN}/golangci-lint-v1.49.0"
GOLANGCI_LINT="${GOBIN}/golangci-lint-v1.40.1" JB="${GOBIN}/jb-v0.5.1"
SWAGGER="${GOBIN}/swagger-v0.30.2"
WIRE="${GOBIN}/wire-v0.5.0" WIRE="${GOBIN}/wire-v0.5.0"
+3
View File
@@ -1,6 +1,7 @@
[run] [run]
init_cmds = [ init_cmds = [
["make", "gen-go"], ["make", "gen-go"],
["make", "gen-jsonnet"],
["GO_BUILD_DEV=1", "make", "build-cli"], ["GO_BUILD_DEV=1", "make", "build-cli"],
["GO_BUILD_DEV=1", "make", "build-server"], ["GO_BUILD_DEV=1", "make", "build-server"],
["./bin/grafana-server", "-packaging=dev", "cfg:app_mode=development"] ["./bin/grafana-server", "-packaging=dev", "cfg:app_mode=development"]
@@ -11,12 +12,14 @@ watch_dirs = [
"$WORKDIR/pkg", "$WORKDIR/pkg",
"$WORKDIR/public/views", "$WORKDIR/public/views",
"$WORKDIR/conf", "$WORKDIR/conf",
"$WORKDIR/devenv/dev-dashboards",
] ]
watch_exts = [".go", ".ini", ".toml", ".template.html"] watch_exts = [".go", ".ini", ".toml", ".template.html"]
ignore_files = [".*_gen.go"] ignore_files = [".*_gen.go"]
build_delay = 1500 build_delay = 1500
cmds = [ cmds = [
["make", "gen-go"], ["make", "gen-go"],
["make", "gen-jsonnet"],
["GO_BUILD_DEV=1", "make", "build-server"], ["GO_BUILD_DEV=1", "make", "build-server"],
["./bin/grafana-server", "-packaging=dev", "cfg:app_mode=development"] ["./bin/grafana-server", "-packaging=dev", "cfg:app_mode=development"]
] ]
+7 -6
View File
@@ -4,18 +4,19 @@
# 3. Run `make drone` # 3. Run `make drone`
# More information about this process here: https://github.com/grafana/deployment_tools/blob/master/docs/infrastructure/drone/signing.md # More information about this process here: https://github.com/grafana/deployment_tools/blob/master/docs/infrastructure/drone/signing.md
load('scripts/drone/pipelines/pr.star', 'pr_pipelines') load('scripts/drone/events/pr.star', 'pr_pipelines')
load('scripts/drone/pipelines/main.star', 'main_pipelines') load('scripts/drone/events/main.star', 'main_pipelines')
load('scripts/drone/pipelines/docs.star', 'docs_pipelines') load('scripts/drone/pipelines/docs.star', 'docs_pipelines')
load('scripts/drone/pipelines/release.star', 'release_pipelines', 'publish_image_pipelines', 'publish_artifacts_pipelines', 'publish_npm_pipelines', 'publish_packages_pipeline') load('scripts/drone/events/release.star', 'release_pipelines', 'publish_artifacts_pipelines', 'publish_npm_pipelines', 'publish_packages_pipeline', 'artifacts_page_pipeline')
load('scripts/drone/pipelines/publish_images.star', 'publish_image_pipelines_public', 'publish_image_pipelines_security')
load('scripts/drone/version.star', 'version_branch_pipelines') load('scripts/drone/version.star', 'version_branch_pipelines')
load('scripts/drone/pipelines/cron.star', 'cronjobs') load('scripts/drone/events/cron.star', 'cronjobs')
load('scripts/drone/vault.star', 'secrets') load('scripts/drone/vault.star', 'secrets')
def main(ctx): def main(ctx):
edition = 'oss' edition = 'oss'
return pr_pipelines(edition=edition) + main_pipelines(edition=edition) + release_pipelines() + \ return pr_pipelines(edition=edition) + main_pipelines(edition=edition) + release_pipelines() + \
publish_image_pipelines('public') + publish_image_pipelines('security') + \ publish_image_pipelines_public() + publish_image_pipelines_security() + \
publish_artifacts_pipelines('security') + publish_artifacts_pipelines('public') + \ publish_artifacts_pipelines('security') + publish_artifacts_pipelines('public') + \
publish_npm_pipelines('public') + publish_packages_pipeline() + \ publish_npm_pipelines('public') + publish_packages_pipeline() + artifacts_page_pipeline() + \
version_branch_pipelines() + cronjobs(edition=edition) + secrets() version_branch_pipelines() + cronjobs(edition=edition) + secrets()
+1917 -1202
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -17,7 +17,7 @@ vendor
# TS generate from cue by cuetsy # TS generate from cue by cuetsy
**/*.gen.ts **/*.gen.ts
# Auto-generated localisation files # Auto-generated internationalization files
public/locales/_build/ public/locales/_build/
public/locales/**/*.js public/locales/**/*.js
+60 -2
View File
@@ -1,13 +1,15 @@
{ {
"extends": ["@grafana/eslint-config"], "extends": ["@grafana/eslint-config"],
"root": true, "root": true,
"plugins": ["@emotion", "lodash", "jest", "import"], "plugins": ["@emotion", "lodash", "jest", "import", "jsx-a11y"],
"settings": { "settings": {
"import/internal-regex": "^(app/)|(@grafana)", "import/internal-regex": "^(app/)|(@grafana)",
"import/external-module-folders": ["node_modules", ".yarn"] "import/external-module-folders": ["node_modules", ".yarn"]
}, },
"rules": { "rules": {
"react/prop-types": "off", "react/prop-types": "off",
// need to ignore emotion's `css` prop, see https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-unknown-property.md#rule-options
"react/no-unknown-property": ["error", { "ignore": ["css"] }],
"@emotion/jsx-import": "error", "@emotion/jsx-import": "error",
"lodash/import-scope": [2, "member"], "lodash/import-scope": [2, "member"],
"jest/no-focused-tests": "error", "jest/no-focused-tests": "error",
@@ -18,9 +20,36 @@
"newlines-between": "always", "newlines-between": "always",
"alphabetize": { "order": "asc" } "alphabetize": { "order": "asc" }
} }
] ],
"no-restricted-imports": [
"error",
{
"paths": [
{
"name": "react-redux",
"importNames": ["useDispatch", "useSelector"],
"message": "Please import from app/types instead."
},
{
"name": "react-i18next",
"importNames": ["Trans", "t"],
"message": "Please import from app/core/internationalization instead"
}
]
}
],
// Use typescript's no-redeclare for compatibility with overrides
"no-redeclare": "off",
"@typescript-eslint/no-redeclare": ["error"]
}, },
"overrides": [ "overrides": [
{
"files": ["public/app/features/scenes/**/*.{ts,tsx}"],
"rules": {
"@typescript-eslint/explicit-member-accessibility": ["error", { "accessibility": "explicit" }]
}
},
{ {
"files": ["packages/grafana-ui/src/components/uPlot/**/*.{ts,tsx}"], "files": ["packages/grafana-ui/src/components/uPlot/**/*.{ts,tsx}"],
"rules": { "rules": {
@@ -35,6 +64,35 @@
"react/jsx-uses-react": "off", "react/jsx-uses-react": "off",
"react/react-in-jsx-scope": "off" "react/react-in-jsx-scope": "off"
} }
},
{
"files": ["public/dashboards/scripted*.js"],
"rules": {
"no-redeclare": "error",
"@typescript-eslint/no-redeclare": "off"
}
},
{
"extends": ["plugin:jsx-a11y/recommended"],
"files": ["**/*"],
"excludedFiles": ["**/*.{spec,test}.{ts,tsx}"],
"rules": {
// rules marked "off" are those left in the recommended preset we need to fix
// we should remove the corresponding line and fix them one by one
// any marked "error" contain specific overrides we'll need to keep
"jsx-a11y/click-events-have-key-events": "off",
"jsx-a11y/no-autofocus": [
"error",
{
"ignoreNonDOM": true
}
],
"jsx-a11y/no-static-element-interactions": "off",
"jsx-a11y/label-has-associated-control": [ "error", {
"controlComponents": ["NumberInput"],
"depth": 2
}]
}
} }
] ]
} }
+72 -23
View File
@@ -11,12 +11,27 @@
# In each subsection folders are ordered first by depth, then alphabetically. # In each subsection folders are ordered first by depth, then alphabetically.
# This should make it easy to add new rules without breaking existing ones. # This should make it easy to add new rules without breaking existing ones.
# Documentation owner: Jita Chatterjee # Documentation
/docs/ @grafana/docs-squad /docs/ @grafana/docs-squad
/contribute/ @marcusolsson @grafana/docs-squad /contribute/ @grafana/docs-squad
/docs/sources/developers/plugins/ @marcusolsson @grafana/docs-squad @grafana/plugins-platform-frontend @grafana/plugins-platform-backend /docs/sources/developers/plugins/ @grafana/docs-squad @grafana/plugins-platform-frontend @grafana/plugins-platform-backend
/docs/sources/developers/plugins/backend @marcusolsson @grafana/docs-squad @grafana/plugins-platform-backend /docs/sources/developers/plugins/backend @grafana/docs-squad @grafana/plugins-platform-backend
/docs/sources/enterprise/ @osg-grafana @grafana/docs-squad # Set up, dashboards/visualization, best practices: Chris Moyer
# Alerting: Brenda Muir
/docs/sources/administration/ @Eve832 @GrafanaWriter
/docs/sources/alerting @brendamuir
/docs/sources/best-practices/ @chri2547
/docs/sources/dashboards/ @chri2547
/docs/sources/datasources/ @Eve832 @GrafanaWriter
/docs/sources/enterprise/ @Eve832 @GrafanaWriter
/docs/sources/explore/ @Eve832 @GrafanaWriter
/docs/sources/getting-started/ @chri2547
/docs/sources/old-alerting @brendamuir
/docs/sources/panels/ @chri2547
/docs/sources/release-notes/ @Eve832 @GrafanaWriter
/docs/sources/setup-grafana/ @chri2547
/docs/sources/visualization/ @chri2547
/docs/sources/whatsnew/ @Eve832 @GrafanaWriter
# Backend code # Backend code
*.go @grafana/backend-platform *.go @grafana/backend-platform
@@ -24,6 +39,16 @@ go.mod @grafana/backend-platform
go.sum @grafana/backend-platform go.sum @grafana/backend-platform
/.bingo @grafana/backend-platform /.bingo @grafana/backend-platform
# Backend code, developers environment
/devenv/docker/blocks/auth @grafana/grafana-authnz-team
# Logs code, developers environment
/devenv/docker/blocks/loki* @grafana/observability-logs
/devenv/docker/blocks/elastic* @grafana/observability-logs
# Performance tests
/devenv/docker/loadtests-ts @grafana/grafana-edge-squad
# Continuous Integration # Continuous Integration
.drone.yml @grafana/grafana-release-eng .drone.yml @grafana/grafana-release-eng
.drone.star @grafana/grafana-release-eng .drone.star @grafana/grafana-release-eng
@@ -38,12 +63,12 @@ go.sum @grafana/backend-platform
# Observability backend code # Observability backend code
/pkg/tsdb/prometheus @grafana/observability-metrics /pkg/tsdb/prometheus @grafana/observability-metrics
/pkg/tsdb/influxdb @grafana/observability-metrics /pkg/tsdb/influxdb @grafana/observability-metrics
/pkg/tsdb/elasticsearch @grafana/observability-logs-and-traces /pkg/tsdb/elasticsearch @grafana/observability-logs
/pkg/tsdb/graphite @grafana/observability-metrics /pkg/tsdb/graphite @grafana/observability-metrics
/pkg/tsdb/jaeger @grafana/observability-logs-and-traces /pkg/tsdb/jaeger @grafana/observability-traces-and-profiling
/pkg/tsdb/loki @grafana/observability-logs-and-traces /pkg/tsdb/loki @grafana/observability-logs
/pkg/tsdb/zipkin @grafana/observability-logs-and-traces /pkg/tsdb/zipkin @grafana/observability-traces-and-profiling
/pkg/tsdb/tempo @grafana/observability-logs-and-traces /pkg/tsdb/tempo @grafana/observability-traces-and-profiling
# BI backend code # BI backend code
/pkg/tsdb/mysql @grafana/grafana-bi-squad /pkg/tsdb/mysql @grafana/grafana-bi-squad
@@ -58,9 +83,10 @@ go.sum @grafana/backend-platform
/pkg/services/live/ @grafana/grafana-edge-squad /pkg/services/live/ @grafana/grafana-edge-squad
/pkg/services/searchV2/ @grafana/grafana-edge-squad /pkg/services/searchV2/ @grafana/grafana-edge-squad
/pkg/services/store/ @grafana/grafana-edge-squad /pkg/services/store/ @grafana/grafana-edge-squad
/pkg/services/querylibrary/ @grafana/grafana-edge-squad
/pkg/services/export/ @grafana/grafana-edge-squad /pkg/services/export/ @grafana/grafana-edge-squad
/pkg/infra/filestore/ @grafana/grafana-edge-squad /pkg/infra/filestore/ @grafana/grafana-edge-squad
pkg/tsdb/testdatasource/sims/ @grafana/grafana-edge-squad /pkg/tsdb/testdatasource/sims/ @grafana/grafana-edge-squad
# Alerting # Alerting
/pkg/services/ngalert @grafana/alerting-squad-backend /pkg/services/ngalert @grafana/alerting-squad-backend
@@ -78,6 +104,7 @@ pkg/tsdb/testdatasource/sims/ @grafana/grafana-edge-squad
/pkg/plugins @grafana/plugins-platform-backend /pkg/plugins @grafana/plugins-platform-backend
/pkg/services/datasourceproxy @grafana/plugins-platform-backend /pkg/services/datasourceproxy @grafana/plugins-platform-backend
/pkg/services/datasources @grafana/plugins-platform-backend /pkg/services/datasources @grafana/plugins-platform-backend
/pkg/plugins/pfs @grafana/plugins-platform-backend @grafana/grafana-as-code
# Dashboard previews / crawler (behind feature flag) # Dashboard previews / crawler (behind feature flag)
/pkg/services/thumbs @grafana/grafana-edge-squad /pkg/services/thumbs @grafana/grafana-edge-squad
@@ -87,19 +114,24 @@ pkg/tsdb/testdatasource/sims/ @grafana/grafana-edge-squad
/contribute/architecture/backend @grafana/backend-platform /contribute/architecture/backend @grafana/backend-platform
/contribute/engineering/backend @grafana/backend-platform /contribute/engineering/backend @grafana/backend-platform
/crowdin.yml @grafana/user-essentials
/public/locales @grafana/user-essentials
/public/app/core/internationalization @grafana/user-essentials
/e2e @grafana/user-essentials /e2e @grafana/user-essentials
/e2e/cloud-plugins-suite @grafana/cloud-provider-plugins
/packages @grafana/user-essentials @grafana/plugins-platform-frontend @grafana/grafana-bi-squad /packages @grafana/user-essentials @grafana/plugins-platform-frontend @grafana/grafana-bi-squad
/packages/grafana-e2e-selectors @grafana/user-essentials /packages/grafana-e2e-selectors @grafana/user-essentials
/packages/grafana-e2e @grafana/user-essentials /packages/grafana-e2e @grafana/user-essentials
/packages/grafana-toolkit @grafana/plugins-platform-frontend /packages/grafana-toolkit @grafana/plugins-platform-frontend
/packages/grafana-ui/.storybook @grafana/plugins-platform-frontend /packages/grafana-ui/.storybook @grafana/plugins-platform-frontend
/packages/grafana-ui/src/components/DateTimePickers @grafana/grafana-bi-squad /packages/grafana-ui/src/components/DateTimePickers @grafana/user-essentials
/packages/grafana-ui/src/components/GraphNG @grafana/grafana-bi-squad /packages/grafana-ui/src/components/GraphNG @grafana/grafana-bi-squad
/packages/grafana-ui/src/components/Logs @grafana/observability-logs
/packages/grafana-ui/src/components/Table @grafana/grafana-bi-squad /packages/grafana-ui/src/components/Table @grafana/grafana-bi-squad
/packages/grafana-ui/src/components/TimeSeries @grafana/grafana-bi-squad /packages/grafana-ui/src/components/TimeSeries @grafana/grafana-bi-squad
/packages/grafana-ui/src/components/uPlot @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/grafana-ui/src/utils/storybook @grafana/plugins-platform-frontend
/packages/jaeger-ui-components/ @grafana/observability-logs-and-traces /packages/jaeger-ui-components/ @grafana/observability-traces-and-profiling
/plugins-bundled @grafana/plugins-platform-frontend /plugins-bundled @grafana/plugins-platform-frontend
# public folder # public folder
/public/app/core/components/TimePicker @grafana/grafana-bi-squad /public/app/core/components/TimePicker @grafana/grafana-bi-squad
@@ -108,6 +140,7 @@ pkg/tsdb/testdatasource/sims/ @grafana/grafana-edge-squad
/public/app/features/comments/ @grafana/grafana-edge-squad /public/app/features/comments/ @grafana/grafana-edge-squad
/public/app/features/dimensions/ @grafana/grafana-edge-squad /public/app/features/dimensions/ @grafana/grafana-edge-squad
/public/app/features/geo/ @grafana/grafana-edge-squad /public/app/features/geo/ @grafana/grafana-edge-squad
/public/app/features/storage/ @grafana/grafana-edge-squad
/public/app/features/live/ @grafana/grafana-edge-squad /public/app/features/live/ @grafana/grafana-edge-squad
/public/app/features/explore/ @grafana/observability-experience-squad /public/app/features/explore/ @grafana/observability-experience-squad
/public/app/features/plugins @grafana/plugins-platform-frontend /public/app/features/plugins @grafana/plugins-platform-frontend
@@ -116,8 +149,9 @@ pkg/tsdb/testdatasource/sims/ @grafana/grafana-edge-squad
/public/app/plugins/panel/barchart @grafana/grafana-bi-squad /public/app/plugins/panel/barchart @grafana/grafana-bi-squad
/public/app/plugins/panel/heatmap @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/histogram @grafana/grafana-bi-squad
/public/app/plugins/panel/logs @grafana/observability-logs-and-traces /public/app/plugins/panel/logs @grafana/observability-logs
/public/app/plugins/panel/nodeGraph @grafana/observability-logs-and-traces /public/app/plugins/panel/nodeGraph @grafana/observability-traces-and-profiling
/public/app/plugins/panel/traces @grafana/observability-traces-and-profiling
/public/app/plugins/panel/piechart @grafana/grafana-bi-squad /public/app/plugins/panel/piechart @grafana/grafana-bi-squad
/public/app/plugins/panel/state-timeline @grafana/grafana-bi-squad /public/app/plugins/panel/state-timeline @grafana/grafana-bi-squad
/public/app/plugins/panel/status-history @grafana/grafana-bi-squad /public/app/plugins/panel/status-history @grafana/grafana-bi-squad
@@ -130,8 +164,6 @@ pkg/tsdb/testdatasource/sims/ @grafana/grafana-edge-squad
/scripts/build/release-packages.sh @grafana/plugins-platform-frontend /scripts/build/release-packages.sh @grafana/plugins-platform-frontend
/scripts/circle-release-next-packages.sh @grafana/plugins-platform-frontend /scripts/circle-release-next-packages.sh @grafana/plugins-platform-frontend
/scripts/ci-frontend-metrics.sh @grafana/user-essentials @grafana/plugins-platform-frontend @grafana/grafana-bi-squad /scripts/ci-frontend-metrics.sh @grafana/user-essentials @grafana/plugins-platform-frontend @grafana/grafana-bi-squad
/scripts/ci-reference-docs-build.sh @grafana/plugins-platform-frontend
/scripts/ci-reference-docs-lint.sh @grafana/plugins-platform-frontend
/scripts/grunt @grafana/frontend-ops /scripts/grunt @grafana/frontend-ops
/scripts/webpack @grafana/frontend-ops /scripts/webpack @grafana/frontend-ops
/scripts/generate-a11y-report.sh @grafana/user-essentials /scripts/generate-a11y-report.sh @grafana/user-essentials
@@ -143,26 +175,27 @@ lerna.json @grafana/frontend-ops
.eslintrc @grafana/frontend-ops .eslintrc @grafana/frontend-ops
.pa11yci.conf.js @grafana/user-essentials .pa11yci.conf.js @grafana/user-essentials
.pa11yci-pr.conf.js @grafana/user-essentials .pa11yci-pr.conf.js @grafana/user-essentials
.betterer.results @joshhunt
# @grafana/ui component documentation # @grafana/ui component documentation
*.mdx @marcusolsson @jessover9000 @grafana/plugins-platform-frontend *.mdx @grafana/plugins-platform-frontend
# Core datasources # Core datasources
/public/app/plugins/datasource/cloudwatch @grafana/aws-plugins /public/app/plugins/datasource/cloudwatch @grafana/aws-plugins
/public/app/plugins/datasource/elasticsearch @grafana/observability-logs-and-traces /public/app/plugins/datasource/elasticsearch @grafana/observability-logs
/public/app/plugins/datasource/grafana-azure-monitor-datasource @grafana/cloud-provider-plugins /public/app/plugins/datasource/grafana-azure-monitor-datasource @grafana/cloud-provider-plugins
/public/app/plugins/datasource/graphite @grafana/observability-metrics /public/app/plugins/datasource/graphite @grafana/observability-metrics
/public/app/plugins/datasource/influxdb @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/jaeger @grafana/observability-traces-and-profiling
/public/app/plugins/datasource/loki @grafana/observability-logs-and-traces /public/app/plugins/datasource/loki @grafana/observability-logs
/public/app/plugins/datasource/mssql @grafana/grafana-bi-squad /public/app/plugins/datasource/mssql @grafana/grafana-bi-squad
/public/app/plugins/datasource/mysql @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/opentsdb @grafana/backend-platform
/public/app/plugins/datasource/postgres @grafana/grafana-bi-squad /public/app/plugins/datasource/postgres @grafana/grafana-bi-squad
/public/app/plugins/datasource/prometheus @grafana/observability-metrics /public/app/plugins/datasource/prometheus @grafana/observability-metrics
/public/app/plugins/datasource/cloud-monitoring @grafana/cloud-provider-plugins /public/app/plugins/datasource/cloud-monitoring @grafana/cloud-provider-plugins
/public/app/plugins/datasource/zipkin @grafana/observability-logs-and-traces /public/app/plugins/datasource/zipkin @grafana/observability-traces-and-profiling
/public/app/plugins/datasource/tempo @grafana/observability-logs-and-traces /public/app/plugins/datasource/tempo @grafana/observability-traces-and-profiling
/public/app/plugins/datasource/alertmanager @grafana/alerting-squad /public/app/plugins/datasource/alertmanager @grafana/alerting-squad
# Cloud middleware # Cloud middleware
@@ -181,3 +214,19 @@ lerna.json @grafana/frontend-ops
/pkg/services/oauthtoken @grafana/grafana-authnz-team /pkg/services/oauthtoken @grafana/grafana-authnz-team
/pkg/services/teamguardian @grafana/grafana-authnz-team /pkg/services/teamguardian @grafana/grafana-authnz-team
/pkg/services/serviceaccounts @grafana/grafana-authnz-team /pkg/services/serviceaccounts @grafana/grafana-authnz-team
# Grafana Partnerships Team
/pkg/infra/httpclient/httpclientprovider/sigv4_middleware.go @grafana/grafana-partnerships-team
# Kind system and code generation
embed.go @grafana/grafana-as-code
/kinds/ @grafana/grafana-as-code
/pkg/codegen @grafana/grafana-as-code
/pkg/kindsys @grafana/grafana-as-code
/pkg/kinds/*/*_gen.go @grafana/grafana-as-code
/pkg/registry/corekind @grafana/grafana-as-code
/public/app/plugins/*gen.go @grafana/grafana-as-code
# Specific core kinds
/kinds/raw/ @grafana/grafana-edge-squad
/kinds/structured/dashboard @grafana/dashboards-squad
+14 -2
View File
@@ -14,11 +14,23 @@ Thank you for sending a pull request! Here are some tips:
6. Name your PR as "<FeatureArea>: Describe your change", e.g. Alerting: Prevent race condition. If it's a fix or feature relevant for the changelog describe the user impact in the title. The PR title is used to auto-generate the changelog for issues marked with the "add to changelog" label. 6. Name your PR as "<FeatureArea>: Describe your change", e.g. Alerting: Prevent race condition. If it's a fix or feature relevant for the changelog describe the user impact in the title. The PR title is used to auto-generate the changelog for issues marked with the "add to changelog" label.
7. If your PR content should be added to the What's New document for the next major or minor release, add the **add to what's new** label to your PR. Note that you should add this label to the main PR that introduces the feature; do not add this label to smaller PRs for the feature.
--> -->
**What this PR does / why we need it**: **What is this feature?**
**Which issue(s) this PR fixes**: [Add a brief description of what the feature or update does.]
**Why do we need this feature?**
[Add a description of the problem the feature is trying to solve.]
**Who is this feature for?**
[Add information on what kind of user the feature is for.]
**Which issue(s) does this PR fix?**:
<!-- <!--
+8 -15
View File
@@ -41,6 +41,7 @@
"type":"label", "type":"label",
"name":"bot/no new info", "name":"bot/no new info",
"action":"close", "action":"close",
"removeLabel":"needs more info",
"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!" "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!"
}, },
{ {
@@ -79,7 +80,7 @@
"name":"datasource/Azure", "name":"datasource/Azure",
"action":"addToProject", "action":"addToProject",
"addToProject":{ "addToProject":{
"url":"https://github.com/orgs/grafana/projects/97" "url":"https://github.com/orgs/grafana/projects/190"
} }
}, },
{ {
@@ -103,7 +104,7 @@
"name":"datasource/GoogleCloudMonitoring", "name":"datasource/GoogleCloudMonitoring",
"action":"addToProject", "action":"addToProject",
"addToProject":{ "addToProject":{
"url":"https://github.com/orgs/grafana/projects/97" "url":"https://github.com/orgs/grafana/projects/190"
} }
}, },
{ {
@@ -138,20 +139,12 @@
"url":"https://github.com/orgs/grafana/projects/112" "url":"https://github.com/orgs/grafana/projects/112"
} }
}, },
{
"type":"label",
"name":"datasource/OpenSearch",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/110"
}
},
{ {
"type":"label", "type":"label",
"name":"datasource/Loki", "name":"datasource/Loki",
"action":"addToProject", "action":"addToProject",
"addToProject":{ "addToProject":{
"url":"https://github.com/orgs/grafana/projects/110" "url":"https://github.com/orgs/grafana/projects/203"
} }
}, },
{ {
@@ -159,7 +152,7 @@
"name":"datasource/Tempo", "name":"datasource/Tempo",
"action":"addToProject", "action":"addToProject",
"addToProject":{ "addToProject":{
"url":"https://github.com/orgs/grafana/projects/110" "url":"https://github.com/orgs/grafana/projects/221"
} }
}, },
{ {
@@ -167,7 +160,7 @@
"name":"datasource/Elasticsearch", "name":"datasource/Elasticsearch",
"action":"addToProject", "action":"addToProject",
"addToProject":{ "addToProject":{
"url":"https://github.com/orgs/grafana/projects/110" "url":"https://github.com/orgs/grafana/projects/203"
} }
}, },
{ {
@@ -175,7 +168,7 @@
"name":"datasource/Jaeger", "name":"datasource/Jaeger",
"action":"addToProject", "action":"addToProject",
"addToProject":{ "addToProject":{
"url":"https://github.com/orgs/grafana/projects/110" "url":"https://github.com/orgs/grafana/projects/221"
} }
}, },
{ {
@@ -183,7 +176,7 @@
"name":"datasource/Zipkin", "name":"datasource/Zipkin",
"action":"addToProject", "action":"addToProject",
"addToProject":{ "addToProject":{
"url":"https://github.com/orgs/grafana/projects/110" "url":"https://github.com/orgs/grafana/projects/221"
} }
}, },
{ {
+4 -4
View File
@@ -16,6 +16,10 @@
"name": "needs_more_info", "name": "needs_more_info",
"query": "label:\"needs more info\" is:open" "query": "label:\"needs more info\" is:open"
}, },
{
"name": "triage_needs_confirmation",
"query": "label:\"triage/needs-confirmation\" is:open"
},
{ {
"name": "unlabeled", "name": "unlabeled",
"query": "is:open is:issue no:label" "query": "is:open is:issue no:label"
@@ -23,10 +27,6 @@
{ {
"name": "open_prs", "name": "open_prs",
"query": "is:open is:pr" "query": "is:open is:pr"
},
{
"name": "milestone_7_4_open",
"query": "is:open is:issue milestone:7.4"
} }
] ]
} }
+32 -13
View File
@@ -4,29 +4,18 @@
], ],
"enabledManagers": ["npm"], "enabledManagers": ["npm"],
"ignoreDeps": [ "ignoreDeps": [
"@grafana/slate-react", // should be updated when the `slate` package is updated
"@types/systemjs", "@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 "@types/react-icons", // jaeger-ui-components is being refactored to use @grafana/ui icons instead
"commander", // we are planning to remove this, so no need to update it "commander", // we are planning to remove this, so no need to update it
"d3",
"d3-force", // we should bump this once we move to esm modules
"d3-interpolate", // we should bump this once we move to esm modules
"d3-scale-chromatic", // we should bump this once we move to esm modules
"execa", // we should bump this once we move to esm modules "execa", // we should bump this once we move to esm modules
"history", // we should bump this together with react-router-dom "history", // we should bump this together with react-router-dom
"@mdx-js/react", // storybook peer-depends on it's 1.x version, we should upgrade this when we upgrade storybook "@mdx-js/react", // storybook peer-depends on its 1.x version, we should upgrade this when we upgrade storybook
"monaco-editor", // due to us exposing this via @grafana/ui/CodeEditor's props bumping can break plugins "monaco-editor", // due to us exposing this via @grafana/ui/CodeEditor's props bumping can break plugins
"node-fetch", // we should bump this once we move to esm modules "node-fetch", // we should bump this once we move to esm modules
"react-hook-form", // due to us exposing these hooks via @grafana/ui form components bumping can break plugins "react-hook-form", // due to us exposing these hooks via @grafana/ui form components bumping can break plugins
"react-icons", // jaeger-ui-components is being refactored to use @grafana/ui icons instead "react-icons", // jaeger-ui-components is being refactored to use @grafana/ui icons instead
"react-redux", // react-beautiful-dnd depends on react-redux 7.x, we need to update that one first "react-redux", // react-beautiful-dnd depends on react-redux 7.x, we need to update that one first
"react-router-dom", // we should bump this together with history "react-router-dom", // we should bump this together with history
"slate",
"slate-plain-serializer",
"systemjs", "systemjs",
"copy-webpack-plugin", // try to upgrade with newer yarn release. Not working with 3.1.1 "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 "ts-loader", // we should remove ts-loader and use babel-loader instead
@@ -54,7 +43,37 @@
"matchPackagePatterns": ["@storybook"], "matchPackagePatterns": ["@storybook"],
"extends": ["schedule:monthly"], "extends": ["schedule:monthly"],
"groupName": "Storybook updates" "groupName": "Storybook updates"
} },
{
"groupName": "React Aria",
"matchPackagePrefixes": [
"@react-aria/",
"@react-stately/"
]
},
{
"groupName": "Moveable",
"matchPackageNames": [
"moveable",
"react-moveable"
]
},
{
"groupName": "Slate",
"matchPackageNames": [
"@types/slate",
"@types/slate-react",
"slate",
"slate-react"
]
},
{
"groupName": "d3",
"matchPackagePrefixes": [
"d3",
"@types/d3"
]
},
], ],
"pin": { "pin": {
"enabled": false "enabled": false
+1
View File
@@ -7,4 +7,5 @@ test:
# Alerting team # Alerting team
area/alerting: area/alerting:
github-board: 52
channel-label: C02B9MXQE0J channel-label: C02B9MXQE0J
+9 -28
View File
@@ -3,19 +3,8 @@ on:
workflow_dispatch: workflow_dispatch:
inputs: inputs:
version: version:
description: 'Needs to match, exactly, the name of a milestone. 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 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
env: env:
YARN_ENABLE_IMMUTABLE_INSTALLS: false YARN_ENABLE_IMMUTABLE_INSTALLS: false
jobs: jobs:
@@ -28,7 +17,7 @@ jobs:
id: regex-match id: regex-match
with: with:
text: ${{ github.event.inputs.version }} text: ${{ github.event.inputs.version }}
regex: '^(\d+.\d+).\d+(?:-beta.\d+)?$' regex: '^(\d+.\d+).\d+(?:-beta\d+)?$'
- uses: actions-ecosystem/action-regex-match@v2.0.2 - uses: actions-ecosystem/action-regex-match@v2.0.2
if: ${{ inputs.version_call != '' }} if: ${{ inputs.version_call != '' }}
id: regex-match-version-call id: regex-match-version-call
@@ -40,7 +29,7 @@ jobs:
run: | run: |
echo "The input version format is not correct, please respect:\ echo "The input version format is not correct, please respect:\
major.minor.patch or major.minor.patch-beta.number format. \ major.minor.patch or major.minor.patch-beta.number format. \
example: 7.4.3 or 7.4.3-beta.1" example: 7.4.3 or 7.4.3-beta1"
exit 1 exit 1
- name: Validate input version call - name: Validate input version call
if: ${{ inputs.version_call != '' && steps.regex-match-version-call.outputs.match == '' }} if: ${{ inputs.version_call != '' && steps.regex-match-version-call.outputs.match == '' }}
@@ -55,10 +44,10 @@ jobs:
- name: Set intermedia variables - name: Set intermedia variables
id: intermedia id: intermedia
run: | run: |
echo "::set-output name=short_ref::${GITHUB_REF#refs/*/}" echo "short_ref=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT
echo "::set-output name=check_passed::false" echo "check_passed=false" >> $GITHUB_OUTPUT
echo "::set-output name=branch_name::v${{steps.regex-match.outputs.group1}}" echo "branch_name=v${{steps.regex-match.outputs.group1}}" >> $GITHUB_OUTPUT
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)" echo "branch_exist=$(git ls-remote --heads https://github.com/grafana/grafana.git v${{ steps.regex-match.outputs.group1 }}.x | wc -l)" >> $GITHUB_OUTPUT
- name: Check input version is aligned with branch(main) - name: Check input version is aligned with branch(main)
if: ${{ github.event.inputs.version != '' && steps.intermedia.outputs.branch_exist == '0' && !contains(steps.intermedia.outputs.short_ref, 'main') }} if: ${{ github.event.inputs.version != '' && steps.intermedia.outputs.branch_exist == '0' && !contains(steps.intermedia.outputs.short_ref, 'main') }}
@@ -74,21 +63,13 @@ jobs:
repository: "grafana/grafana-github-actions" repository: "grafana/grafana-github-actions"
path: ./actions path: ./actions
ref: main ref: main
- uses: actions/setup-node@v3.3.0 - uses: actions/setup-node@v3.5.1
with: with:
node-version: '16' node-version: '16'
- name: Install Actions - name: Install Actions
run: npm install --production --prefix ./actions run: npm install --production --prefix ./actions
- name: Run bump version (manually invoked) - name: Run bump version (manually invoked)
if: ${{ github.event.inputs.version != '' }}
uses: ./actions/bump-version uses: ./actions/bump-version
with: with:
token: ${{ secrets.GH_BOT_ACCESS_TOKEN }} token: ${{ secrets.GH_BOT_ACCESS_TOKEN }}
metricsWriteAPIKey: ${{ secrets.GRAFANA_MISC_STATS_API_KEY }} 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 }}
@@ -14,4 +14,7 @@ on:
jobs: jobs:
workflow-call: workflow-call:
uses: grafana/code-coverage/.github/workflows/code-coverage.yml@v0.1.2 uses: grafana/code-coverage/.github/workflows/code-coverage.yml@v0.1.12
with:
frontend-path-regexp: public\/app\/plugins\/datasource\/(grafana-azure-monitor-datasource|cloud-monitoring|cloudwatch)
backend-path-regexp: pkg\/tsdb\/(azuremonitor|cloudmonitoring|cloudwatch)
+13
View File
@@ -6,6 +6,7 @@
name: "CodeQL" name: "CodeQL"
on: on:
workflow_dispatch:
push: push:
branches: [main, v1.8.x, v2.0.x, v2.1.x, v2.6.x, v3.0.x, v3.1.x, v4.0.x, v4.1.x, v4.2.x, v4.3.x, v4.4.x, v4.5.x, v4.6.x, v4.7.x, v5.0.x, v5.1.x, v5.2.x, v5.3.x, v5.4.x, v6.0.x, v6.1.x, v6.2.x, v6.3.x, v6.4.x, v6.5.x, v6.6.x, v6.7.x, v7.0.x, v7.1.x, v7.2.x] branches: [main, v1.8.x, v2.0.x, v2.1.x, v2.6.x, v3.0.x, v3.1.x, v4.0.x, v4.1.x, v4.2.x, v4.3.x, v4.4.x, v4.5.x, v4.6.x, v4.7.x, v5.0.x, v5.1.x, v5.2.x, v5.3.x, v5.4.x, v6.0.x, v6.1.x, v6.2.x, v6.3.x, v6.4.x, v6.5.x, v6.6.x, v6.7.x, v7.0.x, v7.1.x, v7.2.x]
paths-ignore: paths-ignore:
@@ -39,6 +40,12 @@ jobs:
# a pull request then we can checkout the head. # a pull request then we can checkout the head.
fetch-depth: 2 fetch-depth: 2
- if: matrix.language == 'go'
name: Set go version
uses: actions/setup-go@v3
with:
go-version: '1.19.2'
# Initializes the CodeQL tools for scanning. # Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL - name: Initialize CodeQL
uses: github/codeql-action/init@v2 uses: github/codeql-action/init@v2
@@ -49,5 +56,11 @@ jobs:
# Prefix the list here with "+" to use these queries and those in the config file. # Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main # queries: ./path/to/local/query, your-org/your-repo/queries@main
- if: matrix.language == 'go'
name: Build go files
run: |
go mod verify
make build-go
- name: Perform CodeQL Analysis - name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2 uses: github/codeql-action/analyze@v2
@@ -0,0 +1,32 @@
# Workflow for skipping the Levitate detection
# (This is needed because workflows that are skipped due to path filtering will show up as pending in Github.
# As this has the same name as the one in detect-breaking-changes-build.yml it will take over in these cases and succeed quickly.)
name: Levitate / Detect breaking changes
on:
pull_request:
paths-ignore:
- "packages/**"
jobs:
detect:
name: Detect breaking changes
runs-on: ubuntu-latest
steps:
- name: Skipping
run: echo "No modifications in the public API (packages/), skipping."
# Build and persist output as a JSON (we need to tell the report workflow that the check has been skipped)
- name: Persisting the check output
run: |
mkdir -p ./levitate
echo "{ \"shouldSkip\": true }" > ./levitate/result.json
# Upload artifact (so it can be used in the more privileged "report" workflow)
- name: Upload check output as artifact
uses: actions/upload-artifact@v3
with:
name: levitate
path: levitate/
@@ -1,6 +1,12 @@
# Only runs if anything under the packages/ directory changes.
# (Otherwise detect-breaking-changes-build-skip.yml takes over)
name: Levitate / Detect breaking changes name: Levitate / Detect breaking changes
on: pull_request on:
pull_request:
paths:
- 'packages/**'
jobs: jobs:
buildPR: buildPR:
@@ -12,30 +18,36 @@ jobs:
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
with: with:
path: './pr' path: './pr'
- uses: actions/setup-node@v3.5.1
with:
node-version: 16.16.0
- name: Get yarn cache directory path - name: Get yarn cache directory path
id: yarn-cache-dir-path id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn config get cacheFolder)" run: echo "dir=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT
- name: Restore yarn cache - name: Restore yarn cache
uses: actions/cache@v2 uses: actions/cache@v3.0.11
id: yarn-cache id: yarn-cache
with: with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }} path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: yarn-cache-folder-${{ hashFiles('**/yarn.lock', '.yarnrc.yml') }} key: yarn-cache-folder-${{ hashFiles('**/yarn.lock', '.yarnrc.yml') }}
restore-keys: | restore-keys: |
yarn-cache-folder- yarn-cache-folder-
- name: Install dependencies - name: Install dependencies
run: yarn install --immutable run: yarn install --immutable
- name: Build packages - name: Build packages
run: yarn packages:build run: yarn packages:build
- name: Zip built packages - name: Pack packages
run: zip -r ./pr_built_packages.zip ./packages/**/dist run: yarn packages:pack --out ./%s.tgz
- name: Zip built tarballed packages
run: zip -r ./pr_built_packages.zip ./packages/**/*.tgz
- name: Upload build output as artifact - name: Upload build output as artifact
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3
@@ -52,31 +64,38 @@ jobs:
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
with: with:
path: './base' path: './base'
ref: ${{ github.event.pull_request.base.ref }} ref: ${{ github.event.pull_request.base.ref }}
- uses: actions/setup-node@v3.5.1
with:
node-version: 16.16.0
- name: Get yarn cache directory path - name: Get yarn cache directory path
id: yarn-cache-dir-path id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn config get cacheFolder)" run: echo "dir=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT
- name: Restore yarn cache - name: Restore yarn cache
uses: actions/cache@v2 uses: actions/cache@v3.0.11
id: yarn-cache id: yarn-cache
with: with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }} path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: yarn-cache-folder-${{ hashFiles('**/yarn.lock', '.yarnrc.yml') }} key: yarn-cache-folder-${{ hashFiles('**/yarn.lock', '.yarnrc.yml') }}
restore-keys: | restore-keys: |
yarn-cache-folder- yarn-cache-folder-
- name: Install dependencies - name: Install dependencies
run: yarn install --immutable run: yarn install --immutable
- name: Build packages - name: Build packages
run: yarn packages:build run: yarn packages:build
- name: Zip built packages - name: Pack packages
run: zip -r ./base_built_packages.zip ./packages/**/dist run: yarn packages:pack --out ./%s.tgz
- name: Zip built tarballed packages
run: zip -r ./base_built_packages.zip ./packages/**/*.tgz
- name: Upload build output as artifact - name: Upload build output as artifact
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3
@@ -103,12 +122,12 @@ jobs:
uses: actions/download-artifact@v3 uses: actions/download-artifact@v3
with: with:
name: buildBase name: buildBase
- name: Unzip artifact from pr - name: Unzip artifact from pr
run: unzip pr_built_packages.zip -d ./pr && rm pr_built_packages.zip run: unzip -j pr_built_packages.zip -d ./pr && rm pr_built_packages.zip
- name: Unzip artifact from base - name: Unzip artifact from base
run: unzip base_built_packages.zip -d ./base && rm base_built_packages.zip run: unzip -j base_built_packages.zip -d ./base && rm base_built_packages.zip
- name: Get link for the Github Action job - name: Get link for the Github Action job
id: job id: job
@@ -120,7 +139,7 @@ jobs:
- name: Detect breaking changes - name: Detect breaking changes
id: breaking-changes id: breaking-changes
run: ./scripts/check-breaking-changes.sh run: ./scripts/check-breaking-changes.sh
env: env:
FORCE_COLOR: 3 FORCE_COLOR: 3
GITHUB_JOB_LINK: ${{ steps.job.outputs.link }} GITHUB_JOB_LINK: ${{ steps.job.outputs.link }}
@@ -135,7 +154,7 @@ jobs:
with: with:
name: levitate name: levitate
path: levitate/ path: levitate/
- name: Exit - name: Exit
run: exit ${{ steps.breaking-changes.outputs.is_breaking }} run: exit ${{ steps.breaking-changes.outputs.is_breaking }}
shell: bash shell: bash
@@ -10,12 +10,13 @@ jobs:
name: Report name: Report
runs-on: ubuntu-latest runs-on: ubuntu-latest
env: env:
ARTIFACT_FOLDER: '${{ github.workspace }}/tmp' ARTIFACT_NAME: 'levitate' # The name of the artifact that we would like to download
ARTIFACT_NAME: 'levitate' ARTIFACT_FOLDER: '${{ github.workspace }}/tmp' # The name of the folder where we will download the artifact to
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
# Download artifact (as a .zip archive)
- name: 'Download artifact' - name: 'Download artifact'
uses: actions/github-script@v6 uses: actions/github-script@v6
env: env:
@@ -49,9 +50,12 @@ jobs:
fs.mkdirSync(artifactFolder, { recursive: true }); fs.mkdirSync(artifactFolder, { recursive: true });
fs.writeFileSync(`${ artifactFolder }/${ artifactName }.zip`, Buffer.from(download.data)); fs.writeFileSync(`${ artifactFolder }/${ artifactName }.zip`, Buffer.from(download.data));
# Unzip artifact
- name: Unzip artifact - name: Unzip artifact
run: unzip "${ARTIFACT_FOLDER}/${ARTIFACT_NAME}.zip" -d "${ARTIFACT_FOLDER}" run: unzip "${ARTIFACT_FOLDER}/${ARTIFACT_NAME}.zip" -d "${ARTIFACT_FOLDER}"
# Parse the artifact and register fields as step output variables
# (All fields in the JSON will be available as ${{ steps.levitate-run.outputs.<field-name> }}
- name: Parsing levitate result - name: Parsing levitate result
uses: actions/github-script@v6 uses: actions/github-script@v6
id: levitate-run id: levitate-run
@@ -61,8 +65,15 @@ jobs:
const script = require('./.github/workflows/scripts/json-file-to-job-output.js'); const script = require('./.github/workflows/scripts/json-file-to-job-output.js');
await script({ core, filePath }); await script({ core, filePath });
# Skip - print a message if the "Detect" workflow was skipped
- name: Check if the workflow should be skipped
if: steps.levitate-run.outputs.shouldSkip == 'true'
run: echo "Skipping."
# Check if label exists
- name: Check if "levitate breaking change" label exists - name: Check if "levitate breaking change" label exists
id: does-label-exist id: does-label-exist
if: steps.levitate-run.outputs.shouldSkip != 'true'
uses: actions/github-script@v6 uses: actions/github-script@v6
env: env:
PR_NUMBER: ${{ github.event.workflow_run.pull_requests[0].number }} PR_NUMBER: ${{ github.event.workflow_run.pull_requests[0].number }}
@@ -78,8 +89,9 @@ jobs:
return doesExist ? 1 : 0; return doesExist ? 1 : 0;
# Comment on the PR
- name: Comment on PR - name: Comment on PR
if: ${{ steps.levitate-run.outputs.exit_code == 1 }} if: steps.levitate-run.outputs.exit_code == 1 && steps.levitate-run.outputs.shouldSkip != 'true'
uses: marocchino/sticky-pull-request-comment@v2 uses: marocchino/sticky-pull-request-comment@v2
with: with:
number: ${{ steps.levitate-run.outputs.pr_number }} number: ${{ steps.levitate-run.outputs.pr_number }}
@@ -93,8 +105,9 @@ jobs:
[Console output](${{ steps.levitate-run.outputs.job_link }}) [Console output](${{ steps.levitate-run.outputs.job_link }})
[Read our guideline](https://github.com/grafana/grafana/blob/main/contribute/breaking-changes-guide.md) [Read our guideline](https://github.com/grafana/grafana/blob/main/contribute/breaking-changes-guide.md)
- name: Remove comment on PR # Remove comment from the PR (no more breaking changes)
if: ${{ steps.levitate-run.outputs.exit_code == 0 }} - name: Remove comment from PR
if: steps.levitate-run.outputs.exit_code == 0 && steps.levitate-run.outputs.shouldSkip != 'true'
uses: marocchino/sticky-pull-request-comment@v2 uses: marocchino/sticky-pull-request-comment@v2
with: with:
number: ${{ steps.levitate-run.outputs.pr_number }} number: ${{ steps.levitate-run.outputs.pr_number }}
@@ -103,8 +116,8 @@ jobs:
# Posts a notification to Slack if a PR has a breaking change and it did not have a breaking change before # Posts a notification to Slack if a PR has a breaking change and it did not have a breaking change before
- name: Post to Slack - name: Post to Slack
id: slack id: slack
if: ${{ steps.levitate-run.outputs.exit_code == 1 && steps.does-label-exist.outputs.result == 0 }} if: steps.levitate-run.outputs.exit_code == 1 && steps.does-label-exist.outputs.result == 0 && steps.levitate-run.outputs.shouldSkip != 'true'
uses: slackapi/slack-github-action@v1.19.0 uses: slackapi/slack-github-action@v1.23.0
with: with:
payload: | payload: |
{ {
@@ -117,8 +130,9 @@ jobs:
env: env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_LEVITATE_WEBHOOK_URL }} SLACK_WEBHOOK_URL: ${{ secrets.SLACK_LEVITATE_WEBHOOK_URL }}
# Add the label
- name: Add "levitate breaking change" label - name: Add "levitate breaking change" label
if: ${{ steps.levitate-run.outputs.exit_code == 1 && steps.does-label-exist.outputs.result == 0 }} if: steps.levitate-run.outputs.exit_code == 1 && steps.does-label-exist.outputs.result == 0 && steps.levitate-run.outputs.shouldSkip != 'true'
uses: actions/github-script@v6 uses: actions/github-script@v6
env: env:
PR_NUMBER: ${{ steps.levitate-run.outputs.pr_number }} PR_NUMBER: ${{ steps.levitate-run.outputs.pr_number }}
@@ -132,8 +146,9 @@ jobs:
labels: ['levitate breaking change'] labels: ['levitate breaking change']
}) })
# Remove label (no more breaking changes)
- name: Remove "levitate breaking change" label - name: Remove "levitate breaking change" label
if: ${{ steps.levitate-run.outputs.exit_code == 0 && steps.does-label-exist.outputs.result == 1 }} if: steps.levitate-run.outputs.exit_code == 0 && steps.does-label-exist.outputs.result == 1 && steps.levitate-run.outputs.shouldSkip != 'true'
uses: actions/github-script@v6 uses: actions/github-script@v6
env: env:
PR_NUMBER: ${{ steps.levitate-run.outputs.pr_number }} PR_NUMBER: ${{ steps.levitate-run.outputs.pr_number }}
@@ -147,10 +162,11 @@ jobs:
name: 'levitate breaking change' name: 'levitate breaking change'
}) })
# Add reviewers
# This is very weird, the actual request goes through (comes back with a 201), but does not assign the team. # 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 # Related issue: https://github.com/renovatebot/renovate/issues/1908
- name: Add "grafana/plugins-platform-frontend" as a reviewer - name: Add "grafana/plugins-platform-frontend" as a reviewer
if: ${{ steps.levitate-run.outputs.exit_code == 1 }} if: steps.levitate-run.outputs.exit_code && steps.levitate-run.outputs.shouldSkip != 'true'
uses: actions/github-script@v6 uses: actions/github-script@v6
env: env:
PR_NUMBER: ${{ steps.levitate-run.outputs.pr_number }} PR_NUMBER: ${{ steps.levitate-run.outputs.pr_number }}
@@ -165,8 +181,9 @@ jobs:
team_reviewers: ['grafana/plugins-platform-frontend'] team_reviewers: ['grafana/plugins-platform-frontend']
}); });
# Remove reviewers (no more breaking changes)
- name: Remove "grafana/plugins-platform-frontend" from the list of reviewers - name: Remove "grafana/plugins-platform-frontend" from the list of reviewers
if: ${{ steps.levitate-run.outputs.exit_code == 0 }} if: steps.levitate-run.outputs.exit_code == 0 && steps.levitate-run.outputs.shouldSkip != 'true'
uses: actions/github-script@v6 uses: actions/github-script@v6
env: env:
PR_NUMBER: ${{ steps.levitate-run.outputs.pr_number }} PR_NUMBER: ${{ steps.levitate-run.outputs.pr_number }}
+16
View File
@@ -0,0 +1,16 @@
name: "doc-validator"
on:
pull_request:
paths: ["docs/sources/**"]
workflow_dispatch:
jobs:
doc-validator:
runs-on: "ubuntu-latest"
container:
image: "grafana/doc-validator:latest"
steps:
- name: "Checkout code"
uses: "actions/checkout@v3"
- name: "Run doc-validator tool"
# Ensure that the CI always passes until all errors are resolved.
run: "doc-validator ./docs/sources || true"
+18 -3
View File
@@ -14,23 +14,37 @@ jobs:
- name: "Determine which team to notify" - name: "Determine which team to notify"
run: | run: |
# Default to null values. # Default to null values.
BOARD="null"
CHANNEL="null" CHANNEL="null"
echo "${{ github.event.label.name }} label added" echo "${{ github.event.label.name }} label added"
export CURRENT_LABEL="${{ github.event.label.name }}" # Enable the use of the label in yq evaluations export CURRENT_LABEL="${{ github.event.label.name }}" # Enable the use of the label in yq evaluations
# yq is installed by default in ubuntu-latest # yq is installed by default in ubuntu-latest
if [[ $(yq e 'keys | .[] | select(. == env(CURRENT_LABEL))' teams.yml ) ]]; then if [[ $(yq e 'keys | .[] | select(. == env(CURRENT_LABEL))' teams.yml ) ]]; then
# Check if we have a board set to use.
if [[ $(yq '.[env(CURRENT_LABEL)] | has("github-board")' teams.yml ) == true ]]; then
BOARD=$(yq '.[env(CURRENT_LABEL)].github-board' teams.yml)
echo "Ready to add issue to Grafana board ${BOARD}"
fi
# Check if we have a channel set to notify on comments. # Check if we have a channel set to notify on comments.
if [[ $(yq '.[env(CURRENT_LABEL)] | has("channel-label")' teams.yml ) == true ]]; then if [[ $(yq '.[env(CURRENT_LABEL)] | has("channel-label")' teams.yml ) == true ]]; then
CHANNEL=$(yq '.[env(CURRENT_LABEL)].channel-label' teams.yml) CHANNEL=$(yq '.[env(CURRENT_LABEL)].channel-label' teams.yml)
echo "Ready to send issue to channel ID ${CHANNEL}"
fi fi
fi fi
# set environment for next step # set environment for next step
echo "BOARD=${BOARD}" >> $GITHUB_ENV
echo "CHANNEL=${CHANNEL}" >> $GITHUB_ENV echo "CHANNEL=${CHANNEL}" >> $GITHUB_ENV
# Debug logging - name: "Add to GitHub board"
echo "Ready to send issue to channel ID ${CHANNEL}" if: ${{ env.BOARD != 'null' }}
uses: leonsteinhaeuser/project-beta-automations@v1.3.0
with:
project_id: ${{ env.BOARD }}
organization: grafana
resource_node_id: ${{ github.event.issue.node_id }}
gh_token: ${{ secrets.GITHUB_TOKEN }}
- name: "Prepare payload" - name: "Prepare payload"
uses: frabert/replace-string-action@v2.0 uses: frabert/replace-string-action@v2.0
@@ -43,7 +57,8 @@ jobs:
flags: 'g' flags: 'g'
- name: "Send Slack notification" - name: "Send Slack notification"
uses: slackapi/slack-github-action@v1.14.0 if: ${{ env.CHANNEL != 'null' }}
uses: slackapi/slack-github-action@v1.23.0
with: with:
payload: > payload: >
{ {
+17
View File
@@ -0,0 +1,17 @@
name: Observability Experience test code coverage
on:
pull_request:
paths:
- 'pkg/services/queryhistory/**'
- 'public/app/features/explore/**'
- 'public/app/features/correlations/**'
branches-ignore:
- dependabot/**
- backport-*
jobs:
workflow-call:
uses: grafana/code-coverage/.github/workflows/code-coverage.yml@v0.1.12
with:
frontend-path-regexp: public\/app\/features\/(explore|correlations)
backend-path-regexp: pkg\/services\/(queryhistory)
@@ -1,6 +1,7 @@
name: "CodeQL for PR / go" name: "CodeQL for PR / go"
on: on:
workflow_dispatch:
pull_request: pull_request:
branches: [main] branches: [main]
paths: paths:
@@ -19,11 +20,21 @@ jobs:
# a pull request then we can checkout the head. # a pull request then we can checkout the head.
fetch-depth: 2 fetch-depth: 2
- name: Set go version
uses: actions/setup-go@v3
with:
go-version: '1.19.2'
# Initializes the CodeQL tools for scanning. # Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL - name: Initialize CodeQL
uses: github/codeql-action/init@v2 uses: github/codeql-action/init@v2
with: with:
languages: "go" languages: "go"
- name: Build go files
run: |
go mod verify
make build-go
- name: Perform CodeQL Analysis - name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2 uses: github/codeql-action/analyze@v2
@@ -1,6 +1,7 @@
name: "CodeQL for PR / javascript" name: "CodeQL for PR / javascript"
on: on:
workflow_dispatch:
pull_request: pull_request:
branches: [main] branches: [main]
paths: paths:
@@ -1,6 +1,7 @@
name: "CodeQL for PR / python" name: "CodeQL for PR / python"
on: on:
workflow_dispatch:
pull_request: pull_request:
branches: [main] branches: [main]
paths: paths:
-23
View File
@@ -1,23 +0,0 @@
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
+5 -7
View File
@@ -16,22 +16,20 @@ jobs:
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- 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 - 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 - name: setup node
uses: actions/setup-node@v3.3.0 uses: actions/setup-node@v3.5.1
id: generate-docs
with: with:
node-version: '16' node-version: '16'
- name: Get yarn cache directory path - name: Get yarn cache directory path
id: yarn-cache-dir-path id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn config get cacheFolder)" run: echo "dir=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT
- uses: actions/cache@v2.1.7 - uses: actions/cache@v3.0.11
with: with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }} path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: yarn-${{ hashFiles('**/yarn.lock') }} key: yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: | restore-keys: |
yarn- yarn-
- run: yarn install --immutable - run: yarn install --immutable
- run: ./scripts/ci-reference-docs-build.sh
- name: publish-to-git - name: publish-to-git
uses: ./.github/actions/website-sync uses: ./.github/actions/website-sync
id: publish id: publish
+20
View File
@@ -0,0 +1,20 @@
name: syft-sbom-ci
on:
release:
types: [created]
jobs:
syft-sbom:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Anchore SBOM Action
uses: anchore/sbom-action@v0.12.0
with:
artifact-name: ${{ github.event.repository.name }}-spdx.json
+1 -1
View File
@@ -7,7 +7,7 @@ jobs:
stale: stale:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/stale@v5 - uses: actions/stale@v6
with: with:
repo-token: ${{ secrets.GH_BOT_ACCESS_TOKEN }} repo-token: ${{ secrets.GH_BOT_ACCESS_TOKEN }}
# Number of days of inactivity before a stale Issue or Pull Request is closed. # Number of days of inactivity before a stale Issue or Pull Request is closed.
+2 -21
View File
@@ -4,18 +4,7 @@ on:
inputs: inputs:
version: version:
required: true required: true
description: Needs to match, exactly, the name of a milestone description: 'Needs to match, exactly, the name of a milestone. 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'
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: jobs:
main: main:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@@ -28,16 +17,8 @@ jobs:
ref: main ref: main
- name: Install Actions - name: Install Actions
run: npm install --production --prefix ./actions run: npm install --production --prefix ./actions
- name: Run update changelog (manually invoked) - name: Run update changelog (manually invoked)
if: ${{ github.event.inputs.version != '' }}
uses: ./actions/update-changelog uses: ./actions/update-changelog
with: with:
token: ${{ secrets.GH_BOT_ACCESS_TOKEN }} token: ${{ secrets.GH_BOT_ACCESS_TOKEN }}
metricsWriteAPIKey: ${{ secrets.GRAFANA_MISC_STATS_API_KEY }} 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 }}
+19 -7
View File
@@ -40,6 +40,8 @@ tsconfig.tsbuildinfo
# Enterprise devenv # Enterprise devenv
/devenv/docker/blocks/grafana-enterprise /devenv/docker/blocks/grafana-enterprise
/devenv/docker/blocks/saml-enterprise /devenv/docker/blocks/saml-enterprise
# This is the new place of the block, but I leave the previous here for a while
/devenv/docker/blocks/auth/saml-enterprise
/tmp /tmp
tools/phantomjs/phantomjs tools/phantomjs/phantomjs
@@ -59,6 +61,7 @@ public/css/*.min.css
*.sublime-workspace *.sublime-workspace
*.swp *.swp
.idea/ .idea/
.fleet/
*.iml *.iml
*.tmp *.tmp
.DS_Store .DS_Store
@@ -73,7 +76,9 @@ public/css/*.min.css
# devenv # devenv
/devenv/docker-compose.yaml /devenv/docker-compose.yaml
/devenv/docker-compose.override.yaml
/devenv/.env /devenv/.env
/devenv/docker/blocks/tempo/tempo-data/
conf/custom.ini conf/custom.ini
/conf/provisioning/**/custom.yaml /conf/provisioning/**/custom.yaml
@@ -118,12 +123,21 @@ pkg/cmd/grafana-server/__debug_bin
/scripts/build/release_publisher/release_publisher /scripts/build/release_publisher/release_publisher
*.patch *.patch
!.yarn/patches/*.patch
# Ignoring frontend packages specifics # Ignoring frontend packages specifics
/packages/grafana-ui/.yarn/.cache
/packages/**/dist /packages/**/dist
/packages/**/compiled /packages/**/compiled
/packages/**/.rpt2_cache /packages/**/.rpt2_cache
/packages/**/tsdoc-metadata.json /packages/**/tsdoc-metadata.json
/packages/**/package.tgz
/packages/grafana-toolkit/sass
## CI places the packages in a different location
/npm-artifacts/*.tgz
# Ignore frontend build manifest
manifest.json
# Ignore go local build dependencies # Ignore go local build dependencies
/scripts/go/bin/** /scripts/go/bin/**
@@ -156,15 +170,13 @@ compilation-stats.json
# auto generated frontend docs # auto generated frontend docs
/docs/sources/packages_api /docs/sources/packages_api
# auto generated Go files # wire generated files
*_gen.go **/wire_gen.go
!pkg/services/featuremgmt/toggles_gen.go
!pkg/coremodel/**/*_gen.go
!pkg/framework/**/*_gen.go
# Auto-generated localisation files # Auto-generated internationalization files
public/locales/_build/ public/locales/_build/
public/locales/**/*.js public/locales/*/*.js
public/locales/*/grafana_old.json
deployment_tools_config.json deployment_tools_config.json
+145
View File
@@ -0,0 +1,145 @@
[run]
timeout = "10m"
[linters-settings.goconst]
min-len = 5
min-occurrences = 5
[linters-settings.exhaustive]
default-signifies-exhaustive = true
[linters-settings.revive]
ignore-generated-header = false
severity = "warning"
confidence = 3
[linters-settings.depguard]
list-type = "blacklist"
include-go-root = true
packages = ["io/ioutil"]
[[linters-settings.depguard.packages-with-error-message]]
"io/ioutil" = "Deprecated: As of Go 1.16, the same functionality is now provided by package io or package os, and those implementations should be preferred in new code. See the specific function documentation for details."
[linters-settings.gocritic]
enabled-checks = ["ruleguard"]
[linters-settings.gocritic.settings.ruleguard]
rules = "pkg/ruleguard.rules.go"
[linters]
disable-all = true
enable = [
"bodyclose",
"depguard",
"dogsled",
"errcheck",
# "gochecknoinits",
"goconst",
# "gocritic", # Temporarily disabled on 2022-09-09, running into weird bug "ruleguard: execution error: used Run() with an empty rule set; forgot to call Load() first?"
"goimports",
"goprintffuncname",
"gosec",
"gosimple",
"govet",
"ineffassign",
"misspell",
"nakedret",
"rowserrcheck",
"exportloopref",
"staticcheck",
"stylecheck",
"typecheck",
"unconvert",
"unused",
"whitespace",
"gocyclo",
"exhaustive",
"typecheck",
"asciicheck",
"errorlint",
"sqlclosecheck",
"revive",
]
# Disabled linters (might want them later)
# "unparam"
[issues]
exclude-use-default = false
# Enable when appropriate
# Poorly chosen identifier
[[issues.exclude-rules]]
linters = ["stylecheck"]
text = "ST1003"
# Enable when appropriate
# Dot imports that aren't in external test packages are discouraged.
[[issues.exclude-rules]]
linters = ["stylecheck"]
text = "ST1001"
# Enable when appropriate
# strings.Title has been deprecated since Go 1.18 and an alternative has been available since Go 1.0: The rule Title uses for word boundaries does not handle Unicode punctuation properly.
# Use golang.org/x/text/cases instead.
[[issues.exclude-rules]]
linters = ["staticcheck"]
text = "SA1019"
[[issues.exclude-rules]]
linters = ["gosec"]
text = "G108"
[[issues.exclude-rules]]
linters = ["gosec"]
text = "G110"
[[issues.exclude-rules]]
linters = ["gosec"]
text = "G201"
[[issues.exclude-rules]]
linters = ["gosec"]
text = "G202"
[[issues.exclude-rules]]
linters = ["gosec"]
text = "G306"
[[issues.exclude-rules]]
linters = ["gosec"]
text = "401"
[[issues.exclude-rules]]
linters = ["gosec"]
text = "402"
[[issues.exclude-rules]]
linters = ["gosec"]
text = "501"
[[issues.exclude-rules]]
linters = ["gosec"]
text = "404"
[[issues.exclude-rules]]
linters = ["misspell"]
text = "Unknwon` is a misspelling of `Unknown"
[[issues.exclude-rules]]
linters = ["errorlint"]
text = "non-wrapping format verb for fmt.Errorf"
# TODO: Enable
[[issues.exclude-rules]]
linters = ["stylecheck"]
text = "ST1000"
# TODO: Enable
[[issues.exclude-rules]]
linters = ["stylecheck"]
text = "ST1020"
# TODO: Enable
[[issues.exclude-rules]]
linters = ["stylecheck"]
text = "ST1021"
+6 -6
View File
@@ -1,8 +1,8 @@
{ {
"locales": [ "locales": [
"en", "en-US",
"fr", "fr-FR",
"es", "es-ES",
"pseudo-LOCALE" "pseudo-LOCALE"
], ],
"catalogs": [ "catalogs": [
@@ -20,11 +20,11 @@
} }
], ],
"fallbackLocales": { "fallbackLocales": {
"pseudo-LOCALE": "en", "pseudo-LOCALE": "en-US",
"default": "en" "default": "en-US"
}, },
"pseudoLocale": "pseudo-LOCALE", "pseudoLocale": "pseudo-LOCALE",
"sourceLocale": "en", "sourceLocale": "en-US",
"format": "po", "format": "po",
"formatOptions": { "formatOptions": {
"lineNumbers": false "lineNumbers": false
+57 -16
View File
@@ -1,8 +1,54 @@
var dashboardSettings = [
{
url: '${HOST}/d/O6f11TZWk/panel-tests-bar-gauge?orgId=1&editview=settings',
wait: 500,
rootElement: '.main-view',
threshold: 0,
},
{
url: '${HOST}/d/O6f11TZWk/panel-tests-bar-gauge?orgId=1&editview=annotations',
wait: 500,
rootElement: '.main-view',
threshold: 0,
},
{
url: '${HOST}/d/O6f11TZWk/panel-tests-bar-gauge?orgId=1&editview=templating',
wait: 500,
rootElement: '.main-view',
threshold: 0,
},
{
url: '${HOST}/d/O6f11TZWk/panel-tests-bar-gauge?orgId=1&editview=links',
wait: 500,
rootElement: '.main-view',
threshold: 0,
},
{
url: '${HOST}/d/O6f11TZWk/panel-tests-bar-gauge?orgId=1&editview=versions',
wait: 500,
rootElement: '.main-view',
threshold: 0,
},
{
url: '${HOST}/d/O6f11TZWk/panel-tests-bar-gauge?orgId=1&editview=permissions',
wait: 500,
rootElement: '.main-view',
threshold: 9,
},
{
url: '${HOST}/d/O6f11TZWk/panel-tests-bar-gauge?orgId=1&editview=dashboard_json',
wait: 500,
rootElement: '.main-view',
threshold: 2,
},
];
var config = { var config = {
defaults: { defaults: {
concurrency: 1, concurrency: 1,
runners: ['axe'], runners: ['axe'],
useIncognitoBrowserContext: false, useIncognitoBrowserContext: false,
standard: 'WCAG2AA',
chromeLaunchConfig: { chromeLaunchConfig: {
args: ['--no-sandbox'], args: ['--no-sandbox'],
}, },
@@ -16,7 +62,7 @@ var config = {
url: '${HOST}/login', url: '${HOST}/login',
wait: 500, wait: 500,
rootElement: '.main-view', rootElement: '.main-view',
threshold: 12, threshold: 13,
}, },
{ {
url: '${HOST}/login', url: '${HOST}/login',
@@ -28,7 +74,7 @@ var config = {
"click element button[aria-label='Login button']", "click element button[aria-label='Login button']",
"wait for element [aria-label='Skip change password button'] to be visible", "wait for element [aria-label='Skip change password button'] to be visible",
], ],
threshold: 13, threshold: 14,
rootElement: '.main-view', rootElement: '.main-view',
}, },
{ {
@@ -42,12 +88,7 @@ var config = {
rootElement: '.main-view', rootElement: '.main-view',
threshold: 0, threshold: 0,
}, },
{ ...dashboardSettings,
url: '${HOST}/d/O6f11TZWk/panel-tests-bar-gauge?orgId=1&editview=settings',
wait: 500,
rootElement: '.main-view',
threshold: 0,
},
{ {
url: '${HOST}/?orgId=1&search=open', url: '${HOST}/?orgId=1&search=open',
wait: 500, wait: 500,
@@ -60,49 +101,49 @@ var config = {
rootElement: '.main-view', rootElement: '.main-view',
// the unified alerting promotion alert's content contrast is too low // the unified alerting promotion alert's content contrast is too low
// see https://github.com/grafana/grafana/pull/41829 // see https://github.com/grafana/grafana/pull/41829
threshold: 5, threshold: 6,
}, },
{ {
url: '${HOST}/datasources', url: '${HOST}/datasources',
wait: 500, wait: 500,
rootElement: '.main-view', rootElement: '.main-view',
threshold: 0, threshold: 1,
}, },
{ {
url: '${HOST}/org/users', url: '${HOST}/org/users',
wait: 500, wait: 500,
rootElement: '.main-view', rootElement: '.main-view',
threshold: 0, threshold: 1,
}, },
{ {
url: '${HOST}/org/teams', url: '${HOST}/org/teams',
wait: 500, wait: 500,
rootElement: '.main-view', rootElement: '.main-view',
threshold: 0, threshold: 1,
}, },
{ {
url: '${HOST}/plugins', url: '${HOST}/plugins',
wait: 500, wait: 500,
rootElement: '.main-view', rootElement: '.main-view',
threshold: 0, threshold: 1,
}, },
{ {
url: '${HOST}/org', url: '${HOST}/org',
wait: 500, wait: 500,
rootElement: '.main-view', rootElement: '.main-view',
threshold: 0, threshold: 1,
}, },
{ {
url: '${HOST}/org/apikeys', url: '${HOST}/org/apikeys',
wait: 500, wait: 500,
rootElement: '.main-view', rootElement: '.main-view',
threshold: 0, threshold: 4,
}, },
{ {
url: '${HOST}/dashboards', url: '${HOST}/dashboards',
wait: 500, wait: 500,
rootElement: '.main-view', rootElement: '.main-view',
threshold: 0, threshold: 1,
}, },
], ],
}; };
+39 -5
View File
@@ -1,8 +1,46 @@
var dashboardSettings = [
{
url: '${HOST}/d/O6f11TZWk/panel-tests-bar-gauge?orgId=1&editview=settings',
wait: 500,
rootElement: '.main-view',
},
{
url: '${HOST}/d/O6f11TZWk/panel-tests-bar-gauge?orgId=1&editview=annotations',
wait: 500,
rootElement: '.main-view',
},
{
url: '${HOST}/d/O6f11TZWk/panel-tests-bar-gauge?orgId=1&editview=templating',
wait: 500,
rootElement: '.main-view',
},
{
url: '${HOST}/d/O6f11TZWk/panel-tests-bar-gauge?orgId=1&editview=links',
wait: 500,
rootElement: '.main-view',
},
{
url: '${HOST}/d/O6f11TZWk/panel-tests-bar-gauge?orgId=1&editview=versions',
wait: 500,
rootElement: '.main-view',
},
{
url: '${HOST}/d/O6f11TZWk/panel-tests-bar-gauge?orgId=1&editview=permissions',
wait: 500,
rootElement: '.main-view',
},
{
url: '${HOST}/d/O6f11TZWk/panel-tests-bar-gauge?orgId=1&editview=dashboard_json',
wait: 500,
rootElement: '.main-view',
},
];
var config = { var config = {
defaults: { defaults: {
concurrency: 1, concurrency: 1,
runners: ['axe'], runners: ['axe'],
useIncognitoBrowserContext: false, useIncognitoBrowserContext: false,
standard: 'WCAG2AA',
chromeLaunchConfig: { chromeLaunchConfig: {
args: ['--no-sandbox'], args: ['--no-sandbox'],
}, },
@@ -38,11 +76,7 @@ var config = {
wait: 500, wait: 500,
rootElement: '.main-view', rootElement: '.main-view',
}, },
{ ...dashboardSettings,
url: '${HOST}/d/O6f11TZWk/panel-tests-bar-gauge?orgId=1&editview=settings',
wait: 500,
rootElement: '.main-view',
},
{ {
url: '${HOST}/?orgId=1&search=open', url: '${HOST}/?orgId=1&search=open',
wait: 500, wait: 500,
+6 -1
View File
@@ -18,10 +18,15 @@ vendor
# TS generate from cue by cuetsy # TS generate from cue by cuetsy
**/*.gen.ts **/*.gen.ts
# Auto-generated localisation files # Auto-generated internationalization files
public/locales/_build/ public/locales/_build/
public/locales/**/*.js public/locales/**/*.js
# Auto-generated theme files # Auto-generated theme files
theme.light.generated.json theme.light.generated.json
theme.dark.generated.json theme.dark.generated.json
# Generated Swagger API specs
public/api-spec.json
public/api-merged.json
public/openapi3.json
+7
View File
@@ -11,6 +11,13 @@
"cwd": "${workspaceFolder}", "cwd": "${workspaceFolder}",
"args": ["--homepath", "${workspaceFolder}", "--packaging", "dev"] "args": ["--homepath", "${workspaceFolder}", "--packaging", "dev"]
}, },
{
"name": "Attach to Chrome",
"port": 9222,
"request": "attach",
"type": "chrome",
"webRoot": "${workspaceFolder}"
},
{ {
"name": "Debug Jest test", "name": "Debug Jest test",
"type": "node", "type": "node",
File diff suppressed because one or more lines are too long
-786
View File
File diff suppressed because one or more lines are too long
+801
View File
File diff suppressed because one or more lines are too long
+2 -2
View File
@@ -1,13 +1,13 @@
#!/usr/bin/env node #!/usr/bin/env node
const {existsSync} = require(`fs`); const {existsSync} = require(`fs`);
const {createRequire, createRequireFromPath} = require(`module`); const {createRequire} = require(`module`);
const {resolve} = require(`path`); const {resolve} = require(`path`);
const relPnpApiPath = "../../../../.pnp.cjs"; const relPnpApiPath = "../../../../.pnp.cjs";
const absPnpApiPath = resolve(__dirname, relPnpApiPath); const absPnpApiPath = resolve(__dirname, relPnpApiPath);
const absRequire = (createRequire || createRequireFromPath)(absPnpApiPath); const absRequire = createRequire(absPnpApiPath);
if (existsSync(absPnpApiPath)) { if (existsSync(absPnpApiPath)) {
if (!process.versions.pnp) { if (!process.versions.pnp) {
+2 -2
View File
@@ -1,13 +1,13 @@
#!/usr/bin/env node #!/usr/bin/env node
const {existsSync} = require(`fs`); const {existsSync} = require(`fs`);
const {createRequire, createRequireFromPath} = require(`module`); const {createRequire} = require(`module`);
const {resolve} = require(`path`); const {resolve} = require(`path`);
const relPnpApiPath = "../../../../.pnp.cjs"; const relPnpApiPath = "../../../../.pnp.cjs";
const absPnpApiPath = resolve(__dirname, relPnpApiPath); const absPnpApiPath = resolve(__dirname, relPnpApiPath);
const absRequire = (createRequire || createRequireFromPath)(absPnpApiPath); const absRequire = createRequire(absPnpApiPath);
if (existsSync(absPnpApiPath)) { if (existsSync(absPnpApiPath)) {
if (!process.versions.pnp) { if (!process.versions.pnp) {
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "eslint", "name": "eslint",
"version": "8.17.0-sdk", "version": "8.26.0-sdk",
"main": "./lib/api.js", "main": "./lib/api.js",
"type": "commonjs" "type": "commonjs"
} }
+1 -1
View File
@@ -2,5 +2,5 @@
# Manual changes might be lost! # Manual changes might be lost!
integrations: integrations:
- vscode
- vim - vim
- vscode
+2 -2
View File
@@ -1,13 +1,13 @@
#!/usr/bin/env node #!/usr/bin/env node
const {existsSync} = require(`fs`); const {existsSync} = require(`fs`);
const {createRequire, createRequireFromPath} = require(`module`); const {createRequire} = require(`module`);
const {resolve} = require(`path`); const {resolve} = require(`path`);
const relPnpApiPath = "../../../.pnp.cjs"; const relPnpApiPath = "../../../.pnp.cjs";
const absPnpApiPath = resolve(__dirname, relPnpApiPath); const absPnpApiPath = resolve(__dirname, relPnpApiPath);
const absRequire = (createRequire || createRequireFromPath)(absPnpApiPath); const absRequire = createRequire(absPnpApiPath);
if (existsSync(absPnpApiPath)) { if (existsSync(absPnpApiPath)) {
if (!process.versions.pnp) { if (!process.versions.pnp) {
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "prettier", "name": "prettier",
"version": "2.6.2-sdk", "version": "2.7.1-sdk",
"main": "./index.js", "main": "./index.js",
"type": "commonjs" "type": "commonjs"
} }
+2 -2
View File
@@ -1,13 +1,13 @@
#!/usr/bin/env node #!/usr/bin/env node
const {existsSync} = require(`fs`); const {existsSync} = require(`fs`);
const {createRequire, createRequireFromPath} = require(`module`); const {createRequire} = require(`module`);
const {resolve} = require(`path`); const {resolve} = require(`path`);
const relPnpApiPath = "../../../../.pnp.cjs"; const relPnpApiPath = "../../../../.pnp.cjs";
const absPnpApiPath = resolve(__dirname, relPnpApiPath); const absPnpApiPath = resolve(__dirname, relPnpApiPath);
const absRequire = (createRequire || createRequireFromPath)(absPnpApiPath); const absRequire = createRequire(absPnpApiPath);
if (existsSync(absPnpApiPath)) { if (existsSync(absPnpApiPath)) {
if (!process.versions.pnp) { if (!process.versions.pnp) {
+2 -2
View File
@@ -1,13 +1,13 @@
#!/usr/bin/env node #!/usr/bin/env node
const {existsSync} = require(`fs`); const {existsSync} = require(`fs`);
const {createRequire, createRequireFromPath} = require(`module`); const {createRequire} = require(`module`);
const {resolve} = require(`path`); const {resolve} = require(`path`);
const relPnpApiPath = "../../../../.pnp.cjs"; const relPnpApiPath = "../../../../.pnp.cjs";
const absPnpApiPath = resolve(__dirname, relPnpApiPath); const absPnpApiPath = resolve(__dirname, relPnpApiPath);
const absRequire = (createRequire || createRequireFromPath)(absPnpApiPath); const absRequire = createRequire(absPnpApiPath);
if (existsSync(absPnpApiPath)) { if (existsSync(absPnpApiPath)) {
if (!process.versions.pnp) { if (!process.versions.pnp) {
+2 -2
View File
@@ -1,13 +1,13 @@
#!/usr/bin/env node #!/usr/bin/env node
const {existsSync} = require(`fs`); const {existsSync} = require(`fs`);
const {createRequire, createRequireFromPath} = require(`module`); const {createRequire} = require(`module`);
const {resolve} = require(`path`); const {resolve} = require(`path`);
const relPnpApiPath = "../../../../.pnp.cjs"; const relPnpApiPath = "../../../../.pnp.cjs";
const absPnpApiPath = resolve(__dirname, relPnpApiPath); const absPnpApiPath = resolve(__dirname, relPnpApiPath);
const absRequire = (createRequire || createRequireFromPath)(absPnpApiPath); const absRequire = createRequire(absPnpApiPath);
if (existsSync(absPnpApiPath)) { if (existsSync(absPnpApiPath)) {
if (!process.versions.pnp) { if (!process.versions.pnp) {
+2 -2
View File
@@ -1,13 +1,13 @@
#!/usr/bin/env node #!/usr/bin/env node
const {existsSync} = require(`fs`); const {existsSync} = require(`fs`);
const {createRequire, createRequireFromPath} = require(`module`); const {createRequire} = require(`module`);
const {resolve} = require(`path`); const {resolve} = require(`path`);
const relPnpApiPath = "../../../../.pnp.cjs"; const relPnpApiPath = "../../../../.pnp.cjs";
const absPnpApiPath = resolve(__dirname, relPnpApiPath); const absPnpApiPath = resolve(__dirname, relPnpApiPath);
const absRequire = (createRequire || createRequireFromPath)(absPnpApiPath); const absRequire = createRequire(absPnpApiPath);
const moduleWrapper = tsserver => { const moduleWrapper = tsserver => {
if (!process.versions.pnp) { if (!process.versions.pnp) {
+2 -2
View File
@@ -1,13 +1,13 @@
#!/usr/bin/env node #!/usr/bin/env node
const {existsSync} = require(`fs`); const {existsSync} = require(`fs`);
const {createRequire, createRequireFromPath} = require(`module`); const {createRequire} = require(`module`);
const {resolve} = require(`path`); const {resolve} = require(`path`);
const relPnpApiPath = "../../../../.pnp.cjs"; const relPnpApiPath = "../../../../.pnp.cjs";
const absPnpApiPath = resolve(__dirname, relPnpApiPath); const absPnpApiPath = resolve(__dirname, relPnpApiPath);
const absRequire = (createRequire || createRequireFromPath)(absPnpApiPath); const absRequire = createRequire(absPnpApiPath);
const moduleWrapper = tsserver => { const moduleWrapper = tsserver => {
if (!process.versions.pnp) { if (!process.versions.pnp) {
+2 -2
View File
@@ -1,13 +1,13 @@
#!/usr/bin/env node #!/usr/bin/env node
const {existsSync} = require(`fs`); const {existsSync} = require(`fs`);
const {createRequire, createRequireFromPath} = require(`module`); const {createRequire} = require(`module`);
const {resolve} = require(`path`); const {resolve} = require(`path`);
const relPnpApiPath = "../../../../.pnp.cjs"; const relPnpApiPath = "../../../../.pnp.cjs";
const absPnpApiPath = resolve(__dirname, relPnpApiPath); const absPnpApiPath = resolve(__dirname, relPnpApiPath);
const absRequire = (createRequire || createRequireFromPath)(absPnpApiPath); const absRequire = createRequire(absPnpApiPath);
if (existsSync(absPnpApiPath)) { if (existsSync(absPnpApiPath)) {
if (!process.versions.pnp) { if (!process.versions.pnp) {
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "typescript", "name": "typescript",
"version": "4.6.4-sdk", "version": "4.8.4-sdk",
"main": "./lib/typescript.js", "main": "./lib/typescript.js",
"type": "commonjs" "type": "commonjs"
} }
+29 -48
View File
@@ -3,41 +3,39 @@ enableTelemetry: false
nodeLinker: pnp nodeLinker: pnp
packageExtensions: packageExtensions:
"@grafana/slate-react@0.22.10-grafana": '@storybook/addon-docs@6.5.12':
peerDependencies: peerDependencies:
slate-react: ">=0.22.0" '@babel/core': ^7.0.0
"@mdx-js/loader@1.6.22": '@storybook/manager-webpack5': 6.5.12
'webpack': 5.74.0
'@storybook/addon-essentials@6.5.12':
peerDependencies: peerDependencies:
react: 17.0.1 '@storybook/components': 6.5.12
"@storybook/addon-docs@6.4.21": '@storybook/core-events': 6.5.12
'@storybook/manager-webpack5': 6.5.12
'@storybook/theming': 6.5.12
'@storybook/core-server@6.5.12':
peerDependencies: peerDependencies:
"@storybook/manager-webpack5": 6.4.21 '@babel/core': ^7.0.0
"@storybook/addon-essentials@6.4.21": '@storybook/core@6.5.12':
peerDependencies: peerDependencies:
"@storybook/components": 6.4.21 '@babel/core': ^7.0.0
"@storybook/core-events": 6.4.21 '@storybook/manager-webpack5': 6.5.12
"@storybook/manager-webpack5": 6.4.21 '@storybook/csf-tools@6.5.12':
"@storybook/theming": 6.4.21
"@storybook/core-server@6.4.21":
peerDependencies: peerDependencies:
"@babel/core": ^7.0.0 '@babel/core': ^7.0.0
"@storybook/core@6.4.21": '@storybook/mdx2-csf@0.0.3':
dependencies:
'@babel/types': ^7.14.8
'@storybook/react@6.5.12':
peerDependencies: peerDependencies:
"@babel/core": ^7.0.0 '@storybook/manager-webpack5': 6.5.12
"@storybook/manager-webpack5": 6.4.21 '@storybook/addon-knobs@6.4.0':
"@storybook/csf-tools@6.4.21": dependencies:
peerDependencies: '@storybook/client-api': '*'
"@babel/core": ^7.0.0
"@storybook/react@6.4.21":
peerDependencies:
"@storybook/manager-webpack5": 6.4.21
doctrine@3.0.0: doctrine@3.0.0:
dependencies: dependencies:
assert: 2.0.0 assert: 2.0.0
moveable@0.30.0:
dependencies:
"@daybrush/utils": 1.7.0
framework-utils: ^1.1.0
rc-time-picker@3.7.3: rc-time-picker@3.7.3:
peerDependencies: peerDependencies:
react: 17.0.1 react: 17.0.1
@@ -49,36 +47,19 @@ packageExtensions:
react-compat-css-styled@1.0.8: react-compat-css-styled@1.0.8:
dependencies: dependencies:
react-simple-compat: 1.2.2 react-simple-compat: 1.2.2
react-compat-moveable@0.18.0:
dependencies:
"@egjs/agent": ^2.2.1
"@egjs/children-differ": ^1.0.1
"@scena/matrix": 1.1.1
css-to-mat: ^1.0.3
gesto: ^1.9.0
overlap-area: ^1.0.0
react-simple-compat: 1.2.2
peerDependencies:
framework-utils: ^1.1.0
react-docgen-typescript-loader@3.7.2:
peerDependencies:
webpack: 4.41.5
react-icons@2.2.7: react-icons@2.2.7:
peerDependencies: peerDependencies:
prop-types: "*" prop-types: '*'
react-resizable@3.0.4: react-resizable@3.0.4:
peerDependencies: peerDependencies:
react-dom: 17.0.1 react-dom: 17.0.1
"@npmcli/run-script@4.1.3":
dependencies:
which: ^2.0.2
plugins: plugins:
- path: .yarn/plugins/@yarnpkg/plugin-typescript.cjs - path: .yarn/plugins/@yarnpkg/plugin-typescript.cjs
spec: "@yarnpkg/plugin-typescript" spec: '@yarnpkg/plugin-typescript'
- path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs - path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs
spec: "@yarnpkg/plugin-interactive-tools" spec: '@yarnpkg/plugin-interactive-tools'
- path: .yarn/plugins/@yarnpkg/plugin-outdated.cjs - path: .yarn/plugins/@yarnpkg/plugin-outdated.cjs
spec: "https://mskelton.dev/yarn-outdated/v2" spec: 'https://mskelton.dev/yarn-outdated/v2'
yarnPath: .yarn/releases/yarn-3.2.1.cjs yarnPath: .yarn/releases/yarn-3.2.4.cjs
+1292 -4
View File
File diff suppressed because it is too large Load Diff
+2
View File
@@ -15,6 +15,8 @@ You can contribute to Grafana in several ways. Here are some examples:
- Organize meetups and user groups in your local area. - Organize meetups and user groups in your local area.
- Help others by answering questions about Grafana. - Help others by answering questions about Grafana.
**Please note:** We do not currently accept contributions for translations. Please do not submit pull requests for messages.po files - they will be rejected.
For more ways to contribute, check out the [Open Source Guides](https://opensource.guide/how-to-contribute/). For more ways to contribute, check out the [Open Source Guides](https://opensource.guide/how-to-contribute/).
### Report bugs ### Report bugs
+3 -5
View File
@@ -20,14 +20,13 @@ COPY emails emails
ENV NODE_ENV production ENV NODE_ENV production
RUN yarn build RUN yarn build
FROM golang:1.17.11-alpine3.15 as go-builder FROM golang:1.19.3-alpine3.15 as go-builder
RUN apk add --no-cache gcc g++ make RUN apk add --no-cache gcc g++ make
WORKDIR /grafana WORKDIR /grafana
COPY go.mod go.sum embed.go Makefile build.go package.json ./ COPY go.mod go.sum embed.go Makefile build.go package.json ./
COPY cue cue
COPY packages/grafana-schema packages/grafana-schema COPY packages/grafana-schema packages/grafana-schema
COPY public/app/plugins public/app/plugins COPY public/app/plugins public/app/plugins
COPY public/api-spec.json public/api-spec.json COPY public/api-spec.json public/api-spec.json
@@ -40,7 +39,7 @@ RUN go mod verify
RUN make build-go RUN make build-go
# Final stage # Final stage
FROM alpine:3.15 FROM alpine:3.15.6
LABEL maintainer="Grafana team <hello@grafana.com>" LABEL maintainer="Grafana team <hello@grafana.com>"
@@ -58,8 +57,6 @@ ENV PATH="/usr/share/grafana/bin:$PATH" \
WORKDIR $GF_PATHS_HOME WORKDIR $GF_PATHS_HOME
RUN apk add --no-cache ca-certificates bash tzdata musl-utils RUN apk add --no-cache ca-certificates bash tzdata musl-utils
RUN apk add --no-cache openssl ncurses-libs ncurses-terminfo-base --repository=http://dl-cdn.alpinelinux.org/alpine/edge/main
RUN apk upgrade ncurses-libs ncurses-terminfo-base --repository=http://dl-cdn.alpinelinux.org/alpine/edge/main
RUN apk info -vv | sort RUN apk info -vv | sort
COPY conf ./conf COPY conf ./conf
@@ -76,6 +73,7 @@ RUN export GF_GID_NAME=$(getent group $GF_GID | cut -d':' -f1) && \
"$GF_PATHS_PROVISIONING/notifiers" \ "$GF_PATHS_PROVISIONING/notifiers" \
"$GF_PATHS_PROVISIONING/plugins" \ "$GF_PATHS_PROVISIONING/plugins" \
"$GF_PATHS_PROVISIONING/access-control" \ "$GF_PATHS_PROVISIONING/access-control" \
"$GF_PATHS_PROVISIONING/alerting" \
"$GF_PATHS_LOGS" \ "$GF_PATHS_LOGS" \
"$GF_PATHS_PLUGINS" \ "$GF_PATHS_PLUGINS" \
"$GF_PATHS_DATA" && \ "$GF_PATHS_DATA" && \
+2 -2
View File
@@ -21,7 +21,7 @@ COPY emails emails
ENV NODE_ENV production ENV NODE_ENV production
RUN yarn build RUN yarn build
FROM golang:1.17.11 AS go-builder FROM golang:1.19.3 AS go-builder
WORKDIR /src/grafana WORKDIR /src/grafana
@@ -29,7 +29,6 @@ COPY go.mod go.sum embed.go ./
COPY Makefile build.go package.json ./ COPY Makefile build.go package.json ./
COPY .bingo .bingo COPY .bingo .bingo
COPY pkg pkg/ COPY pkg pkg/
COPY cue cue/
COPY cue.mod cue.mod/ COPY cue.mod cue.mod/
COPY packages/grafana-schema packages/grafana-schema/ COPY packages/grafana-schema packages/grafana-schema/
COPY public/app/plugins public/app/plugins/ COPY public/app/plugins public/app/plugins/
@@ -69,6 +68,7 @@ RUN mkdir -p "$GF_PATHS_HOME/.aws" && \
"$GF_PATHS_PROVISIONING/notifiers" \ "$GF_PATHS_PROVISIONING/notifiers" \
"$GF_PATHS_PROVISIONING/plugins" \ "$GF_PATHS_PROVISIONING/plugins" \
"$GF_PATHS_PROVISIONING/access-control" \ "$GF_PATHS_PROVISIONING/access-control" \
"$GF_PATHS_PROVISIONING/alerting" \
"$GF_PATHS_LOGS" \ "$GF_PATHS_LOGS" \
"$GF_PATHS_PLUGINS" \ "$GF_PATHS_PLUGINS" \
"$GF_PATHS_DATA" && \ "$GF_PATHS_DATA" && \
+7 -3
View File
@@ -17,10 +17,14 @@ packages/grafana-toolkit/
packages/grafana-ui/ packages/grafana-ui/
packages/jaeger-ui-components/ packages/jaeger-ui-components/
packaging/ packaging/
pkg/coremodel/ kinds/
pkg/framework/coremodel/ pkg/kinds/
pkg/kindsys/
pkg/registry/corekind/
grafana-mixin/ grafana-mixin/
cue/ public/app/plugins/datasource/tempo
public/img/icons/solid/
public/img/icons/unicons/
``` ```
The following directories and their subdirectories are licensed under their original upstream licenses: The following directories and their subdirectories are licensed under their original upstream licenses:
+54 -14
View File
@@ -12,7 +12,6 @@ include .bingo/Variables.mk
GO = go GO = go
GO_FILES ?= ./pkg/... GO_FILES ?= ./pkg/...
SH_FILES ?= $(shell find ./scripts -name *.sh) SH_FILES ?= $(shell find ./scripts -name *.sh)
API_DEFINITION_FILES = $(shell find ./pkg/api/docs/definitions -name '*.go' -print)
GO_BUILD_FLAGS += $(if $(GO_BUILD_DEV),-dev) GO_BUILD_FLAGS += $(if $(GO_BUILD_DEV),-dev)
GO_BUILD_FLAGS += $(if $(GO_BUILD_TAGS),-build-tags=$(GO_BUILD_TAGS)) GO_BUILD_FLAGS += $(if $(GO_BUILD_TAGS),-build-tags=$(GO_BUILD_TAGS))
@@ -39,27 +38,36 @@ NGALERT_SPEC_TARGET = pkg/services/ngalert/api/tooling/api.json
$(NGALERT_SPEC_TARGET): $(NGALERT_SPEC_TARGET):
+$(MAKE) -C pkg/services/ngalert/api/tooling api.json +$(MAKE) -C pkg/services/ngalert/api/tooling api.json
$(MERGED_SPEC_TARGET): $(SPEC_TARGET) $(NGALERT_SPEC_TARGET) ## Merge generated and ngalert API specs $(MERGED_SPEC_TARGET): $(SPEC_TARGET) $(NGALERT_SPEC_TARGET) $(SWAGGER) ## Merge generated and ngalert API specs
go run pkg/api/docs/merge/merge_specs.go -o=$(MERGED_SPEC_TARGET) $(<) $(NGALERT_SPEC_TARGET) # known conflicts DsPermissionType, AddApiKeyCommand, Json, Duration (identical models referenced by both specs)
$(SWAGGER) mixin $(SPEC_TARGET) $(NGALERT_SPEC_TARGET) --ignore-conflicts -o $(MERGED_SPEC_TARGET)
--swagger-api-spec: $(API_DEFINITION_FILES) $(SWAGGER) ## Generate API Swagger specification $(SPEC_TARGET): $(SWAGGER) ## Generate API Swagger specification
SWAGGER_GENERATE_EXTENSION=false $(SWAGGER) generate spec -m -w pkg/server -o public/api-spec.json \ SWAGGER_GENERATE_EXTENSION=false $(SWAGGER) generate spec -m -w pkg/server -o $(SPEC_TARGET) \
-x "github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions" \ -x "github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions" \
-x "github.com/prometheus/alertmanager" \ -x "github.com/prometheus/alertmanager" \
-i pkg/api/docs/tags.json -i pkg/api/swagger_tags.json \
--exclude-tag=alpha
swagger-api-spec: gen-go --swagger-api-spec $(MERGED_SPEC_TARGET) validate-api-spec swagger-api-spec: gen-go $(SPEC_TARGET) $(MERGED_SPEC_TARGET) validate-api-spec
validate-api-spec: $(MERGED_SPEC_TARGET) $(SWAGGER) ## Validate API spec validate-api-spec: $(MERGED_SPEC_TARGET) $(SWAGGER) ## Validate API spec
$(SWAGGER) validate $(<) $(SWAGGER) validate $(<)
clean-api-spec: clean-api-spec:
rm $(SPEC_TARGET) $(MERGED_SPEC_TARGET) rm $(SPEC_TARGET) $(MERGED_SPEC_TARGET) $(OAPI_SPEC_TARGET)
##@ OpenAPI 3
OAPI_SPEC_TARGET = public/openapi3.json
openapi3-gen: swagger-api-spec ## Generates OpenApi 3 specs from the Swagger 2 already generated
$(GO) run scripts/openapi3/openapi3conv.go $(MERGED_SPEC_TARGET) $(OAPI_SPEC_TARGET)
##@ Building ##@ Building
gen-cue: ## Do all CUE/Thema code generation gen-cue: ## Do all CUE/Thema code generation
@echo "generate code from .cue files" @echo "generate code from .cue files"
go generate ./pkg/plugins/plugindef
go generate ./kinds/gen.go
go generate ./pkg/framework/coremodel go generate ./pkg/framework/coremodel
go generate ./public/app/plugins go generate ./public/app/plugins
@@ -67,6 +75,9 @@ gen-go: $(WIRE) gen-cue
@echo "generate go files" @echo "generate go files"
$(WIRE) gen -tags $(WIRE_TAGS) ./pkg/server ./pkg/cmd/grafana-cli/runner $(WIRE) gen -tags $(WIRE_TAGS) ./pkg/server ./pkg/cmd/grafana-cli/runner
gen-jsonnet:
go generate ./devenv/jsonnet
build-go: $(MERGED_SPEC_TARGET) gen-go ## Build all Go binaries. build-go: $(MERGED_SPEC_TARGET) gen-go ## Build all Go binaries.
@echo "build go files" @echo "build go files"
$(GO) run build.go $(GO_BUILD_FLAGS) build $(GO) run build.go $(GO_BUILD_FLAGS) build
@@ -94,9 +105,30 @@ run-frontend: deps-js ## Fetch js dependencies and watch frontend for rebuild
##@ Testing ##@ Testing
test-go: ## Run tests for backend. .PHONY: test-go
@echo "test backend" test-go: test-go-unit test-go-integration
$(GO) test -v ./pkg/...
.PHONY: test-go-unit
test-go-unit: ## Run unit tests for backend with flags.
@echo "test backend unit tests"
$(GO) test -short -covermode=atomic -timeout=30m ./pkg/...
.PHONY: test-go-integration
test-go-integration: ## Run integration tests for backend with flags.
@echo "test backend integration tests"
$(GO) test -run Integration -covermode=atomic -timeout=30m ./pkg/...
.PHONY: test-go-integration-postgres
test-go-integration-postgres: devenv-postgres ## Run integration tests for postgres backend with flags.
@echo "test backend integration postgres tests"
$(GO) clean -testcache
$(GO) list './pkg/...' | xargs -I {} sh -c 'GRAFANA_TEST_DB=postgres go test -run Integration -covermode=atomic -timeout=2m {}'
.PHONY: test-go-integration-mysql
test-go-integration-mysql: devenv-mysql ## Run integration tests for mysql backend with flags.
@echo "test backend integration mysql tests"
$(GO) clean -testcache
$(GO) list './pkg/...' | xargs -I {} sh -c 'GRAFANA_TEST_DB=mysql go test -run Integration -covermode=atomic -timeout=2m {}'
test-js: ## Run tests for frontend. test-js: ## Run tests for frontend.
@echo "test frontend" @echo "test frontend"
@@ -108,7 +140,7 @@ test: test-go test-js ## Run all tests.
golangci-lint: $(GOLANGCI_LINT) golangci-lint: $(GOLANGCI_LINT)
@echo "lint via golangci-lint" @echo "lint via golangci-lint"
$(GOLANGCI_LINT) run \ $(GOLANGCI_LINT) run \
--config ./conf/.golangci.toml \ --config .golangci.toml \
$(GO_FILES) $(GO_FILES)
lint-go: golangci-lint ## Run all code checks for backend. You can use GO_FILES to specify exact files to check lint-go: golangci-lint ## Run all code checks for backend. You can use GO_FILES to specify exact files to check
@@ -132,7 +164,7 @@ build-docker-full-ubuntu: ## Build Docker image based on Ubuntu for development.
##@ Services ##@ Services
# create docker-compose file with provided sources and start them # create docker-compose file with provided sources and start them
# example: make devenv sources=postgres,openldap # example: make devenv sources=postgres,auth/openldap
ifeq ($(sources),) ifeq ($(sources),)
devenv: devenv:
@printf 'You have to define sources for this command \nexample: make devenv sources=postgres,openldap\n' @printf 'You have to define sources for this command \nexample: make devenv sources=postgres,openldap\n'
@@ -153,6 +185,14 @@ devenv-down: ## Stop optional services.
test -f docker-compose.yaml && \ test -f docker-compose.yaml && \
docker-compose down || exit 0; docker-compose down || exit 0;
devenv-postgres:
@cd devenv; \
sources=postgres_tests
devenv-mysql:
@cd devenv; \
sources=mysql_tests
##@ Helpers ##@ Helpers
# We separate the protobuf generation because most development tasks on # We separate the protobuf generation because most development tasks on
+1 -1
View File
@@ -18,7 +18,7 @@ Grafana allows you to query, visualize, alert on and understand your metrics no
## Get started ## Get started
- [Get Grafana](https://grafana.com/get) - [Get Grafana](https://grafana.com/get)
- [Installation guides](http://docs.grafana.org/installation/) - [Installation guides](https://grafana.com/docs/grafana/latest/setup-grafana/installation/)
Unsure if Grafana is for you? Watch Grafana in action on [play.grafana.org](https://play.grafana.org/)! Unsure if Grafana is for you? Watch Grafana in action on [play.grafana.org](https://play.grafana.org/)!
-38
View File
@@ -1,38 +0,0 @@
{
"$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
"mainEntryPointFilePath": "<projectFolder>/dist/index.d.ts",
"bundledPackages": [],
"compiler": {},
"apiReport": {
"enabled": false
},
"docModel": {
"enabled": true,
"apiJsonFilePath": "<projectFolder>/../../reports/docs/<unscopedPackageName>.api.json"
},
"dtsRollup": {
"enabled": false
},
"tsdocMetadata": {},
"messages": {
"compilerMessageReporting": {
"default": {
"logLevel": "warning"
}
},
"extractorMessageReporting": {
"default": {
"logLevel": "warning"
},
"ae-internal-missing-underscore": {
"logLevel": "none",
"addToApiReportFile": false
}
},
"tsdocMessageReporting": {
"default": {
"logLevel": "warning"
}
}
}
}
-134
View File
@@ -1,134 +0,0 @@
[run]
timeout = "10m"
[linters-settings.goconst]
min-len = 5
min-occurrences = 5
[linters-settings.exhaustive]
default-signifies-exhaustive = true
[linters-settings.revive]
ignore-generated-header = false
severity = "warning"
confidence = 3
[linters-settings.gocritic]
enabled-checks = ["ruleguard"]
[linters-settings.gocritic.settings.ruleguard]
rules = "pkg/ruleguard.rules.go"
[linters]
disable-all = true
enable = [
"bodyclose",
"deadcode",
"depguard",
"dogsled",
"errcheck",
# "gochecknoinits",
"goconst",
"gocritic",
"goimports",
"goprintffuncname",
"gosec",
"gosimple",
"govet",
"ineffassign",
"misspell",
"nakedret",
"rowserrcheck",
"exportloopref",
"staticcheck",
"structcheck",
"stylecheck",
"typecheck",
"unconvert",
"unused",
"varcheck",
"whitespace",
"gocyclo",
"exhaustive",
"typecheck",
"asciicheck",
"errorlint",
"sqlclosecheck",
"revive",
]
# Disabled linters (might want them later)
# "unparam"
[issues]
exclude-use-default = false
# Enable when appropriate
# Poorly chosen identifier
[[issues.exclude-rules]]
linters = ["stylecheck"]
text = "ST1003"
# Enable when appropriate
# Dot imports that aren't in external test packages are discouraged.
[[issues.exclude-rules]]
linters = ["stylecheck"]
text = "ST1001"
[[issues.exclude-rules]]
linters = ["gosec"]
text = "G108"
[[issues.exclude-rules]]
linters = ["gosec"]
text = "G110"
[[issues.exclude-rules]]
linters = ["gosec"]
text = "G201"
[[issues.exclude-rules]]
linters = ["gosec"]
text = "G202"
[[issues.exclude-rules]]
linters = ["gosec"]
text = "G306"
[[issues.exclude-rules]]
linters = ["gosec"]
text = "401"
[[issues.exclude-rules]]
linters = ["gosec"]
text = "402"
[[issues.exclude-rules]]
linters = ["gosec"]
text = "501"
[[issues.exclude-rules]]
linters = ["gosec"]
text = "404"
[[issues.exclude-rules]]
linters = ["misspell"]
text = "Unknwon` is a misspelling of `Unknown"
[[issues.exclude-rules]]
linters = ["errorlint"]
text = "non-wrapping format verb for fmt.Errorf"
# TODO: Enable
[[issues.exclude-rules]]
linters = ["stylecheck"]
text = "ST1000"
# TODO: Enable
[[issues.exclude-rules]]
linters = ["stylecheck"]
text = "ST1020"
# TODO: Enable
[[issues.exclude-rules]]
linters = ["stylecheck"]
text = "ST1021"
+110 -22
View File
@@ -66,6 +66,15 @@ enable_gzip = false
cert_file = cert_file =
cert_key = cert_key =
# Unix socket gid
# Changing the gid of a file without privileges requires that the target group is in the group of the process and that the process is the file owner
# It is recommended to set the gid as http server user gid
# Not set when the value is -1
socket_gid = -1
# Unix socket mode
socket_mode = 0660
# Unix socket path # Unix socket path
socket = /tmp/grafana.sock socket = /tmp/grafana.sock
@@ -125,9 +134,15 @@ path = grafana.db
# For "sqlite3" only. cache mode setting used for connecting to the database # For "sqlite3" only. cache mode setting used for connecting to the database
cache_mode = private 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. # For "mysql" only if migrationLocking 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 locking_attempt_timeout_sec = 0
# For "sqlite" only. How many times to retry query in case of database is locked failures. Default is 0 (disabled).
query_retries = 0
# For "sqlite" only. How many times to retry transaction in case of database is locked failures. Default is 5.
transaction_retries = 5
#################################### Cache server ############################# #################################### Cache server #############################
[remote_cache] [remote_cache]
# Either "redis", "memcached" or "database" default is "database" # Either "redis", "memcached" or "database" default is "database"
@@ -212,6 +227,12 @@ check_for_plugin_updates = true
# Google Analytics universal tracking code, only enabled if you specify an id here # Google Analytics universal tracking code, only enabled if you specify an id here
google_analytics_ua_id = google_analytics_ua_id =
# Google Analytics 4 tracking code, only enabled if you specify an id here
google_analytics_4_id =
# When Google Analytics 4 Enhanced event measurement is enabled, we will try to avoid sending duplicate events and let Google Analytics 4 detect navigation changes, etc.
google_analytics_4_send_manual_page_views = false
# Google Tag Manager ID, only enabled if you specify an id here # Google Tag Manager ID, only enabled if you specify an id here
google_tag_manager_id = google_tag_manager_id =
@@ -247,6 +268,9 @@ admin_user = admin
# default admin password, can be changed before first start of grafana, or in profile settings # default admin password, can be changed before first start of grafana, or in profile settings
admin_password = admin admin_password = admin
# default admin email, created on startup
admin_email = admin@localhost
# used for signing # used for signing
secret_key = SW2YcwTIb9zpOOhoPsMm secret_key = SW2YcwTIb9zpOOhoPsMm
@@ -403,6 +427,9 @@ hidden_users =
# Login cookie name # Login cookie name
login_cookie_name = grafana_session login_cookie_name = grafana_session
# Disable usage of Grafana build-in login solution.
disable_login = false
# The maximum lifetime (duration) an authenticated user can be inactive before being required to login at next visit. Default is 7 days (7d). This setting should be expressed as a duration, e.g. 5m (minutes), 6h (hours), 10d (days), 2w (weeks), 1M (month). The lifetime resets at each successful token rotation (token_rotation_interval_minutes). # The maximum lifetime (duration) an authenticated user can be inactive before being required to login at next visit. Default is 7 days (7d). This setting should be expressed as a duration, e.g. 5m (minutes), 6h (hours), 10d (days), 2w (weeks), 1M (month). The lifetime resets at each successful token rotation (token_rotation_interval_minutes).
login_maximum_inactive_lifetime_duration = login_maximum_inactive_lifetime_duration =
@@ -440,6 +467,9 @@ sigv4_auth_enabled = false
# Set to true to enable verbose logging of SigV4 request signing # Set to true to enable verbose logging of SigV4 request signing
sigv4_verbose_logging = false sigv4_verbose_logging = false
# Set to true to enable Azure authentication option for HTTP-based datasources
azure_auth_enabled = false
#################################### Anonymous Auth ###################### #################################### Anonymous Auth ######################
[auth.anonymous] [auth.anonymous]
# enable anonymous access # enable anonymous access
@@ -467,6 +497,9 @@ api_url = https://api.github.com/user
allowed_domains = allowed_domains =
team_ids = team_ids =
allowed_organizations = allowed_organizations =
role_attribute_path =
role_attribute_strict = false
allow_assign_grafana_admin = false
#################################### GitLab Auth ######################### #################################### GitLab Auth #########################
[auth.gitlab] [auth.gitlab]
@@ -482,6 +515,7 @@ allowed_domains =
allowed_groups = allowed_groups =
role_attribute_path = role_attribute_path =
role_attribute_strict = false role_attribute_strict = false
allow_assign_grafana_admin = false
#################################### Google Auth ######################### #################################### Google Auth #########################
[auth.google] [auth.google]
@@ -527,6 +561,8 @@ token_url = https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token
allowed_domains = allowed_domains =
allowed_groups = allowed_groups =
role_attribute_strict = false role_attribute_strict = false
allow_assign_grafana_admin = false
force_use_graph_api = false
#################################### Okta OAuth ####################### #################################### Okta OAuth #######################
[auth.okta] [auth.okta]
@@ -544,6 +580,7 @@ allowed_domains =
allowed_groups = allowed_groups =
role_attribute_path = role_attribute_path =
role_attribute_strict = false role_attribute_strict = false
allow_assign_grafana_admin = false
#################################### Generic OAuth ####################### #################################### Generic OAuth #######################
[auth.generic_oauth] [auth.generic_oauth]
@@ -576,7 +613,8 @@ tls_client_cert =
tls_client_key = tls_client_key =
tls_client_ca = tls_client_ca =
use_pkce = false use_pkce = false
auth_style = auth_style =
allow_assign_grafana_admin = false
#################################### Basic Auth ########################## #################################### Basic Auth ##########################
[auth.basic] [auth.basic]
@@ -597,21 +635,27 @@ enable_login_token = false
#################################### Auth JWT ########################## #################################### Auth JWT ##########################
[auth.jwt] [auth.jwt]
enabled = false enabled = false
enable_login_token = false
header_name = header_name =
email_claim = email_claim =
username_claim = username_claim =
jwk_set_url = jwk_set_url =
jwk_set_file = jwk_set_file =
cache_ttl = 60m cache_ttl = 60m
expected_claims = {} expect_claims = {}
key_file = key_file =
role_attribute_path =
role_attribute_strict = false
auto_sign_up = false auto_sign_up = false
url_login = false
allow_assign_grafana_admin = false
#################################### Auth LDAP ########################### #################################### Auth LDAP ###########################
[auth.ldap] [auth.ldap]
enabled = false enabled = false
config_file = /etc/grafana/ldap.toml config_file = /etc/grafana/ldap.toml
allow_sign_up = true allow_sign_up = true
skip_org_role_sync = false
# LDAP background sync (Enterprise only) # LDAP background sync (Enterprise only)
# At 1 am every day # At 1 am every day
@@ -649,8 +693,7 @@ managed_identity_client_id =
#################################### Role-based Access Control ########### #################################### Role-based Access Control ###########
[rbac] [rbac]
enabled = true # If enabled, cache permissions in a in memory cache
# If enabled, cache permissions in a in memory cache (Enterprise only)
permission_cache = true permission_cache = true
#################################### SMTP / Emailing ##################### #################################### SMTP / Emailing #####################
@@ -762,7 +805,7 @@ instrumentations_console_enabled = false
instrumentations_webvitals_enabled = false instrumentations_webvitals_enabled = false
# Api Key, only applies to Grafana Javascript Agent provider # Api Key, only applies to Grafana Javascript Agent provider
api_key = api_key =
#################################### Usage Quotas ######################## #################################### Usage Quotas ########################
[quota] [quota]
@@ -805,6 +848,9 @@ global_session = -1
# global limit of alerts # global limit of alerts
global_alert_rule = -1 global_alert_rule = -1
# global limit of files uploaded to the SQL DB
global_file = 1000
#################################### Unified Alerting #################### #################################### Unified Alerting ####################
[unified_alerting] [unified_alerting]
# Enable the Unified Alerting sub-system and interface. When enabled we'll migrate all of your alert rules and notification channels to the new system. New alert rules will be created and your notification channels will be converted into an Alertmanager configuration. Previous data is preserved to enable backwards compatibility but new data is removed when switching. When this configuration section and flag are not defined, the state is defined at runtime. See the documentation for more details. # Enable the Unified Alerting sub-system and interface. When enabled we'll migrate all of your alert rules and notification channels to the new system. New alert rules will be created and your notification channels will be converted into an Alertmanager configuration. Previous data is preserved to enable backwards compatibility but new data is removed when switching. When this configuration section and flag are not defined, the state is defined at runtime. See the documentation for more details.
@@ -861,8 +907,8 @@ max_attempts = 3
min_interval = 10s min_interval = 10s
[unified_alerting.screenshots] [unified_alerting.screenshots]
# Enable screenshots in notifications. This option requires a remote HTTP image rendering service. Please # Enable screenshots in notifications. This option requires the Grafana Image Renderer plugin.
# see [rendering] for further configuration options. # For more information on configuration options, refer to [rendering].
capture = false capture = false
# The maximum number of screenshots that can be taken at the same time. This option is different from # The maximum number of screenshots that can be taken at the same time. This option is different from
@@ -876,6 +922,11 @@ max_concurrent_screenshots = 5
# screenshots will be persisted to disk for up to temp_data_lifetime. # screenshots will be persisted to disk for up to temp_data_lifetime.
upload_external_image_storage = false upload_external_image_storage = false
[unified_alerting.reserved_labels]
# Comma-separated list of reserved labels added by the Grafana Alerting engine that should be disabled.
# For example: `disabled_labels=grafana_folder`
disabled_labels =
#################################### Alerting ############################ #################################### Alerting ############################
[alerting] [alerting]
# Enable the legacy alerting sub-system and interface. If Unified Alerting is already enabled and you try to go back to legacy alerting, all data that is part of Unified Alerting will be deleted. When this configuration section and flag are not defined, the state is defined at runtime. See the documentation for more details. # Enable the legacy alerting sub-system and interface. If Unified Alerting is already enabled and you try to go back to legacy alerting, all data that is part of Unified Alerting will be deleted. When this configuration section and flag are not defined, the state is defined at runtime. See the documentation for more details.
@@ -918,6 +969,10 @@ max_annotations_to_keep =
# Configures the batch size for the annotation clean-up job. This setting is used for dashboard, API, and alert annotations. # Configures the batch size for the annotation clean-up job. This setting is used for dashboard, API, and alert annotations.
cleanupjob_batchsize = 100 cleanupjob_batchsize = 100
# Enforces the maximum allowed length of the tags for any newly introduced annotations. It can be between 500 and 4096 inclusive (which is the respective's column length). Default value is 500.
# Setting it to a higher value would impact performance therefore is not recommended.
tags_length = 500
[annotations.dashboard] [annotations.dashboard]
# Dashboard annotations means that annotations are associated with the dashboard they are created on. # Dashboard annotations means that annotations are associated with the dashboard they are created on.
@@ -1015,6 +1070,11 @@ zipkin_propagation = false
# Not disabling is the most common setting when using Zipkin elsewhere in your infrastructure. # Not disabling is the most common setting when using Zipkin elsewhere in your infrastructure.
disable_shared_zipkin_spans = false disable_shared_zipkin_spans = false
[tracing.opentelemetry]
# attributes that will always be included in when creating new spans. ex (key1:value1,key2:value2)
custom_attributes =
[tracing.opentelemetry.jaeger] [tracing.opentelemetry.jaeger]
# jaeger destination (ex http://localhost:14268/api/traces) # jaeger destination (ex http://localhost:14268/api/traces)
address = address =
@@ -1061,6 +1121,7 @@ signed_url_expiration =
account_name = account_name =
account_key = account_key =
container_name = container_name =
sas_token_expiration_days =
[external_image_storage.local] [external_image_storage.local]
# does not require any configuration # does not require any configuration
@@ -1071,9 +1132,16 @@ container_name =
server_url = server_url =
# If the remote HTTP image renderer service runs on a different server than the Grafana server you may have to configure this to a URL where Grafana is reachable, e.g. http://grafana.domain/. # If the remote HTTP image renderer service runs on a different server than the Grafana server you may have to configure this to a URL where Grafana is reachable, e.g. http://grafana.domain/.
callback_url = callback_url =
# An auth token that will be sent to and verified by the renderer. The renderer will deny any request without an auth token matching the one configured on the renderer side.
renderer_token = -
# Concurrent render request limit affects when the /render HTTP endpoint is used. Rendering many images at the same time can overload the server, # Concurrent render request limit affects when the /render HTTP endpoint is used. Rendering many images at the same time can overload the server,
# which this setting can help protect against by only allowing a certain amount of concurrent requests. # which this setting can help protect against by only allowing a certain amount of concurrent requests.
concurrent_render_request_limit = 30 concurrent_render_request_limit = 30
# Determines the lifetime of the render key used by the image renderer to access and render Grafana.
# This setting should be expressed as a duration. Examples: 10s (seconds), 5m (minutes), 2h (hours).
# Default is 5m. This should be more than enough for most deployments.
# Change the value only if image rendering is failing and you see `Failed to get the render key from cache` in Grafana logs.
render_key_lifetime = 5m
[panels] [panels]
# here for to support old env variables, can remove after a few months # here for to support old env variables, can remove after a few months
@@ -1188,20 +1256,7 @@ license_path =
# enable = feature1,feature2 # enable = feature1,feature2
enable = enable =
# The new prometheus visual query builder internationalization = true
promQueryBuilder = true
# The new loki visual query builder
lokiQueryBuilder = true
# Experimental Explore to Dashboard workflow
explore2Dashboard = true
# Experimental Command Palette
commandPalette = true
# Use dynamic labels in CloudWatch datasource
cloudWatchDynamicLabels = true
# feature1 = true # feature1 = true
# feature2 = false # feature2 = false
@@ -1255,3 +1310,36 @@ max_crawl_duration =
# Minimum interval between two subsequent scheduler runs. Default is 12h. # Minimum interval between two subsequent scheduler runs. Default is 12h.
# This setting should be expressed as a duration. Examples: 10s (seconds), 1m (minutes). # This setting should be expressed as a duration. Examples: 10s (seconds), 1m (minutes).
scheduler_interval = scheduler_interval =
#################################### Storage ################################################
[storage]
# Allow uploading SVG files without sanitization.
allow_unsanitized_svg_upload = false
#################################### Search ################################################
[search]
# Defines the number of dashboards loaded at once in a batch during a full reindex.
# This is a temporary settings that might be removed in the future.
dashboard_loading_batch_size = 200
# Defines the frequency of a full search reindex.
# This is a temporary settings that might be removed in the future.
full_reindex_interval = 5m
# Defines the frequency of partial index updates based on recent changes such as dashboard updates.
# This is a temporary settings that might be removed in the future.
index_update_interval = 10s
# Move an app plugin referenced by its id (including all its pages) to a specific navigation section
# Dependencies: needs the `topnav` feature to be enabled
# Format: <Plugin ID> = <Section ID> <Sort Weight>
[navigation.app_sections]
# Move a specific app plugin page (referenced by its `path` field) to a specific navigation section
# Format: <Page URL> = <Section ID> <Sort Weight>
[navigation.app_standalone_pages]
+6 -1
View File
@@ -24,6 +24,11 @@ bind_dn = "cn=admin,dc=grafana,dc=org"
# Search user bind password # Search user bind password
# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;""" # If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;"""
bind_password = 'grafana' bind_password = 'grafana'
# We recommend using variable expansion for the bind_password, for more info https://grafana.com/docs/grafana/latest/setup-grafana/configure-grafana/#variable-expansion
# bind_password = '$__env{LDAP_BIND_PASSWORD}'
# Timeout in seconds (applies to each host specified in the 'host' entry (space separated))
timeout = 10
# User search filter, for example "(cn=%s)" or "(sAMAccountName=%s)" or "(uid=%s)" # User search filter, for example "(cn=%s)" or "(sAMAccountName=%s)" or "(uid=%s)"
search_filter = "(cn=%s)" search_filter = "(cn=%s)"
@@ -55,7 +60,7 @@ org_role = "Admin"
# org_id = 1 # org_id = 1
[[servers.group_mappings]] [[servers.group_mappings]]
group_dn = "cn=users,ou=groups,dc=grafana,dc=org" group_dn = "cn=editors,ou=groups,dc=grafana,dc=org"
org_role = "Editor" org_role = "Editor"
[[servers.group_mappings]] [[servers.group_mappings]]
+4 -4
View File
@@ -19,9 +19,9 @@
# # <string, required> action allowed. # # <string, required> action allowed.
# - action: 'users:read' # - action: 'users:read'
# #<string> scope it applies to. # #<string> scope it applies to.
# scope: 'users:*' # scope: 'global.users:*'
# - action: 'users:write' # - action: 'users:write'
# scope: 'users:*' # scope: 'global.users:*'
# - action: 'users:create' # - action: 'users:create'
# - name: 'custom:global:users:reader' # - name: 'custom:global:users:reader'
# # <bool> overwrite org id and creates a global role. # # <bool> overwrite org id and creates a global role.
@@ -42,9 +42,9 @@
# # <list> list of the permissions to add/remove on top of the copied ones. # # <list> list of the permissions to add/remove on top of the copied ones.
# permissions: # permissions:
# - action: 'users:read' # - action: 'users:read'
# scope: 'users:*' # scope: 'global.users:*'
# - action: 'users:write' # - action: 'users:write'
# scope: 'users:*' # scope: 'global.users:*'
# # <string> state of the permission. Defaults to 'present'. If 'absent', the permission will be removed. # # <string> state of the permission. Defaults to 'present'. If 'absent', the permission will be removed.
# state: absent # state: absent
+187
View File
@@ -0,0 +1,187 @@
# # config file version
apiVersion: 1
# # List of rule groups to import or update
# groups:
# # <int> organization ID, default = 1
# - orgId: 1
# # <string, required> name of the rule group
# name: my_rule_group
# # <string, required> name of the folder the rule group will be stored in
# folder: my_first_folder
# # <duration, required> interval of the rule group evaluation
# interval: 60s
# # <list, required> list of rules that are part of the rule group
# rules:
# # <string, required> unique identifier for the rule
# - uid: my_id_1
# # <string, required> title of the rule, will be displayed in the UI
# title: my_first_rule
# # <string, required> query used for the condition
# condition: A
# # <list, required> list of query objects that should be executed on each
# # evaluation - should be obtained via the API
# data:
# - refId: A
# datasourceUid: "-100"
# model:
# conditions:
# - evaluator:
# params:
# - 3
# type: gt
# operator:
# type: and
# query:
# params:
# - A
# reducer:
# type: last
# type: query
# datasource:
# type: __expr__
# uid: "-100"
# expression: 1==0
# intervalMs: 1000
# maxDataPoints: 43200
# refId: A
# type: math
# # <string> UID of a dashboard that the alert rule should be linked to
# dashboardUid: my_dashboard
# # <int> ID of the panel that the alert rule should be linked to
# panelId: 123
# # <string> state of the alert rule when no data is returned
# # possible values: "NoData", "Alerting", "OK", default = NoData
# noDataState: Alerting
# # <string> state of the alert rule when the query execution
# # fails - possible values: "Error", "Alerting", "OK"
# # default = Alerting
# executionErrorState: Alerting
# # <duration, required> how long the alert condition should be breached before Firing. Before this time has elapsed, the alert is considered to be Pending
# for: 60s
# # <map<string, string>> map of strings to attach arbitrary custom data
# annotations:
# some_key: some_value
# # <map<string, string> map of strings to filter and
# # route alerts
# labels:
# team: sre_team_1
# # List of alert rule UIDs that should be deleted
# deleteRules:
# # <int> organization ID, default = 1
# - orgId: 1
# # <string, required> unique identifier for the rule
# uid: my_id_1
# # List of contact points to import or update
# contactPoints:
# # <int> organization ID, default = 1
# - orgId: 1
# # <string, required> name of the contact point
# name: cp_1
# receivers:
# # <string, required> unique identifier for the receiver
# - uid: first_uid
# # <string, required> type of the receiver
# type: prometheus-alertmanager
# # <object, required> settings for the specific receiver type
# settings:
# url: http://test:9000
# # List of receivers that should be deleted
# deleteContactPoints:
# - orgId: 1
# uid: first_uid
# # List of notification policies to import or update
# policies:
# # <int> organization ID, default = 1
# - orgId: 1
# # <string> name of the receiver that should be used for this route
# receiver: grafana-default-email
# # <list<string>> The labels by which incoming alerts are grouped together. For example,
# # multiple alerts coming in for cluster=A and alertname=LatencyHigh would
# # be batched into a single group.
# #
# # To aggregate by all possible labels, use the special value '...' as
# # the sole label name, for example:
# # group_by: ['...']
# # This effectively disables aggregation entirely, passing through all
# # alerts as-is. This is unlikely to be what you want, unless you have
# # a very low alert volume or your upstream notification system performs
# # its own grouping.
# group_by:
# - grafana_folder
# - alertname
# # <list> a list of matchers that an alert has to fulfill to match the node
# matchers:
# - alertname = Watchdog
# - severity =~ "warning|critical"
# # <list> Times when the route should be muted. These must match the name of a
# # mute time interval.
# # Additionally, the root node cannot have any mute times.
# # When a route is muted it will not send any notifications, but
# # otherwise acts normally (including ending the route-matching process
# # if the `continue` option is not set)
# mute_time_intervals:
# - abc
# # <duration> How long to initially wait to send a notification for a group
# # of alerts. Allows to collect more initial alerts for the same group.
# # (Usually ~0s to few minutes), default = 30s
# group_wait: 30s
# # <duration> How long to wait before sending a notification about new alerts that
# # are added to a group of alerts for which an initial notification has
# # already been sent. (Usually ~5m or more), default = 5m
# group_interval: 5m
# # <duration> How long to wait before sending a notification again if it has already
# # been sent successfully for an alert. (Usually ~3h or more), default = 4h
# repeat_interval: 4h
# # <list> Zero or more child routes
# routes:
# ...
# # List of orgIds that should be reset to the default policy
# resetPolicies:
# - 1
# # List of templates to import or update
# templates:
# # <int> organization ID, default = 1
# - orgID: 1
# # <string, required> name of the template, must be unique
# name: my_first_template
# # <string, required> content of the the template
# template: Alerting with a custome text template
# # List of templates that should be deleted
# deleteTemplates:
# # <int> organization ID, default = 1
# - orgId: 1
# # <string, required> name of the template, must be unique
# name: my_first_template
# # List of mute time intervals to import or update
# muteTimes:
# # <int> organization ID, default = 1
# - orgId: 1
# # <string, required> name of the mute time interval, must be unique
# name: mti_1
# # <list> time intervals that should trigger the muting
# refer to https://prometheus.io/docs/alerting/latest/configuration/#time_interval-0
# time_intervals:
# - times:
# - start_time: '06:00'
# end_time: '23:59'
# weekdays: ['monday:wednesday','saturday', 'sunday']
# months: ['1:3', 'may:august', 'december']
# years: ['2020:2022', '2030']
# days_of_month: ['1:5', '-3:-1']
# # List of mute time intervals that should be deleted
# deleteMuteTimes:
# # <int> organization ID, default = 1
# - orgId: 1
# # <string, required> name of the mute time interval, must be unique
# name: mti_1
+81 -5
View File
@@ -67,6 +67,15 @@
;cert_file = ;cert_file =
;cert_key = ;cert_key =
# Unix socket gid
# Changing the gid of a file without privileges requires that the target group is in the group of the process and that the process is the file owner
# It is recommended to set the gid as http server user gid
# Not set when the value is -1
;socket_gid =
# Unix socket mode
;socket_mode =
# Unix socket path # Unix socket path
;socket = ;socket =
@@ -94,7 +103,8 @@
# Example: mysql://user:secret@host:port/database # Example: mysql://user:secret@host:port/database
;url = ;url =
# For "postgres" only, either "disable", "require" or "verify-full" # For "postgres", use either "disable", "require" or "verify-full"
# For "mysql", use either "true", "false", or "skip-verify".
;ssl_mode = disable ;ssl_mode = disable
# Database drivers may support different transaction isolation levels. # Database drivers may support different transaction isolation levels.
@@ -126,9 +136,15 @@
# For "sqlite3" only. cache mode setting used for connecting to the database. (private, shared) # For "sqlite3" only. cache mode setting used for connecting to the database. (private, shared)
;cache_mode = private ;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. # For "mysql" only if migrationLocking 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 ;locking_attempt_timeout_sec = 0
# For "sqlite" only. How many times to retry query in case of database is locked failures. Default is 0 (disabled).
;query_retries = 0
# For "sqlite" only. How many times to retry transaction in case of database is locked failures. Default is 5.
;transaction_retries = 5
################################### Data sources ######################### ################################### Data sources #########################
[datasources] [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. # 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.
@@ -218,6 +234,12 @@
# Google Analytics universal tracking code, only enabled if you specify an id here # Google Analytics universal tracking code, only enabled if you specify an id here
;google_analytics_ua_id = ;google_analytics_ua_id =
# Google Analytics 4 tracking code, only enabled if you specify an id here
;google_analytics_4_id =
# When Google Analytics 4 Enhanced event measurement is enabled, we will try to avoid sending duplicate events and let Google Analytics 4 detect navigation changes, etc.
;google_analytics_4_send_manual_page_views = false
# Google Tag Manager ID, only enabled if you specify an id here # Google Tag Manager ID, only enabled if you specify an id here
;google_tag_manager_id = ;google_tag_manager_id =
@@ -247,6 +269,9 @@
# default admin password, can be changed before first start of grafana, or in profile settings # default admin password, can be changed before first start of grafana, or in profile settings
;admin_password = admin ;admin_password = admin
# default admin email, created on startup
;admin_email = admin@localhost
# used for signing # used for signing
;secret_key = SW2YcwTIb9zpOOhoPsMm ;secret_key = SW2YcwTIb9zpOOhoPsMm
@@ -403,6 +428,9 @@
# Login cookie name # Login cookie name
;login_cookie_name = grafana_session ;login_cookie_name = grafana_session
# Disable usage of Grafana build-in login solution.
;disable_login = false
# The maximum lifetime (duration) an authenticated user can be inactive before being required to login at next visit. Default is 7 days (7d). This setting should be expressed as a duration, e.g. 5m (minutes), 6h (hours), 10d (days), 2w (weeks), 1M (month). The lifetime resets at each successful token rotation. # The maximum lifetime (duration) an authenticated user can be inactive before being required to login at next visit. Default is 7 days (7d). This setting should be expressed as a duration, e.g. 5m (minutes), 6h (hours), 10d (days), 2w (weeks), 1M (month). The lifetime resets at each successful token rotation.
;login_maximum_inactive_lifetime_duration = ;login_maximum_inactive_lifetime_duration =
@@ -440,6 +468,9 @@
# Set to true to enable verbose logging of SigV4 request signing # Set to true to enable verbose logging of SigV4 request signing
;sigv4_verbose_logging = false ;sigv4_verbose_logging = false
# Set to true to enable Azure authentication option for HTTP-based datasources.
;azure_auth_enabled = false
#################################### Anonymous Auth ###################### #################################### Anonymous Auth ######################
[auth.anonymous] [auth.anonymous]
# enable anonymous access # enable anonymous access
@@ -467,6 +498,9 @@
;allowed_domains = ;allowed_domains =
;team_ids = ;team_ids =
;allowed_organizations = ;allowed_organizations =
;role_attribute_path =
;role_attribute_strict = false
;allow_assign_grafana_admin = false
#################################### GitLab Auth ######################### #################################### GitLab Auth #########################
[auth.gitlab] [auth.gitlab]
@@ -480,6 +514,9 @@
;api_url = https://gitlab.com/api/v4 ;api_url = https://gitlab.com/api/v4
;allowed_domains = ;allowed_domains =
;allowed_groups = ;allowed_groups =
;role_attribute_path =
;role_attribute_strict = false
;allow_assign_grafana_admin = false
#################################### Google Auth ########################## #################################### Google Auth ##########################
[auth.google] [auth.google]
@@ -516,6 +553,7 @@
;allowed_domains = ;allowed_domains =
;allowed_groups = ;allowed_groups =
;role_attribute_strict = false ;role_attribute_strict = false
;allow_assign_grafana_admin = false
#################################### Okta OAuth ####################### #################################### Okta OAuth #######################
[auth.okta] [auth.okta]
@@ -532,6 +570,7 @@
;allowed_groups = ;allowed_groups =
;role_attribute_path = ;role_attribute_path =
;role_attribute_strict = false ;role_attribute_strict = false
;allow_assign_grafana_admin = false
#################################### Generic OAuth ########################## #################################### Generic OAuth ##########################
[auth.generic_oauth] [auth.generic_oauth]
@@ -564,6 +603,7 @@
;tls_client_ca = ;tls_client_ca =
;use_pkce = false ;use_pkce = false
;auth_style = ;auth_style =
;allow_assign_grafana_admin = false
#################################### Basic Auth ########################## #################################### Basic Auth ##########################
[auth.basic] [auth.basic]
@@ -592,15 +632,21 @@
;jwk_set_url = https://foo.bar/.well-known/jwks.json ;jwk_set_url = https://foo.bar/.well-known/jwks.json
;jwk_set_file = /path/to/jwks.json ;jwk_set_file = /path/to/jwks.json
;cache_ttl = 60m ;cache_ttl = 60m
;expected_claims = {"aud": ["foo", "bar"]} ;expect_claims = {"aud": ["foo", "bar"]}
;key_file = /path/to/key/file ;key_file = /path/to/key/file
;role_attribute_path =
;role_attribute_strict = false
;auto_sign_up = false ;auto_sign_up = false
;url_login = false
;allow_assign_grafana_admin = false
#################################### Auth LDAP ########################## #################################### Auth LDAP ##########################
[auth.ldap] [auth.ldap]
;enabled = false ;enabled = false
;config_file = /etc/grafana/ldap.toml ;config_file = /etc/grafana/ldap.toml
;allow_sign_up = true ;allow_sign_up = true
# prevent synchronizing ldap users organization roles
;skip_org_role_sync = false
# LDAP background sync (Enterprise only) # LDAP background sync (Enterprise only)
# At 1 am every day # At 1 am every day
@@ -635,8 +681,6 @@
#################################### Role-based Access Control ########### #################################### Role-based Access Control ###########
[rbac] [rbac]
;enabled = true
# If enabled, cache permissions in a in memory cache (Enterprise only)
;permission_cache = true ;permission_cache = true
#################################### SMTP / Emailing ########################## #################################### SMTP / Emailing ##########################
[smtp] [smtp]
@@ -847,6 +891,11 @@
# The interval string is a possibly signed sequence of decimal numbers, followed by a unit suffix (ms, s, m, h, d), e.g. 30s or 1m. # The interval string is a possibly signed sequence of decimal numbers, followed by a unit suffix (ms, s, m, h, d), e.g. 30s or 1m.
;min_interval = 10s ;min_interval = 10s
[unified_alerting.reserved_labels]
# Comma-separated list of reserved labels added by the Grafana Alerting engine that should be disabled.
# For example: `disabled_labels=grafana_folder`
;disabled_labels =
#################################### Alerting ############################ #################################### Alerting ############################
[alerting] [alerting]
# Disable legacy alerting engine & UI features # Disable legacy alerting engine & UI features
@@ -889,6 +938,10 @@
# Configures the batch size for the annotation clean-up job. This setting is used for dashboard, API, and alert annotations. # Configures the batch size for the annotation clean-up job. This setting is used for dashboard, API, and alert annotations.
;cleanupjob_batchsize = 100 ;cleanupjob_batchsize = 100
# Enforces the maximum allowed length of the tags for any newly introduced annotations. It can be between 500 and 4096 inclusive (which is the respective's column length). Default value is 500.
# Setting it to a higher value would impact performance therefore is not recommended.
;tags_length = 500
[annotations.dashboard] [annotations.dashboard]
# Dashboard annotations means that annotations are associated with the dashboard they are created on. # Dashboard annotations means that annotations are associated with the dashboard they are created on.
@@ -986,6 +1039,10 @@
# Not disabling is the most common setting when using Zipkin elsewhere in your infrastructure. # Not disabling is the most common setting when using Zipkin elsewhere in your infrastructure.
;disable_shared_zipkin_spans = false ;disable_shared_zipkin_spans = false
[tracing.opentelemetry]
# attributes that will always be included in when creating new spans. ex (key1:value1,key2:value2)
;custom_attributes = key1:value1,key2:value2
[tracing.opentelemetry.jaeger] [tracing.opentelemetry.jaeger]
# jaeger destination (ex http://localhost:14268/api/traces) # jaeger destination (ex http://localhost:14268/api/traces)
; address = http://localhost:14268/api/traces ; address = http://localhost:14268/api/traces
@@ -1029,6 +1086,7 @@
;account_name = ;account_name =
;account_key = ;account_key =
;container_name = ;container_name =
;sas_token_expiration_days =
[external_image_storage.local] [external_image_storage.local]
# does not require any configuration # does not require any configuration
@@ -1039,9 +1097,16 @@
;server_url = ;server_url =
# If the remote HTTP image renderer service runs on a different server than the Grafana server you may have to configure this to a URL where Grafana is reachable, e.g. http://grafana.domain/. # If the remote HTTP image renderer service runs on a different server than the Grafana server you may have to configure this to a URL where Grafana is reachable, e.g. http://grafana.domain/.
;callback_url = ;callback_url =
# An auth token that will be sent to and verified by the renderer. The renderer will deny any request without an auth token matching the one configured on the renderer side.
;renderer_token = -
# Concurrent render request limit affects when the /render HTTP endpoint is used. Rendering many images at the same time can overload the server, # Concurrent render request limit affects when the /render HTTP endpoint is used. Rendering many images at the same time can overload the server,
# which this setting can help protect against by only allowing a certain amount of concurrent requests. # which this setting can help protect against by only allowing a certain amount of concurrent requests.
;concurrent_render_request_limit = 30 ;concurrent_render_request_limit = 30
# Determines the lifetime of the render key used by the image renderer to access and render Grafana.
# This setting should be expressed as a duration. Examples: 10s (seconds), 5m (minutes), 2h (hours).
# Default is 5m. This should be more than enough for most deployments.
# Change the value only if image rendering is failing and you see `Failed to get the render key from cache` in Grafana logs.
;render_key_lifetime = 5m
[panels] [panels]
# If set to true Grafana will allow script tags in text panels. Not recommended as it enable XSS vulnerabilities. # If set to true Grafana will allow script tags in text panels. Not recommended as it enable XSS vulnerabilities.
@@ -1193,3 +1258,14 @@
# Enable or disable loading other base map layers # Enable or disable loading other base map layers
;enable_custom_baselayers = true ;enable_custom_baselayers = true
# Move an app plugin referenced by its id (including all its pages) to a specific navigation section
# Dependencies: needs the `topnav` feature to be enabled
[navigation.app_sections]
# The following will move an app plugin with the id of `my-app-id` under the `starred` section
# my-app-id = admin
# Move a specific app plugin page (referenced by its `path` field) to a specific navigation section
[navigation.app_standalone_pages]
# The following will move the page with the path "/a/my-app-id/starred-content" from `my-app-id` to the `starred` section
# /a/my-app-id/starred-content = starred
-1
View File
@@ -11,7 +11,6 @@ This directory contains guides for contributors to the Grafana project.
The `style-guides` directory contains style guides for the Grafana software project and documentation. The `style-guides` directory contains style guides for the Grafana software project and documentation.
- [Backend style guide](style-guides/backend.md) for how to style and format backend functionality and code. - [Backend style guide](style-guides/backend.md) for how to style and format backend functionality and code.
- [Documentation style guide](style-guides/documentation-style-guide.md) for how to style and format documentation.
- [Frontend style guide](style-guides/frontend.md) for how to style and format the user-facing functionality and code. - [Frontend style guide](style-guides/frontend.md) for how to style and format the user-facing functionality and code.
- [Redux framework](style-guides/redux.md) for designing the Grafana redux framework. - [Redux framework](style-guides/redux.md) for designing the Grafana redux framework.
- [Themes style guide](style-guides/themes.md) for designing and updating Grafana themes. - [Themes style guide](style-guides/themes.md) for designing and updating Grafana themes.
+1 -1
View File
@@ -62,7 +62,7 @@ You can now make SQL queries in any of your [command handlers](communication.md#
```go ```go
func (s *MyService) DeleteDashboard(ctx context.Context, cmd *models.DeleteDashboardCommand) error { func (s *MyService) DeleteDashboard(ctx context.Context, cmd *models.DeleteDashboardCommand) error {
if err := s.SQLStore.WithDbSession(ctx, func(sess *sqlstore.DBSession) error { if err := s.SQLStore.WithDbSession(ctx, func(sess *db.Session) error {
_, err := sess.Exec("DELETE FROM dashboards WHERE dashboard_id=?", cmd.DashboardID) _, err := sess.Exec("DELETE FROM dashboards WHERE dashboard_id=?", cmd.DashboardID)
return err return err
}) })
+36 -14
View File
@@ -29,11 +29,28 @@ Grafana (e.g. `StatusBadRequest` is generally speaking not as relevant
as `StatusInternal`). All available status codes live in the `errutil` as `StatusInternal`). All available status codes live in the `errutil`
package and have names starting with `Status`. package and have names starting with `Status`.
The messageID is constructed as `<servicename>.<error-identifier>` where The messageID is constructed as `<servicename>.<errorIdentifier>` where
the `<servicename>` corresponds to the root service directory per the `<servicename>` corresponds to the root service directory per
[the package hierarchy](package-hierarchy.md) and `<error-identifier>` [the package hierarchy](package-hierarchy.md) and `<errorIdentifier>`
is a short identifier using dashes for word separation that identifies is a camelCased short identifier that identifies the specific category
the specific category of errors within the service. of errors within the service.
Errors should be grouped together (i.e. share `errutil.Base`) based on
their public facing properties, a single messageID should represent a
translatable string and what metadata is carried with it.
_service.MissingRequiredFields_ and _service.MessageTooLong_ are likely
to be two different errors that are both validation failures, as their
user-friendly expansions are likely different. This is the maximization
rule of declaring as many `errutil.Error`s as you need public message
structures.
The other side of this is that even though a login service's
"user is ratelimited", "user does not exist", "wrong username", and
"wrong password" are reasonable errors to separate between internally,
for security reasons the end-user should not be told which particular
error they struck. This means that they should share the same base (such
as _login.Failed_). This is the minimization rule of grouping together
distinct logged errors that provide the same information via the API.
To set a static message sent to the client when the error occurs, the To set a static message sent to the client when the error occurs, the
`errutil.WithPublicMessage(message string)` option may be appended to `errutil.WithPublicMessage(message string)` option may be appended to
@@ -53,7 +70,7 @@ import (
"example.org/thing" "example.org/thing"
) )
var ErrBaseNotFound = errutil.NewBase(errutil.StatusNotFound, "main.not-found", errutil.WithPublicMessage("Thing not found")) var ErrBaseNotFound = errutil.NewBase(errutil.StatusNotFound, "main.notFound", errutil.WithPublicMessage("Thing not found"))
func Look(id int) (*Thing, error) { func Look(id int) (*Thing, error) {
t, err := thing.GetByID(id) t, err := thing.GetByID(id)
@@ -65,17 +82,22 @@ func Look(id int) (*Thing, error) {
} }
``` ```
Check out [errutil's GoDocs](https://pkg.go.dev/github.com/grafana/grafana@v0.0.0-20220621133844-0f4fc1290421/pkg/util/errutil) Errors consider themselves to be both its `errutil.Base` or
for details on how to construct and use Grafana style errors. `errutil.Template` and whatever errors it wraps for the purposes of the
`errors.Is` function.
Check out the package and method documentation for
github.com/grafana/grafana/pkg/util/errutil for details on how to
construct and use Grafana style errors. This documentation is
unfortunately not readily available on pkg.go.dev because Grafana is not
fully Go modules compatible, but can be viewed using
[godoc](https://go.dev/cmd/godoc/) from the Grafana directory.
### Handling errors in the API ### Handling errors in the API
API handlers use the `github.com/grafana/grafana/pkg/api/response.Err` API handlers use the `github.com/grafana/grafana/pkg/api/response.Err`
function to create responses based on `errutil.Error`s. or `github.com/grafana/grafana/pkg/api/response.ErrWithFallback`
(same signature as `response.Error`) function to create responses based
on `errutil.Error`.
> **Note:** (@sakjur 2022-06) `response.Err` requires all errors to be Using `response.Err` requires all errors to be Grafana style errors.
> `errutil.Error` or it'll be considered an internal server error.
> This is something that should be fixed in the near future to allow
> fallback behavior to make it possible to correctly handle Grafana
> style errors if they're present but allow fallback to a reasonable
> default otherwise.
+4 -4
View File
@@ -19,11 +19,11 @@ package example
type Service struct { type Service struct {
logger log.Logger logger log.Logger
cfg *setting.Cfg cfg *setting.Cfg
sqlStore *sqlstore.SQLStore sqlStore db.DB
} }
// ProvideService provides Service as dependency for other services. // ProvideService provides Service as dependency for other services.
func ProvideService(cfg *setting.Cfg, sqlStore *sqlstore.SQLStore) (*Service, error) { func ProvideService(cfg *setting.Cfg, sqlStore db.DB) (*Service, error) {
s := &Service{ s := &Service{
logger: log.New("service"), logger: log.New("service"),
cfg: cfg, cfg: cfg,
@@ -76,7 +76,7 @@ package server
import ( import (
"github.com/google/wire" "github.com/google/wire"
"github.com/grafana/grafana/pkg/example" "github.com/grafana/grafana/pkg/example"
"github.com/grafana/grafana/pkg/services/sqlstore" "github.com/grafana/grafana/pkg/infra/db"
) )
var wireBasicSet = wire.NewSet( var wireBasicSet = wire.NewSet(
@@ -98,7 +98,7 @@ func Initialize(cla setting.CommandLineArgs, opts Options, apiOpts api.ServerOpt
return &Server{}, nil return &Server{}, nil
} }
func InitializeForTest(cla setting.CommandLineArgs, opts Options, apiOpts api.ServerOptions, sqlStore *sqlstore.SQLStore) (*Server, error) { func InitializeForTest(cla setting.CommandLineArgs, opts Options, apiOpts api.ServerOptions, sqlStore db.DB) (*Server, error) {
wire.Build(wireExtsTestSet) wire.Build(wireExtsTestSet)
return &Server{}, nil return &Server{}, nil
} }
@@ -1,6 +1,6 @@
# Data requests # Data requests
[BackendSrv](https://grafana.com/docs/grafana/latest/packages_api/runtime/backendsrv) handles all outgoing HTTP requests from Grafana. This document explains the high-level concepts used by `BackendSrv`. [BackendSrv](https://github.com/grafana/grafana/blob/main/packages/grafana-runtime/src/services/backendSrv.ts) handles all outgoing HTTP requests from Grafana. This document explains the high-level concepts used by `BackendSrv`.
## Canceling requests ## Canceling requests
@@ -14,7 +14,7 @@ Grafana uses a concept called _request cancellation_ to cancel any ongoing reque
#### Before Grafana 7.2 #### Before Grafana 7.2
Before Grafana can cancel any data request, it has to identify that request. Grafana identifies a request using the property `requestId` [passed as options](https://github.com/grafana/grafana/blob/main/docs/sources/packages_api/runtime/backendsrvrequest.md) when you use [BackendSrv](https://grafana.com/docs/grafana/latest/packages_api/runtime/backendsrv). Before Grafana can cancel any data request, it has to identify that request. Grafana identifies a request using the property `requestId` [passed as options](https://github.com/grafana/grafana/blob/main/packages/grafana-runtime/src/services/backendSrv.ts#L47) when you use [BackendSrv](https://github.com/grafana/grafana/blob/main/packages/grafana-runtime/src/services/backendSrv.ts).
The cancellation logic is as follows: The cancellation logic is as follows:
@@ -23,7 +23,7 @@ The cancellation logic is as follows:
#### After Grafana 7.2 #### After Grafana 7.2
Grafana 7.2 introduced an additional way of canceling requests using [RxJs](https://github.com/ReactiveX/rxjs). To support the new cancellation functionality, the data source needs to use the new `fetch` function in [BackendSrv](https://grafana.com/docs/grafana/latest/packages_api/runtime/backendsrv). Grafana 7.2 introduced an additional way of canceling requests using [RxJs](https://github.com/ReactiveX/rxjs). To support the new cancellation functionality, the data source needs to use the new `fetch` function in [BackendSrv](https://github.com/grafana/grafana/blob/main/packages/grafana-runtime/src/services/backendSrv.ts).
Migrating the core data sources to the new `fetch` function [is an ongoing process that you can read about in this issue.](https://github.com/grafana/grafana/issues/27222) Migrating the core data sources to the new `fetch` function [is an ongoing process that you can read about in this issue.](https://github.com/grafana/grafana/issues/27222)
+2 -9
View File
@@ -55,16 +55,9 @@ Pull requests that create new UI components or modify existing ones must adhere
- Use the [Grafana theme palette](/contribute/style-guides/themes.md) for styling. It contains colors with good contrast which aids accessibility. - Use the [Grafana theme palette](/contribute/style-guides/themes.md) for styling. It contains colors with good contrast which aids accessibility.
- Use [RTL](https://testing-library.com/docs/dom-testing-library/api-accessibility/) for writing unit tests. It helps to create accessible components. - Use [RTL](https://testing-library.com/docs/dom-testing-library/api-accessibility/) for writing unit tests. It helps to create accessible components.
Pull requests that introduce accessibility(a11y) errors: ### Accessibility-specific guidelines
We use [pa11y-ci](https://github.com/pa11y/pa11y-ci) to collect accessibility errors on [some URLs on the project](https://github.com/grafana/grafana/issues/36555), threshold errors are specified per URL. Pull requests that introduce accessibility(a11y) errors - please refer to the [accessibility guidelines](/contribute/style-guides/accessibility.md).
If the contribution introduces new a11y errors, our continuous integration will fail, preventing you to merge on the main branch. In those cases there are two alternatives for moving forward:
- Check the error log on the pipeline step `test-a11y-frontend-pr`, identify what was the error, and fix it.
- Locally run the command `yarn test:accessibility-report` that generates an HTML accessibility report, then go to the URL that contains your change, identify the error, and fix it. Keep in mind, a local e2e Grafana instance is going to be running on `http://localhost:3001`.
You can also prevent introducing a11y errors by installing an a11y plugin in your browser, for example, axe DevTools, Accessibility Insights for Web among others.
### Betterer ### Betterer
+2 -2
View File
@@ -149,13 +149,13 @@ go test -covermode=atomic -tags=integration ./pkg/...
To run PostgreSQL and MySQL integration tests locally, you need to start the docker blocks for MySQL and/or PostgreSQL test data sources by running `make devenv sources=mysql_tests,postgres_tests`. When your test data sources are running, you can execute integration tests by running: To run PostgreSQL and MySQL integration tests locally, you need to start the docker blocks for MySQL and/or PostgreSQL test data sources by running `make devenv sources=mysql_tests,postgres_tests`. When your test data sources are running, you can execute integration tests by running:
```bash ```bash
GRAFANA_TEST_DB=mysql go test -covermode=atomic -tags=integration ./pkg/... make test-go-integration-mysql
``` ```
and/or and/or
```bash ```bash
GRAFANA_TEST_DB=postgres go test -covermode=atomic -tags=integration ./pkg/... make test-go-integration-postgres
``` ```
### Run end-to-end tests ### Run end-to-end tests
+3 -231
View File
@@ -1,235 +1,7 @@
# Contribute to our documentation # Contribute to our documentation
We provide these guidelines to help our contributors make additions or corrections to our documentation. Welcome. We're glad you're here to help make our technical documentation even better.
## Welcome For our style guide and writing guidelines, see [Writers' Toolkit](https://grafana.com/docs/writers-toolkit/).
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. If you're interested in contributing to the Writers' Toolkit, refer to the [Writers' Toolkit](https://github.com/grafana/writers-toolkit) repository.
### 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.
@@ -1,152 +0,0 @@
# Markdown style guide
This guide for Markdown style helps keep contributions consistent across all documentation created for Grafana products. Refer to the guide and update its sections as needed when a Subject Matter Expert answers a question on Markdown style, or a decision is made about how to apply Markdown.
## Headers
In Markdown, the number of "#" symbols creates different heading levels, similar to HTML heading levels:
**Example**
- \# is \<h1>.
- \#\# is \<h2>.
- \#\#\# is \<h3>.
Start your document with a single `#` for the title of the page. Add the sub-headings with two `##`.
## Bold and emphasis
- Make text **bold** using two asterisks.
**Example:** It is `**important**` to use GitHub-flavored Markdown emoji consistently.
- Make text `_emphasized_` using single ` _underscores_`. Do not use the single asterisk, it can be easily confused with bold.
**Example:** GitHub-flavored markdown emoji should _only_ appear in specific cases.
## Links and references
Create links to other website by wrapping the display text in square brackets, and the web URL in curved brackets.
\[text to display](www.website.com)
**Example:** For more information on including emoji in GitHub-flavored markdown, refer to the [webfx page on emoji](https://www.webfx.com/tools/emoji-cheat-sheet/) for a list of emoji.
## Block quotes
Include block quotes inside text using right-facing arrows:
**Example**
> Any important information
> about emoji can be separated into
> a blockquote.
## Code blocks
Code blocks written with markdown can show off syntax highlighting specific to different languages. Use three back tics to create a code block:
```
function testNum(a) {
if (a > 0) {
return "positive";
} else {
return "NOT positive";
}
}
```
Write the name of the language after the first set of back tics, no spaces, to show specific syntax highlighting. For example; "\```javascript" produces the following:
```javascript
function testNum(a) {
if (a > 0) {
return 'positive';
} else {
return 'NOT positive';
}
}
```
## Tables
Construct a table by typing the table headings, and separating them with a "|" character. Then, add a second line of dashes ("-") separated by another "|" character. When constructing the table cells, separate each cell data with another "|".
**Example**
Heading one | Heading two
\------------|------------
Cell one data| Cell two data
Will publish as:
| Heading one | Heading two |
| ------------- | ------------- |
| Cell one data | Cell two data |
## Lists
### Numbered lists
To avoid inconsistent list numbering, use repetitive list numbering:
\1. First
\1. Second
\1. Third
The list above will always display as:
1. First
2. Second
3. Third
### Unordered lists
Build a list of points - an unordered or unnumbered list - by using "\-" (hyphen) characters.
**Example**
- First
- Another item
- The last list item
## Images
_Do not_ use image shortcodes at this time.
Include images in a document using the following syntax:
```
![Alt text](link to image, starting with /static/img/docs/ if it is to an internal image "Title of image in sentence case")
```
> **Note:** Alt text does not appear when the user hovers the mouse over the image, but title text does.
**Examples:**
- \!\[Grafana logo](/link/to/grafanalogo/logo.png "Grafana logo")
- \!\[Example](/static/img/docs/folder_name/alert_test_rule.png "Example title")
This follows the format of "!", alt text wrapped in "[]" and the link URL wrapped in "()".
You can also use HTML such as the following:
```
<img src="example.png"
alt="Example image"
style="float: left; margin-right: 5px;" />
```
In most cases, use the markdown syntax rather than the HTML syntax. Only use the HTML if you need to change the image in ways unsupported by Markdown.
## Comments
You can include comments that will not appear in published markdown using the following syntax:
\[comment]: <> (Comment text to display)
The word "comment" wrapped in "[]" followed by a ":", a space, "<>", and then the comment itself wrapped in "()".
Binary file not shown.

Before

Width:  |  Height:  |  Size: 182 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 179 KiB

@@ -1,42 +0,0 @@
DELETE THIS LINE: If draft = false, then the document will not be built in the doc site. If the date is earlier than the build date, than the document will not show in the build site. Use these settings to control whether future content is shown in the doc site.
+++
draft = "false"
date = "yyyy-mm-dd"
title = "Title in sentence case"
description = "Description in title case"
keywords = ["grafana", "enter", "keywords", "here"]
type = "docs"
[menu.docs]
name = "Name of topic"
identifier = "identifier"
parent = "menu parent"
weight = 100
+++
# Concept
The title of the concept topic will generally be a noun or a gerund. Examples include Templates, Templating, Dashboards, and panels.
Concepts are topic types for any information that doesn't involve task lists or reference information. Ideally you use concept elements to explain concepts, ideas, overviews, workflows, and the like. In the intro section, this first paragraph or two, you should explain to the user what to expect in this topic or section.
[Permissions overview](https://grafana.com/docs/grafana/latest/permissions/overview/) is an example of a concept topic.
## Idea
Concept topics or sections explain _what_ and _why_. They do not explain _how_. If you are a new user, you might look for concept information to learn about what Grafana is, why it might be useful to you, and what the general workflow is.
## Workflow
Continuing the example in the previous section, here is a sample Grafana workflow.
1. Install Grafana. <link to task for installing Grafana>
1. Set up data sources. <link to data sources concept topic, which links to data source task topics>
1. Create panels. <link to panel concept topic, which links to tasks>
1. Create dashboards. <link to panel concept topic, which links to tasks>
1. Enter queries. <link to query editor concept topic>
1. Add users. <link to user management concept topic, which links to tasks>
1. Create playlists. <link to Playlist topic that contains concept information and tasks>
## Next steps
Concept tasks often link to related information, including _tasks_ related to the concept and _reference_ topics related to the concept.
@@ -1,75 +0,0 @@
DELETE THIS LINE: If draft = false, then the document will not be built in the doc site. If the date is earlier than the build date, than the document will not show in the build site. Use these settings to control whether future content is shown in the doc site.
+++
draft = "false"
date = "yyyy-mm-dd"
title = "Title in sentence case"
description = "Description in title case"
keywords = ["grafana", "enter", "keywords", "here"]
type = "docs"
[menu.docs]
name = "Name of topic"
identifier = "identifier"
parent = "menu parent"
weight = 100
+++
# Reference
The _reference_ topic type is for storing reference information, such as extensive tables, lists, or other information that is used as support for a task. Reference topics are also designed for API information.
Often reference topics are linked from _task_ topics, because they contain information the user needs in order to perform a task.
[Grafana CLI](https://grafana.com/docs/grafana/latest/administration/cli/) is one example of a reference topic.
## Lists
Lists of commands or parameters are often organized in reference topics. The information you need to present will dictate the format.
- They might
- be in
- unordered lists.
[Configuration](https://grafana.com/docs/grafana/latest/installation/configuration/) is an example of lists.
## Tables
If you have a large list of things to store in a table, then you are probably dealing with reference information. Hugo accepts either tables in Markdown or in HTML format, so use whichever is easier for you.
The [Glossary](https://grafana.com/docs/grafana/latest/guides/glossary/) provides an example of reference data in a table.
### Empty markdown table
While you might not need a heading for each table, headings are a good way to chunk information if you have several tables. They also make the content easy to skim. Use headings or intro paragraphs like this one to explain to the reader what the information in the table is used for.
| | | | | | |
| :-- | :-- | :-: | :-: | --: | --: |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
### Empty HTML table
And here is intro text, similar to the paragraph in the previous section. Do not add local styling to the table. The website CSS will take care of that for you.
<table>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Age</th>
</tr>
<tr>
<td>Jill</td>
<td>Smith</td>
<td>50</td>
</tr>
<tr>
<td>Eve</td>
<td>Jackson</td>
<td>94</td>
</tr>
</table>
## API documentation
API documentation is always a reference topic rather than a task topic, but it has its own rules.
@@ -1,57 +0,0 @@
+++
draft = "false"
date = "yyyy-mm-dd"
title = "Title in sentence case"
description = "Description in title case"
keywords = ["grafana", "enter", "keywords", "here"]
type = "docs"
[menu.docs]
name = "Name of topic"
identifier = "identifier"
parent = "menu parent"
weight = 100
+++
# Task
A _task_ topic is intended for a procedure that describes how to accomplish a task. It lists a series of steps that users follow to produce an intended outcome. It tells the reader _how_ to do something. [Install Grafana plugins](https://grafana.com/docs/grafana/latest/plugins/installation/) and [Playlist](https://grafana.com/docs/grafana/latest/reference/playlist/) are examples of task topics. Playlist includes a small amount of concept information in the introduction, which is appropriate.
Always include an introduction of a short paragraph or two to explain what the task is for, perhaps give the reader an idea of what the outcome will be.
In most cases, each topic should only contain one task. If you have several very short, related tasks, then you might combine them into one topic.
In the case of a long task, then you probably won't need any headings except for the h1 at the top of the page.
1. Start with step one.
1. Use second-person imperative tense.
1. Basically, "You, do this" with every sentence.
1. Do not use the third-person "user" for steps you want the reader ("you") to perform.
1. Write steps that contain one action, possibly two related actions, such as copy and paste a thing or save and quit the program.
If a sentence is not telling the reader to do something, then it is not a step. You can use nested images or paragraphs like this one to add information if necessary.
In many cases, you should tell the reader what the outcome should be so that they know when they are done.
## One-step task
Some tasks are so short, they only contain one step.
Write one-step tasks as simple sentences, not as unordered lists or numbered lists.
## Short task
Short tasks can be grouped. How short constitutes "short" is a judgment call based on number of steps and how long individual steps are.
1. Use your judgment.
1. Ask your coworkers or someone on the Comm team for advice if you aren't sure.
## Next steps
If the task you are writing leads naturally to one or more other tasks, then include links after the task to help the reader figure out where to go next.
Thanks to internet search engines, every page in the documentation could be page one. Pretend you are explaining your task to a new Grafana user who just walked in off the street.
## Testing
It is a good practice to have someone else test the task you have written. If they can successfully complete the task using _only_ what the steps you have written, not guessing or using their inherent knowledge, then your task has passed the test. However, it is very common to find you have skipped steps, because _you_ are very familiar with Grafana and the topic you are explaining.
New users or people from other teams are very helpful for these tests.
@@ -0,0 +1,280 @@
# Instrumenting Grafana
Guidance, conventions and best practices for instrumenting Grafana using logs, metrics and traces.
## Logs
Logs are files that record events, warnings and errors as they occur within a software environment. Most logs include contextual information, such as the time an event occurred and which user or endpoint was associated with it.
### Usage
Use the _pkg/infra/log_ package to create a named structured logger. Example:
```go
import (
"fmt"
"github.com/grafana/grafana/pkg/infra/log"
)
logger := log.New("my-logger")
logger.Debug("Debug msg")
logger.Info("Info msg")
logger.Warning("Warning msg")
logger.Error("Error msg", "error", fmt.Errorf("BOOM"))
```
### Naming conventions
Name the logger using lowercase characters, e.g. `log.New("my-logger")` using snake_case or kebab-case styling.
Prefix the logger name with an area name when using different loggers across a feature or related packages, e.g. `log.New("plugin.loader")` and `log.New("plugin.client")`.
Start the log message with a capital letter, e.g. `logger.Info("Hello world")` instead of `logger.Info("hello world")`. The log message should be an identifier for the log entry, avoid parameterization in favor of key-value pairs for additional data.
Prefer using camelCase style when naming log keys, e.g. _remoteAddr_, to be consistent with Go identifiers.
Use the key _error_ when logging Go errors, e.g. `logger.Error("Something failed", "error", fmt.Errorf("BOOM"))`.
### Validate and sanitize input coming from user input
If log messages or key/value pairs originates from user input they **should** be validated and sanitized.
Be **careful** to not expose any sensitive information in log messages e.g. secrets, credentials etc. It's especially easy to do by mistake when including a struct as value.
### Log levels
When to use which log level?
- **Debug:** Informational messages of high frequency and/or less-important messages during normal operations.
- **Info:** Informational messages of low frequency and/or important messages.
- **Warning:** Should in normal cases not be used/needed. If used should be actionable.
- **Error:** Error messages indicating some operation failed (with an error) and the program didn't have a way of handle the error.
### Contextual logging
Use a contextual logger to include additional key/value pairs attached to `context.Context`, e.g. `traceID`, to allow correlating logs with traces and/or correlate logs with a common identifier.
You must [Enable tracing in Grafana](#2-enable-tracing-in-grafana) to get a traceID
Example:
```go
import (
"context"
"fmt"
"github.com/grafana/grafana/pkg/infra/log"
)
var logger = log.New("my-logger")
func doSomething(ctx context.Context) {
ctxLogger := logger.FromContext(ctx)
ctxLogger.Debug("Debug msg")
ctxLogger.Info("Info msg")
ctxLogger.Warning("Warning msg")
ctxLogger.Error("Error msg", "error", fmt.Errorf("BOOM"))
}
```
### Enable certain log levels for certain loggers
During development it's convenient to enable certain log level, e.g. debug, for certain loggers to minimize the generated log output and make it easier to find things. See [[log.filters]](https://grafana.com/docs/grafana/latest/setup-grafana/configure-grafana/#filters) for information how to configure this.
It's also possible to configure multiple loggers:
```ini
[log]
filters = rendering:debug \
; alerting.notifier:debug \
oauth.generic_oauth:debug \
; oauth.okta:debug \
; tsdb.postgres:debug \
; tsdb.mssql:debug \
; provisioning.plugins:debug \
; provisioning:debug \
; provisioning.dashboard:debug \
; provisioning.datasources:debug \
datasources:debug \
data-proxy-log:debug
```
## Metrics
Metrics are quantifiable measurements that reflect the health and performance of applications or infrastructure.
Consider using metrics to provide real-time insight into the state of resources. If you want to know how responsive your application is or identify anomalies that could be early signs of a performance issue, metrics are a key source of visibility.
### Metric types
See [Prometheus metric types](https://prometheus.io/docs/concepts/metric_types/) for a list and description of the different metric types you can use and when to use them.
There are many possible types of metrics that can be tracked. One popular method for defining metrics is the [RED method](https://grafana.com/blog/2018/08/02/the-red-method-how-to-instrument-your-services/).
### Naming conventions
Use the namespace _grafana_ as that would prefix any defined metric names with `grafana_`. This will make it clear for operators that any metric named `grafana_*` belongs to Grafana.
Use snake*case style when naming metrics, e.g. \_http_request_duration_seconds* instead of _httpRequestDurationSeconds_.
Use snake*case style when naming labels, e.g. \_status_code* instead of _statusCode_.
If metric type is a _counter_, name it with a `_total` suffix, e.g. _http_requests_total_.
If metric type is a _histogram_ and you're measuring duration, name it with a `_<unit>` suffix, e.g. _http_request_duration_seconds_.
If metric type is a _gauge_, name it to denote it's a value that can increase and decrease , e.g. _http_request_in_flight_.
### Label values and high cardinality
Be careful with what label values you add/accept. Using/allowing too many label values could result in [high cardinality problems](https://grafana.com/blog/2022/02/15/what-are-cardinality-spikes-and-why-do-they-matter/).
If label values originates from user input they **should** be validated. Use `metricutil.SanitizeLabelName(<label value>`) from _pkg/infra/metrics/metricutil_ package to sanitize label names. Very **important** to only allow a pre-defined set of labels to minimize the risk of high cardinality problems.
Be **careful** to not expose any sensitive information in label values, e.g. secrets, credentials etc.
### Guarantee the existence of metrics
If you want to guarantee the existence of metrics before any observations has happened there's a couple of helper methods available in the _pkg/infra/metrics/metricutil_ package.
### How to collect and visualize metrics locally
1. Start Prometheus
```bash
make devenv sources=prometheus
```
2. Use Grafana Explore or dashboards to query any exported Grafana metrics
## Traces
A distributed trace is data that tracks an application request as it flows through the various parts of an application. The trace records how long it takes each application component to process the request and pass the result to the next component. Traces can also identify which parts of the application trigger an error.
### Usage
Grafana currently supports two tracing implementations, [OpenTelemetry](https://opentelemetry.io/) and [OpenTracing](https://opentracing.io/). OpenTracing is deprecated, but still supported until we remove it. The two different implementations implements the `Tracer` and `Span` interfaces, defined in the _pkg/infra/tracing_ package, which you can use to create traces and spans. To get a hold of a `Tracer` you would need to get it injected as dependency into your service, see [Services](../../architecture/backend/services.md) for more details.
Example:
```go
import (
"fmt"
"github.com/grafana/grafana/pkg/infra/tracing"
"go.opentelemetry.io/otel/attribute"
)
type MyService struct {
tracer tracing.Tracer
}
func ProvideService(tracer tracing.Tracer) *MyService {
return &MyService{
tracer: tracer,
}
}
func (s *MyService) Hello(ctx context.Context, name string) (string, error) {
ctx, span := s.tracer.Start(ctx, "MyService.Hello")
// this make sure the span is marked as finished when this
// method ends to allow the span to be flushed and sent to
// storage backend.
defer span.End()
// Add some event to show Events usage
span.AddEvents(
[]string{"message"},
[]tracing.EventValue{
{Str: "checking name..."},
})
if name == "" {
err := fmt.Errorf("name cannot be empty")
// record err as an exception span event for this span
span.RecordError(err)
return "", err
}
// Add some other event to show Events usage
span.AddEvents(
[]string{"message"},
[]tracing.EventValue{
{Str: "name checked"},
})
// Add attribute to show Attributes usage
span.SetAttributes("my_service.name", name, attribute.Key("my_service.name").String(name))
return fmt.Sprintf("Hello %s", name), nil
}
```
### Naming conventions
Span names should follow the [guidelines from OpenTelemetry](https://opentelemetry.io/docs/reference/specification/trace/api/#span).
| Span Name | Guidance |
| ----------------------- | -------------------------------------------------------- |
| get | Too general |
| get_account/42 | Too specific |
| get_account | Good, and account_id=42 would make a nice Span attribute |
| get_account/{accountId} | Also good (using the “HTTP route”) |
Span attribute and span event attributes should follow the [Attribute naming specification from OpenTelemetry](https://opentelemetry.io/docs/reference/specification/common/attribute-naming/). Good attribute key examples:
- service.version
- http.status_code
See [Trace semantic conventions from OpenTelemetry](https://opentelemetry.io/docs/reference/specification/trace/semantic_conventions/) for additional conventions regarding well-known protocols and operations.
### Span names and high cardinality
Be careful with what span names you add/accept. Using/allowing too many span names could result in high cardinality problems.
### Validate and sanitize input coming from user input
If span names, attribute or event values originates from user input they **should** be validated and sanitized. It's very **important** to only allow a pre-defined set of span names to minimize the risk of high cardinality problems.
Be **careful** to not expose any sensitive information in span names, attribute or event values, e.g. secrets, credentials etc.
### How to collect, visualize and query traces (and correlate logs with traces) locally
#### 1. Start Jaeger
```bash
make devenv sources=jaeger
```
#### 2. Enable tracing in Grafana
To enable tracing in Grafana, you must set the address in your config.ini file
opentelemetry tracing (recommended):
```ini
[tracing.opentelemetry.jaeger]
address = http://localhost:14268/api/traces
```
opentracing tracing (deprecated/not recommended):
```ini
[tracing.jaeger]
address = localhost:6831
```
#### 3. Search/browse collected logs and traces in Grafana Explore
You need provisioned gdev-jaeger and gdev-loki datasources, see [developer dashboard and data sources](https://github.com/grafana/grafana/tree/main/devenv#developer-dashboards-and-data-sources) for setup instructions.
Open Grafana explore and select gdev-loki datasource and use the query `{filename="/var/log/grafana/grafana.log"} | logfmt`.
You can then inspect any log message that includes a `traceID` and from there click on `gdev-jaeger` to split view and inspect the trace in question.
#### 4. Search/browse collected traces in Jaeger UI
You can open http://localhost:16686 to use the Jaeger UI for browsing and searching traces.
+179
View File
@@ -0,0 +1,179 @@
# Internationalization
Grafana uses the [i18next](https://www.i18next.com/) framework for managing translating phrases in the Grafana frontend.
## tl;dr
**Please note:** We do not currently accept contributions for translations. Please do not submit pull requests for grafana.json files - they will be rejected.
- Use `<Trans i18nKey="search-results.panel-link">Go to {{ pageTitle }}</Trans>` in code to add a translatable phrase
- Translations are stored in JSON files in `public/locales/{locale}/grafana.json`
- If a particular phrase is not available in the a language then it will fall back to English
- To update phrases in English, edit the default phrase in the component's source, then run `yarn i18n:extract`. Do not edit the `en-ES/grafana.json` or update the english phrase in Crowdin
- To update phrases in any translated language, edit the phrase in Crowdin. Do not edit the `{locale}/grafana.json`
## How to add a new translation phrase
### JSX
1. For JSX children, use the `<Trans />` component from `app/core/internationalization` with the `i18nKey`, ensuring it conforms to the guidelines below, with the default english translation. e.g.
```jsx
import { Trans } from 'app/core/internationalization';
const SearchTitle = ({ term }) => (
<Trans i18nKey="search-page.results-title">
Results for <em>{{ term }}</em>
</Trans>
);
```
Prefer using `<Trans />` for JSX children, and `t()` for props and other javascript usage.
When translating in grafana-ui, use a relative path to import `<Trans />` and `t()` from `src/utils/i18n`.
Note that our tooling must be able to statically analyse the code to extract the phrase, so the `i18nKey` can not be dynamic. e.g. the following will not work:
```jsx
const ErrorMessage = ({ id, message }) => <Trans i18nKey={`errors.${id}`}>There was an error: {{ message }}</Trans>;
```
2. Upon reload, the default English phrase will appear on the page.
3. Before submitting your PR, run the `yarn i18n:extract` command to extract the messages you added into the `grafana.json` file and make them available for translation.
### Plain JS usage
Sometimes you may need to translate a string cannot be represented in JSX, such as `placeholder` props. Use the `t` macro for this.
```jsx
import { t } from "app/core/internationalization"
const placeholder = t('form.username-placeholder','Username');
return <input type="value" placeholder={placeholder}>
```
Interpolating phrases is a bit more verbose. Make sure the placeholders in the string match the values passed in the object - there's no type safety here!
```jsx
const placeholder = t('page.greeting', 'Hello {{ username }}', { username });
```
While the `t` function can technically be used outside of React functions (e.g, in actions/reducers), aim to keep all UI phrases within the React UI functions.
## How to add a new language
1. Add new locale in Crowdin and sync files to repo
1. Grafana OSS Crowdin project -> "dot dot dot" menu in top right -> Target languages
2. Grafana OSS Crowdin project -> Integrations -> Github -> Sync Now
3. If Crowdin's locale code is different from our IETF language tag, add a custom mapping in Project Settings -> Language mapping
2. Update `public/app/core/internationalization/constants.ts` (add new constant, and add to `LOCALES`)
3. Update `public/locales/i18next-parser.config.js` to add the new locale to `locales`
4. Run `yarn i18n:extract` and commit the result
## How translations work in Grafana
Grafana uses the [i18next](https://www.i18next.com/) framework for managing translating phrases in the Grafana frontend. It:
- Marks up phrases within our code for extraction
- Extracts phrases into messages catalogues for translating in external systems
- Manages the user's locale and putting the translated phrases in the UI
English phrases remain in our Javascript bundle in the source components (as the `<Trans />` or `t()` default phrase). At runtime, we don't need to load any messages for en-US. If the user's language preference is set to another language, Grafana will load that translations's messages JSON before the initial render.
### Phrase ID naming convention
We set explicit IDs for phrases to make it easier to identify phrases out of context, and to track where they're used. IDs follow a naming scheme that includes _where_ the phrase is used. The exception is the rare case of single reoccuring words like "Cancel", but default to using a feature/phrase specific phrase.
Message IDs are made of _up to_ three segments in the format `feature.area.phrase`. For example:
- `dashboard.header.refresh-label`
- `explore.toolbar.share-tooltip`
For components used all over the site, use just two segments:
- `footer.update`
- `navigation.home`
### I18next context
We rely on a global i18next singleton (that lives inside the i18next) for storing the i18next config/context.
## Examples
See [i18next](https://www.i18next.com/) and [react-i18next](https://react.i18next.com/) documentation for more details.
### Basic usage
For fixed phrases:
```jsx
import { Trans } from 'app/core/internationalization';
<Trans i18nKey="page.greeting">Hello user!</Trans>;
```
To interpolate variables, include it as an object child. It's weird syntax, but Trans will do it's magic to make it work:
```jsx
import { Trans } from 'app/core/internationalization';
<Trans i18nKey="page.greeting">Hello {{ name: user.name }}!</Trans>;
const userName = user.name;
<Trans i18nKey="page.greeting">Hello {{ userName }}!</Trans>;
```
Variables must be strings (or, must support calling `.toString()`, which we almost never want).
```jsx
import { Trans } from 'app/core/internationalization';
// This will not work
const userName = <strong>user.name</strong>;
<Trans i18nKey="page.greeting">Hello {{ userName }}!</Trans>;
// Instead, put the JSX inside the phrase directly
const userName = user.name;
<Trans i18nKey="page.greeting">
Hello <strong>{{ userName }}</strong>!
</Trans>;
```
### React components and HTML tags
Both HTML tags and React components can be included in a phase. The Trans function will handle interpolating it's children properly
```js
import { Trans } from "app/core/internationalization"
<Trans i18nKey="page.explainer">
Click <button>here</button> to <a href="https://grafana.com">learn more.</a>
</Trans>
// ↓ is in the grafana.json file like ↓
{
"page": {
"explainer": "Click <0>here</0> to <1>learn more</1>"
}
}
```
### Plurals
Plurals require special handling to make sure they can be translating according to the rules of each locale (which may be more complex that you think!). Use the `<Trans />` component, with the `count` prop.
```js
import { Trans } from 'app/core/internationalization';
<Trans i18nKey="newMessages" count={messages.length}>
You got {{ count: messages.length }} messages.
</Trans>;
```
Once extracted with `yarn i18n:extract` you will need to manually fill in the grafana.json message catalogues with the additional plural forms. See the [react-i18next docs](https://react.i18next.com/latest/trans-component#plural) for more details.
## Documentation
[Grafana's documentation](https://grafana.com/docs/grafana/latest/) is not yet open for translation and should be authored in American English only.
-194
View File
@@ -1,194 +0,0 @@
# Localisation
Grafana uses the [LinguiJS](https://github.com/lingui/js-lingui) framework for managing translating phrases in the Grafana frontend.
## tl;dr
- Use `<Trans id="search-results.panel-link">Go to {panel.title}</Trans>` in code to add a translatable phrase
- Translations are stored in .po files in `public/locales/{locale}/messages.po`
- If a particular phrase is not available in the a language then it will fall back to English
## How to add a new translation phrase
1. Use one of `@lingui/macro`'s React components with the `id`, ensuring it conforms to the guidelines below, with the default english translation. e.g.
```jsx
import { Trans } from @lingui/macro
const SearchTitle = ({term}) => (
<Trans id="search-page.results-title">
Results for {term}
</Trans>
);
```
Prefer using the JSX components (compared to the plain javascript functions, see below) where possible for phrases. Many props can (and probably should) be changed to accept the `React.ReactNode` instead of `string` for phrases put into the DOM.
Note that Lingui must be able to statically analyse the code to extract the phrase, so the `id` can not be dynamic. e.g. the following will not work:
```jsx
const ErrorMessage = ({ id, message }) => <Trans id={`errors.${id}`}>There was an error: {message}</Trans>;
```
2. Upon reload, the default English phrase will appear on the page.
3. Before submitting your PR, run the `yarn i18n:extract` command to extract the messages you added into the `messages.po` file and make them available for translation.
## How translations work in Grafana
Grafana uses the [LinguiJS](https://github.com/lingui/js-lingui) framework for managing translating phrases in the Grafana frontend. It:
- Marks up phrases within our code for extraction
- Extracts phrases into messages catalogues for translating in external systems
- "Compiles" the catalogues to a format that can be used in the website
- Manages the user's locale and putting the translated phrases in the UI
### Phrase ID naming convention
We set explicit IDs for phrases to make it easier to identify phrases out of context, and to track where they're used. IDs follow a naming scheme that includes _where_ the phrase is used. The exception is the rare case of single reoccuring words like "Cancel", but default to using a feature/phrase specific phrase.
Message IDs are made of _up to_ three segments in the format `feature.area.phrase`. For example:
- `dashboard.header.refresh-label`
- `explore.toolbar.share-tooltip`
For components used all over the site, use just two segments:
- `footer.update`
- `navigation.home`
### Top-level provider
In [AppWrapper.tsx](/public/app/AppWrapper.tsx) the app is wrapped with `I18nProvider` from `public/app/core/localisation.tsx` where the Lingui instance is created with the user's preferred locale. This sets the appropriate context and allows any component from `@lingui/macro` to use the translations for the user's preferred locale.
### Message format
Lingui uses the [ICU MessageFormat](https://unicode-org.github.io/icu/userguide/format_parse/messages/) for the phrases in the .po catalogues. ICU has special syntax especially for describing plurals across multiple languages. For more details see the [Lingui docs](https://lingui.js.org/ref/message-format.html).
### Plain JS usage
See [Lingui Docs](https://lingui.js.org/ref/macro.html#t) for more details.
Sometimes you may need to translate a string cannot be represented in JSX, such as `placeholder` props. Use the `t` macro for this.
```jsx
import { t } from "@lingui/macro"
const placeholder = t({
id: 'form.username-placeholder',
message: `Username`
});
return <input type="value" placeholder={placeholder}>
```
While the `t` macro can technically be used outside of React functions (e.g, in actions/reducers), aim to keep all UI phrases within the React UI functions.
## Examples
See the [Lingui docs](https://lingui.js.org/ref/macro.html#usage) for more details.
### Basic usage
For fixed phrases:
```jsx
import { Trans } from '@lingui/macro';
<Trans id="page.greeting">Hello user!</Trans>;
```
You can include variables, just like regular JSX. Prefer using "simple" variables to make the extracted phrase easier to read for translators
```jsx
import { Trans } from '@lingui/macro';
// Bad - translators will see: Hello {0}
<Trans id="page.greeting">Hello {user.name}!</Trans>;
// Good - translators will see: Hello {userName}
const userName = user.name;
<Trans id="page.greeting">Hello {userName}!</Trans>;
```
Variables must be strings (or, must support calling `.toString()`, which we almost never want).
```jsx
import { Trans } from '@lingui/macro';
// This will not work
const userName = <strong>user.name</strong>;
<Trans id="page.greeting">Hello {userName}!</Trans>;
// Instead, put the JSX inside the phrase directly
const userName = user.name;
<Trans id="page.greeting">
Hello <strong>{userName}</strong>!
</Trans>;
```
### React components and HTML tags
Both HTML tags and React components can be included in a phase. The Lingui macro will replace them with placeholder tags for the translators
```js
import { Trans } from "@lingui/macro"
const randomVariable = "variable"
<Trans id="page.explainer">
Click <button>here</button> to <a href="https://grafana.com">learn more.</a>
</Trans>
// ↓ is transformed by macros into ↓
<Trans
id="page.explainer"
defaults="Click <0>here</0> to <1>learn more</1>"
components={[
<button />,
<Text />
]}
/>
// ↓ is in the messages.po file like ↓
msgid "page.explainer"
msgstr "Click <0>here</0> to <1>learn more</1>"
```
### Plurals
See the [Lingui docs](https://lingui.js.org/ref/macro.html#id1) for more details.
Plurals require special handling to make sure they can be translating according to the rules of each locale (which may be more complex that you think!). Use the `<Plural />` component and specify the plural forms for the default language (English). The message will be extracted into a form where translators can extend it with rules for other locales.
```js
import { Plural } from "@lingui/macro"
<Plural
id="sharing.shared-with"
value={sharedCount}
none="Not shared with anyone"
one="Shared with one person"
other="Shared with # people"
/>
// ↓ is transformed by macros into ↓
<Trans
id="example.plurals"
values={{ sharedCount }}
defaults="{sharedCount, plural, none {Not shared with anyone}, one {Shared with one person}, other {Shared with # people}"
/>
// sharedCount = 0 -> Not shared with anyone
// sharedCount = 1 -> Shared with one person
// sharedCount = 3 -> Shared with # people
```
### Date and time
[Lingui has functions](https://lingui.js.org/ref/core.html#I18n.date) to format dates and times according to the convention to the user's preferred locale, based on the browser [Intl.DateTimeFormat](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat) API. However, as displaying dates and times is fundamental to Grafana, guidelines have not been established for this yet.
## Documentation
[Grafana's documentation](https://grafana.com/docs/grafana/latest/) is not yet open for translation and should be authored in English only.
+77
View File
@@ -0,0 +1,77 @@
# Accessibility at Grafana
At Grafana we pay special attention to accessibility and that's why it's important that all components are written with it in
mind.
The goal of this document is to list best practices and recommendations when it comes to writing accessible components.
### grafana/ui components
Some grafana/ui components have specific mechanisms built-in that make it easier to write accessible components.
#### Form elements
One of the important accessibility considerations when working with form elements is to make sure form controls are
properly labelled. For that a `label` element has to be associated with the respective form control. One way to
do that is to provide `for` attribute to the label that matches the `id` attribute of the form control.
The form components from grafana/ui provide an easier way to achieve that. The form elements, used inside `Field`
components, will get the `label` properly associated with them given that the element has `id` (in case of `Select` the prop is `inputId`) specified.
As an example, this code
```tsx
<Field label="Name">
<Input id="name" placeholder="Enter a name" />
</Field>
```
will be rendered as (simplified)
```html
<div>
<label for="name"> Name </label>
<input name="name" type="text" id="name" placeholder="Enter a name" value="" />
</div>
```
As long as the form element has a unique `id` attribute specified, it will be automatically accessible when rendered.
### Writing tests with accessibility in mind
We use [React Testing Library](https://testing-library.com/docs/react-testing-library/intro) (RTL) for writing unit tests.
The library is built with accessibility in mind and makes it easier to ensure the written code is accessible to all users.
When querying DOM elements with RTL prefer using `*ByRole` queries as they resemble closely how the users interact
with the page - both using mouse/visual display and assistive technologies.
As a rule of thumb, if code is written with the accessibility concerns in
mind, `*ByRole` queries will be sufficient in most of the cases. There are certainly exceptions here, as not all the elements have defined [ARIA role](https://www.w3.org/TR/html-aria/#docconformance).
As an example, for this code
```tsx
<Field label="Username">
<Input id="username" placeholder="Enter a name" value={'Test'} />
</Field>
```
the test could case be as follows
```tsx
it('has username set', () => {
expect(screen.getByRole('textbox', { name: 'Username' })).toHaveValue('Test');
});
```
Input with type `text` (default type value) has a role of `textbox` and the `name` option is not the name attribute
given to the input elements but their [accessible name](https://www.tpgi.com/what-is-an-accessible-name/), which in this case is the text content of the associated with input label.
### Pull requests that introduce accessibility(a11y) errors:
We use [pa11y-ci](https://github.com/pa11y/pa11y-ci) to collect accessibility errors on [some URLs in the project](https://github.com/grafana/grafana/issues/36555), threshold errors are specified per URL.
If the contribution introduces new a11y errors, our continuous integration will fail, preventing you to merge to the main branch. In those cases there are two alternatives for moving forward:
- Check the error log on the pipeline step `test-a11y-frontend-pr`, identify what was the error, and fix it.
- Locally run the command `yarn test:accessibility-report` that generates an HTML accessibility report, then go to the URL that contains your change, identify the error, and fix it. Keep in mind, a local e2e Grafana instance is going to be running on `http://localhost:3001`.
You can also prevent introducing a11y errors by installing an a11y plugin in your browser, for example, axe DevTools, Accessibility Insights for Web among others.
+17
View File
@@ -40,6 +40,23 @@ The majority of our tests uses [GoConvey](http://goconvey.co/) but that's someth
In the `sqlstore` package we do database operations in tests and while some might say that's not suited for unit tests. We think they are fast enough and provide a lot of value. In the `sqlstore` package we do database operations in tests and while some might say that's not suited for unit tests. We think they are fast enough and provide a lot of value.
### Integration Tests
We run unit and integration tests separately, to help keep our CI pipeline running smoothly and provide a better developer experience.
To properly mark a test as being an integration test, you must format your test function definition as follows, with the function name starting with `TestIntegration` and the check for `testing.Short()`:
```
func TestIntegrationFoo(t *testing.T) {
if testing.Short() {
t.Skip("skipping integration test")
}
// function body
}
```
If you do not follow this convention, your integration test may be run twice or not run at all.
### Assertions ### Assertions
Use respectively [`assert.*`](https://github.com/stretchr/testify#assert-package) functions to make assertions that Use respectively [`assert.*`](https://github.com/stretchr/testify#assert-package) functions to make assertions that
@@ -1,345 +0,0 @@
# Documentation style guide
This style guide applies to all documentation created for Grafana products.
For information about how to write technical documentation, refer to the following resources:
- [Google Technical Writing courses](https://developers.google.com/tech-writing)
- [Divio documentation system](https://documentation.divio.com/)
- [Vue writing principles](https://v3.vuejs.org/guide/contributing/writing-guide.html#principles)
## Contributing
The _Documentation style guide_ is a living document. Add to it whenever a style decision is made or a question is answered regarding style, grammar, or word choice.
## Published guides
For all items that are not covered in this guide, refer to the [Google developer documentation style guide](https://developers.google.com/style) and the [Microsoft style guide](https://docs.microsoft.com/en-us/style-guide/welcome/), in that order.
## Spelling
To catch common misspellings, the [codespell](https://github.com/codespell-project/codespell) tool is run for every change.
## Inclusive language
Avoid using charged language.
### Allowing and blocking
When referring to _allowing_ or _blocking_ content or traffic, use a form of _allow_ or _block_:
- (noun) _allowlist_ or _blocklist_
- (verb) _allow_ or _block_
Example: _To **allow** outgoing traffic, add the IP to the **allowlist**._
Avoid _whitelist_ or _blacklist_.
### Primary and secondary
To describe relationships between nodes or processes, there are several options:
- Use _primary_, _main_, or _parent_, instead of _master_.
- Use _secondary_, _replica_, or _child_, instead of _slave_.
Avoid _master_ or _slave_.
## Grafana-specific style
The following guidelines are specific to Grafana documentation. For the most part, these are _guidelines_ are not rigid rules. If you have questions, then please ask in the #docs channel of Grafana Slack.
### General
Per the [Voice and tone](https://developers.google.com/style/tone) section of the Google developer documentation style guide:
> In your documents, aim for a voice and tone that's conversational, friendly, and respectful without being overly colloquial or frivolous; a voice that's casual and natural and approachable, not pedantic or pushy. Try to sound like a knowledgeable friend who understands what the developer wants to do.
- Use active voice:
- Active: Grafana displays the heatmap visualization.
- Passive: The heatmap visualization is displayed.
- Write directly to the reader:
- Use: "After you create a dashboard, you can add a panel to it."
- Avoid: "After you create a dashboard, it is possible to add a panel to it."
- Write in the imperative second person:
- "Click the panel."
- "Close the window."
- Write in present tense:
- Use: "The panel opens."
- Avoid: "The panel will open."
- Do not use an ampersand (&) as an abbreviation for _and_.
- **Exceptions:** If an ampersand is used in the Grafana UI, then match the UI.
- Avoid using internal jargon or slang.
- Do not use two spaces after a period; use one space after a sentence.
- Remove any extra space characters at the end of a paragraph.
- Aim for your sentences to be fewer than 25 words. Instead, use smaller complete phrases or change the format, such as using a list.
- Aim for paragraphs to be three sentences or fewer. Make the text more concise, use more headings, or both.
### File naming conventions
- Files that are displayed in the help system should have names that are all lowercase, no spaces. Use hyphens instead of spaces. Example: glossary.md
- Documentation file names should match the title. **Note:** This only applies to new files at this time. Do not change the names of older files unless directed to do so.
- Internal reference file names should be all uppercase except the file extension. Example: CONTRIBUTING.md
- Image file names should be descriptive and unique. Also, add the software version number that the image applies to or the screenshot was taken in. Example: share-dashboard-link-7-3.png
### Headings
- Write headings in sentence case, not title case.
- This is sentence case
- This is Title Case
- Task topic headings start with a verb.
- Write a query
- Create a dashboard
- Concept and reference topic headings should be nouns or gerunds. Examples: Contributing to docs, Visualizations, Style guide
#### Heading don'ts
- Avoid stacked headings, which is following one heading with another heading.
- Avoid skipping heading levels. For example, an h1 should be followed by an h2 rather than an h3.
- Avoid having just one lower-level heading. For example, h1, h2, h2, h3, h3, h2, h2 is a good order. Do not go h1, h2, h3, h2, h3, h2.
- Avoid using hyphens in headings.
- Do not include parenthetical words like (Important!) in headings.
#### Step-by-step headings
In most cases, headings should not be numbered steps.
However, sometimes we need to use headings as numbered steps. This is mostly in cases where each step is complex or a series of other procedures. For example, in [Getting started with Grafana and Prometheus](https://grafana.com/docs/grafana/latest/getting-started/getting-started-prometheus/).
If that is the case, then use the following format for headings:
##### Step 1. Install the software
##### Step 2. Run the software
### Images
- Preferred format is .png
- File extension should be all lowercase.
- Preferred DPI is 72.
- 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 [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
### Unordered lists
Here are a few general rules about unordered lists. For more guidance, refer to [Lists](https://developers.google.com/style/lists) in the [Google developer style guide](https://developers.google.com/style/).
- List items should begin with a capital letter unless there is a strong reason not to. For example, you are listing case-sensitive parameters.
- List items should end with periods if they are complete sentences. If one item in a list ends with a period, then apply periods to all of them.
### Capitalization
- Grafana, Loki, and Prometheus are always capitalized unless part of a code block.
- API names are always Title Case, followed by "API"—for example, "Dashboard Permissions API"
- Abbreviations are always capitalized (such as API, HTTP, ID, JSON, SQL, or URL) unless they are part of a code block.
- Menu and submenu titles always use sentence case: capitalize the first word, and lowercase the rest.
- "Dashboards" when referring to the submenu title.
- "Keyboard shortcuts" when referring to the submenu topic.
- Generic and plural versions are always lowercase.
- Lowercase "dashboard" when referring to a dashboard generally.
- Lowercase "dashboards" when referring to multiple dashboards.
- **Exceptions:** If a term is lowercased in the Grafana UI, then match the UI.
#### Git, GitHub
Git is always capitalized, unless part of a code block. GitHub is the correct spelling and capitalization.
#### Integrations
In general, "integration" is not capitalized. Only capitalize it if it is capitalized in the UI or part of a proper noun, like the name of a specific integration.
The first letter of the name of an integration is always capitalized, even if the original named source is lowercase.
**Examples:**
- MySQL Integration
- CockroachDB Integration
- Etcd Integration
- I installed an integration on my local Grafana.
#### Kubernetes objects
Capitalize Kubernetes objects such as Job, Pod, and StatefulSet when it is clear you are specifically talking about them and not generic jobs, pods, or whatever.
Introduce the object as "Kubernetes XX" on the first usage, then just the object in subsequent uses.
**Example:**
Create the Kubernetes Job and check the logs to retrieve the generated token:
The Job requires the token be submitted as …
### Links and references
When referencing another document, use "Refer to" rather than alternatives such as "See" or "Check out."
Always give the reader some idea of what to expect in the reference. Avoid blind references, such as, "Refer to [this file](link)."
When possible, use the exact title of the page or section you are linking to as the link text.
**Example**
Refer to the [Documentation style guide](documentation-style-guide.md) for information about word usage and capitalization guidelines.
### Notes, tips, cautions, and warnings
Grafana documentation uses notes, tips, cautions, and warnings. Notes are the most common. The format for all of them is indented, bold, sentence case:
```
> **Note:**
```
#### Notes
Notes provide additional information that the user should be extra aware of. For example:
> **Note:** This page describes a feature for Grafana 7.0 beta.
#### Tips
Tips describe alternate or more efficient ways of doing things. Rarely used.
#### Cautions
Cautions warn the user that they should proceed with caution. Use cautions to emphasize the potential downside of a course of action.
> **Caution:** If you turn off authentication requirements, then anyone can access your Grafana instance. This poses a considerable security risk.
#### Warnings
Warnings tell the user not to do something. For example:
> **Warning:** Grafana does not back up your dashboards. If you delete a dashboard, then you might not be able to recover it.
### Command line examples
- Do not assume everyone is using Linux. Make sure instructions include enough information for Windows and Mac users to successfully complete procedures.
- Do not add `$` before commands. Make it easy for users to copy and paste commands.
- **Right:** `sudo yum install grafana`
- **Wrong:** `$ sudo yum install grafana`
- Include `sudo` before commands that require `sudo` to work.
For terminal examples and Grafana configuration, use a `bash` code block:
```bash
sudo yum install grafana
```
For HTTP request/response, use an `http` code block:
```http
GET /api/dashboards/id/1/permissions HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
### Word usage
Grafana products has some words, abbreviations, and terms particular to the Grafana discourse community.
#### changelog
One word, not two.
**Example**
- Read the full changelog.
**Exception:**
- When referring to the file containing the official changelog, use the filename: `CHANGELOG.md`.
#### checkout, check out
Two words if used as a verb, one word if used as a noun.
**Examples**
- Check out these new features!
- Proceed to checkout.
#### data source
Two words, not one.
**Exceptions:**
- "datasource" used as an identifier
- "datasource" in a URL
- Use "data source" instead of "datasource" unless used as an identifier, in code, or as part of a URL.
- Spell out "repository" and avoid the shorter "repo."
- Use "Unix" as the preferred spelling (as opposed to "UNIX", or "unix") when referring to the family of operating systems.
#### display (verb)
_Display_ is a transitive verb, which means it always needs a direct object.
- Correct, active voice: Grafana displays your list of active alarms.
- Correct, but passive voice: Your list of active alarms is displayed.
- Incorrect: The list of active alarms displays.
#### drawer
Do not use. This is developer jargon that refers to a UI panel. Refer to the panel or feature by its proper name.
#### intro, introduction
"Introduction" is the preferred word. Use "intro" if there are space constraints (like on the side menu) or you are specifically trying for a less formal, more conversational tone.
#### metadata
One word, not two.
#### mixin
One word, not two. Also, not hyphenated.
#### open source, open-source
Do not hyphenate when used as an adjective unless the lack of hyphen would cause confusion. For example: _Open source software design is the most open open-source system I can imagine._
Do not hyphenate when it is used as a noun. For example: _Open source is the best way to develop software._
#### plugin, plug in
Two words if used as a verb, one word if used as a noun. Do not use _plug-in_.
**Examples**
- Plug in the appliance.
- Download the plugin.
#### setup, set up
Two words if used as a verb, one word if used as a noun.
**Examples**
- Set up the workspace.
- Initial setup might take five minutes.
#### node_exporter, windows_exporter
When referencing the Prometheus data source exporters, always use "node_exporter" and "windows_exporter" when referring to those tools.
**Correct:** node_exporter, windows_exporter
**Incorrect:** Node Exporter, node exporter, Windows Exporter, Windows exporter, windows exporter.
#### web server
Two words, not one.
**Correct:** web server
**Incorrect:** webserver
### MS SQL Server
Always use "MS SQL" when referring to MS SQL Server application.
Incorrect UI spellings will be corrected in a later version of Grafana.
+11 -9
View File
@@ -26,10 +26,10 @@ Let's start with a simple [JSX](https://reactjs.org/docs/introducing-jsx.html) e
<input className="gf-form-input login-form-input" type="text" /> <input className="gf-form-input login-form-input" type="text" />
``` ```
We _could_ target the field with a CSS selector like `.gf-form-input.login-form-input` but that would be brittle as style changes occur frequently. Furthermore there is nothing that signals to future developers that this input is part of an E2E test. At Grafana, we use `aria-label` attributes as our preferred way of defining selectors instead of [`data-*`](https://mdn.io/docs/Web/HTML/Global_attributes/data-*) as they also aid in [accessibility](https://mdn.io/docs/Learn/Accessibility/What_is_accessibility): We _could_ target the field with a CSS selector like `.gf-form-input.login-form-input` but that would be brittle as style changes occur frequently. Furthermore there is nothing that signals to future developers that this input is part of an E2E test. At Grafana, we use `data-testid` attributes as our preferred way of defining selectors. See [Aria-Labels vs data-testid](#aria-labels-vs-data-testid) for more details.
```jsx ```jsx
<input aria-label="Username input field" className="gf-form-input login-form-input" type="text" /> <input data-testid="Username input field" className="gf-form-input login-form-input" type="text" />
``` ```
The next step is to create a `Page` representation in our E2E framework to glue the test with the real implementation using the `pageFactory` function. For that function we can supply a `url` and `selectors` like in the example below: The next step is to create a `Page` representation in our E2E framework to glue the test with the real implementation using the `pageFactory` function. For that function we can supply a `url` and `selectors` like in the example below:
@@ -39,10 +39,12 @@ export const Login = {
// Called via `Login.visit()` // Called via `Login.visit()`
url: '/login', url: '/login',
// Called via `Login.username()` // Called via `Login.username()`
username: 'Username input field', username: 'data-testid Username input field',
}; };
``` ```
Note that the selector is prefixed with `data-testid` - this is a signal to the framework to look for the selector in the `data-testid` attribute.
The next step is to add the `Login` page to the `Pages` export within [_\<repo-root>/packages/grafana-e2e-selectors/src/selectors/pages.ts_](../../packages/grafana-e2e-selectors/src/selectors/pages.ts) so that it appears when we type `e2e.pages` in our IDE. The next step is to add the `Login` page to the `Pages` export within [_\<repo-root>/packages/grafana-e2e-selectors/src/selectors/pages.ts_](../../packages/grafana-e2e-selectors/src/selectors/pages.ts) so that it appears when we type `e2e.pages` in our IDE.
```typescript ```typescript
@@ -59,7 +61,7 @@ Now that we have a `Page` called `Login` in our `Pages` const we can use that to
```jsx ```jsx
import { selectors } from '@grafana/e2e-selectors'; import { selectors } from '@grafana/e2e-selectors';
<input aria-label={selectors.pages.Login.username} className="gf-form-input login-form-input" type="text" />; <input data-testid={selectors.pages.Login.username} className="gf-form-input login-form-input" type="text" />;
``` ```
The last step in our example is to use our `Login` page as part of a test. The last step in our example is to use our `Login` page as part of a test.
@@ -100,7 +102,7 @@ Just as before in the basic example we'll start by creating a page abstraction u
```typescript ```typescript
export const DataSources = { export const DataSources = {
url: '/datasources', url: '/datasources',
dataSources: (dataSourceName: string) => `Data source list item ${dataSourceName}`, dataSources: (dataSourceName: string) => `data-testid Data source list item ${dataSourceName}`,
}; };
``` ```
@@ -115,7 +117,7 @@ The next step is to use the `dataSources` selector function as in our example be
{dataSources.map(({ id, name }) => ( {dataSources.map(({ id, name }) => (
<li className="card-item-wrapper" key={id}> <li className="card-item-wrapper" key={id}>
<a className="card-item" href={`datasources/edit/${id}`}> <a className="card-item" href={`datasources/edit/${id}`}>
<div className="card-item-name" aria-label={selectors.pages.DataSources.dataSources(name)}> <div className="card-item-name" data-testid={selectors.pages.DataSources.dataSources(name)}>
{name} {name}
</div> </div>
</a> </a>
@@ -127,9 +129,9 @@ The next step is to use the `dataSources` selector function as in our example be
When this list is rendered with the data sources with names `A`, `B` and `C` ,the resulting HTML would look like: When this list is rendered with the data sources with names `A`, `B` and `C` ,the resulting HTML would look like:
```html ```html
<div class="card-item-name" aria-label="Data source list item A">A</div> <div class="card-item-name" data-testid="data-testid Data source list item A">A</div>
<div class="card-item-name" aria-label="Data source list item B">B</div> <div class="card-item-name" data-testid="data-testid Data source list item B">B</div>
<div class="card-item-name" aria-label="Data source list item C">C</div> <div class="card-item-name" data-testid="data-testid Data source list item C">C</div>
``` ```
Now we can write our test. The one thing that differs from the [basic example](#basic-example) above is that we pass in which data source we want to click on as an argument to the selector function: Now we can write our test. The one thing that differs from the [basic example](#basic-example) above is that we pass in which data source we want to click on as an argument to the selector function:
+9 -4
View File
@@ -166,17 +166,22 @@ interface ModalState {
##### Emotion class names ##### Emotion class names
```typescript ```typescript
const getStyles = = () => ({ const getStyles = (theme: GrafanaTheme2) => ({
// bad // bad
ElementWrapper: css`...`, ElementWrapper: css`...`,
// bad // bad
["element-wrapper"]: css`...`, ['element-wrapper']: css`...`,
// good // good
elementWrapper: css`...`, elementWrapper: css({
padding: theme.spacing(1, 2),
background: theme.colors.background.secondary,
}),
}); });
``` ```
Use hook useStyles2(getStyles) to memoize the styles generation and try to avoid passing props to the the getStyles function and instead compose classes using emotion cx function.
#### Use `ALL_CAPS` for constants. #### Use `ALL_CAPS` for constants.
```typescript ```typescript
@@ -351,7 +356,7 @@ static defaultProps: Partial<Props> = { ... }
We recommend using named regular functions when creating a new react functional component. We recommend using named regular functions when creating a new react functional component.
```typescript ```typescript
export function Component(props: Props): ReactElement { ... } export function Component(props: Props) { ... }
``` ```
## State management ## State management

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