Compare commits

..

880 Commits

Author SHA1 Message Date
grafana-delivery-bot[bot]
277ef258d4 [v11.0.x] AuthN: Fix signout redirect url (#87681)
* AuthN: Fix signout redirect url (#87631)

* Add missing return

* Use sign out redirect url from auth config if configured

* remove option from auth.jwt that is not used

(cherry picked from commit 0f3080ecb8)

---------

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2024-05-13 09:34:53 +02:00
grafana-delivery-bot[bot]
c23435875d [v11.0.x] alerting: docs - pagerduty (#87672)
alerting: docs - pagerduty (#87604)

* alerting: docs - pagerduty

* pretty

(cherry picked from commit 7e8b71d882)

Co-authored-by: antonio <45235678+tonypowa@users.noreply.github.com>
2024-05-11 11:28:10 +02:00
grafana-delivery-bot[bot]
47f85d898b [v11.0.x] CloudMonitoring: Improve legacy query migrations (#87648)
CloudMonitoring: Improve legacy query migrations (#86069)

* Match backend and correctly migrate metricType

Update tests

* Ensure project is migrated or set if not defined

* Improve migrations logic

(cherry picked from commit 95667f6a53)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2024-05-10 17:45:21 +01:00
grafana-delivery-bot[bot]
e52d86e9bc [v11.0.x] Azure data sources: Set selected config type before save (#87632)
Azure data sources: Set selected config type before save (#87481)

* set selected config type before save

* use effect once and move in mssql

* add to prom

* Update ConfigurationEditor.tsx

* Update ConfigurationEditor.tsx

* Delete public/app/plugins/datasource/mssql/configuration/ConfigurationEditor.tsx

* omadsfdsa

* remove unneeded assign

(cherry picked from commit 5e19aa7bd1)

Co-authored-by: Andrew Hackmann <5140848+bossinc@users.noreply.github.com>
2024-05-10 17:09:02 +03:00
grafana-delivery-bot[bot]
587a1ef1de [v11.0.x] Chore: Add login protection when user is trying different uppercase letters (#87612)
Chore: Add login protection when user is trying different uppercase letters (#87588)

* add login protection when the user is trying different uppercase letters

(cherry picked from commit cd98aaf89b)

Co-authored-by: linoman <2051016+linoman@users.noreply.github.com>
2024-05-10 15:06:35 +03:00
Ivan Ortega Alba
e260d13a65 [v11.0.x] Dashboard scene: Discard panel changes disabled/enabled depending of changes (#87570)
* DashboardScene: Discard panel changes disabled/enabled depending of changes (#87137)

---------

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
(cherry picked from commit c3936bbae2)

* Add line number

---------

Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
2024-05-10 14:41:30 +03:00
grafana-delivery-bot[bot]
67aa2aa826 [v11.0.x] Loki: Fix log context when no label types are present (#87600)
Loki: Fix log context when no label types are present (#87587)

(cherry picked from commit 1c8a77a43d)

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2024-05-10 13:11:56 +03:00
grafana-delivery-bot[bot]
f6668aae97 [v11.0.x] Chore: Implement GetOAuthProviders in FakeSocialService (#87591)
Chore: Implement GetOAuthProviders in FakeSocialService (#87590)

Implement GetOAuthProviders in FakeSocialService

(cherry picked from commit 896882b004)

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
2024-05-10 12:05:51 +03:00
grafana-delivery-bot[bot]
50400c8915 [v11.0.x] Canvas: Improve connection vertex logic (#87581)
Canvas: Improve connection vertex logic (#87580)

Canvas: Prevent machine error causing logic swap
(cherry picked from commit dfdf119f7f)

Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
2024-05-09 15:48:45 -07:00
grafana-delivery-bot[bot]
11e83015bf [v11.0.x] Canvas: Fix datalinks using field variable (#87275)
Canvas: Fix datalinks using field variable (#87265)

(cherry picked from commit 6c7485129b)

Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
2024-05-09 11:41:28 -07:00
grafana-delivery-bot[bot]
0a2f239744 [v11.0.x] Alerting: Add two sets of provisioning actions for rules and notifications (#87572)
Alerting: Add two sets of provisioning actions for rules and notifications  (#87149)

(cherry picked from commit 356a29592b)

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2024-05-09 14:24:59 -04:00
grafana-delivery-bot[bot]
0bf33a4bf6 [v11.0.x] Canvas: Fix bug for connection first vertex (#87569)
Canvas: Fix bug for connection first vertex (#87534)

(cherry picked from commit 06a27911a4)

Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
2024-05-09 10:52:00 -07:00
grafana-delivery-bot[bot]
bda261b744 [v11.0.x] Templating: Fix issue where updated custom var options weren't persisted (#87556)
Templating: Fix issue where updated custom var options weren't persisted (#86804)

* Templating: Fix issue where updated custom var options weren't persisted

(cherry picked from commit d5c781b9c5)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2024-05-09 16:29:07 +03:00
antonio
376c99b70f alerting: webhook doc update (#87492) (#87549)
alerting/webhook doc update (#87492)

* alerting/webhook doc update

* text formath

* fixed admonition

* typo

* headings

* formatted headings and prettified it all

* one more heading

(cherry picked from commit d83cbe4d85)
2024-05-09 14:01:05 +02:00
Scott Lepper
9bc98bcb9d Sql Expressions: use display name for sql tables (#87530) (#87531)
(cherry picked from commit 4b38253b20)
2024-05-08 17:15:16 -04:00
Stephanie Hingtgen
42da106097 [v11.0.x] Chore: Upgrade go to 1.21.10 (#87472)
* Chore: upgrade go to 1.20.10

* sign drone

---------

Co-authored-by: Kevin Minehart <kmineh0151@gmail.com>
2024-05-08 10:05:12 -05:00
grafana-delivery-bot[bot]
050ff6d4bb [v11.0.x] DashboardScene: Fixes editing transformations after toggling table view (#87485)
DashboardScene: Fixes editing transformations after toggling table view (#87397)

(cherry picked from commit 0c2f58bdae)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-05-08 09:41:07 +02:00
grafana-delivery-bot[bot]
2f6080211a [v11.0.x] DashboardDataSource: Fixes issue where sometimes untransformed data could be returned (#87484)
DashboardDataSource: Fixes issue where sometimes untransformed data could be returned  (#87433)

* DashboardDataSource: always return a result key

* Update

* Update

(cherry picked from commit e7c39f18be)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-05-08 08:58:04 +02:00
grafana-delivery-bot[bot]
60611c56eb [v11.0.x] Provisioning: Look up provisioned folders by UID when possible (#87468)
Provisioning: Look up provisioned folders by UID when possible (#87465)

look up provisioned folders by uid when possible

(cherry picked from commit 1884b03511)

Co-authored-by: Dan Cech <dcech@grafana.com>
2024-05-07 22:57:39 +03:00
grafana-delivery-bot[bot]
9f15deb1cb [v11.0.x] alerting: config notif page improvement (#87415)
alerting: config notif page improvement (#87140)

* alerting: config notif page improvement

* Update docs/sources/alerting/configure-notifications/template-notifications/_index.md

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

* Update _index.md

---------

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

Co-authored-by: antonio <45235678+tonypowa@users.noreply.github.com>
2024-05-07 10:32:15 +02:00
grafana-delivery-bot[bot]
d71892990e [v11.0.x] Alerting: Also fix HCL field name for MuteTimeIntervals (#87143)
Alerting: Also fix HCL field name for MuteTimeIntervals (#87079)

* Correct HCL field name for MuteTimeIntervals

* Update test

(cherry picked from commit 93519f70ca)

Co-authored-by: William Wernert <william.wernert@grafana.com>
2024-05-06 10:22:24 -04:00
grafana-delivery-bot[bot]
9ad215f6df [v11.0.x] Docs: added note to RBAC doc from support escalation (#87374)
Docs:  added note to RBAC doc from support escalation (#85311)

* added admonition and API info

* Update docs/sources/administration/roles-and-permissions/access-control/_index.md

---------

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
(cherry picked from commit 57038e8dfa)

Co-authored-by: Larissa Wandzura <126723338+lwandz13@users.noreply.github.com>
2024-05-06 09:57:02 +02:00
grafana-delivery-bot[bot]
b517c94084 [v11.0.x] Canvas: Add support to rotate a group of elements (#87362)
Canvas: Add support to rotate a group of elements (#87358)

(cherry picked from commit 1ef1cc7e3f)

Co-authored-by: Nathan Marrs <nathanielmarrs@gmail.com>
2024-05-04 02:16:17 +03:00
grafana-delivery-bot[bot]
ce5735d578 [v11.0.x] XY Chart: Prevent crash when deleting a series (#87357)
XY Chart: Prevent crash when deleting a series  (#87356)

(cherry picked from commit 7bcda34b55)

Co-authored-by: Adela Almasan <88068998+adela-almasan@users.noreply.github.com>
2024-05-04 01:38:50 +03:00
grafana-delivery-bot[bot]
ec1698a9da [v11.0.x] Canvas: Fix phantom connections persisting after element deletion (#87355)
Canvas: Fix phantom connections persisting after element deletion (#87285)

(cherry picked from commit 68fa2110d6)

Co-authored-by: Nathan Marrs <nathanielmarrs@gmail.com>
2024-05-04 00:37:39 +03:00
Isabella Siu
21d7f1f505 [v11.0.x] Cloudwatch: Update grafana-aws-sdk to fix sts endpoints (#87345)
Cloudwatch: Update grafana-aws-sdk to fix sts endpoints
2024-05-03 16:48:58 -04:00
grafana-delivery-bot[bot]
8e777d54e9 [v11.0.x] Docs: add data link cell type information (#87354)
Docs: add data link cell type information (#87350)

Add data link cell type information

(cherry picked from commit 386baf83cd)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-05-03 16:33:40 -04:00
grafana-delivery-bot[bot]
4748dc67a2 [v11.0.x] datatrails: reloaded trail bugs related to no selected metric (#87346)
datatrails: reloaded trail bugs related to no selected metric (#87344)

* fix: reloaded scene first step topScene

The top scene was not being initialized
when reloading trails, causing it to use
the top scene of whatever was selected
previously.

* fix: select new metric node not reloading right

On reloading trails, any metric node that
was 'green' with a undefined metric due to
clicking on the "select new metric" button,
was reloading with the metric of the step
directly before it (in index order).

(cherry picked from commit e9b932c8f6)

Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
2024-05-03 21:47:03 +03:00
grafana-delivery-bot[bot]
5bbe953b0f [v11.0.x] datatrails: only fetch metrics metadata when using the language provider, avoid redundant fetch of metric names (#87340)
datatrails: only fetch metrics metadata when using the language provider, avoid redundant fetch of metric names (#87067)

* fix: only fetch metrics metadata, not metric names

(cherry picked from commit f93c330b66)

Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
2024-05-03 19:41:09 +03:00
grafana-delivery-bot[bot]
9a1d8c27a2 [v11.0.x] datatrails: quick bugfix: handle undefined step (#87338)
datatrails: quick bugfix: handle undefined step (#87337)

fix: handle undefined step
(cherry picked from commit 6524febbd4)

Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
2024-05-03 19:40:15 +03:00
Sergej-Vlasov
480ef44edf DashboardScene: Restrict dashboard in read only state (#87316) (#87335)
---------

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
(cherry picked from commit 6433053479)
2024-05-03 19:12:30 +03:00
Darren Janeczek
31b6fcbe5b [v11.0.x] scenes: update to v4.14.0: opt-in to (#87334)
scenes: update to v4.14.0: opt-in to `useQueriesAsFilterForOptions` (#87244)

* fix: opt-in to `useQueriesAsFilterForOptions`

With updating the scenes library, dashboards must now explicitly
opt in to `useQueriesAsFilterForOptions`.

(cherry picked from commit 5b424ed6bb)
2024-05-03 19:09:39 +03:00
grafana-delivery-bot[bot]
9af0cd5844 [v11.0.x] datatrails: recently loaded trails modify parent variables when making new steps (#87333)
datatrails: recently loaded trails modify parent variables when making new steps (#87284)

* fix: loaded trails modified parent var on new step

This ensures that recently loaded trails won't have variable changes
which create new steps modify the previous step.

(cherry picked from commit 046eedaa4c)

Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
2024-05-03 18:55:18 +03:00
grafana-delivery-bot[bot]
24784583be [v11.0.x] DashboardScene: Fixes minor issue transitioning between dashboards (#86475)
DashboardScene: Fixes minor issue transitioning between dashboards (#86262)

* DashboardScene: Fixes minor issue transitioning between dashboards

* Update

(cherry picked from commit a8b81e1481)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-05-03 17:27:14 +02:00
grafana-delivery-bot[bot]
a4eb6c2ab6 [v11.0.x] DashboardScene: Measure and report scene load time (#86836)
DashboardScene: Measure and report scene load time (#86267)

* measure scene load time

* Fix tests that fail due to performance not being the proper global performance object in jest

* add isScene parameter to tracking test

(cherry picked from commit e7f40493e4)

Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
2024-05-03 16:54:53 +02:00
Scott Lepper
59eea3920d sql expressions - Backport 87277 to v11.0.x (#87315)
sql expressions: improve parser (#87277)

(cherry picked from commit 1a2bbd61fd)
2024-05-03 09:52:13 -04:00
grafana-delivery-bot[bot]
9db35835e5 [v11.0.x] Datatrails: Fix overflow of labels (#87313)
Datatrails: Fix overflow of labels (#87301)

Fix overflow of labels

(cherry picked from commit 9fbca6c035)

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2024-05-03 16:44:12 +03:00
Scott Lepper
1d2e581a39 sql expressions - Backport 87263 to v11.0.x (#87312)
fix: sql expressions parser with join (#87263)

(cherry picked from commit cbe3e3a5e0)
2024-05-03 09:29:48 -04:00
grafana-delivery-bot[bot]
1c801e283f [v11.0.x] fix: sql expressions - sql parser table name case (#87305)
fix: sql expressions - sql parser table name case (#87196)

* fix: sql parser table name case

(cherry picked from commit 4fd2cb6014)

Co-authored-by: Scott Lepper <scott.lepper@gmail.com>
2024-05-03 15:58:23 +03:00
grafana-delivery-bot[bot]
5b5032c7b8 [v11.0.x] Alerting: Fix max alerts (#87300)
Alerting: Fix max alerts (#87271)

(cherry picked from commit 12fa9e56e6)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2024-05-03 14:40:39 +03:00
grafana-delivery-bot[bot]
cc53e4fc38 [v11.0.x] InfluxDB: Support cardinality queries with backend mode (#87297)
InfluxDB: Support cardinality queries with backend mode (#87264)

support cardinality queries

(cherry picked from commit 3317691615)

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2024-05-03 13:30:08 +02:00
grafana-delivery-bot[bot]
2eeab8c02a [v11.0.x] Scenes/Dashboard: Fix issue where changes to panel in row weren't detected in panel edit (#87293)
Dashboard: Fix issue where changes to panel in row weren't detected in panel edit (#87195)

Closes #87171

(cherry picked from commit b3f173f153)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2024-05-03 13:10:58 +03:00
grafana-delivery-bot[bot]
31e116f3d8 [v11.0.x] docs: update flame graph visualization (#87269)
docs: update flame graph visualization (#86615)

* docs: update flame graph visualization

* fix: linting issues

* docs: add example data

* Apply suggestions from code review

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

* Removed Wikipedia link

* Fixed punctuation

* Updated max image width

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

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

* fix: linting issues

* docs: add links to pyroscope docs about flame graph and profile types

* Ran prettier

* docs: add flame graph video

* Updated wording

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
(cherry picked from commit 7db41222c6)

Co-authored-by: Marie Cruz <mdcruz@users.noreply.github.com>
2024-05-02 14:10:57 -04:00
grafana-delivery-bot[bot]
445f4135d8 [v11.0.x] Select: Fixes issue preserving search term (input) when selecting a value (#87249) 2024-05-02 18:44:34 +02:00
grafana-delivery-bot[bot]
d56c3a0539 [v11.0.x] Scenes: Adjust styles to allow shrinking of variable selectors (#87251)
Scenes: Adjust styles to allow shrinking of variable selectors (#87085)

(cherry picked from commit bc9010a95b)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2024-05-02 17:42:58 +01:00
grafana-delivery-bot[bot]
e103995b9f [v11.0.x] Docs: Fix link to values.yaml file (#87256)
Docs: Fix link to values.yaml file (#87014)

Fix link to values.yaml file

Linking to the "edit" URL fails if the reader doesn't have write access
to the repo: they'll be prompted to fork the repo or to sign in to
GitHub. Instead link to the "blob" URL which is accessible to all
readers.

(cherry picked from commit 64d5440c5a)

Co-authored-by: Nicholas P. Cole <nicholas@nicholaspcole.com>
2024-05-02 10:47:00 -05:00
grafana-delivery-bot[bot]
860f264be6 [v11.0.x] DashboardScenes: Pin go version to go.mod file in scenes e2e workflow (#87246)
DashboardScenes: Pin go version to go.mod file in scenes e2e workflow (#87238)

* adjust workflow to use correct go version

* finalise wokflow adjustments

(cherry picked from commit 838e36bd99)

Co-authored-by: Sergej-Vlasov <37613182+Sergej-Vlasov@users.noreply.github.com>
2024-05-02 18:35:01 +03:00
grafana-delivery-bot[bot]
c40273983e [v11.0.x] Alerting: Prevent search from locking the browser (#87230)
Alerting: Prevent search from locking the browser (#87132)

(cherry picked from commit 1d06f33a8e)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2024-05-02 16:42:56 +02:00
grafana-delivery-bot[bot]
561662ae86 [v11.0.x] Dashboard Scene: Chore - Add missing unit test to PanelDataQueryTab (#87239)
Dashboard Scene: Chore - Add missing unit test to PanelDataQueryTab (#87139)

* Create basic structure PanelDataQueriesTab unit test

* Add more test cases to the PanelDataQueriesTab test

* Update public/app/features/dashboard-scene/panel-edit/VizPanelManager.tsx

(cherry picked from commit eae1cafebd)

Co-authored-by: Alexa V <239999+axelavargas@users.noreply.github.com>
2024-05-02 17:11:00 +03:00
grafana-delivery-bot[bot]
39c9096a87 [v11.0.x] Dashboard: POC to run existing e2e with dashboardScene feature toggle (#87237)
Dashboard: POC to run existing e2e with `dashboardScene` feature toggle (#84598)

* Standarize e2e for addDashbaord e2e flow

* WIP: Duplicate e2e dashboard flows and smoke test for scene e2e tests

* Fix autoformatting mistake for bash file

* Enable dashboardScene using local storage and only for the scene folder

* Add missing folders

* Set the feature toggle in the before of all tests

* Revert "Standarize e2e for addDashbaord e2e flow"

This reverts commit 6b9ea9d5a4.

* Add missing e2e selectors to NavToolbarActions, and modify addDashboard scene flow

* e2e: panels_smokescreen.spec.ts migrated

* e2e smokeTestSceneario migrated

* Start migrating dashbaord-suite e2e

* WIP create variable types

* adjust tests for scenes

* restore dashboard json file

* update scenes version

* restore pkg/build/wire/internal/wire/testdata modifications

* finalising test adjusments

* restore pkg/build/wire/internal/wire/testdata files

* add latest scenes version and update tests

* add drone setup for dashboard scenes tests

* update to latest scenes version

* adjust drone errors

* adjust indentation in drone yml file

* drone adjustments

* add github workflow to run scenes e2e

* restore drone file

* adjust github workflow

* wip: github workflow adjustments

* test remove gpu

* bump

* undo formating changes

* wip: github workflow debugging

* adjusting flaky tests

* update to latest scenes

* clean up workflow file

* adjust flaky test

* clean up pr

* finalise worflow logic and add to codeowners

* clean up launching old arch dashboards e2e separately

---------

Co-authored-by: Sergej-Vlasov <sergej.s.vlasov@gmail.com>
Co-authored-by: Jeff Levin <jeff@levinology.com>
(cherry picked from commit 9ea1042329)

Co-authored-by: Alexa V <239999+axelavargas@users.noreply.github.com>
2024-05-02 16:56:31 +03:00
grafana-delivery-bot[bot]
32a4cc45bf [v11.0.x] DashboardScene: adjust lib panel as a dashboard datasource refresh logic (#87232)
DashboardScene: adjust lib panel as a dashboard datasource refresh logic (#87120)

* activate library viz panel and adjust id extractor

* revert parts that are fixed in #87125

* clean up after activation handler

(cherry picked from commit afbd02c4ec)

Co-authored-by: Sergej-Vlasov <37613182+Sergej-Vlasov@users.noreply.github.com>
2024-05-02 16:52:47 +03:00
grafana-delivery-bot[bot]
34f8aa21a1 [v11.0.x] Dashboard Scene - Variable Fix: cancel out margin-bottom of placeholder in loading state (#87113)
Dashboard Scene - Variable Fix: cancel out margin-bottom of placeholder in loading state (#87107)

fix: cancel out margin-bottom of placeholder in loading state
(cherry picked from commit 6dbc44920c)

Co-authored-by: Tim Mulqueen <Multimo@users.noreply.github.com>
2024-05-02 14:51:42 +02:00
grafana-delivery-bot[bot]
25390d2fab [v11.0.x] DashboardQueryEditor: Adjust options filtering in scenes (#87228)
DashboardQueryEditor: Adjust options filtering in scenes (#87174)

adjust options filtering for dashboard datasource in scenes

(cherry picked from commit 37ca484aad)

Co-authored-by: Sergej-Vlasov <37613182+Sergej-Vlasov@users.noreply.github.com>
2024-05-02 15:28:30 +03:00
grafana-delivery-bot[bot]
b630e6d6ab [v11.0.x] DashboardScene: Remove min height on viz picker scroll container (#87227)
DashboardScene: Remove min height on viz picker scroll container (#87172)

removed min height prop

(cherry picked from commit 4d37e11ce9)

Co-authored-by: Sergej-Vlasov <37613182+Sergej-Vlasov@users.noreply.github.com>
2024-05-02 15:26:52 +03:00
Eric Leijonmarck
b219aa7688 [v11.0.x] Auth: Force lowercase login/email for users (#86985)
Auth: Force lowercase login/email for users (#86359)

* [WIP]: Force lowercase login/email for user CRUD

* warn and remove use of userCaseInsensitiveLogin check

* remove log warning

* reimplementation of the caseinsensitive

* need to decide if we want the conflict check or not

* remvoved the tests for conflict user by getEmail, getLogin

* added tests for user lowercase migration

* wip: emails next

* tests for email lowercasing

* review comments

* optimized login and email lookup before migrating

(cherry picked from commit e394e16073)
2024-05-02 13:05:25 +01:00
grafana-delivery-bot[bot]
f0302dd2d7 [v11.0.x] Update doc-validator workflow to support ref URIs (#87177)
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-05-02 12:26:08 +01:00
grafana-delivery-bot[bot]
d47310e457 [v11.0.x] RBAC: Do not set permissions on data sources with wildcard UID in OSS (#87222)
RBAC: Do not set permissions on data sources with wildcard UID in OSS (#87220)

do not set permissions on DS with wildcard UID

(cherry picked from commit 28dd1ddd8e)

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2024-05-02 13:36:10 +03:00
grafana-delivery-bot[bot]
936cfb2e32 [v11.0.x] Docs: add standard options shared content (#87207)
Docs: add standard options shared content (#87199)

* Added standard options shared file

* Added missing option to shared file and added shared file link to visualizations pages

* Fixed links

(cherry picked from commit 90b594e998)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-05-01 18:39:40 -04:00
grafana-delivery-bot[bot]
daf9d8f884 [v11.0.x] Docs: add field overrides shared content (#87205)
Docs: add field overrides shared content (#87197)

* Added field overrides shared file

* Added link to overrides file in visualizations pages

* ihm/010524-field-override-shared-content/ run lint

---------

Co-authored-by: jev forsberg <jev.forsberg@grafana.com>
(cherry picked from commit d5cfcc8187)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-05-01 18:15:13 -04:00
grafana-delivery-bot[bot]
1435180f50 [v11.0.x] Docs: Add data links shared content (#87200)
Docs: Add data links shared content (#86893)

* Added data link options shared file and added file to relevant visualizations

* Updated some text and links in canvas

* Added shared file to xy chart

* Fixed list of visualizations using shared file

* Removed unneeded level offset

* Removed future tense

* Update data links description

* Updated wording

* Removed redundant sentence

(cherry picked from commit 1ef0e240e9)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-05-01 16:56:40 -04:00
grafana-delivery-bot[bot]
08b6bc7a1d [v11.0.x] XYChart2: Fix migration of pointSize fieldConfig (#87193)
XYChart: Fix default point size (#87192)

(cherry picked from commit ee4422d1e2)

Co-authored-by: Adela Almasan <88068998+adela-almasan@users.noreply.github.com>
2024-05-01 21:36:35 +03:00
grafana-delivery-bot[bot]
289ea7c22e [v11.0.x] XY Chart: Show mapped size/color fields in tooltip (#87183) 2024-05-01 18:11:54 +03:00
grafana-delivery-bot[bot]
7c1cc61fb8 [v11.0.x] DashboardScene: Fixes issue referring to library panel in dashboard data source (#87173)
DashboardScene: Fixes issue referring to library panel in dashboard data source  (#87125)

* DashboardScene: Fixes issue using a library panel as source for dashboard data source

* Added test

(cherry picked from commit 4034a26972)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-05-01 15:25:41 +02:00
grafana-delivery-bot[bot]
a8cd6d9025 [v11.0.x] DashboardScene: Fixes issue with panel edit options pane and data (#87165)
DashboardScene: Fixes issue with panel edit options pane and data (#87161)

(cherry picked from commit 7a5c17d613)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-05-01 14:31:22 +02:00
Misi
265c27b97a [v11.0.x] Chore: Remove extra sql select from the Insert function of userimpl.store (#87163)
Chore: Remove extra sql select from the Insert function of userimpl.store (#87060)

Remove getAnyUserType

(cherry picked from commit 1cb3f332a1)
2024-05-01 10:12:00 +02:00
grafana-delivery-bot[bot]
7de2728684 [v11.0.x] Docs: Add thresholds shared content (#87154)
Docs: Add thresholds shared content (#87009)

* Added thresholds shared files

* Added shared files to visualizations and updated shared files

* Removed future tense

* Fixed prettier

(cherry picked from commit 406fe8c85a)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-30 16:37:13 -04:00
grafana-delivery-bot[bot]
7499b508e1 [v11.0.x] Docs: add legends shared content (#87152)
Docs: add legends shared content (#86814)

* Updated shared file name and added missing options

* Added legend options 1 shared file to relevant visualizations

* Updated shared file name and corrected options

* Added legend options 2 shared file to relevant visualizations

* Updated legend content for heatmap and pie chart

* Added where shared legend files are used in each file

* Moved intro text out of viz pages into legend options shared files

* Added reasoning to front matter of shared files

* Added reasoning to front matter of shared files

* Fixed version interpolation and added cloud links

* Updated links in shared files

(cherry picked from commit dad3069594)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-30 16:06:21 -04:00
grafana-delivery-bot[bot]
f1a2fe731b [v11.0.x] XYChart2: Fix tooltip mode (#87151) 2024-04-30 21:37:14 +03:00
grafana-delivery-bot[bot]
363e21a63d [v11.0.x] Data source: Maintain the default data source permissions when switching from unlicensed to licensed Grafana (#87142)
* Data source: Maintain the default data source permissions when switching from unlicensed to licensed Grafana (#87119)

set managed data source permissions upon resource creation for unlicensed Grafana, remove them on deletion

(cherry picked from commit 5e060d2d99)

* remove code for older version

---------

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2024-04-30 17:34:51 +01:00
grafana-delivery-bot[bot]
d95cbb7e38 [v11.0.x] Alerting: Use expected field name for receiver in HCL export (#87075)
Alerting: Use expected field name for receiver in HCL export (#87065)

* Use expected field name for receiver in hcl

Terraform provider expects `contact_point` instead of `receiver` in
notification settings on a rule.

(cherry picked from commit 70ff229bed)

Co-authored-by: William Wernert <william.wernert@grafana.com>
2024-04-30 11:00:17 -04:00
Gilles De Mey
02586f82d4 [v11.0.x] Alerting: Allow deleting contact points referenced only by auto-generated policies (#87115)
Alerting: Allow deleting contact points referenced only by auto-generated policies (#86800)

(cherry picked from commit b679a32fad)
2024-04-30 10:43:31 +01:00
grafana-delivery-bot[bot]
a24940bfd7 [v11.0.x] Heatmap: Fix histogram highlighted series (#87092)
Heatmap: Fix histogram highlighted series (#86955)

(cherry picked from commit e3719471d5)

Co-authored-by: Adela Almasan <88068998+adela-almasan@users.noreply.github.com>
2024-04-29 22:21:15 +01:00
Scott Lepper
04d6463abb Backport 87073 to v11.0.x (#87078)
* Chore: Update go-duck dependency to v0.0.18 (#87073)

* Chore: Update go-duck dependency to v0.0.18

(cherry picked from commit 7505af2886)

* backport

* go mod tidy

* remove wrong import
2024-04-29 15:37:20 -04:00
grafana-delivery-bot[bot]
713cea3d2f [v11.0.x] Alerting: Improve error when receiver or time interval used by rule is deleted (#87070)
Alerting: Improve error when receiver or time interval used by rule is deleted (#86865)

* Alerting: Improve error when receiver used by rule is deleted

* Remove RuleUID from public error and data

* Improve fallback error in am config post

* Refactor to expand to time intervals

* Fix message on unchecked errors to be same as before

(cherry picked from commit 3397e8bf09)

Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
2024-04-29 13:36:09 -04:00
grafana-delivery-bot[bot]
917f53dc1f [v11.0.x] Auth: Sign sigV4 request after adding headers (#87072)
Auth: Sign sigV4 request after adding headers (#87063)

(cherry picked from commit 7b392d40a0)

Co-authored-by: Isabella Siu <Isabella.siu@grafana.com>
2024-04-29 13:28:52 -04:00
grafana-delivery-bot[bot]
e8adea6eeb [v11.0.x] Docs: Update Explore Metrics doc based on feedback (#87074)
Docs: Update Explore Metrics doc based on feedback (#87062)

* changed from private preview to public preview

* commented out pivot to logs and traces

(cherry picked from commit 3845033308)

Co-authored-by: Larissa Wandzura <126723338+lwandz13@users.noreply.github.com>
2024-04-29 18:13:16 +01:00
grafana-delivery-bot[bot]
877ce6e3cf [v11.0.x] Canvas: Fix connection hyperbolic bug (#87066)
Canvas: Fix connection hyperbolic bug (#87002)

* Canvas: Connection original persistence check

* Canvas: Fix connection hyperbolic bug

(cherry picked from commit 49fbe970fb)

Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
2024-04-29 10:08:27 -07:00
grafana-delivery-bot[bot]
73f86f1a7d [v11.0.x] Canvas: Connection original persistence check (#87061)
Canvas: Connection original persistence check (#86476)

* Canvas: Connection original persistence check

* modify current connection state directly instead of copying and needing to call "onChange"

---------

Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
(cherry picked from commit 7590f4afe1)

Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
2024-04-29 08:57:17 -07:00
Mihai Doarna
9a91f303be [backport to v11.0] SSO: add SSO settings to secrets migrator (#86913) (#86939)
SSO: add SSO settings to secrets migrator (#86913)

* add sso settings to secrets migrator

* unify SSO settings in all log lines

(cherry picked from commit 4bf9405ce4)
2024-04-29 18:42:47 +03:00
grafana-delivery-bot[bot]
e5e6981c9d [v11.0.x] DashboardScene: Fixes issues with relative time range in panel edit (#87026)
DashboardScene: Fixes issues with relative time range in panel edit (#86862)

* DashboardScene: Fixes deleting dirty dashboard

* Update

* Progress

* Update

* Update

* Update

* Update

* Update

* Update

* update

* Update

(cherry picked from commit a4bb4c8400)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-04-29 15:33:23 +02:00
Ashley Harrison
e0a06c6090 [v11.0.x] DateTimePicker: Alternate timezones now behave correctly (#87041)
DateTimePicker: Alternate timezones now behave correctly (#86750)

* Add failing tests for timezone handling

* Fix `DateTimePicker.tsx` timezone handling

- Resolves `onBlur` issue
- Resolve Calendar and TimeOfDay issues
- Update test to cover different timezone

* Handle `console.warn` in test

* Handle `console.warn` in test #2

* Better handling of invalid date

When parsing date string with `dateTime`, adding a second `formatInput` aids in both parsing the actual string and avoid `console.warn` when `moment` reverts to be using `Date`.

* add more test cases

* Ash/proposed changes (#86854)

* simplify

* only need this change

* formatting

* const > let

* add test to ensure calendar is always showing the matching day

* separate state

* undo story changes

* update util function comments

* fix for selecting date in the calendar

---------

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

Co-authored-by: Thomas Wikman <thomas@w1kman.se>
2024-04-29 11:42:18 +01:00
grafana-delivery-bot[bot]
8187058e9d [v11.0.x] Docs: Create the Azure AD application section has outdated information. (#87034)
Docs: Create the Azure AD application section has outdated information. (#71498)

Update index.md

(cherry picked from commit ccd2bff8b0)

Co-authored-by: Dai Nguyen <88277570+ej25a@users.noreply.github.com>
2024-04-29 10:33:33 +01:00
grafana-delivery-bot[bot]
c5f186fa22 [v11.0.x] DashboardDataSourceBehaviour: Handle loading library panel (#87023)
DashboardDataSourceBehaviour: Handle loading library panel (#86980)

* DashboardDataSourceBehaviour: Handle loading library panel

* Remove timeout

* FIx test

(cherry picked from commit 67968df70e)

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2024-04-29 11:12:20 +02:00
grafana-delivery-bot[bot]
5749f36f52 [v11.0.x] Dashboard scenes: Fix min interval not saving (#87022)
Dashboard scenes: Fix min interval not saving (#86962)

* Fix min interval not saving

* Add tests

* Fix test

(cherry picked from commit fdc1023586)

Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
2024-04-29 10:50:34 +02:00
grafana-delivery-bot[bot]
cb49b93146 [v11.0.x] DashboardScene: Fixes issue with dashboard links and variables (#87025)
DashboardScene: Fixes issue with dashboard links and variables (#86910)

* DashboardScene: Fixes issue with dashboard links and variables

* Update

(cherry picked from commit 01f8301504)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-04-29 09:45:50 +01:00
grafana-delivery-bot[bot]
0e8622ec0a [v11.0.x] Home dashboard test (#87024)
Home dashboard test (#86961)

home dashboard test

(cherry picked from commit 8705e03d57)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2024-04-29 09:13:15 +01:00
grafana-delivery-bot[bot]
452be5b172 [v11.0.x] Docs: Add value mappings shared content (#87010)
Docs: Add value mappings shared content (#86996)

* Added value mappings shared file

* Fixed name of file

* Fixed list of visualizations using shared file

* Added shared file to visualizations

* Updated shared file and added to canvas

* Updated shared file intro text

* Removed future tense

(cherry picked from commit d5fde99c6d)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-26 14:36:08 -04:00
grafana-delivery-bot[bot]
ff73704834 [v11.0.x] Scenes/PanelVizTypePicker: Use default tab if listMode is unsupported (#87006)
Scenes/PanelVizTypePicker: Use default tab if listMode is unsupported (#86885)

Closes #84565

(cherry picked from commit 1dbb3bfdea)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2024-04-26 19:00:26 +01:00
grafana-delivery-bot[bot]
345a40815b [v11.0.x] Dasbhoard scenes: Don't return null when uids are not matching for new dashboards (#87001)
Dasbhoard scenes: Don't return null when uids are not matching for new dashboards (#86998)

Don't return null when uids not matching for new dashboards

(cherry picked from commit c3cde17b33)

Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
2024-04-26 18:48:53 +01:00
grafana-delivery-bot[bot]
6a79482d18 [v11.0.x] datatrails: fix bookmark/recent trail detection, prevent duplications, save trail on browser close/reload (#87004)
datatrails: fix bookmark/recent trail detection, prevent duplications, save trail on browser close/reload (#85677)

* fix: persistence trail detection, save on unload

- fixes detection on bookmarks and recents when current step isn't final
- now save current trail on browser close or reload (unload)
- refresh page or return to URL that corresponds to a recent trail will
   resume that trail instead of creating a duplicate recent trail
- do not create a recent trail out of an empty starting trail

* fix: bookmarks status after making new step

- clone bookmark trail state to prevent it from being changed by user
- re-evaluate bookmark status after creating new step

(cherry picked from commit 9af4607e78)

Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
2024-04-26 18:26:28 +01:00
grafana-delivery-bot[bot]
f06fd82965 [v11.0.x] DataTrails: Exploring alternatives to history issues (#87003)
DataTrails: Exploring alternatives to history issues (#86843)

* DataTrails: Exploring alternatives to history issues

* incorporated unit tests from #86817 and #86741

---------

Co-authored-by: Darren Janeczek <darren.janeczek@grafana.com>
(cherry picked from commit c965c27994)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-04-26 13:04:45 -04:00
grafana-delivery-bot[bot]
aba28bef77 [v11.0.x] Explore: add links to metrics and correlations editor to Explore (#86925) 2024-04-26 09:57:54 +02:00
Darren Janeczek
68c8c1f007 [v11.0.x] Tooltips: Ensure new viz tooltips are visible within modals (alternative solution) (#86954)
Tooltips: Ensure new viz tooltips are visible within modals (alternative solution) (#86716)

fix: ensure new viz tooltips are visible within modals

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
(cherry picked from commit ff761bb7d6)
2024-04-25 21:55:44 +01:00
grafana-delivery-bot[bot]
e151121cc2 [v11.0.x] Migrations: Graph (old) percent stacked (#86945)
Migrations: Graph (old) percent stacked (#84335)

(cherry picked from commit d1b67847a2)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2024-04-25 19:10:20 +01:00
grafana-delivery-bot[bot]
80f3aded4e [v11.0.x] Canvas: Add flowchart example to gdev (#86935)
Canvas: Add flowchart example to gdev (#85417)

Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
(cherry picked from commit 3703196e24)

Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
2024-04-25 08:38:07 -07:00
grafana-delivery-bot[bot]
eb0f14503f [v11.0.x] Canvas: Ensure tangency for first segment (#86934)
Canvas: Ensure tangency for first segment (#86543)

(cherry picked from commit 173ba73a8a)

Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
2024-04-25 08:32:58 -07:00
grafana-delivery-bot[bot]
b95072dad2 [v11.0.x] Canvas: Fix division by zero (#86932)
Canvas: Fix division by zero (#85443)

* Canvas: Fix division by zero

* Fix last add vertex control

* Apply fix to existing vertices

* Apply deltas to temporary paths

* Persist original source and target coorindates

* Add follow up TODO

* Update connection svg to handle originals

* Get rid of minimum constraints for deltas

* Apply persist coordinate system to vertex handlers

* Consolidate and rename selected value

* Update connection arcs to use new coordinates

* fix editor crashing with scenes

---------

Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
(cherry picked from commit ed8eacbc7e)

Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
2024-04-25 08:14:36 -07:00
grafana-delivery-bot[bot]
ac7082d039 [v11.0.x] Canvas: Render selected connection last (#86931)
Canvas: Render selected connection last (#85492)

(cherry picked from commit d91dbbbef5)

Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
2024-04-25 07:51:11 -07:00
grafana-delivery-bot[bot]
188c4a39e9 [v11.0.x] Dashboard: Migration Fixes Mixed data source losing existing queries (#86926)
Dashboard: Migration Fixes Mixed data source losing existing queries (#86883)

(cherry picked from commit e711d10925)

Co-authored-by: Alexa V <239999+axelavargas@users.noreply.github.com>
2024-04-25 14:46:06 +01:00
grafana-delivery-bot[bot]
f5b16c223b [v11.0.x] Alerting: Fix instances link when served from subpath (#86906)
Alerting: Fix instances link when served from subpath (#86432)

Fix instances link when served from subpath

(cherry picked from commit 9614126cb7)

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
2024-04-25 11:38:12 +02:00
grafana-delivery-bot[bot]
48e920896d [v11.0.x] Table Panel: Fix images not showing on hover with multiple data links (#86795)
Table Panel: Fix images not showing on hover with multiple data links (#86732)

* Fix issue

* Prettier

* codeincarnate/image-table-fix/ lint

* Make linter happy by using div with role of button + improve a11y

---------

Co-authored-by: jev forsberg <jev.forsberg@grafana.com>
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
(cherry picked from commit 37d086d49c)

Co-authored-by: Kyle Cunningham <codeincarnate@users.noreply.github.com>
2024-04-24 21:06:50 -07:00
Isabel Matwawana
33edb76902 [v11.0.x] Docs: add tooltips shared content (#86891)
Docs: add tooltips shared content (#86553)

* Replaced shared tooltips file with text in xy chart

* Added tooltip info for heatmap

* Updated tooltip shared files, renamed one file, updated configure tooltips

* updated tooltip shared file paths

* Added tooltips shared files in relevant visualizations

* Added where shared file is used in tooltip-options-1

* Added where shared file is used in tooltip-options-2

* Added intro text and justifications to shared files

* Removed tooltips intro text from visualizations with shared files

* Added names of files to comments in shared files

(cherry picked from commit 0e81fdffbe)
2024-04-24 16:15:45 -04:00
grafana-delivery-bot[bot]
4266af508c [v11.0.x] fix: datatrail link to "open in explore" prefix with config.appSubUrl (#86694)
fix: datatrail link to "open in explore" prefix with `config.appSubUrl` (#86375)

* fix: datatrail link to explore needs appSubUrl
* fix: use `appUrl` when creating URL for sharing

(cherry picked from commit 2ed7eecf2d)

Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
2024-04-24 13:41:58 -04:00
grafana-delivery-bot[bot]
ad5ce0ee06 [v11.0.x] datatrails: interpolate adhoc variables and datasource variables when opening "explore metrics" from dashboard panels (#86882)
datatrails: interpolate adhoc variables and datasource variables when opening "explore metrics" from dashboard panels (#86252)

* fix: interpolate "explore metrics" from panels

---------

Co-authored-by: Darren Janeczek <darren.janeczek@grafana.com>

* fix: remove support for legacy dashboard

- simplify code
- take advantage of scenes dashboard async and datasource api object

---------

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

Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
2024-04-24 17:22:48 +01:00
grafana-delivery-bot[bot]
d74bc37a24 [v11.0.x] Add onClick behaviour to links to new tooltips (#86881)
Add onClick behaviour to links to new tooltips (#84974)

* Add onClick behaviour to new tooltips

* Prefer using DataLink component

(cherry picked from commit 9e54c450d7)

Co-authored-by: Javier Ruiz <javiruiz01@users.noreply.github.com>
2024-04-24 09:59:44 -06:00
grafana-delivery-bot[bot]
17b8022ba9 [v11.0.x] SQLStore: Disable redundant create and drop unique index migrations on dashboard table (#86867)
SQLStore: Disable redundant create and drop unique index migrations on dashboard table (#86857)

SQLStore: Disable create and drop unique index migrations
(cherry picked from commit a5a3ee9fa3)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2024-04-24 16:37:39 +01:00
grafana-delivery-bot[bot]
2644311fd0 [v11.0.x] Fix home breadcrumbs (#86849)
Fix home breadcrumbs (#86786)

* fix home breadcrumbs

* fix homepage gap

* fix tests

(cherry picked from commit 38917c4e79)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2024-04-24 14:11:41 +02:00
grafana-delivery-bot[bot]
6dedea2c1f [v11.0.x] LogContext: Fix structured metadata labels being added as stream selectors (#86826)
LogContext: Fix structured metadata labels being added as stream selectors (#86825)

* LogContext: Fix structured metadata labels being added as stream selectors

* use row index

(cherry picked from commit a8424f4831)

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2024-04-24 13:09:45 +01:00
Laura Fernández
b67879e2ee [v11.0.x] Navigation: Add a return to previous button when navigating to different sections (#86797) 2024-04-24 13:15:53 +02:00
grafana-delivery-bot[bot]
494a3c14d1 [v11.0.x] Dashboard: Migration [Panel Edit] Missing Query Editor when datasource is not found (#86828)
Dashboard: Migration [Panel Edit] Missing Query Editor when datasource is not found (#86789)

* Return default datasource if datasource is not found

* Set query runner datasource state to default, else refreshing will not work

(cherry picked from commit de589b98c7)

Co-authored-by: Alexa V <239999+axelavargas@users.noreply.github.com>
2024-04-24 12:09:16 +03:00
Torkel Ödegaard
a0549ca23c [v11.0.x] DashboardScene: Fixes issue with editing panels that uses instanceState (#86824)
DashboardScene: Fixes issue with editing panels that uses instanceState (#86687)

* DashboardScene: Fixes issue with editing panels that uses instanceState

* Minor tweak

* Update

* Update

(cherry picked from commit b28e6bc5d8)
2024-04-24 10:31:19 +02:00
grafana-delivery-bot[bot]
83bd51e918 [v11.0.x] Typo fix in User API doc example (#86822)
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: nextMJ <77353838+nextMJ@users.noreply.github.com>
fix in User API doc example (#81890)
2024-04-24 06:24:49 +01:00
grafana-delivery-bot[bot]
661610c394 [v11.0.x] Canvas: Match connection anchor points to elements (#86815)
Canvas: Match connection anchor points to elements (#85421)

Co-authored-by: Ihor Yeromin <yeryomin.igor@gmail.com>
(cherry picked from commit 5dea949433)

Co-authored-by: Nathan Marrs <nathanielmarrs@gmail.com>
2024-04-23 23:44:43 +02:00
grafana-delivery-bot[bot]
5c500e1622 [v11.0.x] Chore: Fix CVE-2024-22363 (#86798)
Chore: Fix CVE-2024-22363 (#86738)

(cherry picked from commit 709d78b8b5)

Co-authored-by: Nathan Marrs <nathanielmarrs@gmail.com>
2024-04-23 18:41:34 +02:00
grafana-delivery-bot[bot]
30b593e843 [v11.0.x] Docs: add Provisioning section to Install on Kubernetes docs (#86799)
Docs: add `Provisioning` section to `Install on Kubernetes` docs (#83875)

* Docs: add `Provisioning` section to `Install on Kubernetes` docs

* prefix k8s object names with `grafana-`

* Fix `suplying` typo

(cherry picked from commit 14789db1b7)

Co-authored-by: Pepe Cano <825430+ppcano@users.noreply.github.com>
2024-04-23 18:39:56 +02:00
grafana-delivery-bot[bot]
764bf767ca [v11.0.x] TimeOfDayPicker: Fix text colours in light mode (#86776)
TimeOfDayPicker: Fix text colours in light mode (#86771)

fix text colours in light mode

(cherry picked from commit a1321d17ca)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-04-23 08:07:01 -06:00
grafana-delivery-bot[bot]
7d5da03093 [v11.0.x] Update make docs procedure (#86767)
Co-authored-by: grafanabot <bot@grafana.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-23 13:23:28 +01:00
grafana-delivery-bot[bot]
28acea402b [v11.0.x] DashboardScene: Fixes deleting dirty dashboard (#86757)
DashboardScene: Fixes deleting dirty dashboard (#86479)

* DashboardScene: Fixes deleting dirty dashboard

* refactor + unit test

(cherry picked from commit 835b968b08)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-04-23 12:51:22 +02:00
grafana-delivery-bot[bot]
493a17ed37 [v11.0.x] Dashboards: Check if dashboard.meta is undefined, if undefined handle redirect in dashboard scene. (#86685)
Dashboards: Check if dashboard.meta is undefined, if undefined handle redirect in dashboard scene. (#86674)

dashboard meta is not available if the dashboard response is a redirect

(cherry picked from commit 12771e49fc)

Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
2024-04-23 10:13:29 +02:00
grafana-delivery-bot[bot]
831c717689 [v11.0.x] Dashboard scenes: fix textbox value only set to first character of default value (#86742)
Dashboard scenes: fix textbox value only set to first character of default value (#86595)

Dashboard scene: fix textbox value only set to first character in default value

(cherry picked from commit dccad4e081)

Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
2024-04-23 07:10:41 +02:00
grafana-delivery-bot[bot]
8979111ec0 [v11.0.x] XYChart2: Remove common series name from tooltip items (#86740)
XYChart2: Remove common series name from tooltip items (#86739)

(cherry picked from commit 7754d0d4dc)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2024-04-23 05:44:36 +02:00
grafana-delivery-bot[bot]
62715133ea [v11.0.x] Docs: add snapshot deletion info (#86736)
Docs: add snapshot deletion info (#86725)

* Added delete snapshots section

* Replicated content, updated heading, and lowered heading level

(cherry picked from commit 2b3457e6ed)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-22 18:33:51 -04:00
grafana-delivery-bot[bot]
23623807bd [v11.0.x] Docs: Add config guidance for embedding (#86730)
Docs: Add config guidance for embedding (#86726)

Added note re iframes

(cherry picked from commit 05a4b3e80d)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-22 17:14:41 -04:00
grafana-delivery-bot[bot]
a332ecf43c [v11.0.x] Embed Managing users and permissions video to the documentation (#86715)
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Lisa <60980933+LisaHJung@users.noreply.github.com>
2024-04-22 17:53:07 +01:00
grafana-delivery-bot[bot]
9ad39e7fd7 [v11.0.x] docs: update candlestick visualization (#86701)
docs: update candlestick visualization (#86053)

* docs: update candlestick visualization

* fix: linting issues

* Apply suggestions from code review

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

* docs: add candlestick video

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
(cherry picked from commit 50b285ac69)

Co-authored-by: Marie Cruz <mdcruz@users.noreply.github.com>
2024-04-22 10:57:24 -04:00
grafana-delivery-bot[bot]
3b71eab378 [v11.0.x] Alerting: Take receivers into account when custom grouping Alertmanager groups (#86699)
Alerting: Take receivers into account when custom grouping Alertmanager groups (#86127)

* Take receiver into account when custom grouping Alertmanager alert groups

* Fix and add tests

(cherry picked from commit acd3e83c1c)

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
2024-04-22 16:39:32 +02:00
grafana-delivery-bot[bot]
55556e911b [v11.0.x] LDAP: Fix listing all non-matching groups (#86689)
LDAP: Fix listing all non-matching groups (#86682)

Fix getRowId in LdapUserGroups to list all non-matching groups

(cherry picked from commit 6ab9dcde8d)

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
2024-04-22 15:54:06 +02:00
grafana-delivery-bot[bot]
2166ca0a4a [v11.0.x] datatrails: track user interactions (#86399)
datatrails: track user interactions (#85909)

* chore: add interaction tracking

(cherry picked from commit ea90f0119c)

Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
2024-04-22 09:34:08 -04:00
grafana-delivery-bot[bot]
3d3a4b528a [v11.0.x] Alerting: Fix max_alerts field handling (#86673)
Alerting: Fix max_alerts field handling (#86651)

Fix max_alerts field parsing

(cherry picked from commit 1b930c341d)

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
2024-04-22 13:38:20 +02:00
grafana-delivery-bot[bot]
cf7c563735 [v11.0.x] Change folder breadcrumb on folder change in general settings (#86583)
Change folder breadcrumb on folder change in general settings (#86342)

* Change folder breadcrumb on folder change in general settings

* tests and refactor

* refactor to fix broken tests

* fix test

(cherry picked from commit 60e6dd56bf)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2024-04-22 09:25:34 +02:00
grafana-delivery-bot[bot]
39ce4774f7 [v11.0.x] MSSQL: Add SQL_VARIANT converter and update test (#86469)
MSSQL: Add `SQL_VARIANT` converter and update test (#85823)

Add SQL_VARIANT converter and update test

(cherry picked from commit 420067a7e1)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2024-04-19 21:00:59 +01:00
grafana-delivery-bot[bot]
8903bf3b01 [v11.0.x] [DOC] Update the traces to profile content based upon SDK updates (#86632)
[DOC] Update the traces to profile content based upon SDK updates (#86628)

Update the traces to profile content based upon SDK updates

(cherry picked from commit d6e84dbf0a)

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>
2024-04-19 14:34:09 -05:00
grafana-delivery-bot[bot]
9f5a1d1c77 [v11.0.x] Docs: Update example docs for rename by regex (#86630)
Docs: Update example docs for `rename by regex` (#86627)

* baldm0mma/update_regex/ update example docs

* baldm0mma/ push ts

* baldm0mma/update_regex with new exmaples

* baldm0mma/update_regex/ update images

* baldm0mma/regex_update/ update text

(cherry picked from commit ad679c62c6)

Co-authored-by: Jev Forsberg <46619047+baldm0mma@users.noreply.github.com>
2024-04-19 15:24:55 -04:00
grafana-delivery-bot[bot]
5ae5fd32db [v11.0.x] VizTooltip: Fix heatmap mode All (#86468)
VizTooltip: Fix heatmap mode All (#86463)

(cherry picked from commit 38fe9fcfd1)

Co-authored-by: Adela Almasan <88068998+adela-almasan@users.noreply.github.com>
2024-04-19 06:56:46 -07:00
grafana-delivery-bot[bot]
9c604036e7 [v11.0.x] IntervalVariableEditor: Do not add current value as interval prop (#86591)
IntervalVariableEditor: Do not add current value as interval prop (#86446)

(cherry picked from commit 65afe90124)

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
2024-04-19 13:36:07 +02:00
grafana-delivery-bot[bot]
dce8a05fef [v11.0.x] CommandPalette: Fix keyboard shortcut alignment (#86590)
CommandPalette: Fix keyboard shortcut alignment (#86540)

* use full typography properties

* use Text component

(cherry picked from commit 63427ccd98)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-04-19 13:12:25 +02:00
grafana-delivery-bot[bot]
adb59eaeb5 [v11.0.x] EmptyState: Set a max width on the empty state component (#86589)
EmptyState: Set a max width on the empty state component (#86569)

set a max width on the empty state component

(cherry picked from commit 21588ce7e2)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-04-19 13:10:43 +02:00
grafana-delivery-bot[bot]
54f0fae4eb [v11.0.x] InfluxDB: Fix interpolating field keys in influxql (#86560)
InfluxDB: Fix interpolating field keys in influxql (#86401)

* interpolate field keys

* use scopedVars

(cherry picked from commit 842c8dd206)

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2024-04-19 11:51:26 +02:00
grafana-delivery-bot[bot]
56cd797d65 [v11.0.x] Alerting: Fix simplified routing group by override (#86563)
Alerting: Fix simplified routing group by override (#86552)

* Alerting: Fix simplified routing custom group by override

Custom group by overrides for simplified routing were missing required fields
GroupBy and GroupByAll normally set during upstream Route validation.

This fix ensures those missing fields are applied to the generated routes.

* Inline GroupBy and GroupByAll initialization instead of normalize after

(cherry picked from commit 71445002b7)

Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
2024-04-19 03:25:13 +02:00
grafana-delivery-bot[bot]
bad4fc05c5 [v11.0.x] NodeGraph: Fix invisible arrow tips in Editor (#86548)
NodeGraph: Fix invisible arrow tips in Editor (#86517)

NodeGraphPanel: Namespace marker IDs to fix invisible arrow tips in editor

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
(cherry picked from commit f3fcfad2c8)

Co-authored-by: timo <timonator@perpetuum-immobile.de>
2024-04-18 21:12:51 +02:00
grafana-delivery-bot[bot]
9ba76038a0 [v11.0.x] RolePicker: Adjust dynamic position (#86542)
RolePicker: Adjust dynamic position (#86424)

* Adjust dynamic position

(cherry picked from commit 1d1ebee36b)

Co-authored-by: linoman <2051016+linoman@users.noreply.github.com>
2024-04-18 18:18:10 +02:00
grafana-delivery-bot[bot]
d05587b2fd [v11.0.x] Dashboard: DashboardPageProxy - Use chaining operators to prevent runtime error (#86536)
Dashboard: DashboardPageProxy - Use chaining operators to prevent runtime error (#86507)

* Use chaining operators to prevent runtime error

* Fix tests

---------

Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
(cherry picked from commit 7a147f2ce8)

Co-authored-by: Alexa V <239999+axelavargas@users.noreply.github.com>
2024-04-18 17:32:41 +02:00
grafana-delivery-bot[bot]
2c4277f5f8 [v11.0.x] Docs: Add GeoMaps YouTube Video (#86533)
Docs: Add GeoMaps YouTube Video (#86472)

* Update index.md on GeoMaps adding YouTube Video

Added the GeoMap YouTube video to the documentation

* Update docs/sources/panels-visualizations/visualizations/geomap/index.md

Totally agree, I tend to use those words and not realize :P

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
(cherry picked from commit 0d11f9b2f4)

Co-authored-by: Señor Performo - Leandro Melendez <54183040+srperf@users.noreply.github.com>
2024-04-18 11:01:53 -04:00
grafana-delivery-bot[bot]
ac20c614a3 [v11.0.x] Cli: Check missing plugin parameter of plugin update command (#86522)
Cli: Check missing plugin parameter of plugin update command (#86410)

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

Co-authored-by: Vanilla <osu_Vanilla@126.com>
2024-04-18 16:02:14 +02:00
grafana-delivery-bot[bot]
6e2727c7ba [v11.0.x] docs: update heatmap visualization and add play links (#86514)
docs: update heatmap visualization and add play links (#85926)

* docs: update heatmap visualization

* docs: add state timeline and status history play shortcodes

* Apply suggestions from code review

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

* docs: add heatmap video

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
(cherry picked from commit 8373fc3544)

Co-authored-by: Marie Cruz <mdcruz@users.noreply.github.com>
2024-04-18 08:29:03 -04:00
grafana-delivery-bot[bot]
a12e727213 [v11.0.x] Add Create annotations in panel video to the documentation (#86511)
Add Create annotations in panel video to the documentation (#86383)

* Add Create annotations in panel video to the documentation

* Update docs/sources/dashboards/build-dashboards/annotate-visualizations/index.md

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
(cherry picked from commit bdd288d058)

Co-authored-by: Lisa <60980933+LisaHJung@users.noreply.github.com>
2024-04-18 08:25:21 -04:00
grafana-delivery-bot[bot]
011c3fa3ef [v11.0.x] EmptyState: Add completed variant (#86503)
EmptyState: Add `completed` variant (#86497)

* add 'completed' variant

* add central text alignment

(cherry picked from commit 07044309f1)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-04-18 12:39:42 +02:00
grafana-delivery-bot[bot]
a3991687f2 [v11.0.x] Select: Increase size of virtualized list options (#86502) 2024-04-18 12:33:52 +02:00
grafana-delivery-bot[bot]
8127ea54b6 [v11.0.x] InfluxDB: Fix interpolation for floating point number values (#86495)
InfluxDB: Fix interpolation for floating point number values (#86396)

return number as it is

(cherry picked from commit 635d85db7a)

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2024-04-18 12:20:57 +02:00
grafana-delivery-bot[bot]
f1c20f8692 [v11.0.x] DashboardScene: Fixes issue saving new dashboard from panel edit (#86480)
DashboardScene: Fixes issue saving new dashboard from panel edit (#86477)

(cherry picked from commit 1327bdf575)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-04-18 12:44:51 +03:00
grafana-delivery-bot[bot]
6881eabedf [v11.0.x] DashboardScene: Move add library panel view from grid item to drawer (#86409)
DashboardScene: Move add library panel view from grid item to drawer (#86257)

* DashboardScene: Add library panel in drawer

* DashboardScene: Move add libray panel view to a drawer instead of a grid item

* Update

* Update tests

(cherry picked from commit 5837def850)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-04-18 09:45:46 +03:00
grafana-delivery-bot[bot]
df2fee63a5 [v11.0.x] Add FolderUID for library elements (#86280)
Add FolderUID for library elements (#83819)

(cherry picked from commit 5c4a2de59b)

Co-authored-by: idafurjes <36131195+idafurjes@users.noreply.github.com>
2024-04-17 20:04:37 +02:00
grafana-delivery-bot[bot]
c968ff62a1 [v11.0.x] Transforms: Fix 'Filter data by values' removing rows in unrelated frames (#86445)
Transforms: Fix 'Filter data by values' removing rows in unrelated frames (#86087)

(cherry picked from commit 9682022b1d)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2024-04-17 16:24:11 +02:00
grafana-delivery-bot[bot]
b5d8a753f9 [v11.0.x] EmptyState: Add call-to-action variant (#86439)
* EmptyState: Add `call-to-action` variant (#85017)

* add default variant

* enhance story

* rename to "initial" + update docs

* default to showing a CTA

* use switch

* translations

* update and use LinkButton

* update default message

* rename "initial" to "nothing-here"

* update variant name to `call-to-action`

* i18n

* add CTA svg

* extract into its own component

(cherry picked from commit f99d5a1c1a)

* remove console.log

---------

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-04-17 15:42:11 +02:00
grafana-delivery-bot[bot]
9b33f9643c [v11.0.x] DashboardScene: Fixes react panels with old angular options (#86411) 2024-04-17 08:23:50 +02:00
grafana-delivery-bot[bot]
879bb31621 [v11.0.x] Docs: change availability to public preview for v11 (#86392)
Docs: change availability to public preview for v11 (#86390)

Changed availability to public preview

(cherry picked from commit d55ce5b2e8)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-16 15:20:02 -04:00
grafana-delivery-bot[bot]
46353e6a50 [v11.0.x] Alerting: Fix simplified routes '...' groupBy creating invalid routes (#86376)
Alerting: Fix simplified routes '...' groupBy creating invalid routes (#86006)

* Alerting: Fix simplified routes '...' groupBy creating invalid routes

There were a few ways to go about this fix:
1. Modifying our copy of upstream validation to allow this
2. Modify our notification settings validation to prevent this
3. Normalize group by on save
4. Normalized group by on generate

Option 4. was chosen as the others have a mix of the following cons:
- Generated routes risk being incompatible with upstream/remote AM
- Awkward FE UX when using '...'
- Rule definition changing after save and potential pitfalls with TF

With option 4. generated routes stay compatible with external/remote AMs, FE
doesn't need to change as we allow mixed '...' and custom label groupBys, and
settings we save to db are the same ones requested.

In addition, it has the slight benefit of allowing us to hide the internal
implementation details of `alertname, grafana_folder` from the user in the
future, since we don't need to send them with every FE or TF request.

* Safer use of DefaultNotificationSettingsGroupBy

* Fix missed API tests

(cherry picked from commit 533bed6d94)

Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
2024-04-16 14:41:13 -04:00
grafana-delivery-bot[bot]
973c913491 [v11.0.x] Docs: add panels & visualizations landing page (#86384)
Docs: add panels & visualizations landing page (#86073)

* Added landing page front structure

* Added description and overview content and card titles

* Added placeholder tile and work notes

* Finalized text and updated link type

* Updated panel overview tile link

(cherry picked from commit 7c441011f2)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-16 14:36:14 -04:00
grafana-delivery-bot[bot]
f4539f7e9d [v11.0.x] Cloudmigration: create migration (#86373)
Cloudmigration: create migration (#85386)

* Cloudmigration: create migration

* fix drone build

* lint fix

* fix unit test

---------

Co-authored-by: Michael Mandrus <michael.mandrus@grafana.com>
(cherry picked from commit 383ebb2bc4)

Co-authored-by: Leonard Gram <leo@xlson.com>
2024-04-16 17:05:09 +01:00
grafana-delivery-bot[bot]
98401be295 [v11.0.x] Scope: Add basic integration tests (#86367)
Scopes: Add basic integration tests (#85351)

Co-authored-by: Kyle Brandt <kyle@grafana.com>
(cherry picked from commit dd6c8732b3)

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2024-04-16 17:01:46 +01:00
grafana-delivery-bot[bot]
6b6b7601a2 [v11.0.x] K8s: standalone authenticator that allows a type of downstream forwarding (#86362)
K8s: standalone authenticator that allows a type of downstream forwarding (#85130)

(cherry picked from commit 0f1151964c)

Co-authored-by: Charandas <charandas@users.noreply.github.com>
2024-04-16 16:57:06 +01:00
grafana-delivery-bot[bot]
c1ff508b6e [v11.0.x] Canvas: Fix styles applying glitch on element type changing (#86365)
Canvas: Fix styles applying glitch on element type changing (#85184)

Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
(cherry picked from commit 20eac8d264)

Co-authored-by: Ihor Yeromin <yeryomin.igor@gmail.com>
2024-04-16 16:47:52 +01:00
grafana-delivery-bot[bot]
9bc4d4c5be [v11.0.x] AWS DataSource: Fix namespaces in sagemaker metrics (#86363)
AWS DataSource: Fix namespaces in sagemaker metrics (#85357)

(cherry picked from commit 58b583f0c5)

Co-authored-by: Tristan <tburgessdev@gmail.com>
2024-04-16 16:47:31 +01:00
grafana-delivery-bot[bot]
8de772e55d [v11.0.x] CloudMigrations: Add instance metadata to auth token (#86371)
CloudMigrations: Add instance metadata to auth token (#85381)

* update how tokens are passed around

* rename structs

(cherry picked from commit 5a5f76ae0a)

Co-authored-by: Michael Mandrus <41969079+mmandrus@users.noreply.github.com>
2024-04-16 16:45:57 +01:00
grafana-delivery-bot[bot]
fd4c86539b [v11.0.x] Auth: add Dex example to generic OAuth2 documentation (#86364)
Auth: add Dex example to generic OAuth2 documentation (#84744)

This patch adds an example configuration for setting up generic OAuth2
authentication using [Dex IdP](https://dexidp.io/).

(cherry picked from commit e9969e3542)

Co-authored-by: Fredrik Ekre <ekrefredrik@gmail.com>
2024-04-16 16:44:55 +01:00
grafana-delivery-bot[bot]
4ba82538b8 [v11.0.x] Graphite: second function as another function argument parsing error fix (#86361)
Graphite: second function as another function argument parsing error fix (#85224)

* update language around query editor parsing issues

* add special handling for second function arguments in divideSeriesLists

* additional check for first argument as series(string) and not a function

(cherry picked from commit 3c28a3d494)

Co-authored-by: Brendan O'Handley <brendan.ohandley@grafana.com>
2024-04-16 16:44:20 +01:00
grafana-delivery-bot[bot]
814732e6d1 [v11.0.x] Scopes: Create binding per relationship (#86368)
Scopes: Create binding per relationship (#85332)

scopes: create binding per relationship

Signed-off-by: bergquist <carl.bergquist@gmail.com>
(cherry picked from commit a71dfe806a)

Co-authored-by: Carl Bergquist <carl.bergquist@gmail.com>
2024-04-16 16:43:01 +01:00
grafana-delivery-bot[bot]
954f869e61 [v11.0.x] Canvas: Fix SVG items background glitch (#86366) 2024-04-16 11:34:17 -04:00
grafana-delivery-bot[bot]
6f6667d89c [v11.0.x] JWT: Find login and email claims with JMESPATH (#86357)
JWT: Find login and email claims with JMESPATH (#85305)

* add function to static function to static service

* find email and login claims with jmespath

* rename configuration files

* Replace JWTClaims struct for map

* check for subclaims error

(cherry picked from commit e4250a72db)

Co-authored-by: linoman <2051016+linoman@users.noreply.github.com>
2024-04-16 16:25:18 +01:00
grafana-delivery-bot[bot]
ca94886e18 [v11.0.x] Explore: Nested Content Outline (#86355)
Explore: Nested Content Outline (#80688)

* indentation levels

* Highlight parent section when child is selected

* Fix context, add rotation to toggle button

* Merge single child logic; fix styling

* Fix collapsed logic, make elipsis work, reorganize for better readability;

* Add connector

* Tooltip placement

* Update tests so they test components the same way users would interact with them

* Clean up indendation levels

* Support collapsing logic for multiple section; highlight all items in a section of an active child - parent is active only when section is collapsed and child inside of it is active

* Simplify making ellipsis work

* Show tooltip if the text overflows in expanded mode

* The whole button container should have same background when section is expanded in mini view

* Fix a bug where root items were not being sorted by document position

* Update query order when query rows are changed through dragging and dropping

* Fix the issue where chaning the title of a query row would remove the query

(cherry picked from commit 649c456eab)

Co-authored-by: Haris Rozajac <58232930+harisrozajac@users.noreply.github.com>
2024-04-16 16:25:05 +01:00
grafana-delivery-bot[bot]
64c17b0ee6 [v11.0.x] User: email verification completion (#86354)
User: email verification completion (#85259)

* TempUser: Include InvitedById in TempUserDTO

* Extract email verfication completion flow to service

(cherry picked from commit 73e426b081)

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2024-04-16 16:24:53 +01:00
grafana-delivery-bot[bot]
23a24bc9af [v11.0.x] CloudMigration: Add service to list all migrations (#86350)
CloudMigration:  Add service to list all migrations (#85308)

(cherry picked from commit 5b147d0847)

Co-authored-by: lean.dev <34773040+leandro-deveikis@users.noreply.github.com>
2024-04-16 16:24:38 +01:00
grafana-delivery-bot[bot]
2ee985abc2 [v11.0.x] Panel: Description display event is reported multiple times (#86356)
Panel: Description display event is reported multiple times (#85283)

(cherry picked from commit 233f119037)

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
2024-04-16 16:10:41 +01:00
grafana-delivery-bot[bot]
c4e057eddf [v11.0.x] Loki: Fix test flake (#86353)
Loki: Fix test flake (#85356)

attempt to fix flake

(cherry picked from commit 0c78d80ef1)

Co-authored-by: Galen Kistler <109082771+gtk-grafana@users.noreply.github.com>
2024-04-16 16:09:43 +01:00
grafana-delivery-bot[bot]
d81380cc21 [v11.0.x] Revert "Update ephemeral instances workflow to get version from package.json" (#86352)
Revert "Update ephemeral instances workflow to get version from package.json" (#85347)

Revert "Update ephemeral instances workflow to get version from package.json …"

This reverts commit dda1531952.

(cherry picked from commit 29c76b98d4)

Co-authored-by: Leonor Oliveira <9090754+leonorfmartins@users.noreply.github.com>
2024-04-16 16:09:19 +01:00
Ashley Harrison
2794579c28 [v11.0.x] Update dependency @swc/helpers to v0.5.8 (#86358)
Update dependency @swc/helpers to v0.5.8 (#85327)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit b155bc11a1)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 16:08:43 +01:00
grafana-delivery-bot[bot]
33413b762f [v11.0.x] Docs: Add capture_timeout option (#86351)
Docs: Add capture_timeout option (#85340)

(cherry picked from commit ce57ce4125)

Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>
2024-04-16 16:08:26 +01:00
grafana-delivery-bot[bot]
1a099d444e [v11.0.x] Templating: Link label to input (#86349)
Templating: Link label to input (#85329)

Pass id to VariableInput

(cherry picked from commit a44aa342a7)

Co-authored-by: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com>
2024-04-16 16:01:49 +01:00
grafana-delivery-bot[bot]
d37a55db45 [v11.0.x] Update dependency yaml to v2.4.1 (#86348)
Update dependency yaml to v2.4.1 (#85335)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 40c88596d8)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 16:01:26 +01:00
grafana-delivery-bot[bot]
5249af80ca [v11.0.x] I18n: Download translations from Crowdin (#86347)
I18n: Download translations from Crowdin (#85257)

New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
(cherry picked from commit 97c3c51e52)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-16 16:00:58 +01:00
grafana-delivery-bot[bot]
492d6dd3fd [v11.0.x] Update dependency webpack-assets-manifest to v5.2.1 (#86338)
Update dependency webpack-assets-manifest to v5.2.1 (#85331)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit f5cd840dd0)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 16:00:36 +01:00
grafana-delivery-bot[bot]
198b8febde [v11.0.x] K8s/Frontend: Add generic resource server and use it for playlists (#86337)
K8s/Frontend: Add generic resource server and use it for playlists (#83339)

Co-authored-by: Bogdan Matei <bogdan.matei@grafana.com>
(cherry picked from commit 45d1766524)

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2024-04-16 15:38:22 +01:00
grafana-delivery-bot[bot]
486fb23af5 [v11.0.x] fix internal url in tutorials (#86339)
fix internal url in tutorials (#85273)

* fix internal url in tutorials

* prettyfied

* fix: update broken links

---------

Co-authored-by: mdcruz <marie.descruz@gmail.com>
(cherry picked from commit 85a646b4dc)

Co-authored-by: antonio <45235678+tonypowa@users.noreply.github.com>
2024-04-16 15:38:00 +01:00
grafana-delivery-bot[bot]
595bf811ca [v11.0.x] Update dependency eslint-plugin-jsdoc to v48.2.2 (#86336)
Update dependency eslint-plugin-jsdoc to v48.2.2

(cherry picked from commit d227621217)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 15:37:39 +01:00
grafana-delivery-bot[bot]
f4ffa3a1a2 [v11.0.x] Update dependency @grafana/aws-sdk to v0.3.3 (#86335)
Update dependency @grafana/aws-sdk to v0.3.3 (#85326)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 4854f10ee2)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 15:37:19 +01:00
grafana-delivery-bot[bot]
e9046e8cb1 [v11.0.x] Update dependency stylelint-config-sass-guidelines to v11.1.0 (#86334)
Update dependency stylelint-config-sass-guidelines to v11.1.0 (#85291)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit ad1b60e651)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 15:36:58 +01:00
grafana-delivery-bot[bot]
b84bd7eb90 [v11.0.x] Tempo: Show <1ms when durationMs not in response (#86333)
Tempo: Show <1ms when durationMs not in response (#85267)

* Show <1ms when durationMs not in response

* Update tests

(cherry picked from commit 8c770a283e)

Co-authored-by: Joey <90795735+joey-grafana@users.noreply.github.com>
2024-04-16 15:36:29 +01:00
Ashley Harrison
1bc4ceb77c [v11.0.x] Update dependency webpack to v5.91.0 (#86344)
Update dependency webpack to v5.91.0 (#85302)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 50a57bb88c)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 15:36:11 +01:00
Ashley Harrison
a2addd8ae2 [v11.0.x] Chore: Bump Nx to 18.1.x (#86343)
* Chore: Bump Nx to 18.1.x (#85185)

* chore: bump nx to latest version

* build(plugin-configs): reduce wonky webpack output when logged via nx

* revert(plugin-configs): remove infrastructureLogging property

(cherry picked from commit c6a489cfd8)

* update yarn lock file

---------

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2024-04-16 15:36:00 +01:00
grafana-delivery-bot[bot]
5a348fa711 [v11.0.x] AngularMigration: Allow dashboard by dashboard migration (#86330)
AngularMigration: Allow dashboard by dashboard migration (#84100)

(cherry picked from commit e5d1cd8ea5)

Co-authored-by: Adela Almasan <88068998+adela-almasan@users.noreply.github.com>
2024-04-16 15:08:19 +01:00
grafana-delivery-bot[bot]
d781a08014 [v11.0.x] ci: Stop running ephemeral instances workflow when not needed (#86329)
ci: Stop running ephemeral instances workflow when not needed (#85306)

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
(cherry picked from commit 08d603e660)

Co-authored-by: Dave Henderson <dave.henderson@grafana.com>
2024-04-16 15:07:24 +01:00
grafana-delivery-bot[bot]
af98f4d58d [v11.0.x] Update dependency msw to v2.2.13 (#86328)
Update dependency msw to v2.2.13

(cherry picked from commit 39e91e2984)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 15:06:43 +01:00
grafana-delivery-bot[bot]
2b52fbb8b0 [v11.0.x] Update dependency @types/react to v18.2.73 (#86327)
Update dependency @types/react to v18.2.73

(cherry picked from commit 2f18148da2)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 15:05:13 +01:00
grafana-delivery-bot[bot]
67c976366e [v11.0.x] Scopes: Add Filtering for ScopeDashoardBinding and Update Prometheus for ScopeFilterOperator Changes (#86326)
Scopes: Add Filtering for ScopeDashoardBinding and Update Prometheus for ScopeFilterOperator Changes (#85284)

(cherry picked from commit 136f8e6f0c)

Co-authored-by: Kyle Brandt <kyle@grafana.com>
2024-04-16 14:46:21 +01:00
grafana-delivery-bot[bot]
41d7cba970 [v11.0.x] Update dependency stylelint to v16.3.1 (#86325)
Update dependency stylelint to v16.3.1 (#85286)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 7e1cd4397a)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 14:46:07 +01:00
grafana-delivery-bot[bot]
de18ae9ecf [v11.0.x] Update dependency react-zoom-pan-pinch to v3.4.3 (#86324)
Update dependency react-zoom-pan-pinch to v3.4.3 (#85263)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit a6fcbd1eb2)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 14:44:58 +01:00
grafana-delivery-bot[bot]
f6606c558e [v11.0.x] Storage: GuaranteedUpdate fix & other improvements (#86323)
Storage: GuaranteedUpdate fix & other improvements (#85206)

make GuaranteedUpdate work when ignoring not found errors, increase poll frequency, fix Delete

(cherry picked from commit ef26fe95dc)

Co-authored-by: Dan Cech <dcech@grafana.com>
2024-04-16 14:42:56 +01:00
grafana-delivery-bot[bot]
a3ec3c6d96 [v11.0.x] Update dependency sass to v1.72.0 (#86322)
Update dependency sass to v1.72.0 (#85272)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 986b078d79)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 14:42:34 +01:00
grafana-delivery-bot[bot]
684aca803f [v11.0.x] AuthN: Add IsAuthenticatedBy to identity interface and replace checks (#86321)
AuthN: Add IsAuthenticatedBy to identity interface and replace checks (#85262)

Add IsAuthenticatedBy to identity interface and replace checks

(cherry picked from commit 152cb47692)

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2024-04-16 14:41:15 +01:00
grafana-delivery-bot[bot]
6f87c9393e [v11.0.x] Update dependency react-hook-form to v7.51.2 (#86315)
Update dependency react-hook-form to v7.51.2 (#85249)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 3049acd7d7)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 14:08:43 +01:00
grafana-delivery-bot[bot]
49df41f0ce [v11.0.x] Update dependency jest-date-mock to v1.0.9 (#86314)
Update dependency jest-date-mock to v1.0.9

(cherry picked from commit e4a265f60c)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 14:08:20 +01:00
grafana-delivery-bot[bot]
aef19a4a8f [v11.0.x] QueryLibrary: Use default variable values in render (#86312)
QueryLibrary: Use default variable values in render (#84678)

(cherry picked from commit d71266b8af)

Co-authored-by: Kyle Brandt <kyle@grafana.com>
2024-04-16 14:07:48 +01:00
grafana-delivery-bot[bot]
cd938e20ff [v11.0.x] Fix new dashboard save name validation (#86316)
Fix new dashboard save name validation (#86290)

(cherry picked from commit b9285e320a)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2024-04-16 15:03:45 +02:00
grafana-delivery-bot[bot]
139933b0ca [v11.0.x] EmptyState: use not-found empty state variant everywhere in core (#86311)
* EmptyState: use `not-found` empty state variant everywhere in core (#85007)

* use EmptyState component everywhere in core

* remove GrotNotFound core component

* update unit tests

* search -> not-found

* fix 3 more

(cherry picked from commit 7ad2ec9665)

* EmptyState: Provide custom messages for existing empty states (#86021)

provide custom messages for existing empty states

---------

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-04-16 14:02:21 +01:00
grafana-delivery-bot[bot]
b2f5eb1d87 [v11.0.x] LLMApp: Skip 404 requests to know if the plugin exists (#85269)
LLMApp: Skip 404 requests to know if the plugin exists (#85226)

---------

Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
(cherry picked from commit 61e67423ff)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-04-16 14:51:26 +02:00
grafana-delivery-bot[bot]
389b734da1 [v11.0.x] Docs: Update broken links to grafana play (#86310)
Docs: Update broken links to grafana play (#86233)

* Docs: Update broken links to grafana play

* Update docs/sources/datasources/graphite/template-variables/index.md

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

* Update docs/sources/datasources/influxdb/template-variables/index.md

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
(cherry picked from commit 7c7cdf7c3d)

Co-authored-by: Ezequiel Victorero <ezequiel.victorero@grafana.com>
2024-04-16 14:49:42 +02:00
grafana-delivery-bot[bot]
8377ef1573 [v11.0.x] correct a url (#86302)
correct a url (#85245)

(cherry picked from commit cec25113f6)

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>
2024-04-16 13:48:00 +01:00
grafana-delivery-bot[bot]
d0c61df20f [v11.0.x] Update dependency diff to v5.2.0 (#86301)
Update dependency diff to v5.2.0 (#85244)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 7640922d76)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 13:32:33 +01:00
grafana-delivery-bot[bot]
b9ca9e26e5 [v11.0.x] Storybook: Fix link to Saga (#86298)
Storybook: Fix link to Saga (#85179)

(cherry picked from commit 951d5b4e9f)

Co-authored-by: Joao Silva <100691367+JoaoSilvaGrafana@users.noreply.github.com>
2024-04-16 13:32:20 +01:00
grafana-delivery-bot[bot]
3d5e7fd7e5 [v11.0.x] Dashboard scenes: Export isExpressionReference to be accessible from scenes (#86299)
Dashboard scenes: Export isExpressionReference to be accessible from scenes (#85228)

Export isExpressionRef to be accessible from scenes

(cherry picked from commit b7156ef2c2)

Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
2024-04-16 13:31:57 +01:00
grafana-delivery-bot[bot]
6d40282a82 [v11.0.x] Pa11y: Decrease error thresholds for PRs (#86297)
Pa11y: Decrease error thresholds for PRs (#85178)

* Pa11y-pr: lower error thresholds

* Increase threshold for alerting

(cherry picked from commit 6248bdda48)

Co-authored-by: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com>
2024-04-16 13:31:38 +01:00
Ashley Harrison
cf87defa8e [v11.0.x] Update dependency @grafana/faro-web-sdk to v1.5.0 (#86306)
Update dependency @grafana/faro-web-sdk to v1.5.0 (#85235)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 176709683a)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 13:31:15 +01:00
grafana-delivery-bot[bot]
d9c89cb1b8 [v11.0.x] Update dependency date-fns to v3.6.0 (#86300)
Update dependency date-fns to v3.6.0 (#85243)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit c7b4427151)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 13:16:47 +01:00
grafana-delivery-bot[bot]
c1eef3b789 [v11.0.x] Update dependency @grafana/plugin-e2e to ^0.25.0 (#86295)
Update dependency @grafana/plugin-e2e to ^0.25.0 (#85236)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 4cf0c8dfb2)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 13:16:19 +01:00
grafana-delivery-bot[bot]
3be2562991 [v11.0.x] Update dependency @grafana/faro-web-sdk to v1.5.0 (#86294)
Update dependency @grafana/faro-web-sdk to v1.5.0 (#85234)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 9787f19dc3)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 12:59:36 +01:00
grafana-delivery-bot[bot]
addbf53952 [v11.0.x] Update dependency msw to v2.2.12 (#86293)
Update dependency msw to v2.2.12

(cherry picked from commit e28fc1a4a5)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 12:58:22 +01:00
grafana-delivery-bot[bot]
5185fe376d [v11.0.x] Update dependency xss to v1.0.15 (#86292)
Update dependency xss to v1.0.15 (#85215)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 869a7c8e15)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 12:57:36 +01:00
grafana-delivery-bot[bot]
6afa5d5654 [v11.0.x] Update dependency nanoid to v5.0.6 (#86291)
Update dependency nanoid to v5.0.6 (#85205)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 7df1f84c63)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 12:57:14 +01:00
grafana-delivery-bot[bot]
45b18cb91b [v11.0.x] Alerting: Make hovercard accessible (#86272)
Alerting: Make hovercard accessible (#85195)

(cherry picked from commit 90a1e8a82f)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2024-04-16 12:30:29 +01:00
grafana-delivery-bot[bot]
18db3762f8 [v11.0.x] CloudWatch : Add missing AWS/ES metrics (#86271)
CloudWatch : Add missing AWS/ES metrics (#85210)

Adding missing ES metrics

(cherry picked from commit ace1cd6301)

Co-authored-by: Pablo <2617411+thepalbi@users.noreply.github.com>
2024-04-16 12:30:09 +01:00
Ashley Harrison
ddea51b403 [v11.0.x] Update dependency @types/react to v18.2.72 (#86283)
Update dependency @types/react to v18.2.72

(cherry picked from commit e184520c61)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 12:29:49 +01:00
grafana-delivery-bot[bot]
9c64750d49 [v11.0.x] Update dependency msw to v2.2.11 (#86270)
Update dependency msw to v2.2.11

(cherry picked from commit 6ed5e36fe5)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 11:40:16 +01:00
grafana-delivery-bot[bot]
af4c8b8804 [v11.0.x] Update dependency eslint-scope to v8.0.1 (#86269)
Update dependency eslint-scope to v8.0.1

(cherry picked from commit 98eec74483)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 11:39:14 +01:00
grafana-delivery-bot[bot]
9d1a004180 [v11.0.x] Chore: InfluxQL stream parser improvements (#86268)
Chore: InfluxQL stream parser improvements (#85041)

* don't iterate over first column as it is a time column already

* don't iterate over first column as it was handled earlier

* add more flexibility to run the commands

* Update pkg/tsdb/influxdb/influxql/converter/converter.go

Co-authored-by: Nick Richmond <5732000+NWRichmond@users.noreply.github.com>

---------

Co-authored-by: Nick Richmond <5732000+NWRichmond@users.noreply.github.com>
(cherry picked from commit fec7765111)

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2024-04-16 11:38:54 +01:00
grafana-delivery-bot[bot]
c25aea926d [v11.0.x] Update dependency @kusto/monaco-kusto to v10.0.18 (#86276)
Update dependency @kusto/monaco-kusto to v10.0.18

(cherry picked from commit 1513b0cab1)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 11:37:43 +01:00
Ashley Harrison
60c39b46c0 [v11.0.x] Update dependency @floating-ui/react to v0.26.10 (#86275)
Update dependency @floating-ui/react to v0.26.10 (#85181)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 1df15a3a4c)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 11:37:10 +01:00
grafana-delivery-bot[bot]
70c56b0d33 [v11.0.x] Update dependency @glideapps/glide-data-grid to v6.0.3 (#86274)
Update dependency @glideapps/glide-data-grid to v6.0.3 (#85189)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit af3e453068)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 11:36:58 +01:00
grafana-delivery-bot[bot]
681554c376 [v11.0.x] Alerting: Reduce set of fields that could trigger alert state change (#86266)
Alerting: Reduce set of fields that could trigger alert state change (#83496)

We want to avoid too much change of alert state based on change on
alert's fields. For that we ignore some fields from the diff.

(cherry picked from commit 6f38ac6615)

Co-authored-by: Benoit Tigeot <benoittgt@users.noreply.github.com>
2024-04-16 10:35:59 +01:00
grafana-delivery-bot[bot]
8d8365671b [v11.0.x] Auth: Improve org role sync debugging (#86203)
Auth: Improve org role sync debugging (#85146)

add login to the context of the logger

(cherry picked from commit da40158fed)

Co-authored-by: Jo <joao.guerreiro@grafana.com>
2024-04-16 10:32:11 +01:00
Ashley Harrison
40e6e28f2a [v11.0.x] Update dependency @kusto/monaco-kusto to v10 (#81382) (#86265)
Update dependency @kusto/monaco-kusto to v10 (#81382)

* Update dependency @kusto/monaco-kusto to v10

* match types + update mocks

* Add missing esModule

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
(cherry picked from commit 5146896264)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 10:31:53 +01:00
grafana-delivery-bot[bot]
51edeba087 [v11.0.x] Scopes: Name relationship objects *binding (#86202)
Scopes: Name relationship objects *binding (#84955)

Signed-off-by: bergquist <carl.bergquist@gmail.com>
Co-authored-by: Bogdan Matei <bogdan.matei@grafana.com>
(cherry picked from commit b214b07695)

Co-authored-by: Carl Bergquist <carl.bergquist@gmail.com>
2024-04-16 09:48:00 +01:00
grafana-delivery-bot[bot]
0ab7f88506 [v11.0.x] Dashboard: Migration - Add public dashboard tag in the nav bar (#86263)
Dashboard: Migration -  Add public dashboard tag in the nav bar (#86204)

Migrate public dashboard badge to scenes dashboard

(cherry picked from commit 40f1b2c92c)

Co-authored-by: Alexa V <239999+axelavargas@users.noreply.github.com>
2024-04-16 10:22:35 +02:00
grafana-delivery-bot[bot]
ee1850dca3 [v11.0.x] DashboardScene: Fixes saving dashboard with angular panels (#86255)
DashboardScene: Fixes saving dashboard with angular panels  (#86098)

* DashboardScene: Fixes saving angularOptions

* Update

* Update

(cherry picked from commit e15beab362)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-04-16 03:32:40 +02:00
grafana-delivery-bot[bot]
900080155c [v11.0.x] DashboardScene: Fix empty row repeat issue (#86254)
DashboardScene: Fix empty row repeat issue (#86095)

(cherry picked from commit 869814ea3e)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-04-16 03:27:12 +02:00
grafana-delivery-bot[bot]
a54eeee13c [v11.0.x] docs: add annotations play link (#86248)
docs: add annotations play link (#86206)

* docs: add annotations play link

* PR feedback

(cherry picked from commit c9350a25c4)

Co-authored-by: David Allen <david.allen@grafana.com>
2024-04-15 17:41:06 -04:00
grafana-delivery-bot[bot]
0f1c922686 [v11.0.x] docs: add thresholds play link (#86241)
docs: add thresholds play link (#86212)

* docs: add thresholds play link

* PR review

(cherry picked from commit f50e29e004)

Co-authored-by: David Allen <david.allen@grafana.com>
2024-04-15 17:23:56 -04:00
grafana-delivery-bot[bot]
edb1ebec10 [v11.0.x] docs: added logs panel play link; added dedup options, reformatted fig (#86238)
docs: added logs panel play link; added dedup options, reformatted fig (#86209)

* docs: added logs panel play link; added dedup options, reformatted fig

* Update docs/sources/panels-visualizations/visualizations/logs/index.md

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

* Update docs/sources/panels-visualizations/visualizations/logs/index.md

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
(cherry picked from commit 19ae9377b9)

Co-authored-by: David Allen <david.allen@grafana.com>
2024-04-15 17:12:46 -04:00
grafana-delivery-bot[bot]
9a06d843a4 [v11.0.x] Docs: added bar gauge play link (#86227)
Docs: added bar gauge play link (#86205)

* docs: added bar gauge play link

* Update docs/sources/panels-visualizations/visualizations/bar-gauge/index.md

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
(cherry picked from commit 04e127b368)

Co-authored-by: David Allen <david.allen@grafana.com>
2024-04-15 15:58:23 -04:00
grafana-delivery-bot[bot]
f40bb12125 [v11.0.x] docs: query data/relative time range override play link (#86231)
docs: query data/relative time range override play link (#86213)

(cherry picked from commit c450d61d32)

Co-authored-by: David Allen <david.allen@grafana.com>
2024-04-15 15:56:16 -04:00
grafana-delivery-bot[bot]
54a6fb9bf5 [v11.0.x] Docs: add template var Play link; cleanup existing (#86221)
Docs: add template var Play link; cleanup existing (#86074)

* Docs: add template var Play link; cleanup existing

* Update docs/sources/dashboards/variables/_index.md

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

* Update docs/sources/dashboards/variables/_index.md

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
(cherry picked from commit 5a57c31607)

Co-authored-by: David Allen <david.allen@grafana.com>
2024-04-15 15:52:22 -04:00
grafana-delivery-bot[bot]
59fe58fedf [v11.0.x] Docs: add panel overview (#86183)
Docs: add panel overview (#86075)

* Added panel overview page and updated panel editor page

* Finalized panel overview intro text and added links

* Added add panel section to overview and removed section from editor

* Fixed version interpolation syntax and updated Cloud link

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* Fixed version interpolation syntax

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

---------

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
(cherry picked from commit d9a0cedd89)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-15 15:31:15 -04:00
grafana-delivery-bot[bot]
ac207411e0 [v11.0.x] Update dependency @msagl/parser to v1.1.18 (#86201)
Update dependency @msagl/parser to v1.1.18 (#85138)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 96c626d3d3)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-15 16:56:26 +01:00
grafana-delivery-bot[bot]
f1d2c5f2cb [v11.0.x] Changelog: Updated changelog for 10.2.6 (#86200)
Changelog: Updated changelog for 10.2.6 (#85171)

* Changelog: Updated changelog for 10.2.6

* run prettier

---------

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

Co-authored-by: grafana-delivery-bot[bot] <132647405+grafana-delivery-bot[bot]@users.noreply.github.com>
2024-04-15 16:54:04 +01:00
grafana-delivery-bot[bot]
9a0b8548f8 [v11.0.x] Get started with alerting fixes for publish (#86199)
Get started with alerting fixes for publish (#85158)

* Rename alerting-get-started.md to index.md

* edits

* edits

* prettier

* Update docs/sources/tutorials/alerting-get-started/index.md

Co-authored-by: tonypowa <45235678+tonypowa@users.noreply.github.com>

---------

Co-authored-by: tonypowa <tonypowa@gmail.com>
Co-authored-by: tonypowa <45235678+tonypowa@users.noreply.github.com>
(cherry picked from commit 54270dff36)

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>
2024-04-15 16:53:39 +01:00
grafana-delivery-bot[bot]
41a71511f9 [v11.0.x] Changelog: Updated changelog for 10.1.9 (#86198)
Changelog: Updated changelog for 10.1.9 (#85167)

Co-authored-by: grafanabot <bot@grafana.com>
(cherry picked from commit da1ef0e1fa)

Co-authored-by: grafana-delivery-bot[bot] <132647405+grafana-delivery-bot[bot]@users.noreply.github.com>
2024-04-15 16:53:12 +01:00
grafana-delivery-bot[bot]
8d366eb67c [v11.0.x] Prometheus: Create jsonschema spec (#86197)
Prometheus: Create jsonschema spec (#85077)

(cherry picked from commit e5cf863973)

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2024-04-15 16:52:53 +01:00
grafana-delivery-bot[bot]
e00a5ec73e [v11.0.x] Changelog: Updated changelog for 10.0.13 (#86196)
Changelog: Updated changelog for 10.0.13 (#85163)

Co-authored-by: grafanabot <bot@grafana.com>
(cherry picked from commit b47dc7e8ac)

Co-authored-by: grafana-delivery-bot[bot] <132647405+grafana-delivery-bot[bot]@users.noreply.github.com>
2024-04-15 16:49:55 +01:00
grafana-delivery-bot[bot]
c7c5c58b5f [v11.0.x] Nodegraph: Fix issue with rendering single node (#86195)
Nodegraph: Fix issue with rendering single node (#84930)

Fix for single node graph case

(cherry picked from commit aba65747c9)

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2024-04-15 16:49:37 +01:00
grafana-delivery-bot[bot]
ebdea3e5c2 [v11.0.x] Changelog: Updated changelog for 9.5.18 (#86194)
Changelog: Updated changelog for 9.5.18 (#85159)

Co-authored-by: grafanabot <bot@grafana.com>
(cherry picked from commit dd93d9958d)

Co-authored-by: grafana-delivery-bot[bot] <132647405+grafana-delivery-bot[bot]@users.noreply.github.com>
2024-04-15 16:31:47 +01:00
grafana-delivery-bot[bot]
482e660e01 [v11.0.x] SaveDashboardForm: Remove deprecated Form usage (#86193)
SaveDashboardForm: Remove deprecated Form usage (#84172)

* SaveDashboardForm: Remove deprecated Form usage

* Update

(cherry picked from commit d105323f15)

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2024-04-15 16:31:20 +01:00
grafana-delivery-bot[bot]
5239d491a8 [v11.0.x] Saga-icons: Switch to ESM (#86191)
Saga-icons: Switch to ESM (#84875)

(cherry picked from commit 0f6858709b)

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2024-04-15 16:30:56 +01:00
grafana-delivery-bot[bot]
0be78631d7 [v11.0.x] Tooltip / Toggletip content link styling: Remove global a element selector inside tooltips (#86190)
Tooltip / Toggletip content link styling: Remove global a element selector inside tooltips (#84353)

* fix: remove global a tag styles inside tooltips

* corret inside / outside button references in toggletip test

* Remove code and pre styling rules from tooltipUtils

(cherry picked from commit b4ed72f1b6)

Co-authored-by: Chris Bedwell <christopher.bedwell@grafana.com>
2024-04-15 16:30:29 +01:00
grafana-delivery-bot[bot]
98417a579f [v11.0.x] Loki: Support custom X-Query-Tags header (#86189)
Loki: Support custom `X-Query-Tags` header (#85123)

* Loki: Support custom `X-Query-Tags` header

* add comment

(cherry picked from commit 9a8ae3c932)

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2024-04-15 16:30:09 +01:00
grafana-delivery-bot[bot]
232798e0d0 [v11.0.x] IDFowrarding: ignore logging context canceled errors (#86187)
IDFowrarding: ignore logging context canceled errors (#85141)

(cherry picked from commit 2f5e3023c2)

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2024-04-15 16:29:45 +01:00
grafana-delivery-bot[bot]
3547c55b52 [v11.0.x] Provisioning: Fix regression when dashboardProvisioner is accessed before being initialised (#86186)
Provisioning: Fix regression when dashboardProvisioner is accessed before being initialised (#85011)

* Provisioning: Fix regression when dashboardProvisioner is accessed before being initialized

* Set dashboard provisioner in the provider

(cherry picked from commit 5ebf2d08f6)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2024-04-15 16:29:23 +01:00
grafana-delivery-bot[bot]
facb6f63eb [v11.0.x] DataTrails: Fixes home page background issue to make Cards work better (#86185)
DataTrails: Fixes home page background issue to make Cards work better (#85055)

* DataTrails: Fixes home page background issue to make Cards work better

* Update DataTrailsHome.tsx

(cherry picked from commit d039a0a485)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-04-15 16:29:00 +01:00
grafana-delivery-bot[bot]
5c45d2f4cd [v11.0.x] Update ephemeral instances workflow to get version from package.json (#86180)
Update ephemeral instances workflow to get version from package.json (#85088)

* use the same value for GRAFANA_VERSION and HOSTED_GRAFANA_IMAGE_TAG

* update codeowners for these files

(cherry picked from commit dda1531952)

Co-authored-by: Dafydd <72009875+dafydd-t@users.noreply.github.com>
2024-04-15 16:28:29 +01:00
grafana-delivery-bot[bot]
708ba6f3ac [v11.0.x] MySQL: snapshot tests (#86184)
MySQL: snapshot tests (#84846)

mysql: add snapshot tests
(cherry picked from commit 3b7ee3a56b)

Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
2024-04-15 16:28:08 +01:00
grafana-delivery-bot[bot]
bce6d445e9 [v11.0.x] postgres: improved tests (#86181)
postgres: improved tests (#84677)

* postgres: tests: better test aligning time-series results

* postgres: add snapshot test for a backward-compat code

(cherry picked from commit c835022861)

Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
2024-04-15 16:27:44 +01:00
grafana-delivery-bot[bot]
6204c035df [v11.0.x] LibraryPanelRBAC: Fix issue with importing dashboards containing library panels (#86149)
LibraryPanelRBAC: Fix issue with importing dashboards containing library panels (#83980)

(cherry picked from commit 6a53864f7a)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2024-04-15 17:18:23 +02:00
grafana-delivery-bot[bot]
87a5f1f30d [v11.0.x] Docs: add dashboards landing page (#86188)
Docs: add dashboards landing page (#86001)

* Added template from existing landing page

* Added dashboards content

* Fixed front matter

* Referenced existing icon to test

* Added test icon

* Edited text

* Fixed link formatting

* Finalized description and overview text

* Updated description'

* Updated tile text

* Updated docs/ref section

(cherry picked from commit 219c2c761e)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-15 11:11:42 -04:00
grafana-delivery-bot[bot]
3aba1ade9f [v11.0.x] Datasources: Add fixed width to name field in config editor (#86179)
Datasources: Add fixed width to name field in config editor (#84970)

add fixed width to name field

(cherry picked from commit 28ecd83987)

Co-authored-by: Erik Sundell <erik.sundell87@gmail.com>
2024-04-15 16:10:37 +01:00
grafana-delivery-bot[bot]
3628fdd6d7 [v11.0.x] Update dependency rudder-sdk-js to v2.48.6 (#86174)
Update dependency rudder-sdk-js to v2.48.6

(cherry picked from commit 4b11877337)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-15 16:10:15 +01:00
grafana-delivery-bot[bot]
9744f081fc [v11.0.x] Expressions+Testdata: Create json schema for query types (#86164)
Expressions: Create json schema for query types (#84032)

(cherry picked from commit 4cda34ff7d)

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2024-04-15 16:09:50 +01:00
grafana-delivery-bot[bot]
0a95bcb6bd [v11.0.x] Chore: Add github action to check go module updates (#86161)
Chore: Add github action to check go module updates (#84936)

(cherry picked from commit d4e6b325bf)

Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>
2024-04-15 16:09:31 +01:00
grafana-delivery-bot[bot]
8a1cda8787 [v11.0.x] Docs: add tags section to dashboard settings docs (#86178)
Docs: add tags section to dashboard settings docs (#85875)

Edited

(cherry picked from commit 918f122433)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-15 11:02:03 -04:00
grafana-delivery-bot[bot]
6efe1b5cab [v11.0.x] Docs: add best practices Play link (#86173)
Docs: add best practices Play link (#86076)

(cherry picked from commit eb46d85829)

Co-authored-by: David Allen <david.allen@grafana.com>
2024-04-15 10:58:53 -04:00
grafana-delivery-bot[bot]
8c0c45d54a [v11.0.x] Alerting: Return a 400 and errutil error when trying to delete a contact point that is referenced by a policy (#86163)
Alerting: Return a 400 and errutil error when trying to delete a contact point that is referenced by a policy (#85481)

Return a 400 and errutil error when trying to delete a contact point that is referenced by a policy

(cherry picked from commit 5b1498f98f)

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2024-04-15 09:49:09 -05:00
grafana-delivery-bot[bot]
16695fe0df [v11.0.x] Table Panel: Fix image disappearing when datalinks applied (#86160)
Table Panel: Fix image disappearing when datalinks applied (#84625)

* Fix link image disappearing

* Prettier

* i18n

* Fix offset to compensate for padding

* Prettier

---------

Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
(cherry picked from commit 154868e624)

Co-authored-by: Kyle Cunningham <codeincarnate@users.noreply.github.com>
2024-04-15 15:42:46 +01:00
grafana-delivery-bot[bot]
ffe58a03b1 [v11.0.x] Scopes: Add type filter (#86159)
Scopes: Add type filter (#84866)

Co-authored-by: Kyle Brandt <kyle@grafana.com>
(cherry picked from commit dfe61db7a5)

Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>
2024-04-15 15:42:27 +01:00
grafana-delivery-bot[bot]
2a2d3df119 [v11.0.x] Chore: Update glob-stream (#86156)
Chore: Update glob-stream (#85107)

(cherry picked from commit a61cac9d51)

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2024-04-15 15:28:02 +01:00
grafana-delivery-bot[bot]
539800501b [v11.0.x] Chore: Add golangci-lint depgaurd rules for sub-modules (#86155)
Chore: Add depgaurd rules for sub-modules (#84084)

(cherry picked from commit 9684a9e39a)

Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>
2024-04-15 15:27:43 +01:00
grafana-delivery-bot[bot]
19255a23ae [v11.0.x] K8s: replace a noop certKey content func with actual if available (#86154)
K8s: replace a noop certKey content func with actual if available (#84524)

(cherry picked from commit dd7d4e2656)

Co-authored-by: Charandas <charandas@users.noreply.github.com>
2024-04-15 15:27:28 +01:00
grafana-delivery-bot[bot]
2cf73012ab [v11.0.x] SSO: fix reloading settings when a provider contains empty settings (#86142)
SSO: fix reloading settings when a provider contains empty settings (#85102)

* fix reloading settings when a provider contains empty settings

* do not increment reloadFailures if settings are empty

(cherry picked from commit fad6dc4db1)

Co-authored-by: Mihai Doarna <mihai.doarna@grafana.com>
2024-04-15 15:27:04 +01:00
grafana-delivery-bot[bot]
d08ca1f4eb [v11.0.x] Chore: Run backend lint in PRs if .golangci.toml changes (#86141)
Chore: Run backend lint in PRs if .golangci.toml changes (#85106)

Chore: Run lint backend if .golangci.toml changes
(cherry picked from commit 71c5070240)

Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>
2024-04-15 15:07:14 +01:00
grafana-delivery-bot[bot]
e268568add [v11.0.x] Chore: Define promlib depguard rules (#86140)
Chore: Define promlib depguard rules (#85082)

* define promlib depguard rules

* add comment

* test: break linting on purpose

* fix linting

* simple change to trigger backend linting/build in CI pipeline

(cherry picked from commit 92f5a0305c)

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2024-04-15 15:06:58 +01:00
Ashley Harrison
3a4993ffde [v11.0.x] docs: updates to stat panel documentation (#86151)
docs: updates to stat panel documentation (#84814)

* docs: updates to stat panel documentation

* Apply suggestions from code review

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

* Made formatting and wording edit

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
(cherry picked from commit 34195ba854)

Co-authored-by: Marie Cruz <mdcruz@users.noreply.github.com>
2024-04-15 10:06:18 -04:00
grafana-delivery-bot[bot]
2eea316155 [v11.0.x] docs: update text panel documentation (#86138)
docs: update text panel documentation (#84884)

* docs: update text panel

* Apply suggestions from code review

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
(cherry picked from commit 44ae127a6e)

Co-authored-by: Marie Cruz <mdcruz@users.noreply.github.com>
2024-04-15 14:54:11 +01:00
grafana-delivery-bot[bot]
0fe31d86fc [v11.0.x] Cloud migrations: create endpoint to create an access token (#86137)
Cloud migrations: create endpoint to create an access token (#84690)

* fix merge conflicts

* make token expiration configurable

(cherry picked from commit a2e21eac8c)

Co-authored-by: Bruno <brunotj2015@hotmail.com>
2024-04-15 14:53:53 +01:00
grafana-delivery-bot[bot]
16f1b9d4f0 [v11.0.x] docs: update status history panel (#86139)
docs: update status history panel (#84939)

* docs: updates to status history panel documentation

* docs: updates to status history panel documentation

* Apply suggestions from code review

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

* fix: linting issues

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
(cherry picked from commit 15dca45514)

Co-authored-by: Marie Cruz <mdcruz@users.noreply.github.com>
2024-04-15 09:52:47 -04:00
grafana-delivery-bot[bot]
d98e296efb [v11.0.x] K8s: skip invalid items in GetList when not invoked as part of SendInitialEvents (#86135)
K8s: skip invalid items in GetList when not invoked as part of SendInitialEvents (#85050)

(cherry picked from commit e237b89fe7)

Co-authored-by: Charandas <charandas@users.noreply.github.com>
2024-04-15 14:41:24 +01:00
grafana-delivery-bot[bot]
b5adee8f92 [v11.0.x] Plugins: Factory for instantiating core plugin (#86134)
Plugins: Factory for instantiating core plugin (#85047)

(cherry picked from commit 8f12fb94f9)

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2024-04-15 14:41:05 +01:00
Ashley Harrison
20d6961030 [v11.0.x] Chore: Bump golangci-lint v1.57.1 (#86131)
Chore: Bump golangci-lint v1.57.1 (#84998)

* bump golangci-lint v1.57.1

* update setting

* remove goconst

* fix linting issues

* prettier

* fix G601

* go mod tidy
go work sync

(cherry picked from commit 6137c4e0a6)

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2024-04-15 14:40:35 +01:00
grafana-delivery-bot[bot]
aaf233faac [v11.0.x] Server: Fix 'server' subcommand double-registration (#86126)
Server: Fix 'server' subcommand double-registration (#86083)

fix 'server' subcommand double-registration

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
(cherry picked from commit 44adfea049)

Co-authored-by: Dave Henderson <dave.henderson@grafana.com>
2024-04-15 09:35:33 -04:00
grafana-delivery-bot[bot]
9caf8f6fff [v11.0.x] k8s/query+ds: catch query errors, fix datasourceProvider and expose prometheus (#86119)
k8s/query+ds: catch query errors, fix datasourceProvider and expose prometheus (#85071)

(cherry picked from commit e6fa367d02)

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2024-04-15 13:59:42 +01:00
grafana-delivery-bot[bot]
524c590462 [v11.0.x] OAuth: Make sub claim required for generic oauth behind feature toggle (#86118)
OAuth: Make sub claim required for generic oauth behind feature toggle (#85065)

* Add feature toggle for sub claims requirement

* OAuth: require valid auth id

* Fix feature toggle description

(cherry picked from commit 2f3a01f79f)

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2024-04-15 13:59:05 +01:00
grafana-delivery-bot[bot]
b49a40d319 [v11.0.x] Grafana: define the api for the grafana cloudmigration api (not the csm api) (#86115)
Grafana: define the api for the grafana cloudmigration api (not the csm api) (#84430)

* Add cloud migration endpoints

* Built auth into creating a migration.

* Added more detail to the migration result model

* goimports

* Update pkg/services/cloudmigration/api/api.go

Co-authored-by: lean.dev <34773040+leandro-deveikis@users.noreply.github.com>

* Update pkg/services/cloudmigration/api/api.go

Co-authored-by: lean.dev <34773040+leandro-deveikis@users.noreply.github.com>

---------

Co-authored-by: Leonard Gram <leo@xlson.com>
Co-authored-by: lean.dev <34773040+leandro-deveikis@users.noreply.github.com>
(cherry picked from commit e2f155f9f7)

Co-authored-by: idafurjes <36131195+idafurjes@users.noreply.github.com>
2024-04-15 13:58:39 +01:00
grafana-delivery-bot[bot]
02788457c6 [v11.0.x] alerting: get started tutorial (#86114)
alerting: get started tutorial (#84669)

* first commit

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

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

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

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

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

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

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

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

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

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

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

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

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

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

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

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

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

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

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

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

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

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

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

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

* second commit

* updated headings

* Update alerting-get-started.md

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

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

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

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

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

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

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

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

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

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

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

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

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

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

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

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

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

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

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

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

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

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

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

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

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

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

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

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

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

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

* third commit

* Update alerting-get-started.md

* Update alerting-get-started.md

* Update alerting-get-started.md

* edited contact point - summary

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

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

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

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

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

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

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

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

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

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

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

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

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

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

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

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

* elaboration, formatting

* minor changes

* pretty

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
(cherry picked from commit 4be5eaa14f)

Co-authored-by: tonypowa <45235678+tonypowa@users.noreply.github.com>
2024-04-15 13:58:11 +01:00
grafana-delivery-bot[bot]
a9042a3eff [v11.0.x] Fix InteractiveTable: React, less hooks rendered than previous render (#86113)
Fix InteractiveTable: React, less hooks rendered than previous render (#85043)

fix: react-hooks error if data length switches from above or below pageSize
(cherry picked from commit d7f739c8e5)

Co-authored-by: Adam Bannach <113929542+abannachGrafana@users.noreply.github.com>
2024-04-15 13:57:49 +01:00
grafana-delivery-bot[bot]
c1cdf1d334 [v11.0.x] Add jest-watch-typeahead and use for better filtering of jest tests (#86112)
* Add jest-watch-typeahead dev dependency

https://www.npmjs.com/package/jest-watch-typeahead

* Add jest watch plugins for better experience filtering tests

---------

Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
2024-04-15 13:57:26 +01:00
grafana-delivery-bot[bot]
7525dc1d7a [v11.0.x] I18n: Download translations from Crowdin (#86116)
I18n: Download translations from Crowdin (#85006)

(cherry picked from commit 82b82675f7)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-15 13:57:07 +01:00
grafana-delivery-bot[bot]
6a14aeae60 [v11.0.x] Chore: Vendor wire into pkg/build (#86110)
Chore: Vendor wire into pkg/build (#84637)

* vendor latest wire into pkg/build

* use vendored wire in builds

* fix wire import path

* remove wire from bingo

* also support google/wire import

* make prettier happy

* change package in tess

* add debug walk for drone

* add wire_gen in tests

* remove debug walk

* restore imports

(cherry picked from commit 4d4c06b480)

Co-authored-by: Serge Zaitsev <serge.zaitsev@grafana.com>
2024-04-15 13:56:44 +01:00
grafana-delivery-bot[bot]
6d0e1bee70 [v11.0.x] samlsettings: api integration (#86109)
samlsettings: api integration (#84300)

* add strategy and tests

* use settings provider service and remove multiple providers strategy

* Move SAML strategy to ssosettings service

* Update codeowners file

* reload from settings provider

* add saml as configurable provider

* Add new SAML strategy

* rename old saml settings interface

* update saml string references

* use OSS license

* validate saml provider depends on license for List

* add tests for list rendering including saml

* change the licensing validation to service init

* replace service struct for provider

(cherry picked from commit fc205db466)

Co-authored-by: linoman <2051016+linoman@users.noreply.github.com>
2024-04-15 13:55:59 +01:00
grafana-delivery-bot[bot]
d1a40dea5b [v11.0.x] Fix Canvas crashing in scenes dashboard (#86125)
Fix Canvas crashing in scenes dashboard (#86117)

(cherry picked from commit 6fb13842a5)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2024-04-15 14:31:44 +02:00
grafana-delivery-bot[bot]
de27d86e7b [v11.0.x] Docs: add data source type play link; cleanup (#86105)
Co-authored-by: David Allen <david.allen@grafana.com>
2024-04-15 10:53:55 +01:00
grafana-delivery-bot[bot]
bca7aea61c [v11.0.x] DashboardScene: Fixes issue moving between dashboards (#86096)
DashboardScene: Fixes issue moving between dashboards (#86093)

(cherry picked from commit 814ffdbc2b)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-04-15 10:09:54 +02:00
grafana-delivery-bot[bot]
56ea839a82 [v11.0.x] Alerting: Fix evaluation metrics to not count retries (#86059)
Alerting: Fix evaluation metrics to not count retries (#85873)

* Change evaluation metrics to only count once per eval, and add new metrics.

* Cosmetic: Move eval total Inc() to orginal place.

(cherry picked from commit ad7f804255)

Co-authored-by: Steve Simpson <steve.simpson@grafana.com>
2024-04-12 19:49:57 +02:00
Andreas Christou
2c5f9c83f0 [v11.0.x] plugins: update to latest go plugin sdk version (v0.222.0) (#85963)
plugins: update to latest go plugin sdk version (v0.222.0) (#85943)

plugins: update to latest go plugink sdk (v0.222.0)
(cherry picked from commit 050105e70a)

# Conflicts:
#	go.mod
#	go.sum
#	pkg/apiserver/go.mod
#	pkg/apiserver/go.sum
#	pkg/promlib/go.mod
#	pkg/promlib/go.sum

Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
2024-04-12 14:52:45 +02:00
grafana-delivery-bot[bot]
8eef690da0 [v11.0.x] TimeSeries: Fix series rendering with data links and extra fields (#86044)
TimeSeries: Fix series rendering with data links and extra fields (#86007)

(cherry picked from commit 2bedbcf344)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2024-04-12 07:50:27 -05:00
grafana-delivery-bot[bot]
173f10c439 [v11.0.x] EmptyState: make "message" a required prop (#86046)
EmptyState: make "message" a required prop (#86029)

* make "message" a required prop on EmptyState

* run i18n:extract

(cherry picked from commit b3401c802c)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-04-12 14:30:03 +02:00
grafana-delivery-bot[bot]
f203264f42 [v11.0.x] Scenes: Persist changes made in edit mode to save model (#86026)
Scenes: Persist changes made in edit mode to save model (#84320)

(cherry picked from commit 9efbf142a8)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2024-04-12 11:50:24 +02:00
grafana-delivery-bot[bot]
d2c6cc85b4 [v11.0.x] Docs: add mysql data source Play link (#86020)
Co-authored-by: David Allen <david.allen@grafana.com>
2024-04-12 10:36:07 +01:00
grafana-delivery-bot[bot]
6e5efe2f6d [v11.0.x] Docs: add graphite data source Play link (#86018)
Co-authored-by: David Allen <david.allen@grafana.com>
2024-04-12 10:35:31 +01:00
grafana-delivery-bot[bot]
752a81d230 [v11.0.x] Docs: fix duplicate headings (#85973)
Docs: fix duplicate headings (#85903)

Added suffix to one Placement heading

(cherry picked from commit 2798acd667)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-11 14:18:46 -04:00
grafana-delivery-bot[bot]
3c3127fec5 [v11.0.x] Docs: add bar/pie visualization Play link (#85990)
Docs: add bar/pie visualization Play link (#85898)

* Update index.md

* pie chart equivalent commit

* Updated titles to match dashboard title

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
(cherry picked from commit 623d4d580e)

Co-authored-by: David Allen <david.allen@grafana.com>
2024-04-11 14:09:40 -04:00
grafana-delivery-bot[bot]
0d61b14c02 [v11.0.x] Docs: add gague visualization Play link (#85986)
Docs: add gague visualization Play link (#85897)

* Docs: add gague visualization Play link

* Fixed typo

* Updated title to match dashboard title

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
(cherry picked from commit 17a8de68e6)

Co-authored-by: David Allen <david.allen@grafana.com>
2024-04-11 14:08:50 -04:00
Isabel Matwawana
9c5d02a932 [v11.0.x] Docs: add stat visualization Play link (#85979)
Docs: add stat visualization Play link (#85895)

(cherry picked from commit cdfd092d11)

Co-authored-by: David Allen <david.allen@grafana.com>
2024-04-11 14:02:31 -04:00
grafana-delivery-bot[bot]
8c9499c1b8 [v11.0.x] Docs: add Table visualization Play link (#85977)
Docs: add Table visualization Play link (#85896)

Docs: add stat visualization Play link
(cherry picked from commit 83438bd231)

Co-authored-by: David Allen <david.allen@grafana.com>
2024-04-11 13:45:31 -04:00
grafana-delivery-bot[bot]
f9f34aeb51 [v11.0.x] Docs: add time series visualization Play link (#85994)
Docs: add time series visualization Play link (#85885)

* docs/play shortcode: time series visualization

* Ran prettier

* Updated title to match title of dashboard in Grafana Play

---------

Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
(cherry picked from commit 765f20c555)

Co-authored-by: David Allen <david.allen@grafana.com>
2024-04-11 13:38:08 -04:00
grafana-delivery-bot[bot]
d4d69cfd4e [v11.0.x] Google Cloud Monitor: Fix interface conversion for incorrect type in cloudMonitoringProm.run (#85928)
Google Cloud Monitor: Fix interface conversion for incorrect type in `cloudMonitoringProm.run` (#85811)

(cherry picked from commit 0ec8ccbf66)

Co-authored-by: Adam Yeats <16296989+adamyeats@users.noreply.github.com>
2024-04-11 17:52:28 +02:00
grafana-delivery-bot[bot]
b581a71ee7 [v11.0.x] datatrails: fix: clear undefined query params on history step change (#85955)
datatrails: fix: clear undefined query params on history step change (#85607)

* fix: clear undefined query params on history step change

* Minor tweak

* fix: resolve CodeQL check: Client-side cross-site scripting

---------

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

Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
2024-04-11 14:28:14 +00:00
Darren Janeczek
a39501f9d5 chore: update datatrails feature flag and enable (#85508) (#85822)
* chore: update datatrails feature flag and enable

* fix: rename `datatrails` feature flag to `exploreMetrics`

(cherry picked from commit 66c0fd4dcc)
2024-04-11 14:38:14 +01:00
grafana-delivery-bot[bot]
d46663584f [v11.0.x] Revert "Docs: Clarify open source documentation (#77077)" (#85946)
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-04-11 13:56:38 +01:00
grafana-delivery-bot[bot]
31cc5a9634 [v11.0.x] Dashboard: Allow auto refresh option when saving a dashboard (#85922) 2024-04-11 11:50:25 +02:00
grafana-delivery-bot[bot]
0ef11f0c23 [v11.0.x] datatrails: ensure breakdown yaxis sync is maintained when layout changes (#85906)
datatrails: ensure breakdown yaxis sync is maintained when layout changes (#85380)

fix: ensure breakdown yaxis sync is maintained when layout changes
(cherry picked from commit 2e1e45bbb1)

Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
2024-04-10 23:28:44 +02:00
grafana-delivery-bot[bot]
a81a41a87d [v11.0.x] DashboardScene: prevent panel hovel header crop with scenes (#85899)
DashboardScene: prevent panel hovel header crop with scenes (#85869)

* add behaviour that adjusts hoverHeaderOffset

* clean up behaviour logic

* optimise and extract behaviour to separate file

* fix hoverHeaderOffsetBehavior unsubscribe

* update to latest scenes version

* Fix PanelOptionsTest

* fix: test value for adhoc filter url param

* Fix transformation tab tests

* bump scenes version

* Revert "Fix transformation tab tests"

This reverts commit 3ec9f5b226.

---------

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: Darren Janeczek <darren.janeczek@grafana.com>
Co-authored-by: oscarkilhed <oscar.kilhed@grafana.com>
(cherry picked from commit 79631bdd15)

Co-authored-by: Sergej-Vlasov <37613182+Sergej-Vlasov@users.noreply.github.com>
2024-04-10 21:13:17 +03:00
grafana-delivery-bot[bot]
b88806719d [v11.0.x] Chore: Fix position for RolePickerMenu being out of bounds (#85892)
Chore: Fix position for RolePickerMenu being out of bounds (#85604)

* Fix position for RolePickerMenu being out of bounds

* adjust the offset of the role picker menu

(cherry picked from commit 85e66d8edb)

Co-authored-by: linoman <2051016+linoman@users.noreply.github.com>
2024-04-10 18:08:58 +02:00
grafana-delivery-bot[bot]
e5d4ddf59b [v11.0.x] DashboardScene: Enrich requests correctly in edit mode (#85890)
DashboardScene: Enrich requests correctly in edit mode (#85883)

(cherry picked from commit 615fa73f23)

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2024-04-10 18:04:12 +02:00
grafana-delivery-bot[bot]
0b14c95dd8 [v11.0.x] InfluxDB: Fix panic when reading concurrency count during influxql health check (#85877)
InfluxDB: Fix panic when reading concurrency count during influxql health check (#85771)

fix panic when reading concurrency count during influxql health check

(cherry picked from commit 96f49bfaee)

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2024-04-10 17:46:42 +02:00
grafana-delivery-bot[bot]
f8f908ead8 [v11.0.x] Docs: add unit scaling clarification (#85872)
Docs: add unit scaling clarification (#85830)

* Added unit scaling information

* Edited

(cherry picked from commit d666b92317)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-10 09:18:04 -04:00
Ashley Harrison
af2583c889 ConfirmModal: Pressing enter in confirmation input now triggers prima… (#85841)
* ConfirmModal: Pressing enter in confirmation input now triggers primary action (#85812)

wrap confirm modal in a form

* add missing imports
2024-04-10 10:31:30 +01:00
grafana-delivery-bot[bot]
2599f9985f [v11.0.x] Dashboard scenes: Fix export tab not including variables when exporting externally (#85824)
Dashboard scenes: Fix export tab not including variables when exporting externally (#85807)

Fix export tab not including variables when exporting externally

(cherry picked from commit 96abe65fe4)

Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
2024-04-10 08:25:36 +02:00
grafana-delivery-bot[bot]
8f0cae0111 [v11.0.x] Docs: Fix wrong word for tempo example config (#85818)
Co-authored-by: wissy <10373091+wissyhost@users.noreply.github.com>
Fix wrong word for tempo example config (#85046)
2024-04-09 22:41:24 +01:00
grafana-delivery-bot[bot]
4f6422f721 [v11.0.x] Check source panel for updates in Dashboard DS panel (#85819)
Check source panel for updates in Dashboard DS panel (#85655)

* Check source panel for updates in Dashboard DS panel

* Test

* made it better

* cleanup

* cleanup and tests

* fix failing tests

* find the correct dashboard query

* revert mixed check in dashboard behaviour

* Dashboard data source: Return error when used in mixed data source (#85765)

* MixedDS: Inform about dashboard ds not being supported

* lint fix

---------

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
(cherry picked from commit b6249d6a50)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2024-04-09 21:18:56 +03:00
grafana-delivery-bot[bot]
6665121a4a [v11.0.x] DashboardScene: Detect changes when editing a panel (#85813)
DashboardScene: Detect changes when editing a panel (#85708)

(cherry picked from commit 27bc0c19ab)

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
2024-04-09 19:06:57 +03:00
grafana-delivery-bot[bot]
2309351fab [v11.0.x] Docs: add updated youtube link (#85803)
Docs: add updated youtube link (#85801)

Updated youtube link

(cherry picked from commit 1b1450e593)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-09 09:35:04 -04:00
grafana-delivery-bot[bot]
6e2e733810 [v11.0.x] Chore: Update RPM docs to include beta release references (#85793)
Chore: Update RPM docs to include beta release references (#85753)

* Update RPM docs to include beta release references

* andreas/update-installation-docs/ run lint

* Don't number lists

---------

Co-authored-by: jev forsberg <jev.forsberg@grafana.com>
(cherry picked from commit 3420e942ac)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2024-04-09 12:31:53 +01:00
grafana-delivery-bot[bot]
97d02174ac [v11.0.x] Dashboards: Add isViewing to mustKeepProps (#85786)
Dashboards: Add isViewing to mustKeepProps (#85748)

(cherry picked from commit 02096c4e22)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2024-04-09 13:50:40 +03:00
grafana-delivery-bot[bot]
d56f75eb5c [v11.0.x] Time Zones: Fix relative time when using UTC timezone (#85779)
Time Zones: Fix relative time when using UTC timezone (#85637)

add UTC case to e2e test + let UTC pass through to moment.tz

(cherry picked from commit 4b5b738646)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-04-09 12:12:32 +03:00
grafana-delivery-bot[bot]
ee8bb9e3d4 [v11.0.x] Grafana E2E: Add deprecation notice and update docs (#85778)
Grafana E2E: Add deprecation notice and update docs (#85619)

* add deprecation notice

* update docs

* Update packages/grafana-e2e/README.md

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

---------

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

Co-authored-by: Erik Sundell <erik.sundell87@gmail.com>
2024-04-09 11:02:03 +02:00
grafana-delivery-bot[bot]
3ca8a7ccc2 [v11.0.x] DataTrails: Do not create a new VizPanel every activation (#85774) 2024-04-09 10:58:15 +02:00
grafana-delivery-bot[bot]
fcabedd406 [v11.0.x] Move all "add" actions into a dropdown (#85777)
Dashboard: Move "add" actions into a dropdown (#85776)

* Move all add actions into a dropdown

* Hide alerts rules when editing

* Hide fav icon when editing

(cherry picked from commit df72cfd38e)

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
2024-04-09 08:38:42 +00:00
grafana-delivery-bot[bot]
9d01858763 [v11.0.x] PostgreSQL: Fix the verify-ca mode (#85775)
PostgreSQL: Fix the verify-ca mode (#85530)

postgres: fix the verify-ca problem
(cherry picked from commit 8a15ed42ae)

Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
2024-04-09 09:28:56 +02:00
grafana-delivery-bot[bot]
7ac14ff217 [v11.0.x] Update teamHttpHeaders casing (#85769)
Update teamHttpHeaders casing (#85767)

teamHTTPHeaders does not work.
teamHttpHeaders is the correct syntax for the feature toggle.

(cherry picked from commit 9d7e758e04)

Co-authored-by: Dai Nguyen <88277570+ej25a@users.noreply.github.com>
2024-04-08 22:27:56 +01:00
grafana-delivery-bot[bot]
d57a37fa33 [v11.0.x] Docs: g11 preview whats new fixes (#85763)
Docs: g11 preview whats new fixes (#85759)

* Made style fixes to intro

* Updated upgrade guide menu title

* Commented Explore metrics docs link back in

(cherry picked from commit 8014665ab5)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-08 15:14:07 -04:00
grafana-delivery-bot[bot]
8fd80d6fbd [v11.0.x] PR to document Explore Metrics (previously datatrails) (#85761)
PR to document Explore Metrics (previously datatrails) (#85212)

* text dump

* initial edits

* more edits

* added more info, made edits

* first draft

* removed some commented out content

* final edits

* made requested changes

* feature name change

* missed a metrics explore - fixed

* ran prettier

---------

Co-authored-by: lwandz13 <larissa.wandzura@grafana.com>
(cherry picked from commit 3721682a02)

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>
2024-04-08 13:29:36 -05:00
grafana-delivery-bot[bot]
55af0f0006 [v11.0.x] DashboardScene: Fixes issue with mobile responsive layout due to repeated grid item class (#85741)
DashboardScene: Fixes issue with mobile responsive layout due to repeated grid item class (#85731)

(cherry picked from commit edf36d9ec0)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-04-08 17:18:13 +02:00
grafana-delivery-bot[bot]
f4f9c24c0d [v11.0.x] PublicDashboards: Footer fix for scenes (#85740)
PublicDashboards: Footer fix for scenes (#85684)

(cherry picked from commit d0312af571)

Co-authored-by: Juan Cabanas <juan.cabanas@grafana.com>
2024-04-08 18:15:12 +03:00
grafana-delivery-bot[bot]
35c8bc7988 [v11.0.x] Docs: add youtube links to g11 preview what's new (#85742)
Docs: add youtube links to g11 preview what's new (#85738)

* Added youtube links

* Commented scenes video out

(cherry picked from commit fe3b6d3c5e)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-08 11:14:59 -04:00
Isabel Matwawana
52b16308f7 [v11.0.x] Docs: Re-order features and update intro in Grafana 11.0-preview What's new (#85739)
Docs: Re-order features and update intro in Grafana 11.0-preview What's new (#85702)

* Re-order features and update intro in Grafana 11.0-preview What's new

* Removed title casing

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
(cherry picked from commit 3865b8c980)

Co-authored-by: Mitch Seaman <mjseaman@users.noreply.github.com>
2024-04-08 10:51:00 -04:00
grafana-delivery-bot[bot]
745ae03895 Release: Bump version to 11.0.0 (#85729)
"Release: Updated versions in package to 11.0.0"

Co-authored-by: grafana-delivery-bot[bot] <132647405+grafana-delivery-bot[bot]@users.noreply.github.com>
2024-04-08 14:33:03 +02:00
grafana-delivery-bot[bot]
6d23466d5f [v11.0.x] Dashboards: Fix issue with changing panel JSON from edit view (#85728)
Dashboards: Fix issue with changing panel JSON from edit view (#85717)

(cherry picked from commit 1b376546e2)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2024-04-08 15:06:57 +03:00
Ivan Ortega Alba
48d499da74 [v11.0.x] Detect folder changes when saving a dashboard (#85727)
Detect folder changes when saving a dashboard (#85378)

(cherry picked from commit d983629650)
2024-04-08 15:00:50 +03:00
grafana-delivery-bot[bot]
8f839fc894 [v11.0.x] Chore: update go version used in bump-version so it works with the new format (#85724)
Chore: update go version used in `bump-version` so it works with the new format (#85111)

update go version used in bump-version

(cherry picked from commit 4974a89316)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-04-08 14:51:12 +03:00
grafana-delivery-bot[bot]
2201a95973 [v11.0.x] Changelog: Updated changelog for 11.0.0-preview (#85719)
* Changelog: Updated changelog for 11.0.0-preview (#85718)

* Changelog: Updated changelog for 11.0.0-preview

* changelog: fix style issues

---------

Co-authored-by: grafanabot <bot@grafana.com>
Co-authored-by: Matias Chomicki <matyax@gmail.com>
(cherry picked from commit 7078347d0f)

* Update

---------

Co-authored-by: grafana-delivery-bot[bot] <132647405+grafana-delivery-bot[bot]@users.noreply.github.com>
Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2024-04-08 12:31:47 +01:00
Ivan Ortega Alba
827d251220 [v11.0.x] Add auto to refresh picker (#85722)
Add `auto` to refresh picker (#85584)

(cherry picked from commit 9d44c8e8cf)

Co-authored-by: Bogdan Matei <bogdan.matei@grafana.com>
2024-04-08 14:30:45 +03:00
Misi
e2e9434cb4 [v11.0.x] Auth: Convert SetDefaultOrgHook to PostLoginHook (#85664)
Auth: Convert SetDefaultOrgHook to PostLoginHook (#85649)

* Convert SetDefaultOrgHook to PostLoginHook

(cherry picked from commit 8796d2d307)
2024-04-08 11:38:32 +03:00
Dominik Prokop
7bcd176e88 [v11.0.x] Bump scenes to v4.5.4 (#85706)
Bump scenes to v4.5.4 (#85681)

bump scenes to v4.5.4

(cherry picked from commit 432936cdcf)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2024-04-08 10:30:15 +03:00
grafana-delivery-bot[bot]
f83784b17d [v11.0.x] Docs: What’s new & Upgrade guide & Breaking changes v11.0-preview (#85700)
* Docs: What’s new & Upgrade guide & Breaking changes v11.0-preview (#84603)

* Updated index pages and added 11.0 breaking changes, upgrade guide, and what's new pages

* Removed references to 10.4

* Added draft breaking changes

* docs: grafana11-upgrade: postgres (#84671)

* docs: grafana11-upgrade: postgres

* fix typos

Co-authored-by: Sriram <153843+yesoreyeram@users.noreply.github.com>

* improved text

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

* improved text

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

* improved text

---------

Co-authored-by: Sriram <153843+yesoreyeram@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

* Added internal note

* Added what's new items

* Added more breaking changes'

* Copy edits

* Revert "docs: grafana11-upgrade: postgres" (#85580)

Revert "docs: grafana11-upgrade: postgres (#84671)"

This reverts commit d766d734c2.

* Removed internal link and moved PR link

* Added new entries

* Made fixes

* Updated name

* Copy edits

* Fixed links and minor copy edits

* Removed link to Cloud What's new

* Added OSS what's new link

* Fixed spelling of GitHub

* Added Explore Logs and updated Explore Metrics

---------

Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
Co-authored-by: Sriram <153843+yesoreyeram@users.noreply.github.com>
(cherry picked from commit fb1afa0c34)

* Minor wording fixes

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-07 23:18:59 -04:00
grafana-delivery-bot[bot]
955d096b26 [v11.0.x] Annotations: Fix annotation title (#85691)
Annotations: Fix annotation title (#85614)

(cherry picked from commit 5f0ca1429b)

Co-authored-by: Adela Almasan <88068998+adela-almasan@users.noreply.github.com>
2024-04-05 18:40:24 -05:00
grafana-delivery-bot[bot]
5d14e5e1c7 [v11.0.x] docs: add missing viz types to index (#85675)
docs: add missing viz types to index (#85400)

* docs: add missing viz types to index

* prettier

* Update _index.md

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

* fix merge mistake

* fix cloud links

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
(cherry picked from commit cd05568459)

Co-authored-by: David Harris <david.harris@grafana.com>
2024-04-05 18:08:02 +01:00
grafana-delivery-bot[bot]
cc7a4cc96a [v11.0.x] Scenes: Add PDF tab in share modal (#85665)
Scenes: Add PDF tab in share modal  (#85541)

(cherry picked from commit 8e8bfae761)

Co-authored-by: Juan Cabanas <juan.cabanas@grafana.com>
2024-04-05 17:47:44 +03:00
grafana-delivery-bot[bot]
bb5e1e0c5b [v11.0.x] Loki: Remove API restrictions on resource calls (#85201)
Loki: Remove API restrictions on resource calls (#85191)

Loki: Remove API restrictions
(cherry picked from commit c80b31a0d4)

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2024-04-05 16:00:20 +02:00
grafana-delivery-bot[bot]
49e74d3237 [v11.0.x] Update CODEOWNERS file for Explore docs (#85657)
Update CODEOWNERS file for Explore docs (#85656)

Update CODEOWNERS

(cherry picked from commit d8407c78db)

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>
2024-04-05 16:47:12 +03:00
grafana-delivery-bot[bot]
576a7e4f61 [v11.0.x] DashboardScene: Fixes panel edit issue with clearing title not resulting in hover header mode (#85633)
DashboardScene: Fixes panel edit issue with clearing title not resulting in hover header mode  (#85621)

* PanelEditor: Update hoverHeader state when changing panel title

* refactor test and remove duplicate

(cherry picked from commit 49a3a95dd1)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-04-05 13:06:20 +02:00
grafana-delivery-bot[bot]
657a6c2288 [v11.0.x] Applinks: Adds grafana-lokiexplore-app to Explore -> Logs section (#85216)
Applinks: Adds `grafana-lokiexplore-app` to `Explore -> Logs` section (#85200)

(cherry picked from commit e284812796)

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2024-04-05 13:00:50 +02:00
Giuseppe Guerra
987d674bf4 [v11.0.x] Angular deprecation: Prefer local "angularDetected" value to the remote one (#85632)
Angular deprecation: Prefer local "angularDetected" value to the remote one (#85571)

* Angular deprecation: Prefer local value to remote

* Update tests

(cherry picked from commit c033a15aaa)
2024-04-05 11:47:19 +02:00
grafana-delivery-bot[bot]
8e74b767b8 [v11.0.x] Scenes: Add modal ref to custom tabs (#85623)
Scenes: Add modal ref to custom tabs (#85602)

(cherry picked from commit 3ef23a5e3e)

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
2024-04-05 09:56:34 +02:00
grafana-delivery-bot[bot]
9fb7420ed2 [v11.0.x] Docs: add xychart to panel config docs (#85616)
Docs: add xychart to panel config docs (#85615)

* Added xy chart to panel config docs

* Fixed typo

(cherry picked from commit 6fb1da42bf)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-04 17:15:06 -04:00
grafana-delivery-bot[bot]
0e4d9fd162 [v11.0.x] Docs: Add xy chart docs (#85612)
Docs: Add xy chart docs (#81980)

* Added xy chart page and added link to main visualizations page

* Added options

* Updated Axis options section and added doc ref links

* Added new shared files for tooltip and legend options and added them to xy chart

* Added Other visualization options section, docs refs, and updated Cloud links

* Fixed links

* Added option descriptions, hero image, content notes, and removed placeholder heading

* Apply suggestions from code review

* Added collapsible sections for series mapping modes

* Added Cloud links and fixed link text

* Added notes

* Updated series mapping descriptions

* Updated Auto series mapping options

* Updated manual section and restructured page

* Copy edits

* copy edits

* Added description

* Clarifying supported data info

* Copy edits from review

* Fixed typo

* Copy edits

* Fixed links

(cherry picked from commit 0d7834c7f7)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-04 16:33:43 -04:00
grafana-delivery-bot[bot]
b30c78961b [v11.0.x] Docs: Fix canvas G11 updates (#85609)
Docs: Fix canvas G11 updates (#85024)

* Removed features not yet completed

* additional doc updates

* Fixed codespell error

* Fixed video embed link

* Fixed punctuation

* updated to do note

---------

Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
(cherry picked from commit 8957fd2b3b)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-04 14:04:58 -04:00
grafana-delivery-bot[bot]
5c138c8196 [v11.0.x] Dashboards: Removes descending z-index assignment for grid items (#85596)
Dashboards: Removes descending z-index assignment for grid items (#85563)

(cherry picked from commit b5c33c540c)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2024-04-04 17:10:05 +03:00
grafana-delivery-bot[bot]
b7f1fa0ff5 [v11.0.x] Scenes: Fix issue where annotations with same name wouldn't render properly (#85576)
Scenes: Fix issue where annotations with same name wouldn't render properly (#85489)

Closes #85457

(cherry picked from commit 9537de26a5)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2024-04-04 15:01:57 +01:00
grafana-delivery-bot[bot]
46088003a4 [v11.0.x] Chore: Fix trailing spaces in prometheus min step (#85579)
Chore: Fix trailing spaces in prometheus min step (#85507)

Fix trailing spaces in prometheus min step

(cherry picked from commit 4e60f44d98)

Co-authored-by: Eunice Kim <kimeuni@amazon.com>
2024-04-04 14:31:50 +03:00
Marcus Efraimsson
2be8e4334b [v11.0.x] Chore: Upgrade grafana-plugin-sdk-go to v0.220.0 (#85575)
Chore: Upgrade grafana-plugin-sdk-go (#85562)

(cherry picked from commit bdc492b96c)
2024-04-04 10:03:20 +00:00
Marcus Efraimsson
324c37ff22 [v11.0.x] Update plugin SDK to v0.219.0 (#85573)
Update plugin SDK to v0.219.0 (#85438)

(cherry picked from commit d2ca95d304)

Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>
2024-04-04 12:41:36 +03:00
grafana-delivery-bot[bot]
da4ae285b4 [v11.0.x] Fix sending maxDataPoints as string (#85572)
Fix sending `maxDataPoints` as string (#85561)

* make sure maxDataPoints is a number

* add migration for maxDataPoints

* remove migration

(cherry picked from commit 9c0f9f6ba4)

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2024-04-04 12:27:47 +03:00
grafana-delivery-bot[bot]
f756620df0 [v11.0.x] Datatrails: hide empty breakdown panels, improve loading status (#85505)
Datatrails: hide empty breakdown panels, improve loading status (#85028)

feat: hide empty breakdown panels, improve loading status
(cherry picked from commit 7c03cc83c6)

Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
2024-04-03 13:27:41 -04:00
grafana-delivery-bot[bot]
a72fbc6eae [v11.0.x] Docs: add YouTube video link and description (#85538)
Docs: add YouTube video link and description (#85484)

* Update index.md Adding YouTube video link and description

Added a short description about the video and added the video to the page.

* Update docs/sources/panels-visualizations/visualizations/logs/index.md

Some edits went in. All nice :)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

* Removed repetition

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
(cherry picked from commit f6a94837c5)

Co-authored-by: Señor Performo - Leandro Melendez <54183040+srperf@users.noreply.github.com>
2024-04-03 11:22:57 -04:00
grafana-delivery-bot[bot]
78955c8fd4 [v11.0.x] datatrails: do not show the "le" label (#85504)
datatrails: do not show the "le" label (#85114)

fix: do not show the "le" label
(cherry picked from commit 5d477d711a)

Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
2024-04-03 11:17:20 -04:00
grafana-delivery-bot[bot]
94778c69a3 [v11.0.x] datatrails: throttle the resetting of yaxis (#85503)
datatrails: throttle the resetting of yaxis (#85117)

fix: throttle the resetting of yaxis
(cherry picked from commit 2e06677240)

Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
2024-04-03 11:16:27 -04:00
grafana-delivery-bot[bot]
343a0d5fe2 [v11.0.x] datatrails: hide "add to filter" button when there is no label value to add to filter (#85502)
datatrails: hide "add to filter" button when there is no label value to add to filter (#85270)

fix: hide add to filters button when it won't work
(cherry picked from commit 2ecc1bb646)

Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
2024-04-03 11:15:03 -04:00
grafana-delivery-bot[bot]
159719ba2a [v11.0.x] Scenes: Fix issue where unsaved changes prompt is shown when quickly adding panel to new dashboard (#85539)
Scenes: Fix issue where unsaved changes prompt is shown when quickly adding panel to new dashboard (#85518)

Closes #84577

(cherry picked from commit 85127464a3)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2024-04-03 17:56:34 +03:00
Ivan Ortega Alba
e04bb072b4 [v11.0.x] DashboardScene: Detect changes when live is enabled from settings (#85528)
DashboardScene: Detect changes when live is enabled from settings (#85409)

* Adapt the code to the new live timer API

* Update scenes

(cherry picked from commit 89638238e5)
2024-04-03 17:30:14 +03:00
Ivan Ortega Alba
9c0edab224 [v11.0.x] Implement autofit panels in Dashboards (#85524)
DashboardScene: Implement autofit panels (#85221)

(cherry picked from commit eb3d088645)
2024-04-03 16:39:45 +03:00
grafana-delivery-bot[bot]
fce5a26144 [v11.0.x] RBAC: Fix access checks for interactions with RBAC roles in hosted Grafana (#85520)
RBAC: Fix access checks for interactions with RBAC roles in hosted Grafana (#85485)

* don't check global permissions for cloud instances

* linting

(cherry picked from commit beb15d938b)

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2024-04-03 14:16:50 +01:00
grafana-delivery-bot[bot]
6175887aa0 [v11.0.x] DashboardScene: Fix explore to dashboard flow (#85516)
DashboardScene: Fix explore to dashboard flow (#85140)

* DashboardScene: Fix explore to dashboard flow

* Tests

* Make sure dashboard is in edit mode when adding from explore

* Allow discarding changes when coming from explore

* Tests

(cherry picked from commit b4dc79401b)

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2024-04-03 13:09:06 +02:00
grafana-delivery-bot[bot]
ae73f31cf1 [v11.0.x] Revert "Postgres: Switch the datasource plugin from lib/pq to pgx (#8… (#85517)
Revert "Postgres: Switch the datasource plugin from lib/pq to pgx (#8… (#85509)

Revert "Postgres: Switch the datasource plugin from lib/pq to pgx (#83768)"

This reverts commit ecd6de826a.

(cherry picked from commit 8159e1db3a)

Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
2024-04-03 12:54:57 +02:00
grafana-delivery-bot[bot]
0c10923304 [v11.0.x] BrowseDashboards: Add subpath to URLs on Browse Dashboards page (#85354)
BrowseDashboards: Add subpath to URLs on Browse Dashboards page (#84992)

* BrowseDashboards: Add subpath to URLs on Browse Dashboards page

* comment

* use existing config

* comment

---------

Co-authored-by: joshhunt <josh@trtr.co>
(cherry picked from commit b039995a4e)

Co-authored-by: butkovv <52626407+butkovv@users.noreply.github.com>
2024-04-03 09:46:34 +00:00
grafana-delivery-bot[bot]
355fec625b [v11.0.x] datatrails: handle "single" layout when switching to "all" labels (#85375)
datatrails: handle "single" layout when switching to "all" labels (#85373)

* fix: handle "single" layout when switching to "all" labels

(cherry picked from commit 18f3c7188b)

Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
2024-04-03 02:03:00 +03:00
grafana-delivery-bot[bot]
2bd237e3ab [v11.0.x] datatrails: avoid double scrollbar with new viz tooltips (#85397)
datatrails: avoid double scrollbar with new viz tooltips (#85197)

fix: avoid double scrollbar
(cherry picked from commit f850b00a92)

Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
2024-04-02 18:52:03 -04:00
Oscar Kilhed
dbd68074d0 [v11.0.x] Bump scenes to 4.1.2 (#85479)
Bump scenes to 4.1.2 (#85470)

* Bump scenes to 4.1.2

* Fix tests after fixing the sorting in rows

---------

Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
(cherry picked from commit 9ba9cbf300)
2024-04-02 17:45:18 +02:00
grafana-delivery-bot[bot]
d4c72e9841 [v11.0.x] InfluxDB: Fix measurement interpolation on visual query builder (#85456)
InfluxDB: Fix measurement interpolation on visual query builder (#85423)

* fix measurement interpolation

* fix unit test

* fix unit test 2

(cherry picked from commit 64236a3923)

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2024-04-02 12:47:36 +02:00
grafana-delivery-bot[bot]
ed1485fa95 [v11.0.x] RBAC: Fix slow user permission search query on MySQL (#85410)
RBAC: Fix slow user permission search query on MySQL (#85058)

* Bench testing search user perm

* Add BenchmarkSearchUsersPermissions_1K_1K

* Clarify benchmark searches by action prefix

* Make MySQL more efficient

* Move all filter options

* Expand after assignments union

* update comments

(cherry picked from commit 5e48804364)

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2024-04-02 09:52:02 +02:00
grafana-delivery-bot[bot]
86747fd8b5 [v11.0.x] Scenes: Fix crash when searching panel options (#85367)
Scenes: Fix crash when searching panel options (#85180)

Closes #81883

(cherry picked from commit 08ef6e1a42)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2024-04-02 10:06:50 +03:00
grafana-delivery-bot[bot]
cf7ed74415 [v11.0.x] DashboardScene: Fix issues with dashboard empty state (#85422)
DashboardScene: Fix issues with dashboard empty state (#85406)

Fix

Tests

Make sure edit mode is on when adding panel/library panel

Co-authored-by: kay delaney <kay@grafana.com>
(cherry picked from commit fa9e139123)

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2024-04-01 21:11:18 +02:00
grafana-delivery-bot[bot]
0c254bd5e5 [v11.0.x] Plugins: Set correct PDC config values for proxy requests (#85414)
Plugins: Set correct PDC config values for proxy requests (#85412)

pass appropriate values

(cherry picked from commit 22fe7b067c)

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2024-03-29 21:51:56 +02:00
Will Browne
7bec323d23 [v11.0.x] Plugins: Send PDC file paths and contents for backwards compatibility (#85411)
Plugins: Send PDC file paths and contents for backwards compatibility (#85287)

* send paths and contents

* go work sync

(cherry picked from commit 1a0ac381eb)
2024-03-29 12:14:39 -07:00
grafana-delivery-bot[bot]
c646a96fbe [v11.0.x] OptionsPicker: Allow storing raw input even when matches exist (#85395)
OptionsPicker: Allow storing raw input even when matches exist (#84790)

(cherry picked from commit db6b51cb88)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2024-03-28 19:42:40 -05:00
grafana-delivery-bot[bot]
11384a5902 [v11.0.x] datatrails: fix stability issues between conflict between browser history, URL sync, and trail history (#85369)
datatrails: fix stability issues between conflict between browser history, URL sync, and trail history (#85134)

* fix: conflict between browser history and trail history

- ensure the back button or url changes don't generate trail steps
- ensure label breakdown TextLinks which appear on the summary tab work in embedded mode

(cherry picked from commit 137061d1d5)

Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
2024-03-28 13:35:10 -04:00
grafana-delivery-bot[bot]
e227c24877 [v11.0.x] DashboardScene: Fix access to dashboard settings views (#85371)
DashboardScene: Fix access to dashboard settings views (#85289)

* DashboardScene: Fix access to dashboard settings views

* Review

(cherry picked from commit 63a941472e)

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2024-03-28 17:01:45 +01:00
grafana-delivery-bot[bot]
2deed2b1e6 [v11.0.x] docs: update histogram visualization (#85364)
docs: update histogram visualization (#85125)

* docs: update histogram visualization docs

* docs: updates to histogram visualization

* Apply suggestions from code review

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

* Fixed typo I introduced

* docs: add youtube video

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
(cherry picked from commit 4a3140a0aa)

Co-authored-by: Marie Cruz <mdcruz@users.noreply.github.com>
2024-03-28 11:43:01 -04:00
grafana-delivery-bot[bot]
9e56aef1c9 [v11.0.x] DashboardScene: Fix constant variable not being hidden after creation (#85358)
DashboardScene: Fix constant variable not being hidden after creation (#85196)

(cherry picked from commit ae9a4b6467)

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2024-03-28 16:19:33 +01:00
grafana-delivery-bot[bot]
e1dcc847d0 [v11.0.x] RBAC: handle partially resolved scopes (#85333)
RBAC: handle partially resolved scopes (#85323)

* RBAC: handle partially resolved scopes

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
(cherry picked from commit 5dd98a0fd5)

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2024-03-28 16:09:16 +01:00
grafana-delivery-bot[bot]
576eb94e5b [v11.0.x] Azure/GCM: Update filterQuery methods to carry out migrations (#85365)
Azure/GCM: Update `filterQuery` methods to carry out migrations (#85355)

Update filterQuery methods to carry out migrations

(cherry picked from commit 697a18737d)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2024-03-28 17:05:00 +02:00
grafana-delivery-bot[bot]
9cf8c4e890 [v11.0.x] Scenes: Fix row crash when removing a panel from it (#85360)
Scenes: Fix row crash when removing a panel from it (#85339)

* Fix row crash when removing a panel from it

* fix tests

* fix tests

(cherry picked from commit 30c9307539)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2024-03-28 17:03:12 +02:00
grafana-delivery-bot[bot]
9a284d4560 [v11.0.x] ModalsContext: Unify modals context and manager (#85342)
ModalsContext: Unify modals context and manager (#84916)

* ModalsContext: Unify modals context and manager

* Clear on location change

* fixes

* Update

* use generics to avoid anys

---------

Co-authored-by: joshhunt <josh@trtr.co>
(cherry picked from commit e90b87589f)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-03-28 14:51:38 +01:00
grafana-delivery-bot[bot]
d1b7585ad5 [v11.0.x] [DOC] Clarify compatible log stores for traces to logs (#85352)
[DOC] Clarify compatible log stores for traces to logs (#85314)

* Clarify compatible log stores for traces to logs

* Fixes from prettier

(cherry picked from commit fe802f6d88)

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>
2024-03-28 07:53:01 -05:00
grafana-delivery-bot[bot]
bcf113fb41 [v11.0.x] Docs: fix availability note (#85346)
Docs: fix availability note (#85315)

Fixed availability note

(cherry picked from commit 5f38455f31)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-03-28 08:49:55 -04:00
grafana-delivery-bot[bot]
62c98ce65c [v11.0.x] Tempo: Check for liveEnabled before trying to stream (#85324)
Tempo: Check for liveEnabled before trying to stream (#85173)

* Check for liveEnabled before attempting to stream

* Add tests

* Range const

* Update test text

(cherry picked from commit df39fc54a6)

Co-authored-by: Joey <90795735+joey-grafana@users.noreply.github.com>
2024-03-28 09:47:00 +00:00
grafana-delivery-bot[bot]
6aa11956ef [v11.0.x] DashboardScene: Support time region migrations (#85322)
DashboardScene: Support time region migrations (#84147)

* DashboardScene: Support time region migrations

* Update

* Update

* Update

* fix

* Fix lock

* fix tests

* Fix migrations test

---------

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
(cherry picked from commit d290aaff46)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-03-28 08:00:14 +01:00
grafana-delivery-bot[bot]
ac880c6016 [v11.0.x] StateTimeline: Fix data links causing unrendering of string fields (#85307)
StateTimeline: Fix data links causing unrendering of string fields (#85260)

(cherry picked from commit 1ffeb7c365)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2024-03-27 20:35:47 +02:00
grafana-delivery-bot[bot]
47a5ae388e [v11.0.x] Prometheus: Use correct logic for frontend package feature flag (#85298)
Prometheus: Use correct logic for frontend package feature flag (#85294)

use correct logic for frontend package feature flag

(cherry picked from commit d4a68d6662)

Co-authored-by: Brendan O'Handley <brendan.ohandley@grafana.com>
2024-03-27 19:14:49 +02:00
grafana-delivery-bot[bot]
eead3e1354 [v11.0.x] Dashboards: Fix issue where long ad-hoc values broke UI (#85290)
Dashboards: Fix issue where long ad-hoc values broke UI (#85073)

Closes #69285

(cherry picked from commit 618cf8e5a1)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2024-03-27 17:28:27 +02:00
grafana-delivery-bot[bot]
43991fca51 [v11.0.x] Added YouTube video to index.md on Time Series (#85277)
Added YouTube video to index.md on Time Series (#85188)

* Added YouTube video to index.md on Time Series

Added a brief description and the YouTube link for the Time Series video.

* Update index.md

Did quick fix

* Update index.md

Found double space, removed, hope PR goes through

* Update docs/sources/panels-visualizations/visualizations/time-series/index.md

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
(cherry picked from commit d4953f4a1f)

Co-authored-by: Señor Performo - Leandro Melendez <54183040+srperf@users.noreply.github.com>
2024-03-27 10:44:21 -04:00
grafana-delivery-bot[bot]
76565ce12f [v11.0.x] NodeGraph: Fix possible metadata mismatch between nodes in graph (#85261)
NodeGraph: Fix possible metadata mismatch between nodes in graph (#85254)

(cherry picked from commit 20e70838e3)

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2024-03-27 14:41:38 +01:00
grafana-delivery-bot[bot]
cf4870cd06 [v11.0.x] Alerting: Fix removing nested policy (#85247) 2024-03-27 14:15:22 +02:00
grafana-delivery-bot[bot]
33c8f8c72d [v11.0.x] AuthProxy: Fix missing session for ldap auth proxy users (#85136)
AuthProxy: Fix missing session for ldap auth proxy users (#85090)

fix missing session for ldap auth proxy users

(cherry picked from commit 7649d93d17)

Co-authored-by: Jo <joao.guerreiro@grafana.com>
2024-03-27 10:57:44 +01:00
grafana-delivery-bot[bot]
9afbd19874 [v11.0.x] Table Panel: Fix issue causing incorrect background coloring (#85214)
Table Panel: Fix issue causing incorrect background coloring (#85121)

Fix color bug

(cherry picked from commit c9f9e94a6c)

Co-authored-by: Kyle Cunningham <codeincarnate@users.noreply.github.com>
2024-03-27 03:28:15 +07:00
grafana-delivery-bot[bot]
300008e300 [v11.0.x] Clarify AWS Auth instructions for Grafana Cloud users (#85209)
Clarify AWS Auth instructions for Grafana Cloud users (#84312)

* Clarify "Grafana Assume Role" feature instructions for Grafana Cloud users

Following the recommendations provided in Support escalation https://github.com/grafana/support-escalations/issues/8277

* Update docs/sources/datasources/aws-cloudwatch/aws-authentication/index.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* Update docs/sources/datasources/aws-cloudwatch/aws-authentication/index.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

---------

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
(cherry picked from commit ac9523bcad)

Co-authored-by: melGL <81323402+melgl@users.noreply.github.com>
2024-03-26 21:00:12 +02:00
grafana-delivery-bot[bot]
bd10c543a8 [v11.0.x] Alerting: Fix receiver inheritance when provisioning a notification policy (#85193)
Alerting: Fix receiver inheritance when provisioning a notification policy (#82007)

Terraform Issue: grafana/terraform-provider-grafana#1007
Nested routes should be allowed to inherit the contact point from the root (or direct parent) route but this fails in the provisioning API (it works in the UI)

(cherry picked from commit 2188516a21)

Co-authored-by: Julien Duchesne <julien.duchesne@grafana.com>
2024-03-26 18:54:38 +02:00
grafana-delivery-bot[bot]
9985a1e687 [v11.0.x] Auth Drawer: Use redux store to load settings (#85172)
Auth Drawer: Use redux store to load settings (#85110)

* use actions instead of importing the backend service

* Replace the test render for redux-rtl

(cherry picked from commit 4e5bff0ada)

Co-authored-by: linoman <2051016+linoman@users.noreply.github.com>
2024-03-26 16:40:42 +01:00
grafana-delivery-bot[bot]
196b935f2e [v11.0.x] EmailVerification: Generate emails after rename (#85182)
EmailVerification: Generate emails after rename (#85175)

(cherry picked from commit c39b9b2cbe)

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2024-03-26 17:09:58 +02:00
grafana-delivery-bot[bot]
bc11423432 [v11.0.x] SSO: add the missing fields to the okta provider (#85161)
SSO: add the missing fields to the okta provider (#85152)

* add the missing allowSignUp field to okta provider

* add autoLogin to okta

(cherry picked from commit 6ddced7ba8)

Co-authored-by: Mihai Doarna <mihai.doarna@grafana.com>
2024-03-26 15:02:34 +02:00
Horst Gutmann
e7f0e17582 ci(docs): Disable tag requirement for pushing release docs (#84825) 2024-03-26 08:22:36 -04:00
grafana-delivery-bot[bot]
9dff069ec3 [v11.0.x] SQLEngine: Use debug method instead of custom implementation (#85155)
SQLEngine: Use `debug` method instead of custom implementation (#85118)

Use debug method instead of custom implementation

(cherry picked from commit 19159a89a2)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2024-03-26 14:20:04 +02:00
grafana-delivery-bot[bot]
73b94a19b4 [v11.0.x] EmptyState: Rename "search" variant to "not-found" (#85157)
EmptyState: Rename "search" variant to "not-found" (#85062)

* rename "search" variant to "not-found"

* run i18n:extract

(cherry picked from commit 36ee1571b6)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-03-26 12:56:32 +01:00
grafana-delivery-bot[bot]
27f492a572 [v11.0.x] Access control: Improve annotation delete performance (#85151)
Access control: Improve annotation delete performance (#85068)

* Access control: Improve annotation delete performance

* simplify query string

* Refactor

* remove unnecessary join

(cherry picked from commit 02606be3ed)

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
2024-03-26 13:09:33 +02:00
Karl Persson
48fd6f066f SigningKeys: Add added_at when creating new signing key (#85060) 2024-03-26 10:02:34 +00:00
Charandas
234241db5f Makefile: fix test-go to run all (#85048) 2024-03-26 10:02:34 +00:00
Oscar Kilhed
3795fc2a63 Dashboards: Fix an issue where the dashboard would unmount and then mount again causing requests to cancel under some circumstances (#85003)
* Fix issue where dashboard unmounts and mounts again causing requests to be canceled

* Fix tests, add test
2024-03-26 10:02:34 +00:00
Ryan McKinley
62f97deee8 SQLStore: Cleanup migrationLocking (#85054) 2024-03-26 10:02:34 +00:00
Charandas
295f145f23 K8s: file storage - add sync around resource version (RV) management (#84694) 2024-03-26 10:02:34 +00:00
Brendan O'Handley
c40708ffab Prometheus: Use frontend package in Prometheus DS with a feature toggle (#84397)
* add feature toggle usePrometheusFrontendPackage

* add feature toggle logic to Prometheus module

* use config editor with package and remove configOverhaul feature toggle

* update betterer because we will be removing other files as we replace with files from @grafana/prometheus

* fix exemplar ds picker selector

* add more description to ts-ignore

* remove go.work.sum change

* copy go.work.sum from main

* update go.work.sum after talking with ismail

* put back the promlib entry

---------

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2024-03-26 10:02:34 +00:00
Nathan Marrs
d7a94af7d7 Canvas: Address connection vertex bug (#85026) 2024-03-26 10:02:34 +00:00
Khushi Jain
99661056b1 Chore: Remove gf-form from InfluxDB Annotation Query Editor (#84809)
Chore: Remove gf-form from Annotation Query Editor - Influx DB
2024-03-26 10:02:34 +00:00
Matthew Jacobson
ecce0d7498 Alerting: Stop persisting silences and nflog to disk (#84706)
With this change, we no longer need to persist silence/nflog states to disk in addition to the kvstore
2024-03-26 10:02:34 +00:00
Yuri Tseretyan
2480fed0f5 Alerting: Editor role can access all provisioning API (#85022) 2024-03-26 10:02:34 +00:00
George Robinson
8d4e7e0b3b Alerting: Update grafana/alerting to a4bb859 (#84815) 2024-03-26 10:02:34 +00:00
Lars Stegman
85e4c6674e Transformer: Config from Query: set threshold colours (#83366)
* Fix typo

* Create handler arguments

* Create handler arguments editor

* Create link in editor

* Add labels to arguments editor fields

* Create unit tests

* Hide "Additional settings" header when no additional settings possible

* Remove div

* Fix invalid DOM

---------

Co-authored-by: jev forsberg <jev.forsberg@grafana.com>
2024-03-26 10:02:34 +00:00
Adela Almasan
25e48c66d2 DashboardAI: UX improvements (#84934) 2024-03-26 10:02:34 +00:00
Nathan Marrs
8a1182e765 Canvas: Add "infinite" pan / zoom functionality (#84968)
* attempt at solving issue and resetting bounds to match panel content

* cleanup failed experiments

* add toggle for infinite pan - dont love naming but open to suggestions; clean up scene transform function

* add ability to "infinite" zoom (i.e. render more canvas via zooming out)

* slight refactor

* revert refactor as it broke things
2024-03-26 10:02:34 +00:00
grafana-delivery-bot[bot]
30054b3f7b [v11.0.x] Public dashboards: fix public dashboard permissions so that annotations are displayed (#85112)
Public dashboards: fix public dashboard permissions so that annotations are displayed (#85091)

* fix public dashboard anonymous user permissions so they include the new annotation permissions

* test fix

(cherry picked from commit df40e13333)

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2024-03-26 09:03:04 +00:00
grafana-delivery-bot[bot]
7a8bf4f4f9 [v11.0.x] Scenes: Add reporting tab in share modal (#85119)
Scenes: Add reporting tab in share modal (#85086)

(cherry picked from commit bb5c5f38db)

Co-authored-by: Juan Cabanas <juan.cabanas@grafana.com>
2024-03-25 18:02:17 -03:00
Darren Janeczek
810c224039 datatrails: synchronize the range of the y axis for all breakdown panels (#84781)
feat: sync the yaxis of breakdown panels
2024-03-22 16:19:11 -04:00
Dominik Prokop
b6cea0d7fe VizPanelManager: Load default/last used data source if no data source specified for a panel (#84999) 2024-03-22 21:08:40 +01:00
Nathan Marrs
566cee7d6b Canvas: Add ability to rotate elements (#83295) 2024-03-22 13:00:50 -07:00
Isabel Matwawana
ae59ab2f5b Docs: canvas flowchart & rotation updates G11 (#84696)
* Added new connector functions and new shape elements

* Grouped basic elements, added element intro, moved element snapping info, and added subheadings for connectors section

* Copy edits and restructuring

* Add rotation

* Broke up sentence

* Added gif using midpoint controls

* ihm/180324-canvas-flowchart-features/ run linter

* Remove comment

* Removed extra line

---------

Co-authored-by: jev forsberg <jev.forsberg@grafana.com>
2024-03-22 15:47:26 -04:00
Yuri Tseretyan
b9abb8cabb Alerting: Update provisioning API to support regular permissions (#77007)
* allow users with regular actions access provisioning API paths
* update methods that read rules
skip new authorization logic if user CanReadAllRules to avoid performance impact on file-provisioning
update all methods to accept identity.Requester that contains all permissions and is required by access control.

* create deltas for single rul e 

* update modify methods
skip new authorization logic if user CanWriteAllRules to avoid performance impact on file-provisioning
update all methods to accept identity.Requester that contains all permissions and is required by access control.

* implement RuleAccessControlService in provisioning

* update file provisioning user to have all permissions to bypass authz

* update provisioning API to return errutil errors correctly

---------

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2024-03-22 15:37:10 -04:00
Drew Slobodnjak
0b4830ccfd Canvas: Add corner radius option (#84873)
* Canvas: Add corner radius option

* Update connection radius logic

* Simplify angle calcs

* Simplify math to be a bit more clear and efficient

* Add checks for hyperbola behavior

* Prevent arc calcs if no radius

* Add comments for SOME clarity

* Add some more clarity to comments

* Fix linter issue

* Check for segment overlap for first vertex

* Update public/app/plugins/panel/canvas/components/connections/ConnectionSVG.tsx

* Add comment for calc clarity
2024-03-22 12:32:12 -07:00
Torkel Ödegaard
863a3d1c2c TeamsTable: Improve user experiance with links (#84973) 2024-03-22 20:27:50 +01:00
Sofia Papagiannaki
33b653534e SQLStore: Enable migration locking by default (#84983)
* Introduce new configuration for migration locking

* Remove feature toggle

* Fix test and turn it into an integration

* Fix docs
2024-03-22 21:22:29 +02:00
Matthew Jacobson
980b9a62c6 Alerting: Enable simplified routing FF by default (#84856) 2024-03-22 13:45:20 -04:00
Ezequiel Victorero
c57c033522 Snapshots: Viewers can not create a Snapshot (#84952) 2024-03-22 14:31:01 -03:00
ismail simsek
629a8808e0 Chore: Bump promlib v0.0.4 (#84882)
* Update the readme

* bump promlib v0.0.3

* update

* update

* use promlib v0.0.4
2024-03-22 18:28:22 +01:00
Tristan
78c6c7fef4 CloudWatch: Add additional AWS/SageMaker metrics (#85009)
add additional AWS/SageMaker metrics for customer
2024-03-22 10:14:21 -07:00
Andreas Christou
4855751d0d CloudMonitoring: Only run query if filters are complete (#85004)
* Only run query if filters are complete

- Update tests

* Fix tests
2024-03-22 19:06:51 +02:00
Yuri Tseretyan
e138ae3eb9 Alerting: Improve openAPI specification and docs for export endpoints (#85008) 2024-03-22 18:25:27 +02:00
Timur Olzhabayev
e9db9106c1 Chore: Disable angular support by default (#84738)
* Flipping angular support to disabled by default
2024-03-22 17:09:53 +01:00
Kyle Brandt
86a2a1a19b Prometheus: remove scope dependency (#84991)
* Prometheus: remove scope dependency
temp workaround

* depguard

* comment

* remove rules since they need a newer version of golangci-lint

---------

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2024-03-22 16:52:42 +01:00
Eric Leijonmarck
2f7fd729ef Auth: Enable case insensitive logins/emails by default (#84840)
* wip

* wip

* wip

* wip postgres tests
2024-03-22 16:45:18 +01:00
Leon Sorokin
d7fa99e2df XYChart: Refactor to new model (behind feature toggle) (#82499)
Co-authored-by: drew08t <drew08@gmail.com>
Co-authored-by: Ihor Yeromin <yeryomin.igor@gmail.com>
2024-03-22 10:44:37 -05:00
Nathan Marrs
7df8d6e8cb Canvas: Fix crash when trying to add wind turbine element (#84962) 2024-03-22 09:31:27 -06:00
ismail simsek
5c146c7832 InfluxDB: Fix querying with template variables without using regex operator (#84953)
* remove regex wrappers if the operator is not a regex operator

* fix import
2024-03-22 16:14:11 +01:00
chalapat
65c0669f01 Server: Reload TLS certs without a server restart (#83589)
* server: reload of grafana server certs when renewed without restart.

Signed-off-by: Rao, B V Chalapathi <b_v_chalapathi.rao@nokia.com>

* server: reload of grafana server certs when renewed without restart.

Signed-off-by: Rao, B V Chalapathi <b_v_chalapathi.rao@nokia.com>

* Update http_server.go

* Update docs/sources/setup-grafana/configure-grafana/_index.md

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

* Update http_server.go

Address the comments

* Update docs/sources/setup-grafana/configure-grafana/_index.md

Co-authored-by: Dan Cech <dan@aussiedan.com>

* Update http_server.go

Align the spaces

* Update http_server.go

* Update http_server.go

* Update pkg/api/http_server.go

Co-authored-by: Dan Cech <dan@aussiedan.com>

---------

Signed-off-by: Rao, B V Chalapathi <b_v_chalapathi.rao@nokia.com>
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: Dan Cech <dan@aussiedan.com>
2024-03-22 17:13:22 +02:00
Kyle Cunningham
658183d792 Table Panel: Fix hover regression (#84964)
Fix hover bug
2024-03-22 21:55:17 +07:00
Juan Cabanas
8d4ca72f2a PublicDashboards: Scene migration (#84409) 2024-03-22 11:48:21 -03:00
Ashley Harrison
a0bcc44b63 GrafanaUI: Add new EmptyState component (#84891)
* add empty search state component

* extract translations

* nicer prop spreading

* actually expose component in grafana-ui

* use requestAnimationFrame

* add rollup-plugin-svg-import

* move to a single EmptyState component with variants

* update docs

* remove CTA

* add some more prop documentation

* just use 1 svg
2024-03-22 14:46:32 +00:00
Ashley Harrison
f47916253c Chore: update webpack-dev-middleware (#85002)
update webpack-dev-middleware
2024-03-22 16:45:18 +02:00
github-actions[bot]
2ad1eef21f I18n: Download translations from Crowdin (#84912)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-22 14:36:52 +00:00
Eric Leijonmarck
bb792ff540 Auth: Remove oauth skip org role sync (#84972)
* remove oauth wide skip org role sync

* we are warning from config

* set it to false

* removed from config ini files and updated docs
2024-03-22 15:34:05 +01:00
Jean-Philippe Quéméner
f2c7023fe6 fix(alerting): use uid and not rand() in tests for title (#85001) 2024-03-22 16:26:09 +02:00
Santiago
a2facbecd4 Alerting: Implement ApplyConfig for remote primary mode (forked AM) (#84811)
* Alerting: Implement ApplyConfig for remote primary mode (forked AM)

* add TODO for saving the config hash in other config-related methods

* fix bad method receiver name (m -> am)

* tests

* add mutex

* remove sync loop
2024-03-22 15:17:41 +01:00
Darren Janeczek
08c24e4133 datatrails: feat: metadata for metric panels (#84872)
* feat: metadata for metric panels

* fix: missing import?

* fix: async await to get description first

- also add description to metric-name-only panels

* fix: change description, remove from main viz

* fix: remove import
2024-03-22 10:05:20 -04:00
Darren Janeczek
a2795f1291 datatrails: fix: only show datatrails link for timeseries dashboard panels (#84942)
fix: only show datatrails link for timeseries dashboard panels
2024-03-22 10:05:03 -04:00
Ezequiel Victorero
d2dd15e223 PublicDashboards: Change tab title (#84997) 2024-03-22 10:55:43 -03:00
Adam Bannach
16737c5b27 InteractiveTable: Add expand all to column (#84966)
* feat: add expand all to InteractiveTable

* chore: pr feedback; type tightening and better testing practice

* chore: pr feedback; type cleanup
2024-03-22 15:55:04 +02:00
Sofia Papagiannaki
369cb5b6eb Usage stats: Fix concurrency issue (#84993)
* Usage stats: Fix concurrency issue
2024-03-22 15:52:59 +02:00
Andre Pereira
93ca49b785 Explore Metrics: Show toast when bookmarking (#84987)
* Show toast notification when bookmarking a trail

* Copy change

* Move to LinkButton

* Secondary solid button
2024-03-22 15:33:50 +02:00
Karl Persson
f5692f06a5 FeatureToggles: Remove unused feature flag (#84988)
Remove unused flag
2024-03-22 14:30:58 +01:00
Laura Benz
e51a8c25d1 ReturnToPrevious: Fix e2e test (#84938)
refactor: remove some waiting for elements that seem to have been removed
2024-03-22 14:26:09 +01:00
Serge Zaitsev
df2d0574c1 Chore: Enable nestedFolders by default (#84631)
* Enable nestedFolders by default

* Make nestedFolders GA

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

* regenerate files

* also update docs

* skip failing test

---------

Co-authored-by: Timur Olzhabayev <timur.olzhabayev@grafana.com>
2024-03-22 14:13:43 +01:00
Will Browne
b765c21d4c Plugins: Pass PDC file contents in requests (#84783)
* Plugins: Pass PDC file contents in requests

* go mod tidy

* undo go.mod changes

* fix linter

* fix tests

* undo unnecessary changes

* update dep

* join with comma

* update naming

* bump SDK
2024-03-22 13:52:24 +01:00
Andre Pereira
0b4c81158e Datatrails: Sync layout with URL values (#84865)
* Sync layout with URL values

* Refactor
2024-03-22 12:27:19 +00:00
Darren Janeczek
1eff5fb791 datatrails: lazy load the breakdown queries, reduce panels, reduce number of points (#84965)
fix: lazy load the breakdown queries, reduce panels
2024-03-22 08:26:35 -04:00
Marcus Efraimsson
488bbaacab Chore: Remove unused dependenices in plugin client middlewares (#84624)
* Chore: Remove unused dependenices in plugin client middlewares

* refactor logger middleware to remove cfg dependency

* hack to make tracing work in api group builders
2024-03-22 12:54:35 +01:00
Dominik Prokop
41bf6a92fd Influx: Replace pre-calculated $__interval values for backend interpolation (#84975) 2024-03-22 12:48:41 +01:00
Erik Sundell
86bb91e1ce Datasources: Fix expressions that reference hidden queries (#84977)
call expression ds before filter query
2024-03-22 12:19:31 +01:00
Torkel Ödegaard
bb1133d6d9 DashboardScene: Fixes navbar action buttons collapse to menu (#84928)
* DashboardScene: Fixes navbar action buttons collapse to menu

* Update

* Change zindex
2024-03-22 12:05:25 +01:00
Ivan Ortega Alba
521d686ca4 DashGPT: Autogenerate panel title and description on scenes (#84726)
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2024-03-22 12:56:19 +02:00
ismail simsek
016d6f2f6d InfluxDB: Fix alias interpolation when it has $__interval or multiple tags (#84940)
fix $__interval interpolating in alias
2024-03-22 11:27:04 +01:00
Giuseppe Guerra
ef5d71711a Plugins: Enable feature toggle enablePluginsTracingByDefault by default (#84645)
* Enable feature flag enablePluginsTracingByDefault by default

* re-generate feature toggles
2024-03-22 11:22:36 +02:00
Agnès Toulet
4f8b14ebf4 FeatureToggle: Update newPDFRendering to public preview (#84883)
FeatureToggle: update newPDFRendering to public preview
2024-03-22 09:50:53 +01:00
Torkel Ödegaard
b20da139ad DashboardScene: Show insights icon (#84877)
* DashboardScene: Show insights icon

* Update

* Create separate group for precence indicators

* fix

* Update

* fix tests
2024-03-22 09:46:29 +01:00
Ieva
9772ed6526 RBAC: Enable annotation permission update by default (#84787)
* display teams to team reader if they also have the access to list team permissions

* fix a typo in the docs

* enable annotationPermissionUpdate by default

* update wording
2024-03-22 00:45:23 +02:00
Nihal
15122bc71c InfluxDB: Fix for wrong query generated with template variable and non regex operator on frontend mode (#84175)
* fix for wrong query generated for influxdb. see:https://github.com/grafana/grafana/issues/81517

Signed-off-by: Syed Nihal <syed.nihal@nokia.com>

* added unit tests

Signed-off-by: Syed Nihal <syed.nihal@nokia.com>

* fixed linting

Signed-off-by: Syed Nihal <syed.nihal@nokia.com>

* addressed review comments

Signed-off-by: Syed Nihal <syed.nihal@nokia.com>

* fixed linting issue

Signed-off-by: Syed Nihal <syed.nihal@nokia.com>

---------

Signed-off-by: Syed Nihal <syed.nihal@nokia.com>
2024-03-21 20:42:53 +01:00
Isabel Matwawana
e192c0aa05 Docs: add Configure tooltips page (#84089)
* Added Configure tooltips page

* Added intro, description options and image

* Updated weight and removed passive voice

* Replaced list with table and updated non-configurable tooltips section

* Updated info about other tooltips

* Wording edits

* Apply suggestions from code review

* Fixed table

* Added hover value in color scheme info with image
2024-03-21 15:07:28 -04:00
Drew Slobodnjak
c1065e6e68 Canvas: Add direction options for connections (#84620)
* Canvas: Add direction options for connections

* Fix radio control to handle default

* Fix broken options from merge

* Remove unused comment

* Change category and capitalize options for arrow

* Consolidate marker start and end for connections

* Fix linter issue
2024-03-21 11:38:17 -07:00
Brendan O'Handley
c4645c81da Prometheus: Default support labels value endpoint with match param when prom type and version not set (#84778)
* default to support labels match endpoint

* add test and fix tests
2024-03-21 12:50:17 -05:00
Darren Janeczek
e233c963a3 datatrails: fix dark mode drawer background clashing with data trail backgrounds (#84941)
fix: drawer background clashed with data trail bgs
2024-03-21 19:49:32 +02:00
Dominik Prokop
f74d5ff93e Data layers: Integrate latest scenes changes (#84804)
* bump scenes

* Improved data layers

* DashboardScene: Allow transformations by topic

* Use stable version

* Mock grafana ds to avoid anno layers test failure

* Fix name change

---------

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-03-21 18:23:47 +01:00
Jack Westbrook
1ba4d525a2 Chore: Bump follow-redirects to latest (#84920)
chore(npm): bump follow-redirects to latest 1.15.6
2024-03-21 19:03:32 +02:00
Pepe Cano
2d6586952d Alerting: Add placeholder to the Email Contact Point Message (#84064) 2024-03-21 13:03:12 -04:00
Jack Westbrook
47421febf8 Chore: Bump ip to latest (#84921)
chore(npm): bump ip to latest
2024-03-21 19:03:02 +02:00
Ivan Ortega Alba
33f9e8554d GenAI: Autogenerate title and description for panels and dashboards (#84933) 2024-03-21 17:58:27 +01:00
kay delaney
86afe012c5 Scenes: Enable live now feature (#84399) 2024-03-21 16:57:22 +00:00
Josh Hunt
648f5ff1ab E2C: Migration summary (#84890)
* E2C: Migration summary

* remove polling

* stack -> box, box -> stack

* justify

* one less stack
2024-03-21 18:49:21 +02:00
Todd Treece
cdb2e7dd3e Chore: Sync go workspace (#84932) 2024-03-21 18:34:40 +02:00
Giuseppe Guerra
eb31f71f60 Plugins: Enable feature toggle pluginsDynamicAngularDetectionPatterns by default (#84723)
* Enable feature toggle pluginsDynamicAngularDetectionPatterns by default

* Change backgroundJobInterval to 24h

* re-generate feature toggles

* Use different intervals for cloud vs on-prem

* temporarily switch interval log to info level

* debug level again

* Simplify provideDynamic for tests

* re-generated feature toggles files

* PR review feedback

* PR review feedback: removed dependency from plugin management config
2024-03-21 18:22:06 +02:00
Marcus Efraimsson
6c1de260a2 API Server: Standalone observability (#84789)
Adds support for logs (specify level), metrics (enable metrics and Prometheus /metrics endpoint 
and traces (jaeger or otlp) for standalone API server. This will allow any grafana core service 
part of standalone apiserver to use logging, metrics and traces as normal.
2024-03-21 17:06:32 +01:00
grafana-delivery-bot[bot]
856ed64aac Changelog: Updated changelog for 10.3.5 (#84927)
Co-authored-by: grafanabot <bot@grafana.com>
2024-03-21 12:06:14 -04:00
Josh Hunt
35c846f47b Skip RTP e2e tests for now (#84925) 2024-03-21 17:59:13 +02:00
Xavi Lacasa
a813046f3d Better tracing during extSvcAcc registration (#84719) 2024-03-21 16:41:10 +01:00
grafana-delivery-bot[bot]
b848d8709c Changelog: Updated changelog for 10.4.1 (#84923)
Co-authored-by: grafanabot <bot@grafana.com>
2024-03-21 17:39:12 +02:00
kay delaney
424b3528ca Scenes: Persist variable options in save model (#84812)
* Scenes: Persist variable options in save model

* Updated snapshot
2024-03-21 16:35:48 +01:00
Isabel Matwawana
a64977d12a Docs: restructure Configure standard options (#84225)
* Removed unnecessary task

* Fixed note formatting

* Added supported visualizations section

* Docs: edit Configure standard options (#84226)

* Edited heading

* Added table and intro text to Supported visualizations section and updated intro to Standard options section

* Replaced grafana link with cloud link

* Copy edits

* Copy edits

* Updated intro

* Copy edits and updated images

* trigger CI

* Deleted local images and linked to uploaded ones

* Removed jargon
2024-03-21 11:03:57 -04:00
Isabel Matwawana
3219b6f8a7 Docs: update docs for dashgpt GA G11 (#84842)
* Updated generative AI links

* Added option to use AI

* Fixed typos

* Removed public preview note and feature toggle information
2024-03-21 10:43:43 -04:00
Ihor Yeromin
8b32073d5f Canvas: New basic elements (#84205)
* feat(canvas): new canvas shapes added
2024-03-21 15:23:35 +01:00
brendamuir
f30f7dfb93 Alerting docs: updates alert list view details (#84913)
* Alerting docs: updates alert list view details

* couple fixes

* prettier fixes

* corrects title
2024-03-21 14:57:54 +01:00
Dominik Prokop
a4ff2abd9d PanelGridItemRepeater: Refactor (#84710)
* wip

* serialisation tests updates

* VizPanelManager test updates

* ests updates

* Making it green

* Use DashboardGridItem instead of SceneGridItem

* Cleanup tests that unnecessarily depend on dashboard grid items

* Fix row repeater behavior test

* Update public/app/features/dashboard-scene/panel-edit/PanelEditor.tsx

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

* Fix unnecessary library panel changes detection

* Fix test

---------

Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
2024-03-21 14:38:00 +01:00
ismail simsek
20bb9d60dc Chore: Update influxdb docs with new parameter insecureGrpc (#84885)
add insecureGrpc parameter
2024-03-21 14:29:29 +01:00
Gilles De Mey
8c9ba97642 Alerting: Support PromQL-style matchers (#84672) 2024-03-21 14:11:18 +01:00
Gilles De Mey
4c247f959b Alerting: Fix broken panelId links (#84839) 2024-03-21 13:58:34 +01:00
renovate[bot]
6ce3469bb8 Update dependency postcss to v8.4.38 2024-03-21 12:52:01 +00:00
Erik Sundell
29d4f6a217 Datasource: Change query filtering (#84656)
* call filterQuery from queryrunner

* test query hide filtering

* fix more broken tests

* lint errrors

* remove redundant filterQuery call

* skip filter in variable queries

* fix broken cypress test

* change tooltip text

* fix translations

* fix comments

* do not execute query is targets are empty

* add more tests

* remove unsued import

* update translations

* revert id change

* change header text

* update comment for hide prop

* rename hide query prop

* change tooltip and introduce different toggle state text

* update tests

* update comment and regenerate types

* run extract again

* fix broken e2e test

* track event

* fix build issues

* revert changes in wire file
2024-03-21 13:39:39 +01:00
renovate[bot]
410f5e3e3a Update dependency dompurify to v3.0.11 2024-03-21 12:21:51 +00:00
Isabel Matwawana
f4c156d228 Docs: add canvas datalinks updates G11 (#84754)
* Created elements intro section, moved snapping and alignment content to intro, removed snapping and alightment heading

* Updated data links availability

* Remove element section changes
2024-03-21 08:20:49 -04:00
Bogdan Matei
30a1178624 Integrate Scopes with Prometheus datasource (#84888) 2024-03-21 14:02:57 +02:00
renovate[bot]
db791e8955 Update dependency autoprefixer to v10.4.19 2024-03-21 11:59:27 +00:00
Adela Almasan
25a058f7ec Histogram: Add support for stacking mode (#84693) 2024-03-21 06:57:10 -05:00
Josh Hunt
b525de07cd I18n: Add Brazilian Portuguese (#84461)
* Add pt-br as supported language

* docs

* update pt-br path:

* docs
2024-03-21 13:51:30 +02:00
renovate[bot]
fc5d323cd5 Update dependency systemjs-cjs-extra to v0.2.1 (#84849)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-21 12:39:58 +01:00
Ashley Harrison
bc8c3f99ae Chore: Remove custom values from TextLink story (#84889)
remove default values
2024-03-21 13:33:53 +02:00
Giuseppe Guerra
3387132b9b Build: Add "gen-feature-toggles" Makefile target (#84803)
* Add Makefile target "make gen-feature-toggles" to generate feature toggles files

* Better output for gen-feature-toggles
2024-03-21 12:04:49 +01:00
Bogdan Matei
b23541c298 Implement Scopes UI (#82920) 2024-03-21 13:01:47 +02:00
Alex Khomenko
b41ad688f2 Alerting: Remove deprecated InputControl (#84793) 2024-03-21 12:59:41 +02:00
Jack Westbrook
f67e56939a Tests: Isolate script tests to prevent jest errors locally (#84881)
* test(jest): isolate script tests to prevent jest errors in grafana-server/tmp tests

* chore(codeowners): update so generate-transformations matches in docs and tests directory
2024-03-21 12:36:37 +02:00
Selene
473898e47c Core: Remove thema and kindsys dependencies (#84499)
* Move some thema code inside grafana

* Use new codegen instead of thema for core kinds

* Replace TS generator

* Use new generator for go types

* Remove thema from oapi generator

* Remove thema from generators

* Don't use kindsys/thema for core kinds

* Remove kindsys/thema from plugins

* Remove last thema related

* Remove most of cuectx and move utils_ts into codegen. It also deletes wire dependency

* Merge plugins generators

* Delete thema dependency 🎉

* Fix CODEOWNERS

* Fix package name

* Fix TS output names

* More path fixes

* Fix mod codeowners

* Use original plugin's name

* Remove kindsys dependency 🎉

* Modify oapi schema and create an apply function to fix elasticsearch errors

* cue.mod was deleted by mistake

* Fix TS panels

* sort imports

* Fixing elasticsearch output

* Downgrade oapi-codegen library

* Update output ts files

* More fixes

* Restore old elasticsearch generated file and skip its generation. Remove core imports into plugins

* More lint fixes

* Add codeowners

* restore embed.go file

* Fix embed.go
2024-03-21 11:11:29 +01:00
Pepe Cano
856e410480 Alerting docs: Update Alert rules intro and Introduction pages (#84772)
undefined
2024-03-21 11:06:49 +01:00
Jack Westbrook
3c359376e1 Grafana/Runtime: Remove SystemJS export (#84561)
* feat(systemjs): move systemjs to grafana core and stop exporting from runtime

* feat(plugins): move systemjs to own file, update imports

* chore(plugins): call systemjs directly from window as ref can be undefined

* chore(plugins): make sure systemjs is imported before its shared dependencies

* chore(systemjs): move dependency to root package.json
2024-03-21 09:22:35 +01:00
Pepe Cano
60b9a1058a Docs: Specify Recorded queries is available in Grafana Cloud (#84716) 2024-03-21 09:17:27 +01:00
Laura Benz
d8a116e696 ReturnToPrevious: Add e2e test (#83115)
* feat: add incomplete unit test

* refactor: add idea for unit test

* feat: create new e2e test

* feat: add some steps

* feat: add comment

* feat: complete prep work

* feat: complete clean up

* rebase

* feat: add more steps to test flow

* refactor: remove unit test

* refactor: clean up

* refactor: create a provisioned alert rule

* refactor: change location and content

* refactor: e2e test

* refactor: betterer

* refactor: move provisioned alert rule

* refactor: make provisioning file available remote

* refactor: clean up test

* refactor: move provisioned alert rule

* refactor: remove wait()

* feat: restructure first test and add more tests

* feat: add another provisioned alert rule

* feat: add a new test

* feat: complete new test

* refactor: replace data-testid in alert rules

* refactor: replace data-testid

* refactor: fix tests for drone

* refactor: fix third test after review

* refactor: fix last test

* temp

* refactor: improve some things

* refactor: adjust unit tests

* refactor: remove assertions for alert rule details view

* refactor: remove assertions

* refactor: add check for button text

* refactor: remove session storage

* refactor: apply changes from code review

* refactor: add codeowner

* refactor

* refactor

* refactor: clean up

* refactor: clean up

* refactor: clean up

* refactor: increase pa11y threshold for /alerting/list
2024-03-21 09:05:51 +01:00
Andres Martinez Gotor
9298a5fcb5 AzureMonitor: Update standalone HTTP middlewares (#84833) 2024-03-21 08:53:27 +01:00
Drew Slobodnjak
3877d976d6 Canvas: Add snapping to vertex edit (#84417)
* Canvas: Add vertex control to connections

* Add function for vertex conversion

* Add vertex interface

* Add future vertex handling

* Only show vertices when connection selected

* Add vertices to save model

* Apply select constraint to first midpoint

* Add some infrastructure for vertex edit

* Render vertex edit and capture events

* Save vertex edit on button release

* Handle adding new vertices

* Limit number of vertices to 10

* Handle zoom for vertex edit and creation

* Rename future to add

* Remove more references to future

* Remove unsued console log

* Clean up styles

* Add some clarity for path generation

* Add clarity to connections event handling

* Canvas: Add snapping to vertex edit

* Remove unused color styling

* Add horizontal and vertical snap for vertex edit

* Add snapping during vertex creation

* Hide vertex before removal
2024-03-20 23:49:28 -07:00
github-actions[bot]
f96de9d0f8 I18n: Download translations from Crowdin (#84826)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-21 05:38:09 +00:00
Darren Janeczek
7653da1870 datatrails: add ability to deselect currently metric (#84586)
* feat: ability to deselect currently metric
2024-03-20 21:51:47 -04:00
Darren Janeczek
d58e652cc3 datatrails: include description of related metrics tab (#84525)
* fix: include description of related metrics tab
2024-03-21 00:20:23 +02:00
Darren Janeczek
5d5e22ae11 datatrails: fix: position of new metric exploration button (#84844)
fix: position of new metric exploration button
2024-03-20 18:08:13 -04:00
Andreas Christou
0718605f75 Azure: Support multi-resource namespace (NetApp Volumes) (#84779)
Add multi-resource namespace (NetApp Volumes)
2024-03-20 20:07:47 +00:00
Matthew Jacobson
fbd057b258 Alerting: Stop returning autogen routes for non-admin on api/v2/status (#84864)
* Alerting: Stop returning autogen routes for non-admin on api/v2/status

* Improve api/v2/status integration tests for user roles
2024-03-20 22:04:35 +02:00
Kyle Cunningham
7eee34311d Table Panel: Add documentation for apply to row (#84786)
* Add documentation for apply to row

* Updated wording

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

* Remove image

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

* Prettier

* Added word to improve clarity

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-03-21 02:55:13 +07:00
Will Browne
c8c372c327 Prometheus: Prevent duplicate registration of custom header middleware (#84860)
* remove dupe middleware

* fix test
2024-03-20 21:22:33 +02:00
Andreas Christou
00c094f7cf Azure: Update data link title for clarity (#84686)
Update data link title for clarity
2024-03-20 13:39:00 -05:00
Josh Hunt
00d6e1d7f8 E2C: Move frontend feature folder up one (#84851)
* E2C: Move frontedn folder up one

* codeowners
2024-03-20 19:39:39 +02:00
Marie Cruz
72bf647dc6 fix: update slack for alerting link (#84854) 2024-03-20 17:27:00 +00:00
William Wernert
c5b04b5674 Alerting: Add docs for "Keep Last State" feature (#84676)
Add initial docs for "Keep Last State" feature
2024-03-20 13:11:16 -04:00
William Wernert
6d16cf2699 Alerting: Marshal incoming json.RawMessage in diff (#84692)
This will ensure the encoding is correct when comparing
to the existing rule.
2024-03-20 13:10:39 -04:00
lean.dev
8336f1fc1e Update feature toggle code owner (#84817)
Co-authored-by: Dave Henderson <dave.henderson@grafana.com>
2024-03-20 18:06:14 +01:00
renovate[bot]
6813210ed0 Update react monorepo 2024-03-20 16:40:05 +00:00
renovate[bot]
92ab85e066 Update dependency @types/node to v20.11.30 (#84836)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-20 17:53:35 +02:00
Matias Chomicki
7e8e7429ec Popover menu: remove selectionchange listener (#84832) 2024-03-20 17:48:33 +02:00
Marie Cruz
821d9a5565 docs: add links to KillerCoda tutorial environments (#84831) 2024-03-20 15:47:45 +00:00
Kyle Brandt
0df7c9201a Make: Speed up make run by removing redundant make go-gen in .bra (#84827)
Make: Remove redundant `make go-gen` in .bra, build-go already calls this
Calling twice really slows down backend build time since wire gets called twice and that uses a few gigs of memory
2024-03-20 16:39:49 +01:00
renovate[bot]
78f1551b8e Update dependency @grafana/faro-web-sdk to v1.5.0 (#84820)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-20 15:31:34 +00:00
Adela Almasan
9fced253f5 VizTooltips: Switch data links display to column (#84828) 2024-03-20 17:29:37 +02:00
Alex Khomenko
b9b42ba10f Grafana/icons: Add icons package (#82314)
* Add separate icons package

* Update package.json

* Codeformat

* Use the new icon

* Sanitize SVGs

* Sync deps

* Add publish script

* Add pre-commit hook

* Test pre-commit

* Rename

* Comment out local dev configs

* Add generate action

* Update readme

* Update script

* Add license

* Rename icons to icons-generated

* Codeformat

* Update lerna

* Remove fill attribute from SVG path elements

* Revert lerna upgrade

* Update codeowners

* Add lint scripts

* Exclude more attributes

* Add missing deps

* Update lockfile

* Remove CI actions

* Remove generated components from VC

* Fix path

* Build ESM only

* Include cjs

* Update lockfile

* Move generated icons into src

* Update lockfile

* Sync deps with grafana

* Update lockfile

* Update lockfile

* Update package name

* Cleanup

* Memoize the components

* Publish esm only

* Do not overwrite props

* Add generate script to build

* Update comment

* Generate typedefs from index.ts

* test

* test

* Restore

* Add more complex icons

* Add readme

* Update lockfile

* Make the package private

* Move package exclusion to lerna.json

* Remove exclusion

* Revert

* test packages

* Fix

* Fix

* Revert

* Move generate icons script to the root

* Update script

* Remove icons script

* Move icons exclusion to package.json
2024-03-20 17:03:40 +02:00
Juan Cabanas
98a6b5debf Scenes: Fix public dashboard email sharing section (#84467) 2024-03-20 12:00:19 -03:00
Adam Simpson
311aa94fab MSSQL: Add Windows AD/Kerberos auth (#84742)
* mssql: Add Kerberos/Windows AD auth

* need username for cache file

* account for no port in cc file

* add tests around constring

* remove un-needed port

* add docs

* remove comments

* move defer to same locale as where it begins

* fix linting and spelling

* fix gosec linter

* note lack of grafana cloud support
2024-03-20 16:41:57 +02:00
Yuri Tseretyan
04c9f459ec Alerting: do not check for folder in file provisioning (#84822)
provide nil folder service in file provisioning
2024-03-20 10:39:03 -04:00
Ida Štambuk
18eac9df9e Feature toggles: Remove redshiftAsyncQueryDataSupport and athenaAsyncQueryDataSupport toggles (#84653) 2024-03-20 15:14:21 +01:00
renovate[bot]
339a2ba4e9 Update dependency msw to v2.2.9 2024-03-20 13:44:32 +00:00
Matthias Meyer
af820f29f8 Docs: updated provisioning documentation (#84711) 2024-03-20 12:56:10 +00:00
renovate[bot]
e2109f9b2a Update babel monorepo to v7.24.3 2024-03-20 12:50:51 +00:00
Andres Martinez Gotor
a705ff7892 API Server: refactor plugin ID handling (#84753) 2024-03-20 13:49:19 +01:00
renovate[bot]
d0935fe44c Update dependency @testing-library/react to v14.2.2 2024-03-20 12:31:21 +00:00
renovate[bot]
6cf34a76cf Update dependency @msagl/parser to v1.1.18 2024-03-20 10:49:24 +00:00
Alex Khomenko
c632cabb3b NewOrgPage: Update Form import (#84792) 2024-03-20 12:47:22 +02:00
renovate[bot]
fe623760a8 Update dependency @msagl/core to v1.1.18 2024-03-20 10:22:49 +00:00
github-actions[bot]
cd3312ba02 I18n: Download translations from Crowdin (#84799)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-20 10:17:56 +00:00
renovate[bot]
9b6c32163d Update dependency @grafana/faro-core to v1.5.0 (#84784)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-20 10:04:08 +00:00
Fabrizio
288b06b64c Loki: Replace imports of infra/log with SDK (#84336) 2024-03-20 11:25:35 +02:00
Jack Westbrook
421ef641d0 Azure Monitor: Externalise kusto (#84749)
fix(azuremonitor): externalise kusto so it loads via core
2024-03-20 10:16:54 +01:00
Dominik Prokop
d5e293c18d GroupBy variable: Allow detecting static dimensions changes (#84715)
* GroupBy variable: Allow detecting static dimensions changes

* Review

* Lint
2024-03-20 10:08:42 +01:00
Ivana Huckova
77b1c97482 Elasticsearch: Remove xpack button and make includeFrozen not dependant on it (#84734) 2024-03-20 09:59:26 +01:00
Gábor Farkas
fba2b61408 postgres: removed unused code (#84736)
sql: removed unused code
2024-03-20 09:28:42 +01:00
George Robinson
f3e5ad00d6 Remove extra defers in screenshot sevice (#84697) 2024-03-20 07:13:16 +00:00
github-actions[bot]
034c232ec9 I18n: Download translations from Crowdin (#84670)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-20 06:26:46 +00:00
Yuri Tseretyan
e593d36ed8 Alerting: Update rule access control to explicitly check for permissions "alert.rules:read" and "folders:read" (#78289)
* require "folders:read" and "alert.rules:read"  in all rules API requests (write and read). 

* add check for permissions "folders:read" and "alert.rules:read" to AuthorizeAccessToRuleGroup and HasAccessToRuleGroup

* check only access to datasource in rule testing API

---------

Co-authored-by: William Wernert <william.wernert@grafana.com>
2024-03-19 22:20:30 -04:00
Zoltán Bedi
a4fe7f39ea E2E: Rewrite mysql tests to playwright (#83424)
* E2E: Rewrite mysql tests to playwright

* Fix lint

* Add more selectors and address comments

* Scope locators when locating text

* Don't run it 20 times

* Update new-datasource-variable to assert mysql
2024-03-19 23:07:48 +01:00
Lucy Chen
351425ab3d Reporting: Update api doc files (#84358) 2024-03-19 17:19:14 -04:00
renovate[bot]
1cc31a4d62 Update dependency webpack-dev-server to v5.0.4 2024-03-19 20:48:38 +00:00
renovate[bot]
97e49d37e7 Update dependency react-hook-form to v7.51.1 2024-03-19 20:31:35 +00:00
brendamuir
d01d99a585 Alerting docs: change icon and simplified routing (#84729) 2024-03-19 21:29:45 +01:00
renovate[bot]
f3986f0dc7 Update dependency postcss to v8.4.37 2024-03-19 18:56:16 +00:00
Jack Baldry
fef0c66b03 Use $host nginx variable instead of $http_host (#84354) 2024-03-19 18:54:25 +00:00
renovate[bot]
590c657828 Update dependency msw to v2.2.8 2024-03-19 18:21:50 +00:00
renovate[bot]
9d058f8db0 Update dependency eslint-plugin-react to v7.34.1 2024-03-19 17:44:17 +00:00
Señor Performo - Leandro Melendez
e011c60a75 Visualizations-TablePanel: added YouTube link to Table Panel (#84533)
* Update index.md added YouTube link to Table Panel

* Moved video and added placement note

* Update index.md adding video description

Added a description to the video. Feel free to edit if my syntax or writing needs improvement.

* Wording and style edits

* Wording fix

---------

Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-03-19 13:41:10 -04:00
Gilles De Mey
5a57ff1307 Alerting: Preserve newlines and whitespace for Prometheus and Loki queries (#84755) 2024-03-19 19:38:04 +02:00
renovate[bot]
d12faee989 Update dependency dompurify to v3.0.10 2024-03-19 17:26:08 +00:00
renovate[bot]
6166c88ab7 Update dependency core-js to v3.36.1 2024-03-19 17:06:50 +00:00
Ihor Yeromin
3c97476390 Canvas: Support dashed connection lines (#84496)
* feat(canvas): add connection types
2024-03-19 17:56:10 +01:00
renovate[bot]
aa9dc9c821 Update dependency @types/react-table to v7.7.20 2024-03-19 16:47:05 +00:00
Andreas Christou
6bb7ab261a AzureMonitor: User authentication support (#81918)
* Stub out frontend user auth

* Stub out backend user auth

* Add context

* Reorganise files

* Refactor app registration form

* Alert for user auth service principal credentials

* AzureMonitor: Add flag for enabling/disabling fallback credentials for current user authentication (#82332)

* Rename field

* Add fallback setting

* Update tests and mock

* Remove duplicate setting line

* Update name of property

* Update frontend settings

* Update docs and default config files

* Update azure-sdk

* Fix lint

* Update test

* Bump dependency

* Update configuration

* Update docs/sources/setup-grafana/configure-grafana/_index.md

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

* Docs review

* AzureMonitor: User authentication frontend updates (#83107)

* Rename field

* Add fallback setting

* Update tests and mock

* Remove duplicate setting line

* Update name of property

* Update frontend settings

* Update docs and default config files

* Add alerts to query editor

- Add authenticatedBy property to grafana/data
- Update mocks
- Update query editor to disable it under certain circumstances
- Update tests

* Add separate FallbackCredentials component

- Reset AppRegistrationCredentials component to only handle clientsecret credentials
- Update AzureCredentialsForm
- Update selectors
- Update tests
- Update credentials utility functions logic

* Alert when fallback credentials disabled

* Update condition

* Update azure-sdk

* Fix lint

* Update test

* Remove unneeded conditions

* Set auth type correctly

* Legacy cloud options

* Fix client secret

* Remove accidental import

* Bump dependency

* Add tests

* Don't use VerticalGroup component

* Remove unused import

* Fix lint

* Appropriately set oAuthPassThru and disableGrafanaCache properties

* Clear azureCredentials on authType change

* Correctly retrieve secret

* Fix bug in authTypeOptions

* Update public/app/plugins/datasource/azuremonitor/components/ConfigEditor/CurrentUserFallbackCredentials.tsx

Co-authored-by: Andrew Hackmann <5140848+bossinc@users.noreply.github.com>

* Update public/app/plugins/datasource/azuremonitor/components/QueryEditor/QueryEditor.tsx

Co-authored-by: Andrew Hackmann <5140848+bossinc@users.noreply.github.com>

* Update public/app/plugins/datasource/azuremonitor/components/ConfigEditor/CurrentUserFallbackCredentials.tsx

Co-authored-by: Andrew Hackmann <5140848+bossinc@users.noreply.github.com>

* Add documentation links

* Fix broken link

---------

Co-authored-by: Andrew Hackmann <5140848+bossinc@users.noreply.github.com>

* AzureMonitor: Update docs for current user authentication (#83440)

* Rename field

* Add fallback setting

* Update tests and mock

* Remove duplicate setting line

* Update name of property

* Update frontend settings

* Update docs and default config files

* Add alerts to query editor

- Add authenticatedBy property to grafana/data
- Update mocks
- Update query editor to disable it under certain circumstances
- Update tests

* Add separate FallbackCredentials component

- Reset AppRegistrationCredentials component to only handle clientsecret credentials
- Update AzureCredentialsForm
- Update selectors
- Update tests
- Update credentials utility functions logic

* Alert when fallback credentials disabled

* Update condition

* Update azure-sdk

* Fix lint

* Update test

* Remove unneeded conditions

* Set auth type correctly

* Legacy cloud options

* Fix client secret

* Remove accidental import

* Bump dependency

* Add tests

* Don't use VerticalGroup component

* Remove unused import

* Update docs

* Fix lint

* Appropriately set oAuthPassThru and disableGrafanaCache properties

* Clear azureCredentials on authType change

* Correctly retrieve secret

* Feedback

* Spelling

* Update docs/sources/datasources/azure-monitor/_index.md

Co-authored-by: Larissa Wandzura <126723338+lwandz13@users.noreply.github.com>

* Update docs/sources/datasources/azure-monitor/_index.md

Co-authored-by: Larissa Wandzura <126723338+lwandz13@users.noreply.github.com>

* Update docs/sources/datasources/azure-monitor/_index.md

Co-authored-by: Larissa Wandzura <126723338+lwandz13@users.noreply.github.com>

* Update docs/sources/datasources/azure-monitor/_index.md

Co-authored-by: Larissa Wandzura <126723338+lwandz13@users.noreply.github.com>

---------

Co-authored-by: Larissa Wandzura <126723338+lwandz13@users.noreply.github.com>

* Docs review

* Update docs with additional configuration information

* Fix to appropriately hide the query editor

* Typo

* Update isCredentialsComplete

* Update test

---------

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: Andrew Hackmann <5140848+bossinc@users.noreply.github.com>
Co-authored-by: Larissa Wandzura <126723338+lwandz13@users.noreply.github.com>
2024-03-19 16:32:24 +00:00
Kyle Cunningham
2a6a1fb3b3 Table Panel: Add ability to set background colors for entire rows (#83939)
* Table: hacky poc for colored rows

* update

* Update options editor

* Refactor out styling

* Make sure option applies

* Start unifying coloring logic

* Support various options

* Cleanups

* Fix up hover behavior

* Update label

* Fix bug with sorting and make cleanups

* Ensure text color also applies to whole row

* New treatment for cell inspect

* Update cell inspect spacing

* codeincarnate/table-row-background-selected-riffs/ run linter

* Fix hover colors

* Fix coloring

* The other part of color application

* Another color fix

* codeincarnate/table-row-background-selected-riffs/ lint

* Update cell value inspect

* Prettier

* Update cell value inspect coloring

* Fix text coloring

* Update inspect style

* Linting and betterer

* Fix tests

* i18n

---------

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Co-authored-by: jev forsberg <jev.forsberg@grafana.com>
2024-03-19 23:23:12 +07:00
renovate[bot]
5b1b280798 Update dependency @types/react to v18.2.67 2024-03-19 16:21:08 +00:00
Jev Forsberg
b14525a402 Transformations: Update docs for "Filter data by values" substring matcher (#84619)
* baldm0mma/substring/ update docs

* Update public/app/features/transformers/docs/content.ts

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

* baldm0mma/substring/ skip 1st test

* baldm0mma/substring/ unskip

* baldm0mma/substring/ update skip

* baldm0mma/substring/ update anno

* baldm0mma/substring/ unrelated spelling error

* baldm0mma/substring/ update annos

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-03-19 10:17:34 -06:00
Marie Cruz
2f539060f8 docs: initial updates to state timeline documentation (#84224)
* docs: initial updates to state timeline documentation

* docs: apply linting

* Apply suggestions from code review

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

* docs: add feedback from PR review

* docs: apply linting

* Wording and formatting edits

* Fixed grammar

* Update docs/sources/panels-visualizations/visualizations/state-timeline/index.md

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

* docs: add two examples for state timeline to show null values and two timestamps

* docs: add steps to configuring a state timeline

* docs: add state timeline video

* docs: add link to creating dashboards

* Changed link text and added version interpolation syntax

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-03-19 12:07:53 -04:00
Torkel Ödegaard
862305d5ce DashboardScene: Only update/replace location for normal dashboard route (#84747) 2024-03-19 16:40:49 +01:00
renovate[bot]
97156bb759 Update dependency @types/node to v20.11.30 2024-03-19 15:36:35 +00:00
Hugo Kiyodi Oshiro
b1c4ebe6e8 Plugins: Enable managedPluginsInstall by default (#84721)
Plugins: enable managedPluginsInstall by default
2024-03-19 16:34:46 +01:00
renovate[bot]
107dd15e12 Update dependency @types/eslint to v8.56.6 2024-03-19 14:58:44 +00:00
Andreas Christou
7c3f621688 Chore: Update grafana-azure-sdk-go (#84741)
* Update grafana-azure-sdk-go

* Update test
2024-03-19 14:56:40 +00:00
Gilles De Mey
5bd670592d Alerting: Rename "classic condition" to "classic condition (legacy)" (#84743) 2024-03-19 16:29:08 +02:00
Joey
a8e211bf77 Tempo: Update condition for migration from old nativeSearch editor (#84731)
Update condition for migration from old nativeSearch editor
2024-03-19 14:12:04 +00:00
Ivan Ortega Alba
74e62ac6fa Dashgpt: Make generate title and description work in scened dashboard settings (#84649)
* wip

* add GenAI to scenes dashboard settings

* rework title and description into controlled inputs

---------

Co-authored-by: Sergej-Vlasov <sergej.s.vlasov@gmail.com>
2024-03-19 14:06:03 +00:00
Yuri Tseretyan
9dc4221508 Alerting: Log expression command types during evaluation (#84614) 2024-03-19 10:00:03 -04:00
Diego Augusto Molina
09817e2c7f Chore: ignore Go coverage .out files (#84702)
ignore Go coverage .out files
2024-03-19 10:55:33 -03:00
Ryan McKinley
e27c08cfa9 QueryService: Return application/json and better errors (#84234) 2024-03-19 15:52:15 +02:00
Fabrizio
d1f791cf1f Jaeger: Decouple Jaeger plugin (#81377) 2024-03-19 15:39:31 +02:00
renovate[bot]
83597e6c37 Update dependency @swc/helpers to v0.5.7 (#84725)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-19 13:24:10 +00:00
Sonia Aguilar
b38436eeb0 Alerting: Fix used badge in contact points list (#84714)
Fix used badge in contact points list
2024-03-19 13:30:06 +01:00
Torkel Ödegaard
a095888522 DashboardScene: Fixes visualization suggestions (#84439)
* DashboardScene: Fixes visualization suggestions

* Update public/app/features/dashboard-scene/panel-edit/PanelOptionsPane.tsx

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

* fix prettier issue

---------

Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
2024-03-19 13:12:46 +01:00
Santiago
4ad6d66479 Alerting: Remove ID from UserGrafanaConfig struct (#84602)
* Alerting: Remove ID from UserGrafanaConfig struct

* user custom mimir image withoud id in grafana config

* change mimir image name
2024-03-19 12:47:13 +01:00
Josh Hunt
365fd2cb72 FolderPicker: Add permission filter to nested folder picker (#84644)
* FolderPicker: Add permission filter to nested folder picker

* Add permission filtering to Searcher

* make default edit only

* dashlist view folders

* update tests
2024-03-19 13:44:52 +02:00
Mathieu Parent
4a50897f39 CI: Fix missing vendor dependencies (#84375)
Fixes: #84342
2024-03-19 12:41:27 +01:00
renovate[bot]
f3337b96b8 Update dependency @manypkg/get-packages to v2.2.1 (#84722)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-19 13:36:35 +02:00
renovate[bot]
bc0f054fa7 Update dependency @braintree/sanitize-url to v7.0.1 2024-03-19 11:20:26 +00:00
Santiago
c9bb18101c Alerting: Decrypt secrets before sending configuration to the remote Alertmanager (#83640)
* (WIP) Alerting: Decrypt secrets before sending configuration to the remote Alertmanager

* refactor, fix tests

* test decrypting secrets

* tidy up

* test SendConfiguration, quote keys, refactor tests

* make linter happy

* decrypt configuration before comparing

* copy configuration struct before decrypting

* reduce diff in TestCompareAndSendConfiguration

* clean up remote/alertmanager.go

* make linter happy

* avoid serializing into JSON to copy struct

* codeowners
2024-03-19 12:12:03 +01:00
renovate[bot]
b5d74ac200 Update babel monorepo to v7.24.1 (#84718)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-19 12:56:16 +02:00
renovate[bot]
31bbd49459 Update dependency @rollup/plugin-terser to v0.4.4 (#84550)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-19 10:37:33 +00:00
renovate[bot]
169be9e401 Update dependency eslint-plugin-import to v2.29.1 (#83523)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-19 12:25:22 +02:00
Ashley Harrison
15194b41b4 Dropdown: Fix keyboard accessibility (#84683)
* fix dropdown keyboard a11y

* remove unnecessary css

* restore tabIndex to keep linting happy

* use Box in Menu

* fix unit test
2024-03-19 10:22:17 +00:00
Mihai Doarna
6febfdffd2 Auth: add the missing fields for all SSO providers (#83813)
* add the missing fields for sso providers

* remove fields array

* add the validate_hd field for google

* submit only fields defined on the provider

* fix unit tests

* add unit tests for the new fields/sections from the form

* add hosted_domain field for the google provider

* reorder fields in user mapping

* remove authStyle field from gitlab and okta

---------

Co-authored-by: Mihaly Gyongyosi <mgyongyosi@users.noreply.github.com>
2024-03-19 12:20:19 +02:00
Fabrizio
c1c9ccb8e8 Loki: Replace imports of infra/httpclient with SDK (#84337) 2024-03-19 10:59:53 +01:00
Agnès Toulet
7c17290da5 Chore: Fix Webpack config for Windows (#84709) 2024-03-19 09:36:54 +01:00
Andres Martinez Gotor
abb8ba3885 Update comment in service.go (#84674) 2024-03-19 09:09:07 +01:00
Marcus Efraimsson
e978d0810e DS apiserver: Minor fixes (#84691) 2024-03-19 09:02:52 +01:00
Agnès Toulet
58170d4141 Rendering: Add PDFRendering capability (#84438)
* Rendering: Add PDFRendering capability

* fix tests
2024-03-19 08:48:46 +01:00
Tim Levett
d3571c399a substring should be lowercase (#84682) 2024-03-18 16:40:46 -05:00
Isabella Siu
0606a8e413 CloudWatch: Static labels should use label name (#84611)
CloudWatch: static labels should use label name
2024-03-18 17:30:59 -04:00
Charandas
2d1cd82a98 K8s: standalone: use Grafana's logger to stream all logs (#84530)
---
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2024-03-18 19:25:30 +02:00
Matthew Jacobson
3ea5c08c88 Alerting: External AM fix parsing basic auth with escape characters (#84681) 2024-03-18 13:04:57 -04:00
Ivana Huckova
494d169980 Elasticsearch: Fix legend for alerting, expressions and previously frontend queries (#84485)
* Elasticsearch: Fix legend for alerting, expressions and previously frontend queries

* Add comment

* Update comment
2024-03-18 18:01:33 +01:00
Tom Ratcliffe
296f4219f8 Add missing external link for TextLink 2024-03-18 16:50:30 +00:00
Tom Ratcliffe
8f50ccbb7c Fix display of Alert diagram in Safari 2024-03-18 16:50:30 +00:00
Tom Ratcliffe
b3e9a6d0b3 Use Text component more consistently in GettingStarted 2024-03-18 16:50:30 +00:00
Tom Ratcliffe
fb2ba574c6 Convert getting started styles to object syntax 2024-03-18 16:50:30 +00:00
Tom Ratcliffe
30a791d77a Tidy up styling for Getting Started page and use @grafana/ui components 2024-03-18 16:50:30 +00:00
Tom Ratcliffe
2e2a5bca11 Remove unused showWelcomeHeader prop 2024-03-18 16:50:30 +00:00
Tom Ratcliffe
83464781be Remove video from Alert Getting Started page 2024-03-18 16:50:30 +00:00
Leon Sorokin
2e6bb6416d VizTooltips: Fix position during bottom or right edge initial hover (#84623) 2024-03-18 11:20:43 -05:00
Kyle Brandt
818c94f067 Scopes: (Chore) Fix ScopeDashboard by adding spec (#84675) 2024-03-18 17:16:53 +01:00
Darren Janeczek
63e8753aa0 datatrails: integrate dashboard panels with metrics explore (#84521)
* feat: integrate dashboard panels with metrics explore

- add dashboard panel menu items (in non-scenes dashboard) to open
  `metric{filters}` entries detected from queries to launch
  "metrics explorer" drawers for the selected `metric{filter}`

* fix: remove OpenEmbeddedTrailEvent

* fix: use modal manager dismiss capabilities instead
2024-03-18 17:16:38 +01:00
Ashley Harrison
b1b65faf02 Variables: Support static keys in AdHocFiltersVariable (#83157)
* initial start

* don't use getTagKeysProvider

* some cleanup

* undo kinds adjustment

* simplify

* remove async declaration

* add description and a couple of unit tests

* add transformSaveModelToScene test

* add tests for AdHocVariableForm

* add tests for AdHocFiltersVariableEditor

* update to defaultKeys

* fix snapshots

* update to 3.13.3
2024-03-18 16:12:00 +00:00
Rob
677b765dab NodeGraph: Edge color and stroke-dasharray support (#83855)
* Adds color and stroke-dasharray support for node graph edges

Adds support for providing color, highlighted color, and visual display of node graph edges as dashed lines via stroke-dasharray.

* Updates node graph documentation

* Updates documentation

Adds default for `highlightedColor`

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

Co-authored-by: Fabrizio <135109076+fabrizio-grafana@users.noreply.github.com>

* Update packages/grafana-data/src/utils/nodeGraph.ts

Co-authored-by: Fabrizio <135109076+fabrizio-grafana@users.noreply.github.com>

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

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

* Removes highlightedColor; deprecates highlighted

Per [request](https://github.com/grafana/grafana/pull/83855#issuecomment-1999810826), deprecates `highlighted` in code and documentation, and removes `highlightedColor` as an additional property. `highlighted` will continue to be supported in its original state (makes the edge red), but is superseded if `color` is provided.

* Update types.ts

Missed a file in my last commit. Removes `highlightedColor` and deprecates `highlighted`.

* Add test scenario in test data source

---------

Co-authored-by: Fabrizio <135109076+fabrizio-grafana@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2024-03-18 16:26:22 +01:00
Darren Janeczek
e96836d19e datatrails: Remove prefix filter (#84661)
* fix: use cascader's clear button

* fix: remove the prefix filter from metric select

* fix: remove supporting code in metric select scene

- For the removed prefix filter

* fix: spacing
2024-03-18 11:00:31 -04:00
github-actions[bot]
259d4eb6ec I18n: Download translations from Crowdin (#84664)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-18 14:45:34 +00:00
Darren Janeczek
767608f3a6 Data trails: use description of data source to shorten label (#84665)
fix: use description of data source to shorten label
2024-03-18 16:23:19 +02:00
Kyle Brandt
aec2ef727a Prometheus/Scopes: Update to use scopespec type from app (#84593) 2024-03-18 09:49:26 -04:00
github-actions[bot]
cc6459deaf I18n: Download translations from Crowdin (#84660)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-18 13:39:05 +00:00
Erik Sundell
ebcca97052 Annotation query: Render query result in alert box (#83230)
* add alert to annotation result

* cleanup

* add tests

* more refactoring

* apply pr feedback

* change severity

* use toHaveAlert matcher
2024-03-18 14:26:56 +01:00
Andrej Ocenas
5b085976bf Pyroscope: Fix template variable support (#84477) 2024-03-18 14:25:47 +01:00
Kyle Brandt
aac2cf0aa5 Scopes: Update BE API to include object for linking scope to dashboards (#84608)
* Add ScopeDashboard

---------

Co-authored-by: Todd Treece <todd.treece@grafana.com>
2024-03-18 09:22:28 -04:00
Levente Balogh
155e38edfe Plugin Extensions: Add prop types to component extensions (#84295)
* feat: make it possible to specify prop types for component extensions

* Update packages/grafana-runtime/src/services/pluginExtensions/getPluginExtensions.ts

* chore: adapted test case

* chore: update betterer

* feat: update types for configureComponentExtension()

* fix: remove type specifics for `configureExtensionComponent`

* Update betterer config

---------

Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
Co-authored-by: Darren Janeczek <darren.janeczek@grafana.com>
2024-03-18 15:14:51 +02:00
Josh Hunt
fbb6ae35e7 E2C: Use cloudMigrationIsTarget config (#84654)
Use cloudMigrationIsTarget config
2024-03-18 13:00:18 +00:00
Isabella Siu
00f16cd018 CloudWatch Logs: Remove toggle for cloudWatchLogsMonacoEditor (#84414) 2024-03-18 08:56:57 -04:00
Ieva
7aa0ba8c59 Teams: Display teams page to team reader if they also have the access to list team permissions (#84650)
* display teams to team reader if they also have the access to list team permissions

* fix a typo in the docs
2024-03-18 14:52:01 +02:00
Jack Westbrook
4ca68925a1 Backend: Delete bundled plugin tests (#84646) 2024-03-18 13:28:24 +01:00
Matias Chomicki
3e97999ac5 LogRowMessageDisplayedFields: increase rendering performance (#84407)
* getAllFields: refactor for improved performance

* LogRowMessageDisplayedFields: refactor line construction for performance

* AsyncIconButton: refactor to prevent infinite loops
2024-03-18 13:24:06 +01:00
Pepe Cano
a7c7a1ffed Alerting docs: Fix format issues in recent Slack tutorial (#84651)
* Alerting docs: Fix format issues in Slack tutorial

* Alerting docs: Include link to Slack docs

* Alerting docs: fix Slack `nested-policy` link
2024-03-18 13:18:57 +01:00
Ashley Harrison
3297d589c0 ConfirmButton: Stop pointerEvents on the correct element (#84648)
stop pointerEvents on the correct element
2024-03-18 14:04:43 +02:00
Sergej-Vlasov
26e1a5887a DashboardScene: Reset editIndex on variable delete (#84589)
* reset edit index on variable delete

* adjust delete variable test

* adjust test to be more in line with user flow
2024-03-18 12:02:12 +00:00
Andre Pereira
6241386a96 Data Trails: Sticky main metric graph (#84389)
* WIP

* Refactor code a bit so we can sticky the main graph and tabs

* Make sure it works in Firefox. Avoid annoying warnings in breakdown tab. Update pin metrics graph label

* Small copy change

Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>

---------

Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
2024-03-18 13:38:17 +02:00
Andres Martinez Gotor
e394110f44 Fix api_plugins_test locally (#84484) 2024-03-18 12:08:49 +01:00
Josh Hunt
ed3bdf5502 I18n: Expose current UI language in @grafana/runtime config (#84457)
* I18n: Expose current UI language in Grafana config

* fix
2024-03-18 11:00:43 +00:00
Serge Zaitsev
aa03b4393f Chore: Clean up CHANGELOG for 10.4.0 (#84551)
clean up changelog for 10.4.0 to remove the items that did not make it into the release
2024-03-18 11:45:25 +01:00
tonypowa
eb813f2a19 changes to #84476 (#84638)
* removed note shortcode

* prettyfied
2024-03-18 11:24:18 +01:00
Karl Persson
8714b7cd8c RolePicker: Don't try to fetch roles for new form (#84630) 2024-03-18 11:15:49 +01:00
Polina Boneva
fce78aea2c Variables: Multi-select DataSource variables are inconsistently displayed in the Data source picker (#76039)
Always show multi-select DataSource(DS) variables in the DS picker, and display a warning in the panel when a DataSource variable holds multiple values and is not being repeated.

---------

Co-authored-by: Alexandra Vargas <alexa1866@gmail.com>
Co-authored-by: Alexa V <239999+axelavargas@users.noreply.github.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-03-18 10:30:27 +01:00
Joey
f5e83d07a7 Tempo: Deprecate old search (#84498)
* Add logic to update query from old search to new search i.e. nativeSearch to traceqlSearch

* Remove nativeSearch query and transform

* Update tracking

* Remove nativeSearch from query field

* Udpdate gen comment

* Fix tests

* Add tests

* Remove comments

* Remove log

* Remove log

* Update comment

* Update ids etc for migratedQuery

* Remove old nativeSearch folder

* Fix tests, manual testing
2024-03-18 09:17:10 +00:00
Jack Westbrook
1de4187a6e Chore: Delete Input Datasource (#83163)
* chore(input-datasource): delete bundled plugin for grafana 11

* chore(betterer): refresh results file

* chore(yarn): run dedupe to clean up deps

* chore(yarn): pin playwright to 1.41.2 to see if CI passes

* chore(yarn): pin playwright to 1.42.1
2024-03-18 09:48:19 +01:00
Andres Martinez Gotor
6204f1e847 Chore: Use SigV4 middleware from aws-sdk (#84462) 2024-03-18 09:33:22 +01:00
Alex Khomenko
39b32524e2 AnnotationsEditor: Remove deprecated components (#84538)
* AnnotationEditorForm: Remove deprecated components

* AnnotationEditor2: Remove deprecated components
2024-03-16 09:48:17 +02:00
Alex Khomenko
1714d52f17 Chore: Replace deprecated Form imports (#84537)
* SignupInvited: replace Form

* Chore: replace Form import

* Chore: replace HorizontalGroup

* Replace the component in OrgProfile
2024-03-16 09:48:05 +02:00
Alex Khomenko
5fa627e207 Playlist: Remove deprecated components (#84536) 2024-03-16 09:47:39 +02:00
Dan Cech
89f3b70e17 Storage: Add support for listing resource history (#84331)
* add support for listing resource history

* make watch handle custom label selectors properly

* fix tests

* Apply suggestions from code review

Co-authored-by: Diego Augusto Molina <diegoaugustomolina@gmail.com>

* properly handle special characters in json label matcher

* tidy up

---------

Co-authored-by: Diego Augusto Molina <diegoaugustomolina@gmail.com>
2024-03-15 19:17:54 -04:00
Chris Bedwell
9c7a5ed506 Alerting: Fix infinite re-render when linking to alert redirect page (#84305)
fix: move where the fallback array is initialized so not to create an infinite re-render
2024-03-15 22:57:31 +00:00
ismail simsek
d0885ffdaa Chore: Bump the promlib version to v0.0.2 (#84616)
bump the promlib version
2024-03-15 22:35:07 +01:00
Darren Janeczek
59baa7a4a4 fix: data trails ignore usage syntax (#84610) 2024-03-15 21:27:31 +02:00
Josh Hunt
08f4aeded1 E2C: Change permissions for navigating to Cloud Migration (#84594)
* allow org admins / settings writers to access e2c

* test for org admin specifically
2024-03-15 17:22:39 +00:00
William Wernert
97f37b2e6f Alerting: Clamp Loki ASH range query to configured max_query_length (#83986)
* Clamp range in loki http client to configured max_query_length

Defaults to 721h to match Loki default
2024-03-15 18:59:45 +02:00
Josh Hunt
f2628bfad4 Whitelabelling: Override version in UI from config (#84392)
* Unify how the version is shown in the UI

* use versionString in dashboard help bundles

* fix lint

* remove comment

* fix test types

* make test less flakey
2024-03-15 18:39:13 +02:00
Gilles De Mey
1ce2ae427f Alerting: Query and conditions improvements (#83426) 2024-03-15 18:37:11 +02:00
Drew Slobodnjak
f273681956 Canvas: Add vertex control to connections (#83653)
* Canvas: Add vertex control to connections

* Add function for vertex conversion

* Add vertex interface

* Add future vertex handling

* Only show vertices when connection selected

* Add vertices to save model

* Apply select constraint to first midpoint

* Add some infrastructure for vertex edit

* Render vertex edit and capture events

* Save vertex edit on button release

* Handle adding new vertices

* Limit number of vertices to 10

* Handle zoom for vertex edit and creation

* Rename future to add

* Remove more references to future

* Remove unsued console log

* Clean up styles

* Add some clarity for path generation

* Add clarity to connections event handling

---------

Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2024-03-15 09:35:07 -07:00
github-actions[bot]
6d74553653 I18n: Download translations from Crowdin (#84601)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-15 16:22:27 +00:00
Matias Chomicki
bba1b12448 Logs popover: allow click listeners to run before closing the menu (#84583)
* Logs popover: allow click listeners to run before closing the menu

* Decrease buffer time
2024-03-15 17:24:41 +02:00
Pepe Cano
200ff7f9b4 Alerting docs: fix broken link (#84572) 2024-03-15 16:23:52 +01:00
Laura Benz
7e5ce8fc20 I18n: Add milestone automatically to Crowdin PRs (#84253)
* refactor: add milestone automatically

* refactor: remove step for extracting pr number

* refactor: milestone step
2024-03-15 16:14:11 +01:00
Torkel Ödegaard
d4b3877eb8 Table: Fixes migration for hidden columns in angular table (#84579)
* Table: Fixes migration for hidden columns in angular table

* update
2024-03-15 16:05:34 +01:00
Torkel Ödegaard
4dcbf4e5bb Select: Fixes virtualized select showing empty space above selected value (#84544)
* Select: Virtualized select bug replication

* Update with fix

* remove story

* Pin version

* Update

* Update
2024-03-15 16:00:58 +01:00
Darren Janeczek
e93ba13f7a datatrails: style: update buttons to secondary solid format (#84526)
* fix: secondary solid buttons for selecting metrics

* fix: secondary solid buttons for selecting labels

* fix: secondary solid buttons for adding filters
2024-03-15 11:00:05 -04:00
Gilles De Mey
85bd116a10 Alerting: Fix optional fields requiring validation rule (#84584)
fixes #84296
2024-03-15 15:49:05 +01:00
Sonia Aguilar
1f13a14815 Alerting: Fix wrong use of empty list in times field in the UI (#84179)
* Fix wrong use of empty list in times field in the UI

* Add tooltip for disable switch

* Show disabled badge in mute timings

* Disable time ranges when disabling time interval in the UI

* PR review comments

* remove tooltip for the field as it does not register it correctly

* remove wrong code line

* Add comment

* Address PR review comments
2024-03-15 15:48:16 +01:00
Torkel Ödegaard
4753948262 DashboardScene: Don't show switch to old dashboard architecture toggle unless you are in dev mode (#84444)
* DashboardScene: Don't show switch to old architecture toggle unless you are in dev mode

* Update
2024-03-15 15:39:04 +01:00
Karl Persson
d4e802dd47 Authn: Add function to resolve identity from org and namespace id (#84555)
* Add function to get the namespaced id

* Add function to resolve an identity through authn.Service from org and namespace id

* Switch to resolve identity for re-authenticate in another org
2024-03-15 15:08:15 +01:00
renovate[bot]
ced09883d3 Update dependency react-hook-form to v7.51.0 (#84582)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-15 14:08:06 +00:00
Eric Leijonmarck
6c8895e349 Service accounts: Same Org fix migration to account for duplicate entries (#84349)
* bug: fix migration to account for duplicate entries

* refactoring to create test folder for user migrations

* fix migration log

* added the migration

* additional tests

* added extSrv tests
2024-03-15 15:00:25 +01:00
Isabella Siu
a0b68deae4 Cloudwatch: Remove cloudWatchWildCardDimensionValues feature toggle (#84329) 2024-03-15 09:49:53 -04:00
Jack Westbrook
06723b9647 Chore: Pin version of playwright (#84558)
chore(playwright): pin version of playwright to prevent CI failures
2024-03-15 15:14:25 +02:00
Sonia Aguilar
fa9f692707 Alerting: Fix AlertsFolderView not showing rules when using nested folders (#84465)
* Fix AlertsFolderView not showing rules when using nested folders

* Fix tests
2024-03-15 14:08:09 +01:00
Isabel Matwawana
d06e73ac28 Docs: add alt text (#84532)
Added alt text
2024-03-15 09:04:46 -04:00
renovate[bot]
7a28ce7795 Update dependency eslint-webpack-plugin to v4.1.0 (#84571)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-15 13:04:38 +00:00
Matias Chomicki
15a641a509 Infinite Scroll: wait for users to reach the top before triggering new requests (#84318)
* Infinite Scroll: wait for users to reach the top before triggering new requests

* Prettier

* Infinite Scroll: control top scrolling via prop

* Prettier
2024-03-15 13:52:55 +01:00
ismail simsek
eae9bfe4bc Chore: Promlib allows extendOptions to be nil (#84463)
* use logger from service

* allow extendOptions to be nil

* Update logger
2024-03-15 13:37:29 +01:00
Isabel Matwawana
94a9aeaccc Docs: fix broken links (#84531)
Fixed broken links
2024-03-15 08:36:07 -04:00
renovate[bot]
25ed621aa3 Update dependency date-fns to v3.5.0 (#84557)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-15 12:10:17 +00:00
Sofia Papagiannaki
1208888bb6 Folders: Allow listing folders with write permission (#83527)
* Folders: Allow listing folders with write permission

* Check for subfolder access if parent does not have

* Add test

* GetFolders: fix ordering

* Apply suggestion from code review
2024-03-15 14:05:27 +02:00
Sonia Aguilar
39232a0776 Alerting: Show error message when error is thrown after clicking create alert f… (#84367)
Show error message when error is thrown after clicking create alert from panel
2024-03-15 12:36:34 +01:00
Jack Westbrook
0acb400248 Chore: Remove unused rollup plugin dependencies (#84492)
* chore(runtime): remove unused rollup-plugin-terser dependency

* chore(packages): remove more unused rollup plugins
2024-03-15 12:02:27 +01:00
renovate[bot]
a8432aad3d Update dependency @types/node to v20.11.28 2024-03-15 10:28:53 +00:00
tonypowa
500840ab77 alerting docs: slack integration (#84476)
* alerting docs: slack integration

* added links

* removed aliases and formated notes

* Update docs/sources/alerting/configure-notifications/manage-contact-points/integrations/configure-slack.md

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

* Update docs/sources/alerting/configure-notifications/manage-contact-points/integrations/configure-slack.md

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

* Update docs/sources/alerting/configure-notifications/manage-contact-points/integrations/configure-slack.md

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

* Update docs/sources/alerting/configure-notifications/manage-contact-points/integrations/configure-slack.md

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

* Update docs/sources/alerting/configure-notifications/manage-contact-points/integrations/configure-slack.md

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

* Update docs/sources/alerting/configure-notifications/manage-contact-points/integrations/configure-slack.md

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

* Update docs/sources/alerting/configure-notifications/manage-contact-points/integrations/configure-slack.md

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

* Update docs/sources/alerting/configure-notifications/manage-contact-points/integrations/configure-slack.md

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

* amended links

* Update docs/sources/alerting/configure-notifications/manage-contact-points/integrations/configure-slack.md

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

* Update docs/sources/alerting/configure-notifications/manage-contact-points/integrations/configure-slack.md

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

* Update docs/sources/alerting/configure-notifications/manage-contact-points/integrations/configure-slack.md

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

* Update docs/sources/alerting/configure-notifications/manage-contact-points/integrations/configure-slack.md

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

* Update docs/sources/alerting/configure-notifications/manage-contact-points/integrations/configure-slack.md

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

* Update docs/sources/alerting/configure-notifications/manage-contact-points/integrations/configure-slack.md

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

* Update docs/sources/alerting/configure-notifications/manage-contact-points/integrations/configure-slack.md

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

* Update docs/sources/alerting/configure-notifications/manage-contact-points/integrations/configure-slack.md

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

* Update docs/sources/alerting/configure-notifications/manage-contact-points/integrations/configure-slack.md

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

* Update docs/sources/alerting/configure-notifications/manage-contact-points/integrations/configure-slack.md

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

* Update docs/sources/alerting/configure-notifications/manage-contact-points/integrations/configure-slack.md

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

* couple of minor corrections

* fixing link

* ran prettier

---------

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-03-15 11:27:11 +01:00
Fabrizio
458d694d78 Update GitHub Actions to add datasource/Parca label (#84455) 2024-03-15 03:11:12 -07:00
kay delaney
6e6d6e368e Scenes: Restrict panel menu options when in edit mode (#84509) 2024-03-15 12:06:05 +02:00
Will Browne
9d453d0dcc Plugins: Remove direct featuremgmt.FeatureToggles dependency from plugins config (#84482) 2024-03-15 10:58:51 +01:00
kay delaney
c13e248384 Scenes: Fix issue with discarding unsaved changes modal in new dashboards (#84369) 2024-03-15 09:58:08 +00:00
Fabrizio
78d7ebd499 Fix GitHub action to add datasource/Jaeger label (#84448) 2024-03-15 10:54:00 +01:00
renovate[bot]
cc6439d989 Update dependency @manypkg/get-packages to v2.2.1 2024-03-15 09:50:28 +00:00
kay delaney
e5faeb324d Scenes: Make repeat panels respect maxPerRow (#84497) 2024-03-15 09:48:29 +00:00
Karl Persson
ebf455d107 RBAC: Don't refetch permissions when searching for users in authenticated org (#84546)
Don't refetch permissions when searching for users in authenticated org
2024-03-15 10:36:16 +01:00
renovate[bot]
25631fd107 Update dependency @grafana/scenes to v3.13.2 2024-03-15 09:27:41 +00:00
renovate[bot]
05f737b712 Update dependency @types/react to v18.2.66 2024-03-15 09:02:47 +00:00
Pepe Cano
06b8eb6279 Alerting docs: update Supported data sources (#84495)
* Alerting docs: update `Supported data sources`

* Update docs/sources/alerting/fundamentals/alert-rules/_index.md

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

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-03-15 10:00:51 +01:00
dependabot[bot]
ff03cb33f1 Bump actions/upload-artifact from 3 to 4 (#84527)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v3...v4)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-15 08:40:46 +00:00
Charandas
759cefd94c ExtSvcAccounts: FIX tests that accidently depended on enterprise (#84535)
* ExtSvcAccounts: FIX tests that accidently depended on enterprise

* fix
2024-03-15 08:18:11 +01:00
Lucy Chen
9d4504da08 Reporting: Update api doc for deprecated old schedule (#84072)
update api doc
2024-03-15 14:46:53 +09:00
Nick Richmond
8389ce3862 Prometheus: Fix incorrect baseline in classic histogram (#83863)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2024-03-15 02:49:13 +02:00
Charandas
34b5303daf K8s: file-storage: provide empty for resourceVersion initially (#84523) 2024-03-14 16:33:41 -07:00
Dan Cech
0fa0cede75 Storage: streamline context handling (#84319)
streamline context handling
2024-03-14 17:12:20 -04:00
Gabriel MABILLE
2795f9827a ExtSvcAccounts: FIX prevent service account deletion (#84502)
* ExtSvcAccounts: Fix External Service Accounts Login check

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

* Remove service accounts assignments and permissions on delete

* Fix first set of tests

* Fix second batch of tests

* Fix third batch of tests

---------

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2024-03-14 19:11:02 +01:00
Yuri Tseretyan
827860d459 Alerting: Alerting accesscontrol utilities (#84508)
* create fake for accesscontrol.RuleService
* make errAuthorizationGeneric public
2024-03-14 14:03:53 -04:00
Timur Olzhabayev
6bc662e53b Chore: Removing error object from tracking (#84500)
Removing error object from tracking
2024-03-14 19:15:36 +02:00
Larissa Wandzura
f727e21873 Docs: Fixed a typo in the Azure config page (#84475)
fixed typo, cleaned up some language
2024-03-14 11:10:35 -05:00
Yuri Tseretyan
f7d836feed Alerting: Update rule provisioning service to accept user (#84480) 2024-03-14 12:04:10 -04:00
renovate[bot]
6d19894a7d Replace dependency rollup-plugin-terser with @rollup/plugin-terser 0.1.0 (#84487)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-14 16:01:58 +00:00
Pepe Cano
ec42b2a361 Alerting docs: restructure Introduction (#84248)
* Rename `Data sources` title

* Relocate and rename `Introduction/Notification templates`

* Rename `alert-rules/alert-instances` to `alert-rules/multi-dimensional-alerts`

* Move `fundamentals/high-availability` to `setup/enable-ha`

* Fix 404 high-availability alerting link on Setup HA Grafana docs

* Move alert manager/contact poitns/notification templates within Notifications

* Remove `Alerting on numeric data`

* Restructure Introduction v2

* Continue Intro restructuring

* Update docs/sources/alerting/fundamentals/alert-rules/_index.md

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

* Complete contact point TODO

* Alias: alertManager

* Aliases `annotation-label` + content changes

* Aliases to `templating-labels-annotations`

* Aliases to `queries-conditions`

* Rename `rule-evaluation.md` file

* Aliases: `contact points`

* Aliases to `message-templating`

* Aliases to `alert-rules`

* Update links to new URL slugs

* Remove duplicated alias

* Remove trailing slash for external heading links

* Remove trailing slash in heading links to other grafana pages

* Change URL directory slug `fundamentals/notifications`

* rename title `Configure High Availability`

* Content changes

* Update docs/sources/alerting/fundamentals/alert-rules/_index.md

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

* Update docs/sources/alerting/set-up/configure-alert-state-history/index.md

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

* Update docs/sources/alerting/set-up/configure-high-availability/_index.md

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

* Update docs/sources/alerting/set-up/configure-alert-state-history/index.md

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

* Update docs/sources/alerting/set-up/configure-high-availability/_index.md

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

* Update docs/sources/alerting/set-up/configure-high-availability/_index.md

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

* Update docs/sources/alerting/set-up/configure-high-availability/_index.md

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

* Update docs/sources/alerting/fundamentals/alert-rules/_index.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* Fix broken link reference

* Fix `queries-and-conditions`

* Fix `alert-rule-evaluation` ref link

* Fix aliases + inline doc comments

* Fix broken link

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-03-14 16:58:18 +01:00
Ashley Harrison
321148511b Chore: Rewrite ConfirmButton (#84402)
* convert to function component, clean up + fix a11y

* use position: fixed;

* fix
2024-03-14 15:50:44 +00:00
renovate[bot]
81a63efab2 Update dependency rc-cascader to v3.24.0 (#84453)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-14 17:39:28 +02:00
Gilles De Mey
fe15bb5f48 Alerting: Update composable_kind.go (#84479)
update composable_kind.go
2024-03-14 17:20:23 +02:00
Alexander Zobnin
f36ad469d0 Access Control: Get global role from request params (#84469) 2024-03-14 16:17:24 +01:00
renovate[bot]
da66f560a5 Update dependency rc-tooltip to v6.2.0 (#84454)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-14 14:59:32 +00:00
Joao Silva
0b033106b0 Cascader: Add clear button (#84449) 2024-03-14 14:41:54 +00:00
Darren Janeczek
73d96b6d1f datatrails: fix: clearly identify unspecified label values (#84474)
fix: clearly identify unspecified label values
2024-03-14 10:39:01 -04:00
Gilles De Mey
8765c48389 Alerting: Remove legacy alerting (#83671)
Removes legacy alerting, so long and thanks for all the fish! 🐟

---------

Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
Co-authored-by: Sonia Aguilar <soniaAguilarPeiron@users.noreply.github.com>
Co-authored-by: Armand Grillet <armandgrillet@users.noreply.github.com>
Co-authored-by: William Wernert <rwwiv@users.noreply.github.com>
Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2024-03-14 15:36:35 +01:00
Alex Khomenko
f26344e176 Share modal: Remove deprecated Form components (#84173)
* EmailSharingConfiguration: Remove deprecated component

* CreatePublicDashboard: Remove deprecated component

* Update imports

* Update imports[2]

* Fix import
2024-03-14 16:26:15 +02:00
Yulia Shanyrova
9de3d75bea Plugins: Add reportInteraction into plugin search (#84283)
add reportInteraction into plugin search
2024-03-14 15:25:59 +01:00
Gilles De Mey
336acaf0bf Alerting: Promote new alerting detail view (#84277) 2024-03-14 15:18:01 +01:00
William Wernert
8690a42e33 Alerting: Disallow invalid rule namespace UIDs in provisioning API (#83938)
* Disallow invalid rule namespace UIDs in provisioning

Reject requests with rules that reference a nonexistent folder or have an empty folder uid
2024-03-14 09:58:25 -04:00
Timur Olzhabayev
8e90e02db2 Chore: Adding log also for cases where datasource UID length is invalid (#84443)
* Adding log also for datasource length
2024-03-14 14:49:07 +01:00
github-actions[bot]
660fe64bc6 I18n: Download translations from Crowdin (#84458)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-14 14:37:33 +02:00
Karl Persson
8d9521fb6d Refactor: Email verification (#84393)
* Update template names

* Add verifier that we can use to start verify process

* Use userVerifier when verifying email on update

* Add tests
---------

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2024-03-14 13:25:28 +01:00
Laura Fernández
38a8bf10f3 TimeRangePicker: Show UTC+00:00 instead of just UTC (#84395) 2024-03-14 13:06:34 +01:00
github-actions[bot]
ec5e18cd93 I18n: Download translations from Crowdin (#84435)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-14 11:45:51 +00:00
Gábor Farkas
97521ef988 postgres: improve snapshot-tests for long/wide situations (#84387) 2024-03-14 12:37:04 +01:00
Piotr Jamróz
0c4e0d0f70 Explore: Reorganize useStateSync code (#84281)
* Reorganize the code

* Simplify syncToURL

* Introduce InitState type
2024-03-14 13:27:18 +02:00
linoman
831ee9ee16 samlsettings: add sso settings saml feature flag (#84433)
* add feature flag for ssosettings saml configuration

* add generated files
2024-03-14 12:04:45 +01:00
Andreas Christou
391d14d091 Chore: Bump update checker interval to 1 day (#84404)
* Bump interval to 1hr

* 2 hours is better than 1

* Bump further to 1 day
2024-03-14 13:00:26 +02:00
Fabrizio
917b66bb7a Jaeger: Fix flaky test (#84441) 2024-03-14 12:54:04 +02:00
renovate[bot]
3692af05f8 Update dependency i18next-parser to v8.13.0 (#84437)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-14 10:46:12 +00:00
renovate[bot]
3dc7c4a2e3 Update dependency i18next to v23.10.1 (#84436)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-14 10:45:38 +00:00
dependabot[bot]
187d1afb9c Bump peter-murray/workflow-application-token-action from 2 to 3 (#84236)
Bumps [peter-murray/workflow-application-token-action](https://github.com/peter-murray/workflow-application-token-action) from 2 to 3.
- [Release notes](https://github.com/peter-murray/workflow-application-token-action/releases)
- [Commits](https://github.com/peter-murray/workflow-application-token-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: peter-murray/workflow-application-token-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-14 11:25:36 +01:00
Dmitry Filimonov
33154abcd9 FlameGraph: adds ability to add context menu items (#81675)
* pyroscope: adds ability to add context menu items

* moves things around

* removes console.log

* improvements

* Change the extra context button API shape

* Add test

* lint

---------

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2024-03-14 11:00:30 +01:00
renovate[bot]
40c2c2d6b8 Update dependency @grafana/scenes to v3.13.1 2024-03-14 09:54:46 +00:00
Josh Hunt
e6949d9838 E2C: Resources table (#84317)
* first pass at mock api and table

* finish up resources table

* i18n

* centre icon:
2024-03-14 09:46:18 +00:00
Torkel Ödegaard
5d23bc48b4 DashboardScene: Fixes panel editor padding (#84426) 2024-03-14 10:37:26 +01:00
renovate[bot]
0c472ff00d Update dependency eslint-plugin-jsdoc to v48.2.1 (#84427)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-14 11:34:14 +02:00
renovate[bot]
84cbd5fe5c Update dependency eslint-plugin-react to v7.34.0 (#84428)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-14 11:30:50 +02:00
dependabot[bot]
5cc92b6202 Bump frabert/replace-string-action from 2.0 to 2.5 (#84235)
Bumps [frabert/replace-string-action](https://github.com/frabert/replace-string-action) from 2.0 to 2.5.
- [Release notes](https://github.com/frabert/replace-string-action/releases)
- [Commits](https://github.com/frabert/replace-string-action/compare/v2.0...v2.5)

---
updated-dependencies:
- dependency-name: frabert/replace-string-action
  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>
2024-03-14 10:20:24 +01:00
renovate[bot]
0b806597c3 Update dependency date-fns to v3.4.0 (#84390)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-14 09:10:59 +00:00
renovate[bot]
1d96707295 Update dependency eslint-plugin-jest to v27.9.0 (#84425)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-14 10:56:05 +02:00
renovate[bot]
b3f28205a1 Update dependency @grafana/scenes to v3.13.0 (#84405)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-14 08:35:41 +00:00
Pepe Cano
e1d9aa5a7b Alerting docs: document HTTP API to create templates (#84055) 2024-03-14 09:01:13 +01:00
Charandas
b6a020148b K8s: disallow MT storage functionality for Aggregator builders (#84408) 2024-03-14 01:54:30 +02:00
renovate[bot]
3696eca280 Update dependency diff to v5.2.0 (#84391)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-13 17:45:47 +00:00
Nathan Marrs
9573c13223 Canvas: Add universal data link support (#84142) 2024-03-13 19:30:12 +02:00
Oscar Kilhed
0fe5b62fa5 Dashboard scenes: Unlink library panel inside edit mode (#84355)
Unlink library panel inside edit mode
2024-03-13 18:22:22 +01:00
Kevin Minehart
cf6bed7ae5 Trigger downstream from grafana and not the mirror (#84381) 2024-03-13 12:21:08 -05:00
Sven Grossmann
34f9bff9e0 Loki: Fix null pointer exception in case request returned an error (#84398)
Loki: Fix nullpointer in case query returned an error
2024-03-13 18:14:21 +01:00
David Harris
d3ef762cb9 docs: update angular guidance (#84363)
* docs: update angular guidance

* Update docs/sources/developers/angular_deprecation/_index.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* Update docs/sources/developers/angular_deprecation/_index.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* update

---------

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-03-13 16:42:48 +00:00
mschaul
3a2c7d8a99 Transformations: Fix series to rows to work with only one series (#84232) 2024-03-13 10:28:29 -06:00
Giuseppe Guerra
f554bc8224 Chore: Remove go mod replace directives for otel dependencies (#81628)
* Chore: Remove go mod replace directives for otel dependencies

* go mod tidy
2024-03-13 18:27:44 +02:00
Victor Marin
90e0f8cab6 Allows re-entering edit mode after version restore (#84298)
* Allows re-entering edit mode after version restore

* refactor

* revert to previous commit
2024-03-13 18:24:26 +02:00
Selene
5c7849417b Schemas: Replace registry generation and github workflow (#83490)
* Create small registries for core and composable kinds

* Update workflow with new registries

* Fix imports in plugin schemas and deleted old registry generation files

* Remove verification and maturity

* Modify registries and add missing composable information to make schemas in kind-registry work

* Add missing aliases

* Remove unused templates

* Remove kinds verification

* Format generated code

* Add gen header

* Delete unused code and clean path in composable template

* Delete kind-registry loader

* Delete unused code

* Update License link

* Update codeowners path

* Sort imports

* More cleanup

* Remove verify-kinds.yml from codeowners

* Fix lint

* Update composable_kidns

* Fix cue extension

* Restore verify-kinds to avoid to push outdated kind's registry

* Fix composable format

* Restore code owners for verify-kinds

* Remove verify check
2024-03-13 18:05:21 +02:00
Alexander Zobnin
fd9031ca37 Access Control: Get org from request data for authorization (#84359)
* Access Control: Get org from request data for authorization

* move type to models

* Update pkg/services/accesscontrol/middleware.go

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

* refactor

* refactor

* Fix linter

---------

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2024-03-13 17:05:03 +01:00
renovate[bot]
d480d3296c Update d3 (#84383)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-13 15:42:18 +00:00
renovate[bot]
6cc51b21d1 Update dependency @grafana/scenes to v3.12.0 (#84385)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-13 17:36:04 +02:00
Gábor Farkas
eca1bba01e postgres: add more tests (to handle zero-rows queries) (#84384) 2024-03-13 16:23:50 +01:00
renovate[bot]
2420c5aa4d Update dependency @types/node to v20.11.27 2024-03-13 15:17:45 +00:00
Dominik Prokop
8c7e65f6f4 Dashboard settings: Allow saving dashboard from JSON model view (#84343)
* Dashboard settings: Allow saving dashboard from JSON model view

* Dashboard settings: Allow saving dashboard from JSON model view

* Review fix
2024-03-13 16:15:40 +01:00
Ivana Huckova
447e72fe43 Docs: Add information about supported Loki versions by Loki data source (#84376)
* Docs: Add Loki supported versions

* Update
2024-03-13 16:03:20 +01:00
renovate[bot]
bc2d7cf8e1 Update dependency xss to v1.0.15 (#84379)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-13 15:02:06 +00:00
kay delaney
1e02c831ad Chore: Bump esbuild and esbuild-loader (#84164)
Chore: Bump esbuild and related dependencies
2024-03-13 14:39:30 +00:00
Joey
2f0784186b Tempo: Minor update to fix Tempo dev env as new vParquet used (#84348)
* Minor update to fix Tempo dev env as new vParquet used

* Remove vParquet version
2024-03-13 14:22:57 +00:00
Joey
1f2e9a544d Tempo: Remove Loki tab (#84346)
* Update docs

* Remove loki tab from config settings

* Remove loki query field

* Remove loki search from ds, resultTransformer, tracking and tests

* Cleanup removal of loki search

* Remove loki section from query editor docs

* Remove search type
2024-03-13 14:22:20 +00:00
Georges Chaudy
06b7f6befa k8s: ensure unified storage address is populated from config ini (#84373)
fix: ensure unified storage address is populated from config ini
2024-03-13 15:17:26 +01:00
renovate[bot]
f2567f5100 Update dependency webpackbar to v6.0.1 2024-03-13 13:49:43 +00:00
Misi
f5c78e0ad9 RBAC: Add ActionSettingsRead action to general.auth.config writer (#84366)
Add ActionSettingsRead action to general.auth.config writer
2024-03-13 14:48:13 +01:00
Sergej-Vlasov
c0d0f13a8d DashboardScene: Reset query variable query and definition on datasource change (#84347)
reset query variable query and definition on datasource change
2024-03-13 15:41:03 +02:00
Erik Sundell
c0933fa6bb Chore: Bump to latest version of plugin-e2e (#84370)
bump plugin-e2e and update tests
2024-03-13 14:37:28 +01:00
renovate[bot]
0604ddac13 Update dependency nanoid to v5.0.6 (#84372)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-13 15:28:29 +02:00
Gábor Farkas
0981403373 PostgreSQL: Display correct initial value for tls mode (#84356) 2024-03-13 14:23:17 +01:00
renovate[bot]
cd545ecb71 Update dependency dompurify to v3.0.9 (#84371)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-13 13:10:37 +00:00
renovate[bot]
d6acb474cf Update dependency @types/react-dom to v18.2.22 2024-03-13 12:47:58 +00:00
renovate[bot]
13f597ef63 Update dependency @glideapps/glide-data-grid to v6.0.3 (#84361)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-13 12:25:28 +00:00
Alex Khomenko
7feeb7ce4e Cascader: Add id prop (#84240)
* Cascader: Add id prop

* Remove placeholder
2024-03-13 14:01:24 +02:00
Matias Chomicki
a89f1c2200 Popover Menu: fix issue hiding menu behind scrollable container (#84311)
* PopoverMenu: change position to fixed

* PopoverMenu: close on empty selectionchange

* Popover Menu: do not let menu overflow the window dimensions

* Prettier
2024-03-13 13:41:18 +02:00
Jack Westbrook
6599fa805d Plugins: Always load decoupled frontend assets from builds (#81873)
* Wip

* Wip

* Adapt to load external module

* build: remove cloudmonitoring from built_in_plugins, clean up webpack output

* chore(plugins): remove decoupled plugins from package.json deps

* chore(codeowners): update file for nx.json

* revert(webpack): put back path in config

* build(frontend): use nx to run prod builds of decoupled plugins with yarn build

* style(prometheus): run prettier-write to fix tsconfig.json

* style(backend): remove unused subFile.isDistDir

* revert(locales): remove formatting changes adding new line at end of files

* chore(webpack): clean up dev output

* build(nx): make grafana an nx project, bump lerna and nx

* build(plugin-configs): move cache directory to node_modules

* style(datasource-plugins): add eslint ignore for .gen.ts files

* chore(codeowners): add frontend-ops as owner of project.json

* build(webpack): add getDecoupledPlugins to automatically ignore when watching

* ci(drone): skip nx cache when building frontend packages

* style(ci): fix missing trailing comma

* Revert "style(ci): fix missing trailing comma"

This reverts commit 7520d41576.

* Revert "ci(drone): skip nx cache when building frontend packages"

This reverts commit 46938883ac.

* feat(zipkin): remove from grafana core bundle

* chore(npm): bump nx package to latest 18.0.8

* docs(dev-guide): add a note about what yarn start now builds

---------

Co-authored-by: Andres Martinez <andres.martinez@grafana.com>
2024-03-13 12:40:09 +01:00
Selene
75ea33e0cd Schemas: Delete unused code from the previous refactors (#84254)
* Delete unused code from the previous refactors

* Sort imports
2024-03-13 12:30:05 +01:00
Ivana Huckova
2a1a5145d0 Elasticsearch: Fix using of individual query time ranges when querying (#84201)
* WIP - proof of concept

* Update pkg/tsdb/elasticsearch/client/client.go

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>

* update and add test

* lint

* Fix lint

* Bring back logging when creating client

---------

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2024-03-13 12:49:35 +02:00
Fabrizio
8ed4d5127f Jaeger: Add tests (#83431) 2024-03-13 11:38:17 +01:00
Ivana Huckova
154896b47e Docs: Update documentation for Elasticsearch (#84350)
* Docs: Update documentation for Elasticsearch lucene query

* Update docs/sources/datasources/elasticsearch/query-editor/index.md

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>

* Update docs/sources/datasources/elasticsearch/query-editor/index.md

---------

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2024-03-13 12:25:28 +02:00
Timur Olzhabayev
c6140b9893 Docs: Aligning fallback values with documentation (#83617)
aligning fallback values with documentation
2024-03-13 11:19:04 +02:00
Andres Martinez Gotor
c061cc33cc Chore: Use response limit middleware from SDK (#83915) 2024-03-13 10:14:16 +01:00
Gábor Farkas
ecd6de826a Postgres: Switch the datasource plugin from lib/pq to pgx (#83768)
postgres: switch from lib/pq to pgx
2024-03-13 09:52:39 +01:00
Mihai Doarna
2acd48d1c2 SSO: fix mergeSettings() in case the DB contains empty URLs (#84290)
* fix mergeSettings() in case the db contains empty strings

* use correct github urls in test

* overwrite only urls

* update comment for mergeSettings()
2024-03-13 10:31:17 +02:00
linoman
66fa310fba SAMLSettings: implement settings strategy (#84191)
* add strategy and tests

* use settings provider service and remove multiple providers strategy

* update codeowners file

* reload from settings provider
2024-03-13 09:14:42 +01:00
Domas
9b2058f814 TracesPanel: Expose focusedSpanLink and createFocusSpanLink as options (#84060)
expose focus span link via traces panel options
2024-03-13 09:23:51 +02:00
Alex Khomenko
e6c20e91bc UserInviteForm: Remove deprecated Form components (#84293)
* UserInviteForm: Remove deprecated Form components

* Use the Form rom core
2024-03-13 08:52:57 +02:00
Leon Sorokin
608b40b2a8 Transforms: Fix field matching in Format time, and add tpl var interpolation (#84239) 2024-03-12 17:55:23 -05:00
Leon Sorokin
220fea966b CursorSync: Extract EventBus logic into shared plugin (#84111) 2024-03-12 17:15:38 -05:00
Sarah Zinger
3f5526b915 Cloudwatch: Fix issue with Grafana Assume Role (#84315) 2024-03-12 16:30:54 -04:00
Charandas
0eee72824c K8s: omit CABundle until insecure is false (#84323) 2024-03-12 21:58:02 +02:00
Yuri Tseretyan
cfc3957894 Alerting: move store.ErrAlertRuleGroupNotFound to models package (#84308)
move ErrAlertRuleGroupNotFound to models to avoid future circular dependencies
2024-03-12 15:38:21 -04:00
Isabel Matwawana
e552e21221 Docs: clarify query formatting for time range variable queries (#84074)
* Added time range variable guidance

* Reworded

* Applied review suggestion
2024-03-12 15:37:50 -04:00
Isabel Matwawana
9da48a8a48 Docs: add table visualization for logs entry to what's new (#84313)
Added new entry
2024-03-12 13:28:58 -04:00
Andres Martinez Gotor
265200799d Chore: Update grafana-plugin-sdk (#84289) 2024-03-12 17:13:23 +01:00
Gilles De Mey
e6150a792a Alerting: Always omit IDs from all routes when updating notification policy tree (#84304) 2024-03-12 18:04:49 +02:00
renovate[bot]
e421ff3e2c Update dependency webpack-dev-server to v5.0.3 2024-03-12 15:40:14 +00:00
Aaron Godin
5c96b90852 docs: rewrite grafana-com oauth to better align with naming conventions (#84294)
* docs: rewrite grafana-com oauth to better align with naming conventions

* docs: update links used to grafana-cloud auth page
2024-03-12 10:38:43 -05:00
Ezequiel Victorero
98fb8fad43 Docs: Update external snapshots cloud docs (#84255)
* Docs: Update external snapshots cloud docs

* Update docs/sources/dashboards/share-dashboards-panels/index.md

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-03-12 12:22:10 -03:00
renovate[bot]
46a35775ae Update dependency @types/lodash to v4.17.0 (#84299)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-12 17:13:14 +02:00
Dominik Prokop
7c1ad64bb2 DashboardScene: Make sure dashboard prompt is shown when navigating away way from an edited dashboard (#84077)
DashboardScene: Make sure dashboard prompt is shown when navigating away from an edited dashboard

Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
2024-03-12 16:12:00 +01:00
ismail simsek
22860a7978 Chore: Use mapUtil from grafana-plugin-sdk-go (#84297)
use mapUtil from grafana-plugin-sdk-go
2024-03-12 10:08:10 -05:00
Joao Silva
6080a9c094 Cascader: Don't lose input value when typing (#84274) 2024-03-12 15:00:51 +00:00
renovate[bot]
d63bc6d2e4 Update dependency @playwright/test to v1.42.1 (#84292)
* Update dependency @playwright/test to v1.42.1

* update playwright image

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-03-12 14:53:55 +00:00
Matias Chomicki
fb172b1b33 Explore logs: remove exploreScrollableLogsContainer and track scroll to top (#84291)
* exploreScrollableLogsContainer: remove

* LogsNavigation: track scroll to top clicks

* Add missing dependency to the effect
2024-03-12 15:53:13 +01:00
Leonard Gram
f15aa2d30d CloudMigrations: draft of cloud migration tables (#83990)
* CloudMigrations: draft of cloud migration tables

* naming migration rules

* removes feature flag for migration

* tweaked db types

* removed comment
2024-03-12 15:44:10 +01:00
Marie Cruz
90ff576cb7 docs: slight update to grafana fundamentals (#84287) 2024-03-12 14:23:45 +00:00
Michael Mandrus
d69b19e431 Queries: Improve debug logging of metrics queries (#84048)
* just log everything

* fix times
2024-03-12 16:17:22 +02:00
Joey
42d8f1bef9 Tempo: Update TraceQLStreaming feature toggle stage (#84203)
Update TraceQLStreaming feature toggle stage
2024-03-12 14:10:13 +00:00
renovate[bot]
bce6a0a987 Update dependency @grafana/scenes to v3.12.0 (#84280)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-12 14:03:20 +00:00
William Wernert
10dc6c6d75 Alerting: Add "Keep Last State" backend functionality (#83940)
* Implement keep last state for state transitions

* Respect For duration when keeping state

* Only keep transition from recording an annotation

* Add keep last state option for nodata/error in UI
2024-03-12 10:00:43 -04:00
Sergey Kostrukov
fe1ed0a9e1 Azure: Add list of clouds in frontend AzureSettings (#84039)
Add list of supported clouds in AzureSettings
2024-03-12 13:49:30 +00:00
ismail simsek
ae70cd953d Chore: Use the promlib v0.0.1 (#84210)
* use the promlib v0.0.1

* add a readme

* go mod update

* replace promlib

* update readme

* update

* update go work sum

* update 2

* update readme
2024-03-12 15:25:32 +02:00
Eric Leijonmarck
0cb9f2bb8d Users: Add back check for undefined / null for value for lastSeenAtAge in table view (#84265)
bug: add check for undefined / null for value
2024-03-12 14:22:13 +01:00
Josh Hunt
6eaab9e57d E2C: Use ConfirmModal for DisconnectModal (#84279)
change disconnect modal to use confirmmodal
2024-03-12 13:07:23 +00:00
renovate[bot]
ff62474f9b Update dependency @grafana/faro-web-sdk to v1.4.2 (#84278)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-12 13:03:21 +00:00
Dominik Prokop
b8d4d28f4a DashboardScene: Fix Get Help panel menu for lib panels (#84272) 2024-03-12 13:54:55 +01:00
Dominik Prokop
39b682e333 DashboardScene: Fix dashboard being restored to initial state after successful save (#84183)
* Failing test

* Do not restore initial state after edit mode exit when dashboard is not dirty
2024-03-12 13:54:47 +01:00
Erik Sundell
2a7785c262 CI: Allow failed Playwright tests to fail entire build (#84244)
* bump plugin-e2e and fix failing test

* do not ignore failures

* generate trace on every test

* force test to fail for debugging purposes

* fix broken test

* regenerate drone file
2024-03-12 13:48:32 +01:00
renovate[bot]
7348d9cd47 Update dependency @grafana/faro-web-sdk to v1.4.2 (#84270)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-12 12:42:24 +00:00
Josh Michielsen
297d73a7df InfluxDB: Add configuration option for enabling insecure gRPC connections (#83834)
* InfluxDB: add configuration option for enabling insecure gRPC connections

* fix: add insecureGrpc to InfluxOptions

* rename options label 'gRPC' -> 'Connection'

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>

* update docs: rename options label 'gRPC' -> 'Connection'

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>

* default insecure connection boolean to false in frontend

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>

* run prettier:write

---------

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2024-03-12 13:36:11 +01:00
Gilles De Mey
388e0c27f2 Alerting: Allow inserting before or after existing policy (#83704) 2024-03-12 13:28:37 +01:00
renovate[bot]
78478dc235 Update dependency @grafana/faro-core to v1.4.2 (#84267)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-12 14:09:47 +02:00
renovate[bot]
2fe9376d12 Update dependency ol-ext to v4.0.17 2024-03-12 11:50:49 +00:00
Josh Hunt
4fc4a1c4a8 Playlists: Fix kiosk mode not activating when starting a playlist (#84262)
* Playlists: Fix Kiosk mode not activating when starting a playlist

* oops remove debugger
2024-03-12 11:48:18 +00:00
renovate[bot]
a883df633e Update dependency @types/react to v18.2.65 2024-03-12 11:30:56 +00:00
Victor Gorchilov
fa6e4bbcd0 Users: Resurrect org picker's search functionality (#78886)
[up] return search for org picker
2024-03-12 13:29:02 +02:00
Eric Leijonmarck
fbfaf8e003 OrgUsers: Refactor change LastSeenAtAge from '10 years' to 'Never' (#84247)
* refactor: change lastseenatage to Never

* removed unncessecary fragments
2024-03-12 12:18:33 +01:00
ismail simsek
c45f96e9de Chore: Fix feature toggle docs (#84256)
update docs
2024-03-12 12:07:07 +01:00
Alex Khomenko
59fed9278b Switch: Remove "transparent" prop (#83705)
* Switch: Remove transparent prop

* Cleanup

* Remove redundant prop
2024-03-12 12:51:58 +02:00
Sofia Papagiannaki
22d8258e48 Postgres: Allow disabling SNI on SSL-enabled connections (#83892)
* Postgres: Allow disabling SNI on SSL-enabled connections

* Update docs/sources/setup-grafana/configure-grafana/_index.md

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

---------

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2024-03-12 12:03:24 +02:00
Adam Yeats
c2b94429e4 Google Cloud Monitor: Fix res being accessed after it becomes nil in promql_query.go (#84223)
Fix res being accessed after it becomes nil in promql_query.go
2024-03-12 10:38:16 +01:00
renovate[bot]
3085d53802 Update dependency @types/node to v20.11.26 2024-03-12 09:32:25 +00:00
renovate[bot]
6e661fa770 Update babel monorepo to v7.24.0 (#84206)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-12 08:46:11 +00:00
Misi
63f1c30313 Auth: Set the default org after User login (#83918)
* poc

* add logger, skip hook when user is not assigned to default org

* Add tests, move to hook folder

* docs

* Skip for OrgId < 1

* Address feedback

* Update docs/sources/setup-grafana/configure-grafana/_index.md

* lint

* Move the hook to org_sync.go

* Update pkg/services/authn/authnimpl/sync/org_sync.go

* Handle the case when GetUserOrgList returns error

---------

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2024-03-12 09:35:13 +01:00
Erik Sundell
8c06c0dea7 Panel edit: Add e2e selectors to input fields (#83246)
add selectors for input fields
2024-03-12 09:17:41 +01:00
Karl Persson
6ea9f0c447 AuthN: Use fetch user sync hook for render keys connected to a user (#84080)
* Use fetch user sync hook for render keys connected to a user
2024-03-12 09:15:14 +01:00
Victor Marin
f50624d257 Scenes: Duplicate library panels (#84159)
duplicate library panels
2024-03-12 10:11:15 +02:00
linoman
298384cea9 Disable skip button when strong password feature is enabled (#84211) 2024-03-12 08:31:52 +01:00
Armand Grillet
e33e219a9a Remove legacy alerting docs (#84190) 2024-03-12 05:37:41 +01:00
Charandas
da327ce807 K8s: enable insecure to skip server cert validation for now (#84038) 2024-03-12 01:13:14 +02:00
Alexander Weaver
6c5e94095d Alerting: Scheduler and registry handle rules by an interface (#84044)
* export Evaluation

* Export Evaluation

* Export RuleVersionAndPauseStatus

* export Eval, create interface

* Export update and add to interface

* Export Stop and Run and add to interface

* Registry and scheduler use rule by interface and not concrete type

* Update factory to use interface, update tests to work over public API rather than writing to channels directly

* Rename map in registry

* Rename getOrCreateInfo to not reference a specific implementation

* Genericize alertRuleInfoRegistry into ruleRegistry

* Rename alertRuleInfo to alertRule

* Comments on interface

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

Co-authored-by: Jean-Philippe Quéméner <JohnnyQQQQ@users.noreply.github.com>

---------

Co-authored-by: Jean-Philippe Quéméner <JohnnyQQQQ@users.noreply.github.com>
2024-03-11 22:57:38 +02:00
Oscar Kilhed
0b2640e9ff Dashboard scenes: Editing library panels. (#83223)
* wip

* Refactor find panel by key

* clean up lint, make isLoading optional

* change library panel so that the dashboard key is attached to the panel instead of the library panel

* do not reload everything when the library panel is already loaded

* Progress on library panel options in options pane

* We can skip building the edit scene until we have the library panel loaded

* undo changes to findLibraryPanelbyKey, changes not necessary when the panel has the findable id instead of the library panel

* fix undo

* make sure the save model gets the id from the panel and not the library panel

* remove non necessary links and data providers from dummy loading panel

* change library panel so that the dashboard key is attached to the panel instead of the library panel

* make sure the save model gets the id from the panel and not the library panel

* do not reload everything when the library panel is already loaded

* Fix merge issue

* Clean up

* lint cleanup

* wip saving

* working save

* use title from panel model

* move library panel api functions

* fix issue from merge

* Add confirm save modal. Update library panel to response from save request. Add library panel information box to panel options

* Better naming

* Remove library panel from viz panel state, use sourcePanel.parent instead. Fix edited by time formatting

* Add tests for editing library panels

* implement changed from review feedback

* minor refactor from feedback
2024-03-11 20:48:27 +01:00
David Harris
efbcd53119 docs: update angular deprecation notice (#84227)
update docs
2024-03-11 19:17:20 +00:00
Dan Cech
1ffd1cc8f4 Storage: Support listing deleted entities (#84043)
* support listing deleted entities

* fold listDeleted into List
2024-03-11 13:59:54 -04:00
Isabel Matwawana
ffd0bdafe4 Docs: fix broken link (#84103)
* Fixed broken link

* Removed trailing slash

* Ran prettier
2024-03-11 12:57:51 -04:00
Isabel Matwawana
e2cc5e57e5 Docs: add missing alt text (#84102)
Added missing alt text
2024-03-11 12:57:02 -04:00
Tobias Skarhed
5ae9cd561c Accessibility: Improve HelpModal markup (#83171)
* HelpModal: Make more accessible

* Remove console.log

* Handle custom keys for screen reader

* Rewrite using tables

* Increase gap

* Change order of help categories

* HelpModal: Add tabIndex and imrpove sr-only display
2024-03-11 16:43:55 +00:00
renovate[bot]
3449a43ff2 Update react monorepo 2024-03-11 16:24:00 +00:00
2653 changed files with 97290 additions and 78430 deletions

View File

@@ -5,6 +5,9 @@
//
exports[`better eslint`] = {
value: `{
"e2e/scenes/utils/support/types.ts:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"]
],
"e2e/utils/support/types.ts:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"]
],
@@ -129,6 +132,9 @@ exports[`better eslint`] = {
[0, 0, 0, "Do not use any type assertions.", "1"],
[0, 0, 0, "Do not use any type assertions.", "2"]
],
"packages/grafana-data/src/field/fieldState.ts:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"]
],
"packages/grafana-data/src/field/overrides/processors.ts:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"],
[0, 0, 0, "Unexpected any. Specify a different type.", "1"],
@@ -765,6 +771,9 @@ exports[`better eslint`] = {
[0, 0, 0, "Unexpected any. Specify a different type.", "11"],
[0, 0, 0, "Unexpected any. Specify a different type.", "12"]
],
"packages/grafana-runtime/src/services/pluginExtensions/getPluginExtensions.ts:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"]
],
"packages/grafana-runtime/src/utils/DataSourceWithBackend.ts:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"],
[0, 0, 0, "Unexpected any. Specify a different type.", "1"]
@@ -1133,9 +1142,6 @@ exports[`better eslint`] = {
"packages/grafana-ui/src/utils/useAsyncDependency.ts:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"]
],
"plugins-bundled/internal/input-datasource/src/InputDatasource.ts:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"]
],
"public/app/core/TableModel.ts:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"],
[0, 0, 0, "Unexpected any. Specify a different type.", "1"],
@@ -1159,11 +1165,9 @@ exports[`better eslint`] = {
[0, 0, 0, "Unexpected any. Specify a different type.", "4"],
[0, 0, 0, "Do not use any type assertions.", "5"],
[0, 0, 0, "Do not use any type assertions.", "6"],
[0, 0, 0, "Do not use any type assertions.", "7"],
[0, 0, 0, "Unexpected any. Specify a different type.", "8"],
[0, 0, 0, "Do not use any type assertions.", "9"],
[0, 0, 0, "Do not use any type assertions.", "10"],
[0, 0, 0, "Do not use any type assertions.", "11"]
[0, 0, 0, "Unexpected any. Specify a different type.", "7"],
[0, 0, 0, "Do not use any type assertions.", "8"],
[0, 0, 0, "Do not use any type assertions.", "9"]
],
"public/app/core/components/GraphNG/hooks.ts:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"]
@@ -1425,83 +1429,18 @@ exports[`better eslint`] = {
[0, 0, 0, "Styles should be written using objects.", "1"],
[0, 0, 0, "Styles should be written using objects.", "2"]
],
"public/app/features/alerting/AlertTab.tsx:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"],
[0, 0, 0, "Unexpected any. Specify a different type.", "1"]
],
"public/app/features/alerting/AlertTabCtrl.ts:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"],
[0, 0, 0, "Unexpected any. Specify a different type.", "1"],
[0, 0, 0, "Unexpected any. Specify a different type.", "2"],
[0, 0, 0, "Unexpected any. Specify a different type.", "3"],
[0, 0, 0, "Unexpected any. Specify a different type.", "4"],
[0, 0, 0, "Unexpected any. Specify a different type.", "5"],
[0, 0, 0, "Unexpected any. Specify a different type.", "6"],
[0, 0, 0, "Unexpected any. Specify a different type.", "7"],
[0, 0, 0, "Unexpected any. Specify a different type.", "8"],
[0, 0, 0, "Unexpected any. Specify a different type.", "9"],
[0, 0, 0, "Unexpected any. Specify a different type.", "10"],
[0, 0, 0, "Unexpected any. Specify a different type.", "11"],
[0, 0, 0, "Unexpected any. Specify a different type.", "12"],
[0, 0, 0, "Unexpected any. Specify a different type.", "13"],
[0, 0, 0, "Unexpected any. Specify a different type.", "14"],
[0, 0, 0, "Unexpected any. Specify a different type.", "15"],
[0, 0, 0, "Unexpected any. Specify a different type.", "16"],
[0, 0, 0, "Unexpected any. Specify a different type.", "17"],
[0, 0, 0, "Unexpected any. Specify a different type.", "18"],
[0, 0, 0, "Unexpected any. Specify a different type.", "19"],
[0, 0, 0, "Unexpected any. Specify a different type.", "20"],
[0, 0, 0, "Unexpected any. Specify a different type.", "21"],
[0, 0, 0, "Unexpected any. Specify a different type.", "22"],
[0, 0, 0, "Do not use any type assertions.", "23"],
[0, 0, 0, "Unexpected any. Specify a different type.", "24"],
[0, 0, 0, "Unexpected any. Specify a different type.", "25"],
[0, 0, 0, "Unexpected any. Specify a different type.", "26"],
[0, 0, 0, "Unexpected any. Specify a different type.", "27"],
[0, 0, 0, "Unexpected any. Specify a different type.", "28"],
[0, 0, 0, "Unexpected any. Specify a different type.", "29"],
[0, 0, 0, "Unexpected any. Specify a different type.", "30"],
[0, 0, 0, "Unexpected any. Specify a different type.", "31"],
[0, 0, 0, "Unexpected any. Specify a different type.", "32"],
[0, 0, 0, "Unexpected any. Specify a different type.", "33"]
],
"public/app/features/alerting/EditNotificationChannelPage.tsx:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"]
],
"public/app/features/alerting/StateHistory.tsx:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"],
[0, 0, 0, "Unexpected any. Specify a different type.", "1"],
[0, 0, 0, "Styles should be written using objects.", "2"]
],
"public/app/features/alerting/TestRuleResult.tsx:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"],
[0, 0, 0, "Unexpected any. Specify a different type.", "1"],
[0, 0, 0, "Unexpected any. Specify a different type.", "2"]
],
"public/app/features/alerting/components/NotificationChannelForm.tsx:5381": [
[0, 0, 0, "Styles should be written using objects.", "0"],
[0, 0, 0, "Styles should be written using objects.", "1"],
[0, 0, 0, "Styles should be written using objects.", "2"]
],
"public/app/features/alerting/components/NotificationChannelOptions.tsx:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"]
],
"public/app/features/alerting/components/OptionElement.tsx:5381": [
"public/app/features/alerting/routes.tsx:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"]
],
"public/app/features/alerting/state/ThresholdMapper.ts:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"]
],
"public/app/features/alerting/state/actions.ts:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"],
[0, 0, 0, "Unexpected any. Specify a different type.", "1"],
[0, 0, 0, "Unexpected any. Specify a different type.", "2"]
],
"public/app/features/alerting/state/alertDef.ts:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"],
[0, 0, 0, "Unexpected any. Specify a different type.", "1"],
[0, 0, 0, "Do not use any type assertions.", "2"],
[0, 0, 0, "Unexpected any. Specify a different type.", "3"]
[0, 0, 0, "Unexpected any. Specify a different type.", "3"],
[0, 0, 0, "Unexpected any. Specify a different type.", "4"]
],
"public/app/features/alerting/state/query_part.ts:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"],
@@ -1548,11 +1487,7 @@ exports[`better eslint`] = {
[0, 0, 0, "Styles should be written using objects.", "11"],
[0, 0, 0, "Styles should be written using objects.", "12"],
[0, 0, 0, "Styles should be written using objects.", "13"],
[0, 0, 0, "Styles should be written using objects.", "14"],
[0, 0, 0, "Styles should be written using objects.", "15"],
[0, 0, 0, "Styles should be written using objects.", "16"],
[0, 0, 0, "Styles should be written using objects.", "17"],
[0, 0, 0, "Styles should be written using objects.", "18"]
[0, 0, 0, "Styles should be written using objects.", "14"]
],
"public/app/features/alerting/unified/NotificationPolicies.tsx:5381": [
[0, 0, 0, "Styles should be written using objects.", "0"]
@@ -2117,32 +2052,10 @@ exports[`better eslint`] = {
"public/app/features/alerting/unified/components/rule-editor/rule-types/RuleTypePicker.tsx:5381": [
[0, 0, 0, "Styles should be written using objects.", "0"]
],
"public/app/features/alerting/unified/components/rule-viewer/RuleViewer.v1.tsx:5381": [
[0, 0, 0, "Styles should be written using objects.", "0"],
[0, 0, 0, "Styles should be written using objects.", "1"],
[0, 0, 0, "Styles should be written using objects.", "2"],
[0, 0, 0, "Styles should be written using objects.", "3"],
[0, 0, 0, "Styles should be written using objects.", "4"],
[0, 0, 0, "Styles should be written using objects.", "5"],
[0, 0, 0, "Styles should be written using objects.", "6"],
[0, 0, 0, "Styles should be written using objects.", "7"],
[0, 0, 0, "Styles should be written using objects.", "8"],
[0, 0, 0, "Styles should be written using objects.", "9"],
[0, 0, 0, "Styles should be written using objects.", "10"],
[0, 0, 0, "Styles should be written using objects.", "11"],
[0, 0, 0, "Styles should be written using objects.", "12"]
],
"public/app/features/alerting/unified/components/rule-viewer/RuleViewerLayout.tsx:5381": [
[0, 0, 0, "Styles should be written using objects.", "0"],
[0, 0, 0, "Styles should be written using objects.", "1"]
],
"public/app/features/alerting/unified/components/rule-viewer/RuleViewerVisualization.tsx:5381": [
[0, 0, 0, "Styles should be written using objects.", "0"],
[0, 0, 0, "Styles should be written using objects.", "1"],
[0, 0, 0, "Styles should be written using objects.", "2"],
[0, 0, 0, "Styles should be written using objects.", "3"],
[0, 0, 0, "Styles should be written using objects.", "4"]
],
"public/app/features/alerting/unified/components/rules/ActionButton.tsx:5381": [
[0, 0, 0, "Styles should be written using objects.", "0"]
],
@@ -2319,23 +2232,6 @@ exports[`better eslint`] = {
[0, 0, 0, "Styles should be written using objects.", "3"],
[0, 0, 0, "Styles should be written using objects.", "4"]
],
"public/app/features/alerting/unified/home/GettingStarted.tsx:5381": [
[0, 0, 0, "Styles should be written using objects.", "0"],
[0, 0, 0, "Styles should be written using objects.", "1"],
[0, 0, 0, "Styles should be written using objects.", "2"],
[0, 0, 0, "Styles should be written using objects.", "3"],
[0, 0, 0, "Styles should be written using objects.", "4"],
[0, 0, 0, "Styles should be written using objects.", "5"],
[0, 0, 0, "Styles should be written using objects.", "6"],
[0, 0, 0, "Styles should be written using objects.", "7"],
[0, 0, 0, "Styles should be written using objects.", "8"],
[0, 0, 0, "Styles should be written using objects.", "9"],
[0, 0, 0, "Styles should be written using objects.", "10"],
[0, 0, 0, "Styles should be written using objects.", "11"],
[0, 0, 0, "Styles should be written using objects.", "12"],
[0, 0, 0, "Styles should be written using objects.", "13"],
[0, 0, 0, "Styles should be written using objects.", "14"]
],
"public/app/features/alerting/unified/hooks/useAlertmanagerConfig.ts:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"]
],
@@ -2414,9 +2310,6 @@ exports[`better eslint`] = {
[0, 0, 0, "Do not use any type assertions.", "2"],
[0, 0, 0, "Do not use any type assertions.", "3"]
],
"public/app/features/annotations/components/StandardAnnotationQueryEditor.tsx:5381": [
[0, 0, 0, "Styles should be written using objects.", "0"]
],
"public/app/features/annotations/events_processing.ts:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"]
],
@@ -2444,19 +2337,13 @@ exports[`better eslint`] = {
[0, 0, 0, "Unexpected any. Specify a different type.", "3"],
[0, 0, 0, "Unexpected any. Specify a different type.", "4"]
],
"public/app/features/canvas/elements/ellipse.tsx:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"]
],
"public/app/features/canvas/runtime/element.tsx:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"],
[0, 0, 0, "Do not use any type assertions.", "1"],
[0, 0, 0, "Unexpected any. Specify a different type.", "2"],
[0, 0, 0, "Do not use any type assertions.", "2"],
[0, 0, 0, "Do not use any type assertions.", "3"],
[0, 0, 0, "Unexpected any. Specify a different type.", "4"],
[0, 0, 0, "Do not use any type assertions.", "5"],
[0, 0, 0, "Unexpected any. Specify a different type.", "6"],
[0, 0, 0, "Do not use any type assertions.", "7"],
[0, 0, 0, "Unexpected any. Specify a different type.", "8"]
[0, 0, 0, "Do not use any type assertions.", "4"],
[0, 0, 0, "Do not use any type assertions.", "5"]
],
"public/app/features/canvas/runtime/frame.tsx:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"]
@@ -2489,9 +2376,6 @@ exports[`better eslint`] = {
[0, 0, 0, "Styles should be written using objects.", "7"],
[0, 0, 0, "Styles should be written using objects.", "8"]
],
"public/app/features/connections/tabs/ConnectData/NoResults/NoResults.tsx:5381": [
[0, 0, 0, "Styles should be written using objects.", "0"]
],
"public/app/features/correlations/CorrelationsPage.tsx:5381": [
[0, 0, 0, "Styles should be written using objects.", "0"],
[0, 0, 0, "Styles should be written using objects.", "1"],
@@ -2528,26 +2412,19 @@ exports[`better eslint`] = {
[0, 0, 0, "Unexpected any. Specify a different type.", "0"],
[0, 0, 0, "Unexpected any. Specify a different type.", "1"]
],
"public/app/features/dashboard-scene/saving/SaveDashboardForm.tsx:5381": [
[0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "0"],
[0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "1"]
],
"public/app/features/dashboard-scene/saving/getDashboardChanges.ts:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"],
[0, 0, 0, "Do not use any type assertions.", "1"]
],
"public/app/features/dashboard-scene/saving/getSaveDashboardChange.ts:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"],
[0, 0, 0, "Do not use any type assertions.", "1"]
],
"public/app/features/dashboard-scene/saving/shared.tsx:5381": [
[0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "0"]
[0, 0, 0, "Unexpected any. Specify a different type.", "0"],
[0, 0, 0, "Do not use any type assertions.", "1"],
[0, 0, 0, "Do not use any type assertions.", "2"]
],
"public/app/features/dashboard-scene/scene/PanelMenuBehavior.tsx:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"],
[0, 0, 0, "Unexpected any. Specify a different type.", "1"],
[0, 0, 0, "Do not use any type assertions.", "2"]
],
"public/app/features/dashboard-scene/serialization/angularMigration.test.ts:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"]
],
"public/app/features/dashboard-scene/serialization/transformSaveModelToScene.test.ts:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"],
[0, 0, 0, "Unexpected any. Specify a different type.", "1"],
@@ -2564,16 +2441,21 @@ exports[`better eslint`] = {
[0, 0, 0, "Unexpected any. Specify a different type.", "6"],
[0, 0, 0, "Unexpected any. Specify a different type.", "7"],
[0, 0, 0, "Unexpected any. Specify a different type.", "8"],
[0, 0, 0, "Unexpected any. Specify a different type.", "9"]
[0, 0, 0, "Unexpected any. Specify a different type.", "9"],
[0, 0, 0, "Unexpected any. Specify a different type.", "10"],
[0, 0, 0, "Unexpected any. Specify a different type.", "11"],
[0, 0, 0, "Unexpected any. Specify a different type.", "12"]
],
"public/app/features/dashboard-scene/serialization/transformSceneToSaveModel.ts:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"],
[0, 0, 0, "Do not use any type assertions.", "1"],
[0, 0, 0, "Do not use any type assertions.", "2"],
[0, 0, 0, "Do not use any type assertions.", "3"],
[0, 0, 0, "Unexpected any. Specify a different type.", "3"],
[0, 0, 0, "Do not use any type assertions.", "4"],
[0, 0, 0, "Do not use any type assertions.", "5"],
[0, 0, 0, "Do not use any type assertions.", "6"]
[0, 0, 0, "Do not use any type assertions.", "6"],
[0, 0, 0, "Do not use any type assertions.", "7"],
[0, 0, 0, "Do not use any type assertions.", "8"]
],
"public/app/features/dashboard-scene/settings/variables/components/VariableSelectField.tsx:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"]
@@ -2873,7 +2755,8 @@ exports[`better eslint`] = {
[0, 0, 0, "Unexpected any. Specify a different type.", "1"],
[0, 0, 0, "Do not use any type assertions.", "2"],
[0, 0, 0, "Unexpected any. Specify a different type.", "3"],
[0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "4"]
[0, 0, 0, "Do not use any type assertions.", "4"],
[0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "5"]
],
"public/app/features/dashboard/containers/DashboardPageProxy.tsx:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"]
@@ -3041,9 +2924,6 @@ exports[`better eslint`] = {
"public/app/features/datasources/components/DataSourceTypeCardList.tsx:5381": [
[0, 0, 0, "Styles should be written using objects.", "0"]
],
"public/app/features/datasources/components/EditDataSource.tsx:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"]
],
"public/app/features/datasources/components/picker/DataSourceCard.tsx:5381": [
[0, 0, 0, "Styles should be written using objects.", "0"],
[0, 0, 0, "Styles should be written using objects.", "1"],
@@ -3875,9 +3755,6 @@ exports[`better eslint`] = {
[0, 0, 0, "Unexpected any. Specify a different type.", "2"],
[0, 0, 0, "Unexpected any. Specify a different type.", "3"]
],
"public/app/features/playlist/EmptyQueryListBanner.tsx:5381": [
[0, 0, 0, "Styles should be written using objects.", "0"]
],
"public/app/features/playlist/PlaylistForm.tsx:5381": [
[0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "0"],
[0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "1"]
@@ -4182,7 +4059,10 @@ exports[`better eslint`] = {
[0, 0, 0, "Unexpected any. Specify a different type.", "0"]
],
"public/app/features/templating/template_srv.mock.ts:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"]
[0, 0, 0, "Do not use any type assertions.", "0"],
[0, 0, 0, "Do not use any type assertions.", "1"],
[0, 0, 0, "Do not use any type assertions.", "2"],
[0, 0, 0, "Do not use any type assertions.", "3"]
],
"public/app/features/templating/template_srv.ts:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"],
@@ -4199,6 +4079,12 @@ exports[`better eslint`] = {
[0, 0, 0, "Do not use any type assertions.", "11"],
[0, 0, 0, "Do not use any type assertions.", "12"]
],
"public/app/features/trails/ActionTabs/utils.ts:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"]
],
"public/app/features/trails/MetricScene.tsx:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"]
],
"public/app/features/transformers/FilterByValueTransformer/ValueMatchers/BasicMatcherEditor.tsx:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"]
],
@@ -4516,11 +4402,10 @@ exports[`better eslint`] = {
[0, 0, 0, "Unexpected any. Specify a different type.", "0"],
[0, 0, 0, "Unexpected any. Specify a different type.", "1"],
[0, 0, 0, "Unexpected any. Specify a different type.", "2"],
[0, 0, 0, "Do not use any type assertions.", "3"],
[0, 0, 0, "Unexpected any. Specify a different type.", "3"],
[0, 0, 0, "Unexpected any. Specify a different type.", "4"],
[0, 0, 0, "Unexpected any. Specify a different type.", "5"],
[0, 0, 0, "Unexpected any. Specify a different type.", "6"],
[0, 0, 0, "Do not use any type assertions.", "7"]
[0, 0, 0, "Do not use any type assertions.", "6"]
],
"public/app/features/visualization/data-hover/DataHoverRows.tsx:5381": [
[0, 0, 0, "Styles should be written using objects.", "0"]
@@ -4585,9 +4470,6 @@ exports[`better eslint`] = {
"public/app/plugins/datasource/cloudwatch/components/QueryEditor/LogsQueryEditor/LogsQueryEditor.tsx:5381": [
[0, 0, 0, "Styles should be written using objects.", "0"]
],
"public/app/plugins/datasource/cloudwatch/components/QueryEditor/LogsQueryEditor/LogsQueryFieldOld.tsx:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"]
],
"public/app/plugins/datasource/cloudwatch/components/QueryEditor/MetricsQueryEditor/DynamicLabelsField.tsx:5381": [
[0, 0, 0, "Styles should be written using objects.", "0"]
],
@@ -4816,9 +4698,6 @@ exports[`better eslint`] = {
[0, 0, 0, "Do not use any type assertions.", "0"],
[0, 0, 0, "Unexpected any. Specify a different type.", "1"]
],
"public/app/plugins/datasource/grafana-testdata-datasource/nodeGraphUtils.ts:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"]
],
"public/app/plugins/datasource/grafana-testdata-datasource/runStreams.ts:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"]
],
@@ -5125,6 +5004,12 @@ exports[`better eslint`] = {
[0, 0, 0, "Styles should be written using objects.", "0"],
[0, 0, 0, "Styles should be written using objects.", "1"]
],
"public/app/plugins/datasource/jaeger/_importedDependencies/model/transform-trace-data.tsx:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"]
],
"public/app/plugins/datasource/jaeger/_importedDependencies/types/trace.ts:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"]
],
"public/app/plugins/datasource/jaeger/configuration/ConfigEditor.tsx:5381": [
[0, 0, 0, "Styles should be written using objects.", "0"]
],
@@ -5136,6 +5021,10 @@ exports[`better eslint`] = {
[0, 0, 0, "Do not use any type assertions.", "0"],
[0, 0, 0, "Unexpected any. Specify a different type.", "1"]
],
"public/app/plugins/datasource/jaeger/helpers/createFetchResponse.ts:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"],
[0, 0, 0, "Do not use any type assertions.", "1"]
],
"public/app/plugins/datasource/jaeger/testResponse.ts:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"],
[0, 0, 0, "Unexpected any. Specify a different type.", "1"]
@@ -5392,6 +5281,12 @@ exports[`better eslint`] = {
[0, 0, 0, "Styles should be written using objects.", "18"],
[0, 0, 0, "Styles should be written using objects.", "19"]
],
"public/app/plugins/datasource/prometheus/configuration/ConfigEditorPackage.tsx:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"],
[0, 0, 0, "Unexpected any. Specify a different type.", "1"],
[0, 0, 0, "Unexpected any. Specify a different type.", "2"],
[0, 0, 0, "Unexpected any. Specify a different type.", "3"]
],
"public/app/plugins/datasource/prometheus/configuration/ExemplarsSettings.tsx:5381": [
[0, 0, 0, "Styles should be written using objects.", "0"]
],
@@ -5557,38 +5452,12 @@ exports[`better eslint`] = {
[0, 0, 0, "Unexpected any. Specify a different type.", "1"],
[0, 0, 0, "Unexpected any. Specify a different type.", "2"]
],
"public/app/plugins/datasource/tempo/LokiSearch.tsx:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"],
[0, 0, 0, "Do not use any type assertions.", "1"]
],
"public/app/plugins/datasource/tempo/ServiceGraphSection.tsx:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"]
],
"public/app/plugins/datasource/tempo/_importedDependencies/components/AdHocFilter/AdHocFilterRenderer.tsx:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"]
],
"public/app/plugins/datasource/tempo/_importedDependencies/datasources/loki/LanguageProvider.ts:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"],
[0, 0, 0, "Unexpected any. Specify a different type.", "1"]
],
"public/app/plugins/datasource/tempo/_importedDependencies/datasources/loki/monaco-query-field/MonacoQueryField.tsx:5381": [
[0, 0, 0, "Styles should be written using objects.", "0"],
[0, 0, 0, "Styles should be written using objects.", "1"],
[0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "2"],
[0, 0, 0, "Unexpected any. Specify a different type.", "3"]
],
"public/app/plugins/datasource/tempo/_importedDependencies/datasources/loki/monaco-query-field/monaco-completion-provider/CompletionDataProvider.ts:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"]
],
"public/app/plugins/datasource/tempo/_importedDependencies/datasources/loki/monaco-query-field/monaco-completion-provider/index.ts:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"]
],
"public/app/plugins/datasource/tempo/_importedDependencies/datasources/loki/types.ts:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"],
[0, 0, 0, "Unexpected any. Specify a different type.", "1"],
[0, 0, 0, "Unexpected any. Specify a different type.", "2"],
[0, 0, 0, "Unexpected any. Specify a different type.", "3"]
],
"public/app/plugins/datasource/tempo/_importedDependencies/datasources/prometheus/language_utils.ts:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"]
],
@@ -5605,12 +5474,11 @@ exports[`better eslint`] = {
[0, 0, 0, "Do not use any type assertions.", "0"]
],
"public/app/plugins/datasource/tempo/datasource.ts:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"],
[0, 0, 0, "Unexpected any. Specify a different type.", "1"],
[0, 0, 0, "Do not use any type assertions.", "2"],
[0, 0, 0, "Unexpected any. Specify a different type.", "0"],
[0, 0, 0, "Do not use any type assertions.", "1"],
[0, 0, 0, "Unexpected any. Specify a different type.", "2"],
[0, 0, 0, "Unexpected any. Specify a different type.", "3"],
[0, 0, 0, "Unexpected any. Specify a different type.", "4"],
[0, 0, 0, "Unexpected any. Specify a different type.", "5"]
[0, 0, 0, "Unexpected any. Specify a different type.", "4"]
],
"public/app/plugins/datasource/tempo/language_provider.ts:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"]
@@ -5643,38 +5511,10 @@ exports[`better eslint`] = {
"public/app/plugins/datasource/zipkin/utils/transforms.ts:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"]
],
"public/app/plugins/panel/alertGroups/AlertGroup.tsx:5381": [
[0, 0, 0, "Styles should be written using objects.", "0"],
[0, 0, 0, "Styles should be written using objects.", "1"],
[0, 0, 0, "Styles should be written using objects.", "2"],
[0, 0, 0, "Styles should be written using objects.", "3"],
[0, 0, 0, "Styles should be written using objects.", "4"],
[0, 0, 0, "Styles should be written using objects.", "5"],
[0, 0, 0, "Styles should be written using objects.", "6"]
],
"public/app/plugins/panel/alertlist/AlertInstances.tsx:5381": [
[0, 0, 0, "Styles should be written using objects.", "0"],
[0, 0, 0, "Styles should be written using objects.", "1"]
],
"public/app/plugins/panel/alertlist/AlertList.tsx:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"],
[0, 0, 0, "Unexpected any. Specify a different type.", "1"],
[0, 0, 0, "Unexpected any. Specify a different type.", "2"],
[0, 0, 0, "Styles should be written using objects.", "3"],
[0, 0, 0, "Styles should be written using objects.", "4"],
[0, 0, 0, "Styles should be written using objects.", "5"],
[0, 0, 0, "Styles should be written using objects.", "6"],
[0, 0, 0, "Styles should be written using objects.", "7"],
[0, 0, 0, "Styles should be written using objects.", "8"],
[0, 0, 0, "Styles should be written using objects.", "9"],
[0, 0, 0, "Styles should be written using objects.", "10"],
[0, 0, 0, "Styles should be written using objects.", "11"],
[0, 0, 0, "Styles should be written using objects.", "12"]
],
"public/app/plugins/panel/alertlist/AlertListMigrationHandler.ts:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"],
[0, 0, 0, "Unexpected any. Specify a different type.", "1"]
],
"public/app/plugins/panel/alertlist/UnifiedAlertList.tsx:5381": [
[0, 0, 0, "Styles should be written using objects.", "0"],
[0, 0, 0, "Styles should be written using objects.", "1"],
@@ -5878,8 +5718,8 @@ exports[`better eslint`] = {
[0, 0, 0, "Do not use any type assertions.", "15"],
[0, 0, 0, "Do not use any type assertions.", "16"]
],
"public/app/plugins/panel/histogram/Histogram.tsx:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"]
"public/app/plugins/panel/histogram/migrations.ts:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"]
],
"public/app/plugins/panel/live/LiveChannelEditor.tsx:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"],
@@ -6105,6 +5945,32 @@ exports[`better eslint`] = {
[0, 0, 0, "Unexpected any. Specify a different type.", "9"],
[0, 0, 0, "Do not use any type assertions.", "10"]
],
"public/app/plugins/panel/xychart/v2/SeriesEditor.tsx:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"],
[0, 0, 0, "Do not use any type assertions.", "1"],
[0, 0, 0, "Do not use any type assertions.", "2"],
[0, 0, 0, "Do not use any type assertions.", "3"],
[0, 0, 0, "Do not use any type assertions.", "4"]
],
"public/app/plugins/panel/xychart/v2/migrations.ts:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"],
[0, 0, 0, "Do not use any type assertions.", "1"]
],
"public/app/plugins/panel/xychart/v2/scatter.ts:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"],
[0, 0, 0, "Do not use any type assertions.", "1"],
[0, 0, 0, "Do not use any type assertions.", "2"],
[0, 0, 0, "Unexpected any. Specify a different type.", "3"],
[0, 0, 0, "Do not use any type assertions.", "4"],
[0, 0, 0, "Unexpected any. Specify a different type.", "5"],
[0, 0, 0, "Do not use any type assertions.", "6"],
[0, 0, 0, "Unexpected any. Specify a different type.", "7"],
[0, 0, 0, "Do not use any type assertions.", "8"],
[0, 0, 0, "Unexpected any. Specify a different type.", "9"]
],
"public/app/plugins/panel/xychart/v2/utils.ts:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"]
],
"public/app/store/configureStore.ts:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"]
],
@@ -6280,6 +6146,9 @@ exports[`no undocumented stories`] = {
exports[`no gf-form usage`] = {
value: `{
"e2e/scenes/utils/flows/addDataSource.ts:5381": [
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"]
],
"e2e/utils/flows/addDataSource.ts:5381": [
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"]
],
@@ -6439,9 +6308,6 @@ exports[`no gf-form usage`] = {
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"]
],
"plugins-bundled/internal/input-datasource/src/InputConfigEditor.tsx:5381": [
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"]
],
"public/app/angular/components/code_editor/code_editor.ts:5381": [
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"]
],
@@ -6549,85 +6415,6 @@ exports[`no gf-form usage`] = {
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"]
],
"public/app/features/alerting/AlertRuleList.tsx:5381": [
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"]
],
"public/app/features/alerting/partials/alert_tab.html:5381": [
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"]
],
"public/app/features/annotations/partials/event_editor.html:5381": [
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
@@ -6779,7 +6566,6 @@ exports[`no gf-form usage`] = {
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"]
],
"public/app/plugins/datasource/cloudwatch/components/QueryEditor/LogsQueryEditor/LogsQueryEditor.tsx:5381": [
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"]
],
"public/app/plugins/datasource/cloudwatch/components/QueryEditor/LogsQueryEditor/LogsQueryField.tsx:5381": [
@@ -6787,12 +6573,6 @@ exports[`no gf-form usage`] = {
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"]
],
"public/app/plugins/datasource/cloudwatch/components/QueryEditor/LogsQueryEditor/LogsQueryFieldOld.tsx:5381": [
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"]
],
"public/app/plugins/datasource/cloudwatch/components/shared/LogGroups/LegacyLogGroupNamesSelection.tsx:5381": [
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"]
@@ -6821,13 +6601,6 @@ exports[`no gf-form usage`] = {
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"]
],
"public/app/plugins/datasource/influxdb/components/editor/annotation/AnnotationEditor.tsx:5381": [
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"]
],
"public/app/plugins/datasource/influxdb/components/editor/query/QueryEditor.tsx:5381": [
@@ -6975,11 +6748,6 @@ exports[`no gf-form usage`] = {
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"]
],
"public/app/plugins/datasource/tempo/_importedDependencies/datasources/loki/LokiQueryField.tsx:5381": [
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"]
],
"public/app/plugins/datasource/zipkin/QueryField.tsx:5381": [
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"]

View File

@@ -1,4 +1,4 @@
# Auto generated binary variables helper managed by https://github.com/bwplotka/bingo v0.9. DO NOT EDIT.
# Auto generated binary variables helper managed by https://github.com/bwplotka/bingo v0.8. DO NOT EDIT.
# All tools are designed to be build inside $GOBIN.
BINGO_DIR := $(dir $(lastword $(MAKEFILE_LIST)))
GOPATH ?= $(shell go env GOPATH)
@@ -35,11 +35,11 @@ $(DRONE): $(BINGO_DIR)/drone.mod
@echo "(re)installing $(GOBIN)/drone-v1.5.0"
@cd $(BINGO_DIR) && GOWORK=off CGO_ENABLED=0 $(GO) build -mod=mod -modfile=drone.mod -o=$(GOBIN)/drone-v1.5.0 "github.com/drone/drone-cli/drone"
GOLANGCI_LINT := $(GOBIN)/golangci-lint-v1.53.3
GOLANGCI_LINT := $(GOBIN)/golangci-lint-v1.57.1
$(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.
@echo "(re)installing $(GOBIN)/golangci-lint-v1.53.3"
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=golangci-lint.mod -o=$(GOBIN)/golangci-lint-v1.53.3 "github.com/golangci/golangci-lint/cmd/golangci-lint"
@echo "(re)installing $(GOBIN)/golangci-lint-v1.57.1"
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=golangci-lint.mod -o=$(GOBIN)/golangci-lint-v1.57.1 "github.com/golangci/golangci-lint/cmd/golangci-lint"
JB := $(GOBIN)/jb-v0.5.1
$(JB): $(BINGO_DIR)/jb.mod
@@ -59,9 +59,3 @@ $(SWAGGER): $(BINGO_DIR)/swagger.mod
@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.6.0
$(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.
@echo "(re)installing $(GOBIN)/wire-v0.6.0"
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=wire.mod -o=$(GOBIN)/wire-v0.6.0 "github.com/google/wire/cmd/wire"

View File

@@ -1,5 +1,7 @@
module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT
go 1.20
go 1.21
require github.com/golangci/golangci-lint v1.53.3 // cmd/golangci-lint
toolchain go1.21.6
require github.com/golangci/golangci-lint v1.57.1 // cmd/golangci-lint

View File

@@ -42,22 +42,32 @@ cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3f
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
github.com/4meepo/tagalign v1.2.2 h1:kQeUTkFTaBRtd/7jm8OKJl9iHk0gAO+TDFPHGSna0aw=
github.com/4meepo/tagalign v1.2.2/go.mod h1:Q9c1rYMZJc9dPRkbQPpcBNCLEmY2njbAsXhQOZFE2dE=
github.com/4meepo/tagalign v1.3.3 h1:ZsOxcwGD/jP4U/aw7qeWu58i7dwYemfy5Y+IF1ACoNw=
github.com/4meepo/tagalign v1.3.3/go.mod h1:Q9c1rYMZJc9dPRkbQPpcBNCLEmY2njbAsXhQOZFE2dE=
github.com/Abirdcfly/dupword v0.0.9 h1:MxprGjKq3yDBICXDgEEsyGirIXfMYXkLNT/agPsE1tk=
github.com/Abirdcfly/dupword v0.0.9/go.mod h1:PzmHVLLZ27MvHSzV7eFmMXSFArWXZPZmfuuziuUrf2g=
github.com/Abirdcfly/dupword v0.0.11 h1:z6v8rMETchZXUIuHxYNmlUAuKuB21PeaSymTed16wgU=
github.com/Abirdcfly/dupword v0.0.11/go.mod h1:wH8mVGuf3CP5fsBTkfWwwwKTjDnVVCxtU8d8rgeVYXA=
github.com/Abirdcfly/dupword v0.0.14 h1:3U4ulkc8EUo+CaT105/GJ1BQwtgyj6+VaBVbAX11Ba8=
github.com/Abirdcfly/dupword v0.0.14/go.mod h1:VKDAbxdY8YbKUByLGg8EETzYSuC4crm9WwI6Y3S0cLI=
github.com/Antonboom/errname v0.1.7 h1:mBBDKvEYwPl4WFFNwec1CZO096G6vzK9vvDQzAwkako=
github.com/Antonboom/errname v0.1.7/go.mod h1:g0ONh16msHIPgJSGsecu1G/dcF2hlYR/0SddnIAGavU=
github.com/Antonboom/errname v0.1.9 h1:BZDX4r3l4TBZxZ2o2LNrlGxSHran4d1u4veZdoORTT4=
github.com/Antonboom/errname v0.1.9/go.mod h1:nLTcJzevREuAsgTbG85UsuiWpMpAqbKD1HNZ29OzE58=
github.com/Antonboom/errname v0.1.10 h1:RZ7cYo/GuZqjr1nuJLNe8ZH+a+Jd9DaZzttWzak9Bls=
github.com/Antonboom/errname v0.1.10/go.mod h1:xLeiCIrvVNpUtsN0wxAh05bNIZpqE22/qDMnTBTttiA=
github.com/Antonboom/errname v0.1.12 h1:oh9ak2zUtsLp5oaEd/erjB4GPu9w19NyoIskZClDcQY=
github.com/Antonboom/errname v0.1.12/go.mod h1:bK7todrzvlaZoQagP1orKzWXv59X/x0W0Io2XT1Ssro=
github.com/Antonboom/nilnil v0.1.1 h1:PHhrh5ANKFWRBh7TdYmyyq2gyT2lotnvFvvFbylF81Q=
github.com/Antonboom/nilnil v0.1.1/go.mod h1:L1jBqoWM7AOeTD+tSquifKSesRHs4ZdaxvZR+xdJEaI=
github.com/Antonboom/nilnil v0.1.3 h1:6RTbx3d2mcEu3Zwq9TowQpQMVpP75zugwOtqY1RTtcE=
github.com/Antonboom/nilnil v0.1.3/go.mod h1:iOov/7gRcXkeEU+EMGpBu2ORih3iyVEiWjeste1SJm8=
github.com/Antonboom/nilnil v0.1.5 h1:X2JAdEVcbPaOom2TUa1FxZ3uyuUlex0XMLGYMemu6l0=
github.com/Antonboom/nilnil v0.1.5/go.mod h1:I24toVuBKhfP5teihGWctrRiPbRKHwZIFOvc6v3HZXk=
github.com/Antonboom/nilnil v0.1.7 h1:ofgL+BA7vlA1K2wNQOsHzLJ2Pw5B5DpWRLdDAVvvTow=
github.com/Antonboom/nilnil v0.1.7/go.mod h1:TP+ScQWVEq0eSIxqU8CbdT5DFWoHp0MbP+KMUO1BKYQ=
github.com/Antonboom/testifylint v1.2.0 h1:015bxD8zc5iY8QwTp4+RG9I4kIbqwvGX9TrBbb7jGdM=
github.com/Antonboom/testifylint v1.2.0/go.mod h1:rkmEqjqVnHDRNsinyN6fPSLnoajzFwsCcguJgwADBkw=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/BurntSushi/toml v1.2.1 h1:9F2/+DoOYIOksmaJFPw1tGFy1eDnIJXg+UHjuD8lTak=
github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
@@ -68,12 +78,18 @@ github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 h1:sHglBQTwgx+rW
github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24/go.mod h1:4UJr5HIiMZrwgkSPdsjy2uOQExX/WEILpIrO9UPGuXs=
github.com/GaijinEntertainment/go-exhaustruct/v2 v2.3.0 h1:+r1rSv4gvYn0wmRjC8X7IAzX8QezqtFV9m0MUHFJgts=
github.com/GaijinEntertainment/go-exhaustruct/v2 v2.3.0/go.mod h1:b3g59n2Y+T5xmcxJL+UEG2f8cQploZm1mR/v6BW0mU0=
github.com/GaijinEntertainment/go-exhaustruct/v3 v3.2.0 h1:sATXp1x6/axKxz2Gjxv8MALP0bXaNRfQinEwyfMcx8c=
github.com/GaijinEntertainment/go-exhaustruct/v3 v3.2.0/go.mod h1:Nl76DrGNJTA1KJ0LePKBw/vznBX1EHbAZX8mwjR82nI=
github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww=
github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y=
github.com/OpenPeeDeeP/depguard v1.1.1 h1:TSUznLjvp/4IUP+OQ0t/4jF4QUyxIcVX8YnghZdunyA=
github.com/OpenPeeDeeP/depguard v1.1.1/go.mod h1:JtAMzWkmFEzDPyAd+W0NHl1lvpQKTvT9jnRVsohBKpc=
github.com/OpenPeeDeeP/depguard/v2 v2.1.0 h1:aQl70G173h/GZYhWf36aE5H0KaujXfVMnn/f1kSDVYY=
github.com/OpenPeeDeeP/depguard/v2 v2.1.0/go.mod h1:PUBgk35fX4i7JDmwzlJwJ+GMe6NfO1723wmJMgPThNQ=
github.com/OpenPeeDeeP/depguard/v2 v2.2.0 h1:vDfG60vDtIuf0MEOhmLlLLSzqaRM8EMcgJPdp74zmpA=
github.com/OpenPeeDeeP/depguard/v2 v2.2.0/go.mod h1:CIzddKRvLBC4Au5aYP/i3nyaWQ+ClszLIuVocRiCYFQ=
github.com/alecthomas/go-check-sumtype v0.1.4 h1:WCvlB3l5Vq5dZQTFmodqL2g68uHiSwwlWcT5a2FGK0c=
github.com/alecthomas/go-check-sumtype v0.1.4/go.mod h1:WyYPfhfkdhyrdaligV6svFopZV8Lqdzn5pyVBaV6jhQ=
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
@@ -81,6 +97,8 @@ github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRF
github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho=
github.com/alexkohler/nakedret/v2 v2.0.2 h1:qnXuZNvv3/AxkAb22q/sEsEpcA99YxLFACDtEw9TPxE=
github.com/alexkohler/nakedret/v2 v2.0.2/go.mod h1:2b8Gkk0GsOrqQv/gPWjNLDSKwG8I5moSXG1K4VIBcTQ=
github.com/alexkohler/nakedret/v2 v2.0.4 h1:yZuKmjqGi0pSmjGpOC016LtPJysIL0WEUiaXW5SUnNg=
github.com/alexkohler/nakedret/v2 v2.0.4/go.mod h1:bF5i0zF2Wo2o4X4USt9ntUWve6JbFv02Ff4vlkmS/VU=
github.com/alexkohler/prealloc v1.0.0 h1:Hbq0/3fJPQhNkN0dR95AVrr6R7tou91y0uHG5pOcUuw=
github.com/alexkohler/prealloc v1.0.0/go.mod h1:VetnK3dIgFBBKmg0YnD9F9x6Icjd+9cvfHR56wJVlKE=
github.com/alingse/asasalint v0.0.11 h1:SFwnQXJ49Kx/1GghOFz1XGqHYKp21Kq1nHad/0WQRnw=
@@ -91,6 +109,8 @@ github.com/ashanbrown/forbidigo v1.5.1 h1:WXhzLjOlnuDYPYQo/eFlcFMi8X/kLfvWLYu6CS
github.com/ashanbrown/forbidigo v1.5.1/go.mod h1:Y8j9jy9ZYAEHXdu723cUlraTqbzjKF1MUyfOKL+AjcU=
github.com/ashanbrown/forbidigo v1.5.3 h1:jfg+fkm/snMx+V9FBwsl1d340BV/99kZGv5jN9hBoXk=
github.com/ashanbrown/forbidigo v1.5.3/go.mod h1:Y8j9jy9ZYAEHXdu723cUlraTqbzjKF1MUyfOKL+AjcU=
github.com/ashanbrown/forbidigo v1.6.0 h1:D3aewfM37Yb3pxHujIPSpTf6oQk9sc9WZi8gerOIVIY=
github.com/ashanbrown/forbidigo v1.6.0/go.mod h1:Y8j9jy9ZYAEHXdu723cUlraTqbzjKF1MUyfOKL+AjcU=
github.com/ashanbrown/makezero v1.1.1 h1:iCQ87C0V0vSyO+M9E/FZYbu65auqH0lnsOkf5FcB28s=
github.com/ashanbrown/makezero v1.1.1/go.mod h1:i1bJLCRSCHOcOa9Y6MyF2FTfMZMFdHvxKHxgO5Z1axI=
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
@@ -105,20 +125,32 @@ github.com/blizzy78/varnamelen v0.8.0 h1:oqSblyuQvFsW1hbBHh1zfwrKe3kcSj0rnXkKzsQ
github.com/blizzy78/varnamelen v0.8.0/go.mod h1:V9TzQZ4fLJ1DSrjVDfl89H7aMnTvKkApdHeyESmyR7k=
github.com/bombsimon/wsl/v3 v3.4.0 h1:RkSxjT3tmlptwfgEgTgU+KYKLI35p/tviNXNXiL2aNU=
github.com/bombsimon/wsl/v3 v3.4.0/go.mod h1:KkIB+TXkqy6MvK9BDZVbZxKNYsE1/oLRJbIFtf14qqo=
github.com/bombsimon/wsl/v4 v4.2.1 h1:Cxg6u+XDWff75SIFFmNsqnIOgob+Q9hG6y/ioKbRFiM=
github.com/bombsimon/wsl/v4 v4.2.1/go.mod h1:Xu/kDxGZTofQcDGCtQe9KCzhHphIe0fDuyWTxER9Feo=
github.com/breml/bidichk v0.2.3 h1:qe6ggxpTfA8E75hdjWPZ581sY3a2lnl0IRxLQFelECI=
github.com/breml/bidichk v0.2.3/go.mod h1:8u2C6DnAy0g2cEq+k/A2+tr9O1s+vHGxWn0LTc70T2A=
github.com/breml/bidichk v0.2.4 h1:i3yedFWWQ7YzjdZJHnPo9d/xURinSq3OM+gyM43K4/8=
github.com/breml/bidichk v0.2.4/go.mod h1:7Zk0kRFt1LIZxtQdl9W9JwGAcLTTkOs+tN7wuEYGJ3s=
github.com/breml/bidichk v0.2.7 h1:dAkKQPLl/Qrk7hnP6P+E0xOodrq8Us7+U0o4UBOAlQY=
github.com/breml/bidichk v0.2.7/go.mod h1:YodjipAGI9fGcYM7II6wFvGhdMYsC5pHDlGzqvEW3tQ=
github.com/breml/errchkjson v0.3.0 h1:YdDqhfqMT+I1vIxPSas44P+9Z9HzJwCeAzjB8PxP1xw=
github.com/breml/errchkjson v0.3.0/go.mod h1:9Cogkyv9gcT8HREpzi3TiqBxCqDzo8awa92zSDFcofU=
github.com/breml/errchkjson v0.3.1 h1:hlIeXuspTyt8Y/UmP5qy1JocGNR00KQHgfaNtRAjoxQ=
github.com/breml/errchkjson v0.3.1/go.mod h1:XroxrzKjdiutFyW3nWhw34VGg7kiMsDQox73yWCGI2U=
github.com/breml/errchkjson v0.3.6 h1:VLhVkqSBH96AvXEyclMR37rZslRrY2kcyq+31HCsVrA=
github.com/breml/errchkjson v0.3.6/go.mod h1:jhSDoFheAF2RSDOlCfhHO9KqhZgAYLyvHe7bRCX8f/U=
github.com/butuzov/ireturn v0.1.1 h1:QvrO2QF2+/Cx1WA/vETCIYBKtRjc30vesdoPUNo1EbY=
github.com/butuzov/ireturn v0.1.1/go.mod h1:Wh6Zl3IMtTpaIKbmwzqi6olnM9ptYQxxVacMsOEFPoc=
github.com/butuzov/ireturn v0.2.0 h1:kCHi+YzC150GE98WFuZQu9yrTn6GEydO2AuPLbTgnO4=
github.com/butuzov/ireturn v0.2.0/go.mod h1:Wh6Zl3IMtTpaIKbmwzqi6olnM9ptYQxxVacMsOEFPoc=
github.com/butuzov/ireturn v0.3.0 h1:hTjMqWw3y5JC3kpnC5vXmFJAWI/m31jaCYQqzkS6PL0=
github.com/butuzov/ireturn v0.3.0/go.mod h1:A09nIiwiqzN/IoVo9ogpa0Hzi9fex1kd9PSD6edP5ZA=
github.com/butuzov/mirror v1.1.0 h1:ZqX54gBVMXu78QLoiqdwpl2mgmoOJTk7s4p4o+0avZI=
github.com/butuzov/mirror v1.1.0/go.mod h1:8Q0BdQU6rC6WILDiBM60DBfvV78OLJmMmixe7GF45AE=
github.com/catenacyber/perfsprint v0.7.1 h1:PGW5G/Kxn+YrN04cRAZKC+ZuvlVwolYMrIyyTJ/rMmc=
github.com/catenacyber/perfsprint v0.7.1/go.mod h1:/wclWYompEyjUD2FuIIDVKNkqz7IgBIWXIH3V0Zol50=
github.com/ccojocar/zxcvbn-go v1.0.2 h1:na/czXU8RrhXO4EZme6eQJLR4PzcGsahsBOAwU6I3Vg=
github.com/ccojocar/zxcvbn-go v1.0.2/go.mod h1:g1qkXtUSvHP8lhHp5GrSmTz6uWALGRMQdw6Qnz/hi60=
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE=
@@ -131,9 +163,13 @@ github.com/chavacava/garif v0.0.0-20221024190013-b3ef35877348 h1:cy5GCEZLUCshCGC
github.com/chavacava/garif v0.0.0-20221024190013-b3ef35877348/go.mod h1:f/miWtG3SSuTxKsNK3o58H1xl+XV6ZIfbC6p7lPPB8U=
github.com/chavacava/garif v0.0.0-20230227094218-b8c73b2037b8 h1:W9o46d2kbNL06lq7UNDPV0zYLzkrde/bjIqO02eoll0=
github.com/chavacava/garif v0.0.0-20230227094218-b8c73b2037b8/go.mod h1:gakxgyXaaPkxvLw1XQxNGK4I37ys9iBRzNUx/B7pUCo=
github.com/chavacava/garif v0.1.0 h1:2JHa3hbYf5D9dsgseMKAmc/MZ109otzgNFk5s87H9Pc=
github.com/chavacava/garif v0.1.0/go.mod h1:XMyYCkEL58DF0oyW4qDjjnPWONs2HBqYKI+UIPD+Gww=
github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
github.com/ckaznocha/intrange v0.1.0 h1:ZiGBhvrdsKpoEfzh9CjBfDSZof6QB0ORY5tXasUtiew=
github.com/ckaznocha/intrange v0.1.0/go.mod h1:Vwa9Ekex2BrEQMg6zlrWwbs/FtYw7eS5838Q7UjK7TQ=
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
@@ -145,11 +181,15 @@ github.com/daixiang0/gci v0.9.1 h1:jBrwBmBZTDsGsXiaCTLIe9diotp1X4X64zodFrh7l+c=
github.com/daixiang0/gci v0.9.1/go.mod h1:EpVfrztufwVgQRXjnX4zuNinEpLj5OmMjtu/+MB0V0c=
github.com/daixiang0/gci v0.10.1 h1:eheNA3ljF6SxnPD/vE4lCBusVHmV3Rs3dkKvFrJ7MR0=
github.com/daixiang0/gci v0.10.1/go.mod h1:xtHP9N7AHdNvtRNfcx9gwTDfw7FRJx4bZUsiEfiNNAI=
github.com/daixiang0/gci v0.12.3 h1:yOZI7VAxAGPQmkb1eqt5g/11SUlwoat1fSblGLmdiQc=
github.com/daixiang0/gci v0.12.3/go.mod h1:xtHP9N7AHdNvtRNfcx9gwTDfw7FRJx4bZUsiEfiNNAI=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/denis-tingaikin/go-header v0.4.3 h1:tEaZKAlqql6SKCY++utLmkPLd6K8IBM20Ha7UVm+mtU=
github.com/denis-tingaikin/go-header v0.4.3/go.mod h1:0wOCWuN71D5qIgE2nz9KrKmuYBAC2Mra5RassOIQ2/c=
github.com/denis-tingaikin/go-header v0.5.0 h1:SRdnP5ZKvcO9KKRP1KJrhFR3RrlGuD+42t4429eC9k8=
github.com/denis-tingaikin/go-header v0.5.0/go.mod h1:mMenU5bWrok6Wl2UsZjy+1okegmwQ3UgWl4V1D8gjlY=
github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
@@ -160,10 +200,14 @@ github.com/esimonov/ifshort v1.0.4 h1:6SID4yGWfRae/M7hkVDVVyppy8q/v9OuxNdmjLQStB
github.com/esimonov/ifshort v1.0.4/go.mod h1:Pe8zjlRrJ80+q2CxHLfEOfTwxCZ4O+MuhcHcfgNWTk0=
github.com/ettle/strcase v0.1.1 h1:htFueZyVeE1XNnMEfbqp5r67qAN/4r6ya1ysq8Q+Zcw=
github.com/ettle/strcase v0.1.1/go.mod h1:hzDLsPC7/lwKyBOywSHEP89nt2pDgdy+No1NBA9o9VY=
github.com/ettle/strcase v0.2.0 h1:fGNiVF21fHXpX1niBgk0aROov1LagYsOwV/xqKDKR/Q=
github.com/ettle/strcase v0.2.0/go.mod h1:DajmHElDSaX76ITe3/VHVyMin4LWSJN5Z909Wp+ED1A=
github.com/fatih/color v1.14.1 h1:qfhVLaG5s+nCROl1zJsZRxFeYrHLqWroPOQ8BWiNb4w=
github.com/fatih/color v1.14.1/go.mod h1:2oHN61fhTpgcxD3TSWCgKDiH1+x4OiDVVGH8WlgGZGg=
github.com/fatih/color v1.15.0 h1:kOqh6YHBtK8aywxGerMG2Eq3H6Qgoqeo13Bk2Mv/nBs=
github.com/fatih/color v1.15.0/go.mod h1:0h5ZqXfHYED7Bhv2ZJamyIOUej9KtShiJESRwBDUSsw=
github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM=
github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE=
github.com/fatih/structtag v1.2.0 h1:/OdNE99OxoI/PqaW/SuSK9uxxT3f/tcSZgon/ssNSx4=
github.com/fatih/structtag v1.2.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94=
github.com/firefart/nonamedreturns v1.0.4 h1:abzI1p7mAEPYuR4A+VLKn4eNDOycjYo2phmY9sfv40Y=
@@ -172,12 +216,16 @@ github.com/fsnotify/fsnotify v1.5.4 h1:jRbGcIw6P2Meqdwuo0H1p6JVLbL5DHKAKlYndzMwV
github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU=
github.com/fzipp/gocyclo v0.6.0 h1:lsblElZG7d3ALtGMx9fmxeTKZaLLpU8mET09yN4BBLo=
github.com/fzipp/gocyclo v0.6.0/go.mod h1:rXPyn8fnlpa0R2csP/31uerbiVBugk5whMdlyaLkLoA=
github.com/ghostiam/protogetter v0.3.5 h1:+f7UiF8XNd4w3a//4DnusQ2SZjPkUjxkMEfjbxOK4Ug=
github.com/ghostiam/protogetter v0.3.5/go.mod h1:7lpeDnEJ1ZjL/YtyoN99ljO4z0pd3H0d18/t2dPBxHw=
github.com/go-critic/go-critic v0.6.7 h1:1evPrElnLQ2LZtJfmNDzlieDhjnq36SLgNzisx06oPM=
github.com/go-critic/go-critic v0.6.7/go.mod h1:fYZUijFdcnxgx6wPjQA2QEjIRaNCT0gO8bhexy6/QmE=
github.com/go-critic/go-critic v0.7.0 h1:tqbKzB8pqi0NsRZ+1pyU4aweAF7A7QN0Pi4Q02+rYnQ=
github.com/go-critic/go-critic v0.7.0/go.mod h1:moYzd7GdVXE2C2hYTwd7h0CPcqlUeclsyBRwMa38v64=
github.com/go-critic/go-critic v0.8.1 h1:16omCF1gN3gTzt4j4J6fKI/HnRojhEp+Eks6EuKw3vw=
github.com/go-critic/go-critic v0.8.1/go.mod h1:kpzXl09SIJX1cr9TB/g/sAG+eFEl7ZS9f9cqvZtyNl0=
github.com/go-critic/go-critic v0.11.2 h1:81xH/2muBphEgPtcwH1p6QD+KzXl2tMSi3hXjBSxDnM=
github.com/go-critic/go-critic v0.11.2/go.mod h1:OePaicfjsf+KPy33yq4gzv6CO7TEQ9Rom6ns1KsJnl8=
github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
@@ -198,6 +246,8 @@ github.com/go-toolsmith/astequal v1.0.2/go.mod h1:9Ai4UglvtR+4up+bAD4+hCj7iTo4m/
github.com/go-toolsmith/astequal v1.0.3/go.mod h1:9Ai4UglvtR+4up+bAD4+hCj7iTo4m/OXVTSLnCyTAx4=
github.com/go-toolsmith/astequal v1.1.0 h1:kHKm1AWqClYn15R0K1KKE4RG614D46n+nqUQ06E1dTw=
github.com/go-toolsmith/astequal v1.1.0/go.mod h1:sedf7VIdCL22LD8qIvv7Nn9MuWJruQA/ysswh64lffQ=
github.com/go-toolsmith/astequal v1.2.0 h1:3Fs3CYZ1k9Vo4FzFhwwewC3CHISHDnVUPC4x0bI2+Cw=
github.com/go-toolsmith/astequal v1.2.0/go.mod h1:c8NZ3+kSFtFY/8lPso4v8LuJjdJiUFVnSuU3s0qrrDY=
github.com/go-toolsmith/astfmt v1.1.0 h1:iJVPDPp6/7AaeLJEruMsBUlOYCmvg0MoCfJprsOmcco=
github.com/go-toolsmith/astfmt v1.1.0/go.mod h1:OrcLlRwu0CuiIBp/8b5PYF9ktGVZUjlNMV634mhwuQ4=
github.com/go-toolsmith/astp v1.1.0 h1:dXPuCl6u2llURjdPLLDxJeZInAeZ0/eZwFJmqZMnpQA=
@@ -207,6 +257,8 @@ github.com/go-toolsmith/strparse v1.1.0 h1:GAioeZUK9TGxnLS+qfdqNbA4z0SSm5zVNtCQi
github.com/go-toolsmith/strparse v1.1.0/go.mod h1:7ksGy58fsaQkGQlY8WVoBFNyEPMGuJin1rfoPS4lBSQ=
github.com/go-toolsmith/typep v1.1.0 h1:fIRYDyF+JywLfqzyhdiHzRop/GQDxxNhLGQ6gFUNHus=
github.com/go-toolsmith/typep v1.1.0/go.mod h1:fVIw+7zjdsMxDA3ITWnH1yOiw1rnTQKCsF/sk2H/qig=
github.com/go-viper/mapstructure/v2 v2.0.0-alpha.1 h1:TQcrn6Wq+sKGkpyPvppOz99zsMBaUOKXq6HSv655U1c=
github.com/go-viper/mapstructure/v2 v2.0.0-alpha.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
github.com/go-xmlfmt/xmlfmt v1.1.2 h1:Nea7b4icn8s57fTx1M5AI4qQT5HEM3rVUO8MuE6g80U=
github.com/go-xmlfmt/xmlfmt v1.1.2/go.mod h1:aUCEOzzezBEjDBbFBoSiya/gduyIiWYRP6CnSFIV8AM=
github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y=
@@ -242,6 +294,8 @@ github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw=
github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2 h1:23T5iq8rbUYlhpt5DB4XJkc6BU31uODLD1o1gKvZmD0=
github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2/go.mod h1:k9Qvh+8juN+UKMCS/3jFtGICgW8O96FVaZsaxdzDkR4=
github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a h1:w8hkcTqaFpzKqonE9uMCefW1WDie15eSP/4MssdenaM=
@@ -250,22 +304,34 @@ github.com/golangci/go-misc v0.0.0-20220329215616-d24fe342adfe h1:6RGUuS7EGotKx6
github.com/golangci/go-misc v0.0.0-20220329215616-d24fe342adfe/go.mod h1:gjqyPShc/m8pEMpk0a3SeagVb0kaqvhscv+i9jI5ZhQ=
github.com/golangci/gofmt v0.0.0-20220901101216-f2edd75033f2 h1:amWTbTGqOZ71ruzrdA+Nx5WA3tV1N0goTspwmKCQvBY=
github.com/golangci/gofmt v0.0.0-20220901101216-f2edd75033f2/go.mod h1:9wOXstvyDRshQ9LggQuzBCGysxs3b6Uo/1MvYCR2NMs=
github.com/golangci/gofmt v0.0.0-20231018234816-f50ced29576e h1:ULcKCDV1LOZPFxGZaA6TlQbiM3J2GCPnkx/bGF6sX/g=
github.com/golangci/gofmt v0.0.0-20231018234816-f50ced29576e/go.mod h1:Pm5KhLPA8gSnQwrQ6ukebRcapGb/BG9iUkdaiCcGHJM=
github.com/golangci/golangci-lint v1.51.2 h1:yIcsT1X9ZYHdSpeWXRT1ORC/FPGSqDHbHsu9uk4FK7M=
github.com/golangci/golangci-lint v1.51.2/go.mod h1:KH9Q7/3glwpYSknxUgUyLlAv46A8fsSKo1hH2wDvkr8=
github.com/golangci/golangci-lint v1.52.2 h1:FrPElUUI5rrHXg1mQ7KxI1MXPAw5lBVskiz7U7a8a1A=
github.com/golangci/golangci-lint v1.52.2/go.mod h1:S5fhC5sHM5kE22/HcATKd1XLWQxX+y7mHj8B5H91Q/0=
github.com/golangci/golangci-lint v1.53.3 h1:CUcRafczT4t1F+mvdkUm6KuOpxUZTl0yWN/rSU6sSMo=
github.com/golangci/golangci-lint v1.53.3/go.mod h1:W4Gg3ONq6p3Jl+0s/h9Gr0j7yEgHJWWZO2bHl2tBUXM=
github.com/golangci/golangci-lint v1.57.1 h1:cqhpzkzjDwdN12rfMf1SUyyKyp88a1SltNqEYGS0nJw=
github.com/golangci/golangci-lint v1.57.1/go.mod h1:zLcHhz3NHc88T5zV2j75lyc0zH3LdOPOybblYa4p0oI=
github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0 h1:MfyDlzVjl1hoaPzPD4Gpb/QgoRfSBR0jdhwGyAWwMSA=
github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0/go.mod h1:66R6K6P6VWk9I95jvqGxkqJxVWGFy9XlDwLwVz1RCFg=
github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca h1:kNY3/svz5T29MYHubXix4aDDuE3RWHkPvopM/EDv/MA=
github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca/go.mod h1:tvlJhZqDe4LMs4ZHD0oMUlt9G2LWuDGoisJTBzLMV9o=
github.com/golangci/misspell v0.4.0 h1:KtVB/hTK4bbL/S6bs64rYyk8adjmh1BygbBiaAiX+a0=
github.com/golangci/misspell v0.4.0/go.mod h1:W6O/bwV6lGDxUCChm2ykw9NQdd5bYd1Xkjo88UcWyJc=
github.com/golangci/misspell v0.4.1 h1:+y73iSicVy2PqyX7kmUefHusENlrP9YwuHZHPLGQj/g=
github.com/golangci/misspell v0.4.1/go.mod h1:9mAN1quEo3DlpbaIKKyEvRxK1pwqR9s/Sea1bJCtlNI=
github.com/golangci/plugin-module-register v0.1.1 h1:TCmesur25LnyJkpsVrupv1Cdzo+2f7zX0H6Jkw1Ol6c=
github.com/golangci/plugin-module-register v0.1.1/go.mod h1:TTpqoB6KkwOJMV8u7+NyXMrkwwESJLOkfl9TxR1DGFc=
github.com/golangci/revgrep v0.0.0-20220804021717-745bb2f7c2e6 h1:DIPQnGy2Gv2FSA4B/hh8Q7xx3B7AIDk3DAMeHclH1vQ=
github.com/golangci/revgrep v0.0.0-20220804021717-745bb2f7c2e6/go.mod h1:0AKcRCkMoKvUvlf89F6O7H2LYdhr1zBh736mBItOdRs=
github.com/golangci/revgrep v0.5.2 h1:EndcWoRhcnfj2NHQ+28hyuXpLMF+dQmCN+YaeeIl4FU=
github.com/golangci/revgrep v0.5.2/go.mod h1:bjAMA+Sh/QUfTDcHzxfyHxr4xKvllVr/0sCv2e7jJHA=
github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4 h1:zwtduBRr5SSWhqsYNgcuWO2kFlpdOZbP0+yRjmvPGys=
github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4/go.mod h1:Izgrg8RkN3rCIMLGE9CyYmU9pY2Jer6DgANEnZ/L/cQ=
github.com/golangci/unconvert v0.0.0-20240309020433-c5143eacb3ed h1:IURFTjxeTfNFP0hTEi1YKjB/ub8zkpaOqFFMApi2EAs=
github.com/golangci/unconvert v0.0.0-20240309020433-c5143eacb3ed/go.mod h1:XLXN8bNw4CGRPaqgl3bv/lhz7bsGPh4/xSaMTbo2vkQ=
github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
@@ -282,6 +348,8 @@ github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
@@ -305,6 +373,8 @@ github.com/gordonklaus/ineffassign v0.0.0-20230107090616-13ace0543b28 h1:9alfqbr
github.com/gordonklaus/ineffassign v0.0.0-20230107090616-13ace0543b28/go.mod h1:Qcp2HIAYhR7mNUVSIxZww3Guk4it82ghYcEXIAk+QT0=
github.com/gordonklaus/ineffassign v0.0.0-20230610083614-0e73809eb601 h1:mrEEilTAUmaAORhssPPkxj84TsHrPMLBGW2Z4SoTxm8=
github.com/gordonklaus/ineffassign v0.0.0-20230610083614-0e73809eb601/go.mod h1:Qcp2HIAYhR7mNUVSIxZww3Guk4it82ghYcEXIAk+QT0=
github.com/gordonklaus/ineffassign v0.1.0 h1:y2Gd/9I7MdY1oEIt+n+rowjBNDcLQq3RsH5hwJd0f9s=
github.com/gordonklaus/ineffassign v0.1.0/go.mod h1:Qcp2HIAYhR7mNUVSIxZww3Guk4it82ghYcEXIAk+QT0=
github.com/gostaticanalysis/analysisutil v0.0.3/go.mod h1:eEOZF4jCKGi+aprrirO9e7WKB3beBRtWgqGunKl6pKE=
github.com/gostaticanalysis/analysisutil v0.1.0/go.mod h1:dMhHRU9KTiDcuLGdy87/2gTR8WruwYZrKdRq9m1O6uw=
github.com/gostaticanalysis/analysisutil v0.7.1 h1:ZMCjoue3DtDWQ5WyU16YbjbQEQ3VuzwxALrpYd+HeKk=
@@ -339,10 +409,14 @@ github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
github.com/jgautheron/goconst v1.5.1 h1:HxVbL1MhydKs8R8n/HE5NPvzfaYmQJA3o879lE4+WcM=
github.com/jgautheron/goconst v1.5.1/go.mod h1:aAosetZ5zaeC/2EfMeRswtxUFBpe2Hr7HzkgX4fanO4=
github.com/jgautheron/goconst v1.7.0 h1:cEqH+YBKLsECnRSd4F4TK5ri8t/aXtt/qoL0Ft252B0=
github.com/jgautheron/goconst v1.7.0/go.mod h1:aAosetZ5zaeC/2EfMeRswtxUFBpe2Hr7HzkgX4fanO4=
github.com/jingyugao/rowserrcheck v1.1.1 h1:zibz55j/MJtLsjP1OF4bSdgXxwL1b+Vn7Tjzq7gFzUs=
github.com/jingyugao/rowserrcheck v1.1.1/go.mod h1:4yvlZSDb3IyDTUZJUmpZfm2Hwok+Dtp+nu2qOq+er9c=
github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af h1:KA9BjwUk7KlCh6S9EAGWBt1oExIUv9WyNCiRz5amv48=
github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af/go.mod h1:HEWGJkRDzjJY2sqdDwxccsGicWEf9BQOZsq2tV+xzM0=
github.com/jjti/go-spancheck v0.5.3 h1:vfq4s2IB8T3HvbpiwDTYgVPj1Ze/ZSXrTtaZRTc7CuM=
github.com/jjti/go-spancheck v0.5.3/go.mod h1:eQdOX1k3T+nAKvZDyLC3Eby0La4dZ+I19iOl5NzSPFE=
github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4=
github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
@@ -358,8 +432,12 @@ github.com/junk1tm/musttag v0.4.5 h1:d+mpJ1vn6WFEVKHwkgJiIedis1u/EawKOuUTygAUtCo
github.com/junk1tm/musttag v0.4.5/go.mod h1:XkcL/9O6RmD88JBXb+I15nYRl9W4ExhgQeCBEhfMC8U=
github.com/junk1tm/musttag v0.5.0 h1:bV1DTdi38Hi4pG4OVWa7Kap0hi0o7EczuK6wQt9zPOM=
github.com/junk1tm/musttag v0.5.0/go.mod h1:PcR7BA+oREQYvHwgjIDmw3exJeds5JzRcvEJTfjrA0M=
github.com/karamaru-alpha/copyloopvar v1.0.8 h1:gieLARwuByhEMxRwM3GRS/juJqFbLraftXIKDDNJ50Q=
github.com/karamaru-alpha/copyloopvar v1.0.8/go.mod h1:u7CIfztblY0jZLOQZgH3oYsJzpC2A7S6u/lfgSXHy0k=
github.com/kisielk/errcheck v1.6.3 h1:dEKh+GLHcWm2oN34nMvDzn1sqI0i0WxPvrgiJA5JuM8=
github.com/kisielk/errcheck v1.6.3/go.mod h1:nXw/i/MfnvRHqXa7XXmQMUB0oNFGuBrNI8d8NLy0LPw=
github.com/kisielk/errcheck v1.7.0 h1:+SbscKmWJ5mOK/bO1zS60F5I9WwZDWOfRsC4RwfwRV0=
github.com/kisielk/errcheck v1.7.0/go.mod h1:1kLL+jV4e+CFfueBmI1dSK2ADDyQnlrnrY/FqKluHJQ=
github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/kkHAIKE/contextcheck v1.1.3 h1:l4pNvrb8JSwRd51ojtcOxOeHJzHek+MtOyXbaR0uvmw=
@@ -379,6 +457,8 @@ github.com/kunwardeep/paralleltest v1.0.6 h1:FCKYMF1OF2+RveWlABsdnmsvJrei5aoyZoa
github.com/kunwardeep/paralleltest v1.0.6/go.mod h1:Y0Y0XISdZM5IKm3TREQMZ6iteqn1YuwCsJO/0kL9Zes=
github.com/kunwardeep/paralleltest v1.0.7 h1:2uCk94js0+nVNQoHZNLBkAR1DQJrVzw6T0RMzJn55dQ=
github.com/kunwardeep/paralleltest v1.0.7/go.mod h1:2C7s65hONVqY7Q5Efj5aLzRCNLjw2h4eMc9EcypGjcY=
github.com/kunwardeep/paralleltest v1.0.10 h1:wrodoaKYzS2mdNVnc4/w31YaXFtsc21PCTdvWJ/lDDs=
github.com/kunwardeep/paralleltest v1.0.10/go.mod h1:2C7s65hONVqY7Q5Efj5aLzRCNLjw2h4eMc9EcypGjcY=
github.com/kyoh86/exportloopref v0.1.11 h1:1Z0bcmTypkL3Q4k+IDHMWTcnCliEZcaPiIe0/ymEyhQ=
github.com/kyoh86/exportloopref v0.1.11/go.mod h1:qkV4UF1zGl6EkF1ox8L5t9SwyeBAZ3qLMd6up458uqA=
github.com/ldez/gomoddirectives v0.2.3 h1:y7MBaisZVDYmKvt9/l1mjNCiSA1BVn34U0ObUcJwlhA=
@@ -391,6 +471,8 @@ github.com/leonklingele/grouper v1.1.1 h1:suWXRU57D4/Enn6pXR0QVqqWWrnJ9Osrz+5rjt
github.com/leonklingele/grouper v1.1.1/go.mod h1:uk3I3uDfi9B6PeUjsCKi6ndcf63Uy7snXgR4yDYQVDY=
github.com/lufeee/execinquery v1.2.1 h1:hf0Ems4SHcUGBxpGN7Jz78z1ppVkP/837ZlETPCEtOM=
github.com/lufeee/execinquery v1.2.1/go.mod h1:EC7DrEKView09ocscGHC+apXMIaorh4xqSxS/dy8SbM=
github.com/macabu/inamedparam v0.1.3 h1:2tk/phHkMlEL/1GNe/Yf6kkR/hkcUdAEY3L0hjYV1Mk=
github.com/macabu/inamedparam v0.1.3/go.mod h1:93FLICAIk/quk7eaPPQvbzihUdn/QkGDwIZEoLtpH6I=
github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo=
github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60=
github.com/maratori/testableexamples v1.0.0 h1:dU5alXRrD8WKSjOUnmJZuzdxWOEQ57+7s93SLMxb2vI=
@@ -409,6 +491,8 @@ github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovk
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
github.com/mattn/go-isatty v0.0.17 h1:BTarxUcIeDqL27Mc+vyvdWYSL28zpIhv3RoTdsLMPng=
github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
github.com/mattn/go-runewidth v0.0.9 h1:Lm995f3rfxdpd6TSmuVCHVb/QhupuXlYr8sCI/QdE+0=
github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU=
@@ -421,6 +505,8 @@ github.com/mgechev/revive v1.3.1 h1:OlQkcH40IB2cGuprTPcjB0iIUddgVZgGmDX3IAMR8D4=
github.com/mgechev/revive v1.3.1/go.mod h1:YlD6TTWl2B8A103R9KWJSPVI9DrEf+oqr15q21Ld+5I=
github.com/mgechev/revive v1.3.2 h1:Wb8NQKBaALBJ3xrrj4zpwJwqwNA6nDpyJSEQWcCka6U=
github.com/mgechev/revive v1.3.2/go.mod h1:UCLtc7o5vg5aXCwdUTU1kEBQ1v+YXPAkYDIDXbrs5I0=
github.com/mgechev/revive v1.3.7 h1:502QY0vQGe9KtYJ9FpxMz9rL+Fc/P13CI5POL4uHCcE=
github.com/mgechev/revive v1.3.7/go.mod h1:RJ16jUbF0OWC3co/+XTxmFNgEpUPwnnA0BRllX2aDNA=
github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
@@ -444,6 +530,8 @@ github.com/nishanths/exhaustive v0.9.5 h1:TzssWan6orBiLYVqewCG8faud9qlFntJE30ACp
github.com/nishanths/exhaustive v0.9.5/go.mod h1:IbwrGdVMizvDcIxPYGVdQn5BqWJaOwpCvg4RGb8r/TA=
github.com/nishanths/exhaustive v0.11.0 h1:T3I8nUGhl/Cwu5Z2hfc92l0e04D2GEW6e0l8pzda2l0=
github.com/nishanths/exhaustive v0.11.0/go.mod h1:RqwDsZ1xY0dNdqHho2z6X+bgzizwbLYOWnZbbl2wLB4=
github.com/nishanths/exhaustive v0.12.0 h1:vIY9sALmw6T/yxiASewa4TQcFsVYZQQRUQJhKRf3Swg=
github.com/nishanths/exhaustive v0.12.0/go.mod h1:mEZ95wPIZW+x8kC4TgC+9YCUgiST7ecevsVDTgc2obs=
github.com/nishanths/predeclared v0.2.2 h1:V2EPdZPliZymNAn79T8RkNApBjMmVKh5XRpLm/w98Vk=
github.com/nishanths/predeclared v0.2.2/go.mod h1:RROzoN6TnGQupbC+lqggsOlcgysk3LMK/HI84Mp280c=
github.com/nunnatsa/ginkgolinter v0.8.1 h1:/y4o/0hV+ruUHj4xXh89xlFjoaitnI4LnkpuYs02q1c=
@@ -452,6 +540,8 @@ github.com/nunnatsa/ginkgolinter v0.9.0 h1:Sm0zX5QfjJzkeCjEp+t6d3Ha0jwvoDjleP9XC
github.com/nunnatsa/ginkgolinter v0.9.0/go.mod h1:FHaMLURXP7qImeH6bvxWJUpyH+2tuqe5j4rW1gxJRmI=
github.com/nunnatsa/ginkgolinter v0.12.1 h1:vwOqb5Nu05OikTXqhvLdHCGcx5uthIYIl0t79UVrERQ=
github.com/nunnatsa/ginkgolinter v0.12.1/go.mod h1:AK8Ab1PypVrcGUusuKD8RDcl2KgsIwvNaaxAlyHSzso=
github.com/nunnatsa/ginkgolinter v0.16.1 h1:uDIPSxgVHZ7PgbJElRDGzymkXH+JaF7mjew+Thjnt6Q=
github.com/nunnatsa/ginkgolinter v0.16.1/go.mod h1:4tWRinDN1FeJgU+iJANW/kz7xKN5nYRAOfJDQUS9dOQ=
github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec=
github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY=
github.com/otiai10/copy v1.2.0/go.mod h1:rrF5dJ5F0t/EWSYODDu4j9/vEeYHMkc8jt0zJChqQWw=
@@ -463,6 +553,8 @@ github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3v
github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c=
github.com/pelletier/go-toml/v2 v2.0.5 h1:ipoSadvV8oGUjnUbMub59IDPPwfxF694nG/jwbMiyQg=
github.com/pelletier/go-toml/v2 v2.0.5/go.mod h1:OMHamSCAODeSsVrwwvcJOaoN0LIUIaFVNZzmWyNfXas=
github.com/pelletier/go-toml/v2 v2.2.0 h1:QLgLl2yMN7N+ruc31VynXs1vhMZa7CeHHejIeBAsoHo=
github.com/pelletier/go-toml/v2 v2.2.0/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs=
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
@@ -476,6 +568,8 @@ github.com/polyfloyd/go-errorlint v1.4.0 h1:b+sQ5HibPIAjEZwtuwU8Wz/u0dMZ7YL+bk+9
github.com/polyfloyd/go-errorlint v1.4.0/go.mod h1:qJCkPeBn+0EXkdKTrUCcuFStM2xrDKfxI3MGLXPexUs=
github.com/polyfloyd/go-errorlint v1.4.2 h1:CU+O4181IxFDdPH6t/HT7IiDj1I7zxNi1RIUxYwn8d0=
github.com/polyfloyd/go-errorlint v1.4.2/go.mod h1:k6fU/+fQe38ednoZS51T7gSIGQW1y94d6TkSr35OzH8=
github.com/polyfloyd/go-errorlint v1.4.8 h1:jiEjKDH33ouFktyez7sckv6pHWif9B7SuS8cutDXFHw=
github.com/polyfloyd/go-errorlint v1.4.8/go.mod h1:NNCxFcFjZcw3xNjVdCchERkEM6Oz7wta2XJVxRftwO4=
github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo=
github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M=
@@ -500,6 +594,8 @@ github.com/prometheus/procfs v0.7.3 h1:4jVXhlkAyzOScmCkXBTOLRLTz8EeU+eyjrwB/EPq0
github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA=
github.com/quasilyte/go-ruleguard v0.3.19 h1:tfMnabXle/HzOb5Xe9CUZYWXKfkS1KwRmZyPmD9nVcc=
github.com/quasilyte/go-ruleguard v0.3.19/go.mod h1:lHSn69Scl48I7Gt9cX3VrbsZYvYiBYszZOZW4A+oTEw=
github.com/quasilyte/go-ruleguard v0.4.2 h1:htXcXDK6/rO12kiTHKfHuqR4kr3Y4M0J0rOL6CH/BYs=
github.com/quasilyte/go-ruleguard v0.4.2/go.mod h1:GJLgqsLeo4qgavUoL8JeGFNS7qcisx3awV/w9eWTmNI=
github.com/quasilyte/gogrep v0.5.0 h1:eTKODPXbI8ffJMN+W2aE0+oL0z/nh8/5eNdiO34SOAo=
github.com/quasilyte/gogrep v0.5.0/go.mod h1:Cm9lpz9NZjEoL1tgZ2OgeUKPIxL1meE7eo60Z6Sk+Ng=
github.com/quasilyte/regex/syntax v0.0.0-20200407221936-30656e2c4a95 h1:L8QM9bvf68pVdQ3bCFZMDmnt9yqcMBro1pC7F+IPYMY=
@@ -512,18 +608,28 @@ github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFR
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/ryancurrah/gomodguard v1.3.0 h1:q15RT/pd6UggBXVBuLps8BXRvl5GPBcwVA7BJHMLuTw=
github.com/ryancurrah/gomodguard v1.3.0/go.mod h1:ggBxb3luypPEzqVtq33ee7YSN35V28XeGnid8dnni50=
github.com/ryancurrah/gomodguard v1.3.1 h1:fH+fUg+ngsQO0ruZXXHnA/2aNllWA1whly4a6UvyzGE=
github.com/ryancurrah/gomodguard v1.3.1/go.mod h1:DGFHzEhi6iJ0oIDfMuo3TgrS+L9gZvrEfmjjuelnRU0=
github.com/ryanrolds/sqlclosecheck v0.4.0 h1:i8SX60Rppc1wRuyQjMciLqIzV3xnoHB7/tXbr6RGYNI=
github.com/ryanrolds/sqlclosecheck v0.4.0/go.mod h1:TBRRjzL31JONc9i4XMinicuo+s+E8yKZ5FN8X3G6CKQ=
github.com/ryanrolds/sqlclosecheck v0.5.1 h1:dibWW826u0P8jNLsLN+En7+RqWWTYrjCB9fJfSfdyCU=
github.com/ryanrolds/sqlclosecheck v0.5.1/go.mod h1:2g3dUjoS6AL4huFdv6wn55WpLIDjY7ZgUR4J8HOO/XQ=
github.com/sanposhiho/wastedassign/v2 v2.0.7 h1:J+6nrY4VW+gC9xFzUc+XjPD3g3wF3je/NsJFwFK7Uxc=
github.com/sanposhiho/wastedassign/v2 v2.0.7/go.mod h1:KyZ0MWTwxxBmfwn33zh3k1dmsbF2ud9pAAGfoLfjhtI=
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 h1:lZUw3E0/J3roVtGQ+SCrUrg3ON6NgVqpn3+iol9aGu4=
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1/go.mod h1:uToXkOrWAZ6/Oc07xWQrPOhJotwFIyu2bBVN41fcDUY=
github.com/sashamelentyev/interfacebloat v1.1.0 h1:xdRdJp0irL086OyW1H/RTZTr1h/tMEOsumirXcOJqAw=
github.com/sashamelentyev/interfacebloat v1.1.0/go.mod h1:+Y9yU5YdTkrNvoX0xHc84dxiN1iBi9+G8zZIhPVoNjQ=
github.com/sashamelentyev/usestdlibvars v1.23.0 h1:01h+/2Kd+NblNItNeux0veSL5cBF1jbEOPrEhDzGYq0=
github.com/sashamelentyev/usestdlibvars v1.23.0/go.mod h1:YPwr/Y1LATzHI93CqoPUN/2BzGQ/6N/cl/KwgR0B/aU=
github.com/sashamelentyev/usestdlibvars v1.25.0 h1:IK8SI2QyFzy/2OD2PYnhy84dpfNo9qADrRt6LH8vSzU=
github.com/sashamelentyev/usestdlibvars v1.25.0/go.mod h1:9nl0jgOfHKWNFS43Ojw0i7aRoS4j6EBye3YBhmAIRF8=
github.com/securego/gosec/v2 v2.15.0 h1:v4Ym7FF58/jlykYmmhZ7mTm7FQvN/setNm++0fgIAtw=
github.com/securego/gosec/v2 v2.15.0/go.mod h1:VOjTrZOkUtSDt2QLSJmQBMWnvwiQPEjg0l+5juIqGk8=
github.com/securego/gosec/v2 v2.16.0 h1:Pi0JKoasQQ3NnoRao/ww/N/XdynIB9NRYYZT5CyOs5U=
github.com/securego/gosec/v2 v2.16.0/go.mod h1:xvLcVZqUfo4aAQu56TNv7/Ltz6emAOQAEsrZrt7uGlI=
github.com/securego/gosec/v2 v2.19.0 h1:gl5xMkOI0/E6Hxx0XCY2XujA3V7SNSefA8sC+3f1gnk=
github.com/securego/gosec/v2 v2.19.0/go.mod h1:hOkDcHz9J/XIgIlPDXalxjeVYsHxoWUc5zJSHxcB8YM=
github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c h1:W65qqJCIOVP4jpqPQ0YvHYKwcMEMVWIzWC5iNQQfBTU=
github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c/go.mod h1:/PevMnwAxekIXwN8qQyfc5gl2NlkB3CQlkizAbOkeBs=
github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk=
@@ -551,6 +657,8 @@ github.com/sourcegraph/go-diff v0.7.0 h1:9uLlrd5T46OXs5qpp8L/MTltk0zikUGi0sNNyCp
github.com/sourcegraph/go-diff v0.7.0/go.mod h1:iBszgVvyxdc8SFZ7gm69go2KDdt3ag071iBaWPF6cjs=
github.com/spf13/afero v1.8.2 h1:xehSyVa0YnHWsJ49JFljMpg1HX19V6NDZ1fkm1Xznbo=
github.com/spf13/afero v1.8.2/go.mod h1:CtAatgMJh6bJEIs48Ay/FOnkljP3WeGUG0MC1RfAqwo=
github.com/spf13/afero v1.11.0 h1:WJQKhtpdm3v2IzqG8VMqrr6Rf3UYpEF239Jy9wNepM8=
github.com/spf13/afero v1.11.0/go.mod h1:GH9Y3pIexgf1MTIWtNGyogA5MwRIDXGUr+hbWNoBjkY=
github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w=
github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU=
github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA=
@@ -572,6 +680,8 @@ github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c=
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY=
github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
github.com/stretchr/testify v1.1.4/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
@@ -586,6 +696,8 @@ github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ
github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/subosito/gotenv v1.4.1 h1:jyEFiXpy21Wm81FBN71l9VoMMV8H8jG+qIK3GCpY6Qs=
github.com/subosito/gotenv v1.4.1/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0=
github.com/t-yuki/gocover-cobertura v0.0.0-20180217150009-aaee18c8195c h1:+aPplBwWcHBo6q9xrfWdMrT9o4kltkmmvpemgIjep/8=
@@ -598,6 +710,8 @@ github.com/tenntenn/modver v1.0.1/go.mod h1:bePIyQPb7UeioSRkw3Q0XeMhYZSMx9B8ePqg
github.com/tenntenn/text/transform v0.0.0-20200319021203-7eef512accb3/go.mod h1:ON8b8w4BN/kE1EOhwT0o+d62W65a6aPw1nouo9LMgyY=
github.com/tetafro/godot v1.4.11 h1:BVoBIqAf/2QdbFmSwAWnaIqDivZdOV0ZRwEm6jivLKw=
github.com/tetafro/godot v1.4.11/go.mod h1:LR3CJpxDVGlYOWn3ZZg1PgNZdTUvzsZWu8xaEohUpn8=
github.com/tetafro/godot v1.4.16 h1:4ChfhveiNLk4NveAZ9Pu2AN8QZ2nkUGFuadM9lrr5D0=
github.com/tetafro/godot v1.4.16/go.mod h1:2oVxTBSftRTh4+MVfUaUXR6bn2GDXCaMcOG4Dk3rfio=
github.com/timakin/bodyclose v0.0.0-20221125081123-e39cf3fc478e h1:MV6KaVu/hzByHP0UvJ4HcMGE/8a6A4Rggc/0wx2AvJo=
github.com/timakin/bodyclose v0.0.0-20221125081123-e39cf3fc478e/go.mod h1:27bSVNWSBOHm+qRp1T9qzaIpsWEP6TbUnei/43HK+PQ=
github.com/timakin/bodyclose v0.0.0-20230421092635-574207250966 h1:quvGphlmUVU+nhpFa4gg4yJyTRJ13reZMDHrKwYw53M=
@@ -610,22 +724,34 @@ github.com/tomarrell/wrapcheck/v2 v2.8.0 h1:qDzbir0xmoE+aNxGCPrn+rUSxAX+nG6vREgb
github.com/tomarrell/wrapcheck/v2 v2.8.0/go.mod h1:ao7l5p0aOlUNJKI0qVwB4Yjlqutd0IvAB9Rdwyilxvg=
github.com/tomarrell/wrapcheck/v2 v2.8.1 h1:HxSqDSN0sAt0yJYsrcYVoEeyM4aI9yAm3KQpIXDJRhQ=
github.com/tomarrell/wrapcheck/v2 v2.8.1/go.mod h1:/n2Q3NZ4XFT50ho6Hbxg+RV1uyo2Uow/Vdm9NQcl5SE=
github.com/tomarrell/wrapcheck/v2 v2.8.3 h1:5ov+Cbhlgi7s/a42BprYoxsr73CbdMUTzE3bRDFASUs=
github.com/tomarrell/wrapcheck/v2 v2.8.3/go.mod h1:g9vNIyhb5/9TQgumxQyOEqDHsmGYcGsVMOx/xGkqdMo=
github.com/tommy-muehle/go-mnd/v2 v2.5.1 h1:NowYhSdyE/1zwK9QCLeRb6USWdoif80Ie+v+yU8u1Zw=
github.com/tommy-muehle/go-mnd/v2 v2.5.1/go.mod h1:WsUAkMJMYww6l/ufffCD3m+P7LEvr8TnZn9lwVDlgzw=
github.com/ultraware/funlen v0.0.3 h1:5ylVWm8wsNwH5aWo9438pwvsK0QiqVuUrt9bn7S/iLA=
github.com/ultraware/funlen v0.0.3/go.mod h1:Dp4UiAus7Wdb9KUZsYWZEWiRzGuM2kXM1lPbfaF6xhA=
github.com/ultraware/funlen v0.1.0 h1:BuqclbkY6pO+cvxoq7OsktIXZpgBSkYTQtmwhAK81vI=
github.com/ultraware/funlen v0.1.0/go.mod h1:XJqmOQja6DpxarLj6Jj1U7JuoS8PvL4nEqDaQhy22p4=
github.com/ultraware/whitespace v0.0.5 h1:hh+/cpIcopyMYbZNVov9iSxvJU3OYQg78Sfaqzi/CzI=
github.com/ultraware/whitespace v0.0.5/go.mod h1:aVMh/gQve5Maj9hQ/hg+F75lr/X5A89uZnzAmWSineA=
github.com/ultraware/whitespace v0.1.0 h1:O1HKYoh0kIeqE8sFqZf1o0qbORXUCOQFrlaQyZsczZw=
github.com/ultraware/whitespace v0.1.0/go.mod h1:/se4r3beMFNmewJ4Xmz0nMQ941GJt+qmSHGP9emHYe0=
github.com/uudashr/gocognit v1.0.6 h1:2Cgi6MweCsdB6kpcVQp7EW4U23iBFQWfTXiWlyp842Y=
github.com/uudashr/gocognit v1.0.6/go.mod h1:nAIUuVBnYU7pcninia3BHOvQkpQCeO76Uscky5BOwcY=
github.com/uudashr/gocognit v1.1.2 h1:l6BAEKJqQH2UpKAPKdMfZf5kE4W/2xk8pfU1OVLvniI=
github.com/uudashr/gocognit v1.1.2/go.mod h1:aAVdLURqcanke8h3vg35BC++eseDm66Z7KmchI5et4k=
github.com/xen0n/gosmopolitan v1.2.1 h1:3pttnTuFumELBRSh+KQs1zcz4fN6Zy7aB0xlnQSn1Iw=
github.com/xen0n/gosmopolitan v1.2.1/go.mod h1:JsHq/Brs1o050OOdmzHeOr0N7OtlnKRAGAsElF8xBQA=
github.com/xen0n/gosmopolitan v1.2.2 h1:/p2KTnMzwRexIW8GlKawsTWOxn7UHA+jCMF/V8HHtvU=
github.com/xen0n/gosmopolitan v1.2.2/go.mod h1:7XX7Mj61uLYrj0qmeN0zi7XDon9JRAEhYQqAPLVNTeg=
github.com/yagipy/maintidx v1.0.0 h1:h5NvIsCz+nRDapQ0exNv4aJ0yXSI0420omVANTv3GJM=
github.com/yagipy/maintidx v1.0.0/go.mod h1:0qNf/I/CCZXSMhsRsrEPDZ+DkekpKLXAJfsTACwgXLk=
github.com/yeya24/promlinter v0.2.0 h1:xFKDQ82orCU5jQujdaD8stOHiv8UN68BSdn2a8u8Y3o=
github.com/yeya24/promlinter v0.2.0/go.mod h1:u54lkmBOZrpEbQQ6gox2zWKKLKu2SGe+2KOiextY+IA=
github.com/ykadowak/zerologlint v0.1.2 h1:Um4P5RMmelfjQqQJKtE8ZW+dLZrXrENeIzWWKw800U4=
github.com/ykadowak/zerologlint v0.1.2/go.mod h1:KaUskqF3e/v59oPmdq1U1DnKcuHokl2/K1U4pmIELKg=
github.com/ykadowak/zerologlint v0.1.5 h1:Gy/fMz1dFQN9JZTPjv1hxEk+sRWm05row04Yoolgdiw=
github.com/ykadowak/zerologlint v0.1.5/go.mod h1:KaUskqF3e/v59oPmdq1U1DnKcuHokl2/K1U4pmIELKg=
github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
@@ -635,6 +761,12 @@ github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
gitlab.com/bosi/decorder v0.2.3 h1:gX4/RgK16ijY8V+BRQHAySfQAb354T7/xQpDB2n10P0=
gitlab.com/bosi/decorder v0.2.3/go.mod h1:9K1RB5+VPNQYtXtTDAzd2OEftsZb1oV0IrJrzChSdGE=
gitlab.com/bosi/decorder v0.4.1 h1:VdsdfxhstabyhZovHafFw+9eJ6eU0d2CkFNJcZz/NU4=
gitlab.com/bosi/decorder v0.4.1/go.mod h1:jecSqWUew6Yle1pCr2eLWTensJMmsxHsBwt+PVbkAqA=
go-simpler.org/musttag v0.9.0 h1:Dzt6/tyP9ONr5g9h9P3cnYWCxeBFRkd0uJL/w+1Mxos=
go-simpler.org/musttag v0.9.0/go.mod h1:gA9nThnalvNSKpEoyp3Ko4/vCX2xTpqKoUtNqXOnVR4=
go-simpler.org/sloglint v0.5.0 h1:2YCcd+YMuYpuqthCgubcF5lBSjb6berc5VMOYUHKrpY=
go-simpler.org/sloglint v0.5.0/go.mod h1:EUknX5s8iXqf18KQxKnaBHUPVriiPnOrPjjJcsaTcSQ=
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
@@ -645,6 +777,8 @@ go.tmz.dev/musttag v0.7.0 h1:QfytzjTWGXZmChoX0L++7uQN+yRCPfyFm+whsM+lfGc=
go.tmz.dev/musttag v0.7.0/go.mod h1:oTFPvgOkJmp5kYL02S8+jrH0eLrBIl57rzWeA26zDEM=
go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw=
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
go.uber.org/automaxprocs v1.5.3 h1:kWazyxZUrS3Gs4qUpbwo5kEIMGe/DAvi5Z4tl2NW4j8=
go.uber.org/automaxprocs v1.5.3/go.mod h1:eRbA25aqJrxAbsLO0xy5jVwPt7FQnRgjW+efnwa1WM0=
go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4=
go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
go.uber.org/zap v1.17.0 h1:MTjgFu6ZLKvY6Pvaqk97GlxNBuMpV4Hy/3P6tRGlI2U=
@@ -675,11 +809,15 @@ golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e h1:+WEEuIdZHnUeJJmEUjyYC2gfU
golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e/go.mod h1:Kr81I6Kryrl9sr8s2FK3vxD90NdsKWRuOIl2O4CvYbA=
golang.org/x/exp v0.0.0-20230510235704-dd950f8aeaea h1:vLCWI/yYrdEHyN2JzIzPO3aaQJHQdp89IZBA/+azVC4=
golang.org/x/exp v0.0.0-20230510235704-dd950f8aeaea/go.mod h1:V1LtkGg67GoY2N1AnLN78QLrzxkLyJw7RJb1gzOOz9w=
golang.org/x/exp v0.0.0-20240103183307-be819d1f06fc h1:ao2WRsKSzW6KuUY9IWPwWahcHCgR0s52IfwutMfEbdM=
golang.org/x/exp v0.0.0-20240103183307-be819d1f06fc/go.mod h1:iRJReGqOEeBhDZGkGbynYwcHlctCvnjTYIamk7uXpHI=
golang.org/x/exp/typeparams v0.0.0-20220428152302-39d4317da171/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk=
golang.org/x/exp/typeparams v0.0.0-20230203172020-98cc5a0785f9 h1:6WHiuFL9FNjg8RljAaT7FNUuKDbvMqS1i5cr2OE2sLQ=
golang.org/x/exp/typeparams v0.0.0-20230203172020-98cc5a0785f9/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk=
golang.org/x/exp/typeparams v0.0.0-20230224173230-c95f2b4c22f2 h1:J74nGeMgeFnYQJN59eFwh06jX/V8g0lB7LWpjSLxtgU=
golang.org/x/exp/typeparams v0.0.0-20230224173230-c95f2b4c22f2/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk=
golang.org/x/exp/typeparams v0.0.0-20240314144324-c7f7c6466f7f h1:phY1HzDcf18Aq9A8KkmRtY9WvOFIxN8wgfvy6Zm1DV8=
golang.org/x/exp/typeparams v0.0.0-20240314144324-c7f7c6466f7f/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk=
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
@@ -715,6 +853,8 @@ golang.org/x/mod v0.9.0 h1:KENHtAZL2y3NLMYZeHY9DW8HW8V+kQyJsY/V9JlKvCs=
golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.10.0 h1:lFO9qtOdlre5W1jxS3r/4szv2/6iXxScdzjoBMXNhYk=
golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.16.0 h1:QX4fJ0Rr5cPQCF7O9lh9Se4pmwfwskqZfq5moyldzic=
golang.org/x/mod v0.16.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -783,6 +923,8 @@ golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o=
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.2.0 h1:PUR+T4wwASmuSTYdKjYHI5TD22Wy5ogLU5qZCOLxBrI=
golang.org/x/sync v0.2.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ=
golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -847,6 +989,8 @@ golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU=
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4=
golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
@@ -870,6 +1014,8 @@ golang.org/x/text v0.7.0 h1:4BRB4x83lYWy72KwLD/qYDuTu7q9PjSagHvijDw7cLo=
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE=
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
@@ -954,6 +1100,8 @@ golang.org/x/tools v0.7.0 h1:W4OVu8VVOaIO0yzWMNdepAulS7YfoS3Zabrm8DOXXU4=
golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s=
golang.org/x/tools v0.9.3 h1:Gn1I8+64MsuTb/HpH+LmQtNas23LhUVr3rYZ0eKuaMM=
golang.org/x/tools v0.9.3/go.mod h1:owI94Op576fPu3cIGQeHs3joujW/2Oc6MtlxbF5dfNc=
golang.org/x/tools v0.19.0 h1:tfGCXNR1OsFG+sVdLAitlpjAvD/I6dHDKnYrpEZUHkw=
golang.org/x/tools v0.19.0/go.mod h1:qoJWxmGSIBmAeriMx19ogtrEPrGtDbPK634QFIcLAhc=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@@ -1050,6 +1198,8 @@ google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp0
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.28.0 h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscLw=
google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
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=
@@ -1080,16 +1230,22 @@ honnef.co/go/tools v0.4.2 h1:6qXr+R5w+ktL5UkwEbPp+fEvfyoMPche6GkOpGHZcLc=
honnef.co/go/tools v0.4.2/go.mod h1:36ZgoUOrqOk1GxwHhyryEkq8FQWkUO2xGuSMhUCcdvA=
honnef.co/go/tools v0.4.3 h1:o/n5/K5gXqk8Gozvs2cnL0F2S1/g1vcGCAx2vETjITw=
honnef.co/go/tools v0.4.3/go.mod h1:36ZgoUOrqOk1GxwHhyryEkq8FQWkUO2xGuSMhUCcdvA=
honnef.co/go/tools v0.4.7 h1:9MDAWxMoSnB6QoSqiVr7P5mtkT9pOc1kSxchzPCnqJs=
honnef.co/go/tools v0.4.7/go.mod h1:+rnGS1THNh8zMwnd2oVOTL9QF6vmfyG6ZXBULae2uc0=
mvdan.cc/gofumpt v0.4.0 h1:JVf4NN1mIpHogBj7ABpgOyZc65/UUOkKQFkoURsz4MM=
mvdan.cc/gofumpt v0.4.0/go.mod h1:PljLOHDeZqgS8opHRKLzp2It2VBuSdteAgqUfzMTxlQ=
mvdan.cc/gofumpt v0.5.0 h1:0EQ+Z56k8tXjj/6TQD25BFNKQXpCvT0rnansIc7Ug5E=
mvdan.cc/gofumpt v0.5.0/go.mod h1:HBeVDtMKRZpXyxFciAirzdKklDlGu8aAy1wEbH5Y9js=
mvdan.cc/gofumpt v0.6.0 h1:G3QvahNDmpD+Aek/bNOLrFR2XC6ZAdo62dZu65gmwGo=
mvdan.cc/gofumpt v0.6.0/go.mod h1:4L0wf+kgIPZtcCWXynNS2e6bhmj73umwnuXSZarixzA=
mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed h1:WX1yoOaKQfddO/mLzdV4wptyWgoH/6hwLs7QHTixo0I=
mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed/go.mod h1:Xkxe497xwlCKkIaQYRfC7CSLworTXY9RMqwhhCm+8Nc=
mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b h1:DxJ5nJdkhDlLok9K6qO+5290kphDJbHOQO1DFFFTeBo=
mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b/go.mod h1:2odslEg/xrtNQqCYg2/jCoyKnw3vv5biOc3JnIcYfL4=
mvdan.cc/unparam v0.0.0-20221223090309-7455f1af531d h1:3rvTIIM22r9pvXk+q3swxUQAQOxksVMGK7sml4nG57w=
mvdan.cc/unparam v0.0.0-20221223090309-7455f1af531d/go.mod h1:IeHQjmn6TOD+e4Z3RFiZMMsLVL+A96Nvptar8Fj71is=
mvdan.cc/unparam v0.0.0-20240104100049-c549a3470d14 h1:zCr3iRRgdk5eIikZNDphGcM6KGVTx3Yu+/Uu9Es254w=
mvdan.cc/unparam v0.0.0-20240104100049-c549a3470d14/go.mod h1:ZzZjEpJDOmx8TdVU6umamY3Xy0UAQUI2DHbf05USVbI=
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=

View File

@@ -1,4 +1,4 @@
# Auto generated binary variables helper managed by https://github.com/bwplotka/bingo v0.9. DO NOT EDIT.
# Auto generated binary variables helper managed by https://github.com/bwplotka/bingo v0.8. DO NOT EDIT.
# 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.
GOBIN=${GOBIN:=$(go env GOBIN)}
@@ -14,7 +14,7 @@ CUE="${GOBIN}/cue-v0.5.0"
DRONE="${GOBIN}/drone-v1.5.0"
GOLANGCI_LINT="${GOBIN}/golangci-lint-v1.53.3"
GOLANGCI_LINT="${GOBIN}/golangci-lint-v1.57.1"
JB="${GOBIN}/jb-v0.5.1"
@@ -22,5 +22,3 @@ LEFTHOOK="${GOBIN}/lefthook-v1.4.8"
SWAGGER="${GOBIN}/swagger-v0.30.2"
WIRE="${GOBIN}/wire-v0.6.0"

View File

@@ -1,5 +0,0 @@
module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT
go 1.16
require github.com/google/wire v0.6.0 // cmd/wire

View File

@@ -1,6 +1,5 @@
[run]
init_cmds = [
["GO_BUILD_DEV=1", "make", "gen-go"],
["GO_BUILD_DEV=1", "make", "build-go"],
["make", "gen-jsonnet"],
["./bin/grafana", "server", "-packaging=dev", "cfg:app_mode=development"]
@@ -17,7 +16,6 @@ watch_exts = [".go", ".ini", ".toml", ".template.html"]
ignore_files = [".*_gen.go"]
build_delay = 1500
cmds = [
["GO_BUILD_DEV=1", "make", "gen-go"],
["GO_BUILD_DEV=1", "make", "build-go"],
["make", "gen-jsonnet"],
["./bin/grafana", "server", "-packaging=dev", "cfg:app_mode=development"]

View File

@@ -25,7 +25,7 @@ steps:
depends_on: []
environment:
CGO_ENABLED: 0
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: compile-build-cmd
- commands:
- ./bin/build verify-drone
@@ -76,14 +76,14 @@ steps:
depends_on: []
environment:
CGO_ENABLED: 0
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: compile-build-cmd
- commands:
- go install github.com/bazelbuild/buildtools/buildifier@latest
- buildifier --lint=warn -mode=check -r .
depends_on:
- compile-build-cmd
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: lint-starlark
trigger:
event:
@@ -323,7 +323,7 @@ steps:
- apk add --update make
- CODEGEN_VERIFY=1 make gen-cue
depends_on: []
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: verify-gen-cue
- commands:
- '# It is required that generated jsonnet is committed and in sync with its inputs.'
@@ -332,14 +332,14 @@ steps:
- apk add --update make
- CODEGEN_VERIFY=1 make gen-jsonnet
depends_on: []
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: verify-gen-jsonnet
- commands:
- apk add --update make
- make gen-go
depends_on:
- verify-gen-cue
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: wire-install
- commands:
- apk add --update build-base shared-mime-info shared-mime-info-lang
@@ -347,7 +347,7 @@ steps:
-timeout=5m
depends_on:
- wire-install
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: test-backend
- commands:
- apk add --update build-base
@@ -356,7 +356,7 @@ steps:
| grep -o '\(.*\)/' | sort -u)
depends_on:
- wire-install
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: test-backend-integration
trigger:
event:
@@ -408,7 +408,7 @@ steps:
depends_on: []
environment:
CGO_ENABLED: 0
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: compile-build-cmd
- commands:
- apk add --update curl jq bash
@@ -435,7 +435,7 @@ steps:
- apk add --update make
- make gen-go
depends_on: []
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: wire-install
- commands:
- apk add --update make build-base
@@ -444,16 +444,16 @@ steps:
- wire-install
environment:
CGO_ENABLED: "1"
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: lint-backend
- commands:
- go run scripts/modowners/modowners.go check go.mod
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: validate-modfile
- commands:
- apk add --update make
- make swagger-validate
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: validate-openapi-spec
trigger:
event:
@@ -463,6 +463,7 @@ trigger:
- docs/**
- '*.md'
include:
- .golangci.toml
- Makefile
- pkg/**
- packaging/**
@@ -511,7 +512,7 @@ steps:
depends_on: []
environment:
CGO_ENABLED: 0
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: compile-build-cmd
- commands:
- '# It is required that code generated from Thema/CUE be committed and in sync
@@ -521,7 +522,7 @@ steps:
- apk add --update make
- CODEGEN_VERIFY=1 make gen-cue
depends_on: []
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: verify-gen-cue
- commands:
- '# It is required that generated jsonnet is committed and in sync with its inputs.'
@@ -530,14 +531,14 @@ steps:
- apk add --update make
- CODEGEN_VERIFY=1 make gen-jsonnet
depends_on: []
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: verify-gen-jsonnet
- commands:
- apk add --update make
- make gen-go
depends_on:
- verify-gen-cue
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: wire-install
- commands:
- apk add --update g++ make python3 && ln -sf /usr/bin/python3 /usr/bin/python
@@ -571,7 +572,7 @@ steps:
from_secret: drone_token
- commands:
- /src/grafana-build artifacts -a targz:grafana:linux/amd64 -a targz:grafana:linux/arm64
-a targz:grafana:linux/arm/v7 --go-version=1.21.8 --yarn-cache=$$YARN_CACHE_FOLDER
-a targz:grafana:linux/arm/v7 --go-version=1.21.10 --yarn-cache=$$YARN_CACHE_FOLDER
--build-id=$$DRONE_BUILD_NUMBER --grafana-dir=$$PWD > packages.txt
depends_on:
- yarn-install
@@ -665,8 +666,7 @@ steps:
HOST: grafana-server
PORT: "3001"
PROV_DIR: /grafana/scripts/grafana-server/tmp/conf/provisioning
failure: ignore
image: mcr.microsoft.com/playwright:v1.41.2-jammy
image: mcr.microsoft.com/playwright:v1.42.1-jammy
name: playwright-plugin-e2e
- commands:
- apt-get update
@@ -775,7 +775,7 @@ steps:
- /src/grafana-build artifacts -a docker:grafana:linux/amd64 -a docker:grafana:linux/amd64:ubuntu
-a docker:grafana:linux/arm64 -a docker:grafana:linux/arm64:ubuntu -a docker:grafana:linux/arm/v7
-a docker:grafana:linux/arm/v7:ubuntu --yarn-cache=$$YARN_CACHE_FOLDER --build-id=$$DRONE_BUILD_NUMBER
--go-version=1.21.8 --ubuntu-base=ubuntu:22.04 --alpine-base=alpine:3.19.1 --tag-format='{{
--go-version=1.21.10 --ubuntu-base=ubuntu:22.04 --alpine-base=alpine:3.19.1 --tag-format='{{
.version_base }}-{{ .buildID }}-{{ .arch }}' --grafana-dir=$$PWD --ubuntu-tag-format='{{
.version_base }}-{{ .buildID }}-ubuntu-{{ .arch }}' > docker.txt
- find ./dist -name '*docker*.tar.gz' -type f | xargs -n1 docker load -i
@@ -878,7 +878,7 @@ services:
- commands:
- /bin/mimir -target=backend -alertmanager.grafana-alertmanager-compatibility-enabled
environment: {}
image: grafana/mimir:r274-1780c50
image: us.gcr.io/kubernetes-dev/mimir:santihernandezc-remove_id_from_grafana_config-d3826b4f8-WIP
name: mimir_backend
- environment: {}
image: redis:6.2.11-alpine
@@ -919,7 +919,7 @@ steps:
depends_on: []
environment:
CGO_ENABLED: 0
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: compile-build-cmd
- commands:
- echo $DRONE_RUNNER_NAME
@@ -933,7 +933,7 @@ steps:
- apk add --update make
- CODEGEN_VERIFY=1 make gen-cue
depends_on: []
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: verify-gen-cue
- commands:
- '# It is required that generated jsonnet is committed and in sync with its inputs.'
@@ -942,14 +942,14 @@ steps:
- apk add --update make
- CODEGEN_VERIFY=1 make gen-jsonnet
depends_on: []
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: verify-gen-jsonnet
- commands:
- apk add --update make
- make gen-go
depends_on:
- verify-gen-cue
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: wire-install
- commands:
- dockerize -wait tcp://postgres:5432 -timeout 120s
@@ -970,7 +970,7 @@ steps:
GRAFANA_TEST_DB: postgres
PGPASSWORD: grafanatest
POSTGRES_HOST: postgres
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: postgres-integration-tests
- commands:
- dockerize -wait tcp://mysql57:3306 -timeout 120s
@@ -991,7 +991,7 @@ steps:
environment:
GRAFANA_TEST_DB: mysql
MYSQL_HOST: mysql57
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: mysql-5.7-integration-tests
- commands:
- dockerize -wait tcp://mysql80:3306 -timeout 120s
@@ -1012,7 +1012,7 @@ steps:
environment:
GRAFANA_TEST_DB: mysql
MYSQL_HOST: mysql80
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: mysql-8.0-integration-tests
- commands:
- dockerize -wait tcp://redis:6379 -timeout 120s
@@ -1028,7 +1028,7 @@ steps:
- wait-for-redis
environment:
REDIS_URL: redis://redis:6379/0
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: redis-integration-tests
- commands:
- dockerize -wait tcp://memcached:11211 -timeout 120s
@@ -1044,7 +1044,7 @@ steps:
- wait-for-memcached
environment:
MEMCACHED_HOSTS: memcached:11211
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: memcached-integration-tests
- commands:
- dockerize -wait tcp://mimir_backend:8080 -timeout 120s
@@ -1060,7 +1060,7 @@ steps:
environment:
AM_TENANT_ID: test
AM_URL: http://mimir_backend:8080
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: remote-alertmanager-integration-tests
trigger:
event:
@@ -1149,7 +1149,7 @@ steps:
- apk add --update make
- CODEGEN_VERIFY=1 make gen-cue
depends_on: []
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: verify-gen-cue
trigger:
event:
@@ -1190,7 +1190,7 @@ steps:
depends_on: []
environment:
CGO_ENABLED: 0
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: compile-build-cmd
- commands:
- apt-get update -yq && apt-get install shellcheck
@@ -1262,7 +1262,7 @@ steps:
environment:
GITHUB_TOKEN:
from_secret: github_token
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: swagger-gen
trigger:
event:
@@ -1326,7 +1326,7 @@ services:
- commands:
- /bin/mimir -target=backend -alertmanager.grafana-alertmanager-compatibility-enabled
environment: {}
image: grafana/mimir:r274-1780c50
image: us.gcr.io/kubernetes-dev/mimir:santihernandezc-remove_id_from_grafana_config-d3826b4f8-WIP
name: mimir_backend
- environment: {}
image: redis:6.2.11-alpine
@@ -1358,7 +1358,7 @@ steps:
depends_on: []
environment:
CGO_ENABLED: 0
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: compile-build-cmd
- commands:
- '# It is required that code generated from Thema/CUE be committed and in sync
@@ -1369,7 +1369,7 @@ steps:
- CODEGEN_VERIFY=1 make gen-cue
depends_on:
- clone-enterprise
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: verify-gen-cue
- commands:
- '# It is required that generated jsonnet is committed and in sync with its inputs.'
@@ -1379,14 +1379,14 @@ steps:
- CODEGEN_VERIFY=1 make gen-jsonnet
depends_on:
- clone-enterprise
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: verify-gen-jsonnet
- commands:
- apk add --update make
- make gen-go
depends_on:
- verify-gen-cue
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: wire-install
- commands:
- apk add --update build-base
@@ -1394,7 +1394,7 @@ steps:
- go test -v -run=^$ -benchmem -timeout=1h -count=8 -bench=. ${GO_PACKAGES}
depends_on:
- wire-install
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: sqlite-benchmark-integration-tests
- commands:
- apk add --update build-base
@@ -1406,7 +1406,7 @@ steps:
GRAFANA_TEST_DB: postgres
PGPASSWORD: grafanatest
POSTGRES_HOST: postgres
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: postgres-benchmark-integration-tests
- commands:
- apk add --update build-base
@@ -1417,7 +1417,7 @@ steps:
environment:
GRAFANA_TEST_DB: mysql
MYSQL_HOST: mysql57
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: mysql-5.7-benchmark-integration-tests
- commands:
- apk add --update build-base
@@ -1428,7 +1428,7 @@ steps:
environment:
GRAFANA_TEST_DB: mysql
MYSQL_HOST: mysql80
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: mysql-8.0-benchmark-integration-tests
trigger:
event:
@@ -1507,7 +1507,7 @@ steps:
- apk add --update make
- CODEGEN_VERIFY=1 make gen-cue
depends_on: []
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: verify-gen-cue
trigger:
branch: main
@@ -1684,7 +1684,7 @@ steps:
- apk add --update make
- CODEGEN_VERIFY=1 make gen-cue
depends_on: []
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: verify-gen-cue
- commands:
- '# It is required that generated jsonnet is committed and in sync with its inputs.'
@@ -1693,14 +1693,14 @@ steps:
- apk add --update make
- CODEGEN_VERIFY=1 make gen-jsonnet
depends_on: []
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: verify-gen-jsonnet
- commands:
- apk add --update make
- make gen-go
depends_on:
- verify-gen-cue
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: wire-install
- commands:
- apk add --update build-base shared-mime-info shared-mime-info-lang
@@ -1708,7 +1708,7 @@ steps:
-timeout=5m
depends_on:
- wire-install
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: test-backend
- commands:
- apk add --update build-base
@@ -1717,7 +1717,7 @@ steps:
| grep -o '\(.*\)/' | sort -u)
depends_on:
- wire-install
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: test-backend-integration
trigger:
branch: main
@@ -1762,13 +1762,13 @@ steps:
depends_on: []
environment:
CGO_ENABLED: 0
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: compile-build-cmd
- commands:
- apk add --update make
- make gen-go
depends_on: []
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: wire-install
- commands:
- apk add --update make build-base
@@ -1777,16 +1777,16 @@ steps:
- wire-install
environment:
CGO_ENABLED: "1"
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: lint-backend
- commands:
- go run scripts/modowners/modowners.go check go.mod
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: validate-modfile
- commands:
- apk add --update make
- make swagger-validate
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: validate-openapi-spec
- commands:
- ./bin/build verify-drone
@@ -1843,7 +1843,7 @@ steps:
depends_on: []
environment:
CGO_ENABLED: 0
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: compile-build-cmd
- commands:
- '# It is required that code generated from Thema/CUE be committed and in sync
@@ -1853,7 +1853,7 @@ steps:
- apk add --update make
- CODEGEN_VERIFY=1 make gen-cue
depends_on: []
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: verify-gen-cue
- commands:
- '# It is required that generated jsonnet is committed and in sync with its inputs.'
@@ -1862,14 +1862,14 @@ steps:
- apk add --update make
- CODEGEN_VERIFY=1 make gen-jsonnet
depends_on: []
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: verify-gen-jsonnet
- commands:
- apk add --update make
- make gen-go
depends_on:
- verify-gen-cue
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: wire-install
- commands:
- apk add --update g++ make python3 && ln -sf /usr/bin/python3 /usr/bin/python
@@ -1902,7 +1902,7 @@ steps:
name: build-frontend-packages
- commands:
- /src/grafana-build artifacts -a targz:grafana:linux/amd64 -a targz:grafana:linux/arm64
-a targz:grafana:linux/arm/v7 --go-version=1.21.8 --yarn-cache=$$YARN_CACHE_FOLDER
-a targz:grafana:linux/arm/v7 --go-version=1.21.10 --yarn-cache=$$YARN_CACHE_FOLDER
--build-id=$$DRONE_BUILD_NUMBER --grafana-dir=$$PWD > packages.txt
depends_on:
- update-package-json-version
@@ -1996,8 +1996,7 @@ steps:
HOST: grafana-server
PORT: "3001"
PROV_DIR: /grafana/scripts/grafana-server/tmp/conf/provisioning
failure: ignore
image: mcr.microsoft.com/playwright:v1.41.2-jammy
image: mcr.microsoft.com/playwright:v1.42.1-jammy
name: playwright-plugin-e2e
- commands:
- apt-get update
@@ -2142,7 +2141,7 @@ steps:
- /src/grafana-build artifacts -a docker:grafana:linux/amd64 -a docker:grafana:linux/amd64:ubuntu
-a docker:grafana:linux/arm64 -a docker:grafana:linux/arm64:ubuntu -a docker:grafana:linux/arm/v7
-a docker:grafana:linux/arm/v7:ubuntu --yarn-cache=$$YARN_CACHE_FOLDER --build-id=$$DRONE_BUILD_NUMBER
--go-version=1.21.8 --ubuntu-base=ubuntu:22.04 --alpine-base=alpine:3.19.1 --tag-format='{{
--go-version=1.21.10 --ubuntu-base=ubuntu:22.04 --alpine-base=alpine:3.19.1 --tag-format='{{
.version_base }}-{{ .buildID }}-{{ .arch }}' --grafana-dir=$$PWD --ubuntu-tag-format='{{
.version_base }}-{{ .buildID }}-ubuntu-{{ .arch }}' > docker.txt
- find ./dist -name '*docker*.tar.gz' -type f | xargs -n1 docker load -i
@@ -2328,7 +2327,7 @@ services:
- commands:
- /bin/mimir -target=backend -alertmanager.grafana-alertmanager-compatibility-enabled
environment: {}
image: grafana/mimir:r274-1780c50
image: us.gcr.io/kubernetes-dev/mimir:santihernandezc-remove_id_from_grafana_config-d3826b4f8-WIP
name: mimir_backend
- environment: {}
image: redis:6.2.11-alpine
@@ -2348,7 +2347,7 @@ steps:
depends_on: []
environment:
CGO_ENABLED: 0
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: compile-build-cmd
- commands:
- echo $DRONE_RUNNER_NAME
@@ -2362,7 +2361,7 @@ steps:
- apk add --update make
- CODEGEN_VERIFY=1 make gen-cue
depends_on: []
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: verify-gen-cue
- commands:
- '# It is required that generated jsonnet is committed and in sync with its inputs.'
@@ -2371,14 +2370,14 @@ steps:
- apk add --update make
- CODEGEN_VERIFY=1 make gen-jsonnet
depends_on: []
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: verify-gen-jsonnet
- commands:
- apk add --update make
- make gen-go
depends_on:
- verify-gen-cue
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: wire-install
- commands:
- dockerize -wait tcp://postgres:5432 -timeout 120s
@@ -2399,7 +2398,7 @@ steps:
GRAFANA_TEST_DB: postgres
PGPASSWORD: grafanatest
POSTGRES_HOST: postgres
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: postgres-integration-tests
- commands:
- dockerize -wait tcp://mysql57:3306 -timeout 120s
@@ -2420,7 +2419,7 @@ steps:
environment:
GRAFANA_TEST_DB: mysql
MYSQL_HOST: mysql57
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: mysql-5.7-integration-tests
- commands:
- dockerize -wait tcp://mysql80:3306 -timeout 120s
@@ -2441,7 +2440,7 @@ steps:
environment:
GRAFANA_TEST_DB: mysql
MYSQL_HOST: mysql80
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: mysql-8.0-integration-tests
- commands:
- dockerize -wait tcp://redis:6379 -timeout 120s
@@ -2457,7 +2456,7 @@ steps:
- wait-for-redis
environment:
REDIS_URL: redis://redis:6379/0
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: redis-integration-tests
- commands:
- dockerize -wait tcp://memcached:11211 -timeout 120s
@@ -2473,7 +2472,7 @@ steps:
- wait-for-memcached
environment:
MEMCACHED_HOSTS: memcached:11211
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: memcached-integration-tests
- commands:
- dockerize -wait tcp://mimir_backend:8080 -timeout 120s
@@ -2489,7 +2488,7 @@ steps:
environment:
AM_TENANT_ID: test
AM_URL: http://mimir_backend:8080
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: remote-alertmanager-integration-tests
trigger:
branch: main
@@ -2604,7 +2603,7 @@ trigger:
- docs/**
- latest.json
repo:
- grafana/grafana-security-mirror
- grafana/grafana
type: docker
volumes:
- host:
@@ -2682,7 +2681,7 @@ steps:
depends_on: []
environment:
CGO_ENABLED: 0
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: compile-build-cmd
- commands:
- ./bin/build artifacts docker fetch --edition oss
@@ -2779,7 +2778,7 @@ steps:
depends_on: []
environment:
CGO_ENABLED: 0
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: compile-build-cmd
- commands:
- ./bin/build artifacts packages --tag $${DRONE_TAG} --src-bucket $${PRERELEASE_BUCKET}
@@ -2849,7 +2848,7 @@ steps:
depends_on: []
environment:
CGO_ENABLED: 0
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: compile-build-cmd
- commands:
- apk add --update g++ make python3 && ln -sf /usr/bin/python3 /usr/bin/python
@@ -2916,7 +2915,7 @@ steps:
depends_on: []
environment:
CGO_ENABLED: 0
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: compile-build-cmd
- depends_on:
- compile-build-cmd
@@ -3023,7 +3022,7 @@ steps:
from_secret: gcp_key_base64
GITHUB_TOKEN:
from_secret: github_token
GO_VERSION: 1.21.8
GO_VERSION: 1.21.10
GPG_PASSPHRASE:
from_secret: packages_gpg_passphrase
GPG_PRIVATE_KEY:
@@ -3081,13 +3080,13 @@ steps:
depends_on: []
environment:
CGO_ENABLED: 0
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: compile-build-cmd
- commands:
- ./bin/build whatsnew-checker
depends_on:
- compile-build-cmd
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: whats-new-checker
trigger:
event:
@@ -3190,7 +3189,7 @@ steps:
- apk add --update make
- CODEGEN_VERIFY=1 make gen-cue
depends_on: []
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: verify-gen-cue
- commands:
- '# It is required that generated jsonnet is committed and in sync with its inputs.'
@@ -3199,14 +3198,14 @@ steps:
- apk add --update make
- CODEGEN_VERIFY=1 make gen-jsonnet
depends_on: []
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: verify-gen-jsonnet
- commands:
- apk add --update make
- make gen-go
depends_on:
- verify-gen-cue
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: wire-install
- commands:
- apk add --update build-base shared-mime-info shared-mime-info-lang
@@ -3214,7 +3213,7 @@ steps:
-timeout=5m
depends_on:
- wire-install
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: test-backend
- commands:
- apk add --update build-base
@@ -3223,7 +3222,7 @@ steps:
| grep -o '\(.*\)/' | sort -u)
depends_on:
- wire-install
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: test-backend-integration
trigger:
event:
@@ -3280,7 +3279,7 @@ steps:
from_secret: gcp_key_base64
GITHUB_TOKEN:
from_secret: github_token
GO_VERSION: 1.21.8
GO_VERSION: 1.21.10
GPG_PASSPHRASE:
from_secret: packages_gpg_passphrase
GPG_PRIVATE_KEY:
@@ -3463,7 +3462,7 @@ steps:
from_secret: gcp_key_base64
GITHUB_TOKEN:
from_secret: github_token
GO_VERSION: 1.21.8
GO_VERSION: 1.21.10
GPG_PASSPHRASE:
from_secret: packages_gpg_passphrase
GPG_PRIVATE_KEY:
@@ -3613,7 +3612,7 @@ steps:
- apk add --update make
- CODEGEN_VERIFY=1 make gen-cue
depends_on: []
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: verify-gen-cue
- commands:
- '# It is required that generated jsonnet is committed and in sync with its inputs.'
@@ -3622,14 +3621,14 @@ steps:
- apk add --update make
- CODEGEN_VERIFY=1 make gen-jsonnet
depends_on: []
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: verify-gen-jsonnet
- commands:
- apk add --update make
- make gen-go
depends_on:
- verify-gen-cue
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: wire-install
- commands:
- apk add --update build-base shared-mime-info shared-mime-info-lang
@@ -3637,7 +3636,7 @@ steps:
-timeout=5m
depends_on:
- wire-install
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: test-backend
- commands:
- apk add --update build-base
@@ -3646,7 +3645,7 @@ steps:
| grep -o '\(.*\)/' | sort -u)
depends_on:
- wire-install
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: test-backend-integration
trigger:
cron:
@@ -3701,7 +3700,7 @@ steps:
from_secret: gcp_key_base64
GITHUB_TOKEN:
from_secret: github_token
GO_VERSION: 1.21.8
GO_VERSION: 1.21.10
GPG_PASSPHRASE:
from_secret: packages_gpg_passphrase
GPG_PRIVATE_KEY:
@@ -3848,7 +3847,7 @@ steps:
from_secret: gcp_key_base64
GITHUB_TOKEN:
from_secret: github_token
GO_VERSION: 1.21.8
GO_VERSION: 1.21.10
GPG_PASSPHRASE:
from_secret: packages_gpg_passphrase
GPG_PRIVATE_KEY:
@@ -3957,7 +3956,7 @@ steps:
from_secret: gcp_key_base64
GITHUB_TOKEN:
from_secret: github_token
GO_VERSION: 1.21.8
GO_VERSION: 1.21.10
GPG_PASSPHRASE:
from_secret: packages_gpg_passphrase
GPG_PRIVATE_KEY:
@@ -4047,20 +4046,20 @@ steps:
- commands: []
depends_on:
- clone
image: golang:1.21.8-windowsservercore-1809
image: golang:1.21.10-windowsservercore-1809
name: windows-init
- commands:
- go install github.com/google/wire/cmd/wire@v0.5.0
- wire gen -tags oss ./pkg/server
depends_on:
- windows-init
image: golang:1.21.8-windowsservercore-1809
image: golang:1.21.10-windowsservercore-1809
name: wire-install
- commands:
- go test -tags requires_buildifer -short -covermode=atomic -timeout=5m ./pkg/...
depends_on:
- wire-install
image: golang:1.21.8-windowsservercore-1809
image: golang:1.21.10-windowsservercore-1809
name: test-backend
trigger:
event:
@@ -4126,7 +4125,7 @@ services:
- commands:
- /bin/mimir -target=backend -alertmanager.grafana-alertmanager-compatibility-enabled
environment: {}
image: grafana/mimir:r274-1780c50
image: us.gcr.io/kubernetes-dev/mimir:santihernandezc-remove_id_from_grafana_config-d3826b4f8-WIP
name: mimir_backend
- environment: {}
image: redis:6.2.11-alpine
@@ -4153,7 +4152,7 @@ steps:
- apk add --update make
- CODEGEN_VERIFY=1 make gen-cue
depends_on: []
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: verify-gen-cue
- commands:
- '# It is required that generated jsonnet is committed and in sync with its inputs.'
@@ -4162,14 +4161,14 @@ steps:
- apk add --update make
- CODEGEN_VERIFY=1 make gen-jsonnet
depends_on: []
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: verify-gen-jsonnet
- commands:
- apk add --update make
- make gen-go
depends_on:
- verify-gen-cue
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: wire-install
- commands:
- dockerize -wait tcp://postgres:5432 -timeout 120s
@@ -4190,7 +4189,7 @@ steps:
GRAFANA_TEST_DB: postgres
PGPASSWORD: grafanatest
POSTGRES_HOST: postgres
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: postgres-integration-tests
- commands:
- dockerize -wait tcp://mysql57:3306 -timeout 120s
@@ -4211,7 +4210,7 @@ steps:
environment:
GRAFANA_TEST_DB: mysql
MYSQL_HOST: mysql57
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: mysql-5.7-integration-tests
- commands:
- dockerize -wait tcp://mysql80:3306 -timeout 120s
@@ -4232,7 +4231,7 @@ steps:
environment:
GRAFANA_TEST_DB: mysql
MYSQL_HOST: mysql80
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: mysql-8.0-integration-tests
- commands:
- dockerize -wait tcp://redis:6379 -timeout 120s
@@ -4248,7 +4247,7 @@ steps:
- wait-for-redis
environment:
REDIS_URL: redis://redis:6379/0
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: redis-integration-tests
- commands:
- dockerize -wait tcp://memcached:11211 -timeout 120s
@@ -4264,7 +4263,7 @@ steps:
- wait-for-memcached
environment:
MEMCACHED_HOSTS: memcached:11211
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: memcached-integration-tests
- commands:
- dockerize -wait tcp://mimir_backend:8080 -timeout 120s
@@ -4280,7 +4279,7 @@ steps:
environment:
AM_TENANT_ID: test
AM_URL: http://mimir_backend:8080
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: remote-alertmanager-integration-tests
trigger:
event:
@@ -4634,7 +4633,7 @@ steps:
path: /root/.docker/
- commands:
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM alpine/git:2.40.1
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM golang:1.21.8-alpine
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM golang:1.21.10-alpine
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM node:20.9.0-alpine
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM google/cloud-sdk:431.0.0
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM grafana/grafana-ci-deploy:1.3.3
@@ -4644,7 +4643,7 @@ steps:
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM plugins/slack
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM python:3.8
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM postgres:12.3-alpine
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM grafana/mimir:r274-1780c50
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM us.gcr.io/kubernetes-dev/mimir:santihernandezc-remove_id_from_grafana_config-d3826b4f8-WIP
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM mysql:5.7.39
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM mysql:8.0.32
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM redis:6.2.11-alpine
@@ -4657,7 +4656,7 @@ steps:
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM cypress/included:13.1.0
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM jwilder/dockerize:0.6.1
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM koalaman/shellcheck:stable
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM mcr.microsoft.com/playwright:v1.41.2-jammy
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM mcr.microsoft.com/playwright:v1.42.1-jammy
depends_on:
- authenticate-gcr
image: aquasec/trivy:0.21.0
@@ -4669,7 +4668,7 @@ steps:
path: /root/.docker/
- commands:
- trivy --exit-code 1 --severity HIGH,CRITICAL alpine/git:2.40.1
- trivy --exit-code 1 --severity HIGH,CRITICAL golang:1.21.8-alpine
- trivy --exit-code 1 --severity HIGH,CRITICAL golang:1.21.10-alpine
- trivy --exit-code 1 --severity HIGH,CRITICAL node:20.9.0-alpine
- trivy --exit-code 1 --severity HIGH,CRITICAL google/cloud-sdk:431.0.0
- trivy --exit-code 1 --severity HIGH,CRITICAL grafana/grafana-ci-deploy:1.3.3
@@ -4679,7 +4678,7 @@ steps:
- trivy --exit-code 1 --severity HIGH,CRITICAL plugins/slack
- trivy --exit-code 1 --severity HIGH,CRITICAL python:3.8
- trivy --exit-code 1 --severity HIGH,CRITICAL postgres:12.3-alpine
- trivy --exit-code 1 --severity HIGH,CRITICAL grafana/mimir:r274-1780c50
- trivy --exit-code 1 --severity HIGH,CRITICAL us.gcr.io/kubernetes-dev/mimir:santihernandezc-remove_id_from_grafana_config-d3826b4f8-WIP
- trivy --exit-code 1 --severity HIGH,CRITICAL mysql:5.7.39
- trivy --exit-code 1 --severity HIGH,CRITICAL mysql:8.0.32
- trivy --exit-code 1 --severity HIGH,CRITICAL redis:6.2.11-alpine
@@ -4692,7 +4691,7 @@ steps:
- trivy --exit-code 1 --severity HIGH,CRITICAL cypress/included:13.1.0
- trivy --exit-code 1 --severity HIGH,CRITICAL jwilder/dockerize:0.6.1
- trivy --exit-code 1 --severity HIGH,CRITICAL koalaman/shellcheck:stable
- trivy --exit-code 1 --severity HIGH,CRITICAL mcr.microsoft.com/playwright:v1.41.2-jammy
- trivy --exit-code 1 --severity HIGH,CRITICAL mcr.microsoft.com/playwright:v1.42.1-jammy
depends_on:
- authenticate-gcr
environment:
@@ -4924,6 +4923,6 @@ kind: secret
name: gcr_credentials
---
kind: signature
hmac: 3fa4360bd3c21fbc95bd3c2b63130541f9ea7c0aa56eb95dfe49c4f579aac4bb
hmac: 9aca5c8de91c97ea30ac4ff4b5f5acf930a61afa727197d99b8dd4f3311fca47
...

View File

@@ -96,16 +96,22 @@
},
{
"files": [
"public/app/plugins/datasource/azuremonitor/*.{ts,tsx}",
"public/app/plugins/datasource/azuremonitor/**/*.{ts,tsx}",
"public/app/plugins/datasource/cloud-monitoring/*.{ts,tsx}",
"public/app/plugins/datasource/cloud-monitoring/**/*.{ts,tsx}",
"public/app/plugins/datasource/elasticsearch/*.{ts,tsx}",
"public/app/plugins/datasource/elasticsearch/**/*.{ts,tsx}",
"public/app/plugins/datasource/grafana-postgresql-datasource/*.{ts,tsx}",
"public/app/plugins/datasource/grafana-postgresql-datasource/**/*.{ts,tsx}",
"public/app/plugins/datasource/grafana-pyroscope-datasource/*.{ts,tsx}",
"public/app/plugins/datasource/grafana-pyroscope-datasource/**/*.{ts,tsx}",
"public/app/plugins/datasource/grafana-testdata-datasource/*.{ts,tsx}",
"public/app/plugins/datasource/grafana-testdata-datasource/**/*.{ts,tsx}",
"public/app/plugins/datasource/azuremonitor/*.{ts,tsx}",
"public/app/plugins/datasource/azuremonitor/**/*.{ts,tsx}",
"public/app/plugins/datasource/cloud-monitoring/*.{ts,tsx}",
"public/app/plugins/datasource/cloud-monitoring/**/*.{ts,tsx}",
"public/app/plugins/datasource/jaeger/*.{ts,tsx}",
"public/app/plugins/datasource/jaeger/**/*.{ts,tsx}",
"public/app/plugins/datasource/loki/*.{ts,tsx}",
"public/app/plugins/datasource/loki/**/*.{ts,tsx}",
"public/app/plugins/datasource/mysql/*.{ts,tsx}",
"public/app/plugins/datasource/mysql/**/*.{ts,tsx}",
"public/app/plugins/datasource/parca/*.{ts,tsx}",

32
.github/CODEOWNERS vendored
View File

@@ -38,15 +38,14 @@
/docs/.codespellignore @grafana/docs-tooling
/docs/sources/ @Eve832
/docs/sources/administration/ @jdbaldry @lwandz13
/docs/sources/administration/ @jdbaldry
/docs/sources/alerting/ @brendamuir
/docs/sources/dashboards/ @imatwawana
/docs/sources/datasources/ @jdbaldry
/docs/sources/explore/ @grafana/explore-squad
/docs/sources/explore/ @grafana/explore-squad @lwandz13
/docs/sources/fundamentals @chri2547
/docs/sources/getting-started/ @chri2547
/docs/sources/introduction/ @chri2547
/docs/sources/old-alerting/ @brendamuir
/docs/sources/panels-visualizations/ @imatwawana
/docs/sources/release-notes/ @Eve832 @GrafanaWriter
/docs/sources/setup-grafana/ @chri2547
@@ -172,8 +171,8 @@
/devenv/bulk-dashboards/ @grafana/dashboards-squad
/devenv/bulk-folders/ @grafana/grafana-frontend-platform
/devenv/bulk_alerting_dashboards/ @grafana/alerting-backend-product
/devenv/create_docker_compose.sh @grafana/backend-platform
/devenv/alert_rules.yaml @grafana/alerting-backend-product
/devenv/dashboards.yaml @grafana/dashboards-squad
/devenv/datasources.yaml @grafana/backend-platform
/devenv/datasources_docker.yaml @grafana/backend-platform
@@ -284,7 +283,6 @@
# Alerting
/pkg/services/ngalert/ @grafana/alerting-backend-product
/pkg/services/sqlstore/migrations/ualert/ @grafana/alerting-backend-product
/pkg/services/alerting/ @grafana/alerting-backend-product
/pkg/tests/api/alerting/ @grafana/alerting-backend-product
/public/app/features/alerting/ @grafana/alerting-frontend
@@ -351,6 +349,8 @@
# root files, mostly frontend
/.browserslistrc @grafana/frontend-ops
/package.json @grafana/frontend-ops
/nx.json @grafana/frontend-ops
/project.json @grafana/frontend-ops
/tsconfig.json @grafana/frontend-ops
/.editorconfig @grafana/frontend-ops
/.eslintignore @grafana/frontend-ops
@@ -389,7 +389,7 @@ playwright.config.ts @grafana/plugins-platform-frontend
/public/app/features/admin/ @grafana/identity-access-team
# Temp owners until Enterprise team takes over
/public/app/features/admin/migrate-to-cloud @grafana/grafana-frontend-platform
/public/app/features/migrate-to-cloud @grafana/grafana-frontend-platform
/public/app/features/auth-config/ @grafana/identity-access-team
/public/app/features/annotations/ @grafana/dashboards-squad
@@ -403,6 +403,7 @@ playwright.config.ts @grafana/plugins-platform-frontend
/public/app/features/dashboard/ @grafana/dashboards-squad
/public/app/features/dashboard/components/TransformationsEditor/ @grafana/dataviz-squad
/public/app/features/dashboard-scene/ @grafana/dashboards-squad
/public/app/features/scopes/ @grafana/dashboards-squad
/public/app/features/datasources/ @grafana/plugins-platform-frontend @mikkancso
/public/app/features/dimensions/ @grafana/dataviz-squad
/public/app/features/dataframe-import/ @grafana/dataviz-squad
@@ -414,6 +415,7 @@ playwright.config.ts @grafana/plugins-platform-frontend
/public/app/features/library-panels/ @grafana/dashboards-squad
/public/app/features/logs/ @grafana/observability-logs
/public/app/features/live/ @grafana/grafana-app-platform-squad
/public/app/features/apiserver/ @grafana/grafana-app-platform-squad
/public/app/features/manage-dashboards/ @grafana/dashboards-squad
/public/app/features/notifications/ @grafana/grafana-frontend-platform
/public/app/features/org/ @grafana/grafana-frontend-platform
@@ -435,7 +437,6 @@ playwright.config.ts @grafana/plugins-platform-frontend
/public/app/features/transformers/timeSeriesTable/ @grafana/dataviz-squad @grafana/app-o11y-visualizations
/public/app/features/users/ @grafana/identity-access-team
/public/app/features/variables/ @grafana/dashboards-squad
/public/app/plugins/panel/alertGroups/ @grafana/alerting-frontend
/public/app/plugins/panel/alertlist/ @grafana/alerting-frontend
/public/app/plugins/panel/annolist/ @grafana/grafana-frontend-platform
/public/app/plugins/panel/barchart/ @grafana/dataviz-squad
@@ -536,7 +537,7 @@ playwright.config.ts @grafana/plugins-platform-frontend
/scripts/generate-icon-bundle.js @grafana/plugins-platform-frontend @grafana/grafana-frontend-platform
/scripts/levitate-parse-json-report.js @grafana/plugins-platform-frontend
/scripts/docs/generate-transformations* @grafana/dataviz-squad
/scripts/**/generate-transformations* @grafana/dataviz-squad
/scripts/webpack/ @grafana/frontend-ops
/scripts/generate-a11y-report.sh @grafana/grafana-frontend-platform
.pa11yci.conf.js @grafana/grafana-frontend-platform
@@ -611,11 +612,13 @@ playwright.config.ts @grafana/plugins-platform-frontend
/pkg/services/supportbundles/ @grafana/identity-access-team
# Grafana Operator Experience Team
/pkg/infra/httpclient/httpclientprovider/sigv4_middleware.go @grafana/grafana-operator-experience-squad
/pkg/infra/httpclient/httpclientprovider/sigv4_middleware_test.go @grafana/grafana-operator-experience-squad
/pkg/services/caching/ @grafana/grafana-operator-experience-squad
/pkg/services/featuremgmt/ @grafana/grafana-operator-experience-squad
/pkg/services/cloudmigration/ @grafana/grafana-operator-experience-squad
/pkg/services/gcom/ @grafana/grafana-operator-experience-squad
# Feature toggles
/pkg/services/featuremgmt/ @grafana/grafana-backend-services-squad
# Kind definitions
/kinds/dashboard @grafana/dashboards-squad
@@ -624,12 +627,12 @@ playwright.config.ts @grafana/plugins-platform-frontend
# Kind system and code generation
embed.go @grafana/grafana-as-code
/pkg/kinds/ @grafana/grafana-as-code
/pkg/cuectx/ @grafana/grafana-as-code
/pkg/registry/ @grafana/grafana-as-code
/pkg/registry/apis/ @grafana/grafana-app-platform-squad
/pkg/codegen/ @grafana/grafana-as-code
/pkg/codegen/generators @grafana/grafana-as-code
/pkg/kinds/*/*_gen.go @grafana/grafana-as-code
/pkg/registry/corekind/ @grafana/grafana-as-code
/pkg/registry/schemas/ @grafana/grafana-as-code
/public/app/plugins/*gen.go @grafana/grafana-as-code
/cue.mod/ @grafana/grafana-as-code
@@ -693,6 +696,8 @@ embed.go @grafana/grafana-as-code
/.github/workflows/i18n-crowdin-download.yml @grafana/grafana-frontend-platform
/.github/workflows/feature-toggle-cleanup.yml @tolzhabayev
/.github/workflows/scripts/feature-toggle-cleanup/feature-toggle-cleanup.js @tolzhabayev
/.github/workflows/pr-go-workspace-check.yml @grafana/grafana-app-platform-squad
/.github/workflows/run-scenes-e2e.yml @grafana/dashboards-squad
# Generated files not requiring owner approval
/packages/grafana-data/src/types/featureToggles.gen.ts @grafanabot
@@ -710,5 +715,4 @@ embed.go @grafana/grafana-as-code
/conf/provisioning/alerting/ @grafana/alerting-backend-product
/conf/provisioning/dashboards/ @grafana/dashboards-squad
/conf/provisioning/datasources/ @grafana/plugins-platform-backend
/conf/provisioning/notifiers/ @bergquist
/conf/provisioning/plugins/ @grafana/plugins-platform-backend

View File

@@ -118,7 +118,7 @@
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/jaeger"],
"matches": [ "public/app/plugins/datasource/jaeger/**/*"],
"action": "updateLabel",
"addLabel": "datasource/Jaeger"
},
@@ -146,6 +146,12 @@
"action": "updateLabel",
"addLabel": "datasource/OpenTSDB"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/parca/**/*"],
"action": "updateLabel",
"addLabel": "datasource/Parca"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/grafana-pyroscope-datasource/**/*", "pkg/tsdb/grafana-pyroscope-datasource/**/*"],

View File

@@ -16,7 +16,7 @@ jobs:
- name: Set go version
uses: actions/setup-go@v4
with:
go-version: '1.21.8'
go-version: '1.21.10'
- name: Build swagger
run: |
make -C pkg/services/ngalert/api/tooling post.json api.json

View File

@@ -58,7 +58,7 @@ jobs:
# Go is required for also updating the schema versions as part of the precommit hook:
- uses: actions/setup-go@v4
with:
go-version: '1.20'
go-version: '1.21'
- uses: actions/setup-node@v4
with:
node-version: '18'

View File

@@ -47,7 +47,7 @@ jobs:
name: Set go version
uses: actions/setup-go@v4
with:
go-version: '1.21.8'
go-version: '1.21.10'
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL

View File

@@ -11,6 +11,7 @@ on:
- grafana-azure-monitor-datasource
- grafana-pyroscope-datasource
- grafana-testdata-datasource
- jaeger
- parca
- stackdriver
- tempo
@@ -185,7 +186,7 @@ jobs:
exit 1
fi
- name: store build artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: build-artifacts
path: ${{ steps.get_dir.outputs.dir }}/ci/packages/*.zip

View File

@@ -7,7 +7,7 @@ jobs:
doc-validator:
runs-on: "ubuntu-latest"
container:
image: "grafana/doc-validator:v4.1.1"
image: "grafana/doc-validator:v5.0.0"
steps:
- name: "Checkout code"
uses: "actions/checkout@v4"

View File

@@ -4,7 +4,11 @@ on:
types: [created]
jobs:
config:
runs-on: "ubuntu-latest"
if: github.event.sender.type == 'User' &&
github.event.issue.pull_request &&
startsWith(github.event.comment.body, '/deploy-to-hg')
runs-on:
labels: ubuntu-latest-8-cores
outputs:
has-secrets: ${{ steps.check.outputs.has-secrets }}
steps:

View File

@@ -113,3 +113,10 @@ jobs:
env:
GITHUB_TOKEN: ${{ steps.generate_token.outputs.token }}
- name: Run auto-milestone
uses: grafana/grafana-github-actions-go/auto-milestone@main
if: steps.crowdin-download.outputs.pull_request_url
with:
pr: ${{ steps.crowdin-download.outputs.pull_request_number }}
token: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -53,7 +53,7 @@ jobs:
echo "TEAM=${TEAM}" >> $GITHUB_ENV
- name: "Prepare payload"
uses: frabert/replace-string-action@v2.0
uses: frabert/replace-string-action@v2.5
id: preparePayload
with:
# replace double quotes with single quotes to avoid breaking the JSON payload sent to Slack
@@ -64,7 +64,7 @@ jobs:
- name: Get Token
id: get_workflow_token
uses: peter-murray/workflow-application-token-action@v2
uses: peter-murray/workflow-application-token-action@v3
with:
application_id: ${{ secrets.APP_GRAFANA_TEAM_CHECKER_ID }}
application_private_key: ${{ secrets.APP_GRAFANA_TEAM_CHECKER_KEY }}

View File

@@ -35,7 +35,7 @@ jobs:
- name: Set go version
uses: actions/setup-go@v4
with:
go-version: '1.21.8'
go-version: '1.21.10'
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL

View File

@@ -0,0 +1,47 @@
name: "Go Workspace Check"
on:
workflow_dispatch:
pull_request:
branches: [main]
paths:
- '**/go.work'
- '**/go.work.sum'
- '**/go.mod'
- '**/go.sum'
jobs:
check:
name: Go Workspace Check
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set go version
uses: actions/setup-go@v4
with:
go-version: '1.21.10'
- name: Workspace Sync
run: go work sync
- name: Check for go mod & workspace changes
run: |
if ! git diff --exit-code --quiet; then
echo "Changes detected. Please run 'go work sync' and commit the changes."
exit 1
fi
- name: Build
run: make build-go
- name: Check for go workspace changes
run: |
if ! git diff --exit-code --quiet; then
echo "Changes detected. Please run 'make build-go' and commit the changes."
exit 1
fi

View File

@@ -36,7 +36,7 @@ jobs:
- name: "Setup Go"
uses: "actions/setup-go@v4"
with:
go-version: '1.21.8'
go-version: '1.21.10'
- name: "Verify kinds"
run: go run .github/workflows/scripts/kinds/verify-kinds.go

View File

@@ -39,7 +39,7 @@ jobs:
- name: "Setup Go"
uses: "actions/setup-go@v4"
with:
go-version: '1.21.8'
go-version: '1.21.10'
- name: "Verify kinds"
run: go run .github/workflows/scripts/kinds/verify-kinds.go

View File

@@ -28,23 +28,13 @@ jobs:
- name: "Install Actions from library"
run: "npm install --production --prefix ./actions"
- name: "Determine if there is a matching release tag"
id: "has-matching-release-tag"
uses: "./actions/has-matching-release-tag"
with:
ref_name: "${{ github.ref_name }}"
release_tag_regexp: "^v(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)$"
release_branch_regexp: "^v(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.x$"
- name: "Determine technical documentation version"
if: "steps.has-matching-release-tag.outputs.bool == 'true'"
uses: "./actions/docs-target"
id: "target"
with:
ref_name: "${{ github.ref_name }}"
- name: "Clone website-sync Action"
if: "steps.has-matching-release-tag.outputs.bool == 'true'"
# WEBSITE_SYNC_TOKEN is a fine-grained GitHub Personal Access Token that expires.
# It must be regenerated in the grafanabot GitHub account and requires a Grafana organization
# GitHub administrator to update the organization secret.
@@ -54,11 +44,10 @@ jobs:
- name: "Switch to HEAD of version branch for tags"
# Tags aren't necessarily made to the HEAD of the version branch.
# The documentation to be published is always on the HEAD of the version branch.
if: "steps.has-matching-release-tag.outputs.bool == 'true' && github.ref_type == 'tag'"
if: "github.ref_type == 'tag'"
run: "git switch --detach origin/${{ steps.target.outputs.target }}.x"
- name: "Publish to website repository (release)"
if: "steps.has-matching-release-tag.outputs.bool == 'true'"
uses: "./.github/actions/website-sync"
id: "publish-release"
with:

46
.github/workflows/run-scenes-e2e.yml vendored Normal file
View File

@@ -0,0 +1,46 @@
name: Run dashboard scenes e2e
on:
schedule:
- cron: "0 8 * * 1-5" # every day at 08:00UTC on weekdays
env:
ARCH: linux-amd64
jobs:
dashboard-scenes-e2e:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Pin Go version to mod file
uses: actions/setup-go@v5
with:
go-version-file: 'go.mod'
- run: go version
- uses: actions/setup-node@v4
with:
node-version: 20
- name: Install dependencies
run: yarn install --immutable
- name: Build grafana
run: make build
- name: Install Cypress dependencies
uses: cypress-io/github-action@v6
with:
runTests: false
- name: Run dashboard scenes e2e
run: yarn e2e:scenes
- name: "Send Slack notification"
if: ${{ failure() }}
uses: slackapi/slack-github-action@v1.26.0
with:
payload: >
{
"icon_emoji": ":this-is-fine-fire:",
"username": "Dashboard scenes e2e tests failed",
"text": "Link to run: https://github.com/${{github.repository}}/actions/runs/${{github.run_id}}",
"channel": "#grafana-dashboards-squad"
}
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}

View File

@@ -1,116 +1,53 @@
package main
import (
"archive/zip"
"context"
"errors"
"fmt"
"io"
"net/http"
"golang.org/x/text/cases"
"golang.org/x/text/language"
"os"
"path/filepath"
"regexp"
"strconv"
"strings"
"testing/fstest"
"cuelang.org/go/cue"
cueformat "cuelang.org/go/cue/format"
"github.com/google/go-github/github"
"github.com/grafana/codejen"
"github.com/grafana/grafana/pkg/codegen"
"github.com/grafana/grafana/pkg/cuectx"
"github.com/grafana/grafana/pkg/plugins/pfs"
"github.com/grafana/grafana/pkg/plugins/pfs/corelist"
"github.com/grafana/grafana/pkg/registry/corekind"
"github.com/grafana/kindsys"
"github.com/grafana/thema"
"golang.org/x/oauth2"
"github.com/grafana/grafana/pkg/registry/schemas"
)
const (
GITHUB_OWNER = "grafana"
GITHUB_REPO = "kind-registry"
)
var nonAlphaNumRegex = regexp.MustCompile("[^a-zA-Z0-9 ]+")
// main This script verifies that stable kinds are not updated once published (new schemas
// can be added but existing ones cannot be updated).
// If the env variable CODEGEN_VERIFY is not present, this also generates kind files into a
// local "next" folder, ready to be published in the kind-registry repo.
// It generates kind files into a local "next" folder, ready to be published in the kind-registry repo.
// If kind names are given as parameters, the script will make the above actions only for the
// given kinds.
func main() {
var corek []kindsys.Kind
var compok []kindsys.Composable
kindRegistry, err := NewKindRegistry()
defer kindRegistry.cleanUp()
if err != nil {
die(err)
}
// Search for the latest version directory present in the kind-registry repo
latestRegistryDir, err := kindRegistry.findLatestDir()
if err != nil {
die(fmt.Errorf("failed to get latest directory for published kinds: %s", err))
}
errs := make([]error, 0)
// Kind verification
for _, kind := range corekind.NewBase(nil).All() {
name := kind.Props().Common().MachineName
err := verifyKind(kindRegistry, kind, name, "core", latestRegistryDir)
if err != nil {
errs = append(errs, err)
continue
}
corek = append(corek, kind)
}
for _, pp := range corelist.New(nil) {
for _, kind := range pp.ComposableKinds {
si, err := kindsys.FindSchemaInterface(kind.Def().Properties.SchemaInterface)
if err != nil {
errs = append(errs, err)
continue
}
name := strings.ToLower(fmt.Sprintf("%s/%s", strings.TrimSuffix(kind.Lineage().Name(), si.Name()), si.Name()))
err = verifyKind(kindRegistry, kind, name, "composable", latestRegistryDir)
if err != nil {
errs = append(errs, err)
continue
}
compok = append(compok, kind)
}
}
die(errs...)
if _, set := os.LookupEnv("CODEGEN_VERIFY"); set {
os.Exit(0)
}
// File generation
jfs := codejen.NewFS()
outputPath := filepath.Join(".github", "workflows", "scripts", "kinds")
coreJennies := codejen.JennyList[kindsys.Kind]{}
corekinds, err := schemas.GetCoreKinds()
die(err)
composableKinds, err := schemas.GetComposableKinds()
die(err)
coreJennies := codejen.JennyList[schemas.CoreKind]{}
coreJennies.Append(
KindRegistryJenny(outputPath),
CoreKindRegistryJenny(outputPath),
)
corefs, err := coreJennies.GenerateFS(corek...)
corefs, err := coreJennies.GenerateFS(corekinds...)
die(err)
die(jfs.Merge(corefs))
composableJennies := codejen.JennyList[kindsys.Composable]{}
composableJennies := codejen.JennyList[schemas.ComposableKind]{}
composableJennies.Append(
ComposableKindRegistryJenny(outputPath),
)
composablefs, err := composableJennies.GenerateFS(compok...)
composablefs, err := composableJennies.GenerateFS(composableKinds...)
die(err)
die(jfs.Merge(composablefs))
@@ -180,101 +117,8 @@ func die(errs ...error) {
}
}
// verifyKind verifies that stable kinds are not updated once published (new schemas
// can be added but existing ones cannot be updated)
func verifyKind(registry *kindRegistry, kind kindsys.Kind, name string, category string, latestRegistryDir string) error {
oldKindString, err := registry.getPublishedKind(name, category, latestRegistryDir)
if err != nil {
return err
}
var oldKind kindsys.Kind
if oldKindString != "" {
switch category {
case "core":
oldKind, err = loadCoreKind(name, oldKindString)
case "composable":
oldKind, err = loadComposableKind(name, oldKindString)
default:
return fmt.Errorf("kind can only be core or composable")
}
}
if err != nil {
return err
}
// Kind is new - no need to compare it
if oldKind == nil {
return nil
}
// Check that maturity isn't downgraded
if kind.Maturity().Less(oldKind.Maturity()) {
return fmt.Errorf("kind maturity can't be downgraded once a kind is published")
}
if oldKind.Maturity().Less(kindsys.MaturityStable) {
return nil
}
// Check that old schemas do not contain updates
err = thema.IsAppendOnly(oldKind.Lineage(), kind.Lineage())
if err != nil {
return fmt.Errorf("existing schemas in lineage %s cannot be modified: %w", name, err)
}
return nil
}
func isLess(v1 []uint64, v2 []uint64) bool {
if len(v1) == 1 || len(v2) == 1 {
return v1[0] < v2[0]
}
return v1[0] < v2[0] || (v1[0] == v2[0] && isLess(v1[2:], v2[2:]))
}
func loadCoreKind(name string, kind string) (kindsys.Kind, error) {
fs := fstest.MapFS{
fmt.Sprintf("%s.cue", name): &fstest.MapFile{
Data: []byte(kind),
},
}
rt := cuectx.GrafanaThemaRuntime()
def, err := cuectx.LoadCoreKindDef(fmt.Sprintf("%s.cue", name), rt.Context(), fs)
if err != nil {
return nil, fmt.Errorf("%s is not a valid kind: %w", name, err)
}
return kindsys.BindCore(rt, def)
}
func loadComposableKind(name string, kind string) (kindsys.Kind, error) {
parts := strings.Split(name, "/")
if len(parts) > 1 {
name = parts[1]
}
fs := fstest.MapFS{
fmt.Sprintf("%s.cue", name): &fstest.MapFile{
Data: []byte(kind),
},
}
rt := cuectx.GrafanaThemaRuntime()
def, err := pfs.LoadComposableKindDef(fs, rt, fmt.Sprintf("%s.cue", name))
if err != nil {
return nil, fmt.Errorf("%s is not a valid kind: %w", name, err)
}
return kindsys.BindComposable(rt, def)
}
// KindRegistryJenny generates kind files into the "next" folder of the local kind registry.
func KindRegistryJenny(path string) codegen.OneToOne {
// CoreKindRegistryJenny generates kind files into the "next" folder of the local kind registry.
func CoreKindRegistryJenny(path string) codejen.OneToOne[schemas.CoreKind] {
return &kindregjenny{
path: path,
}
@@ -288,35 +132,18 @@ func (j *kindregjenny) JennyName() string {
return "KindRegistryJenny"
}
func (j *kindregjenny) Generate(kind kindsys.Kind) (*codejen.File, error) {
name := kind.Props().Common().MachineName
core, ok := kind.(kindsys.Core)
if !ok {
return nil, fmt.Errorf("kind sent to KindRegistryJenny must be a core kind")
}
newKindBytes, err := kindToBytes(core.Def().V)
func (j *kindregjenny) Generate(kind schemas.CoreKind) (*codejen.File, error) {
newKindBytes, err := kindToBytes(kind.CueFile)
if err != nil {
return nil, err
}
path := filepath.Join(j.path, "next", "core", name, name+".cue")
path := filepath.Join(j.path, "next", "core", kind.Name, kind.Name+".cue")
return codejen.NewFile(path, newKindBytes, j), nil
}
// kindToBytes converts a kind cue value to a .cue file content
func kindToBytes(kind cue.Value) ([]byte, error) {
node := kind.Syntax(
cue.All(),
cue.Schema(),
cue.Docs(true),
)
return cueformat.Node(node)
}
// ComposableKindRegistryJenny generates kind files into the "next" folder of the local kind registry.
func ComposableKindRegistryJenny(path string) codejen.OneToOne[kindsys.Composable] {
func ComposableKindRegistryJenny(path string) codejen.OneToOne[schemas.ComposableKind] {
return &ckrJenny{
path: path,
}
@@ -330,149 +157,73 @@ func (j *ckrJenny) JennyName() string {
return "ComposableKindRegistryJenny"
}
func (j *ckrJenny) Generate(k kindsys.Composable) (*codejen.File, error) {
si, err := kindsys.FindSchemaInterface(k.Def().Properties.SchemaInterface)
if err != nil {
panic(err)
}
func (j *ckrJenny) Generate(k schemas.ComposableKind) (*codejen.File, error) {
name := strings.ToLower(fmt.Sprintf("%s/%s", k.Name, k.Filename))
name := strings.ToLower(fmt.Sprintf("%s/%s", strings.TrimSuffix(k.Lineage().Name(), si.Name()), si.Name()))
v := fixComposableKindFormat(k)
newKindBytes, err := kindToBytes(k.Def().V)
newKindBytes, err := kindToBytes(v)
if err != nil {
return nil, err
}
newKindBytes = []byte(fmt.Sprintf("package grafanaplugin\n\n%s", newKindBytes))
return codejen.NewFile(filepath.Join(j.path, "next", "composable", name+".cue"), newKindBytes, j), nil
return codejen.NewFile(filepath.Join(j.path, "next", "composable", name), newKindBytes, j), nil
}
type kindRegistry struct {
zipDir string
zipFile *zip.ReadCloser
// kindToBytes converts a kind cue value to a .cue file content
func kindToBytes(kind cue.Value) ([]byte, error) {
node := kind.Syntax(
cue.All(),
cue.Schema(),
cue.Docs(true),
)
return cueformat.Node(node)
}
// NewKindRegistry downloads the archive of the kind-registry GH repository and open it
func NewKindRegistry() (*kindRegistry, error) {
ctx := context.Background()
tc := oauth2.NewClient(ctx, nil)
client := github.NewClient(tc)
// Create a temporary file to store the downloaded archive
file, err := os.CreateTemp("", "*.zip")
if err != nil {
return nil, fmt.Errorf("failed to create temporary file: %w", err)
}
defer file.Close()
// Get the repository archive URL
archiveURL, _, err := client.Repositories.GetArchiveLink(ctx, GITHUB_OWNER, GITHUB_REPO, github.Zipball, &github.RepositoryContentGetOptions{})
if err != nil {
return nil, fmt.Errorf("failed to get archive URL: %w", err)
func fixComposableKindFormat(schema schemas.ComposableKind) cue.Value {
variant := "PanelCfg"
if schema.CueFile.LookupPath(cue.ParsePath("composableKinds.DataQuery")).Exists() {
variant = "DataQuery"
}
// Download the archive file
httpClient := http.DefaultClient
resp, err := httpClient.Get(archiveURL.String())
if err != nil {
return nil, fmt.Errorf("failed to download archive: %w", err)
}
defer resp.Body.Close()
newCue := schema.CueFile.Context().CompileString(
fmt.Sprintf("schemaInterface: %q\n", variant) +
fmt.Sprintf("name: %q + %q\n\n", UpperCamelCase(schema.Name), variant) +
"lineage: _",
)
// Save the downloaded archive to the temporary file
_, err = io.Copy(file, resp.Body)
if err != nil {
return nil, fmt.Errorf("failed to save archive: %w", err)
}
// Open the zip file for reading
zipDir := file.Name()
zipFile, err := zip.OpenReader(zipDir)
if err != nil {
return nil, fmt.Errorf("failed to open zip file %s: %w", zipDir, err)
}
return &kindRegistry{
zipDir: zipDir,
zipFile: zipFile,
}, nil
lineagePath := cue.MakePath(cue.Str("composableKinds"), cue.Str(variant), cue.Str("lineage"))
return newCue.FillPath(cue.MakePath(cue.Str("lineage")), schema.CueFile.LookupPath(lineagePath))
}
// cleanUp removes the archive from the temporary files and closes the zip reader
func (registry *kindRegistry) cleanUp() {
if registry.zipDir != "" {
err := os.Remove(registry.zipDir)
if err != nil {
fmt.Fprint(os.Stderr, fmt.Errorf("failed to remove zip archive: %w", err))
}
func UpperCamelCase(s string) string {
s = LowerCamelCase(s)
// Uppercase the first letter
if len(s) > 0 {
s = strings.ToUpper(s[:1]) + s[1:]
}
if registry.zipFile != nil {
err := registry.zipFile.Close()
if err != nil {
fmt.Fprint(os.Stderr, fmt.Errorf("failed to close zip file reader: %w", err))
}
}
return s
}
// findLatestDir get the latest version directory published in the kind registry
func (registry *kindRegistry) findLatestDir() (string, error) {
re := regexp.MustCompile(`([0-9]+)\.([0-9]+)\.([0-9]+)`)
latestVersion := []uint64{0, 0, 0}
latestDir := ""
func LowerCamelCase(s string) string {
// Replace all non-alphanumeric characters by spaces
s = nonAlphaNumRegex.ReplaceAllString(s, " ")
for _, file := range registry.zipFile.File {
if !file.FileInfo().IsDir() {
continue
}
// Title case s
s = cases.Title(language.AmericanEnglish, cases.NoLower).String(s)
parts := re.FindStringSubmatch(file.Name)
if parts == nil || len(parts) < 4 {
continue
}
// Remove all spaces
s = strings.ReplaceAll(s, " ", "")
version := make([]uint64, len(parts)-1)
for i := 1; i < len(parts); i++ {
version[i-1], _ = strconv.ParseUint(parts[i], 10, 32)
}
if isLess(latestVersion, version) {
latestVersion = version
latestDir = file.Name
}
// Lowercase the first letter
if len(s) > 0 {
s = strings.ToLower(s[:1]) + s[1:]
}
return latestDir, nil
}
// getPublishedKind retrieves the latest published kind from the kind registry
func (registry *kindRegistry) getPublishedKind(name string, category string, latestRegistryDir string) (string, error) {
if latestRegistryDir == "" {
return "", nil
}
var cueFilePath string
switch category {
case "core":
cueFilePath = fmt.Sprintf("%s/%s.cue", name, name)
case "composable":
cueFilePath = fmt.Sprintf("%s.cue", name)
default:
return "", fmt.Errorf("kind can only be core or composable")
}
kindPath := filepath.Join(latestRegistryDir, category, cueFilePath)
file, err := registry.zipFile.Open(kindPath)
if err != nil {
return "", fmt.Errorf("failed to open file: %w", err)
}
defer file.Close()
data, err := io.ReadAll(file)
if err != nil {
return "", fmt.Errorf("failed to read file: %w", err)
}
return string(data), nil
return s
}

View File

@@ -4,7 +4,7 @@ on:
pull_request:
branches: [ main ]
paths:
- '**/*.cue'
- '**/*.cue'
jobs:
main:
@@ -18,10 +18,9 @@ jobs:
- name: "Setup Go"
uses: "actions/setup-go@v4"
with:
go-version: '1.21.8'
go-version: '1.21.10'
- name: "Verify kinds"
run: go run .github/workflows/scripts/kinds/verify-kinds.go
env:
CODEGEN_VERIFY: 1
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}

5
.gitignore vendored
View File

@@ -131,9 +131,7 @@ pkg/services/quota/quotaimpl/storage/storage.json
/devenv/bulk-dashboards/*.json
/devenv/bulk-folders/*/*.json
/devenv/bulk_alerting_dashboards/*.json
/devenv/datasources_bulk.yaml
/devenv/bulk_alerting_dashboards/bulk_alerting_datasources.yaml
/scripts/build/release_publisher/release_publisher
*.patch
@@ -204,6 +202,7 @@ public/api-spec.json
deployment_tools_config.json
.betterer.cache
.nx
# Temporary file for backporting PRs
.pr-body.txt
@@ -215,3 +214,5 @@ public/app/plugins/**/dist/
/public/app/features/transformers/docs/*.js
/scripts/docs/generate-transformations.js
# Go coverage files created with go test -cover -coverprogile=something.out ...
*.out

View File

@@ -1,10 +1,6 @@
[run]
timeout = "10m"
[linters-settings.goconst]
min-len = 5
min-occurrences = 5
[linters-settings.exhaustive]
default-signifies-exhaustive = true
@@ -71,6 +67,46 @@ files = [
"**/pkg/tsdb/cloudwatch/**/*",
]
[linters-settings.depguard.rules.apiserver]
list-mode = "lax"
allow = [
"github.com/grafana/grafana/pkg/apimachinery",
"github.com/grafana/grafana/pkg/apiserver",
]
deny = [
{ pkg = "github.com/grafana/grafana/pkg", desc = "apiserver is not allowed to import grafana core" }
]
files = [
"**/pkg/apiserver/*",
"**/pkg/apiserver/**/*"
]
[linters-settings.depguard.rules.apimachinery]
list-mode = "lax"
allow = [
"github.com/grafana/grafana/pkg/apimachinery",
]
deny = [
{ pkg = "github.com/grafana/grafana/pkg", desc = "apimachinery is not allowed to import grafana core" }
]
files = [
"**/pkg/apimachinery/*",
"**/pkg/apimachinery/**/*"
]
[linters-settings.depguard.rules.promlib]
list-mode = "lax" # allow unless explicitely denied
deny = [
{ pkg = "github.com/grafana/grafana/pkg", desc = "promlib is not allowed to import grafana core" }
]
allow = [
"github.com/grafana/grafana/pkg/promlib"
]
files = [
"**/pkg/promlib/*",
"**/pkg/promlib/**/*"
]
[linters-settings.gocritic]
enabled-checks = ["ruleguard"]
[linters-settings.gocritic.settings.ruleguard]
@@ -87,7 +123,7 @@ enable = [
"dogsled",
"errcheck",
# "gochecknoinits",
"goconst",
# "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",
@@ -205,3 +241,10 @@ text = "ST1020"
[[issues.exclude-rules]]
linters = ["stylecheck"]
text = "ST1021"
# Remove this when we have go v1.22 in place
# https://stackoverflow.com/a/68247837/767660
[[issues.exclude-rules]]
linters = ["gosec"]
path = '(.+)_test\.go'
text = "G601"

View File

@@ -34,7 +34,7 @@ var dashboardSettings = [
wait: 500,
rootElement: '.main-view',
// TODO: improve the accessibility of the permission tab https://github.com/grafana/grafana/issues/77203
threshold: 11,
threshold: 5,
},
{
url: '${HOST}/d/O6f11TZWk/panel-tests-bar-gauge?orgId=1&editview=dashboard_json',
@@ -64,7 +64,7 @@ var config = {
url: '${HOST}/login',
wait: 500,
rootElement: '.main-view',
threshold: 13,
threshold: 0,
},
{
url: '${HOST}/login',
@@ -76,13 +76,13 @@ var config = {
"click element button[data-testid='data-testid Login button']",
"wait for element button[data-testid='data-testid Skip change password button'] to be visible",
],
threshold: 15,
threshold: 2,
rootElement: '.main-view',
},
{
url: '${HOST}/?orgId=1',
wait: 500,
threshold: 3,
threshold: 0,
},
{
url: '${HOST}/d/O6f11TZWk/panel-tests-bar-gauge',
@@ -95,7 +95,7 @@ var config = {
url: '${HOST}/?orgId=1&search=open',
wait: 500,
rootElement: '.main-view',
threshold: 3,
threshold: 0,
},
{
url: '${HOST}/alerting/list',
@@ -103,49 +103,49 @@ var config = {
rootElement: '.main-view',
// the unified alerting promotion alert's content contrast is too low
// see https://github.com/grafana/grafana/pull/41829
threshold: 6,
threshold: 7,
},
{
url: '${HOST}/datasources',
wait: 500,
rootElement: '.main-view',
threshold: 3,
threshold: 0,
},
{
url: '${HOST}/org/users',
wait: 500,
rootElement: '.main-view',
threshold: 1,
threshold: 0,
},
{
url: '${HOST}/org/teams',
wait: 500,
rootElement: '.main-view',
threshold: 1,
threshold: 0,
},
{
url: '${HOST}/plugins',
wait: 500,
rootElement: '.main-view',
threshold: 3,
threshold: 0,
},
{
url: '${HOST}/org',
wait: 500,
rootElement: '.main-view',
threshold: 1,
threshold: 0,
},
{
url: '${HOST}/org/apikeys',
wait: 500,
rootElement: '.main-view',
threshold: 4,
threshold: 2,
},
{
url: '${HOST}/dashboards',
wait: 500,
rootElement: '.main-view',
threshold: 1,
threshold: 0,
},
],
};

15
.vscode/launch.json vendored
View File

@@ -23,6 +23,21 @@
"--secure-port=8443",
"--runtime-config=testdata.datasource.grafana.app/v0alpha1=true"]
},
{
"name": "Run API Server (query-localhost)",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${workspaceFolder}/pkg/cmd/grafana/",
"env": {},
"cwd": "${workspaceFolder}",
"args": ["apiserver",
"--secure-port=8443",
"--runtime-config=query.grafana.app/v0alpha1=true",
"--grafana.authn.signing-keys-url=http://localhost:3000/api/signing-keys/keys",
"--hg-url=http://localhost:3000",
"--hg-key=$HGAPIKEY"]
},
{
"name": "Attach to Chrome",
"port": 9222,

View File

@@ -44,9 +44,9 @@ plugins:
yarnPath: .yarn/releases/yarn-4.1.0.cjs
# Uncomment the following lines if you want to use Verdaccio local npm registry. Read more at packages/README.md
# npmScopes:
# grafana:
# npmRegistryServer: http://localhost:4873
# unsafeHttpWhitelist:
# - 'localhost'
#npmScopes:
# grafana:
# npmRegistryServer: http://localhost:4873
#
#unsafeHttpWhitelist:
# - 'localhost'

View File

@@ -1,11 +1,306 @@
<!-- 11.0.0-preview START -->
# 11.0.0-preview
### Features and enhancements
- **Alerting:** Editor role can access all provisioning API. [#85022](https://github.com/grafana/grafana/issues/85022), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **CloudWatch:** Add additional AWS/SageMaker metrics. [#85009](https://github.com/grafana/grafana/issues/85009), [@tristanburgess](https://github.com/tristanburgess)
- **SQLStore:** Enable migration locking by default. [#84983](https://github.com/grafana/grafana/issues/84983), [@papagian](https://github.com/papagian)
- **Auth:** Remove `oauth_skip_org_role_update_sync` as an option. [#84972](https://github.com/grafana/grafana/issues/84972), [@eleijonmarck](https://github.com/eleijonmarck)
- **Canvas:** Add "infinite" pan / zoom functionality. [#84968](https://github.com/grafana/grafana/issues/84968), [@nmarrs](https://github.com/nmarrs)
- **InteractiveTable:** Add expand all to column. [#84966](https://github.com/grafana/grafana/issues/84966), [@abannachGrafana](https://github.com/abannachGrafana)
- **Snapshots:** Viewers can not create a Snapshot. [#84952](https://github.com/grafana/grafana/issues/84952), [@evictorero](https://github.com/evictorero)
- **GenAI:** Autogenerate title and description for panels and dashboards. [#84933](https://github.com/grafana/grafana/issues/84933), [@ivanortegaalba](https://github.com/ivanortegaalba)
- **Canvas:** Add corner radius option. [#84873](https://github.com/grafana/grafana/issues/84873), [@drew08t](https://github.com/drew08t)
- **Alerting:** Enable simplified routing FF by default. [#84856](https://github.com/grafana/grafana/issues/84856), [@JacobsonMT](https://github.com/JacobsonMT)
- **Auth:** Enable case insensitive logins/emails by default. [#84840](https://github.com/grafana/grafana/issues/84840), [@eleijonmarck](https://github.com/eleijonmarck)
- **RBAC:** Enable annotation permission update by default. [#84787](https://github.com/grafana/grafana/issues/84787), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **Azure:** Support multi-resource namespace (NetApp Volumes). [#84779](https://github.com/grafana/grafana/issues/84779), [@aangelisc](https://github.com/aangelisc)
- **Prometheus:** Default support labels value endpoint with match param when prom type and version not set. [#84778](https://github.com/grafana/grafana/issues/84778), [@bohandley](https://github.com/bohandley)
- **MSSQL:** Add Windows AD/Kerberos auth. [#84742](https://github.com/grafana/grafana/issues/84742), [@asimpson](https://github.com/asimpson)
- **Chore:** Disable angular support by default. [#84738](https://github.com/grafana/grafana/issues/84738), [@tolzhabayev](https://github.com/tolzhabayev)
- **Elasticsearch:** Remove xpack button and make includeFrozen not dependant on it. [#84734](https://github.com/grafana/grafana/issues/84734), [@ivanahuckova](https://github.com/ivanahuckova)
- **Plugins:** Enable feature toggle `pluginsDynamicAngularDetectionPatterns` by default. [#84723](https://github.com/grafana/grafana/issues/84723), [@xnyo](https://github.com/xnyo)
- **Plugins:** Enable managedPluginsInstall by default. [#84721](https://github.com/grafana/grafana/issues/84721), [@oshirohugo](https://github.com/oshirohugo)
- **Alerting:** Stop persisting silences and nflog to disk. [#84706](https://github.com/grafana/grafana/issues/84706), [@JacobsonMT](https://github.com/JacobsonMT)
- **Histogram:** Add support for stacking mode. [#84693](https://github.com/grafana/grafana/issues/84693), [@adela-almasan](https://github.com/adela-almasan)
- **Datasource:** Change query filtering. [#84656](https://github.com/grafana/grafana/issues/84656), [@sunker](https://github.com/sunker)
- **Feature toggles:** Remove redshiftAsyncQueryDataSupport and athenaAsyncQueryDataSupport feature toggles. [#84653](https://github.com/grafana/grafana/issues/84653), [@idastambuk](https://github.com/idastambuk)
- **Teams:** Display teams page to team reader if they also have the access to list team permissions. [#84650](https://github.com/grafana/grafana/issues/84650), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **Plugins:** Enable feature toggle `enablePluginsTracingByDefault` by default. [#84645](https://github.com/grafana/grafana/issues/84645), [@xnyo](https://github.com/xnyo)
- **NestedFolders:** Enable nested folders by default. [#84631](https://github.com/grafana/grafana/issues/84631), [@zserge](https://github.com/zserge)
- **Canvas:** Add direction options for connections. [#84620](https://github.com/grafana/grafana/issues/84620), [@drew08t](https://github.com/drew08t)
- **CloudWatch:** Static labels should use label name. [#84611](https://github.com/grafana/grafana/issues/84611), [@iwysiu](https://github.com/iwysiu)
- **Tempo:** Deprecate old search. [#84498](https://github.com/grafana/grafana/issues/84498), [@joey-grafana](https://github.com/joey-grafana)
- **Canvas:** Support dashed connection lines. [#84496](https://github.com/grafana/grafana/issues/84496), [@Develer](https://github.com/Develer)
- **I18n:** Add Brazilian Portuguese. [#84461](https://github.com/grafana/grafana/issues/84461), [@joshhunt](https://github.com/joshhunt)
- **I18n:** Expose current UI language in @grafana/runtime config. [#84457](https://github.com/grafana/grafana/issues/84457), [@joshhunt](https://github.com/joshhunt)
- **Canvas:** Add snapping to vertex edit. [#84417](https://github.com/grafana/grafana/issues/84417), [@drew08t](https://github.com/drew08t)
- **CloudWatch Logs:** Remove toggle for cloudWatchLogsMonacoEditor. [#84414](https://github.com/grafana/grafana/issues/84414), [@iwysiu](https://github.com/iwysiu)
- **Prometheus:** Use frontend package in Prometheus DS with a feature toggle. [#84397](https://github.com/grafana/grafana/issues/84397), [@bohandley](https://github.com/bohandley)
- **Alerting:** Show error message when error is thrown after clicking create alert f…. [#84367](https://github.com/grafana/grafana/issues/84367), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **Tempo:** Remove Loki tab. [#84346](https://github.com/grafana/grafana/issues/84346), [@joey-grafana](https://github.com/joey-grafana)
- **Storage:** Add support for listing resource history. [#84331](https://github.com/grafana/grafana/issues/84331), [@DanCech](https://github.com/DanCech)
- **Cloudwatch:** Remove cloudWatchWildCardDimensionValues feature toggle. [#84329](https://github.com/grafana/grafana/issues/84329), [@iwysiu](https://github.com/iwysiu)
- **Plugin Extensions:** Add prop types to component extensions. [#84295](https://github.com/grafana/grafana/issues/84295), [@leventebalogh](https://github.com/leventebalogh)
- **Canvas:** New basic elements. [#84205](https://github.com/grafana/grafana/issues/84205), [@Develer](https://github.com/Develer)
- **Tempo:** Update TraceQLStreaming feature toggle stage. [#84203](https://github.com/grafana/grafana/issues/84203), [@joey-grafana](https://github.com/joey-grafana)
- **Canvas:** Add universal data link support. [#84142](https://github.com/grafana/grafana/issues/84142), [@nmarrs](https://github.com/nmarrs)
- **Chore:** Remove repetitive words. [#84132](https://github.com/grafana/grafana/issues/84132), [@carrychair](https://github.com/carrychair)
- **Documentation:** Updated yaml for influxdb data sources. [#84119](https://github.com/grafana/grafana/issues/84119), [@ldomesjo](https://github.com/ldomesjo)
- **Queries:** Improve debug logging of metrics queries. [#84048](https://github.com/grafana/grafana/issues/84048), [@mmandrus](https://github.com/mmandrus)
- **Storage:** Support listing deleted entities. [#84043](https://github.com/grafana/grafana/issues/84043), [@DanCech](https://github.com/DanCech)
- **Explore:** Remove deprecated `query` option from `splitOpen`. [#83973](https://github.com/grafana/grafana/issues/83973), [@Elfo404](https://github.com/Elfo404)
- **Chore:** Remove deprecated ExploreQueryFieldProps. [#83972](https://github.com/grafana/grafana/issues/83972), [@Elfo404](https://github.com/Elfo404)
- **Chore:** Remove deprecated exploreId from QueryEditorProps. [#83971](https://github.com/grafana/grafana/issues/83971), [@Elfo404](https://github.com/Elfo404)
- **Alerting:** Disallow invalid rule namespace UIDs in provisioning API. [#83938](https://github.com/grafana/grafana/issues/83938), [@rwwiv](https://github.com/rwwiv)
- **Auth:** Set the default org after User login. [#83918](https://github.com/grafana/grafana/issues/83918), [@mgyongyosi](https://github.com/mgyongyosi)
- **Canvas:** Add datalink support to rectangle and ellipse elements. [#83870](https://github.com/grafana/grafana/issues/83870), [@nmarrs](https://github.com/nmarrs)
- **NodeGraph:** Edge color and stroke-dasharray support. [#83855](https://github.com/grafana/grafana/issues/83855), [@morrro01](https://github.com/morrro01)
- **InfluxDB:** Add configuration option for enabling insecure gRPC connections. [#83834](https://github.com/grafana/grafana/issues/83834), [@jmickey](https://github.com/jmickey)
- **Plugins:** Fetch instance provisioned plugins in cloud, to check full installation. [#83784](https://github.com/grafana/grafana/issues/83784), [@oshirohugo](https://github.com/oshirohugo)
- **Alerting:** Implement correct RBAC checks for creating new notification templates. [#83767](https://github.com/grafana/grafana/issues/83767), [@gillesdemey](https://github.com/gillesdemey)
- **Library panels:** Ensure all filters are visible on mobile . [#83759](https://github.com/grafana/grafana/issues/83759), [@ashharrison90](https://github.com/ashharrison90)
- **AuthProxy:** Allow disabling Auth Proxy cache. [#83755](https://github.com/grafana/grafana/issues/83755), [@Jguer](https://github.com/Jguer)
- **Switch:** Remove "transparent" prop. [#83705](https://github.com/grafana/grafana/issues/83705), [@Clarity-89](https://github.com/Clarity-89)
- **Alerting:** Allow inserting before or after existing policy. [#83704](https://github.com/grafana/grafana/issues/83704), [@gillesdemey](https://github.com/gillesdemey)
- **Chore:** Taint ArrayVector with `never` to further discourage. [#83681](https://github.com/grafana/grafana/issues/83681), [@joshhunt](https://github.com/joshhunt)
- **Alerting:** Remove legacy alerting. [#83671](https://github.com/grafana/grafana/issues/83671), [@gillesdemey](https://github.com/gillesdemey)
- **Canvas:** Add vertex control to connections. [#83653](https://github.com/grafana/grafana/issues/83653), [@drew08t](https://github.com/drew08t)
- **Alerting:** Disable legacy alerting for ever. [#83651](https://github.com/grafana/grafana/issues/83651), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Table:** Preserve filtered value state. [#83631](https://github.com/grafana/grafana/issues/83631), [@codeincarnate](https://github.com/codeincarnate)
- **Canvas:** Add ability to edit selected connections in the inline editor. [#83625](https://github.com/grafana/grafana/issues/83625), [@nmarrs](https://github.com/nmarrs)
- **Auth:** Add all settings to Azure AD SSO config UI. [#83618](https://github.com/grafana/grafana/issues/83618), [@mgyongyosi](https://github.com/mgyongyosi)
- **Cfg:** Add a setting to configure if the local file system is available. [#83616](https://github.com/grafana/grafana/issues/83616), [@mgyongyosi](https://github.com/mgyongyosi)
- **Server:** Reload TLS certs without a server restart. [#83589](https://github.com/grafana/grafana/issues/83589), [@chalapat](https://github.com/chalapat)
- **Accessibility:** Improve landmark markup. [#83576](https://github.com/grafana/grafana/issues/83576), [@tskarhed](https://github.com/tskarhed)
- **Snapshots:** Change default expiration. [#83550](https://github.com/grafana/grafana/issues/83550), [@evictorero](https://github.com/evictorero)
- **Transformations:** Add substring matcher to the 'Filter by Value' transformation. [#83548](https://github.com/grafana/grafana/issues/83548), [@timlevett](https://github.com/timlevett)
- **Folders:** Allow listing folders with write permission. [#83527](https://github.com/grafana/grafana/issues/83527), [@papagian](https://github.com/papagian)
- **Chore:** Remove React 17 peer deps. [#83524](https://github.com/grafana/grafana/issues/83524), [@ashharrison90](https://github.com/ashharrison90)
- **Alerting:** Support deleting rule groups in the provisioning API. [#83514](https://github.com/grafana/grafana/issues/83514), [@joeblubaugh](https://github.com/joeblubaugh)
- **Cloudwatch:** Bump grafana/aws-sdk-go to 0.24.0. [#83480](https://github.com/grafana/grafana/issues/83480), [@idastambuk](https://github.com/idastambuk)
- **Alerting:** Stop persisting user-defined templates to disk. [#83456](https://github.com/grafana/grafana/issues/83456), [@JacobsonMT](https://github.com/JacobsonMT)
- **Transformer:** Config from Query: set threshold colours. [#83366](https://github.com/grafana/grafana/issues/83366), [@LarsStegman](https://github.com/LarsStegman)
- **CloudWatch:** Refactor "getDimensionValuesForWildcards". [#83335](https://github.com/grafana/grafana/issues/83335), [@iwysiu](https://github.com/iwysiu)
- **CloudWatch:** Fetch externalId from settings instead of env. [#83332](https://github.com/grafana/grafana/issues/83332), [@iwysiu](https://github.com/iwysiu)
- **Tracing:** Add node graph panel suggestion. [#83311](https://github.com/grafana/grafana/issues/83311), [@joey-grafana](https://github.com/joey-grafana)
- **Canvas:** Add ability to rotate elements. [#83295](https://github.com/grafana/grafana/issues/83295), [@nmarrs](https://github.com/nmarrs)
- **Tempo:** Add support for ad-hoc filters. [#83290](https://github.com/grafana/grafana/issues/83290), [@joey-grafana](https://github.com/joey-grafana)
- **DataTrails:** Sticky controls. [#83286](https://github.com/grafana/grafana/issues/83286), [@torkelo](https://github.com/torkelo)
- **CloudWatch:** Move SessionCache onto the instance. [#83278](https://github.com/grafana/grafana/issues/83278), [@iwysiu](https://github.com/iwysiu)
- **Alerting:** Deprecate max_annotations_to_keep and max_annotation_age in [alerting] configuration section. [#83266](https://github.com/grafana/grafana/issues/83266), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Annotation query:** Render query result in alert box. [#83230](https://github.com/grafana/grafana/issues/83230), [@sunker](https://github.com/sunker)
- **Chore:** Query oauth info from a new instance. [#83229](https://github.com/grafana/grafana/issues/83229), [@linoman](https://github.com/linoman)
- **CloudWatch:** Add Firehose kms-related metrics. [#83192](https://github.com/grafana/grafana/issues/83192), [@thepalbi](https://github.com/thepalbi)
- **Chore:** Add go workspace. [#83191](https://github.com/grafana/grafana/issues/83191), [@toddtreece](https://github.com/toddtreece)
- **Accessibility:** Improve HelpModal markup. [#83171](https://github.com/grafana/grafana/issues/83171), [@tskarhed](https://github.com/tskarhed)
- **Chore:** Delete Input Datasource. [#83163](https://github.com/grafana/grafana/issues/83163), [@jackw](https://github.com/jackw)
- **Traces:** Add traces panel suggestion. [#83089](https://github.com/grafana/grafana/issues/83089), [@joey-grafana](https://github.com/joey-grafana)
- **CloudWatch:** Update AWS/EC2 metrics. [#83039](https://github.com/grafana/grafana/issues/83039), [@jangaraj](https://github.com/jangaraj)
- **CloudWatch:** Update AWS/Lambda metrics. [#83038](https://github.com/grafana/grafana/issues/83038), [@jangaraj](https://github.com/jangaraj)
- **CloudWatch:** Update AWS/ES metrics. [#83037](https://github.com/grafana/grafana/issues/83037), [@jangaraj](https://github.com/jangaraj)
- **CloudWatch:** Update AWS/AutoScaling metrics. [#83036](https://github.com/grafana/grafana/issues/83036), [@jangaraj](https://github.com/jangaraj)
- **CloudWatch:** Update AWS/Kafka metrics. [#83035](https://github.com/grafana/grafana/issues/83035), [@jangaraj](https://github.com/jangaraj)
- **Page:** Use browser native scrollbars for the main page content. [#82919](https://github.com/grafana/grafana/issues/82919), [@joshhunt](https://github.com/joshhunt)
- **Parca:** Apply template variables for labelSelector in query. [#82910](https://github.com/grafana/grafana/issues/82910), [@lzakharov](https://github.com/lzakharov)
- **Grafana/UI:** Replace Splitter with useSplitter hook and refactor PanelEdit snapping logic to useSnappingSplitter hook . [#82895](https://github.com/grafana/grafana/issues/82895), [@torkelo](https://github.com/torkelo)
- **Cloudwatch:** Add linting to restrict imports from core. [#82538](https://github.com/grafana/grafana/issues/82538), [@idastambuk](https://github.com/idastambuk)
- **Grafana/icons:** Add icons package. [#82314](https://github.com/grafana/grafana/issues/82314), [@Clarity-89](https://github.com/Clarity-89)
- **Storage:** Watch support. [#82282](https://github.com/grafana/grafana/issues/82282), [@DanCech](https://github.com/DanCech)
- **Image Rendering:** Add settings for default width, height and scale. [#82040](https://github.com/grafana/grafana/issues/82040), [@khushijain21](https://github.com/khushijain21)
- **AzureMonitor:** User authentication support. [#81918](https://github.com/grafana/grafana/issues/81918), [@aangelisc](https://github.com/aangelisc)
- **Plugins:** Disable uninstall while cloud uninstall is not completed. [#81907](https://github.com/grafana/grafana/issues/81907), [@oshirohugo](https://github.com/oshirohugo)
- **Plugins:** Disable update button when cloud install is not completed. [#81716](https://github.com/grafana/grafana/issues/81716), [@oshirohugo](https://github.com/oshirohugo)
- **Expressions:** Sql expressions with Duckdb. [#81666](https://github.com/grafana/grafana/issues/81666), [@scottlepp](https://github.com/scottlepp)
- **BarChart:** TooltipPlugin2. [#80920](https://github.com/grafana/grafana/issues/80920), [@leeoniya](https://github.com/leeoniya)
- **Grafana:** Replace magic number with a constant variable in response status. [#80132](https://github.com/grafana/grafana/issues/80132), [@rlaisqls](https://github.com/rlaisqls)
- **Alerting:** Update rule access control to explicitly check for permissions "alert.rules:read" and "folders:read". [#78289](https://github.com/grafana/grafana/issues/78289), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Alerting:** Update provisioning API to support regular permissions. [#77007](https://github.com/grafana/grafana/issues/77007), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Whitelabelling:** Override version in UI from config. (Enterprise)
- **Alerting:** Remove legacy alerting. (Enterprise)
- **Reporting:** Delete Deprecated Endpoint for Single Dashboard. (Enterprise)
- **Plugins:** Add endpoint to get provisioned plugins from an instance. (Enterprise)
- **Reporting:** Delete Deprecated Endpoint for Scheduling. (Enterprise)
- **Reporting:** Delete Deprecated Endpoint for Email. (Enterprise)
### Bug fixes
- **RBAC:** Fix access checks for interactions with RBAC roles in hosted Grafana. [#85520](https://github.com/grafana/grafana/issues/85520), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **Keybindings:** Replace mod+h as help shortcut with ? . [#85449](https://github.com/grafana/grafana/issues/85449), [@tskarhed](https://github.com/tskarhed)
- **RBAC:** Fix slow user permission search query on MySQL. [#85410](https://github.com/grafana/grafana/issues/85410), [@gamab](https://github.com/gamab)
- **BrowseDashboards:** Add subpath to URLs on Browse Dashboards page. [#85354](https://github.com/grafana/grafana/issues/85354), [@butkovv](https://github.com/butkovv)
- **Dashboards:** Fix issue where long ad-hoc values broke UI. [#85290](https://github.com/grafana/grafana/issues/85290), [@kaydelaney](https://github.com/kaydelaney)
- **NodeGraph:** Fix possible metadata mismatch between nodes in graph. [#85261](https://github.com/grafana/grafana/issues/85261), [@aocenas](https://github.com/aocenas)
- **Alerting:** Fix receiver inheritance when provisioning a notification policy. [#85193](https://github.com/grafana/grafana/issues/85193), [@julienduchesne](https://github.com/julienduchesne)
- **AuthProxy:** Fix missing session for ldap auth proxy users. [#85136](https://github.com/grafana/grafana/issues/85136), [@Jguer](https://github.com/Jguer)
- **RBAC:** Fix slow user permission search query on MySQL. [#85058](https://github.com/grafana/grafana/issues/85058), [@gamab](https://github.com/gamab)
- **CloudMonitoring:** Only run query if filters are complete. [#85004](https://github.com/grafana/grafana/issues/85004), [@aangelisc](https://github.com/aangelisc)
- **BrowseDashboards:** Add subpath to URLs on Browse Dashboards page. [#84992](https://github.com/grafana/grafana/issues/84992), [@butkovv](https://github.com/butkovv)
- **Datasources:** Fix expressions that reference hidden queries. [#84977](https://github.com/grafana/grafana/issues/84977), [@sunker](https://github.com/sunker)
- **Canvas:** Fix crash when trying to add wind turbine element. [#84962](https://github.com/grafana/grafana/issues/84962), [@nmarrs](https://github.com/nmarrs)
- **InfluxDB:** Fix alias interpolation when it has $\_\_interval or multiple tags. [#84940](https://github.com/grafana/grafana/issues/84940), [@itsmylife](https://github.com/itsmylife)
- **Alerting:** Stop returning autogen routes for non-admin on api/v2/status. [#84864](https://github.com/grafana/grafana/issues/84864), [@JacobsonMT](https://github.com/JacobsonMT)
- **Alerting:** Fix broken panelId links. [#84839](https://github.com/grafana/grafana/issues/84839), [@gillesdemey](https://github.com/gillesdemey)
- **Alerting:** External AM fix parsing basic auth with escape characters. [#84681](https://github.com/grafana/grafana/issues/84681), [@JacobsonMT](https://github.com/JacobsonMT)
- **Alerting:** Support PromQL-style matchers. [#84672](https://github.com/grafana/grafana/issues/84672), [@gillesdemey](https://github.com/gillesdemey)
- **FolderPicker:** Add permission filter to nested folder picker. [#84644](https://github.com/grafana/grafana/issues/84644), [@joshhunt](https://github.com/joshhunt)
- **RolePicker:** Don't try to fetch roles for new form. [#84630](https://github.com/grafana/grafana/issues/84630), [@kalleep](https://github.com/kalleep)
- **Pyroscope:** Fix template variable support. [#84477](https://github.com/grafana/grafana/issues/84477), [@aocenas](https://github.com/aocenas)
- **Scenes:** Fix public dashboard email sharing section. [#84467](https://github.com/grafana/grafana/issues/84467), [@juanicabanas](https://github.com/juanicabanas)
- **Alerting:** Fix AlertsFolderView not showing rules when using nested folders. [#84465](https://github.com/grafana/grafana/issues/84465), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **Jaeger:** Fix flaky test. [#84441](https://github.com/grafana/grafana/issues/84441), [@fabrizio-grafana](https://github.com/fabrizio-grafana)
- **Scenes:** Fix issue with discarding unsaved changes modal in new dashboards. [#84369](https://github.com/grafana/grafana/issues/84369), [@kaydelaney](https://github.com/kaydelaney)
- **PostgreSQL:** Display correct initial value for tls mode. [#84356](https://github.com/grafana/grafana/issues/84356), [@gabor](https://github.com/gabor)
- **Cloudwatch:** Fix issue with Grafana Assume Role. [#84315](https://github.com/grafana/grafana/issues/84315), [@sarahzinger](https://github.com/sarahzinger)
- **Playlists:** Fix kiosk mode not activating when starting a playlist. [#84262](https://github.com/grafana/grafana/issues/84262), [@joshhunt](https://github.com/joshhunt)
- **Google Cloud Monitor:** Fix `res` being accessed after it becomes `nil` in `promql_query.go`. [#84223](https://github.com/grafana/grafana/issues/84223), [@adamyeats](https://github.com/adamyeats)
- **Elasticsearch:** Fix using of individual query time ranges when querying. [#84201](https://github.com/grafana/grafana/issues/84201), [@ivanahuckova](https://github.com/ivanahuckova)
- **InfluxDB:** Fix for wrong query generated with template variable and non regex operator on frontend mode. [#84175](https://github.com/grafana/grafana/issues/84175), [@wasim-nihal](https://github.com/wasim-nihal)
- **Prometheus:** Remove &lt; and &gt; from Query Builder Label Matcher operations. [#83981](https://github.com/grafana/grafana/issues/83981), [@kylebrandt](https://github.com/kylebrandt)
- **Worker:** Use CorsWorker to avoid CORS issues. [#83976](https://github.com/grafana/grafana/issues/83976), [@ivanortegaalba](https://github.com/ivanortegaalba)
- **Tempo:** Fix by operator to support multiple arguments. [#83947](https://github.com/grafana/grafana/issues/83947), [@fabrizio-grafana](https://github.com/fabrizio-grafana)
- **Plugins Catalog:** Fix plugin details page initial flickering. [#83896](https://github.com/grafana/grafana/issues/83896), [@leventebalogh](https://github.com/leventebalogh)
- **Loki:** Interpolate variables in live queries. [#83831](https://github.com/grafana/grafana/issues/83831), [@ivanahuckova](https://github.com/ivanahuckova)
- **Table Panel:** Fix condition for showing footer options. [#83801](https://github.com/grafana/grafana/issues/83801), [@codeincarnate](https://github.com/codeincarnate)
- **Alerting:** Fix bug in screenshot service using incorrect limit. [#83786](https://github.com/grafana/grafana/issues/83786), [@grobinson-grafana](https://github.com/grobinson-grafana)
- **Alerting:** Fix editing Grafana folder via alert rule editor. [#83771](https://github.com/grafana/grafana/issues/83771), [@gillesdemey](https://github.com/gillesdemey)
- **Cloudwatch:** Fix new ConfigEditor to add the custom namespace field . [#83762](https://github.com/grafana/grafana/issues/83762), [@idastambuk](https://github.com/idastambuk)
- **LDAP:** Fix LDAP users authenticated via auth proxy not being able to use LDAP active sync. [#83715](https://github.com/grafana/grafana/issues/83715), [@Jguer](https://github.com/Jguer)
- **Elasticsearch:** Fix adhoc filters not applied in frontend mode. [#83592](https://github.com/grafana/grafana/issues/83592), [@svennergr](https://github.com/svennergr)
- **RBAC:** Fix delete team permissions on team delete. [#83442](https://github.com/grafana/grafana/issues/83442), [@gamab](https://github.com/gamab)
- **Dashboards:** Fixes issue where panels would not refresh if time range updated while in panel view mode. [#83418](https://github.com/grafana/grafana/issues/83418), [@kaydelaney](https://github.com/kaydelaney)
- **AzureMonitor:** Fix mishandled resources vs workspaces. [#83184](https://github.com/grafana/grafana/issues/83184), [@adamyeats](https://github.com/adamyeats)
- **Sql:** Fix an issue with connection limits not updating when jsonData is updated. [#83175](https://github.com/grafana/grafana/issues/83175), [@jarben](https://github.com/jarben)
- **Alerting:** Use time_intervals instead of the deprecated mute_time_intervals in a…. [#83147](https://github.com/grafana/grafana/issues/83147), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **DataFrame:** Improve typing of arrayToDataFrame helper and fix null/undefined handling. [#83104](https://github.com/grafana/grafana/issues/83104), [@aocenas](https://github.com/aocenas)
- **Cloudwatch:** Fix filter button issue in VariableEditor. [#83082](https://github.com/grafana/grafana/issues/83082), [@wilguo](https://github.com/wilguo)
- **Alerting:** Fix panic in provisioning filter contacts by unknown name. [#83070](https://github.com/grafana/grafana/issues/83070), [@JacobsonMT](https://github.com/JacobsonMT)
- **Search:** Include collapsed panels in search v2. [#83047](https://github.com/grafana/grafana/issues/83047), [@suntala](https://github.com/suntala)
- **Plugins:** Fix loading modules that only export a default. [#82299](https://github.com/grafana/grafana/issues/82299), [@sd2k](https://github.com/sd2k)
- **Table:** Fix units showing in footer after reductions without units. [#82081](https://github.com/grafana/grafana/issues/82081), [@codeincarnate](https://github.com/codeincarnate)
- **AuthProxy:** Invalidate previous cached item for user when changes are made to any header. [#81445](https://github.com/grafana/grafana/issues/81445), [@klesh](https://github.com/klesh)
- **Unit:** Add SI prefix for empty unit. [#79897](https://github.com/grafana/grafana/issues/79897), [@raymalt](https://github.com/raymalt)
- **Variables:** Multi-select DataSource variables are inconsistently displayed in the Data source picker. [#76039](https://github.com/grafana/grafana/issues/76039), [@polibb](https://github.com/polibb)
- **SAML:** Better error message for saml private key type errors. (Enterprise)
- **Reporting:** Fix monthly schedule text and modify monthly schedule inputs behavior. (Enterprise)
### Breaking changes
In 9.3 we released a way to set `case_insensitive_login` to true. This enables, lowercased username, login for users signing up with Grafana, for more information read our [blog post](https://grafana.com/blog/2022/12/12/guide-to-using-the-new-grafana-cli-user-identity-conflict-tool-in-grafana-9.3/).
If you encounter any issues with users signing up, we recommend everyone to use lowercase in their login, username otherwise refer to the blog post for how to solve any of the users that can be conflicting with their login/username. Issue [#84972](https://github.com/grafana/grafana/issues/84972)
This is a breaking change for users who use uppercase in their login or emails. The users are by default now using lowercase as part of their login and emails.
Before this code change, users would be able to still log in as either `aUser@user.com` or `auser@user.com`, users are now only able to login and signup with grafana using lowercasing `auser@user.com`.
We recommend reviewing the [blog post](https://grafana.com/blog/2022/12/12/guide-to-using-the-new-grafana-cli-user-identity-conflict-tool-in-grafana-9.3/#:~:text=A%20user%20identity%20conflict%20occurs,more%20capitalized%20letters%20%E2%80%9Cgrafana_LOGIN%E2%80%9D.) about using the CLI and why this is important for us to consolidate our security efforts. Issue [#84840](https://github.com/grafana/grafana/issues/84840)
This is a breaking change for users who have restricted the default access to annotation permissions by removing annotation related actions from the Viewer or Editor basic roles. In such cases we are not able to complete the permission migration automatically, and you will see the following log in your Grafana server logs: `basic role permissions missing annotation permissions, skipping annotation permission migration`. You will also notice that dashboard and folder permissions do not appear in the user interface. Don't worry, all the permissions that you assigned are still there, they are just not being displayed.
We recommend reviewing what annotation permissions you have revoked from the basic roles (you can reference [our documentation](https://grafana.com/docs/grafana/latest/administration/roles-and-permissions/access-control/rbac-fixed-basic-role-definitions/) to see what permissions are missing). If you are fine granting them back to the basic roles, do that, then run the following data base command: `DELETE FROM migration_log WHERE migration_id="managed dashboard permissions annotation actions migration"` and restart Grafana. This will make sure that the annotation permission migration gets run again, and this time it should succeed.
If you are not willing to grant the annotation permissions back to the basic roles, please disable `annotationPermissionUpdate` feature toggle (add `annotationPermissionUpdate = false` to `[feature_toggles]` in Grafana's configuration file) and reach out to Grafana's support team. When we can learn more about your use case, we will work with you to find a solution. Issue [#84787](https://github.com/grafana/grafana/issues/84787)
Angular support is turned `off` by default starting Grafana 11, you can find all the details in a [dedicated documentation page.](https://grafana.com/docs/grafana/latest/developers/angular_deprecation/)
Issue [#84738](https://github.com/grafana/grafana/issues/84738)
The **xpack** checkbox dependency for enabling the **Include Frozen Indices** functionality has been removed, allowing direct control over frozen indices inclusion. Users should review their datasource settings to ensure the "Include Frozen Indices" option is configured as desired, particularly if xpack was previously disabled. This change aims to simplify configuration options and may affect queries if settings are not adjusted accordingly. Issue [#84734](https://github.com/grafana/grafana/issues/84734)
For data sources that extend `DataSourceWithBackend`, the `filterQuery` method is now called **before** the data source `query` method. If the `filterQuery` method assumes that some kind of query migration happens before this method is called, you now need to do the migration inside this method.
Users of data source plugins that did not previously remove hidden queries will see a change of behaviour: Before this change, clicking the `Disable query` button had no impact on the query result, but starting from Grafana 11 responses associated with hidden queries will no longer be returned to the panel. Issue [#84656](https://github.com/grafana/grafana/issues/84656)
SystemJS is no longer exported from `@grafana/runtime`. Plugin developers should instead rely on importing modules / packages using standard TS import syntax and npm/yarn for package installation.
Issue [#84561](https://github.com/grafana/grafana/issues/84561)
We've removed the Loki tab from the Tempo data source. You can still access Logs through the Loki data source or can also create a link from Tempo to Loki via our [trace to logs](https://grafana.com/docs/grafana/latest/datasources/tempo/configure-tempo-data-source/#trace-to-logs) feature. Issue [#84346](https://github.com/grafana/grafana/issues/84346)
The `query` option in `splitOpen` was deprecated in `10.1` and is now being removed. Issue [#83973](https://github.com/grafana/grafana/issues/83973)
Since https://github.com/grafana/grafana/pull/38942 (Grafana `8.2.0`) the `ExploreQueryFieldProps` type was deprecated and is now removed. Issue [#83972](https://github.com/grafana/grafana/issues/83972)
Since https://github.com/grafana/grafana/pull/38942 `exploreId` is no longer supplied to query editors in Explore. The property was deprecated in `10.3.0` and is now removed. If your query editor needs to know from which app is being rendered, you can check the `app` prop in `QueryEditorProps`. Issue [#83971](https://github.com/grafana/grafana/issues/83971)
The Vector interface that was deprecated in Grafana 10 has been further deprecated. Using it will now generate build-time Typescript errors, but remain working at runtime. If you're still using ArrayVector in your code, it should be removed immediately and replaced with plain arrays. Plugins compiled against older versions and depend on calling get/set will continue to work because the Array prototype still has a modified prototype. This will be removed in the future Issue [#83681](https://github.com/grafana/grafana/issues/83681)
In Grafana 11 the legacy alerting reaches the end-of-life. Users cannot enable it and Grafana will refuse to start if the settings are not updated to run the new Grafana Alerting. Migration from legacy alerting is not available as well. Grafana 10.4.x is the last version that offers the migration.
- If the setting `[alerting].enable` is set to `true` Grafana will not start and emit the log message with recommendations to change the configuration
- Setting `[alerting].max_annotation_age` is replaced by `[unified_alerting.state_history.annotations].max_age`
- Setting `[alerting].max_annotations_to_keep` is replaced by `[unified_alerting.state_history.annotations].max_annotations_to_keep`
- setting `[unified_alerting].execute_alerts` does not fall back to the legacy `[alerting].execute_alerts` anymore. Instead, the default value `true` is used.
- setting `[unified_alerting].evaluation_timeout` does not fall back to the legacy setting `[alerting].evaluation_timeout_seconds` in the case when it is either invalid or has the default value. Now, if the setting is invalid, it will cause Grafana to exit.
- setting `[unified_alerting].min_interval` does not fall back to the legacy setting `[alerting].min_interval_seconds` in the case when it is either invalid or has the default value. Now, if the setting is invalid, it will cause Grafana to exit. Issue [#83651](https://github.com/grafana/grafana/issues/83651)
We've removed React 17 as a peer dependency from our packages. Anyone using the new versions of these packages should ensure they've upgraded to React 18 following the upgrade steps: https://react.dev/blog/2022/03/08/react-18-upgrade-guide Issue [#83524](https://github.com/grafana/grafana/issues/83524)
We're adding a validation between the response of the ID token HD parameter and the list of allowed domains as an extra layer of security. In the event that the HD parameter doesn't match the list of allowed domains, we're denying access to Grafana.
If you set Google OAuth configuration using `api_url,` you might be using the legacy implementation of OAuth, which doesn't have the HD parameter describing the organisation the approved token comes from. This could break your login flow.
This feature can be turned off through the configuration toggle `validate_hd `. Anyone using the legacy Google OAuth configuration should turn off this validation if the ID Token response doesn't have the HD parameter. Issue [#83229](https://github.com/grafana/grafana/issues/83229)
The direct input datasource plugin has been removed in Grafana 11. It has been in alpha for 4 years and is superseded by [TestData](https://grafana.com/docs/grafana/latest/datasources/testdata/) that ships with Grafana.
Issue [#83163](https://github.com/grafana/grafana/issues/83163)
The alert rule API methods now require more permissions for users to perform changes to rules. To create a new rule or update or delete an existing one, the user must have permission to read from the folder that stores the rules (i.e. permission `folder:read` in the scope of the rule's folder) and permission to read alert rules in that folder (i.e. permission `alert.rules:read`
The standard roles already have all required permissions, and therefore, neither OSS nor Grafana Enterprise users who use the fixed roles (standard roles provided by Grafana) are affected. **Only Grafana Enterprise users who create custom roles can be affected** Issue [#78289](https://github.com/grafana/grafana/issues/78289)
The deprecated endpoint for rendering pdf of a single dashboard `GET /render/pdf/:dashboardID` and report model fields `dashboardId`, `dashboardName`, `dashboardUid`, and `templateVars` have been removed. Only new endpoint `GET /api/reports/render/pdfs` accepting `dashboards` list is support moving forward Issue [#6362](https://github.com/grafana/grafana/issues/6362)
The deprecated old schedule setting with separate fields `hour,` `minute`, `day` have been removed. Only new schedule setting with `startDate` will be supported moving forward Issue [#6329](https://github.com/grafana/grafana/issues/6329)
The deprecated `email` field to send a report via `/api/reports/email` endpoint have been removed. Only `emails` field will be supported moving forward. Issue [#6328](https://github.com/grafana/grafana/issues/6328)
### Plugin development fixes & changes
- **GrafanaUI:** Add new `EmptyState` component. [#84891](https://github.com/grafana/grafana/issues/84891), [@ashharrison90](https://github.com/ashharrison90)
- **Grafana/Runtime:** Remove SystemJS export. [#84561](https://github.com/grafana/grafana/issues/84561), [@jackw](https://github.com/jackw)
- **Grafana UI:** Add code variant to Text component. [#82318](https://github.com/grafana/grafana/issues/82318), [@tskarhed](https://github.com/tskarhed)
<!-- 11.0.0-preview END -->
<!-- 10.4.1 START -->
# 10.4.1 (2024-03-20)
### Features and enhancements
- **Alerting:** Add "Keep Last State" backend functionality. [#84406](https://github.com/grafana/grafana/issues/84406), [@rwwiv](https://github.com/rwwiv)
- **Postgres:** Allow disabling SNI on SSL-enabled connections. [#84249](https://github.com/grafana/grafana/issues/84249), [@papagian](https://github.com/papagian)
- **DataQuery:** Track panel plugin id not type. [#83164](https://github.com/grafana/grafana/issues/83164), [@torkelo](https://github.com/torkelo)
### Bug fixes
- **Elasticsearch:** Fix legend for alerting, expressions and previously frontend queries. [#84685](https://github.com/grafana/grafana/issues/84685), [@ivanahuckova](https://github.com/ivanahuckova)
- **Alerting:** Fix optional fields requiring validation rule. [#84595](https://github.com/grafana/grafana/issues/84595), [@gillesdemey](https://github.com/gillesdemey)
- **ExtSvcAccounts:** FIX prevent service account deletion. [#84511](https://github.com/grafana/grafana/issues/84511), [@gamab](https://github.com/gamab)
- **Loki:** Fix null pointer exception in case request returned an error. [#84401](https://github.com/grafana/grafana/issues/84401), [@svennergr](https://github.com/svennergr)
- **Dashboard:** Fix issue where out-of-view shared query panels caused blank dependent panels. [#84197](https://github.com/grafana/grafana/issues/84197), [@kaydelaney](https://github.com/kaydelaney)
- **Auth:** Only call rotate token if we have a session expiry cookie. [#84181](https://github.com/grafana/grafana/issues/84181), [@kalleep](https://github.com/kalleep)
- **Serviceaccounts:** Add ability to add samename SA for different orgs. [#83953](https://github.com/grafana/grafana/issues/83953), [@eleijonmarck](https://github.com/eleijonmarck)
- **GenAI:** Update the component only when the response is fully generated. [#83895](https://github.com/grafana/grafana/issues/83895), [@ivanortegaalba](https://github.com/ivanortegaalba)
- **Tempo:** Better fallbacks for metrics query. [#83688](https://github.com/grafana/grafana/issues/83688), [@adrapereira](https://github.com/adrapereira)
- **Tempo:** Add template variable interpolation for filters. [#83667](https://github.com/grafana/grafana/issues/83667), [@joey-grafana](https://github.com/joey-grafana)
- **Alerting:** Fix saving evaluation group. [#83234](https://github.com/grafana/grafana/issues/83234), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **QueryVariableEditor:** Select a variable ds does not work. [#83181](https://github.com/grafana/grafana/issues/83181), [@ivanortegaalba](https://github.com/ivanortegaalba)
- **Logs Panel:** Add option extra UI functionality for log context. [#83129](https://github.com/grafana/grafana/issues/83129), [@svennergr](https://github.com/svennergr)
<!-- 10.4.1 END -->
<!-- 10.4.0 START -->
# 10.4.0 (2024-03-06)
### Features and enhancements
- **Chore:** Improve domain validation for Google OAuth - Backport 83229 to v10.4.x. [#83726](https://github.com/grafana/grafana/issues/83726), [@linoman](https://github.com/linoman)
- **DataQuery:** Track panel plugin id not type. [#83164](https://github.com/grafana/grafana/issues/83164), [@torkelo](https://github.com/torkelo)
- **AuthToken:** Remove client token rotation feature toggle. [#82886](https://github.com/grafana/grafana/issues/82886), [@kalleep](https://github.com/kalleep)
- **Plugins:** Enable feature toggle angularDeprecationUI by default. [#82880](https://github.com/grafana/grafana/issues/82880), [@xnyo](https://github.com/xnyo)
- **Table Component:** Improve text-wrapping behavior of cells. [#82872](https://github.com/grafana/grafana/issues/82872), [@ahuarte47](https://github.com/ahuarte47)
@@ -134,15 +429,6 @@
### Bug fixes
- **GenAI:** Update the component only when the response is fully generated. [#83895](https://github.com/grafana/grafana/issues/83895), [@ivanortegaalba](https://github.com/ivanortegaalba)
- **LDAP:** Fix LDAP users authenticated via auth proxy not being able to use LDAP active sync. [#83751](https://github.com/grafana/grafana/issues/83751), [@Jguer](https://github.com/Jguer)
- **Tempo:** Better fallbacks for metrics query. [#83688](https://github.com/grafana/grafana/issues/83688), [@adrapereira](https://github.com/adrapereira)
- **Tempo:** Add template variable interpolation for filters. [#83667](https://github.com/grafana/grafana/issues/83667), [@joey-grafana](https://github.com/joey-grafana)
- **Elasticsearch:** Fix adhoc filters not applied in frontend mode. [#83597](https://github.com/grafana/grafana/issues/83597), [@svennergr](https://github.com/svennergr)
- **AuthProxy:** Invalidate previous cached item for user when changes are made to any header. [#83287](https://github.com/grafana/grafana/issues/83287), [@klesh](https://github.com/klesh)
- **Alerting:** Fix saving evaluation group. [#83234](https://github.com/grafana/grafana/issues/83234), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **QueryVariableEditor:** Select a variable ds does not work. [#83181](https://github.com/grafana/grafana/issues/83181), [@ivanortegaalba](https://github.com/ivanortegaalba)
- **Logs Panel:** Add option extra UI functionality for log context. [#83129](https://github.com/grafana/grafana/issues/83129), [@svennergr](https://github.com/svennergr)
- **Auth:** Fix email verification bypass when using basic authentication. [#82914](https://github.com/grafana/grafana/issues/82914), [@volcanonoodle](https://github.com/volcanonoodle)
- **LibraryPanels/RBAC:** Fix issue where folder scopes weren't being correctly inherited. [#82700](https://github.com/grafana/grafana/issues/82700), [@kaydelaney](https://github.com/kaydelaney)
- **Table Panel:** Fix display of ad-hoc filter actions. [#82442](https://github.com/grafana/grafana/issues/82442), [@codeincarnate](https://github.com/codeincarnate)
@@ -225,6 +511,22 @@ Any consumers of the specific API should be appropriately adapted. Issue [#74600
- **Grafana/UI:** Add new Splitter component . [#82357](https://github.com/grafana/grafana/issues/82357), [@torkelo](https://github.com/torkelo)
<!-- 10.4.0 END -->
<!-- 10.3.5 START -->
# 10.3.5 (2024-03-20)
### Features and enhancements
- **Postgres:** Allow disabling SNI on SSL-enabled connections. [#84259](https://github.com/grafana/grafana/issues/84259), [@papagian](https://github.com/papagian)
### Bug fixes
- **Snapshots:** Require delete within same org (backport). [#84707](https://github.com/grafana/grafana/issues/84707), [@ryantxu](https://github.com/ryantxu)
- **Elasticsearch:** Fix legend for alerting, expressions and previously frontend queries. [#84684](https://github.com/grafana/grafana/issues/84684), [@ivanahuckova](https://github.com/ivanahuckova)
- **Dashboard:** Fix issue where out-of-view shared query panels caused blank dependent panels. [#84196](https://github.com/grafana/grafana/issues/84196), [@kaydelaney](https://github.com/kaydelaney)
- **Alerting:** Fix preview getting the correct queries from the form. [#81481](https://github.com/grafana/grafana/issues/81481), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
<!-- 10.3.5 END -->
<!-- 10.3.4 START -->
# 10.3.4 (2024-03-06)
@@ -368,6 +670,24 @@ Users who have InfluxDB datasource configured with SQL querying language must up
Removes `NamespaceID` from responses of all GET routes underneath the path `/api/ruler/grafana/api/v1/rules` - 3 affected endpoints. All affected routes are not in the publicly documented or `stable` marked portion of the ngalert API. This only breaks clients who are directly using the unstable portion of the API. Such clients should use `NamespaceUID` rather than `NamespaceID` to identify namespaces. Issue [#79359](https://github.com/grafana/grafana/issues/79359)
<!-- 10.3.0 END -->
<!-- 10.2.6 START -->
# 10.2.6 (2024-03-25)
### Features and enhancements
- **Postgres:** Allow disabling SNI on SSL-enabled connections. [#84258](https://github.com/grafana/grafana/issues/84258), [@papagian](https://github.com/papagian)
### Bug fixes
- **CloudMonitoring:** Only run query if filters are complete. [#85014](https://github.com/grafana/grafana/issues/85014), [@aangelisc](https://github.com/aangelisc)
- **Snapshots:** Require delete within same org (backport). [#84730](https://github.com/grafana/grafana/issues/84730), [@ryantxu](https://github.com/ryantxu)
- **Dashboard:** Fix issue where out-of-view shared query panels caused blank dependent panels. [#84195](https://github.com/grafana/grafana/issues/84195), [@kaydelaney](https://github.com/kaydelaney)
- **Dashboards:** Run shared queries even when source panel is in collapsed row. [#84166](https://github.com/grafana/grafana/issues/84166), [@kaydelaney](https://github.com/kaydelaney)
- **Prometheus:** Fix calculating rate interval when there is no interval specified. [#84082](https://github.com/grafana/grafana/issues/84082), [@itsmylife](https://github.com/itsmylife)
- **Prometheus:** Fix $\_\_rate_interval calculation. [#84063](https://github.com/grafana/grafana/issues/84063), [@tolzhabayev](https://github.com/tolzhabayev)
<!-- 10.2.6 END -->
<!-- 10.2.5 START -->
# 10.2.5 (2024-03-06)
@@ -1062,6 +1382,15 @@ Starting with 10.2, `parentRowIndex` is deprecated. It will be removed in a futu
- **Drawer:** Make content scroll by default. [#75287](https://github.com/grafana/grafana/issues/75287), [@ashharrison90](https://github.com/ashharrison90)
<!-- 10.2.0 END -->
<!-- 10.1.9 START -->
# 10.1.9 (2024-03-25)
### Bug fixes
- **Snapshots:** Require delete within same org (backport). [#84765](https://github.com/grafana/grafana/issues/84765), [@ryantxu](https://github.com/ryantxu)
<!-- 10.1.9 END -->
<!-- 10.1.8 START -->
# 10.1.8 (2024-03-06)
@@ -1581,6 +1910,15 @@ Starting with 10.0, changing the folder UID is deprecated. It will be removed in
- **Grafana/ui:** Fix margin in RadioButtonGroup option when only icon is present. [#68899](https://github.com/grafana/grafana/issues/68899), [@aocenas](https://github.com/aocenas)
<!-- 10.1.0 END -->
<!-- 10.0.13 START -->
# 10.0.13 (2024-03-25)
### Bug fixes
- **Snapshots:** Require delete within same org (backport). [#84764](https://github.com/grafana/grafana/issues/84764), [@ryantxu](https://github.com/ryantxu)
<!-- 10.0.13 END -->
<!-- 10.0.12 START -->
# 10.0.12 (2024-03-06)
@@ -2131,6 +2469,15 @@ The `database` field has been deprecated in the Elasticsearch datasource provisi
- **InteractiveTable:** Updated design and minor tweak to Correlactions page. [#66443](https://github.com/grafana/grafana/issues/66443), [@torkelo](https://github.com/torkelo)
<!-- 10.0.0-preview END -->
<!-- 9.5.18 START -->
# 9.5.18 (2024-03-25)
### Bug fixes
- **Snapshots:** Require delete within same org (backport). [#84762](https://github.com/grafana/grafana/issues/84762), [@ryantxu](https://github.com/ryantxu)
<!-- 9.5.18 END -->
<!-- 9.5.17 START -->
# 9.5.17 (2024-03-05)

View File

@@ -3,7 +3,7 @@
ARG BASE_IMAGE=alpine:3.19.1
ARG JS_IMAGE=node:20-alpine
ARG JS_PLATFORM=linux/amd64
ARG GO_IMAGE=golang:1.21.8-alpine
ARG GO_IMAGE=golang:1.21.10-alpine
ARG GO_SRC=go-builder
ARG JS_SRC=js-builder
@@ -57,6 +57,7 @@ COPY .bingo .bingo
COPY pkg/util/xorm/go.* pkg/util/xorm/
COPY pkg/apiserver/go.* pkg/apiserver/
COPY pkg/apimachinery/go.* pkg/apimachinery/
COPY pkg/promlib/go.* pkg/promlib/
RUN go mod download
RUN if [[ "$BINGO" = "true" ]]; then \

View File

@@ -18,7 +18,7 @@ packaging/
kinds/
pkg/kinds/
pkg/kindsys/
pkg/registry/corekind/
pkg/registry/schemas/
grafana-mixin/
public/app/plugins/datasource/tempo
public/app/features/explore/TraceView/components

View File

@@ -7,7 +7,7 @@ WIRE_TAGS = "oss"
-include local/Makefile
include .bingo/Variables.mk
.PHONY: all deps-go deps-js deps build-go build-backend build-server build-cli build-js build build-docker-full build-docker-full-ubuntu lint-go golangci-lint test-go test-js gen-ts test run run-frontend clean devenv devenv-down protobuf drone help gen-go gen-cue fix-cue
.PHONY: all deps-go deps-js deps build-go build-backend build-server build-cli build-js build build-docker-full build-docker-full-ubuntu lint-go golangci-lint test-go test-js gen-ts test run run-frontend clean devenv devenv-down protobuf drone help gen-go gen-cue fix-cue gen-feature-toggles
GO = go
GO_FILES ?= ./pkg/... ./pkg/apiserver/... ./pkg/apimachinery/... ./pkg/promlib/...
@@ -106,9 +106,20 @@ gen-cue: ## Do all CUE/Thema code generation
go generate ./kinds/gen.go
go generate ./public/app/plugins/gen.go
gen-go: $(WIRE)
gen-feature-toggles:
## First go test run fails because it will re-generate the feature toggles.
## Second go test run will compare the generated files and pass.
@echo "generate feature toggles"
go test -v ./pkg/services/featuremgmt/... > /dev/null 2>&1; \
if [ $$? -eq 0 ]; then \
echo "feature toggles already up-to-date"; \
else \
go test -v ./pkg/services/featuremgmt/...; \
fi
gen-go:
@echo "generate go files"
$(WIRE) gen -tags $(WIRE_TAGS) ./pkg/server
$(GO) run ./pkg/build/wire/cmd/wire/main.go gen -tags $(WIRE_TAGS) ./pkg/server
fix-cue: $(CUE)
@echo "formatting cue files"
@@ -167,7 +178,7 @@ test-go: test-go-unit test-go-integration
test-go-unit: ## Run unit tests for backend with flags.
@echo "test backend unit tests"
go list -f '{{.Dir}}/...' -m | xargs \
$(GO) test -short -covermode=atomic -timeout=30m
$(GO) test -short -covermode=atomic -timeout=30m
.PHONY: test-go-integration
test-go-integration: ## Run integration tests for backend with flags.
@@ -255,7 +266,7 @@ build-docker-full-ubuntu: ## Build Docker image based on Ubuntu for development.
--build-arg COMMIT_SHA=$$(git rev-parse HEAD) \
--build-arg BUILD_BRANCH=$$(git rev-parse --abbrev-ref HEAD) \
--build-arg BASE_IMAGE=ubuntu:22.04 \
--build-arg GO_IMAGE=golang:1.21.8 \
--build-arg GO_IMAGE=golang:1.21.10 \
--tag grafana/grafana$(TAG_SUFFIX):dev-ubuntu \
$(DOCKER_BUILD_ARGS)

View File

@@ -9,10 +9,6 @@ app_mode = production
# instance name, defaults to HOSTNAME environment variable value or hostname if HOSTNAME var is empty
instance_name = ${HOSTNAME}
# force migration will run migrations that might cause dataloss
# Deprecated, use clean_upgrade option in [unified_alerting.upgrade] instead.
force_migration = false
#################################### Paths ###############################
[paths]
# Path to where grafana can store temp files, sessions, and the sqlite3 db (if that is used)
@@ -70,6 +66,9 @@ enable_gzip = false
cert_file =
cert_key =
# Certificates file watch interval
certs_watch_interval =
# 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
@@ -138,6 +137,9 @@ log_queries =
# For "mysql", use either "true", "false", or "skip-verify".
ssl_mode = disable
# For "postregs", use either "1" to enable or "0" to disable SNI
ssl_sni =
# Database drivers may support different transaction isolation levels.
# Currently, only "mysql" driver supports isolation levels.
# If the value is empty - driver's default isolation level is applied.
@@ -158,7 +160,10 @@ cache_mode = private
# For "sqlite3" only. Enable/disable Write-Ahead Logging, https://sqlite.org/wal.html. Default is false.
wal = false
# 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.
# For "mysql" and "postgres". Lock the database for the migrations, default is true.
migration_locking = true
# For "mysql" and "postgres" only if migrationLocking is set. How many seconds to wait before failing to lock the database for the migrations, default is 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).
@@ -380,8 +385,8 @@ content_security_policy_report_only = false
# $ROOT_PATH is server.root_url without the protocol.
content_security_policy_report_only_template = """script-src 'self' 'unsafe-eval' 'unsafe-inline' 'strict-dynamic' $NONCE;object-src 'none';font-src 'self';style-src 'self' 'unsafe-inline' blob:;img-src * data:;base-uri 'self';connect-src 'self' grafana.com ws://$ROOT_PATH wss://$ROOT_PATH;manifest-src 'self';media-src 'none';form-action 'self';"""
# Controls if old angular plugins are supported or not. This will be disabled by default in future release
angular_support_enabled = true
# Controls if old angular plugins are supported or not.
angular_support_enabled = false
# The CSRF check will be executed even if the request has no login cookie.
csrf_always_check = false
@@ -473,6 +478,9 @@ auto_assign_org_role = Viewer
# Require email validation before sign up completes
verify_email_enabled = false
# Redirect to default OrgId after login
login_default_org_id =
# Background text for the user field on the login page
login_hint = email or username
password_hint = password
@@ -559,10 +567,6 @@ oauth_auto_login = false
# OAuth state max age cookie duration in seconds. Defaults to 600 seconds.
oauth_state_cookie_max_age = 600
# Skip forced assignment of OrgID 1 or 'auto_assign_org_id' for social logins
# Deprecated, use skip_org_role_sync option for specific provider instead.
oauth_skip_org_role_update_sync = false
# limit of api_key seconds to live before expiration
api_key_max_seconds_to_live = -1
@@ -848,6 +852,8 @@ enable_login_token = false
header_name =
email_claim =
username_claim =
email_attribute_path =
username_attribute_path =
jwk_set_url =
jwk_set_file =
cache_ttl = 60m
@@ -861,7 +867,6 @@ auto_sign_up = false
url_login = false
allow_assign_grafana_admin = false
skip_org_role_sync = false
signout_redirect_url =
#################################### Auth LDAP ###########################
[auth.ldap]
@@ -938,6 +943,13 @@ workload_identity_token_file =
# Disabled by default, needs to be explicitly enabled
user_identity_enabled = false
# Specifies whether user identity authentication fallback credentials should be enabled in data sources
# Enabling this allows data source creators to provide fallback credentials for backend initiated requests
# e.g. alerting, recorded queries etc.
# Enabled by default, needs to be explicitly disabled
# Will not have any effect if user identity is disabled above
user_identity_fallback_credentials_enabled = true
# Override token URL for Azure Active Directory
# By default is the same as token URL configured for AAD authentication settings
user_identity_token_url =
@@ -1133,7 +1145,7 @@ alerting_rule_group_rules = 100
#################################### 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 Alerting sub-system and interface.
enabled =
# Comma-separated list of organization IDs for which to disable unified alerting. Only supported if unified alerting is enabled.
@@ -1300,6 +1312,10 @@ loki_basic_auth_username =
# Optional password for basic authentication on requests sent to Loki. Can be left blank.
loki_basic_auth_password =
# For "loki" only.
# Optional max query length for queries sent to Loki. Default is 721h which matches the default Loki value.
loki_max_query_length = 721h
[unified_alerting.state_history.external_labels]
# Optional extra labels to attach to outbound state history records or log streams.
# Any number of label key-value-pairs can be provided.
@@ -1318,13 +1334,6 @@ max_age =
# Configures max number of alert annotations that Grafana stores. Default value is 0, which keeps all alert annotations.
max_annotations_to_keep =
[unified_alerting.upgrade]
# If set to true when upgrading from legacy alerting to Unified Alerting, grafana will first delete all existing
# Unified Alerting resources, thus re-upgrading all organizations from scratch. If false or unset, organizations that
# have previously upgraded will not lose their existing Unified Alerting data when switching between legacy and
# Unified Alerting. Should be kept false when not needed as it may cause unintended data-loss if left enabled.
clean_upgrade = false
# NOTE: this configuration options are not used yet.
[remote.alertmanager]
@@ -1813,3 +1822,13 @@ enabled = true
[cloud_migration]
# Set to true to enable target-side migration UI
is_target = false
# Token used to send requests to grafana com
gcom_api_token = ""
# How long to wait for a request to fetch an instance to complete
fetch_instance_timeout = 5s
# How long to wait for a request to create an access policy to complete
create_access_policy_timeout = 5s
# How long to wait for a request to create to fetch an access policy to complete
fetch_access_policy_timeout = 5s
# How long to wait for a request to create to delete an access policy to complete
delete_access_policy_timeout = 5s

View File

@@ -1,25 +0,0 @@
# # config file version
apiVersion: 1
# notifiers:
# - name: default-slack-temp
# type: slack
# org_name: Main Org.
# is_default: true
# uid: notifier1
# settings:
# recipient: "XXX"
# token: "xoxb"
# uploadImage: true
# url: https://slack.com
# - name: default-email
# type: email
# org_id: 1
# uid: notifier2
# is_default: false
# settings:
# addresses: example11111@example.com
# delete_notifiers:
# - name: default-slack-temp
# org_name: Main Org.
# uid: notifier1

View File

@@ -9,10 +9,6 @@
# instance name, defaults to HOSTNAME environment variable value or hostname if HOSTNAME var is empty
;instance_name = ${HOSTNAME}
# force migration will run migrations that might cause dataloss
# Deprecated, use clean_upgrade option in [unified_alerting.upgrade] instead.
;force_migration = false
#################################### Paths ####################################
[paths]
# Path to where grafana can store temp files, sessions, and the sqlite3 db (if that is used)
@@ -71,6 +67,9 @@
;cert_file =
;cert_key =
# Certificates file watch interval
;certs_watch_interval =
# 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
@@ -124,6 +123,9 @@
# For "mysql", use either "true", "false", or "skip-verify".
;ssl_mode = disable
# For "postregs", use either "1" to enable or "0" to disable SNI
;ssl_sni =
# Database drivers may support different transaction isolation levels.
# Currently, only "mysql" driver supports isolation levels.
# If the value is empty - driver's default isolation level is applied.
@@ -156,7 +158,10 @@
# For "sqlite3" only. Enable/disable Write-Ahead Logging, https://sqlite.org/wal.html. Default is false.
;wal = false
# 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.
# For "mysql" and "postgres" only. Lock the database for the migrations, default is true.
;migration_locking = true
# For "mysql" and "postgres" only. How many seconds to wait before failing to lock the database for the migrations, default is 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).
@@ -376,8 +381,8 @@
# $NONCE in the template includes a random nonce.
# $ROOT_PATH is server.root_url without the protocol.
;content_security_policy_report_only_template = """script-src 'self' 'unsafe-eval' 'unsafe-inline' 'strict-dynamic' $NONCE;object-src 'none';font-src 'self';style-src 'self' 'unsafe-inline' blob:;img-src * data:;base-uri 'self';connect-src 'self' grafana.com ws://$ROOT_PATH wss://$ROOT_PATH;manifest-src 'self';media-src 'none';form-action 'self';"""
# Controls if old angular plugins are supported or not. This will be disabled by default in future release
;angular_support_enabled = true
# Controls if old angular plugins are supported or not.
;angular_support_enabled = false
# List of additional allowed URLs to pass by the CSRF check, separated by spaces. Suggested when authentication comes from an IdP.
;csrf_trusted_origins = example.com
@@ -449,6 +454,9 @@
# Require email validation before sign up completes
;verify_email_enabled = false
# Redirect to default OrgId after login
;login_default_org_id =
# Background text for the user field on the login page
;login_hint = email or username
;password_hint = password
@@ -536,10 +544,6 @@
# OAuth state max age cookie duration in seconds. Defaults to 600 seconds.
;oauth_state_cookie_max_age = 600
# Skip forced assignment of OrgID 1 or 'auto_assign_org_id' for social logins
# Deprecated, use skip_org_role_sync option for specific provider instead.
;oauth_skip_org_role_update_sync = false
# limit of api_key seconds to live before expiration
;api_key_max_seconds_to_live = -1
@@ -771,6 +775,8 @@
;header_name = X-JWT-Assertion
;email_claim = sub
;username_claim = sub
;email_attribute_path = jmespath.email
;username_attribute_path = jmespath.username
;jwk_set_url = https://foo.bar/.well-known/jwks.json
;jwk_set_file = /path/to/jwks.json
;cache_ttl = 60m
@@ -861,6 +867,13 @@
# Disabled by default, needs to be explicitly enabled
;user_identity_enabled = false
# Specifies whether user identity authentication fallback credentials should be enabled in data sources
# Enabling this allows data source creators to provide fallback credentials for backend initiated requests
# e.g. alerting, recorded queries etc.
# Enabled by default, needs to be explicitly disabled
# Will not have any effect if user identity is disabled above
;user_identity_fallback_credentials_enabled = true
# Override token URL for Azure Active Directory
# By default is the same as token URL configured for AAD authentication settings
;user_identity_token_url =
@@ -1193,6 +1206,10 @@
# Optional password for basic authentication on requests sent to Loki. Can be left blank.
; loki_basic_auth_password = "mypass"
# For "loki" only.
# Optional max query length for queries sent to Loki. Default is 721h which matches the default Loki value.
; loki_max_query_length = 360h
[unified_alerting.state_history.external_labels]
# Optional extra labels to attach to outbound state history records or log streams.
# Any number of label key-value-pairs can be provided.
@@ -1209,13 +1226,6 @@ max_age =
# Configures max number of alert annotations that Grafana stores. Default value is 0, which keeps all alert annotations.
max_annotations_to_keep =
[unified_alerting.upgrade]
# If set to true when upgrading from legacy alerting to Unified Alerting, grafana will first delete all existing
# Unified Alerting resources, thus re-upgrading all organizations from scratch. If false or unset, organizations that
# have previously upgraded will not lose their existing Unified Alerting data when switching between legacy and
# Unified Alerting. Should be kept false when not needed as it may cause unintended data-loss if left enabled.
;clean_upgrade = false
#################################### Annotations #########################
[annotations]
# Configures the batch size for the annotation clean-up job. This setting is used for dashboard, API, and alert annotations.

View File

@@ -76,6 +76,7 @@ After the command has finished, we can start building our source code:
yarn start
```
This command will generate sass theme files, build all external plugins, then build the frontend assets.
Once `yarn start` has built the assets, it will continue to do so whenever any of the files change. This means you don't have to manually build the assets every time you change the code.
> Troubleshooting: if your first build works, but after pulling updates you see unexpected errors in the "Type-checking in progress..." stage, these can be caused by the [tsbuildinfo cache supporting incremental builds](https://www.typescriptlang.org/tsconfig#incremental). You can `rm tsconfig.tsbuildinfo` and re-try.
@@ -171,7 +172,7 @@ make test-go-integration-postgres
### Run end-to-end tests
The end to end tests in Grafana use [Cypress](https://www.cypress.io/) and [Playwright](https://playwright.dev/) to run automated scripts in a browser. Read more about our Cypress [e2e framework](/contribute/style-guides/e2e.md).
Grafana uses [Cypress](https://www.cypress.io/) to end-to-end test core features. Core plugins use [Playwright](https://playwright.dev/) to run automated end-to-end tests. You can find more information on how to add end-to-end tests to your core plugin [here](./style-guides/e2e-plugins.md)
#### Running Cypress tests

View File

@@ -5,7 +5,7 @@ This guide helps you get started adding your feature behind a feature flag in Gr
## Steps to adding a feature toggle
1. Define the feature toggle in [registry.go](../pkg/services/featuremgmt/registry.go). To see what each feature stage means, look at the comments [here](../pkg/services/featuremgmt/features.go). If you are a community member, use the [CODEOWNERS](../.github/CODEOWNERS) file to determine which team owns the package you are updating.
2. Run the go tests mentioned at the top of [this file](../pkg/services/featuremgmt/toggles_gen.go). This will generate all the additional files needed: `toggles_gen` for the backend, `grafana-data` for the frontend, and docs. You can run the test by running `go test ./pkg/services/featuremgmt/...`. This will say the tests failed the first time, but it will have generated the right code. If you re-run the tests, it will pass.
2. Run the go tests mentioned at the top of [this file](../pkg/services/featuremgmt/toggles_gen.go). This will generate all the additional files needed: `toggles_gen` for the backend, `grafana-data` for the frontend, and docs. You can run the test by running `make gen-feature-toggles`.
## How to use it in the code

View File

@@ -66,13 +66,19 @@ While the `t` function can technically be used outside of React functions (e.g,
## How to add a new language
1. Add new locale in Crowdin and download files to repo
1. Grafana OSS Crowdin project -> "dot dot dot" menu in top right -> Target languages
2. If Crowdin's locale code is different from our IETF language tag, add a custom mapping in Project Settings -> Language mapping
3. GH repo grafana/grafana -> Actions -> Choose `Crowdin Download Action` -> Run workflow -> Creates a PR automatically
2. Review the PR `I18n: Download translations from Crowdin`
3. Update `public/app/core/internationalization/constants.ts` (add new constant, and add to `LOCALES`) and add changes to the open PR
4. Approve and merge the PR
1. Add a new locale in Crowdin
1. Grafana OSS Crowdin project
2. "dot dot dot" menu in top right
3. Target languages, and add the language
4. If Crowdin's locale code is different from our IETF language tag (such as Chinese Simplified), add a custom mapping in Project Settings -> Language mapping
2. Sync the new (empty) language to the repo
1. In Grafana's Github Actions, go to [Crowdin Download Action](https://github.com/grafana/grafana/actions/workflows/i18n-crowdin-download.yml)
2. Select 'Run workflow', from main
3. The workflow will create a PR with the new language files, which can be reviewed and merged
3. Update `public/app/core/internationalization/constants.ts`
1. Add a new constant for the new language
2. Add the new constant to the `LOCALES` array
3. Create a PR with the changes and merge when you are ready to release the new language (probably wait until we have translations for it)
## How translations work in Grafana

View File

@@ -22,4 +22,4 @@ The above commands use some utils scripts under [_\<repo-root>/e2e_](../../e2e)
## Test suites
All the integration tests are located at _\<repo-root>/e2e/suite\<x>/specs_. The page objects and reusable flows are in the [_\<repo-root>/packages/grafana-e2e_](../../packages/grafana-e2e) package.
All the integration tests are located at _\<repo-root>/e2e/suite\<x>/specs_.

View File

@@ -1,28 +1,35 @@
# End-to-End Tests for plugins
# end-to-end tests for plugins
Be sure that you've read the [generalized E2E document](e2e.md).
When end-to-end testing Grafana plugins, it's recommended to use the [`@grafana/plugin-e2e`](https://www.npmjs.com/package/@grafana/plugin-e2e?activeTab=readme) testing tool. `@grafana/plugin-e2e` extends [`@playwright/test`](https://playwright.dev/) capabilities with relevant fixtures, models, and expect matchers; enabling comprehensive end-to-end testing of Grafana plugins across multiple versions of Grafana. For information on how to get started with Plugin end-to-end testing and Playwright, checkout the [Get started](https://grafana.com/developers/plugin-tools/e2e-test-a-plugin/get-started) guide.
## Adding end-to-end tests for a core plugin
Playwright end-to-end tests for plugins should be added to the [`e2e/plugin-e2e`](https://github.com/grafana/grafana/tree/main/e2e/plugin-e2e) directory.
1. Add a new directory that has the name as your plugin [`here`](https://github.com/grafana/grafana/tree/main/e2e/plugin-e2e). This is where your plugin tests will be kept.
2. Playwright uses [projects](https://playwright.dev/docs/test-projects) to logically group tests together. All tests in a project share the same configuration.
In the [Playwright config file](https://github.com/grafana/grafana/blob/main/playwright.config.ts), add a new project item. Make sure the `name` and the `testDir` sub directory matches the name of the directory that contains your plugin tests.
Adding `'authenticate'` to the list of dependencies and specifying `'playwright/.auth/admin.json'` as storage state will ensure all tests in your project will start already authenticated as an admin user. If you wish to use a different role for and perhaps test RBAC for some of your tests, please refer to the plugin-e2e [documentation](https://grafana.com/developers/plugin-tools/e2e-test-a-plugin/use-authentication).
```ts
{
name: 'mysql',
testDir: path.join(testDirRoot, '/mysql'),
use: {
...devices['Desktop Chrome'],
storageState: 'playwright/.auth/admin.json',
},
dependencies: ['authenticate'],
},
```
3. Update the [CODEOWNERS](https://github.com/grafana/grafana/blob/main/.github/CODEOWNERS/#L315) file so that your team is owner of the tests in the directory you added in step 1.
## Commands
- `yarn test:e2e` will run [Grafana's E2E utility](../../packages/grafana-e2e) against an already running Grafana server.
- `yarn test:e2e:update` will run `test:e2e` but instead of asserting that screenshots match their expected fixtures, they'll be replaced with new ones.
- `yarn e2e:playwright` will run all Playwright tests. Optionally, you can provide the `--project mysql` argument to run tests in a certain project.
Your running Grafana instance can be targeted by setting the `CYPRESS_BASE_URL`, `CYPRESS_USERNAME` and `CYPRESS_PASSWORD` environment variableS:
The script above assumes you have Grafana running on `localhost:3000`. You may change this by providing environment variables.
```shell
CYPRESS_BASE_URL=https://localhost:3000 CYPRESS_USERNAME=admin CYPRESS_PASSWORD=admin yarn test:e2e
```
## Test suites
All tests are located at _\<repo-root>/cypress/integration_ by default.
## Things to test
- Add data source (if applicable)
- Add panel
- Edit panel
- Annotations (if applicable)
- Aliases (if applicable)
- Template variables
- "Explore" view
`HOST=127.0.0.1 PORT=3001 yarn e2e:playwright`

View File

@@ -1,13 +1,13 @@
# End-to-End tests
Grafana Labs uses a minimal [homegrown solution](../../packages/grafana-e2e) built on top of [Cypress](https://cypress.io) for its end-to-end (E2E) tests.
Grafana Labs uses a minimal [homegrown solution](../../e2e/utils/index.ts) built on top of [Cypress](https://cypress.io) for its end-to-end (E2E) tests.
Important notes:
- We generally store all element identifiers ([CSS selectors](https://mdn.io/docs/Web/CSS/CSS_Selectors)) within the framework for reuse and maintainability.
- We generally do not use stubs or mocks as to fully simulate a real user.
- Cypress' promises [do not behave as you'd expect](https://docs.cypress.io/guides/core-concepts/introduction-to-cypress.html#Mixing-Async-and-Sync-code).
- [Testing core Grafana](e2e-core.md) is slightly different than [testing plugins](e2e-plugins.md).
- [Testing core Grafana](e2e-core.md) is different than [testing plugins](e2e-plugins.md) - core Grafana uses Cypress whereas plugins use [Playwright test](https://playwright.dev/).
## Framework structure

158
devenv/alert_rules.yaml Normal file
View File

@@ -0,0 +1,158 @@
apiVersion: 1
groups:
- orgId: 1
name: testEvaluationGroup
folder: gdev dashboards
interval: 5m
rules:
- uid: bddn0v6f1kgzkc
title: e2e-ReturnToPrevious-test
condition: C
data:
- refId: A
relativeTimeRange:
from: 600
to: 0
datasourceUid: PD8C576611E62080A
model:
intervalMs: 1000
maxDataPoints: 43200
refId: A
- refId: B
datasourceUid: __expr__
model:
conditions:
- evaluator:
params: []
type: gt
operator:
type: and
query:
params:
- B
reducer:
params: []
type: last
type: query
datasource:
type: __expr__
uid: __expr__
expression: A
intervalMs: 1000
maxDataPoints: 43200
reducer: last
refId: B
type: reduce
- refId: C
datasourceUid: __expr__
model:
conditions:
- evaluator:
params:
- 0
type: gt
operator:
type: and
query:
params:
- C
reducer:
params: []
type: last
type: query
datasource:
type: __expr__
uid: __expr__
expression: B
intervalMs: 1000
maxDataPoints: 43200
refId: C
type: threshold
dashboardUid: j6T00KRZz
panelId: 7
noDataState: NoData
execErrState: Error
for: 5m
annotations:
__dashboardUid__: j6T00KRZz
__panelId__: "7"
labels: {}
isPaused: false
- orgId: 1
name: testEvaluationGroup2
folder: gdev dashboards
interval: 10m
rules:
- uid: dddyksihq7h1ca
title: e2e-ReturnToPrevious-test-2
condition: C
data:
- refId: A
relativeTimeRange:
from: 600
to: 0
datasourceUid: PD8C576611E62080A
model:
intervalMs: 1000
maxDataPoints: 43200
refId: A
- refId: B
datasourceUid: __expr__
model:
conditions:
- evaluator:
params: []
type: gt
operator:
type: and
query:
params:
- B
reducer:
params: []
type: last
type: query
datasource:
type: __expr__
uid: __expr__
expression: A
intervalMs: 1000
maxDataPoints: 43200
reducer: last
refId: B
type: reduce
- refId: C
datasourceUid: __expr__
model:
conditions:
- evaluator:
params:
- 0
type: gt
operator:
type: and
query:
params:
- C
reducer:
params: []
type: last
type: query
datasource:
type: __expr__
uid: __expr__
expression: B
intervalMs: 1000
maxDataPoints: 43200
refId: C
type: threshold
dashboardUid: j6T00KRZz
panelId: 3
noDataState: NoData
execErrState: Error
for: 10m
annotations:
__dashboardUid__: j6T00KRZz
__panelId__: "3"
labels: {}
isPaused: false

View File

@@ -1,9 +0,0 @@
apiVersion: 1
providers:
- name: 'Bulk alerting dashboards'
folder: 'Bulk alerting dashboards'
type: file
options:
path: devenv/bulk_alerting_dashboards

View File

@@ -1,169 +0,0 @@
{
alertingDashboard(dashboardCounter, datasourceCounter):: {
title: "alerting-title-" + dashboardCounter,
editable: true,
gnetId: null,
graphTooltip: 0,
id: null,
links: [],
panels: [
{
alert: {
conditions: [
{
evaluator: {
params: [
65
],
type: "gt"
},
operator: {
type: "and"
},
query: {
params: [
"A",
"5m",
"now"
]
},
reducer: {
params: [],
type: "avg"
},
type: "query"
}
],
executionErrorState: "alerting",
frequency: "24h",
handler: 1,
name: "bulk alerting " + dashboardCounter,
noDataState: "no_data",
notifications: []
},
aliasColors: {},
bars: false,
dashLength: 10,
dashes: false,
datasource: "gfdev-bulkalerting-" + datasourceCounter,
fill: 1,
gridPos: {
h: 9,
w: 12,
x: 0,
y: 0
},
id: 1,
legend: {
avg: false,
current: false,
max: false,
min: false,
show: true,
total: false,
values: false
},
lines: true,
linewidth: 1,
nullPointMode: "null",
percentage: false,
pointradius: 5,
points: false,
renderer: "flot",
seriesOverrides: [],
spaceLength: 10,
stack: false,
steppedLine: false,
targets: [
{
expr: "go_goroutines",
format: "time_series",
intervalFactor: 1,
refId: "A"
}
],
thresholds: [
{
colorMode: "critical",
fill: true,
line: true,
op: "gt",
value: 50
}
],
timeFrom: null,
timeShift: null,
title: "Panel Title",
tooltip: {
shared: true,
sort: 0,
value_type: "individual"
},
type: "graph",
xaxis: {
buckets: null,
mode: "time",
name: null,
show: true,
values: []
},
yaxes: [
{
format: "short",
label: null,
logBase: 1,
max: null,
min: null,
show: true
},
{
format: "short",
label: null,
logBase: 1,
max: null,
min: null,
show: true
}
]
}
],
schemaVersion: 16,
tags: [],
templating: {
list: []
},
time: {
from: "now-6h",
to: "now"
},
timepicker: {
refresh_intervals: [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
],
time_options: [
"5m",
"15m",
"1h",
"6h",
"12h",
"24h",
"2d",
"7d",
"30d"
]
},
timezone: "",
uid: null,
version: 0
},
}

View File

@@ -1,14 +0,0 @@
local arr = std.range(1, 100);
{
"apiVersion": 1,
"datasources": [
{
"name": 'gfdev-bulkalerting-' + counter,
"type": "prometheus",
"access": "proxy",
"url": "http://localhost:9090"
}
for counter in arr
],
}

View File

@@ -1,806 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "datasource",
"uid": "grafana"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"target": {
"limit": 100,
"matchAny": false,
"tags": [],
"type": "dashboard"
},
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"id": 147,
"links": [],
"liveNow": false,
"panels": [
{
"alert": {
"alertRuleTags": {},
"conditions": [
{
"evaluator": {
"params": [
177
],
"type": "gt"
},
"query": {
"params": [
"A",
"5m",
"now"
]
},
"reducer": {
"params": [],
"type": "avg"
},
"type": "query"
}
],
"enabled": true,
"executionErrorState": "alerting",
"for": "0m",
"frequency": "60s",
"handler": 1,
"name": "TestData - Always Alerting",
"noDataState": "no_data",
"notifications": []
},
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"editable": true,
"error": false,
"fieldConfig": {
"defaults": {
"links": []
},
"overrides": []
},
"fill": 1,
"fillGradient": 0,
"gridPos": {
"h": 7,
"w": 10,
"x": 0,
"y": 0
},
"hiddenSeries": false,
"id": 4,
"isNew": true,
"legend": {
"show": true
},
"lines": true,
"linewidth": 2,
"links": [],
"nullPointMode": "connected",
"options": {
"alertThreshold": true
},
"percentage": false,
"pluginVersion": "9.4.0-pre",
"pointradius": 5,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"refId": "A",
"scenario": "random_walk",
"scenarioId": "csv_metric_values",
"stringInput": "200,445,100,150,200,220,190",
"target": ""
}
],
"thresholds": [
{
"colorMode": "critical",
"fill": true,
"line": true,
"op": "gt",
"value": 177
}
],
"timeRegions": [],
"title": "Always Alerting",
"tooltip": {
"msResolution": false,
"shared": true,
"sort": 0,
"value_type": "cumulative"
},
"type": "graph",
"xaxis": {
"mode": "time",
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"label": "",
"logBase": 1,
"min": "0",
"show": true
},
{
"format": "short",
"label": "",
"logBase": 1,
"show": true
}
],
"yaxis": {
"align": false
}
},
{
"alert": {
"alertRuleTags": {},
"conditions": [
{
"evaluator": {
"params": [
100
],
"type": "gt"
},
"operator": {
"type": "and"
},
"query": {
"params": [
"A",
"5m",
"now"
]
},
"reducer": {
"params": [],
"type": "avg"
},
"type": "query"
}
],
"executionErrorState": "alerting",
"for": "900000h",
"frequency": "1m",
"handler": 1,
"name": "TestData - Always Pending",
"noDataState": "no_data",
"notifications": []
},
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"editable": true,
"error": false,
"fieldConfig": {
"defaults": {
"links": []
},
"overrides": []
},
"fill": 1,
"fillGradient": 0,
"gridPos": {
"h": 7,
"w": 10,
"x": 10,
"y": 0
},
"hiddenSeries": false,
"id": 7,
"isNew": true,
"legend": {
"show": true
},
"lines": true,
"linewidth": 2,
"links": [],
"nullPointMode": "connected",
"options": {
"alertThreshold": true
},
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"refId": "A",
"scenario": "random_walk",
"scenarioId": "csv_metric_values",
"stringInput": "200,445,100,150,200,220,190",
"target": ""
}
],
"thresholds": [
{
"colorMode": "critical",
"fill": true,
"line": true,
"op": "gt",
"value": 100
}
],
"timeRegions": [],
"title": "Always Pending with For",
"tooltip": {
"msResolution": false,
"shared": true,
"sort": 0,
"value_type": "cumulative"
},
"type": "graph",
"xaxis": {
"mode": "time",
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"label": "",
"logBase": 1,
"min": "0",
"show": true
},
{
"format": "short",
"label": "",
"logBase": 1,
"show": true
}
],
"yaxis": {
"align": false
}
},
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"gridPos": {
"h": 20,
"w": 4,
"x": 20,
"y": 0
},
"id": 9,
"targets": [
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"refId": "A"
}
],
"title": "Alert list",
"type": "alertlist"
},
{
"alert": {
"alertRuleTags": {},
"conditions": [
{
"evaluator": {
"params": [
177
],
"type": "gt"
},
"operator": {
"type": "and"
},
"query": {
"params": [
"A",
"15m",
"now"
]
},
"reducer": {
"params": [],
"type": "avg"
},
"type": "query"
}
],
"executionErrorState": "alerting",
"for": "1m",
"frequency": "1m",
"handler": 1,
"name": "TestData - Always Alerting For",
"noDataState": "no_data",
"notifications": []
},
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"editable": true,
"error": false,
"fieldConfig": {
"defaults": {
"links": []
},
"overrides": []
},
"fill": 1,
"fillGradient": 0,
"gridPos": {
"h": 6,
"w": 10,
"x": 0,
"y": 7
},
"hiddenSeries": false,
"id": 6,
"isNew": true,
"legend": {
"show": true
},
"lines": true,
"linewidth": 2,
"links": [],
"nullPointMode": "connected",
"options": {
"alertThreshold": true
},
"percentage": false,
"pluginVersion": "9.4.0-pre",
"pointradius": 5,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"refId": "A",
"scenario": "random_walk",
"scenarioId": "csv_metric_values",
"stringInput": "200,445,100,150,200,220,190",
"target": ""
}
],
"thresholds": [
{
"colorMode": "critical",
"fill": true,
"line": true,
"op": "gt",
"value": 177
}
],
"timeRegions": [],
"title": "Always Alerting with For",
"tooltip": {
"msResolution": false,
"shared": true,
"sort": 0,
"value_type": "cumulative"
},
"type": "graph",
"xaxis": {
"mode": "time",
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"label": "",
"logBase": 1,
"min": "0",
"show": true
},
{
"format": "short",
"label": "",
"logBase": 1,
"show": true
}
],
"yaxis": {
"align": false
}
},
{
"alert": {
"conditions": [
{
"evaluator": {
"params": [
60
],
"type": "gt"
},
"query": {
"params": [
"A",
"5m",
"now"
]
},
"reducer": {
"params": [],
"type": "avg"
},
"type": "query"
}
],
"enabled": true,
"frequency": "60s",
"handler": 1,
"name": "TestData - Always OK",
"noDataState": "no_data",
"notifications": []
},
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"editable": true,
"error": false,
"fieldConfig": {
"defaults": {
"links": []
},
"overrides": []
},
"fill": 1,
"fillGradient": 0,
"gridPos": {
"h": 6,
"w": 10,
"x": 10,
"y": 7
},
"hiddenSeries": false,
"id": 3,
"isNew": true,
"legend": {
"show": true
},
"lines": true,
"linewidth": 2,
"links": [],
"nullPointMode": "connected",
"options": {
"alertThreshold": true
},
"percentage": false,
"pluginVersion": "9.4.0-pre",
"pointradius": 5,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"refId": "A",
"scenario": "random_walk",
"scenarioId": "csv_metric_values",
"stringInput": "1,20,90,30,5,0",
"target": ""
}
],
"thresholds": [
{
"colorMode": "critical",
"fill": true,
"line": true,
"op": "gt",
"value": 60
}
],
"timeRegions": [],
"title": "Always OK",
"tooltip": {
"msResolution": false,
"shared": true,
"sort": 0,
"value_type": "cumulative"
},
"type": "graph",
"xaxis": {
"mode": "time",
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"label": "",
"logBase": 1,
"max": "125",
"min": "0",
"show": true
},
{
"format": "short",
"logBase": 1,
"show": true
}
],
"yaxis": {
"align": false
}
},
{
"alert": {
"conditions": [
{
"evaluator": {
"params": [
1
],
"type": "gt"
},
"operator": {
"type": "and"
},
"query": {
"params": [
"A",
"15m",
"now"
]
},
"reducer": {
"params": [],
"type": "avg"
},
"type": "query"
}
],
"executionErrorState": "alerting",
"for": "5m",
"frequency": "1m",
"handler": 1,
"name": "TestData - No data",
"noDataState": "no_data",
"notifications": []
},
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"editable": true,
"error": false,
"fieldConfig": {
"defaults": {
"links": []
},
"overrides": []
},
"fill": 1,
"fillGradient": 0,
"gridPos": {
"h": 7,
"w": 10,
"x": 0,
"y": 13
},
"hiddenSeries": false,
"id": 5,
"isNew": true,
"legend": {
"show": true
},
"lines": true,
"linewidth": 2,
"links": [],
"nullPointMode": "connected",
"options": {
"alertThreshold": true
},
"percentage": false,
"pluginVersion": "9.4.0-pre",
"pointradius": 5,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"refId": "A",
"scenario": "random_walk",
"scenarioId": "no_data_points",
"stringInput": "",
"target": ""
}
],
"thresholds": [
{
"colorMode": "critical",
"fill": true,
"line": true,
"op": "gt",
"value": 1
}
],
"timeRegions": [],
"title": "No data",
"tooltip": {
"msResolution": false,
"shared": true,
"sort": 0,
"value_type": "cumulative"
},
"type": "graph",
"xaxis": {
"mode": "time",
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"label": "",
"logBase": 1,
"min": "0",
"show": true
},
{
"format": "short",
"label": "",
"logBase": 1,
"show": true
}
],
"yaxis": {
"align": false
}
}
],
"schemaVersion": 37,
"tags": [
"gdev",
"alerting"
],
"templating": {
"list": [
{
"current": {
"text": "TestData",
"value": "TestData"
},
"hide": 0,
"includeAll": false,
"label": "alert name filter",
"multi": false,
"name": "namefilter",
"options": [
{
"selected": true,
"text": "TestData",
"value": "TestData"
},
{
"selected": false,
"text": "Prometheus",
"value": "Prometheus"
},
{
"selected": false,
"text": "Graphite",
"value": "Graphite"
}
],
"query": "TestData,Prometheus,Graphite",
"skipUrlSync": false,
"type": "custom"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
],
"time_options": [
"5m",
"15m",
"1h",
"6h",
"12h",
"24h",
"2d",
"7d",
"30d"
]
},
"timezone": "browser",
"title": "Alerting with TestData",
"uid": "7MeksYbmk",
"version": 1,
"weekStart": ""
}

File diff suppressed because it is too large Load Diff

View File

@@ -206,7 +206,7 @@
{
"name": "Male",
"pointColor": {
"fixed": "#5795f200"
"fixed": "#5795f2"
},
"pointSize": {
"fixed": 5,
@@ -219,7 +219,7 @@
{
"name": "Female",
"pointColor": {
"fixed": "#ff983000"
"fixed": "#ff9830"
},
"pointSize": {
"fixed": 5,

View File

@@ -1,5 +1,5 @@
mimir_backend:
image: grafana/mimir:r274-1780c50
image: us.gcr.io/kubernetes-dev/mimir:santihernandezc-remove_id_from_grafana_config-d3826b4f8-WIP
container_name: mimir_backend
command:
- -target=backend

View File

@@ -43,7 +43,6 @@ storage:
bloom_filter_false_positive: .05 # bloom filter false positive rate. lower values create larger filters but fewer false positives
v2_index_downsample_bytes: 1000 # number of bytes per index record
v2_encoding: zstd # block encoding/compression. options: none, gzip, lz4-64k, lz4-256k, lz4-1M, lz4, snappy, zstd, s2
version: vParquet
wal:
path: /tmp/tempo/wal # where to store the the wal locally
v2_encoding: snappy # wal encoding/compression. options: none, gzip, lz4-64k, lz4-256k, lz4-1M, lz4, snappy, zstd, s2

View File

@@ -1,202 +0,0 @@
local numAlerts = std.extVar('alerts');
local condition = std.extVar('condition');
local arr = std.range(1, numAlerts);
local alertDashboardTemplate = {
"editable": true,
"gnetId": null,
"graphTooltip": 0,
"id": null,
"links": [],
"panels": [
{
"alert": {
"conditions": [
{
"evaluator": {
"params": [
65
],
"type": "gt"
},
"operator": {
"type": "and"
},
"query": {
"params": [
"A",
"5m",
"now"
]
},
"reducer": {
"params": [],
"type": "avg"
},
"type": "query"
}
],
"executionErrorState": "alerting",
"frequency": "10s",
"handler": 1,
"for": "1m",
"name": "bulk alerting",
"noDataState": "no_data",
"notifications": [
{
"id": 2
}
]
},
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "Prometheus",
"fill": 1,
"gridPos": {
"h": 9,
"w": 12,
"x": 0,
"y": 0
},
"id": 2,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 1,
"nullPointMode": "null",
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"$$hashKey": "object:117",
"expr": "go_goroutines",
"format": "time_series",
"intervalFactor": 1,
"refId": "A"
}
],
"thresholds": [
{
"colorMode": "critical",
"fill": true,
"line": true,
"op": "gt",
"value": 50
}
],
"timeFrom": null,
"timeShift": null,
"title": "Panel Title",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
]
}
],
"schemaVersion": 16,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
],
"time_options": [
"5m",
"15m",
"1h",
"6h",
"12h",
"24h",
"2d",
"7d",
"30d"
]
},
"timezone": "",
"title": "New dashboard",
"uid": null,
"version": 0
};
{
['alert-' + std.toString(x) + '.json']:
alertDashboardTemplate + {
panels: [
alertDashboardTemplate.panels[0] +
{
alert+: {
name: 'Alert rule ' + x,
conditions: [
alertDashboardTemplate.panels[0].alert.conditions[0] +
{
evaluator+: {
params: [condition]
}
},
],
},
},
],
uid: 'alert-' + x,
title: 'Alert ' + x
},
for x in arr
}

View File

@@ -122,7 +122,6 @@ func main() {
waitDuration := time.Duration(waitSeconds) * time.Second
http.HandleFunc("/", func(writer http.ResponseWriter, request *http.Request) {
writer.WriteHeader(http.StatusOK)
writer.Write([]byte(landingPage))
})

View File

@@ -84,27 +84,6 @@ slack() {
http://admin:admin@grafana.loc/api/alert-notifications/2
}
provision() {
alerts=1
condition=65
while getopts ":a:c:" o; do
case "${o}" in
a)
alerts=${OPTARG}
;;
c)
condition=${OPTARG}
;;
esac
done
shift $((OPTIND-1))
requiresJsonnet
find grafana/provisioning/dashboards/alerts -maxdepth 1 -name 'alert*.json' -delete
jsonnet -m grafana/provisioning/dashboards/alerts grafana/provisioning/alerts.jsonnet --ext-code alerts=$alerts --ext-code condition=$condition
}
pause() {
curl -H "Content-Type: application/json" \
-d '{"paused":true}' \
@@ -126,9 +105,6 @@ usage() {
echo -e " [-u]\t\t\t url"
echo -e " [-r]\t\t\t send reminders"
echo -e " [-e <remind every>]\t\t default 10m\n"
echo -e " provision\t provision alerts"
echo -e " [-a <alert rule count>]\t default 1"
echo -e " [-c <condition value>]\t default 65\n"
echo -e " pause\t\t pause all alerts"
echo -e " unpause\t unpause all alerts"
}
@@ -140,8 +116,6 @@ main() {
setup
elif [[ $cmd == "slack" ]]; then
slack "${@:2}"
elif [[ $cmd == "provision" ]]; then
provision "${@:2}"
elif [[ $cmd == "pause" ]]; then
pause
elif [[ $cmd == "unpause" ]]; then

View File

@@ -1,202 +0,0 @@
local numAlerts = std.extVar('alerts');
local condition = std.extVar('condition');
local arr = std.range(1, numAlerts);
local alertDashboardTemplate = {
"editable": true,
"gnetId": null,
"graphTooltip": 0,
"id": null,
"links": [],
"panels": [
{
"alert": {
"conditions": [
{
"evaluator": {
"params": [
65
],
"type": "gt"
},
"operator": {
"type": "and"
},
"query": {
"params": [
"A",
"5m",
"now"
]
},
"reducer": {
"params": [],
"type": "avg"
},
"type": "query"
}
],
"executionErrorState": "alerting",
"frequency": "10s",
"handler": 1,
"for": "1m",
"name": "bulk alerting",
"noDataState": "no_data",
"notifications": [
{
"id": 2
}
]
},
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "Prometheus",
"fill": 1,
"gridPos": {
"h": 9,
"w": 12,
"x": 0,
"y": 0
},
"id": 2,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 1,
"nullPointMode": "null",
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"$$hashKey": "object:117",
"expr": "go_goroutines",
"format": "time_series",
"intervalFactor": 1,
"refId": "A"
}
],
"thresholds": [
{
"colorMode": "critical",
"fill": true,
"line": true,
"op": "gt",
"value": 50
}
],
"timeFrom": null,
"timeShift": null,
"title": "Panel Title",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
]
}
],
"schemaVersion": 16,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
],
"time_options": [
"5m",
"15m",
"1h",
"6h",
"12h",
"24h",
"2d",
"7d",
"30d"
]
},
"timezone": "",
"title": "New dashboard",
"uid": null,
"version": 0
};
{
['alert-' + std.toString(x) + '.json']:
alertDashboardTemplate + {
panels: [
alertDashboardTemplate.panels[0] +
{
alert+: {
name: 'Alert rule ' + x,
conditions: [
alertDashboardTemplate.panels[0].alert.conditions[0] +
{
evaluator+: {
params: [condition]
}
},
],
},
},
],
uid: 'alert-' + x,
title: 'Alert ' + x
},
for x in arr
}

View File

@@ -21,6 +21,7 @@
"barchart-tooltips-legends": (import '../dev-dashboards/panel-barchart/barchart-tooltips-legends.json'),
"candlestick": (import '../dev-dashboards/panel-candlestick/candlestick.json'),
"canvas-connection-examples": (import '../dev-dashboards/panel-canvas/canvas-connection-examples.json'),
"canvas-datalinks": (import '../dev-dashboards/panel-canvas/canvas-datalinks.json'),
"canvas-examples": (import '../dev-dashboards/panel-canvas/canvas-examples.json'),
"color_modes": (import '../dev-dashboards/panel-common/color_modes.json'),
"config-from-query": (import '../dev-dashboards/transforms/config-from-query.json'),
@@ -102,7 +103,6 @@
"testdata-test-variable-output": (import '../dev-dashboards/feature-templating/testdata-test-variable-output.json'),
"testdata-variables-textbox": (import '../dev-dashboards/feature-templating/testdata-variables-textbox.json'),
"testdata-variables-that-update-on-time-c": (import '../dev-dashboards/feature-templating/testdata-variables-that-update-on-time-change.json'),
"testdata_alerts": (import '../dev-dashboards/alerting/testdata_alerts.json'),
"text-options": (import '../dev-dashboards/panel-text/text-options.json'),
"time_zone_support": (import '../dev-dashboards/scenarios/time_zone_support.json'),
"timeline-align-endtime": (import '../dev-dashboards/panel-timeline/timeline-align-endtime.json'),

View File

@@ -14,27 +14,6 @@ bulkDashboard() {
ln -s -f ../../../devenv/bulk-dashboards/bulk-dashboards.yaml ../conf/provisioning/dashboards/custom.yaml
}
bulkAlertingDashboard() {
requiresJsonnet
jsonnet -o "bulk_alerting_dashboards/bulk_alerting_datasources.yaml" ./bulk_alerting_dashboards/datasources.jsonnet
COUNTER=1
DS=1
MAX=1000
while [ $COUNTER -lt $MAX ]; do
jsonnet -o "bulk_alerting_dashboards/alerting_dashboard${COUNTER}.json" \
-e "local bulkDash = import 'bulk_alerting_dashboards/dashboard.libsonnet'; bulkDash.alertingDashboard(${COUNTER}, ${DS})"
let COUNTER=COUNTER+1
let DS=COUNTER/10
let DS=DS+1
done
ln -s -f ../../../devenv/bulk_alerting_dashboards/bulk_alerting_dashboards.yaml ../conf/provisioning/dashboards/custom.yaml
ln -s -f ../../../devenv/bulk_alerting_dashboards/bulk_alerting_datasources.yaml ../conf/provisioning/datasources/custom.yaml
}
bulkFolders() {
./bulk-folders/bulk-folders.sh "$1"
ln -s -f ../../../devenv/bulk-folders/bulk-folders.yaml ../conf/provisioning/dashboards/bulk-folders.yaml
@@ -70,12 +49,6 @@ undev() {
rm -rf bulk-folders/Bulk\ Folder*
echo -e " \xE2\x9C\x94 Reverting bulk-folders provisioning"
# Removing generated dashboard and datasource files from bulk-alerting-dashboards
rm -f bulk_alerting_dashboards/alerting_dashboard*.json
rm -f "bulk_alerting_dashboards/bulk_alerting_datasources.yaml"
echo -e " \xE2\x9C\x94 Reverting bulk-alerting-dashboards provisioning"
# Removing the symlinks
rm -f ../conf/provisioning/dashboards/custom.yaml
rm -f ../conf/provisioning/dashboards/bulk-folders.yaml
@@ -88,7 +61,6 @@ usage() {
echo -e "\n"
echo "Usage:"
echo " bulk-dashboards - provision 400 dashboards"
echo " bulk-alerting-dashboards - provision 400 dashboards with alerts"
echo " bulk-folders [folders] [dashboards] - provision many folders with dashboards"
echo " bulk-folders - provision 200 folders with 3 dashboards in each"
echo " no args - provision core datasources and dev dashboards"
@@ -104,9 +76,7 @@ main() {
local cmd=$1
local arg1=$2
if [[ $cmd == "bulk-alerting-dashboards" ]]; then
bulkAlertingDashboard
elif [[ $cmd == "bulk-dashboards" ]]; then
if [[ $cmd == "bulk-dashboards" ]]; then
bulkDashboard
elif [[ $cmd == "bulk-folders" ]]; then
bulkFolders "$arg1"

View File

@@ -6,6 +6,22 @@
# [Semantic versioning](https://semver.org/) is used to help the reader identify the significance of changes.
# Changes are relevant to this script and the support docs.mk GNU Make interface.
#
# ## 6.1.0 (2024-04-22)
#
# ### Changed
#
# - Mount volumes with SELinux labels.
#
# https://docs.docker.com/storage/bind-mounts/#configure-the-selinux-label
#
# ## 6.1.0 (2024-04-22)
#
# ### Added
#
# - Pseudo project for including only website resources and no website content.
#
# Facilitates testing shortcodes and layout changes with a small documentation set instead of Grafana Cloud or the entire website.
#
# ## 6.0.1 (2024-02-28)
#
# ### Added
@@ -300,6 +316,7 @@ SOURCES_helm_charts_tempo_distributed='tempo'
SOURCES_opentelemetry='opentelemetry-docs'
SOURCES_plugins_grafana_datadog_datasource='datadog-datasource'
SOURCES_plugins_grafana_oracle_datasource='oracle-datasource'
SOURCES_resources='website'
VERSIONS_as_code='UNVERSIONED'
VERSIONS_grafana_cloud='UNVERSIONED'
@@ -311,6 +328,7 @@ VERSIONS_grafana_cloud_frontend_observability_faro_web_sdk='UNVERSIONED'
VERSIONS_opentelemetry='UNVERSIONED'
VERSIONS_plugins_grafana_datadog_datasource='latest'
VERSIONS_plugins_grafana_oracle_datasource='latest'
VERSIONS_resources='UNVERSIONED'
VERSIONS_technical_documentation='UNVERSIONED'
VERSIONS_website='UNVERSIONED'
VERSIONS_writers_toolkit='UNVERSIONED'
@@ -321,6 +339,7 @@ PATHS_helm_charts_tempo_distributed='docs/sources/helm-charts/tempo-distributed'
PATHS_mimir='docs/sources/mimir'
PATHS_plugins_grafana_datadog_datasource='docs/sources'
PATHS_plugins_grafana_oracle_datasource='docs/sources'
PATHS_resources='content'
PATHS_tempo='docs/sources/tempo'
PATHS_website='content'
@@ -584,6 +603,11 @@ POSIX_HERESTRING
proj_to_url_src_dst_ver "$(new_proj helm-charts/mimir-distributed "${_version}")"
proj_to_url_src_dst_ver "$(new_proj enterprise-metrics "${_version}")"
;;
resources)
_repo="$(repo_path website)"
echo "arbitrary^${_repo}/config^/hugo/config" "arbitrary^${_repo}/layouts^/hugo/layouts" "arbitrary^${_repo}/scripts^/hugo/scripts"
unset _repo
;;
traces)
proj_to_url_src_dst_ver "$(new_proj tempo "${_version}")"
proj_to_url_src_dst_ver "$(new_proj enterprise-traces "${_version}")"
@@ -617,7 +641,7 @@ $x
POSIX_HERESTRING
if [ -n "${url}" ]; then
if [ "${_url}" != "arbitrary" ]; then
if [ "${url}" != arbitrary ]; then
printf '\r %s\r\n' "${url}"
fi
fi
@@ -670,9 +694,9 @@ POSIX_HERESTRING
fi
_repo="$(repo_path website)"
volumes="--volume=${_repo}/config:/hugo/config"
volumes="${volumes} --volume=${_repo}/layouts:/hugo/layouts"
volumes="${volumes} --volume=${_repo}/scripts:/hugo/scripts"
volumes="--volume=${_repo}/config:/hugo/config:z"
volumes="${volumes} --volume=${_repo}/layouts:/hugo/layouts:z"
volumes="${volumes} --volume=${_repo}/scripts:/hugo/scripts:z"
fi
unset _project _repo
done
@@ -682,7 +706,7 @@ for x in ${url_src_dst_vers}; do
$x
POSIX_HERESTRING
if [ "${_url}" != "arbitrary" ]; then
if [ "${_url}" != arbitrary ]; then
if [ ! -f "${_src}/_index.md" ]; then
errr "Index file '${_src}/_index.md' does not exist."
note "Is '${_src}' the correct source directory?"
@@ -693,9 +717,9 @@ POSIX_HERESTRING
debg "Mounting '${_src}' at container path '${_dst}'"
if [ -z "${volumes}" ]; then
volumes="--volume=${_src}:${_dst}"
volumes="--volume=${_src}:${_dst}:z"
else
volumes="${volumes} --volume=${_src}:${_dst}"
volumes="${volumes} --volume=${_src}:${_dst}:z"
fi
if [ -n "${_ver}" ] && [ "${_ver}" != 'UNVERSIONED' ]; then
@@ -789,7 +813,7 @@ fi
${WEBSITE_EXEC}
EOF
chmod +x "${tempfile}"
volumes="${volumes} --volume=${tempfile}:/entrypoint"
volumes="${volumes} --volume=${tempfile}:/entrypoint:z"
readonly volumes
IFS='' read -r cmd <<EOF

View File

@@ -3,23 +3,22 @@ aliases:
- /docs/grafana/v1.1/
- /docs/grafana/v3.1/
- guides/reference/admin/
description: Open source documentation for Grafana
cascade:
TEMPO_VERSION: latest
PYROSCOPE_VERSION: latest
description: Guides, installation, and feature documentation
keywords:
- grafana
- open source
- installation
- documentation
labels:
products:
- enterprise
- oss
cascade:
TEMPO_VERSION: latest
PYROSCOPE_VERSION: latest
title: Grafana open source documentation
title: Grafana documentation
---
# Grafana open source documentation
# Grafana documentation
## Installing Grafana
@@ -82,8 +81,8 @@ title: Grafana open source documentation
<h4>Provisioning</h4>
<p>Learn how to automate your Grafana configuration.</p>
</a>
<a href="{{< relref "whatsnew/whats-new-in-v10-4/" >}}" class="nav-cards__item nav-cards__item--guide">
<h4>What's new in v10.4</h4>
<a href="{{< relref "whatsnew/whats-new-in-v11-0/" >}}" class="nav-cards__item nav-cards__item--guide">
<h4>What's new in v11.0-preview</h4>
<p>Explore the features and enhancements in the latest release.</p>
</a>

View File

@@ -17,7 +17,7 @@ Team LBAC is available in private preview on Grafana Cloud for Loki created with
## Before you begin
To be able to use Team LBAC rules, you need to enable the feature toggle `teamHTTPHeaders` on your Grafana instance. Contact support to enable the feature toggle for you.
To be able to use Team LBAC rules, you need to enable the feature toggle `teamHttpHeaders` on your Grafana instance. Contact support to enable the feature toggle for you.
- Be sure that you have the permission setup to create a loki tenant in Grafana Cloud
- Be sure that you have admin data source permissions for Grafana.

View File

@@ -15,7 +15,7 @@ weight: 600
# Provision Grafana
In previous versions of Grafana, you could only use the API for provisioning data sources and dashboards. But that required the service to be running before you started creating dashboards and you also needed to set up credentials for the HTTP API. In v5.0 we decided to improve this experience by adding a new active provisioning system that uses config files. This will make GitOps more natural as data sources and dashboards can be defined via files that can be version controlled. We hope to extend this system to later add support for users, orgs and alerts as well.
In previous versions of Grafana, you could only use the API for provisioning data sources and dashboards. But that required the service to be running before you started creating dashboards and you also needed to set up credentials for the HTTP API. In v5.0 we decided to improve this experience by adding a new active provisioning system that uses config files. This will make GitOps more natural as data sources and dashboards can be defined via files that can be version controlled. We hope to extend this system to later add support for users and orgs as well.
## Config File
@@ -427,78 +427,6 @@ This feature doesn't currently allow you to create nested folder structures, tha
For information on provisioning Grafana Alerting, refer to [Provision Grafana Alerting resources]({{< relref "../../alerting/set-up/provision-alerting-resources/" >}}).
## Alert Notification Channels
{{% admonition type="note" %}}
Alert Notification Channels are part of legacy alerting, which is deprecated and will be removed in Grafana 10. Use the Provision contact points section in [Create and manage alerting resources using file provisioning]({{< relref "../../alerting/set-up/provision-alerting-resources/file-provisioning" >}}).
{{% /admonition %}}
Alert Notification Channels can be provisioned by adding one or more YAML config files in the [`provisioning/notifiers`](/administration/configuration/#provisioning) directory.
Each config file can contain the following top-level fields:
- `notifiers`, a list of alert notifications that will be added or updated during start up. If the notification channel already exists, Grafana will update it to match the configuration file.
- `delete_notifiers`, a list of alert notifications to be deleted before inserting/updating those in the `notifiers` list.
Provisioning looks up alert notifications by uid, and will update any existing notification with the provided uid.
By default, exporting a dashboard as JSON will use a sequential identifier to refer to alert notifications. The field `uid` can be optionally specified to specify a string identifier for the alert name.
```json
{
...
"alert": {
...,
"conditions": [...],
"frequency": "24h",
"noDataState": "ok",
"notifications": [
{"uid": "notifier1"},
{"uid": "notifier2"},
]
}
...
}
```
### Example Alert Notification Channels Config File
```yaml
notifiers:
- name: notification-channel-1
type: slack
uid: notifier1
# either
org_id: 2
# or
org_name: Main Org.
is_default: true
send_reminder: true
frequency: 1h
disable_resolve_message: false
# See `Supported Settings` section for settings supported for each
# alert notification type.
settings:
recipient: 'XXX'
uploadImage: true
token: 'xoxb' # legacy setting since Grafana v7.2 (stored non-encrypted)
url: https://slack.com # legacy setting since Grafana v7.2 (stored non-encrypted)
# Secure settings that will be encrypted in the database (supported since Grafana v7.2). See `Supported Settings` section for secure settings supported for each notifier.
secure_settings:
token: 'xoxb'
url: https://slack.com
delete_notifiers:
- name: notification-channel-1
uid: notifier1
# either
org_id: 2
# or
org_name: Main Org.
- name: notification-channel-2
# default org_id: 1
```
### Supported Settings
The following sections detail the supported settings and secure settings for each alert notification type. Secure settings are stored encrypted in the database and you add them to `secure_settings` in the YAML file instead of `settings`.

View File

@@ -22,7 +22,7 @@ Recorded queries allow you to see trends over time by taking a snapshot of a dat
For our plugins that do not return time series, it might be useful to plot historical data. For example, you might want to query ServiceNow to see a history of request response times but it can only return current point-in-time metrics.
{{% admonition type="note" %}}
Available in [Grafana Enterprise]({{< relref "../../introduction/grafana-enterprise/" >}}).
Available in [Grafana Enterprise](https://grafana.com/docs/grafana/<GRAFANA_VERSION>/introduction/grafana-enterprise/) and [Grafana Cloud](https://grafana.com/docs/grafana-cloud/).
{{% /admonition %}}
## How recorded queries work

View File

@@ -28,7 +28,7 @@ RBAC provides a standardized way of granting, changing, and revoking access when
## About RBAC
Role-based access control (RBAC) provides a standardized way of granting, changing, and revoking access so that users can view and modify Grafana resources, such as users and reports.
RBAC extends Grafana basic roles that are included in Grafana OSS, and enables you more granular control of users actions.
RBAC extends Grafana basic roles that are included in Grafana OSS, and enables more granular control of users actions.
By using RBAC you can provide users with permissions that extend the permissions available with basic roles. For example, you can use RBAC to:
@@ -43,6 +43,8 @@ RBAC roles contain multiple permissions, each of which has an action and a scope
- **Action:** `datasources:read`
- **Scope:** `datasources:*`
For information on the RBAC API refer to [RBAC API](https://grafana.com/docs/grafana/<GRAFANA_VERSION>/developers/http_api/access_control/#rbac-api).
### Basic roles
Basic roles are the standard roles that are available in Grafana OSS. If you have purchased a Grafana Enterprise license, you can still use basic roles.
@@ -78,6 +80,10 @@ For example, if you modify Viewer basic role and grant additional permission, Ed
For more information about the permissions associated with each basic role, refer to [Basic role definitions]({{< relref "./rbac-fixed-basic-role-definitions/#basic-role-assignments" >}}).
To interact with the API and view or modify basic roles permissions, refer to [the table]({{< relref "./manage-rbac-roles/#basic-role-uid-mapping" >}}) that maps basic role names to the associated UID.
{{% admonition type="note" %}}
You cannot use a service account to modify basic roles via the RBAC API. To update basic roles, you must be a Grafana administrator and use basic authentication with the request.
{{% /admonition %}}
### Fixed roles
Grafana Enterprise includes the ability for you to assign discrete fixed roles to users, teams, and service accounts. This gives you fine-grained control over user permissions than you would have with basic roles alone. These roles are called "fixed" because you cannot change or delete fixed roles. You can also create _custom_ roles of your own; see more information in the [custom roles section]({{< relref "#custom-roles" >}}) below.

View File

@@ -29,140 +29,140 @@ To learn more about the Grafana resources to which you can apply RBAC, refer to
The following list contains role-based access control actions.
| Action | Applicable scope | Description |
| ------------------------------------ | --------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `alert.instances.external:read` | `datasources:*`<br>`datasources:uid:*` | Read alerts and silences in data sources that support alerting. |
| `alert.instances.external:write` | `datasources:*`<br>`datasources:uid:*` | Manage alerts and silences in data sources that support alerting. |
| `alert.instances:create` | n/a | Create silences in the current organization. |
| `alert.instances:read` | n/a | Read alerts and silences in the current organization. |
| `alert.instances:write` | n/a | Update and expire silences in the current organization. |
| `alert.notifications.external:read` | `datasources:*`<br>`datasources:uid:*` | Read templates, contact points, notification policies, and mute timings in data sources that support alerting. |
| `alert.notifications.external:write` | `datasources:*`<br>`datasources:uid:*` | Manage templates, contact points, notification policies, and mute timings in data sources that support alerting. |
| `alert.notifications:write` | n/a | Manage templates, contact points, notification policies, and mute timings in the current organization. |
| `alert.notifications:read` | n/a | Read all templates, contact points, notification policies, and mute timings in the current organization. |
| `alert.rules.external:read` | `datasources:*`<br>`datasources:uid:*` | Read alert rules in data sources that support alerting (Prometheus, Mimir, and Loki) |
| `alert.rules.external:write` | `datasources:*`<br>`datasources:uid:*` | Create, update, and delete alert rules in data sources that support alerting (Mimir and Loki). |
| `alert.rules:create` | `folders:*`<br>`folders:uid:*` | Create Grafana alert rules in a folder and its subfolders. Combine this permission with `folders:read` in a scope that includes the folder and `datasources:query` in the scope of data sources the user can query. |
| `alert.rules:delete` | `folders:*`<br>`folders:uid:*` | Delete Grafana alert rules in a folder and its subfolders. Combine this permission with `folders:read` in a scope that includes the folder and `datasources:query` in the scope of data sources the user can query. |
| `alert.rules:read` | `folders:*`<br>`folders:uid:*` | Read Grafana alert rules in a folder and its subfolders. Combine this permission with `folders:read` in a scope that includes the folder and `datasources:query` in the scope of data sources the user can query. |
| `alert.rules:write` | `folders:*`<br>`folders:uid:*` | Update Grafana alert rules in a folder and its subfolders. Combine this permission with `folders:read` in a scope that includes the folder and `datasources:query` in the scope of data sources the user can query. |
| `alert.provisioning:read` | n/a | Read all Grafana alert rules, notification policies, etc via provisioning API. Permissions to folders and datasource are not required. |
| `alert.provisioning.secrets:read` | n/a | Same as `alert.provisioning:read` plus ability to export resources with decrypted secrets. |
| `alert.provisioning:write` | n/a | Update all Grafana alert rules, notification policies, etc via provisioning API. Permissions to folders and datasource are not required. |
| `annotations:create` | `annotations:*`<br>`annotations:type:*` | Create annotations. |
| `annotations:delete` | `annotations:*`<br>`annotations:type:*` | Delete annotations. |
| `annotations:read` | `annotations:*`<br>`annotations:type:*` | Read annotations and annotation tags. |
| `annotations:write` | `annotations:*`<br>`annotations:type:*` | Update annotations. |
| `apikeys:create` | n/a | Create API keys. |
| `apikeys:read` | `apikeys:*`<br>`apikeys:id:*` | Read API keys. |
| `apikeys:delete` | `apikeys:*`<br>`apikeys:id:*` | Delete API keys. |
| `dashboards:create` | `folders:*`<br>`folders:uid:*` | Create dashboards in one or more folders and their subfolders. |
| `dashboards:delete` | `dashboards:*`<br>`dashboards:uid:*`<br>`folders:*`<br>`folders:uid:*` | Delete one or more dashboards. |
| `dashboards.insights:read` | n/a | Read dashboard insights data and see presence indicators. |
| `dashboards.permissions:read` | `dashboards:*`<br>`dashboards:uid:*`<br>`folders:*`<br>`folders:uid:*` | Read permissions for one or more dashboards. |
| `dashboards.permissions:write` | `dashboards:*`<br>`dashboards:uid:*`<br>`folders:*`<br>`folders:uid:*` | Update permissions for one or more dashboards. |
| `dashboards:read` | `dashboards:*`<br>`dashboards:uid:*`<br>`folders:*`<br>`folders:uid:*` | Read one or more dashboards. |
| `dashboards:write` | `dashboards:*`<br>`dashboards:uid:*`<br>`folders:*`<br>`folders:uid:*` | Update one or more dashboards. |
| `dashboards.public:write` | `dashboards:*`<br>`dashboards:uid:*` | Write public dashboard configuration. |
| `datasources.caching:read` | `datasources:*`<br>`datasources:uid:*` | Read data source query caching settings. |
| `datasources.caching:write` | `datasources:*`<br>`datasources:uid:*` | Update data source query caching settings. |
| `datasources:create` | n/a | Create data sources. |
| `datasources:delete` | `datasources:*`<br>`datasources:uid:*` | Delete data sources. |
| `datasources:explore` | n/a | Enable access to the **Explore** tab. |
| `datasources.id:read` | `datasources:*`<br>`datasources:uid:*` | Read data source IDs. |
| `datasources.insights:read` | n/a | Read data sources insights data. |
| `datasources.permissions:read` | `datasources:*`<br>`datasources:uid:*` | List data source permissions. |
| `datasources.permissions:write` | `datasources:*`<br>`datasources:uid:*` | Update data source permissions. |
| `datasources:query` | `datasources:*`<br>`datasources:uid:*` | Query data sources. |
| `datasources:read` | `datasources:*`<br>`datasources:uid:*` | List data sources. |
| `datasources:write` | `datasources:*`<br>`datasources:uid:*` | Update data sources. |
| `featuremgmt.read` | n/a | Read feature toggles. |
| `featuremgmt.write` | n/a | Write feature toggles. |
| `folders.permissions:read` | `folders:*`<br>`folders:uid:*` | Read permissions for one or more folders and their subfolders. |
| `folders.permissions:write` | `folders:*`<br>`folders:uid:*` | Update permissions for one or more folders and their subfolders. |
| `folders:create` | n/a | Create folders in the root level. If granted together with `folders:write`, also allows creating subfolders under all folders that the user can update. |
| `folders:delete` | `folders:*`<br>`folders:uid:*` | Delete one or more folders and their subfolders. |
| `folders:read` | `folders:*`<br>`folders:uid:*` | Read one or more folders and their subfolders. |
| `folders:write` | `folders:*`<br>`folders:uid:*` | Update one or more folders and their subfolders. If granted together with `folders:create` permission, also allows creating subfolders under these folders. |
| `ldap.config:reload` | n/a | Reload the LDAP configuration. |
| `ldap.status:read` | n/a | Verify the availability of the LDAP server or servers. |
| `ldap.user:read` | n/a | Read users via LDAP. |
| `ldap.user:sync` | n/a | Sync users via LDAP. |
| `library.panels:create` | `folders:*` <br> `folders:uid:*` | Create a library panel in one or more folders and their subfolders. |
| `library.panels:read` | `folders:*` <br> `folders:uid:*` <br> `library.panels:*` <br> `library.panels:uid:*` | Read one or more library panels. |
| `library.panels:write` | `folders:*` <br> `folders:uid:*` <br> `library.panels:*` <br> `library.panels:uid:*` | Update one or more library panels. |
| `library.panels:delete` | `folders:*` <br> `folders:uid:*` <br> `library.panels:*` <br> `library.panels:uid:*` | Delete one or more library panels. |
| `licensing.reports:read` | n/a | Get custom permission reports. |
| `licensing:delete` | n/a | Delete the license token. |
| `licensing:read` | n/a | Read licensing information. |
| `licensing:write` | n/a | Update the license token. |
| `org.users:write` | `users:*` <br> `users:id:*` | Update the organization role (`Viewer`, `Editor`, or `Admin`) of a user. |
| `org.users:add` | `users:*` <br> `users:id:*` | Add a user to an organization or invite a new user to an organization. |
| `org.users:read` | `users:*` <br> `users:id:*` | Get user profiles within an organization. |
| `org.users:remove` | `users:*` <br> `users:id:*` | Remove a user from an organization. |
| `orgs.preferences:read` | n/a | Read organization preferences. |
| `orgs.preferences:write` | n/a | Update organization preferences. |
| `orgs.quotas:read` | n/a | Read organization quotas. |
| `orgs.quotas:write` | n/a | Update organization quotas. |
| `orgs:create` | n/a | Create an organization. |
| `orgs:delete` | n/a | Delete one or more organizations. |
| `orgs:read` | n/a | Read one or more organizations. |
| `orgs:write` | n/a | Update one or more organizations. |
| `plugins.app:access` | `plugins:*` <br> `plugins:id:*` | Access one or more application plugins (still enforcing the organization role) |
| `plugins:install` | n/a | Install and uninstall plugins. |
| `plugins:write` | `plugins:*` <br> `plugins:id:*` | Edit settings for one or more plugins. |
| `provisioning:reload` | `provisioners:*` | Reload provisioning files. To find the exact scope for specific provisioner, see [Scope definitions]({{< relref "#scope-definitions" >}}). |
| `reports:create` | n/a | Create reports. |
| `reports:write` | `reports:*` <br> `reports:id:*` | Update reports. |
| `reports.settings:read` | n/a | Read report settings. |
| `reports.settings:write` | n/a | Update report settings. |
| `reports:delete` | `reports:*` <br> `reports:id:*` | Delete reports. |
| `reports:read` | `reports:*` <br> `reports:id:*` | List all available reports or get a specific report. |
| `reports:send` | `reports:*` <br> `reports:id:*` | Send a report email. |
| `roles:delete` | `permissions:type:delegate` | Delete a custom role. |
| `roles:read` | `roles:*` <br> `roles:uid:*` | List roles and read a specific with its permissions. |
| `roles:write` | `permissions:type:delegate` | Create or update a custom role. |
| `roles:write` | `permissions:type:escalate` | Reset basic roles to their default permissions. |
| `server.stats:read` | n/a | Read Grafana instance statistics. |
| `server.usagestats.report:read` | n/a | View usage statistics report. |
| `serviceaccounts:write` | `serviceaccounts:*` | Create Grafana service accounts. |
| `serviceaccounts:create` | n/a | Update Grafana service accounts. |
| `serviceaccounts:delete` | `serviceaccounts:*` <br> `serviceaccounts:id:*` | Delete Grafana service accounts. |
| `serviceaccounts:read` | `serviceaccounts:*` <br> `serviceaccounts:id:*` | Read Grafana service accounts. |
| `serviceaccounts.permissions:write` | `serviceaccounts:*` <br> `serviceaccounts:id:*` | Update Grafana service account permissions to control who can do what with the service account. |
| `serviceaccounts.permissions:read` | `serviceaccounts:*` <br> `serviceaccounts:id:*` | Read Grafana service account permissions to see who can do what with the service account. |
| `settings:read` | `settings:*`<br>`settings:auth.saml:*`<br>`settings:auth.saml:enabled` (property level) | Read the [Grafana configuration settings]({{< relref "../../../../setup-grafana/configure-grafana/" >}}) |
| `settings:write` | `settings:*`<br>`settings:auth.saml:*`<br>`settings:auth.saml:enabled` (property level) | Update any Grafana configuration settings that can be [updated at runtime]({{< relref "../../../../setup-grafana/configure-grafana/settings-updates-at-runtime" >}}). |
| `support.bundles:create` | n/a | Create support bundles. |
| `support.bundles:delete` | n/a | Delete support bundles. |
| `support.bundles:read` | n/a | List and download support bundles. |
| `status:accesscontrol` | `services:accesscontrol` | Get access-control enabled status. |
| `teams.permissions:read` | `teams:*`<br>`teams:id:*` | Read members and Team Sync setup for teams. |
| `teams.permissions:write` | `teams:*`<br>`teams:id:*` | Add, remove and update members and manage Team Sync setup for teams. |
| `teams.roles:add` | `permissions:type:delegate` | Assign a role to a team. |
| `teams.roles:read` | `teams:*`<br>`teams:id:*` | List roles assigned directly to a team. |
| `teams.roles:remove` | `permissions:type:delegate` | Unassign a role from a team. |
| `teams:create` | n/a | Create teams. |
| `teams:delete` | `teams:*`<br>`teams:id:*` | Delete one or more teams. |
| `teams:read` | `teams:*`<br>`teams:id:*` | Read one or more teams and team preferences. |
| `teams:write` | `teams:*`<br>`teams:id:*` | Update one or more teams and team preferences. |
| `users.authtoken:read` | `global.users:*` <br> `global.users:id:*` | List authentication tokens that are assigned to a user. |
| `users.authtoken:write` | `global.users:*` <br> `global.users:id:*` | Update authentication tokens that are assigned to a user. |
| `users.password:write` | `global.users:*` <br> `global.users:id:*` | Update a users password. |
| `users.permissions:read` | `users:*` | List permissions of a user. |
| `users.permissions:write` | `global.users:*` <br> `global.users:id:*` | Update a users organization-level permissions. |
| `users.quotas:read` | `global.users:*` <br> `global.users:id:*` | List a users quotas. |
| `users.quotas:write` | `global.users:*` <br> `global.users:id:*` | Update a users quotas. |
| `users.roles:add` | `permissions:type:delegate` | Assign a role to a user or a service account. |
| `users.roles:read` | `users:*` | List roles assigned directly to a user or a service account. |
| `users.roles:remove` | `permissions:type:delegate` | Unassign a role from a user or a service account. |
| `users:create` | n/a | Create a user. |
| `users:delete` | `global.users:*` <br> `global.users:id:*` | Delete a user. |
| `users:disable` | `global.users:*` <br> `global.users:id:*` | Disable a user. |
| `users:enable` | `global.users:*` <br> `global.users:id:*` | Enable a user. |
| `users:logout` | `global.users:*` <br> `global.users:id:*` | Sign out a user. |
| `users:read` | `global.users:*` | Read or search user profiles. |
| `users:write` | `global.users:*` <br> `global.users:id:*` | Update a users profile. |
| Action | Applicable scope | Description |
| ------------------------------------ | --------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `alert.instances.external:read` | `datasources:*`<br>`datasources:uid:*` | Read alerts and silences in data sources that support alerting. |
| `alert.instances.external:write` | `datasources:*`<br>`datasources:uid:*` | Manage alerts and silences in data sources that support alerting. |
| `alert.instances:create` | n/a | Create silences in the current organization. |
| `alert.instances:read` | n/a | Read alerts and silences in the current organization. |
| `alert.instances:write` | n/a | Update and expire silences in the current organization. |
| `alert.notifications.external:read` | `datasources:*`<br>`datasources:uid:*` | Read templates, contact points, notification policies, and mute timings in data sources that support alerting. |
| `alert.notifications.external:write` | `datasources:*`<br>`datasources:uid:*` | Manage templates, contact points, notification policies, and mute timings in data sources that support alerting. |
| `alert.notifications:write` | n/a | Manage templates, contact points, notification policies, and mute timings in the current organization. |
| `alert.notifications:read` | n/a | Read all templates, contact points, notification policies, and mute timings in the current organization. |
| `alert.rules.external:read` | `datasources:*`<br>`datasources:uid:*` | Read alert rules in data sources that support alerting (Prometheus, Mimir, and Loki) |
| `alert.rules.external:write` | `datasources:*`<br>`datasources:uid:*` | Create, update, and delete alert rules in data sources that support alerting (Mimir and Loki). |
| `alert.rules:create` | `folders:*`<br>`folders:uid:*` | Create Grafana alert rules in a folder and its subfolders. Combine this permission with `folders:read` in a scope that includes the folder and `datasources:query` in the scope of data sources the user can query. |
| `alert.rules:delete` | `folders:*`<br>`folders:uid:*` | Delete Grafana alert rules in a folder and its subfolders. Combine this permission with `folders:read` in a scope that includes the folder and `datasources:query` in the scope of data sources the user can query. |
| `alert.rules:read` | `folders:*`<br>`folders:uid:*` | Read Grafana alert rules in a folder and its subfolders. Combine this permission with `folders:read` in a scope that includes the folder and `datasources:query` in the scope of data sources the user can query. |
| `alert.rules:write` | `folders:*`<br>`folders:uid:*` | Update Grafana alert rules in a folder and its subfolders. Combine this permission with `folders:read` in a scope that includes the folder and `datasources:query` in the scope of data sources the user can query. |
| `alert.provisioning:read` | n/a | Read all Grafana alert rules, notification policies, etc via provisioning API. Permissions to folders and datasource are not required. |
| `alert.provisioning.secrets:read` | n/a | Same as `alert.provisioning:read` plus ability to export resources with decrypted secrets. |
| `alert.provisioning:write` | n/a | Update all Grafana alert rules, notification policies, etc via provisioning API. Permissions to folders and datasource are not required. |
| `annotations:create` | `annotations:*`<br>`annotations:type:*` | Create annotations. |
| `annotations:delete` | `annotations:*`<br>`annotations:type:*` | Delete annotations. |
| `annotations:read` | `annotations:*`<br>`annotations:type:*` | Read annotations and annotation tags. |
| `annotations:write` | `annotations:*`<br>`annotations:type:*` | Update annotations. |
| `apikeys:create` | n/a | Create API keys. |
| `apikeys:read` | `apikeys:*`<br>`apikeys:id:*` | Read API keys. |
| `apikeys:delete` | `apikeys:*`<br>`apikeys:id:*` | Delete API keys. |
| `dashboards:create` | `folders:*`<br>`folders:uid:*` | Create dashboards in one or more folders and their subfolders. |
| `dashboards:delete` | `dashboards:*`<br>`dashboards:uid:*`<br>`folders:*`<br>`folders:uid:*` | Delete one or more dashboards. |
| `dashboards.insights:read` | n/a | Read dashboard insights data and see presence indicators. |
| `dashboards.permissions:read` | `dashboards:*`<br>`dashboards:uid:*`<br>`folders:*`<br>`folders:uid:*` | Read permissions for one or more dashboards. |
| `dashboards.permissions:write` | `dashboards:*`<br>`dashboards:uid:*`<br>`folders:*`<br>`folders:uid:*` | Update permissions for one or more dashboards. |
| `dashboards:read` | `dashboards:*`<br>`dashboards:uid:*`<br>`folders:*`<br>`folders:uid:*` | Read one or more dashboards. |
| `dashboards:write` | `dashboards:*`<br>`dashboards:uid:*`<br>`folders:*`<br>`folders:uid:*` | Update one or more dashboards. |
| `dashboards.public:write` | `dashboards:*`<br>`dashboards:uid:*` | Write public dashboard configuration. |
| `datasources.caching:read` | `datasources:*`<br>`datasources:uid:*` | Read data source query caching settings. |
| `datasources.caching:write` | `datasources:*`<br>`datasources:uid:*` | Update data source query caching settings. |
| `datasources:create` | n/a | Create data sources. |
| `datasources:delete` | `datasources:*`<br>`datasources:uid:*` | Delete data sources. |
| `datasources:explore` | n/a | Enable access to the **Explore** tab. |
| `datasources.id:read` | `datasources:*`<br>`datasources:uid:*` | Read data source IDs. |
| `datasources.insights:read` | n/a | Read data sources insights data. |
| `datasources.permissions:read` | `datasources:*`<br>`datasources:uid:*` | List data source permissions. |
| `datasources.permissions:write` | `datasources:*`<br>`datasources:uid:*` | Update data source permissions. |
| `datasources:query` | `datasources:*`<br>`datasources:uid:*` | Query data sources. |
| `datasources:read` | `datasources:*`<br>`datasources:uid:*` | List data sources. |
| `datasources:write` | `datasources:*`<br>`datasources:uid:*` | Update data sources. |
| `featuremgmt.read` | n/a | Read feature toggles. |
| `featuremgmt.write` | n/a | Write feature toggles. |
| `folders.permissions:read` | `folders:*`<br>`folders:uid:*` | Read permissions for one or more folders and their subfolders. |
| `folders.permissions:write` | `folders:*`<br>`folders:uid:*` | Update permissions for one or more folders and their subfolders. |
| `folders:create` | n/a | Create folders in the root level. If granted together with `folders:write`, also allows creating subfolders under all folders that the user can update. |
| `folders:delete` | `folders:*`<br>`folders:uid:*` | Delete one or more folders and their subfolders. |
| `folders:read` | `folders:*`<br>`folders:uid:*` | Read one or more folders and their subfolders. |
| `folders:write` | `folders:*`<br>`folders:uid:*` | Update one or more folders and their subfolders. If granted together with `folders:create` permission, also allows creating subfolders under these folders. |
| `ldap.config:reload` | n/a | Reload the LDAP configuration. |
| `ldap.status:read` | n/a | Verify the availability of the LDAP server or servers. |
| `ldap.user:read` | n/a | Read users via LDAP. |
| `ldap.user:sync` | n/a | Sync users via LDAP. |
| `library.panels:create` | `folders:*` <br> `folders:uid:*` | Create a library panel in one or more folders and their subfolders. |
| `library.panels:read` | `folders:*` <br> `folders:uid:*` <br> `library.panels:*` <br> `library.panels:uid:*` | Read one or more library panels. |
| `library.panels:write` | `folders:*` <br> `folders:uid:*` <br> `library.panels:*` <br> `library.panels:uid:*` | Update one or more library panels. |
| `library.panels:delete` | `folders:*` <br> `folders:uid:*` <br> `library.panels:*` <br> `library.panels:uid:*` | Delete one or more library panels. |
| `licensing.reports:read` | n/a | Get custom permission reports. |
| `licensing:delete` | n/a | Delete the license token. |
| `licensing:read` | n/a | Read licensing information. |
| `licensing:write` | n/a | Update the license token. |
| `org.users:write` | `users:*` <br> `users:id:*` | Update the organization role (`Viewer`, `Editor`, or `Admin`) of a user. |
| `org.users:add` | `users:*` <br> `users:id:*` | Add a user to an organization or invite a new user to an organization. |
| `org.users:read` | `users:*` <br> `users:id:*` | Get user profiles within an organization. |
| `org.users:remove` | `users:*` <br> `users:id:*` | Remove a user from an organization. |
| `orgs.preferences:read` | n/a | Read organization preferences. |
| `orgs.preferences:write` | n/a | Update organization preferences. |
| `orgs.quotas:read` | n/a | Read organization quotas. |
| `orgs.quotas:write` | n/a | Update organization quotas. |
| `orgs:create` | n/a | Create an organization. |
| `orgs:delete` | n/a | Delete one or more organizations. |
| `orgs:read` | n/a | Read one or more organizations. |
| `orgs:write` | n/a | Update one or more organizations. |
| `plugins.app:access` | `plugins:*` <br> `plugins:id:*` | Access one or more application plugins (still enforcing the organization role) |
| `plugins:install` | n/a | Install and uninstall plugins. |
| `plugins:write` | `plugins:*` <br> `plugins:id:*` | Edit settings for one or more plugins. |
| `provisioning:reload` | `provisioners:*` | Reload provisioning files. To find the exact scope for specific provisioner, see [Scope definitions]({{< relref "#scope-definitions" >}}). |
| `reports:create` | n/a | Create reports. |
| `reports:write` | `reports:*` <br> `reports:id:*` | Update reports. |
| `reports.settings:read` | n/a | Read report settings. |
| `reports.settings:write` | n/a | Update report settings. |
| `reports:delete` | `reports:*` <br> `reports:id:*` | Delete reports. |
| `reports:read` | `reports:*` <br> `reports:id:*` | List all available reports or get a specific report. |
| `reports:send` | `reports:*` <br> `reports:id:*` | Send a report email. |
| `roles:delete` | `permissions:type:delegate` | Delete a custom role. |
| `roles:read` | `roles:*` <br> `roles:uid:*` | List roles and read a specific role with its permissions. |
| `roles:write` | `permissions:type:delegate` | Create or update a custom role. |
| `roles:write` | `permissions:type:escalate` | Reset basic roles to their default permissions. |
| `server.stats:read` | n/a | Read Grafana instance statistics. |
| `server.usagestats.report:read` | n/a | View usage statistics report. |
| `serviceaccounts:write` | `serviceaccounts:*` | Create Grafana service accounts. |
| `serviceaccounts:create` | n/a | Update Grafana service accounts. |
| `serviceaccounts:delete` | `serviceaccounts:*` <br> `serviceaccounts:id:*` | Delete Grafana service accounts. |
| `serviceaccounts:read` | `serviceaccounts:*` <br> `serviceaccounts:id:*` | Read Grafana service accounts. |
| `serviceaccounts.permissions:write` | `serviceaccounts:*` <br> `serviceaccounts:id:*` | Update Grafana service account permissions to control who can do what with the service account. |
| `serviceaccounts.permissions:read` | `serviceaccounts:*` <br> `serviceaccounts:id:*` | Read Grafana service account permissions to see who can do what with the service account. |
| `settings:read` | `settings:*`<br>`settings:auth.saml:*`<br>`settings:auth.saml:enabled` (property level) | Read the [Grafana configuration settings]({{< relref "../../../../setup-grafana/configure-grafana/" >}}) |
| `settings:write` | `settings:*`<br>`settings:auth.saml:*`<br>`settings:auth.saml:enabled` (property level) | Update any Grafana configuration settings that can be [updated at runtime]({{< relref "../../../../setup-grafana/configure-grafana/settings-updates-at-runtime" >}}). |
| `support.bundles:create` | n/a | Create support bundles. |
| `support.bundles:delete` | n/a | Delete support bundles. |
| `support.bundles:read` | n/a | List and download support bundles. |
| `status:accesscontrol` | `services:accesscontrol` | Get access-control enabled status. |
| `teams.permissions:read` | `teams:*`<br>`teams:id:*` | Read members and Team Sync setup for teams. |
| `teams.permissions:write` | `teams:*`<br>`teams:id:*` | Add, remove and update members and manage Team Sync setup for teams. |
| `teams.roles:add` | `permissions:type:delegate` | Assign a role to a team. |
| `teams.roles:read` | `teams:*`<br>`teams:id:*` | List roles assigned directly to a team. |
| `teams.roles:remove` | `permissions:type:delegate` | Unassign a role from a team. |
| `teams:create` | n/a | Create teams. |
| `teams:delete` | `teams:*`<br>`teams:id:*` | Delete one or more teams. |
| `teams:read` | `teams:*`<br>`teams:id:*` | Read one or more teams and team preferences. To list teams through the UI one of the following permissions is required in addition to `teams:read`: `teams:write`, `teams.permissions:read` or `teams.permissions:write`. |
| `teams:write` | `teams:*`<br>`teams:id:*` | Update one or more teams and team preferences. |
| `users.authtoken:read` | `global.users:*` <br> `global.users:id:*` | List authentication tokens that are assigned to a user. |
| `users.authtoken:write` | `global.users:*` <br> `global.users:id:*` | Update authentication tokens that are assigned to a user. |
| `users.password:write` | `global.users:*` <br> `global.users:id:*` | Update a users password. |
| `users.permissions:read` | `users:*` | List permissions of a user. |
| `users.permissions:write` | `global.users:*` <br> `global.users:id:*` | Update a users organization-level permissions. |
| `users.quotas:read` | `global.users:*` <br> `global.users:id:*` | List a users quotas. |
| `users.quotas:write` | `global.users:*` <br> `global.users:id:*` | Update a users quotas. |
| `users.roles:add` | `permissions:type:delegate` | Assign a role to a user or a service account. |
| `users.roles:read` | `users:*` | List roles assigned directly to a user or a service account. |
| `users.roles:remove` | `permissions:type:delegate` | Unassign a role from a user or a service account. |
| `users:create` | n/a | Create a user. |
| `users:delete` | `global.users:*` <br> `global.users:id:*` | Delete a user. |
| `users:disable` | `global.users:*` <br> `global.users:id:*` | Disable a user. |
| `users:enable` | `global.users:*` <br> `global.users:id:*` | Enable a user. |
| `users:logout` | `global.users:*` <br> `global.users:id:*` | Sign out a user. |
| `users:read` | `global.users:*` | Read or search user profiles. |
| `users:write` | `global.users:*` <br> `global.users:id:*` | Update a users profile. |
### Grafana OnCall action definitions (beta)

View File

@@ -110,7 +110,7 @@ The following tables list permissions associated with basic and fixed roles.
### Alerting roles
If alerting is [enabled]({{< relref "../../../../alerting/set-up/migrating-alerts" >}}), you can use predefined roles to manage user access to alert rules, alert instances, and alert notification settings and create custom roles to limit user access to alert rules in a folder.
You can use predefined roles to manage user access to alert rules, alert instances, and alert notification settings and create custom roles to limit user access to alert rules in a folder.
Access to Grafana alert rules is an intersection of many permissions:

View File

@@ -13,6 +13,10 @@ weight: 200
A _user_ is defined as any individual who can log in to Grafana. Each user is associated with a _role_ that includes _permissions_. Permissions determine the tasks a user can perform in the system. For example, the **Admin** role includes permissions for an administrator to create and delete users.
Watch the following video to learn how to manage users and permissions in Grafana OSS and Grafana Cloud:
{{< youtube id="59uCGJN5hPI" >}}
The following topics describe how to use permissions to control user access to data sources, dashboards, users, and teams.
{{< section >}}

View File

@@ -1,8 +1,8 @@
---
aliases:
- about-alerting/
- ./unified-alerting/alerting/
- ./alerting/unified-alerting/
- about-alerting/ # /docs/grafana/<GRAFANA_VERSION>/about-alerting
- ./unified-alerting/alerting/ # /docs/grafana/<GRAFANA_VERSION>/unified-alerting/alerting/
- ./alerting/unified-alerting/ # /docs/grafana/<GRAFANA_VERSION>/alerting/unified-alerting/
canonical: https://grafana.com/docs/grafana/latest/alerting/
description: Learn about the key benefits and features of Grafana Alerting
labels:
@@ -16,7 +16,7 @@ weight: 114
hero:
title: Grafana Alerting
level: 1
image: /media/docs/grafana-cloud/alerting-and-irm/grafana-icon-alerting.svg
image: /media/docs/alerting/alerting-bell-icon.png
width: 100
height: 100
description: Grafana Alerting allows you to learn about problems in your systems moments after they occur.

View File

@@ -1,9 +1,8 @@
---
aliases:
- old-alerting/create-alerts/
- rules/
- unified-alerting/alerting-rules/
- ./create-alerts/
- rules/ # /docs/grafana/<GRAFANA_VERSION>/alerting/rules/
- unified-alerting/alerting-rules/ # /docs/grafana/<GRAFANA_VERSION>/alerting/unified-alerting/alerting-rules/
- ./create-alerts/ # /docs/grafana/<GRAFANA_VERSION>/alerting/create-alerts/
canonical: https://grafana.com/docs/grafana/latest/alerting/alerting-rules/
description: Configure alert rules
labels:

View File

@@ -1,6 +1,6 @@
---
aliases:
- ../unified-alerting/alerting-rules/create-grafana-managed-rule/
- ../unified-alerting/alerting-rules/create-grafana-managed-rule/ # /docs/grafana/<GRAFANA_VERSION>/alerting/unified-alerting/alerting-rules/create-grafana-managed-rule/
canonical: https://grafana.com/docs/grafana/latest/alerting/alerting-rules/create-grafana-managed-rule/
description: Configure Grafana-managed alert rules to create alerts that can act on data from any of our supported data sources
keywords:
@@ -115,37 +115,7 @@ To do this, you need to make sure that your alert rule is in the right evaluatio
Use the guidelines in [No data and error handling](#configure-no-data-and-error-handling).
## Configure notifications
{{< admonition type="note" >}}
To try out a simplified version of routing your alerts, enable the alertingSimplifiedRouting feature toggle and refer to the following section Configure notifications (simplified).
{{< /admonition >}}
1. Add labels to your alert rules to set which notification policy should handle your firing alert instances.
All alert rules and instances, irrespective of their labels, match the default notification policy. If there are no nested policies, or no nested policies match the labels in the alert rule or alert instance, then the default notification policy is the matching policy.
Add labels if you want to change the way your notifications are routed.
Add custom labels by selecting existing key-value pairs from the drop down, or add new labels by entering the new key or value.
1. Preview your alert instance routing set up.
Based on the labels added, alert instances are routed to the following notification policies displayed.
Expand each notification policy below to view more details.
1. Click See details to view alert routing details and an email preview.
1. Click **Save rule**.
## Configure notifications (simplified)
{{< admonition type="note" >}}
To try this out, enable the alertingSimplifiedRouting feature toggle.
This feature is currently not available for Grafana Cloud.
{{< /admonition >}}
## Configure labels and notifications
In the **Labels** section, you can optionally choose whether to add labels to organize your alert rules, make searching easier, as well as set which notification policy should handle your firing alert instance.
@@ -225,7 +195,7 @@ For more information, see [expressions documentation][expression-queries].
To generate a separate alert for each series, create a multi-dimensional rule. Use `Math`, `Reduce`, or `Resample` expressions to create a multi-dimensional rule. For example:
- Add a `Reduce` expression for each query to aggregate values in the selected time range into a single value. (Not needed for [rules using numeric data][alerting-on-numeric-data].
- Add a `Reduce` expression for each query to aggregate values in the selected time range into a single value. (Not needed for [rules using numeric data][alerting-on-numeric-data]).
- Add a `Math` expression with the condition for the rule. Not needed in case a query or a reduce expression already returns 0 if rule should not fire, or a positive number if it should fire. Some examples: `$B > 70` if it should fire in case value of B query/expression is more than 70. `$B < $C * 100` in case it should fire if value of B is less than value of C multiplied by 100. If queries being compared have multiple series in their results, series from different queries are matched if they have the same labels or one is a subset of the other.
![Query section multi dimensional](/static/img/docs/alerting/unified/rule-edit-multi-8-0.png 'Query section multi dimensional screenshot')
@@ -274,11 +244,11 @@ This will open the alert rule form, allowing you to configure and create your al
[add-a-query]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/query-transform-data#add-a-query"
[add-a-query]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/query-transform-data#add-a-query"
[alerting-on-numeric-data]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/evaluate-grafana-alerts#alerting-on-numeric-data-1"
[alerting-on-numeric-data]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/evaluate-grafana-alerts#alerting-on-numeric-data-1"
[alerting-on-numeric-data]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules/queries-conditions#alert-on-numeric-data"
[alerting-on-numeric-data]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/queries-conditions#alert-on-numeric-data"
[annotation-label]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/annotation-label"
[annotation-label]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/annotation-label"
[annotation-label]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules/annotation-label"
[annotation-label]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/annotation-label"
[expression-queries]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/query-transform-data/expression-queries"
[expression-queries]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/query-transform-data/expression-queries"

View File

@@ -1,7 +1,7 @@
---
aliases:
- ../unified-alerting/alerting-rules/create-cortex-loki-managed-recording-rule/
- ../unified-alerting/alerting-rules/create-mimir-loki-managed-recording-rule/
- ../unified-alerting/alerting-rules/create-cortex-loki-managed-recording-rule/ # /docs/grafana/<GRAFANA_VERSION>/alerting/unified-alerting/alerting-rules/create-cortex-loki-managed-recording-rule/
- ../unified-alerting/alerting-rules/create-mimir-loki-managed-recording-rule/ # /docs/grafana/<GRAFANA_VERSION>/alerting/unified-alerting/alerting-rules/create-mimir-loki-managed-recording-rule/
canonical: https://grafana.com/docs/grafana/latest/alerting/alerting-rules/create-mimir-loki-managed-recording-rule/
description: Create recording rules for an external Grafana Mimir or Loki instance
keywords:
@@ -25,6 +25,8 @@ weight: 300
You can create and manage recording rules for an external Grafana Mimir or Loki instance.
Recording rules calculate frequently needed expressions or computationally expensive expressions in advance and save the result as a new set of time series. Querying this new time series is faster, especially for dashboards since they query the same expression every time the dashboards refresh.
For more information on recording rules in Prometheus, refer to [Defining recording rules in Prometheus](https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/).
**Note:**
Recording rules are run as instant rules, which means that they run every 10s. To overwrite this configuration, update the min_interval in your custom configuration file.
@@ -67,8 +69,8 @@ To create recording rules, follow these steps.
1. Click **Save rule** to save the rule or **Save rule and exit** to save the rule and go back to the Alerting page.
{{% docs/reference %}}
[annotation-label]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/annotation-label"
[annotation-label]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/annotation-label"
[annotation-label]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules/annotation-label"
[annotation-label]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/annotation-label"
[configure-grafana]: "/docs/ -> /docs/grafana/<GRAFANA_VERSION>/setup-grafana/configure-grafana"
{{% /docs/reference %}}

View File

@@ -1,8 +1,8 @@
---
aliases:
- ../unified-alerting/alerting-rules/create-cortex-loki-managed-recording-rule/
- ../unified-alerting/alerting-rules/create-mimir-loki-managed-recording-rule/
- ../unified-alerting/alerting-rules/create-mimir-loki-managed-rule/
- ../unified-alerting/alerting-rules/create-cortex-loki-managed-recording-rule/ # /docs/grafana/<GRAFANA_VERSION>/alerting/unified-alerting/alerting-rules/create-cortex-loki-managed-recording-rule/
- ../unified-alerting/alerting-rules/create-mimir-loki-managed-recording-rule/ # /docs/grafana/<GRAFANA_VERSION>/alerting/unified-alerting/alerting-rules/create-mimir-loki-managed-recording-rule/
- ../unified-alerting/alerting-rules/create-mimir-loki-managed-rule/ # /docs/grafana/<GRAFANA_VERSION>/alerting/unified-alerting/alerting-rules/create-mimir-loki-managed-rule/
canonical: https://grafana.com/docs/grafana/latest/alerting/alerting-rules/create-mimir-loki-managed-rule/
description: Configure data source-managed alert rules alert for an external Grafana Mimir or Loki instance
keywords:
@@ -129,6 +129,6 @@ Annotations add metadata to provide more information on the alert in your alert
[alerting]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting"
[alerting]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting"
[annotation-label]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/annotation-label"
[annotation-label]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/annotation-label"
[annotation-label]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules/annotation-label"
[annotation-label]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/annotation-label"
{{% /docs/reference %}}

View File

@@ -1,5 +1,7 @@
---
canonical: https://grafana.com/docs/grafana/latest/alerting/fundamentals/annotation-label/variables-label-annotation/
aliases:
- ../fundamentals/annotation-label/variables-label-annotation/ # /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/annotation-label/variables-label-annotation/
canonical: https://grafana.com/docs/grafana/latest/alerting/alerting-rules/templating-labels-annotations/
description: Learn about how to template labels and annotations
keywords:
- grafana
@@ -12,14 +14,16 @@ labels:
- cloud
- enterprise
- oss
title: Templating labels and annotations
weight: 117
title: Template labels and annotations
weight: 500
---
# Templating labels and annotations
# Template labels and annotations
You can use templates to include data from queries and expressions in labels and annotations. For example, you might want to set the severity label for an alert based on the value of the query, or use the instance label from the query in a summary annotation so you know which server is experiencing high CPU usage.
When using custom labels with templates it is important to make sure that the label value does not change between consecutive evaluations of the alert rule as this will end up creating large numbers of distinct alerts. However, it is OK for the template to produce different label values for different alerts. For example, do not put the value of the query in a custom label as this will end up creating a new set of alerts each time the value changes. Instead use annotations.
All templates should be written in [text/template](https://pkg.go.dev/text/template). Regardless of whether you are templating a label or an annotation, you should write each template inline inside the label or annotation that you are templating. This means you cannot share templates between labels and annotations, and instead you will need to copy templates wherever you want to use them.
Each template is evaluated whenever the alert rule is evaluated, and is evaluated for every alert separately. For example, if your alert rule has a templated summary annotation, and the alert rule has 10 firing alerts, then the template will be executed 10 times, once for each alert. You should try to avoid doing expensive computations in your templates as much as possible.

View File

@@ -1,9 +1,9 @@
---
aliases:
- ../notifications/ # /docs/grafana/latest/alerting/notifications/
- ../old-alerting/notifications/ # /docs/grafana/latest/alerting/old-alerting/notifications/
- ../unified-alerting/notifications/ # /docs/grafana/latest/alerting/unified-alerting/notifications/
- ../alerting-rules/create-notification-policy/ # /docs/grafana/latest/alerting/alerting-rules/create-notification-policy/
- ../notifications/ # /docs/grafana/<GRAFANA_VERSION>/alerting/notifications/
- ../unified-alerting/notifications/ # /docs/grafana/<GRAFANA_VERSION>/alerting/unified-alerting/notifications/
- ../alerting-rules/create-notification-policy/ # /docs/grafana/<GRAFANA_VERSION>/alerting/alerting-rules/create-notification-policy/
- ../manage-notifications/create-notification-policy/ # /docs/grafana/<GRAFANA_VERSION>/alerting/manage-notifications/create-notification-policy/
canonical: https://grafana.com/docs/grafana/latest/alerting/configure-notifications/create-notification-policy/
description: Configure notification policies to determine how alerts are routed to contact points
keywords:
@@ -108,6 +108,6 @@ An example of an alert configuration.
- Create specific routes for particular teams that handle their own on-call rotations.
{{% docs/reference %}}
[notification-policies]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/notification-policies/notifications"
[notification-policies]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/notification-policies/notifications"
[notification-policies]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/notifications/notification-policies"
[notification-policies]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/notifications/notification-policies"
{{% /docs/reference %}}

View File

@@ -1,12 +1,12 @@
---
aliases:
- ../silences/create-silence/ # /docs/grafana/latest/alerting/silences/create-silence/
- ../silences/edit-silence/ # /docs/grafana/latest/alerting/silences/edit-silence/
- ../silences/linking-to-silence-form/ # /docs/grafana/latest/alerting/silences/linking-to-silence-form/
- ../silences/remove-silence/ # /docs/grafana/latest/alerting/silences/remove-silence/
- ../unified-alerting/silences/ # /docs/grafana/latest/alerting/unified-alerting/silences/
- ../silences/ # /docs/grafana/latest/alerting/silences/
- ../manage-notifications/create-silence/ # /docs/grafana/latest/alerting/manage-notifications/create-silence/
- ../silences/create-silence/ # /docs/grafana/<GRAFANA_VERSION>/alerting/silences/create-silence/
- ../silences/edit-silence/ # /docs/grafana/<GRAFANA_VERSION>/alerting/silences/edit-silence/
- ../silences/linking-to-silence-form/ # /docs/grafana/<GRAFANA_VERSION>/alerting/silences/linking-to-silence-form/
- ../silences/remove-silence/ # /docs/grafana/<GRAFANA_VERSION>/alerting/silences/remove-silence/
- ../unified-alerting/silences/ # /docs/grafana/<GRAFANA_VERSION>/alerting/unified-alerting/silences/
- ../silences/ # /docs/grafana/<GRAFANA_VERSION>/alerting/silences/
- ../manage-notifications/create-silence/ # /docs/grafana/<GRAFANA_VERSION>/alerting/manage-notifications/create-silence/
canonical: https://grafana.com/docs/grafana/latest/alerting/configure-notifications/create-silence/
description: Create silences to stop notifications from getting created for a specified window of time
keywords:

View File

@@ -1,16 +1,15 @@
---
aliases:
- ../contact-points/ # /docs/grafana/<GRAFANA_VERSION>/alerting/contact-points/
- ../contact-points/create-contact-point/ # /docs/grafana/<GRAFANA_VERSION>/alerting/contact-points/create-contact-point/
- ../contact-points/delete-contact-point/ # /docs/grafana/<GRAFANA_VERSION>/alerting/contact-points/delete-contact-point/
- ../contact-points/edit-contact-point/ # /docs/grafana/<GRAFANA_VERSION>/alerting/contact-points/edit-contact-point/
- ../contact-points/test-contact-point/ # /docs/grafana/<GRAFANA_VERSION>/alerting/contact-points/test-contact-point/
- ../manage-notifications/manage-contact-points/ # /docs/grafana/<GRAFANA_VERSION>/alerting/manage-notifications/manage-contact-points/
- ../alerting-rules/create-contact-point/ # /docs/grafana/<GRAFANA_VERSION>/alerting/alerting-rules/create-contact-point/
- ../alerting-rules/manage-contact-points/ # /docs/grafana/latest/alerting/alerting-rules/manage-contact-points/
- ../alerting-rules/create-notification-policy/ # /docs/grafana/latest/alerting/alerting-rules/create-notification-policy/
- ../alerting-rules/manage-contact-points/integrations/ # /docs/grafana/latest/alerting/alerting-rules/manage-contact-points/integrations/
- ../manage-notifications/manage-contact-points/ # /docs/grafana/latest/alerting/manage-notifications/manage-contact-points/
- ../alerting-rules/manage-contact-points/ # /docs/grafana/<GRAFANA_VERSION>/alerting/alerting-rules/manage-contact-points/
- ../alerting-rules/create-notification-policy/ # /docs/grafana/<GRAFANA_VERSION>/alerting/alerting-rules/create-notification-policy/
- ../alerting-rules/manage-contact-points/integrations/ # /docs/grafana/<GRAFANA_VERSION>/alerting/alerting-rules/manage-contact-points/integrations/
- ../manage-notifications/manage-contact-points/ # /docs/grafana/<GRAFANA_VERSION>/alerting/manage-notifications/manage-contact-points/
canonical: https://grafana.com/docs/grafana/latest/alerting/configure-notifications/manage-contact-points/
description: Configure contact points to define how your contacts are notified when an alert rule fires
keywords:
@@ -124,7 +123,7 @@ Once configured, you can use integrations as part of your contact points to rece
| Pushover | `pushover` |
| Sensu | `sensu` |
| Sensu Go | `sensugo` |
| Slack | `slack` |
| [Slack][slack] | `slack` |
| Telegram | `telegram` |
| Threema | `threema` |
| VictorOps | `victorops` |
@@ -137,6 +136,9 @@ Once configured, you can use integrations as part of your contact points to rece
[oncall]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/manage-contact-points/integrations/configure-oncall"
[oncall]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/manage-contact-points/integrations/configure-oncall"
[slack]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/manage-contact-points/integrations/configure-slack"
[slack]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/manage-contact-points/integrations/configure-slack"
[webhook]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/manage-contact-points/integrations/webhook-notifier"
[webhook]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/manage-contact-points/integrations/webhook-notifier"
{{% /docs/reference %}}

View File

@@ -1,7 +1,7 @@
---
aliases:
- ../../../alerting-rules/manage-contact-points/configure-oncall/ # /docs/grafana/latest/alerting/alerting-rules/manage-contact-points/configure-oncall/
- ../../../alerting-rules/manage-contact-points/integrations/configure-oncall/ # /docs/grafana/latest/alerting/alerting-rules/manage-contact-points/integrations/configure-oncall/
- ../../../alerting-rules/manage-contact-points/configure-oncall/ # /docs/grafana/<GRAFANA_VERSION>/alerting/alerting-rules/manage-contact-points/configure-oncall/
- ../../../alerting-rules/manage-contact-points/integrations/configure-oncall/ # /docs/grafana/<GRAFANA_VERSION>/alerting/alerting-rules/manage-contact-points/integrations/configure-oncall/
canonical: https://grafana.com/docs/grafana/latest/alerting/configure-notifications/manage-contact-points/integrations/configure-oncall/
description: Configure the Alerting - Grafana OnCall integration to connect alerts generated by Grafana Alerting with Grafana OnCall
keywords:
@@ -10,7 +10,7 @@ keywords:
- oncall
- integration
aliases:
- ../configure-oncall/ # /docs/grafana/latest/alerting/alerting-rules/manage-contact-points/configure-oncall/
- ../configure-oncall/ # /docs/grafana/<GRAFANA_VERSION>/alerting/alerting-rules/manage-contact-points/configure-oncall/
labels:
products:
- cloud

View File

@@ -0,0 +1,93 @@
---
canonical: https://grafana.com/docs/grafana/latest/alerting/configure-notifications/manage-contact-points/integrations/configure-slack/
description: Configure the Slack integration to connect alerts generated by Grafana Alerting
keywords:
- grafana
- alerting
- slack
- integration
labels:
products:
- cloud
- enterprise
- oss
menuTitle: Slack
title: Configure Slack for Alerting
weight: 300
---
# Configure Slack for Alerting
Use the Grafana Alerting - Slack integration to send Slack notifications when your alerts are firing.
There are two ways of integrating Slack into Grafana Alerting.
1. Use a [Slack API token](https://api.slack.com/authentication/token-types)
Enable your app to access the Slack API. If, for example, you are interested in more granular control over permissions, or your project is expected to regularly scale, resulting in new channels being created, this is the best option.
1. Use a [Webhook URL](https://api.slack.com/messaging/webhooks)
Webhooks is the simpler way to post messages into Slack. Slack automatically creates a bot user with all the necessary permissions to post messages to one particular channel of your choice.
{{< admonition type="note" >}}
Grafana Alerting only allows one Slack channel per contact point.
{{< /admonition >}}
## Before you begin
### Slack API Token
If you are using a Slack API Token, complete the following steps.
1. Follow steps 1 and 2 of the [Slack API Quickstart](https://api.slack.com/start/quickstart).
1. Add the [chat:write.public](https://api.slack.com/scopes/chat:write.public) scope to give your app the ability to post in all public channels without joining.
1. In OAuth Tokens for Your Workspace, copy the Bot User OAuth Token.
1. Open your Slack workplace.
1. Right click the channel you want to receive notifications in.
1. Click View channel details.
1. Scroll down and copy the Channel ID.
{{< admonition type="note" >}}
While going through these steps, Slack may prompt you to Reinstall your app in order for the changes to take effect.
{{< /admonition >}}
### Webhook URL
If you are using a Webhook URL, follow steps 1 and 5 in the [Slack API Quickstart](https://api.slack.com/start/quickstart).
{{< admonition type="note" >}}
Make sure you copy the Slack app Webhook URL. You will need this when setting up your contact point integration in Grafana Alerting.
{{< /admonition >}}
## Procedure
To create your Slack integration in Grafana Alerting, complete the following steps.
1. Navigate to **Alerts & IRM** -> **Alerting** -> **Contact points**.
1. Click **+ Add contact point**.
1. Enter a contact point name.
1. From the Integration list, select Slack.
1. If you are using a Slack API token:
- In the **Recipient** field, copy in the channel ID.
- In the **Token** field, copy in the Bot User OAuth Token that starts with “xoxb-”.
1. If you are using a Webhook URL, in the **Webhook** field, copy in your Slack app Webhook URL.
1. Click **Test** to check that your integration works.
1. Click **Save contact point**.
## Next steps
To add the contact point and integration you created to your default notification policy, complete the following steps.
1. Navigate to **Alerts & IRM** -> **Alerting** -> **Notification policies**.
1. In the **Default policy**, click the ellipsis icon (…) and then **Edit**,
1. Change the default policy to the contact point you created.
1. Click **Update default policy**.
**Note:**
If you have more than one contact point, add a new notification policy rather than edit the default one, so you can route specific alerts to Slack. For more information, refer to [Notification policies][nested-policy].
{{% docs/reference %}}
[nested-policy]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/create-notification-policy#add-new-nested-policy"
[nested-policy]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/create-notification-policy#add-new-nested-policy"
{{% /docs/reference %}}

View File

@@ -0,0 +1,95 @@
---
canonical: https://grafana.com/docs/grafana/latest/alerting/configure-notifications/manage-contact-points/integrations/configure-telegram/
description: Configure the Telegram integration to connect alerts generated by Grafana Alerting
keywords:
- grafana
- alerting
- telegram
- integration
labels:
products:
- cloud
- enterprise
- oss
menuTitle: Telegram
title: Configure Telegram for Alerting
weight: 300
---
# Configure Telegram for Alerting
Use the Grafana Alerting - Telegram integration to send [Telegram](https://telegram.org/) notifications when your alerts are firing.
## Before you begin
### Telegram bot API token and chat ID
To integrate Grafana with Telegram, you need to obtain a Telegram **bot API token** and a **chat ID** (i.e., the ID of the Telegram chat where you want to receive the alert notifications).
### Set up your Telegram bot
Create a [Telegram bot](https://core.telegram.org/bots/api). You can associate this bot to your chats and perform different actions with it, such as receiving alerts from Grafana.
To set up the bot, complete the following steps.
1. **Open the Telegram app** on your device.
1. Find the Telegram bot named **BotFather**.
1. Type or press `/newbot`.
1. Choose a name for the bot. It must end in **bot** or **\_bot**. E.g. "my_bot".
1. **Copy the API token**.
### Chat ID
Add the bot to a group chat by following the steps below. Once the bot is added to the chat, you will be able to route your alert notifications to that group.
1. In the Telegram app, **open a group or start a new one**.
1. Search and **add the bot to the group**.
1. **Interact with the bot** by sending a dummy message that starts with "`/`". E.g. `/hola @bot_name`.
{{< figure src="/media/blog/telegram-grafana-alerting/telegram-screenshot.png" alt="A screenshot that shows a message to a Telegram bot." >}}
1. To obtain the **chat ID**, send an [HTTP request](https://core.telegram.org/bots/api#getupdates) to the bot. Copy the below URL and replace `{your_bot_api_token}` with your bot API token.
```
https://api.telegram.org/bot{your_bot_api_token}/getUpdates
```
1. **Paste the URL in your browser**.
1. If the request is successful, it will return a response in JSON format.
```
...
"chat": {
"id": -4065678900,
"title": "Tony and Hello world bot",
"type": "group",
...
```
1. Copy the value of the `“id”` that appears under `“chat”`.
## Procedure
To create your Telegram integration in Grafana Alerting, complete the following steps.
1. Navigate to **Alerts & IRM** -> **Alerting** -> **Contact points**.
1. Click **+ Add contact point**.
1. Enter a contact point name.
1. From the Integration list, select Telegram.
1. In the **BOT API Token** field, copy in the bot API token.
1. In the **Chat ID** field, copy in the chat ID.
1. Click **Test** to check that your integration works.
1. Click **Save contact point**.
## Next steps
To add the contact point and integration you created to your default notification policy, complete the following steps.
1. Navigate to **Alerts & IRM** -> **Alerting** -> **Notification policies**.
1. In the **Default policy**, click the ellipsis icon (…) and then **Edit**.
1. Change the default policy to the contact point you created.
1. Click **Update default policy**.
{{<admonition type="note">}}
If you have more than one contact point, add a new child notification policy rather than edit the default one, so you can route specific alerts to Telegram.
{{</admonition>}}

View File

@@ -1,6 +1,6 @@
---
aliases:
- ../../../alerting-rules/manage-contact-points/integrations/pager-duty/ # /docs/grafana/latest/alerting/alerting-rules/manage-contact-points/integrations/pager-duty/
- ../../../alerting-rules/manage-contact-points/integrations/pager-duty/ # /docs/grafana/<GRAFANA_VERSION>/alerting/alerting-rules/manage-contact-points/integrations/pager-duty/
canonical: https://grafana.com/docs/grafana/latest/alerting/configure-notifications/manage-contact-points/integrations/pager-duty/
description: Configure the PagerDuty integration for Alerting
keywords:
@@ -19,25 +19,55 @@ weight: 400
# Configure PagerDuty for Alerting
To set up PagerDuty, provide an integration key.
Use the Grafana Alerting - PagerDuty integration to receive notifications in PagerDuty when your alerts are firing.
| Setting | Description |
| --------------- | ------------------------------------------------------ |
| Integration Key | Integration key for PagerDuty |
| Severity | Level for dynamic notifications, default is `critical` |
| Custom Details | Additional details about the event |
## Before you begin
The `CustomDetails` field is an object containing arbitrary key-value pairs. The user-defined details are merged with the ones we use by default.
To set up PagerDuty for integration with Grafana Alerting, you need to create a [PagerDuty](https://www.pagerduty.com/) account. There are several set up steps to perform within PagerDuty before you set up the integration in Grafana Alerting.
Our default values for `CustomDetails` are:
### Create a Service
```go
{
"firing": `{{ template "__text_alert_list" .Alerts.Firing }}`,
"resolved": `{{ template "__text_alert_list" .Alerts.Resolved }}`,
"num_firing": `{{ .Alerts.Firing | len }}`,
"num_resolved": `{{ .Alerts.Resolved | len }}`,
}
```
In PagerDuty, a service represents a component, microservice, or infrastructure element that a team oversees, manages, and monitors.
In case of duplicate keys, the user-defined details overwrite the default ones.
1. Refer to [PagerDutys services and integrations guide](https://support.pagerduty.com/docs/services-and-integrations#create-a-service).
1. Follow steps 1 to 5 under **Create a Service**.
{{< admonition type="note" >}}
In step 5, choose **Create a service without an integration**.
{{< /admonition >}}
### Obtain a PagerDuty integration key
1. Once the service is created, click **Integrations** within the Service options.
1. Click **+ Add an integration**.
1. Select **Events API V2**.
1. Click **Add**.
1. Click the drop-down arrow to display the integration details.
1. Copy the **Integration Key**.
## Procedure
To create your PagerDuty integration in Grafana Alerting, complete the following steps.
1. Navigate to **Alerts & IRM** -> **Alerting** -> **Contact points**.
1. Click **+ Add contact point**.
1. Enter a contact point name.
F1. rom the Integration list, select **PagerDuty**.
1. In the **Integration Key** field, copy in your integration key.
1. Click **Test** to check that your integration works.
An incident should display in the Services Activity tab in PagerDuty.
1. Click **Save contact point**.
## Next steps
To add the contact point and integration you created to your default notification policy, complete the following steps.
1. Navigate to **Alerts & IRM** -> **Alerting** -> **Notification policies**.
1. In the Default policy, click the ellipsis icon (…) and then **Edit**.
1. Change the default policy to the contact point you created.
1. Click **Update default policy**.
{{< admonition type="note" >}} If you have more than one contact point, add a new notification policy rather than edit the default one, so you can route specific alerts to PagerDuty. {{< /admonition >}}

View File

@@ -1,10 +1,10 @@
---
aliases:
- ../../../fundamentals/contact-points/notifiers/webhook-notifier/ # /docs/grafana/latest/alerting/fundamentals/contact-points/notifiers/webhook-notifier/
- ../../../fundamentals/contact-points/webhook-notifier/ # /docs/grafana/latest/alerting/fundamentals/contact-points/webhook-notifier/
- ../../../manage-notifications/manage-contact-points/webhook-notifier/ # /docs/grafana/latest/alerting/manage-notifications/manage-contact-points/webhook-notifier/
- ../../../fundamentals/contact-points/notifiers/webhook-notifier/ # /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/contact-points/notifiers/webhook-notifier/
- ../../../fundamentals/contact-points/webhook-notifier/ # /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/contact-points/webhook-notifier/
- ../../../manage-notifications/manage-contact-points/webhook-notifier/ # /docs/grafana/<GRAFANA_VERSION>/alerting/manage-notifications/manage-contact-points/webhook-notifier/
- alerting/manage-notifications/manage-contact-points/webhook-notifier/
- ../../../alerting-rules/manage-contact-points/integrations/webhook-notifier/ # /docs/grafana/latest/alerting/alerting-rules/manage-contact-points/integrations/webhook-notifier/
- ../../../alerting-rules/manage-contact-points/integrations/webhook-notifier/ # /docs/grafana/<GRAFANA_VERSION>/alerting/alerting-rules/manage-contact-points/integrations/webhook-notifier/
canonical: https://grafana.com/docs/grafana/latest/alerting/configure-notifications/manage-contact-points/integrations/webhook-notifier/
description: Configure the webhook notifier integration for Alerting
@@ -24,9 +24,11 @@ title: Configure the webhook notifier for Alerting
weight: 200
---
### Configure the webhook notifier for Alerting
# Configure the webhook notifier for Alerting
Example JSON body:
The webhook notification is a simple way to send information about a state change over HTTP to a custom endpoint. Using this notification you could integrate Grafana into a system of your choosing.
## Webhook JSON payload
```json
{
@@ -98,9 +100,9 @@ Example JSON body:
}
```
### Webhook fields
## Webhook fields
## Body
### Body
| Key | Type | Description |
| ----------------- | ------------------------- | ------------------------------------------------------------------------------- |
@@ -136,18 +138,31 @@ Example JSON body:
| panelURL | string | **Will be deprecated soon** |
| imageURL | string | URL of a screenshot of a panel assigned to the rule that created this notification |
### Removed fields related to dashboards
{{< admonition type="note" >}}
Alert rules are not coupled to dashboards anymore therefore the fields related to dashboards `dashboardId` and `panelId` have been removed.
{{< /admonition >}}
Alerts are not coupled to dashboards anymore therefore the fields related to dashboards `dashboardId` and `panelId` have been removed.
## Procedure
## WeCom
To create your webhook integration in Grafana Alerting, complete the following steps:
WeCom contact points need a Webhook URL. These are obtained by setting up a WeCom robot on the corresponding group chat. To obtain a Webhook URL using the WeCom desktop Client please follow these steps:
1. Navigate to **Alerts & IRM** -> **Alerting** -> **Contact points**.
1. Click **+ Add contact point**.
1. Enter a contact point name.
1. From the Integration list, select **Webhook**.
1. In the **URL** field, copy in your Webhook URL.
1. Click **Test** to check that your integration works.
1. Click **Save contact point**.
1. Click the "..." in the top right corner of a group chat that you want your alerts to be delivered to
2. Click "Add Group Robot", select "New Robot" and give your robot a name. Click "Add Robot"
3. There should be a Webhook URL in the panel.
## Next steps
| Setting | Description |
| ------- | ------------------ |
| Url | WeCom webhook URL. |
To add the contact point and integration you created to your default notification policy, complete the following steps.
1. Navigate to **Alerts & IRM** -> **Alerting** -> **Notification policies**.
1. In the **Default policy**, click the ellipsis icon (…) and then **Edit**.
1. Change the default policy to the contact point you created.
1. Click **Update default policy**.
{{< admonition type="note" >}}
If you have more than one contact point, add a new notification policy rather than edit the default one, so you can route specific alerts to your webhook.
{{< /admonition >}}

View File

@@ -1,8 +1,8 @@
---
aliases:
- ../notifications/mute-timings/ # /docs/grafana/latest/alerting/notifications/mute-timings/
- ../unified-alerting/notifications/mute-timings/ # /docs/grafana/latest/alerting/unified-alerting/notifications/mute-timings/
- ../manage-notifications/mute-timings/ # /docs/grafana/latest/alerting/manage-notifications/mute-timings/
- ../notifications/mute-timings/ # /docs/grafana/<GRAFANA_VERSION>/alerting/notifications/mute-timings/
- ../unified-alerting/notifications/mute-timings/ # /docs/grafana/<GRAFANA_VERSION>/alerting/unified-alerting/notifications/mute-timings/
- ../manage-notifications/mute-timings/ # /docs/grafana/<GRAFANA_VERSION>/alerting/manage-notifications/mute-timings/
canonical: /docs/grafana/latest/alerting/configure-notifications/mute-timings/
description: Create mute timings to prevent alerts from firing during a specific and reoccurring period of time
keywords:
@@ -27,7 +27,7 @@ A mute timing is a recurring interval of time when no new notifications for a po
Similar to silences, mute timings do not prevent alert rules from being evaluated, nor do they stop alert instances from being shown in the user interface. They only prevent notifications from being created.
You can configure Grafana managed mute timings as well as mute timings for an [external Alertmanager data source][datasources/alertmanager]. For more information, refer to [Alertmanager documentation][fundamentals/alertmanager].
You can configure Grafana managed mute timings as well as mute timings for an [external Alertmanager data source][datasources/alertmanager]. For more information, refer to [Alertmanager documentation][intro-alertmanager].
## Mute timings vs silences
@@ -85,6 +85,6 @@ If you want to specify an exact duration, specify all the options. For example,
[datasources/alertmanager]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/datasources/alertmanager"
[datasources/alertmanager]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/connect-externally-hosted/data-sources/alertmanager"
[fundamentals/alertmanager]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alertmanager"
[fundamentals/alertmanager]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alertmanager"
[intro-alertmanager]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/notifications/alertmanager"
[intro-alertmanager]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/notifications/alertmanager"
{{% /docs/reference %}}

View File

@@ -1,6 +1,6 @@
---
aliases:
- ../manage-notifications/template-notifications/ # /docs/grafana/latest/alerting/manage-notifications/template-notifications/
- ../manage-notifications/template-notifications/ # /docs/grafana/<GRAFANA_VERSION>/alerting/manage-notifications/template-notifications/
canonical: https://grafana.com/docs/grafana/latest/alerting/configure-notifications/template-notifications/
description: Customize your notifications using notification templates
keywords:
@@ -27,17 +27,14 @@ Notification templates are not tied to specific contact point integrations, such
You can use notification templates to:
- Customize the subject of an email or the title of a message.
- Add, change or remove text in notifications. For example, to select or omit certain labels, annotations and links.
- Format text in bold and italic, and add or remove line breaks.
- Customize content: Personalize the subject of an email or the title of a message. Modify text within notifications, like selecting or omitting certain labels, annotations, and links. Format text with bold and italic styles, and add or remove line breaks.
You cannot use notification templates to:
However, there are limitations. You cannot:
- Add HTML and CSS to email notifications to change their visual appearance.
- Change the design of notifications in instant messaging services such as Slack and Microsoft Teams. For example, to add or remove custom blocks with Slack Block Kit or adaptive cards with Microsoft Teams.
- Choose the number and size of images, or where in the notification images are shown.
- Customize the data in webhooks, including the fields or structure of the JSON data or send the data in other formats such as XML.
- Add or remove HTTP headers in webhooks other than those in the contact point configuration.
- Modify Visual Appearance: Add HTML and CSS to email notifications for visual changes. Alter the design of notifications in messaging services like Slack and Microsoft Teams, such as adding custom blocks or adaptive cards.
- Manage Media and Data: Adjust the number and size of images or their placement in notifications. Customize webhook data structure or format, including JSON fields or sending data in XML. Modify HTTP headers in webhooks beyond those in the contact point configuration.
## Learn more
[Using Go's templating language][using-go-templating-language]

View File

@@ -1,6 +1,6 @@
---
aliases:
- ../../manage-notifications/template-notifications/create-notification-templates/ # /docs/grafana/latest/alerting/manage-notifications/template-notifications/create-notification-templates/
- ../../manage-notifications/template-notifications/create-notification-templates/ # /docs/grafana/<GRAFANA_VERSION>/alerting/manage-notifications/template-notifications/create-notification-templates/
canonical: https://grafana.com/docs/grafana/latest/alerting/configure-notifications/template-notifications/create-notification-templates/
description: Create notification templates to sent to your contact points
keywords:

View File

@@ -1,6 +1,6 @@
---
aliases:
- ../manage-notifications/images-in-notifications/ # /docs/grafana/latest/alerting/manage-notifications/images-in-notifications/
- ../manage-notifications/images-in-notifications/ # /docs/grafana/<GRAFANA_VERSION>/alerting/manage-notifications/images-in-notifications/
canonical: https://grafana.com/docs/grafana/latest/alerting/configure-notifications/template-notifications/images-in-notifications/
description: Use images in notifications to help users better understand why alerts are firing or have been resolved
keywords:

View File

@@ -1,6 +1,6 @@
---
aliases:
- ../../manage-notifications/template-notifications/reference/ # /docs/grafana/latest/alerting/manage-notifications/template-notifications/reference/
- ../../manage-notifications/template-notifications/reference/ # /docs/grafana/<GRAFANA_VERSION>/alerting/manage-notifications/template-notifications/reference/
canonical: https://grafana.com/docs/grafana/latest/alerting/configure-notifications/template-notifications/reference/
description: Learn about templating notifications options
keywords:

View File

@@ -1,6 +1,6 @@
---
aliases:
- ../../manage-notifications/template-notifications/use-notification-templates/ # /docs/grafana/latest/alerting/manage-notifications/template-notifications/use-notification-templates/
- ../../manage-notifications/template-notifications/use-notification-templates/ # /docs/grafana/<GRAFANA_VERSION>/alerting/manage-notifications/template-notifications/use-notification-templates/
canonical: https://grafana.com/docs/grafana/latest/alerting/configure-notifications/template-notifications/use-notification-templates/
description: Use notification templates in contact points to customize your notifications
keywords:

View File

@@ -1,6 +1,6 @@
---
aliases:
- ../../manage-notifications/template-notifications/using-go-templating-language/ # /docs/grafana/latest/alerting/manage-notifications/template-notifications/using-go-templating-language/
- ../../manage-notifications/template-notifications/using-go-templating-language/ # /docs/grafana/<GRAFANA_VERSION>/alerting/manage-notifications/template-notifications/using-go-templating-language/
canonical: https://grafana.com/docs/grafana/latest/alerting/configure-notifications/template-notifications/using-go-templating-language/
description: Use Go's templating language to create your own notification templates
keywords:

View File

@@ -1,54 +0,0 @@
---
_build:
list: false
aliases:
- ./unified-alerting/difference-old-new/ # /docs/grafana/<GRAFANA_VERSION>/alerting/unified-alerting/difference-old-new/
canonical: https://grafana.com/docs/grafana/latest/alerting/difference-old-new/
description: Learn about how Grafana Alerting compares to legacy alerting
keywords:
- grafana
- alerting
- guide
labels:
products:
- cloud
- enterprise
- oss
title: Grafana Alerting vs Legacy dashboard alerting
weight: 108
---
# Grafana Alerting vs Legacy dashboard alerting
Introduced in Grafana 8.0, and the only system since Grafana 10.0, Grafana Alerting has several enhancements over legacy dashboard alerting.
## Multi-dimensional alerting
You can now create alerts that give you system-wide visibility with a single alerting rule. Generate multiple alert instances from a single alert rule. For example, you can create a rule to monitor the disk usage of multiple mount points on a single host. The evaluation engine returns multiple time series from a single query, with each time series identified by its label set.
## Create alerts outside of Dashboards
Unlike legacy dashboard alerts, Grafana alerts allow you to create queries and expressions that combine data from multiple sources in unique ways. You can still link dashboards and panels to alerting rules using their ID and quickly troubleshoot the system under observation.
Since unified alerts are no longer directly tied to panel queries, they do not include images or query values in the notification email. You can use customized notification templates to view query values.
## Create Loki and Grafana Mimir alerting rules
In Grafana Alerting, you can manage Loki and Grafana Mimir alerting rules using the same UI and API as your Grafana managed alerts.
## View and search for alerts from Prometheus compatible data sources
Alerts for Prometheus compatible data sources are now listed under the Grafana alerts section. You can search for labels across multiple data sources to quickly find relevant alerts.
## Special alerts for alert state NoData and Error
Grafana Alerting introduced a new concept of the alert states. When evaluation of an alerting rule produces state NoData or Error, Grafana Alerting will generate special alerts that will have the following labels:
- `alertname` with value DatasourceNoData or DatasourceError depending on the state.
- `rulename` name of the alert rule the special alert belongs to.
- `datasource_uid` will have the UID of the data source that caused the state.
- all labels and annotations of the original alert rule
You can handle these alerts the same way as regular alerts by adding a silence, route to a contact point, and so on.
> **Note:** If the rule uses many data sources and one or many returns no data, the special alert will be created for each data source that caused the alert state.

View File

@@ -1,7 +1,7 @@
---
aliases:
- metrics/
- unified-alerting/fundamentals/
- ./metrics/ # /docs/grafana/<GRAFANA_VERSION>/alerting/metrics/
- ./unified-alerting/fundamentals/ # /docs/grafana/<GRAFANA_VERSION>/alerting/unified-alerting/fundamentals/
canonical: https://grafana.com/docs/grafana/latest/alerting/fundamentals/
description: Learn about the fundamentals of Grafana Alerting as well as the key features it offers
labels:
@@ -26,7 +26,7 @@ The following diagram gives you an overview of Grafana Alerting and introduces y
- Grafana alerting periodically queries data sources and evaluates the condition defined in the alert rule
- If the condition is breached, an alert instance fires
- Firing instances are routed to notification policies based on matching labels
- Firing and resolved alert instances are routed to notification policies based on matching labels
- Notifications are sent out to the contact points specified in the notification policy
## Fundamentals
@@ -35,72 +35,60 @@ The following concepts are key to your understanding of how Grafana Alerting wor
### Alert rules
An alert rule consists of one or more queries and expressions that select the data you want to measure. It also contains a condition, which is the threshold that an alert rule must meet or exceed in order to fire.
An [alert rule][alert-rules] consists of one or more queries and expressions that select the data you want to measure. It also contains a condition, which is the threshold that an alert rule must meet or exceed in order to fire.
Add annotations to your alert rule to provide additional information about the alert rule and add labels to uniquely identify your alert rule and configure alert routing. Labels link alert rules to notification policies, so you can easily manage which policy should handle which alerts and who gets notified.
Add labels to uniquely identify your alert rule and configure alert routing. Labels link alert rules to notification policies, so you can easily manage which policy should handle which alerts and who gets notified.
Once alert rules are created, they go through various states and transitions. An alert rule can produce multiple alert instances - one alert instance for each time series.
The alert rule state is determined by the “worst case” state of the alert instances produced and the states can be Normal, Pending, or Firing. For example, if one alert instance is firing, the alert rule state will also be firing.
The alert rule health is determined by the status of the evaluation of the alert rule, which can be Ok, Error, and NoData.
### Labels and states
Alert rules are uniquely identified by sets of key/value pairs called labels. Each key is a label name and each value is a label value. For example, one alert might have the labels `foo=bar` and another alert rule might have the labels `foo=baz`. An alert rule can have many labels such as `foo=bar,bar=baz`, but it cannot have the same label twice such as `foo=bar,foo=baz`. Two alert rules cannot have the same labels either, and if two alert rules have the same labels such as `foo=bar,bar=baz` and `foo=bar,bar=baz` then one of the alerts will be discarded. Firing alerts are resolved when the condition in the alert rule is no longer met, or the alert rule is deleted.
In Grafana-managed alert rules, alert rules can be in Normal, Pending, Alerting, No Data or Error states. In datasource-managed alert rules, such as Mimir and Loki, alert rules can be in Normal, Pending and Alerting, but not NoData or Error.
Once alert rules are created, they go through various states and transitions.
### Alert instances
For Grafana-managed alert rules, multiple alert instances can be created as a result of one alert rule (also known as a multi-dimensional alerting) and they can be in Normal, Pending, Alerting, No Data, Error states. For Mimir or Loki-managed alert rules, alert instances are only created when the threshold condition defined in an alert rule is breached.
Each alert rule can produce multiple alert instances (also known as alerts) - one alert instance for each time series. This is exceptionally powerful as it allows us to observe multiple series in a single expression.
### Contact points
```promql
sum by(cpu) (
rate(node_cpu_seconds_total{mode!="idle"}[1m])
)
```
Contact points determine where notifications are sent. For example, you might have a contact point that sends notifications to an email address, to Slack, to an incident management system (IRM) such as Grafana OnCall or Pagerduty, or to a webhook.
A rule using the PromQL expression above creates as many alert instances as the amount of CPUs we are observing after the first evaluation, enabling a single rule to report the status of each CPU.
The notifications that are sent from contact points can be customized using notification templates. You can use notification templates to change the title, message, and structure of the notification. Notification templates are not specific to individual integrations or contact points.
{{< figure src="/static/img/docs/alerting/unified/multi-dimensional-alert.png" caption="Multiple alert instances from a single alert rule" >}}
[Alert rules are frequently evaluated][alert-rule-evaluation] and the state of their alert instances is updated accordingly. Only alert instances that are in a firing or resolved state are routed to notification policies to be handled.
### Notification policies
Notification policies group alerts and then route them to contact points. They determine when notifications are sent, and how often notifications should be repeated.
[Notification policies][notification-policies] group alerts and then route them to contact points. They determine when notifications are sent, and how often notifications should be repeated.
Alerts are matched to notification policies using label matchers. These are human-readable expressions that assert if the alert's labels exactly match, do not exactly match, contain, or do not contain some expected text. For example, the matcher `foo=bar` matches alerts with the label `foo=bar` while the matcher `foo=~[a-zA-Z]+` matches alerts with any label called foo with a value that matches the regular expression `[a-zA-Z]+`.
Alert instances are matched to notification policies using label matchers. This provides a flexible way to organize and route alerts to different receivers.
By default, an alert can only match one notification policy. However, with the `continue` feature alerts can be made to match any number of notification policies at the same time. For more information on notification policies, see [fundamentals of Notification Policies][notification-policies].
Each policy consists of a set of label matchers (0 or more) that specify which alert instances (identified by their labels) they handle. Notification policies are defined as a tree structure where the root of the notification policy tree is called the **Default notification policy**. Each policy can have child policies.
{{< figure src="/media/docs/alerting/notification-routing.png" max-width="750px" caption="Notification policy routing" >}}
### Contact points
[Contact points][contact-points] determine where notifications are sent. For example, you might have a contact point that sends notifications to an email address, to Slack, to an incident management system (IRM) such as Grafana OnCall or Pagerduty, or to a webhook.
Notifications sent from contact points are customizable with notification templates, which can be shared between contact points.
### Silences and mute timings
Silences and mute timings allow you to pause notifications for specific alerts or even entire notification policies. Use a silence to pause notifications on an ad-hoc basis, such as during a maintenance window; and use mute timings to pause notifications at regular intervals, such as evenings and weekends.
[Silences][silences] and [mute timings][mute-timings] allow you to pause notifications for specific alerts or even entire notification policies. Use a silence to pause notifications on an ad-hoc basis, such as during a maintenance window; and use mute timings to pause notifications at regular intervals, such as evenings and weekends.
## Provisioning
### Architecture
You can create your alerting resources (alert rules, notification policies, and so on) in the Grafana UI; configmaps, files and configuration management systems using file-based provisioning; and in Terraform using API-based provisioning.
Grafana Alerting is built on the Prometheus model of designing alerting systems.
## Key features and benefits
Prometheus-based alerting systems have two main components:
**One page for all alerts**
- An alert generator that evaluates alert rules and sends firing and resolved alerts to the alert receiver.
- An alert receiver (also known as Alertmanager) that receives the alerts and is responsible for handling them and sending their notifications.
A single Grafana Alerting page consolidates both Grafana-managed alerts and alerts that reside in your Prometheus-compatible data source in one single place.
Grafana doesnt use Prometheus as its default alert generator because Grafana Alerting needs to work with many other data sources in addition to Prometheus.
**Multi-dimensional alerts**
Alert rules can create multiple individual alert instances per alert rule, known as multi-dimensional alerts, giving you the power and flexibility to gain visibility into your entire system with just a single alert rule. You do this by adding labels to your query to specify which component is being monitored and generate multiple alert instances for a single alert rule. For example, if you want to monitor each server in a cluster, a multi-dimensional alert will alert on each CPU, whereas a standard alert will alert on the overall server.
**Route alerts**
Route each alert instance to a specific contact point based on labels you define. Notification policies are the set of rules for where, when, and how the alerts are routed to contact points.
**Silence alerts**
Silences stop notifications from getting created and last for only a specified window of time.
Silences allow you to stop receiving persistent notifications from one or more alert rules. You can also partially pause an alert based on certain criteria. Silences have their own dedicated section for better organization and visibility, so that you can scan your paused alert rules without cluttering the main alerting view.
**Mute timings**
A mute timing is a recurring interval of time when no new notifications for a policy are generated or sent. Use them to prevent alerts from firing a specific and reoccurring period, for example, a regular maintenance period.
Similar to silences, mute timings do not prevent alert rules from being evaluated, nor do they stop alert instances from being shown in the user interface. They only prevent notifications from being created.
However, Grafana can also use Prometheus as an alert generator as well as external Alertmanagers. For more information about how to use distinct alerting systems, refer to the [Grafana alert rule types][alert-rules].
## Design your Alerting system
@@ -134,17 +122,28 @@ Here are some tips on how to create an effective alert management set up for you
- Think carefully about priority and severity levels.
- Continually review your thresholds and evaluation rules.
## Principles
In Prometheus-based alerting systems, you have an alert generator that creates alerts and an alert receiver that receives alerts. For example, Prometheus is an alert generator and is responsible for evaluating alert rules, while Alertmanager is an alert receiver and is responsible for grouping, inhibiting, silencing, and sending notifications about firing and resolved alerts.
Grafana Alerting is built on the Prometheus model of designing alerting systems. It has an internal alert generator responsible for scheduling and evaluating alert rules, as well as an internal alert receiver responsible for grouping, inhibiting, silencing, and sending notifications. Grafana doesnt use Prometheus as its alert generator because Grafana Alerting needs to work with many other data sources in addition to Prometheus. However, it does use Alertmanager as its alert receiver.
Alerts are sent to the alert receiver where they are routed, grouped, inhibited, silenced and notified. In Grafana Alerting, the default alert receiver is the Alertmanager embedded inside Grafana, and is referred to as the Grafana Alertmanager. However, you can use other Alertmanagers too, and these are referred to as [External Alertmanagers][external-alertmanagers].
{{% docs/reference %}}
[alert-rules]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules"
[alert-rules]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules"
[contact-points]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/notifications/contact-points"
[contact-points]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/notifications/contact-points"
[silences]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/create-silence"
[silences]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/create-silence"
[mute-timings]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/mute-timings"
[mute-timings]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/mute-timings"
[alertmanager]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/notifications/alertmanager"
[alertmanager]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/notifications/alertmanager"
[alert-rule-evaluation]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules/rule-evaluation"
[alert-rule-evaluation]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/rule-evaluation"
[external-alertmanagers]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/configure-alertmanager"
[external-alertmanagers]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/configure-alertmanager"
[notification-policies]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/notification-policies/notifications"
[notification-policies]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/notification-policies/notifications"
[notification-policies]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/notifications/notification-policies"
[notification-policies]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/notifications/notification-policies"
{{% /docs/reference %}}

View File

@@ -1,4 +1,9 @@
---
aliases:
- ../fundamentals/data-source-alerting/ # /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/data-source-alerting/
- ../fundamentals/alert-rules/alert-instances/ # /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules/alert-instances/
- ../fundamentals/alert-rules/recording-rules/ # /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules/recording-rules/
- ../fundamentals/alert-rules/alert-rule-types/ # /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules/alert-rule-types/
canonical: https://grafana.com/docs/grafana/latest/alerting/fundamentals/alert-rules/
description: Learn about alert rules
keywords:
@@ -16,27 +21,93 @@ weight: 100
# Alert rules
An alert rule is a set of evaluation criteria for when an alert rule should fire. An alert rule consists of one or more queries and expressions, a condition, and the duration over which the condition needs to be met to start firing.
An alert rule is a set of evaluation criteria for when an alert rule should fire. An alert rule consists of:
While queries and expressions select the data set to evaluate, a condition sets the threshold that an alert must meet or exceed to create an alert.
- Queries and expressions that select the data set to evaluate.
- A condition (the threshold) that the query must meet or exceed to trigger the alert instance.
- An interval that specifies the frequency of [alert rule evaluation][alert-rule-evaluation] and a duration indicating how long the condition must be met to trigger the alert instance.
- Other customizable options, for example, setting what should happen in the absence of data, notification messages, and more.
An interval specifies how frequently an alert rule is evaluated. Duration, when configured, indicates how long a condition must be met. The alert rules can also define alerting behavior in the absence of data.
Grafana supports two different alert rule types: Grafana-managed alert rules and data source-managed alert rules.
- [Alert rule types][alert-rule-types]
- [Alert instances][alert-instances]
- [Organising alert rules][organising-alerts]
- [Annotation and labels][annotation-label]
## Grafana-managed alert rules
Grafana-managed alert rules are the most flexible alert rule type. They allow you to create alerts that can act on data from any of our [supported data sources](#supported-data-sources), and use multiple data sources in a single alert rule.
Additionally, you can also add [expressions to transform your data][expression-queries], set custom alert conditions, and include [images in alert notifications][notification-images].
{{< figure src="/media/docs/alerting/grafana-managed-alerting-architecture.png" max-width="750px" caption="How Grafana-managed alerting works by default" >}}
1. Alert rules are created within Grafana based on one or more data sources.
1. Alert rules are evaluated by the Alert Rule Evaluation Engine from within Grafana.
1. Firing and resolved alert instances are delivered to the internal Grafana [Alertmanager][alert-manager] which handles notifications.
### Supported data sources
Grafana-managed alert rules can query backend data sources if Grafana Alerting enabled by specifying `{"backend": true, "alerting": true}` in the [plugin.json](/developers/plugin-tools/reference-plugin-json).
The following data sources are supported:
- [Enterprise data source plugins](/grafana/plugins/data-source-plugins/?enterprise=1) and others maintained by Grafana such as [AWS Athena](/grafana/plugins/grafana-athena-datasource/), [AWS X-Ray](/grafana/plugins/grafana-x-ray-datasource/), [AWS Redshift](/grafana/plugins/grafana-redshift-datasource/), [AWS Timestream](/grafana/plugins/grafana-timestream-datasource/), [AWS IoT SiteWise](/grafana/plugins/grafana-iot-sitewise-datasource/), [Azure Data Explorer](/grafana/plugins/grafana-azure-data-explorer-datasource/), [Azure Monitor](/grafana/plugins/grafana-azure-monitor-datasource/), [ClickHouse](/grafana/plugins/grafana-clickhouse-datasource/), [Cloudwatch](/grafana/plugins/cloudwatch/), [CSV](/grafana/plugins/marcusolsson-csv-datasource/), [Elasticsearch](/grafana/plugins/elasticsearch/), [Falcon LogScale](/grafana/plugins/grafana-falconlogscale-datasource/), [GitHub](/grafana/plugins/grafana-github-datasource/), [Google BigQuery](/grafana/plugins/grafana-bigquery-datasource/), [Google Cloud Monitoring](/grafana/plugins/stackdriver/), [Graphite](/grafana/plugins/graphite/), [Loki](/grafana/plugins/loki/), [InfluxDB](/grafana/plugins/influxdb/), [Infinity](/grafana/plugins/yesoreyeram-infinity-datasource/), [MSSQL](/grafana/plugins/mssql/), [MySQL](/grafana/plugins/mysql/), [OpenSearch](/grafana/plugins/grafana-opensearch-datasource/), [OpenTSDB](/grafana/plugins/opentsdb/), [Oracle](/grafana/plugins/grafana-oracle-datasource/), [Orbit](/grafana/plugins/grafana-orbit-datasource/), [PostgreSQL](/grafana/plugins/postgres/), [Prometheus](/grafana/plugins/prometheus/), [Sentry](/grafana/plugins/grafana-sentry-datasource/), [SurrealDB](/grafana/plugins/grafana-surrealdb-datasource/), and [TestData](/grafana/plugins/grafana-testdata-datasource/).
- Backend data sources maintained by the [community](/grafana/plugins/data-source-plugins/?signature=community) and [partners](/grafana/plugins/data-source-plugins/?signature=commercial) that enable alerting.
## Data source-managed alert rules
Data source-managed alert rules can improve query performance via [recording rules](#recording-rules) and ensure high-availability and fault tolerance when implementing a distributed architecture.
They are only supported for Prometheus-based or Loki data sources with the Ruler API enabled. For more information, refer to the [Loki Ruler API](/docs/loki/<GRAFANA_VERSION>/api/#ruler) or [Mimir Ruler API](/docs/mimir/<GRAFANA_VERSION>/references/http-api/#ruler).
{{< figure src="/media/docs/alerting/mimir-managed-alerting-architecture-v2.png" max-width="750px" caption="Mimir-managed alerting architecture" >}}
1. Alert rules are created and stored within the data source itself.
1. Alert rules can only query Prometheus-based data. It can use either queries or [recording rules](#recording-rules).
1. Alert rules are evaluated by the Alert Rule Evaluation Engine.
1. Firing and resolved alert instances are delivered to the configured [Alertmanager][alert-manager] which handles notifications.
### Recording rules
A recording rule allows you to pre-compute frequently needed or computationally expensive expressions and save their result as a new set of time series. This is useful if you want to run alerts on aggregated data or if you have dashboards that query computationally expensive expressions repeatedly.
Querying this new time series is faster, especially for dashboards since they query the same expression every time the dashboards refresh. For more information, refer to [Create recording rules][create-recording-rules].
Alternatively, Grafana Enterprise and Grafana Cloud offer [recorded queries][recorded-queries] that can be executed against any data source.
## Comparison between alert rule types
When choosing which alert rule type to use, consider the following comparison between Grafana-managed and data source-managed alert rules.
| <div style="width:200px">Feature</div> | <div style="width:200px">Grafana-managed alert rule</div> | <div style="width:200px">Data source-managed alert rule |
| ------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Create alert rules<wbr /> based on data from any of our supported data sources | Yes | No. You can only create alert rules that are based on Prometheus-based data. |
| Mix and match data sources | Yes | No |
| Includes support for recording rules | No | Yes |
| Add expressions to transform<wbr /> your data and set alert conditions | Yes | No |
| Use images in alert notifications | Yes | No |
| Scaling | More resource intensive, depend on the database, and are likely to suffer from transient errors. They only scale vertically. | Store alert rules within the data source itself and allow for “infinite” scaling. Generate and send alert notifications from the location of your data. |
| Alert rule evaluation and delivery | Alert rule evaluation and delivery is done from within Grafana, using an external Alertmanager; or both. | Alert rule evaluation and alert delivery is distributed, meaning there is no single point of failure. |
{{% docs/reference %}}
[alert-instances]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules/alert-instances"
[alert-instances]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/alert-instances"
[alert-rule-types]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules/alert-rule-types"
[alert-rule-types]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/alert-rule-types"
[alert-manager]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/notifications/alertmanager"
[alert-manager]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/notifications/alertmanager"
[annotation-label]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/annotation-label"
[annotation-label]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/annotation-label"
[create-recording-rules]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/alerting-rules/create-mimir-loki-managed-recording-rule"
[create-recording-rules]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/alerting-rules/create-mimir-loki-managed-recording-rule"
[alert-rule-evaluation]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules/rule-evaluation"
[alert-rule-evaluation]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/rule-evaluation"
[expression-queries]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules/queries-conditions#expression-queries"
[expression-queries]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/queries-conditions#expression-queries"
[queries-and-conditions]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules/queries-conditions"
[queries-and-conditions]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/queries-conditions"
[notification-images]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/template-notifications/images-in-notifications"
[notification-images]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/template-notifications/images-in-notifications"
[recorded-queries]: "/docs/ -> /docs/grafana/<GRAFANA_VERSION>/administration/recorded-queries"
[organising-alerts]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules/organising-alerts"
[organising-alerts]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/organising-alerts"
{{% /docs/reference %}}

View File

@@ -1,31 +0,0 @@
---
canonical: https://grafana.com/docs/grafana/latest/alerting/fundamentals/alert-rules/alert-instances/
description: Learn about alert instances
keywords:
- grafana
- alerting
- instances
labels:
products:
- cloud
- enterprise
- oss
title: Alert instances
weight: 105
---
# Alert instances
Grafana managed alerts support multi-dimensional alerting. Each alert rule can create multiple alert instances. This is exceptionally powerful if you are observing multiple series in a single expression.
Consider the following PromQL expression:
```promql
sum by(cpu) (
rate(node_cpu_seconds_total{mode!="idle"}[1m])
)
```
A rule using this expression will create as many alert instances as the amount of CPUs we are observing after the first evaluation, allowing a single rule to report the status of each CPU.
{{< figure src="/static/img/docs/alerting/unified/multi-dimensional-alert.png" caption="A multi-dimensional Grafana managed alert rule" >}}

View File

@@ -1,77 +0,0 @@
---
canonical: https://grafana.com/docs/grafana/latest/alerting/fundamentals/alert-rules/alert-rule-types/
description: Learn about the different alert rule types that Grafana Alerting supports
keywords:
- grafana
- alerting
- rule types
labels:
products:
- cloud
- enterprise
- oss
title: Alert rule types
weight: 102
---
# Alert rule types
Grafana supports two different alert rule types. Learn more about each of the alert rule types, how they work, and decide which one is best for your use case.
## Grafana-managed alert rules
Grafana-managed alert rules are the most flexible alert rule type. They allow you to create alerts that can act on data from any of our supported data sources.
In addition to supporting multiple data sources, you can also add expressions to transform your data and set alert conditions. Using images in alert notifications is also supported. This is the only type of rule that allows alerting from multiple data sources in a single rule definition.
The following diagram shows how Grafana-managed alerting works.
{{< figure src="/media/docs/alerting/grafana-managed-rule.png" max-width="750px" caption="Grafana-managed alerting" >}}
1. Alert rules are created within Grafana based on one or more data sources.
1. Alert rules are evaluated by the Alert Rule Evaluation Engine from within Grafana.
1. Alerts are delivered using the internal Grafana Alertmanager.
**Note:**
You can also configure alerts to be delivered using an external Alertmanager; or use both internal and external alertmanagers.
For more information, see Add an external Alertmanager.
## Data source-managed alert rules
To create data source-managed alert rules, you must have a compatible Prometheus or Loki data source.
You can check if your data source supports rule creation via Grafana by testing the data source and observing if the Ruler API is supported.
For more information on the Ruler API, refer to [Ruler API](/docs/loki/latest/api/#ruler).
The following diagram shows how data source-managed alerting works.
{{< figure src="/media/docs/alerting/loki-mimir-rule.png" max-width="750px" caption="Grafana Mimir/Loki-managed alerting" >}}
1. Alert rules are created and stored within the data source itself.
1. Alert rules can only be created based on Prometheus data.
1. Alert rule evaluation and delivery is distributed across multiple nodes for high availability and fault tolerance.
## Choose an alert rule type
When choosing which alert rule type to use, consider the following comparison between Grafana-managed alert rules and Grafana Mimir or Loki alert rules.
{{< responsive-table >}}
| <div style="width:200px">Feature</div> | <div style="width:200px">Grafana-managed alert rule</div> | <div style="width:200px">Loki/Mimir-managed alert rule |
| ----------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Create alert rules<wbr /> based on data from any of our supported data sources | Yes | No: You can only create alert rules that are based on Prometheus data. The data source must have the Ruler API enabled. |
| Mix and match data sources | Yes | No |
| Includes support for recording rules | No | Yes |
| Add expressions to transform<wbr /> your data and set alert conditions | Yes | No |
| Use images in alert notifications | Yes | No |
| Scaling | More resource intensive, depend on the database, and are likely to suffer from transient errors. They only scale vertically. | Store alert rules within the data source itself and allow for “infinite” scaling. Generate and send alert notifications from the location of your data. |
| Alert rule evaluation and delivery | Alert rule evaluation and delivery is done from within Grafana, using an external Alertmanager; or both. | Alert rule evaluation and alert delivery is distributed, meaning there is no single point of failure. |
{{< /responsive-table >}}
**Note:**
If you are using non-Prometheus data, we recommend choosing Grafana-managed alert rules. Otherwise, choose Grafana Mimir or Grafana Loki alert rules where possible.

View File

@@ -0,0 +1,143 @@
---
aliases:
- ../../fundamentals/annotation-label/ # /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/annotation-label/
- ../../fundamentals/annotation-label/labels-and-label-matchers/ # /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/annotation-label/labels-and-label-matchers/
- ../../fundamentals/annotation-label/how-to-use-labels/ # /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/annotation-label/how-to-use-labels/
- ../../alerting-rules/alert-annotation-label/ # /docs/grafana/<GRAFANA_VERSION>/alerting/alerting-rules/alert-annotation-label/
- ../../unified-alerting/alerting-rules/alert-annotation-label/ # /docs/grafana/<GRAFANA_VERSION>/alerting/unified-alerting/alerting-rules/alert-annotation-label/
canonical: https://grafana.com/docs/grafana/latest/alerting/fundamentals/alert-rules/annotation-label/
description: Learn how to use annotations and labels to store key information about alerts
keywords:
- grafana
- alerting
- guide
- rules
- create
labels:
products:
- cloud
- enterprise
- oss
title: Labels and annotations
weight: 105
---
# Labels and annotations
Labels and annotations contain information about an alert. Labels are used to differentiate an alert from all other alerts, while annotations are used to add additional information to an existing alert.
## Labels
Labels contain information that identifies an alert. An example of a label might be `server=server1` or `team=backend`. Each alert can have more than one label, and the complete set of labels for an alert is called its label set. It is this label set that identifies the alert.
For example, an alert might have the label set `{alertname="High CPU usage",server="server1"}` while another alert might have the label set `{alertname="High CPU usage",server="server2"}`. These are two separate alerts because although their `alertname` labels are the same, their `server` labels are different.
Labels are a fundamental component of alerting:
- The complete set of labels for an alert is what uniquely identifies an alert within Grafana alerts.
- The alerting UI shows labels for every alert instance generated during evaluation of that rule.
- Contact points can access labels to send notification messages that contain specific alert information.
- The Alertmanager uses labels to match alerts for silences and alert groups in notification policies.
Note that two alert rules cannot have the same labels. If two alert rules have the same labels such as `foo=bar,bar=baz` and `foo=bar,bar=baz` then one of the alerts will be discarded.
### How label matching works
Use labels and label matchers to link alert rules to notification policies and silences. This allows for a flexible way to manage your alert instances, specify which policy should handle them, and which alerts to silence.
A label matchers consists of 3 distinct parts, the **label**, the **value** and the **operator**.
- The **Label** field is the name of the label to match. It must exactly match the label name.
- The **Value** field matches against the corresponding value for the specified **Label** name. How it matches depends on the **Operator** value.
- The **Operator** field is the operator to match against the label value. The available operators are:
| Operator | Description |
| -------- | -------------------------------------------------- |
| `=` | Select labels that are exactly equal to the value. |
| `!=` | Select labels that are not equal to the value. |
| `=~` | Select labels that regex-match the value. |
| `!~` | Select labels that do not regex-match the value. |
If you are using multiple label matchers, they are combined using the AND logical operator. This means that all matchers must match in order to link a rule to a policy.
{{< collapse title="Label matching example" >}}
If you define the following set of labels for your alert:
`{ foo=bar, baz=qux, id=12 }`
then:
- A label matcher defined as `foo=bar` matches this alert rule.
- A label matcher defined as `foo!=bar` does _not_ match this alert rule.
- A label matcher defined as `id=~[0-9]+` matches this alert rule.
- A label matcher defined as `baz!~[0-9]+` matches this alert rule.
- Two label matchers defined as `foo=bar` and `id=~[0-9]+` match this alert rule.
**Exclude labels**
You can also write label matchers to exclude labels.
Here is an example that shows how to exclude the label `Team`. You can choose between any of the values below to exclude labels.
| Label | Operator | Value |
| ------ | -------- | ----- |
| `team` | `=` | `""` |
| `team` | `!~` | `.+` |
| `team` | `=~` | `^$` |
{{< /collapse >}}
## Label types
An alert's label set can contain three types of labels:
- Labels from the datasource,
- Custom labels specified in the alert rule,
- A series of reserved labels, such as `alertname` or `grafana_folder`.
### Custom Labels
Custom labels are additional labels configured manually in the alert rule.
Ensure the label set for an alert does not have two or more labels with the same name. If a custom label has the same name as a label from the datasource then it will replace that label. However, should a custom label have the same name as a reserved label then the custom label will be omitted from the alert.
{{< collapse title="Key format" >}}
Grafana's built-in Alertmanager supports both Unicode label keys and values. If you are using an external Prometheus Alertmanager, label keys must be compatible with their [data model](https://prometheus.io/docs/concepts/data_model/#metric-names-and-labels).
This means that 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 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. If this is the first character it will be prefixed with `_`.
Example: A label key/value pair `Alert! 🔔="🔥"` will become `Alert_0x1f514="🔥"`.
If multiple label keys are sanitized to the same value, the duplicates will have a short hash of the original label appended as a suffix.
{{< /collapse >}}
### Reserved labels
Reserved labels can be used in the same way as manually configured custom labels. The current list of available reserved labels are:
| Label | Description |
| -------------- | ----------------------------------------- |
| alert_name | The name of the alert rule. |
| grafana_folder | Title of the folder containing the alert. |
Labels prefixed with `grafana_` are reserved by Grafana for special use. To stop Grafana Alerting from adding a reserved label, you can disable it via the `disabled_labels` option in [unified_alerting.reserved_labels](/docs/grafana/<GRAFANA_VERSION>/setup-grafana/configure-grafana#unified_alertingreserved_labels) configuration.
## Annotations
Both labels and annotations have the same structure: a set of named values; however their intended uses are different. The purpose of annotations is to add additional information to existing alerts.
There are a number of suggested annotations in Grafana such as `description`, `summary`, `runbook_url`, `dashboardUId` and `panelId`. Like custom labels, annotations must have a name, and their value can contain a combination of text and template code that is evaluated when an alert is fired.
{{% docs/reference %}}
[variables-label-annotation]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/alerting-rules/templating-labels-annotations"
[variables-label-annotation]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/alerting-rules/templating-labels-annotations"
{{% /docs/reference %}}

View File

@@ -1,7 +1,7 @@
---
aliases:
- ../unified-alerting/alerting-rules/edit-cortex-loki-namespace-group/
- ../unified-alerting/alerting-rules/edit-mimir-loki-namespace-group/
- ../../unified-alerting/alerting-rules/edit-cortex-loki-namespace-group/ # /docs/grafana/<GRAFANA_VERSION>/alerting/unified-alerting/alerting-rules/edit-cortex-loki-namespace-group/
- ../../unified-alerting/alerting-rules/edit-mimir-loki-namespace-group/ # /docs/grafana/<GRAFANA_VERSION>/alerting/unified-alerting/alerting-rules/edit-mimir-loki-namespace-group/
canonical: https://grafana.com/docs/grafana/latest/alerting/fundamentals/alert-rules/organising-alerts/
description: Learn about organizing alerts using namespaces, folders, and groups
keywords:
@@ -14,7 +14,7 @@ labels:
- enterprise
- oss
title: Namespaces, folders, and groups
weight: 105
weight: 107
---
## Namespaces, folders, and groups

View File

@@ -1,4 +1,7 @@
---
aliases:
- ../../fundamentals/evaluate-grafana-alerts/ # /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/evaluate-grafana-alerts/
- ../../unified-alerting/fundamentals/evaluate-grafana-alerts/ # /docs/grafana/<GRAFANA_VERSION>/alerting/unified-alerting/fundamentals/evaluate-grafana-alerts/
canonical: https://grafana.com/docs/grafana/latest/alerting/fundamentals/alert-rules/queries-conditions/
description: Define queries to get the data you want to measure and conditions that need to be met before an alert rule fires
keywords:
@@ -148,9 +151,70 @@ To solve this problem, you can set a (custom) recovery threshold, which basicall
For example, you could set a threshold of 1000ms and a recovery threshold of 900ms. This way, an alert rule will only stop firing when it goes under 900ms and flapping is reduced.
## Alert on numeric data
Among certain data sources numeric data that is not time series can be directly alerted on, or passed into Server Side Expressions (SSE). This allows for more processing and resulting efficiency within the data source, and it can also simplify alert rules.
When alerting on numeric data instead of time series data, there is no need to reduce each labeled time series into a single number. Instead labeled numbers are returned to Grafana instead.
### Tabular Data
This feature is supported with backend data sources that query tabular data:
- SQL data sources such as MySQL, Postgres, MSSQL, and Oracle.
- The Azure Kusto based services: Azure Monitor (Logs), Azure Monitor (Azure Resource Graph), and Azure Data Explorer.
A query with Grafana managed alerts or SSE is considered numeric with these data sources, if:
- The "Format AS" option is set to "Table" in the data source query.
- The table response returned to Grafana from the query includes only one numeric (e.g. int, double, float) column, and optionally additional string columns.
If there are string columns then those columns become labels. The name of column becomes the label name, and the value for each row becomes the value of the corresponding label. If multiple rows are returned, then each row should be uniquely identified their labels.
**Example**
For a MySQL table called "DiskSpace":
| Time | Host | Disk | PercentFree |
| ----------- | ---- | ---- | ----------- |
| 2021-June-7 | web1 | /etc | 3 |
| 2021-June-7 | web2 | /var | 4 |
| 2021-June-7 | web3 | /var | 8 |
| ... | ... | ... | ... |
You can query the data filtering on time, but without returning the time series to Grafana. For example, an alert that would trigger per Host, Disk when there is less than 5% free space:
```sql
SELECT Host, Disk, CASE WHEN PercentFree < 5.0 THEN PercentFree ELSE 0 END FROM (
SELECT
Host,
Disk,
Avg(PercentFree)
FROM DiskSpace
Group By
Host,
Disk
Where __timeFilter(Time)
```
This query returns the following Table response to Grafana:
| Host | Disk | PercentFree |
| ---- | ---- | ----------- |
| web1 | /etc | 3 |
| web2 | /var | 4 |
| web3 | /var | 0 |
When this query is used as the **condition** in an alert rule, then the non-zero will be alerting. As a result, three alert instances are produced:
| Labels | Status |
| --------------------- | -------- |
| {Host=web1,disk=/etc} | Alerting |
| {Host=web2,disk=/var} | Alerting |
| {Host=web3,disk=/var} | Normal |
{{% docs/reference %}}
[data-source-alerting]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/data-source-alerting"
[data-source-alerting]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/data-source-alerting"
[data-source-alerting]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules#supported-data-sources"
[data-source-alerting]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules#supported-data-sources"
[query-transform-data]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/query-transform-data"
[query-transform-data]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/query-transform-data"

View File

@@ -1,27 +0,0 @@
---
canonical: https://grafana.com/docs/grafana/latest/alerting/fundamentals/alert-rules/recording-rules/
description: Create recording rules to pre-compute frequently needed or computationally expensive expressions and save the result as a new set of time series
keywords:
- grafana
- alerting
- recording rules
labels:
products:
- cloud
- enterprise
- oss
title: Recording rules
weight: 103
---
# Recording rules
_Recording rules are only available for compatible Prometheus or Loki data sources._
A recording rule allows you to pre-compute frequently needed or computationally expensive expressions and save their result as a new set of time series. This is useful if you want to run alerts on aggregated data or if you have dashboards that query computationally expensive expressions repeatedly.
Querying this new time series is faster, especially for dashboards since they query the same expression every time the dashboards refresh.
Grafana Enterprise offers an alternative to recorded rules in the form of recorded queries that can be executed against any data source.
For more information on recording rules in Prometheus, refer to [recording rules](https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/).

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