Compare commits

...

764 Commits

Author SHA1 Message Date
Jev Forsberg
477dcb0335 [v11.0.x] Chore: Update alpine build docker image (#100070)
Some checks failed
Sync to mirror / trigger_downstream_patch_mirror (push) Has been cancelled
Chore: Update alpine build docker image (#99998)

baldm0mma/ update alpine build image

(cherry picked from commit 46af49f907)
2025-02-04 14:32:39 -07:00
Jev Forsberg
d5a97f1fa4 Release: 11.0.10 (#99694)
Some checks failed
Sync to mirror / trigger_downstream_patch_mirror (push) Has been cancelled
* apply security patch: v11.0.x/310-202501232104.patch

commit 546935e4dcab6c415d4302f4f8548c3d93b1df22
Author: Matt Jacobson <matthew.jacobson@grafana.com>
Date:   Thu Jan 23 15:56:40 2025 -0500

    CVE-2024-11741 - victorops url

* baldm0mma/ update version and add changelog content

* baldm0mma/update deps

* baldm0mma/update deps

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-01-28 11:42:52 -07:00
grafana-delivery-bot[bot]
62743dc0db [v11.0.x] Azure: Correctly set application insights resource values (#99594)
Some checks are pending
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
* Azure: Correctly set application insights resource values (#99214)

Correctly set resource values

(cherry picked from commit 30ee8b9813)

* Fix test

---------

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2025-01-27 21:12:20 +02:00
grafana-delivery-bot[bot]
f9bb741280 [v11.0.x] MSSQL: Correctly type UDPConnectionLimit (#99579)
MSSQL: Correctly type `UDPConnectionLimit` (#99011)

* Correctly type UDPConnectionLimit

* Update tests

* Handle legacy case

(cherry picked from commit cc09f38421)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2025-01-27 18:12:27 +02:00
Jack Baldry
5cd8e37536 [v11.0.x] Remove codespell (#99434)
Some checks failed
Sync to mirror / trigger_downstream_patch_mirror (push) Has been cancelled
2025-01-23 12:41:14 +00:00
grafana-delivery-bot[bot]
dd9453a963 [v11.0.x] Add Apache instructions (#99206)
Some checks failed
publish-technical-documentation-release / sync (push) Has been cancelled
Sync to mirror / trigger_downstream_patch_mirror (push) Has been cancelled
Co-authored-by: Joseph Perez <45749060+josmperez@users.noreply.github.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Irene Rodriguez <irene.rodriguez@grafana.com>
Co-authored-by: Jacob Valdez <jacob.valdez@grafana.com>
Co-authored-by: Ronald McCollam <mccollam@gmail.com>
2025-01-21 14:57:29 -06:00
grafana-delivery-bot[bot]
54a011af65 [v11.0.x] Docs: Updated unsupported and unconfirmed lists (#99186)
Some checks failed
publish-technical-documentation-release / sync (push) Has been cancelled
Sync to mirror / trigger_downstream_patch_mirror (push) Has been cancelled
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2025-01-17 09:39:47 -05:00
Mariell Hoversholm
aa03183150 Security: Update to Go 1.22.11 - Backport to v11.0.x (#99127)
Some checks are pending
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
* feat: update to Go 1.22.11

* chore: make drone

* CI: Force re-build

* chore: go work use

* build: update mariadb connection

The new Alpine base that the Golang images are built on no longer trust the CA of MySQL.

This is a backport of: https://github.com/grafana/grafana/pull/98857

(cherry picked from commit e1bb8ccb79)
(cherry picked from commit 5becd9ac03)
2025-01-17 09:37:27 +01:00
grafana-delivery-bot[bot]
4a6c9aed08 [v11.0.x] ContactPoints: Remove blank lines prefixes in contact point types (#98762)
Some checks failed
Sync to mirror / trigger_downstream_patch_mirror (push) Has been cancelled
ContactPoints: Remove blank lines prefixes in contact point types (#98590)

Remove blank lines prefixes in contact point types

(cherry picked from commit 7cad430ca7)

Co-authored-by: Selene <selenepinillos@gmail.com>
2025-01-10 11:36:37 +01:00
grafana-delivery-bot[bot]
78da36c656 [v11.0.x] Use v2 of publishing workflow that checks out HEAD of version branch on tag events (#98584)
Some checks failed
Sync to mirror / trigger_downstream_patch_mirror (push) Has been cancelled
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2025-01-07 17:01:26 +02:00
Andreas Christou
fa002aceed [v11.0.x] MSSQL: Bump go-mssqldb to v1.8.0 (#98594)
Some checks are pending
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
Bump go-mssqldb
2025-01-07 13:10:58 +00:00
grafana-delivery-bot[bot]
dd00fd6b7e [v11.0.x] Docs: Add Google Sheets to unsupported list (#98539)
Some checks failed
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
publish-technical-documentation-release / sync (push) Has been cancelled
Co-authored-by: Jay <92761481+JayEkin@users.noreply.github.com>
2025-01-06 12:01:34 -05:00
grafana-delivery-bot[bot]
4f88a396d9 [v11.0.x] Docs: Gauge visualization refactor (#98215)
Some checks failed
publish-technical-documentation-release / sync (push) Has been cancelled
Sync to mirror / trigger_downstream_patch_mirror (push) Has been cancelled
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-12-18 12:45:44 -05:00
grafana-delivery-bot[bot]
9782e43876 [v11.0.x] Docs: Fix broken link (#97902)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Fix broken link (#97891)
2024-12-13 14:34:48 +01:00
Mariell Hoversholm
9042def18e Backport 0a390cc069 from #97823 (#97854)
Some checks failed
Sync to mirror / trigger_downstream_patch_mirror (push) Has been cancelled
* Backport 0a390cc069 from #97823

* fix: don't upgrade go
2024-12-12 16:31:11 +01:00
grafana-delivery-bot[bot]
761cf13d24 [v11.0.x] Docs: pie chart visualization refactor (#97703)
Some checks failed
publish-technical-documentation-release / sync (push) Has been cancelled
Sync to mirror / trigger_downstream_patch_mirror (push) Has been cancelled
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-12-09 15:43:42 -05:00
Isabel Matwawana
6ef632a6b7 [v11.0.x] Docs: state timeline visualization refactor (#97693) 2024-12-09 12:50:14 -05:00
Isabel Matwawana
1e4ac92881 [v11.0.x] Docs: heatmap visualization refactor (#97680) 2024-12-09 11:49:52 -05:00
grafana-delivery-bot[bot]
24bdc6287c [v11.0.x] Docs: alert list visualization refactor (#97665)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-12-09 10:40:32 -05:00
grafana-delivery-bot[bot]
eb0cf29686 [v11.0.x] Azure/GCM: Improve error display (#97592)
Some checks failed
Sync to mirror / trigger_downstream_patch_mirror (push) Has been cancelled
Azure/GCM: Improve error display (#96921)

Improve handling of errors

(cherry picked from commit 9f75a448d4)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2024-12-07 12:11:16 +02:00
grafana-delivery-bot[bot]
993000fa63 [v11.0.x] Docs: Updating ldd example command for image renderer troubleshooting (#97548)
Some checks failed
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
publish-technical-documentation-release / sync (push) Has been cancelled
Docs: Updating ldd example command for image renderer troubleshooting (#97443)

(cherry picked from commit 0025876659)

Co-authored-by: Jacob Valdez <jacob.valdez@grafana.com>
2024-12-06 06:37:52 -06:00
grafana-delivery-bot[bot]
cba22c714f [v11.0.x] CI: Fix latest tag not being correctly applied to releases (#97523)
Some checks are pending
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
CI: Fix `latest` tag not being correctly applied to releases (#96497)

* baldm0mma/tag_latest_bug/ update github-release.yml default values

* baldm0mma/tag_latest_bug/ update release-comms.yml

* baldm0mma/tag_latest_bug/ update logic

* baldm0mma/tag_latest_bug/ update logic

* baldm0mma/tag_latest_bug/ update logic

* baldm0mma/tag_latest_bug/ update logic for both cases

* baldm0mma/tag_latest_bug/ update comment

(cherry picked from commit d8c19136bf)

Co-authored-by: Jev Forsberg <46619047+baldm0mma@users.noreply.github.com>
2024-12-05 15:32:42 -07:00
github-actions[bot]
7f49d650b3 Release: 11.0.9 (#97427)
Some checks are pending
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
* Update changelog

* Update version to 11.0.9

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-12-04 10:20:21 -08:00
Jev Forsberg
a1291054a0 [v11.0.x] CI: add missing github app volume to release pipeline (#97409)
Some checks are pending
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
CI: add missing github app volume to release pipeline (#97406)

add github app volume to release pipeline

(cherry picked from commit 6fe184a565)

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2024-12-04 08:29:15 -07:00
grafana-delivery-bot[bot]
7a6e0293ed [v11.0.x] Packaging: Remove sysvinit references / support from rhel packaging (#97306)
Some checks failed
publish-technical-documentation-release / sync (push) Has been cancelled
Sync to mirror / trigger_downstream_patch_mirror (push) Has been cancelled
Packaging: Remove sysvinit references / support from rhel packaging (#97068)

Remove sysvinit references / support from rhel packaging

(cherry picked from commit 3448384e0d)

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2024-12-02 21:50:59 +02:00
Jev Forsberg
048ed56968 [v11.0.x] Chore: Remove verification steps for deb/rpm in drone (#97300)
Chore: Remove verification steps for deb/rpm in drone (#96991)

remove verification steps for deb/rpm in drone

(cherry picked from commit feeb2c6ce0)

Co-authored-by: Serge Zaitsev <serge.zaitsev@grafana.com>
2024-12-02 11:58:24 -07:00
Isabel Matwawana
5507f711a7 [v11.0.x] Docs: Canvas visualization refactor (#97291) 2024-12-02 12:18:52 -05:00
Isabel Matwawana
3531e6adfa [v11.0.x] Docs - Remove Wrap text option from Cell options (#97213)
Some checks are pending
publish-technical-documentation-release / sync (push) Waiting to run
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
2024-12-02 10:39:04 -05:00
grafana-delivery-bot[bot]
63df758af0 [v11.0.x] Fix: Do not fetch Orgs if the user is authenticated by apikey/sa or render key (#97265)
Fix: Do not fetch Orgs if the user is authenticated by apikey/sa or render key (#97162)

* Do not fetch Orgs if the user is authenticated by apikey/sa or render svc

* Lint

(cherry picked from commit fa634e1476)

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
2024-12-02 16:07:01 +01:00
grafana-delivery-bot[bot]
64073dd683 [v11.0.x] Alerting: Fix incorrect 500 code on missing alert rule dashboardUID / panelID (#96776)
Alerting: Fix incorrect 500 code on missing alert rule dashboardUID / panelID (#96491)

(cherry picked from commit 64c93217ff)

Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
2024-12-02 09:16:02 -05:00
grafana-delivery-bot[bot]
55b088957f [v11.0.x] Update index.md to add a note about provisioned data source (#97229)
Co-authored-by: Irene Rodríguez <irene.rodriguez@grafana.com>
Co-authored-by: Gaurav Soni <raveformails@gmail.com>
2024-12-02 10:58:35 +01:00
Isabel Matwawana
dc4ac3e775 [v11.0.x] Docs: Add note to refresh page after saving dashboards (#97131)
Some checks failed
publish-technical-documentation-release / sync (push) Has been cancelled
Sync to mirror / trigger_downstream_patch_mirror (push) Has been cancelled
2024-11-27 18:57:49 -05:00
grafana-delivery-bot[bot]
4f32b483b4 [v11.0.x] Docs: Add column lists to panel config pages (#97108)
Some checks are pending
publish-technical-documentation-release / sync (push) Waiting to run
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-11-27 10:25:46 -05:00
Kevin Minehart
4fc584b7fc [v11.0.x] CI: Add github app token generation in pipelines that use GITHUB_TOKEN (#96871)
Some checks failed
Sync to mirror / trigger_downstream_patch_mirror (push) Has been cancelled
CI: Add github app token generation in pipelines that use GITHUB_TOKEN (#96646)

* Add github app token generation in pipelines that use GITHUB_TOKEN

* ci?

* clone gh repo using x-access-token user

* address linting issues

* use mounted volume for exporting token

* remove unused github_token env var swagger gen step

* replace pat on release_pr pipepline

* cleanup GH PAT references

* linting

* Update scripts/drone/steps/lib.star

* make drone

---------

Co-authored-by: Matheus Macabu <macabu.matheus@gmail.com>
(cherry picked from commit 2400483d6c)
2024-11-21 16:13:28 -07:00
Isabel Matwawana
c9c87504ee [v11.0.x] Docs: stat visualization refactor (#96806)
Some checks failed
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
publish-technical-documentation-release / sync (push) Has been cancelled
2024-11-20 16:21:32 -05:00
grafana-delivery-bot[bot]
6cf3420732 [v11.0.x] Docs: Moved and renamed navigation section (#96794)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-11-20 15:14:04 -05:00
Isabel Matwawana
b54bf8a7ff [v11.0.x] Docs: Node graph visualization refactor (#96702)
Some checks failed
publish-technical-documentation-release / sync (push) Has been cancelled
Sync to mirror / trigger_downstream_patch_mirror (push) Has been cancelled
2024-11-19 12:31:41 -05:00
github-actions[bot]
e148fc9942 Release: 11.0.8 (#96693)
* Update changelog

* Update version to 11.0.8

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-19 16:18:26 +00:00
grafana-delivery-bot[bot]
d02d1b1104 [v11.0.x] Docs: Logs visualization refactor (#96634)
Some checks are pending
publish-technical-documentation-release / sync (push) Waiting to run
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-11-18 10:02:53 -05:00
Isabel Matwawana
b7acacd373 [v11.0.x] Docs: Bar chart visualization refactor (#96562)
Some checks failed
publish-technical-documentation-release / sync (push) Has been cancelled
Sync to mirror / trigger_downstream_patch_mirror (push) Has been cancelled
2024-11-15 10:07:29 -05:00
Kevin Minehart
14063e8706 [v11.0.x] Alerting: Add useReturnTo hook to safely handle returnTo parameter (#96478)
Some checks are pending
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
Add useReturnTo hook to safely handle returnTo parameter

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
2024-11-14 17:33:10 +01:00
grafana-delivery-bot[bot]
0a4794bea7 [v11.0.x] Docs: Add canvas custom images and icon guidance (#96467)
Some checks are pending
publish-technical-documentation-release / sync (push) Waiting to run
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-11-14 11:01:46 -05:00
Erik Sundell
58fcfd9c76 NPM Releases: Make e2e package private (#96323)
Some checks failed
Sync to mirror / trigger_downstream_patch_mirror (push) Has been cancelled
make package private
2024-11-13 07:15:37 +01:00
grafana-delivery-bot[bot]
a13581a343 [v11.0.x] docs: Fixed title wording from bar gauge to canvas (#96316)
Some checks failed
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
publish-technical-documentation-release / sync (push) Has been cancelled
Co-authored-by: Señor Performo - Leandro Melendez <54183040+srperf@users.noreply.github.com>
Fixed title wording from bar gauge to canvas (#96312)
2024-11-12 10:04:43 -05:00
grafana-delivery-bot[bot]
6da6f8b2e1 [v11.0.x] docs: Update CanvasDoc adding video link (#95991)
Some checks are pending
publish-technical-documentation-release / sync (push) Waiting to run
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
docs: Update CanvasDoc adding video link (#95953)

Update CanvasDoc adding video link

(cherry picked from commit cd3a71e7cb)

Co-authored-by: Señor Performo - Leandro Melendez <54183040+srperf@users.noreply.github.com>
2024-11-11 15:15:17 +01:00
Fayzal Ghantiwala
a41db29261 [v11.0.x] Alerting: Make context deadline on AlertNG service startup configurable (#96131)
Some checks failed
Sync to mirror / trigger_downstream_patch_mirror (push) Has been cancelled
* Alerting: Make context deadline on AlertNG service startup configurable (#96053)

* Make alerting context deadline configurable

* Remove debug logs

* Change default timeout

* Update tests

(cherry picked from commit 1fdc48faba)

* Update test

* No cyclo lint
2024-11-08 16:46:36 +00:00
ismail simsek
6a3b84ebd2 [v11.0.x] Prometheus: Fix interpolating adhoc filters with template variables (#95986)
Some checks failed
Sync to mirror / trigger_downstream_patch_mirror (push) Has been cancelled
* Prometheus: Fix interpolating adhoc filters with template variables (#88626)

* Prometheus: replace variables on adhoc filters

Fixes #87979

Signed-off-by: Stéphane Cazeaux <stephane.cazeaux@orange.com>

* Prometheus: replace variable filters on adhoc variables also when promQLScope=true

Signed-off-by: Stéphane Cazeaux <stephane.cazeaux@orange.com>

---------

Signed-off-by: Stéphane Cazeaux <stephane.cazeaux@orange.com>
(cherry picked from commit 6b876f1e38)

* fix unit test

* revert

* revert some unnecessary changes

* remove unnecessary promqlscope ft checks

* linting

---------

Co-authored-by: Stéphane Cazeaux <stephane.cazeaux@casper-online.net>
2024-11-07 08:39:29 +01:00
Erik Sundell
1f0aa2a1af NPM releases: Stop publishing the e2e package (#95350)
Some checks are pending
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
remove e2e from list of packages
2024-11-06 13:38:50 +01:00
grafana-delivery-bot[bot]
aba1c37d27 [v11.0.x] ServerLock: Fix pg concurrency/locking issue (#95932)
Some checks are pending
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
ServerLock: Fix pg concurrency/locking issue (#95916)

Fix pg unique constraint validation in serverlock

(cherry picked from commit ab974ddf14)

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
2024-11-06 11:07:55 +02:00
grafana-delivery-bot[bot]
86488ae49c [v11.0.x] Azure: Handle namespace request rejection (#95906)
Some checks are pending
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
Azure: Handle namespace request rejection (#95574)

Handle rejection and add test

(cherry picked from commit da1a5426d0)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2024-11-05 21:06:59 +02:00
grafana-delivery-bot[bot]
b2ba2ea616 [v11.0.x] User: Check SignedInUser OrgID in RevokeInvite (#95487)
Some checks failed
Sync to mirror / trigger_downstream_patch_mirror (push) Has been cancelled
User: Check SignedInUser OrgID in RevokeInvite (#95476)

Check SignedInUser OrgID in RevokeInvite

(cherry picked from commit fedcf47702)

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
2024-10-28 14:41:11 +02:00
Kevin Minehart
4ef9fb7607 [v11.0.x] CI: Remove drone steps for building windows because its done in grafana-… (#95410)
Some checks failed
Sync to mirror / trigger_downstream_patch_mirror (push) Has been cancelled
CI: Remove drone steps for building windows because it's done in grafana-… (#95373)

Remove drone steps for building windows because it's done in grafana-build now

(cherry picked from commit 67b3848fd9)
2024-10-25 17:04:01 +03:00
Kevin Minehart
9d9ab65fea [v11.0.x] CI: use linux to build msi installers (#95296)
Some checks failed
publish-technical-documentation-release / sync (push) Has been cancelled
Sync to mirror / trigger_downstream_patch_mirror (push) Has been cancelled
CI: use linux to build msi installers (#95215)

* Build the MSI installers using Linux and wine

(cherry picked from commit 66c728d26b)
2024-10-23 14:12:08 -06:00
grafana-delivery-bot[bot]
747a82bcd0 [v11.0.x] Docs: Table visualization update (#95283)
Co-authored-by: Adela Almasan <88068998+adela-almasan@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-10-23 14:37:39 -04:00
Diego Augusto Molina
786151d4e3 [v11.0.x] Chore: Bump pyroscope go godeltaprof (#94741)
bump to github.com/grafana/pyroscope-go/godeltaprof@v0.1.8
2024-10-23 12:57:21 -03:00
grafana-delivery-bot[bot]
f4eb00952d [v11.0.x] Prometheus: Fix passing query timeout to upstream queries (#95261)
Prometheus: Fix passing query timeout to upstream queries (#95104)

* remove queryTimeout from constructor

* use queryTimeout for range and instant queries

* remove comment

* remove default query timeout

* fix linting

(cherry picked from commit 78a00d09cd)

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2024-10-23 16:49:23 +02:00
grafana-delivery-bot[bot]
829e425b4d [v11.0.x] Fix: Deduplicate OrgID in SA logins (#94400)
* Fix: Deduplicate OrgID in SA logins (#94378)

* Fix: Deduplicate OrgID in SA logins

(cherry picked from commit b90e09e966)

* Fix: Actually call the DedupOrgInLogin migration (#94520)

* Fix: Account for conflicting logins in dedupOrgInlogin migration (#94669)

---------

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2024-10-23 15:47:42 +02:00
grafana-delivery-bot[bot]
10e0b16e42 [v11.0.x] Azure: Fix duplicated traces in multi-resource trace query (#95244)
Some checks are pending
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
Azure: Fix duplicated traces in multi-resource trace query (#95156)

Use first resource as base resource for query

(cherry picked from commit 8bb7475e4f)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2024-10-23 14:49:01 +03:00
grafana-delivery-bot[bot]
41152036d5 [v11.0.x] Migration: Remove table aliasing in delete statement to make it work for mariadb (#95229)
Migration: Remove table aliasing in delete statement to make it work for mariadb (#95226)

Migration: remove table aliasing in delete statement to make it work in mariadb
(cherry picked from commit 6f7528f896)

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2024-10-23 11:21:46 +02:00
lean.dev
7c7a4401b3 [v11.0.x] Anonymous User: Adds validator service for anonymous users (#95151)
Some checks are pending
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
* Anonymous User: Adds validator service for anonymous users (#94700)

(cherry picked from commit 3438196010)
2024-10-22 14:29:19 -03:00
github-actions[bot]
4669757e52 Release: 11.0.7 (#95158)
* Update changelog

* Update version to 11.0.7

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-10-22 15:05:54 +02:00
grafana-delivery-bot[bot]
6dd0f19508 [v11.0.x] Azure Monitor: Support metric namespaces fallback (#95152)
Some checks are pending
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
Azure Monitor: Support metric namespaces fallback (#94722)

* Update display names

* Update multi-resource types

* Update default metric namespace list

* Initialise namespace list with fallback namespaces

* Add test

* Update test

(cherry picked from commit 986bd2f9f8)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2024-10-22 15:43:28 +03:00
Sam Jewell
ceff188b35 [v11.0.x] ServerSideExpressions: Disable SQL Expressions to prevent RCE and LFI vulnerability (#94971)
Some checks failed
Sync to mirror / trigger_downstream_patch_mirror (push) Has been cancelled
ServerSideExpressions: Disable SQL Expressions to prevent RCE and LFI vulnerability (#94942)

* disable sql expressions

remove duckdb ref

* Run `make update-workspace`

---------

Co-authored-by: Scott Lepper <scott.lepper@gmail.com>
(cherry picked from commit ea71201ddc)
2024-10-18 09:48:48 -04:00
Diego Augusto Molina
10ea008462 [v11.0.x] CI: Additional changes for +security versions (#94927)
Some checks are pending
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
CI: Additional changes for +security versions (#94854)

* Build: Fix docker manifest create not using correct IMAGE_TAG

* Support publishing security versions of NPM packages

---------

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
Co-authored-by: Kevin Minehart <kmineh0151@gmail.com>
Co-authored-by: Diego Augusto Molina <diegoaugustomolina@gmail.com>
(cherry picked from commit 8f7352e862)

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2024-10-17 17:20:20 -03:00
github-actions[bot]
f5a2695590 Release: 11.0.6+security-01 (#94902)
Some checks are pending
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
* Update changelog

* Update version to 11.0.6+security-01

* Revert "Update version to 11.0.6+security-01"

This reverts commit d078536ba6.

* add cve to changelog

* yarn run prettier:write

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: joshhunt <josh@trtr.co>
Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
Co-authored-by: Kevin Minehart <kmineh0151@gmail.com>
2024-10-17 12:16:54 -05:00
github-actions[bot]
bffd24a35c Release: 11.0.5+security-01 (#94891)
* Update changelog

* Update version to 11.0.5+security-01

* Revert "Update version to 11.0.5+security-01"

This reverts commit 9f3c59c1e3.

* add cve to changelog

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: joshhunt <josh@trtr.co>
2024-10-17 17:44:41 +01:00
Kevin Minehart
b9574d6698 [v11.0.x] CI: Support more version formats in publishing (#94747)
Some checks failed
Sync to mirror / trigger_downstream_patch_mirror (push) Has been cancelled
CI: Support more version formats in publishing (#94575)

* cleanup dead code
* add tests and rewrite publish grafanacom steps to reuse
* add pkg/build tests; don't upload CDN assets on grafana releases

(cherry picked from commit 7a2edd35d5)
2024-10-15 13:24:16 -05:00
Diego Augusto Molina
c03cd22431 [v11.0.x] Dashboard: Make dashboard search faster (#94702)
Some checks are pending
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
* Dashboard: Make dashboard search faster (#88019)

(cherry picked from commit 28992f0488)

* fix cherry-pick leftover

---------

Co-authored-by: knuzhdin <32521427+knuzhdin@users.noreply.github.com>
2024-10-15 10:07:56 -03:00
grafana-delivery-bot[bot]
62201abe1b [v11.0.x] Fix list indentation to ensure continuous numbering (#94693)
Some checks failed
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
publish-technical-documentation-release / sync (push) Has been cancelled
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
Fix list indentation to ensure continuous numbering (#94692)
2024-10-14 19:27:13 +01:00
grafana-delivery-bot[bot]
b7118163f2 [v11.0.x] docs: added configure structure and youtube video link (#94626)
Some checks failed
publish-technical-documentation-release / sync (push) Has been cancelled
Sync to mirror / trigger_downstream_patch_mirror (push) Has been cancelled
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Señor Performo - Leandro Melendez <54183040+srperf@users.noreply.github.com>
2024-10-11 10:21:41 -04:00
grafana-delivery-bot[bot]
ecda40e78a [v11.0.x] GCM: Time field naming (#94604)
GCM: Time field naming (#94548)

* Name time field correctly

* Update tests

* Lint

(cherry picked from commit 7c79f8f7a5)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2024-10-11 13:51:21 +03:00
Misi
f88f9199a5 [v11.0.x] OrgSync: Do not set default Organization for a user to a non-existent Organization (#94552)
Some checks are pending
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
OrgSync: Do not set default Organization for a user to a non-existent Organization (#94537)

Do not set default org for a user to a missing org

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
(cherry picked from commit c872cad879)
2024-10-10 17:30:33 +03:00
grafana-delivery-bot[bot]
0de3ec2903 [v11.0.x] Fix: Ensure SA migrations doesn't hit migrated SAs if rerun (#94397)
Some checks are pending
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
Fix: Ensure SA migrations doesn't hit migrated SAs if rerun (#94347)

* ensure mig doesn't hit migrated SAs if rerun

* Fix small issue with the test

---------

Co-authored-by: gamab <gabriel.mabille@grafana.com>
(cherry picked from commit 945dd052b1)

Co-authored-by: Jo <joao.guerreiro@grafana.com>
2024-10-10 11:35:34 +02:00
Andreas Christou
db354f2d71 [v11.0.x] AzureMonitor: Fix App Insights portal URL for multi-resource trace queries (#94489)
Some checks are pending
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
AzureMonitor: Fix App Insights portal URL for multi-resource trace queries (#94119)

* Retrieve the resource in the query

* Appropriately construct url

* Update tests

(cherry picked from commit 97a90591ca)

# Conflicts:
#	pkg/tsdb/azuremonitor/loganalytics/traces.go
#	pkg/tsdb/azuremonitor/loganalytics/traces_test.go
2024-10-09 16:40:38 +01:00
grafana-delivery-bot[bot]
225b47165d [v11.0.x] ServiceAccounts: Run migration in batches (#94434)
Some checks are pending
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
ServiceAccounts: Run migration in batches (#94429)

* ServiceAccounts: Run migration in batches

(cherry picked from commit 2d0ea60017)

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2024-10-08 21:04:51 +02:00
Karl Persson
dbc1b646cb [v11.0.x] ServiceAccounts: Remove permissions to service account when it is deleted (#94370)
Some checks are pending
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
ServiceAccounts: Remove permissions to service account when it is deleted (#93877)

* Service account: clean up permissions related to service accounts when deleted

* Add migration for deleting orphaned service account permissions
2024-10-08 14:33:46 +02:00
grafana-delivery-bot[bot]
3adcf92c1e [v11.0.x] Update CODEOWNERS (#94337)
Co-authored-by: Irene Rodriguez <irene.rodriguez@grafana.com>
2024-10-08 08:49:08 +01:00
Jev Forsberg
6a9f1532ea [v11.0.x] CI: Remove redundant FE and BE tests from release pipeline (#94354)
Some checks are pending
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
CI: Remove redundant FE and BE tests from release pipeline (#94173)

baldm0mma/remove_tests/ remove fe and be tests

(cherry picked from commit 0e8fa1f5f8)
2024-10-07 15:38:47 -06:00
Alexander Zobnin
84f806b573 [v11.0.x] Annotations: Fix composite store read (#94180)
Some checks failed
Sync to mirror / trigger_downstream_patch_mirror (push) Has been cancelled
* Annotations: Fix composite store read (#94158)

* Annotations: Fix composite store read

* Add test

* check error

(cherry picked from commit bd1741653d)

* remove unused file

* re-format
2024-10-03 18:33:13 +03:00
Yuri Tseretyan
8801d0a781 Move CVE-2024-8118 to changelog of 11.0.5 (#94165)
Some checks are pending
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
2024-10-02 17:25:17 -04:00
grafana-delivery-bot[bot]
d859de6a9a [v11.0.x] Docs: Geomap visualization refactor (#94160)
Some checks failed
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
publish-technical-documentation-release / sync (push) Has been cancelled
Co-authored-by: Irene Rodriguez <irene.rodriguez@grafana.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-10-02 11:44:17 -04:00
Kevin Minehart
01a7e5dc9a [v11.0.x] CI: upgrade grabpl v3.0.53 (#94123)
Some checks are pending
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
CI: upgrade grabpl v3.0.53 (#94112)

* upgrade grabpl to v3.0.53

* upgrade grabpl to v3.0.53

(cherry picked from commit 26c3ed89a3)
2024-10-01 23:29:36 +01:00
github-actions[bot]
2520d54e25 Release: 11.0.6 (#94099)
* Update changelog

* Update version to 11.0.6

* add alerting cve fix note

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2024-10-01 19:08:38 +01:00
grafana-delivery-bot[bot]
5c51966ac6 [v11.0.x] Docs - direction param for Loki in Explore (#94017)
Some checks failed
publish-technical-documentation-release / sync (push) Has been cancelled
Sync to mirror / trigger_downstream_patch_mirror (push) Has been cancelled
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Steven Dungan <114922977+stevendungan@users.noreply.github.com>
2024-09-30 16:57:45 +01:00
grafana-delivery-bot[bot]
f435ea0f72 [v11.0.x] Update Image Render Dependencies (#93986)
Co-authored-by: Dai Nguyen <88277570+ej25a@users.noreply.github.com>
2024-09-30 10:42:00 +01:00
grafana-delivery-bot[bot]
355161aac7 [v11.0.x] Update Okta SAML attributes documentation (#93973)
Some checks are pending
publish-technical-documentation-release / sync (push) Waiting to run
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
Update Okta SAML attributes documentation (#93966)

Co-authored-by: Irene Rodriguez <irene.rodriguez@grafana.com>
(cherry picked from commit fb9e12c106)

Co-authored-by: Dai Nguyen <88277570+ej25a@users.noreply.github.com>
2024-09-30 09:44:50 +02:00
grafana-delivery-bot[bot]
be023a10fd [v11.0.x] Alerting: Fix incorrect permission on POST external rule groups endpoint [CVE-2024-8118] (#93949)
Some checks failed
Sync to mirror / trigger_downstream_patch_mirror (push) Has been cancelled
Alerting: Fix incorrect permission on POST external rule groups endpoint [CVE-2024-8118] (#93940)

Fix endpoint permission on rule write endpoint

(cherry picked from commit c2799b4901)

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2024-09-27 14:53:20 -05:00
Stephanie Hingtgen
12dd28d04d [v11.0.x]: Live: Add ha_prefix (#93759) (#93926)
---------

Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>
2024-09-27 14:20:43 -05:00
grafana-delivery-bot[bot]
f107b0db60 [v11.0.x] update minimum supported version for MySQL (#93882)
Some checks failed
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
publish-technical-documentation-release / sync (push) Has been cancelled
Co-authored-by: Irene Rodriguez <irene.rodriguez@grafana.com>
2024-09-27 09:14:31 +01:00
Jev Forsberg
0acbcd2c81 [v11.0.x] CI: Bump alpine version (#93873)
Some checks are pending
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
CI: Bump alpine version (#93865)

* baldm0mma/up_alpine/ update alpine

* baldm0mma/resolve commits

(cherry picked from commit dc1670ed9a)
2024-09-26 20:54:23 -06:00
Jev Forsberg
3aa9ed274a [v11.0.x] CI: Update retry_command function (#93868)
* CI: Update retry_command function (#93863)

* baldm0mma/update args

* baldm0mma/update_args/ conflict

(cherry picked from commit b17b98aeb9)

* make drone
2024-09-26 19:46:34 -06:00
github-actions[bot]
400178ec3c Release: 11.0.5 (#93819)
Some checks are pending
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
* Update changelog

* Update version to 11.0.5

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-09-26 14:39:11 +01:00
grafana-delivery-bot[bot]
dade7bfaaf Correlations: Limit access to correlations page to users who can access Explore (#93674)
Correlations: Limit access to correlations page to users who can access Explore (#93519)

Correlations: Limit access to correlations page to users who can access Explore
(cherry picked from commit 813e1c1364)

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
2024-09-26 09:57:35 +02:00
Isabel Matwawana
cb1b4ab8aa [v11.0.x] Docs: Table visualization refactor (#93765)
Some checks failed
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
publish-technical-documentation-release / sync (push) Has been cancelled
2024-09-25 16:52:42 -04:00
Joey
f1e99d1806 [v11.0.x] TraceView: Fix for toString() usage in span filters (#93684)
Some checks are pending
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
TraceView: Fix for toString() usage in span filters (#93648)

Fix for toString() usage

(cherry picked from commit d30dc3ad50)
2024-09-25 14:17:57 +01:00
grafana-delivery-bot[bot]
e055768434 [v11.0.x] AzureMonitor: Deduplicate resource picker rows (#93703)
AzureMonitor: Deduplicate resource picker rows (#93129)

* Use URI for querying resources in RG

- Ensure resource group names are correctly slash separated

* Update test

(cherry picked from commit 76c8975b4f)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2024-09-25 10:47:31 +01:00
grafana-delivery-bot[bot]
662120de9c [v11.0.x] Docs > alerting: example of conditional notification based on labels (#93577)
Some checks failed
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
publish-technical-documentation-release / sync (push) Has been cancelled
Docs > alerting: example of conditional notification based on labels (#93541)

* Docs > alerting: example of conditional notification based on labels

* typos

* Update docs/sources/alerting/configure-notifications/template-notifications/create-notification-templates.md

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

---------

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

Co-authored-by: antonio <45235678+tonypowa@users.noreply.github.com>
2024-09-24 09:07:29 +02:00
grafana-delivery-bot[bot]
64161f72c6 [v11.0.x] Annotations: Optimize search by tags (#93609)
Some checks are pending
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
Annotations: Optimize search by tags (#93547)

* Annotations: Optimize search on large number of dashboards

* refactor

* fix batch size

* Return early if no annotations found

* revert go.mod

* return nil in case of error

* Move default limit to the API package

* fix empty access control filter

* Set default limit to 100

* optimize query when number of annotations is less than limit

* Update pkg/services/annotations/annotationsimpl/annotations.go

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

* remove limit from store since it's set in API

* set default limit in Find method (do not break tests)

* Only add limit to the query if it's set

* use limit trick for all searches without dashboard filter

* set default page if not provided

---------

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

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
2024-09-23 17:57:18 +02:00
grafana-delivery-bot[bot]
68a0a02844 [v11.0.x] Alerting docs: updates duration type to string (#93535)
Some checks failed
publish-technical-documentation-release / sync (push) Has been cancelled
Sync to mirror / trigger_downstream_patch_mirror (push) Has been cancelled
Alerting docs: updates duration type to string (#93532)

* Alerting docs: updates duration type to string

* ran prettier

(cherry picked from commit a2859de5b6)

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-09-20 15:59:22 +03:00
grafana-delivery-bot[bot]
56853cf796 [v11.0.x] Plugins: Avoid returning 404 for AutoEnabled apps (#93486)
Some checks are pending
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
Plugins: Avoid returning 404 for `AutoEnabled` apps (#93436)

avoid errors for autoenabled apps

(cherry picked from commit 362ffff591)

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2024-09-19 16:19:26 +03:00
grafana-delivery-bot[bot]
417b9e0c70 [v11.0.x] Update workflows to use actions that don't need organization secrets (#93483)
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-09-19 16:12:45 +03:00
grafana-delivery-bot[bot]
c8b7546e6b [v11.0.x] AzureMonitor: Improve resource picker efficiency (#93438)
Some checks are pending
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
AzureMonitor: Improve resource picker efficiency (#93127)

* Parameterise region building metric namespace URL

- Add parameter for region (this parameter takes precedence over if global is set)
- Update tests
- Support this parameter on the data source method

* Refactor fetchAllNamespaces

- Use Set rather than an array for greater performance
- Request namespaces across WestEurope, EastUS, and JapanEast concurrently
- Update test

* Maintain existing behaviour

(cherry picked from commit 6a3dbe7d41)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2024-09-18 15:39:28 +01:00
Dave Henderson
10c7ae6056 [v11.0.x] Chore: Bump Go to 1.22.7 (#93358)
Some checks are pending
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2024-09-18 00:24:34 +03:00
grafana-delivery-bot[bot]
664b933026 [v11.0.x] alerting>docs>notification template example (#93391)
Some checks failed
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
publish-technical-documentation-release / sync (push) Has been cancelled
alerting>docs>notification template example (#93330)

* alerting>docs>notification template example

* all pretty no pity

* Update docs/sources/alerting/configure-notifications/template-notifications/create-notification-templates.md

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

* Update docs/sources/alerting/configure-notifications/template-notifications/create-notification-templates.md

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

* Update docs/sources/alerting/configure-notifications/template-notifications/create-notification-templates.md

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

* Update docs/sources/alerting/configure-notifications/template-notifications/create-notification-templates.md

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

* replaced future tense

* pretty

---------

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

Co-authored-by: antonio <45235678+tonypowa@users.noreply.github.com>
2024-09-17 13:05:19 +02:00
Kevin Minehart
87f5bf1914 [v11.0.x] CI: Update grafanabot github token (#93294)
Some checks failed
Sync to mirror / trigger_downstream_patch_mirror (push) Has been cancelled
CI: Update grafanabot github token (#93291)

Update grafanabot github token

(cherry picked from commit d60a28b3c8)
2024-09-12 23:47:47 +03:00
grafana-delivery-bot[bot]
c60816ff6e [v11.0.x] docs: Update Gauges adding why, how with data reqs and images (#93141)
Some checks failed
publish-technical-documentation-release / sync (push) Has been cancelled
Sync to mirror / trigger_downstream_patch_mirror (push) Has been cancelled
Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Señor Performo - Leandro Melendez <54183040+srperf@users.noreply.github.com>
2024-09-09 16:35:16 -04:00
Jev Forsberg
078bfbff5d [v11.0.x] CI/CD: Update retry logic for package validation (#92992)
Some checks failed
Sync to mirror / trigger_downstream_patch_mirror (push) Has been cancelled
CI/CD: Update retry logic for package validation (#92943)

* baldm0mma/retry_command/ update retry logic for package validation

* baldm0mma/retry_command/ update to 15 minutes

* baldm0mma/retry_command/ update to 30 minute retry

* baldm0mma/retry_command/ make drone

(cherry picked from commit d3ceaf41c2)
2024-09-05 09:56:37 -06:00
grafana-delivery-bot[bot]
53f1fc1a8c [v11.0.x] CI: Ensure changelogs are prettified prior to commit (#92914)
Some checks failed
publish-technical-documentation-release / sync (push) Has been cancelled
Sync to mirror / trigger_downstream_patch_mirror (push) Has been cancelled
CI: Ensure changelogs are prettified prior to commit (#92580)

* Ensure changelogs are prettified prior to commit

* Remove cache property

* Include .yarn directory

* Include packages directory

* Try just using npx

* Update workflows

(cherry picked from commit 8daa6f1f30)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2024-09-04 12:16:28 +01:00
grafana-delivery-bot[bot]
75211bfede [v11.0.x] Alerting docs: adds caps not supported in email contact points (#92910)
Alerting docs: adds caps not supported in email contact points (#92902)

* Alerting docs: adds caps not supported in email contact points

* ran prettier

* feedback from antonio

* ran prettier

(cherry picked from commit 9d3d1703f7)

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-09-04 12:12:59 +02:00
grafana-delivery-bot[bot]
881fc7d38a [v11.0.x] alerting: docs / highlight tutorial in landing page (#92822)
Some checks failed
publish-technical-documentation-release / sync (push) Has been cancelled
Sync to mirror / trigger_downstream_patch_mirror (push) Has been cancelled
alerting: docs / highlight tutorial in landing page (#92805)

(cherry picked from commit 0df5a6aefc)

Co-authored-by: antonio <45235678+tonypowa@users.noreply.github.com>
2024-09-02 17:01:12 +02:00
grafana-delivery-bot[bot]
a797dbc1a8 [v11.0.x] docs: Canvas updates adding why and how describing data needs (#92781)
Some checks failed
publish-technical-documentation-release / sync (push) Has been cancelled
Sync to mirror / trigger_downstream_patch_mirror (push) Has been cancelled
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
Co-authored-by: Señor Performo - Leandro Melendez <54183040+srperf@users.noreply.github.com>
2024-08-30 13:25:52 -04:00
grafana-delivery-bot[bot]
82ab0be934 [v11.0.x] docs: Histogram update added missing options (#92777)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Señor Performo - Leandro Melendez <54183040+srperf@users.noreply.github.com>
2024-08-30 13:24:41 -04:00
grafana-delivery-bot[bot]
07bec6cfbe [v11.0.x] docs: Alert list update adding missing elements and descriptions. (#92773)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Señor Performo - Leandro Melendez <54183040+srperf@users.noreply.github.com>
2024-08-30 13:17:08 -04:00
grafana-delivery-bot[bot]
d59faa1aed [v11.0.x] docs: updates to Pie chart documentation (#92769)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
Co-authored-by: Señor Performo - Leandro Melendez <54183040+srperf@users.noreply.github.com>
2024-08-30 11:22:40 -04:00
grafana-delivery-bot[bot]
467ffbd9fb [v11.0.x] docs: StatusHistory update added missing option and reordered headers (#92756)
Some checks are pending
publish-technical-documentation-release / sync (push) Waiting to run
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Señor Performo - Leandro Melendez <54183040+srperf@users.noreply.github.com>
2024-08-30 09:35:47 -04:00
Isabel Matwawana
f801f70db4 [v11.0.x] docs: Added geomap missing headings, why and how describing data needs (#92710)
Some checks are pending
publish-technical-documentation-release / sync (push) Waiting to run
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Señor Performo - Leandro Melendez <54183040+srperf@users.noreply.github.com>
2024-08-29 15:28:13 -04:00
Isabel Matwawana
66f5eee27a [v11.0.x] docs: added explanation of why to use tables and how to use with their data needs (#92708)
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Señor Performo - Leandro Melendez <54183040+srperf@users.noreply.github.com>
2024-08-29 15:27:30 -04:00
grafana-delivery-bot[bot]
a4611c12fa [v11.0.x] docs: Bar gauge doc updates adding why and how, explaining data needs (#92682)
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Señor Performo - Leandro Melendez <54183040+srperf@users.noreply.github.com>
2024-08-29 10:41:11 -04:00
grafana-delivery-bot[bot]
603a713be3 [v11.0.x] docs: Barchart doc updates add video, why, how and data needs (#92677)
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Señor Performo - Leandro Melendez <54183040+srperf@users.noreply.github.com>
2024-08-29 10:38:47 -04:00
grafana-delivery-bot[bot]
4e70aabcab [v11.0.x] Remove all documented references to time_options (#92662)
Some checks are pending
publish-technical-documentation-release / sync (push) Waiting to run
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-08-29 13:53:10 +01:00
grafana-delivery-bot[bot]
5898c359ee [v11.0.x] TutorialCard: Fix link to tutorial not opening (#92645) 2024-08-29 12:13:48 +02:00
grafana-delivery-bot[bot]
e31ff0175b [v11.0.x] Provisioning: Prevent provisioning folder errors from failing startup (#92588)
Some checks are pending
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
Provisioning: Prevent provisioning folder errors from failing startup (#92560)

* Prevent provisioning folder errors from failing startup
* Refactor setting of dashboard provisioner

(cherry picked from commit 34149c86d0)

Co-authored-by: Arati R. <33031346+suntala@users.noreply.github.com>
2024-08-28 15:40:23 +02:00
grafana-delivery-bot[bot]
b690b4f245 [v11.0.x] docs: Nodegraph doc updates adding why and how explaining data needs (#92538)
Some checks failed
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
publish-technical-documentation-release / sync (push) Has been cancelled
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
Co-authored-by: Señor Performo - Leandro Melendez <54183040+srperf@users.noreply.github.com>
2024-08-27 17:36:10 -04:00
grafana-delivery-bot[bot]
7b35fccf07 [v11.0.x] CI: Run prettier in bump-version workflow (#92529)
Some checks are pending
publish-technical-documentation-release / sync (push) Waiting to run
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
CI: Run prettier in bump-version workflow (#92195)

Run prettier

(cherry picked from commit 931d64b8fc)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2024-08-27 22:39:59 +03:00
grafana-delivery-bot[bot]
fae2a7597f [v11.0.x] docs: Update logs doc adding why and how to including data reqs (#92522)
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Señor Performo - Leandro Melendez <54183040+srperf@users.noreply.github.com>
2024-08-27 14:29:40 -04:00
Jack Baldry
ffa3ee4a44 [v11.0.x] Reorganize Explore Metrics content so OSS TOC matches Cloud (#92502) 2024-08-27 17:03:14 +01:00
github-actions[bot]
926256d53b Release: 11.0.4 (#92481)
* Update changelog

* Update version to 11.0.4

* Lint

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2024-08-27 14:22:02 +01:00
grafana-delivery-bot[bot]
df3ca0a686 [v11.0.x] Update make docs procedure (#92459)
Some checks are pending
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
Co-authored-by: grafanabot <bot@grafana.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-08-27 09:09:28 +01:00
grafana-delivery-bot[bot]
36d78a12b9 [v11.0.x] docs: time series add why use it and how to data needs (#92446)
Some checks are pending
publish-technical-documentation-release / sync (push) Waiting to run
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Señor Performo - Leandro Melendez <54183040+srperf@users.noreply.github.com>
2024-08-26 17:32:07 -04:00
grafana-delivery-bot[bot]
5087a32caf [v11.0.x] Chore: Update swagger ui (4.3.0 to 5.17.14) (#92345)
Some checks failed
Sync to mirror / trigger_downstream_patch_mirror (push) Has been cancelled
Chore: Update swagger ui (4.3.0 to 5.17.14) (#92341)

(cherry picked from commit 1256172df5)

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2024-08-23 10:59:33 +03:00
grafana-delivery-bot[bot]
151f228a58 [v11.0.x] Fix tests failing due to harcoded date (#92313)
Some checks are pending
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
Fix tests failing due to harcoded date (#92293)

fix tests failing due to harcoded date

(cherry picked from commit 9c73916f09)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2024-08-22 18:21:53 +03:00
grafana-delivery-bot[bot]
9d9c960579 [v11.0.x] Docs: remove aliases from incorrect files (#92301)
Some checks failed
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
publish-technical-documentation-release / sync (push) Has been cancelled
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-08-22 10:32:07 -04:00
grafana-delivery-bot[bot]
482310c08c [v11.0.x] Docs: Update adhoc filter documentation (#92226)
Some checks are pending
publish-technical-documentation-release / sync (push) Waiting to run
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
Docs: Update adhoc filter documentation (#92197)

update adhoc filter documentation

(cherry picked from commit 9f8e68e9a1)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-08-21 18:54:02 +03:00
Michael Mandrus
b926139033 Chore: Bump grafana-azure-sdk-go dependency in v11.0.x (#92175)
Some checks are pending
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
upgrade dependency
2024-08-21 10:10:42 -04:00
Larissa Wandzura
cc548f634f [v11.0.x] Docs: Updates to Traces in Explore doc (#92145)
Some checks are pending
publish-technical-documentation-release / sync (push) Waiting to run
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
Docs: Updates to Traces in Explore doc (#90774)

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>
Co-authored-by: Haris Rozajac <58232930+harisrozajac@users.noreply.github.com>
(cherry picked from commit 6efd52eac8)
2024-08-20 13:14:09 -05:00
grafana-delivery-bot[bot]
fa07189174 [v11.0.x] DashboardModel - Add fallback for variable current value fallback (#92122)
Some checks are pending
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
DashboardModel - Add fallback for variable current value fallback (#91833)

* add variable current value fallback when null

* refactor to avoid loosing reference

(cherry picked from commit 7c8184d5bf)

Co-authored-by: Sergej-Vlasov <37613182+Sergej-Vlasov@users.noreply.github.com>
2024-08-20 12:48:31 +03:00
Jo
bd6b57c3ac Chore: Upgrade retryable http (#92119)
chore: upgrade retryablehttp
2024-08-20 11:35:26 +02:00
grafana-delivery-bot[bot]
e387f747b1 [v11.0.x] Capitalized list items under "With Explore Metrics, you can:" (#92015)
Some checks are pending
publish-technical-documentation-release / sync (push) Waiting to run
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
Capitalized list items under "With Explore Metrics, you can:" (#91879)

capitalised list items under "With Explore Metrics, you can:"

(cherry picked from commit 62abaea8f5)

Co-authored-by: Irene Rodriguez <irene.rodriguez@grafana.com>
2024-08-19 09:33:03 -05:00
github-actions[bot]
ef9e0b77e9 Release: 11.0.3 (#91924)
Some checks failed
publish-technical-documentation-release / sync (push) Has been cancelled
Sync to mirror / trigger_downstream_patch_mirror (push) Has been cancelled
* Update changelog

* Update version to 11.0.3

* fix changelog

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Diego Augusto Molina <diegoaugustomolina@gmail.com>
2024-08-14 15:47:17 -03:00
grafana-delivery-bot[bot]
b05b10f96b [v11.0.x] Docs: Add max logo size (#91920)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-08-14 13:57:07 -04:00
grafana-delivery-bot[bot]
99012a57a1 [v11.0.x] docs: add play link to explore metrics to demonstrate (#91860)
Some checks are pending
publish-technical-documentation-release / sync (push) Waiting to run
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
docs: add play link to explore metrics to demonstrate (#91744)

(cherry picked from commit e90b272299)

Co-authored-by: David Allen <david.allen@grafana.com>
2024-08-13 16:40:02 -05:00
grafana-delivery-bot[bot]
34021063d4 [v11.0.x] Docs: add playlist management permissions (#91804)
Some checks failed
publish-technical-documentation-release / sync (push) Has been cancelled
Sync to mirror / trigger_downstream_patch_mirror (push) Has been cancelled
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-08-12 11:34:19 -04:00
grafana-delivery-bot[bot]
503bbbedbc [v11.0.x] OpenTSDB: Fix data frame construction (#91756)
Some checks failed
Sync to mirror / trigger_downstream_patch_mirror (push) Has been cancelled
OpenTSDB: Fix data frame construction (#90991)

* Update type and frame construction

* Update tests

* Keep dataField name as value

(cherry picked from commit 06509712ec)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2024-08-09 19:56:29 +03:00
Andreas Christou
d96741eb51 [v11.0.x] AzureMonitor: Add authproxy as supported user auth method (#91759)
AzureMonitor: Add authproxy as supported user auth method (#91754)

Add authproxy as supported user auth method

(cherry picked from commit d52626be3f)

# Conflicts:
#	public/app/plugins/datasource/azuremonitor/components/QueryEditor/QueryEditor.tsx
2024-08-09 17:45:47 +01:00
grafana-delivery-bot[bot]
37a535f5d3 [v11.0.x] docs: added missing panel options to node graph docs (#91627)
Some checks failed
publish-technical-documentation-release / sync (push) Has been cancelled
Sync to mirror / trigger_downstream_patch_mirror (push) Has been cancelled
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Señor Performo - Leandro Melendez <54183040+srperf@users.noreply.github.com>
2024-08-07 09:50:48 -04:00
grafana-delivery-bot[bot]
d05ce29192 [v11.0.x] Docs: Update subtitle in Loki datasource documentation to fix link issue (#91462)
Some checks failed
publish-technical-documentation-release / sync (push) Has been cancelled
Sync to mirror / trigger_downstream_patch_mirror (push) Has been cancelled
Co-authored-by: minuchi <112928337+minuchi@users.noreply.github.com>
fix link issue (#91454)
2024-08-02 08:59:27 +01:00
grafana-delivery-bot[bot]
a955c6a5e3 [v11.0.x] Docs: time series overall edit (#91426)
Some checks are pending
publish-technical-documentation-release / sync (push) Waiting to run
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
Co-authored-by: Nathan Marrs  <nathanielmarrs@gmail.com>
Co-authored-by: Nathan Marrs <nathanielmarrs@gmail.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-08-01 17:03:20 -04:00
grafana-delivery-bot[bot]
ce19e502d2 [v11.0.x] Fix broken link (#91354)
Some checks are pending
publish-technical-documentation-release / sync (push) Waiting to run
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
Fix broken link (#90216)
2024-08-01 08:39:07 +01:00
Dominik Prokop
4546c76490 [v11.0.x] TemplateSrv: Backportable version of 90808 (#91240)
TemplateSrv: Backportable version of 90808  (#90833)

TemplateSrv: Backportable version of 90808 (#90816)

* TemplateSrv: Add test case for SafeSerializableSceneObject

* Update dashboard data source to use scoped vars scene object valueOf

* 11.1.x Backportable version of 90808

* lint

(cherry picked from commit 2e5b41cbcb)
2024-08-01 09:26:19 +02:00
Yuri Tseretyan
7cfd0db231 [v11.0.x] Alerting: Fix persisting result fingerprint that is used by recovery threshold (#91328)
Some checks are pending
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
Alerting: Fix persisting result fingerprint that is used by recovery threshold (#91224)

(cherry picked from commit 537f1fb857)

# Conflicts:
#	pkg/services/ngalert/state/persister_sync.go
2024-07-31 11:16:42 -04:00
grafana-delivery-bot[bot]
cb75e88483 [v11.0.x] Snapshots: Fix panic when snapshot_remove_expired is true (#91330)
Snapshots: Fix panic when snapshot_remove_expired is true (#91232)

(cherry picked from commit bb5d2c83ef)

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2024-07-31 16:41:53 +03:00
Kevin Minehart
15a3afdc35 CI: Fix drone docker publish (#91204)
Some checks are pending
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
* $debug -> $$debug

* use bash instead of sh

* Update publish_images.star

* Install bash in the docker/docker image

* buildifier

(cherry picked from commit bee678da94)

# Conflicts:
#	.drone.yml
2024-07-30 15:47:55 +01:00
Gilles De Mey
937a043fab [v11.0.x] Alerting: Add validation for path separators in the rule group edit modal (#91179)
Some checks are pending
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
2024-07-30 12:05:02 +02:00
grafana-delivery-bot[bot]
2e5e18c92e [v11.0.x] docs: Added sub header, description for video link (#91158)
Some checks failed
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
publish-technical-documentation-release / sync (push) Has been cancelled
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Señor Performo - Leandro Melendez <54183040+srperf@users.noreply.github.com>
2024-07-29 17:47:39 -04:00
grafana-delivery-bot[bot]
a77f6ff2be [v11.0.x] Docs: adds alerting redis link to grafana config docs (#91137)
Some checks are pending
publish-technical-documentation-release / sync (push) Waiting to run
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
Docs: adds alerting redis link to grafana config docs (#91112)

* Docs: adds alerting redis link to grafana config docs

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

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

---------

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

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-07-29 16:57:41 +02:00
Kevin Minehart
12cd89b95a [v11.0.x] CI: set dry-run if release/dry-run label is set on release-comms.yml and set latest on github release if latest is set (#91130)
CI: set dry-run if `release/dry-run` label is set on `release-comms.yml` and set latest on github release if `latest` is set (#91089)

set dry-run and set latest on github release

(cherry picked from commit 4e84234424)
2024-07-29 16:55:07 +03:00
Kevin Minehart
e670124c8c [v11.0.x] CI: Fix release-pr call in releases (#91095)
Some checks failed
Sync to mirror / trigger_downstream_patch_mirror (push) Has been cancelled
* CI: Fix release-pr call in releases (#91088)

* Fix release-pr call in releases

* Remove backport arg

* set TARGET to v_target

(cherry picked from commit 2ffdc2d5b0)

* Release Pipeline: [RPM pkg verification] Fix linefeeds converted to literal backslash-n sequences (#90989)

fix lf converted to literal backslash-n sequence

(cherry picked from commit 9852513c65)

---------

Co-authored-by: Diego Augusto Molina <diegoaugustomolina@gmail.com>
2024-07-27 04:03:58 +03:00
grafana-delivery-bot[bot]
1f0030a10c [v11.0.x] Alerting: Update documentation for MS Teams integration (#91063)
Some checks failed
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
publish-technical-documentation-release / sync (push) Has been cancelled
Alerting: Update documentation for MS Teams integration (#90610)

---------

Co-authored-by: Alyssa Wada <101596687+alyssawada@users.noreply.github.com>
(cherry picked from commit 534549e491)

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2024-07-26 17:06:16 +02:00
github-actions[bot]
69b9a8131f Release: 11.0.2 (#91023)
Some checks are pending
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
* Update changelog

* Update version to 11.0.2

* prettier

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Kevin Minehart <kmineh0151@gmail.com>
2024-07-26 03:03:45 +03:00
grafana-delivery-bot[bot]
a779d2bc81 [v11.0.x] CI: use main instead of my branch in release-pr.yml (#91006)
CI: use main instead of my branch in release-pr.yml (#91004)

use main instead of my branch

(cherry picked from commit 7e4b7f73e7)

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2024-07-26 00:54:10 +03:00
grafana-delivery-bot[bot]
9a9ce0667d [v11.0.x] CI: fix release pr target (#91001)
CI: fix release pr target (#90999)

* use inputs.target as checkout ref, and `main` for all reused actions.

(cherry picked from commit 2fe506d502)

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2024-07-26 00:33:19 +03:00
grafana-delivery-bot[bot]
40d528773e [v11.0.x] CI: fix changelog repo null (#90965)
Some checks are pending
publish-technical-documentation-release / sync (push) Waiting to run
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
CI: fix changelog repo null (#90960)

* give secrets when running changelog action

* i guess secrets don't have types

(cherry picked from commit d4304b59ec)

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2024-07-25 12:47:28 -05:00
grafana-delivery-bot[bot]
3b6bc13ba1 [v11.0.x] Update version of docker-compose.yaml (#90984)
Update version of docker-compose.yaml (#90539)

* Update version of docker-compose.yaml

* Update index.md

(cherry picked from commit 3c405e8b1f)

Co-authored-by: lnnt <770954908@qq.com>
2024-07-25 12:33:01 -05:00
grafana-delivery-bot[bot]
8355bab39d [v11.0.x] CI: fix changelog push error (#90977)
CI: fix changelog push error (#90971)

* add --set-upstream origin to release-pr workflow git push

* use a different branch name for the changelog workflow

* disable backport support for now

* remove backport condition

(cherry picked from commit 089a5710b6)

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2024-07-25 12:28:52 -05:00
grafana-delivery-bot[bot]
6130c79c15 [v11.0.x] CI: changelog boolean type (#90955)
CI: changelog boolean type (#90948)

* bool -> boolean

* add missing type keys

* provide secrets in release-pr

* use permissions and built-in github token

(cherry picked from commit 14396048d7)

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2024-07-25 18:11:23 +03:00
grafana-delivery-bot[bot]
8e7f18eb39 [v11.0.x] Docs: Updated the Logs in Explore doc (#90913)
Some checks are pending
publish-technical-documentation-release / sync (push) Waiting to run
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Larissa Wandzura <126723338+lwandz13@users.noreply.github.com>
2024-07-24 13:14:09 -05:00
grafana-delivery-bot[bot]
dff09a198b [v11.0.x] docs: Updates to GeoMap panel doc (#90910)
Some checks are pending
publish-technical-documentation-release / sync (push) Waiting to run
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Señor Performo - Leandro Melendez <54183040+srperf@users.noreply.github.com>
2024-07-24 13:21:52 -04:00
grafana-delivery-bot[bot]
7f588ada7b [v11.0.x] Alerting docs: updates icon on landing page (#90883)
Alerting docs: updates icon on landing page (#90881)

* Alerting docs: updates icon on landing page

* adds svg

(cherry picked from commit 745eb60775)

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-07-24 13:16:48 +03:00
grafana-delivery-bot[bot]
ad2b36eab1 [v11.0.x] Docs: Updates to the Query management in Explore page (#90842)
Some checks are pending
publish-technical-documentation-release / sync (push) Waiting to run
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: Larissa Wandzura <126723338+lwandz13@users.noreply.github.com>
2024-07-23 10:00:00 -05:00
grafana-delivery-bot[bot]
8266543f94 [v11.0.x] Dashboards: Change parseUrlParam to take timezone into account (#89837)
Dashboards: Change datemath parse logic so parsed dates always take timezone into account (#88182)

* Dashboards: Change datemath parse logic so parsed dates always take timezone into account

(cherry picked from commit 2e0175c3eb)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2024-07-23 14:16:34 +02:00
Andreas Christou
ee76613eae [v11.0.x] Prometheus: Reintroduce Azure audience override feature flag (#90558)
Prometheus: Reintroduce Azure audience override feature flag (#90339)

* Re-add feature flag with deprecation note

* Hide the field in frontend if ff disabled

* Block scope overriding if ff is disabled in backend

- Update promlib to forward logger to extendOptions
- Add warning
- Update tests

* Default toggle to true for now

* Update description

* Update prom tests

* Fix lint

(cherry picked from commit 2616366a0a)

# Conflicts:
#	packages/grafana-data/src/types/featureToggles.gen.ts
#	pkg/services/featuremgmt/registry.go
#	pkg/services/featuremgmt/toggles_gen.csv
#	pkg/services/featuremgmt/toggles_gen.go
#	pkg/services/featuremgmt/toggles_gen.json
#	pkg/tsdb/prometheus/prometheus.go
2024-07-23 11:31:22 +01:00
grafana-delivery-bot[bot]
d6e53930bc [v11.0.x] Docs: Remove duplicate row (chore) (#90766)
Some checks are pending
publish-technical-documentation-release / sync (push) Waiting to run
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
Co-authored-by: Nikolaos Pothitos <pothitos@di.uoa.gr>
2024-07-22 13:00:00 -04:00
grafana-delivery-bot[bot]
6135d46155 [v11.0.x] CI: post changelog to forum in release-comms (#90749)
Some checks are pending
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
CI: post changelog to forum in release-comms (#90742)

* post changelog to forum in post-release workflow

(cherry picked from commit 9a3672c2bb)

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2024-07-22 18:24:05 +03:00
grafana-delivery-bot[bot]
5ad899207b [v11.0.x] CI: For every release PR created, also push a changelog PR to main (#90703)
Some checks failed
publish-technical-documentation-release / sync (push) Has been cancelled
Sync to mirror / trigger_downstream_patch_mirror (push) Has been cancelled
CI: For every release PR created, also push a changelog PR to main (#90698)

For every release PR created, also push a changelog PR to main

(cherry picked from commit 9232db2416)

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2024-07-20 01:15:35 +03:00
Serge Zaitsev
f302f9113d [v11.0.x] Chore: update changelog workflow (#90692)
Chore: update changelog workflow (#90608)

* try integrating

* pass tags

* change section order

* use better terminology

* one more attempt

* keep delimiters

* attempt to patch changelog

* quotes, bash quotes...

* use proper content file

* parens around date

* time for a pr

* first checkout, then create user

* add latest input

* git push

* use square brackets

* formatting

* update release-pr

* fix typo

* try sparse checkout

* fetch depth zero

* clean up after changelog generator

(cherry picked from commit f8b092aba6)
2024-07-19 21:42:46 +02:00
grafana-delivery-bot[bot]
1cc55c5249 [v11.0.x] Docs: Replaces Agent with Alloy (#90690)
Co-authored-by: Clayton Cornell <131809008+clayton-cornell@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-07-19 14:56:30 -04:00
grafana-delivery-bot[bot]
b027615fc2 [v11.0.x] Docs: added heading identifiers (#90664)
Some checks are pending
publish-technical-documentation-release / sync (push) Waiting to run
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-07-19 09:50:00 -04:00
Isabel Matwawana
5b0dd3869d [v11.0.x] Docs: Refactor time series page - part 1 (#90623)
Some checks are pending
publish-technical-documentation-release / sync (push) Waiting to run
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2024-07-18 14:24:39 -04:00
Kevin Minehart
aabf494bc8 [v11.0.x] CI: replace publish image step with a much simpler one that supports LATEST (#90621)
CI: replace publish image step with a much simpler one that supports LATEST (#90498)

* replace publish image step with a much simpler one that supports LATEST

(cherry picked from commit 6a2a6b0fbc)
2024-07-18 12:18:47 -06:00
grafana-delivery-bot[bot]
ab418afc0b [v11.0.x] docs: added video to gauge panel doc (#90602)
Some checks are pending
publish-technical-documentation-release / sync (push) Waiting to run
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Señor Performo - Leandro Melendez <54183040+srperf@users.noreply.github.com>
2024-07-18 08:45:28 -04:00
grafana-delivery-bot[bot]
2f6d1acabd [v11.0.x] Docs: replace broken link (#90598)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-07-18 08:13:27 -04:00
Isabel Matwawana
bbab4ac138 [v11.0.x] docs: updated table panel visualization (#90545)
Some checks are pending
publish-technical-documentation-release / sync (push) Waiting to run
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Señor Performo - Leandro Melendez <54183040+srperf@users.noreply.github.com>
2024-07-17 11:57:20 -04:00
grafana-delivery-bot[bot]
dcc92c5656 [v11.0.x] Docs: make heading fix in content.ts file (#90510)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
fix in content.ts file (#90473)
2024-07-17 11:55:21 -04:00
grafana-delivery-bot[bot]
8e00d60c06 [v11.0.x] alerting:docs>google chat (#90515)
Some checks are pending
publish-technical-documentation-release / sync (push) Waiting to run
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
alerting:docs>google chat (#90257)

* alerting:docs>google chat

* pretty

* weight

* changed weight

* typo

(cherry picked from commit 2186676f55)

Co-authored-by: antonio <45235678+tonypowa@users.noreply.github.com>
2024-07-17 12:00:21 +02:00
grafana-delivery-bot[bot]
11b6a8e632 [v11.0.x] highlighting the part of the Grafana enterprise section so easir for … (#90502)
Some checks are pending
publish-technical-documentation-release / sync (push) Waiting to run
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
highlighting the part of the Grafana enterprise section so easir for … (#90177)

highlighting the part of the Grafana enterprise section so easir for users to find it

(cherry picked from commit 677d2a8b70)

Co-authored-by: Usman Ahmad <usman.ahmad@grafana.com>
2024-07-16 20:27:59 +02:00
grafana-delivery-bot[bot]
860eba5e5f [v11.0.x] Docs: Update group to nested tables transformation header to match naming in UI (#90476)
Co-authored-by: Nathan Marrs <nathanielmarrs@gmail.com>
2024-07-16 09:56:15 -04:00
Isabel Matwawana
db8d47d16b [v11.0.x] Docs: Update dashboard URL variables docs (#90444)
Some checks are pending
publish-technical-documentation-release / sync (push) Waiting to run
Sync to mirror / trigger_downstream_patch_mirror (push) Waiting to run
Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
2024-07-15 11:45:06 -04:00
grafana-delivery-bot[bot]
a0214b5248 [v11.0.x] docs: updated logs panel visualization (#90398)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Señor Performo - Leandro Melendez <54183040+srperf@users.noreply.github.com>
2024-07-12 17:07:59 -04:00
jev forsberg
34330dee06 Merge branch 'v11.0.x' of github.com:grafana/grafana into backport-90146-to-v11.0.x 2024-07-12 15:00:33 -06:00
Jev Forsberg
31a71b37f2 Automation: Verify DEB and RPM packages (#90146)
* baldm0mma/verify_aptyum/ add verify_linux_packages_step

* baldm0mma/verify_aptyum/ add name and image

* baldm0mma/verify_aptyum/ add commands

* baldm0mma/verify_aptyum/ add test pipeline

* baldm0mma/verify_aptyum/ update deps for verify_linux_packages_step

* baldm0mma/verify_aptyum/ update ubuntu image

* baldm0mma/verify_aptyum/ add rockylinux9 image

* baldm0mma/verify_aptyum/ update to verify_linux_DEB_packages_step naming

* baldm0mma/verify_aptyum/ add verify_linux_RPM_packages_step

* baldm0mma/verify_aptyum/ update commands for RPM check

* baldm0mma/verify_aptyum/ update test pipeline

* baldm0mma/verify_aptyum/ update annos

* baldm0mma/verify_aptyum/ update annos

* baldm0mma/verify_aptyum/ update args

* baldm0mma/verify_aptyum/ add arg to verify_linux_RPM_packages_step

* baldm0mma/verify_aptyum/ update oss_steps

* baldm0mma/verify_aptyum/ update deps args

* baldm0mma/verify_aptyum/ update sec hash

* baldm0mma/verify_aptyum/ make format-drone

* baldm0mma/verify_aptyum/ update sec hash

* baldm0mma/verify_aptyum/ update drone

* baldm0mma/verify_aptyum/ update function styles

* baldm0mma/verify_aptyum/ revert changes

* baldm0mma/verify_aptyum/ make drone

* baldm0mma/verify_aptyum/ redirect install logs

* baldm0mma/verify_aptyum/ restructure args

* baldm0mma/verify_aptyum/ update verify_linux_DEB_packages_step

* baldm0mma/verify_aptyum/ make format drone

* baldm0mma/verify_aptyum/ update verify_linux_RPM_packages_step

* baldm0mma/verify_aptyum/ add retry_command

* baldm0mma/verify_aptyum/ make drone

* baldm0mma/verify_aptyum/ update attempts to 10 minutes

* baldm0mma/verify_aptyum/ handle is_preview

* baldm0mma/verify_aptyum/ add doc strings to satisfy starlark linter

* baldm0mma/verify_aptyum/ revert is_preview

* baldm0mma/verify_aptyum/ update to rpm repo download

* baldm0mma/verify_aptyum/ add back logging for rpm

* baldm0mma/verify_aptyum/ revert to working

* baldm0mma/verify_aptyum/ update to use RPM repo

* baldm0mma/verify_aptyum/ remove redirect for logging

* baldm0mma/verify_aptyum/ rem gpg check

* baldm0mma/verify_aptyum/ fromat drone

* baldm0mma/verify_aptyum/ rem comment

* baldm0mma/verify_aptyum/ add single comment on timing

(cherry picked from commit d781ec2daa)
2024-07-12 14:59:53 -06:00
Yuri Tseretyan
44bfe324fe Alerting: Update grafana/alerting to c340765c985a12603bbdfcd10576ddfdbf9dc284 (#90388)
update grafana/alerting to c340765c985a12603bbdfcd10576ddfdbf9dc284
2024-07-12 16:59:18 -04:00
grafana-delivery-bot[bot]
fb56a177e2 [v11.0.x] docs: updated time series panel visualization (#90393)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Señor Performo - Leandro Melendez <54183040+srperf@users.noreply.github.com>
2024-07-12 16:45:22 -04:00
grafana-delivery-bot[bot]
bfe0568cb7 [v11.0.x] CI: fix release pr condition (#90304)
CI: fix release pr condition (#90299)

* Release comms should only run when the source PR is

* Fix release-comms workflow condition

(cherry picked from commit a28db90dd5)

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2024-07-10 15:49:42 -05:00
Isabel Matwawana
586df9acb2 [v11.0.x] Docs: Fix link to send report API (#90298)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Davidson Francis <davidsondfgl@gmail.com>
Fix link to send report API (#90242)
2024-07-10 16:18:51 -04:00
grafana-delivery-bot[bot]
f138f7d9e5 [v11.0.x] Docs: Updated the Query inspector page (#90296)
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
Co-authored-by: Larissa Wandzura <126723338+lwandz13@users.noreply.github.com>
2024-07-10 15:09:03 -05:00
grafana-delivery-bot[bot]
744d02f80a [v11.0.x] CI: remove missing dependency from workflow action (#90292)
CI: remove missing dependency from workflow action (#90285)

remove missing dep from workflow action

(cherry picked from commit f411d85749)

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2024-07-10 13:45:00 -05:00
grafana-delivery-bot[bot]
07ea95ff30 [v11.0.x] Azure: Fix default subscription setting (#90262)
* Azure: Fix default subscription setting (#90185)

* Ensure default subscription is set

* Include some info for when the default subscription is required

* Rename settings mock

- Add mockDatasourceSettings function

* Add MonitorConfig test

* Revert "Rename settings mock"

- Avoid issues when backporting

* Remove description

* Remove required field

* Remove unused import

(cherry picked from commit bba26f8e13)

* Add react

---------

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2024-07-10 14:25:56 +03:00
grafana-delivery-bot[bot]
a2bc385988 [v11.0.x] CI: Sync branch and tag after release (#90205)
CI: Sync branch and tag after release (#89967)

* Added `workflow_call` event to allow other workflows to invoke the "Create or update GitHub release"
* Added `dry_run` to `github-release.yml`
* Added `latest` to `release-pr.yml` which will cause the release PR to add a `release/latest` label.
* Removed unnecessary github app creation from github-release workflow and just used permissions.

(cherry picked from commit 63e715f6a9)

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2024-07-08 14:53:47 -05:00
antonio
0270344a85 alerting/integrations:opsgenie (#90133) (#90165)
* alerting/integrations:opsgenie (#90133)

* alerting/integrations:opsgenie

* Update _index.md

* new line

* all pretty no pity

* numbering

* Update docs/sources/alerting/configure-notifications/manage-contact-points/integrations/configure-opsgenie.md

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

* Update docs/sources/alerting/configure-notifications/manage-contact-points/integrations/configure-opsgenie.md

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

* Update configure-opsgenie.md

---------

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

* Update _index.md
2024-07-08 08:27:50 +02:00
antonio
9beb4137f4 alerting/integrations:telegram-update backport PR (#90111)
* alerting/integrations:telegram-update (#90105)

* alerting/integrations:telegram-update

* Update docs/sources/alerting/configure-notifications/manage-contact-points/integrations/configure-telegram.md

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

* Update docs/sources/alerting/configure-notifications/manage-contact-points/integrations/configure-telegram.md

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

---------

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

* Update _index.md
2024-07-06 07:40:26 +02:00
grafana-delivery-bot[bot]
a4dd474846 [v11.0.x] alerting/docs:discord (#90085)
* alerting/docs:discord (#90068)

* alerting/docs:discord

* 'pretty'

(cherry picked from commit d563db63e7)

* Update configure-discord.md

---------

Co-authored-by: antonio <45235678+tonypowa@users.noreply.github.com>
2024-07-04 22:36:21 +02:00
grafana-delivery-bot[bot]
67c2621389 [v11.0.x] Docs: Fix typo in text (#90089)
Co-authored-by: ANURAG RANJAN <61619621+1md3nd@users.noreply.github.com>
Fix typo in text (#89325)
2024-07-04 12:12:58 -04:00
grafana-delivery-bot[bot]
ed2b9cb979 [v11.0.x] Update make docs procedure (#90072)
Co-authored-by: grafanabot <bot@grafana.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-07-04 16:28:01 +01:00
grafana-delivery-bot[bot]
f761d429fb Release: Bump version to 11.0.2 (#89690)
bump version 11.0.2

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-07-04 14:57:48 +02:00
antonio
2777d405a6 alerting:oncall-v11.0.x (#89986) 2024-07-03 14:56:03 +02:00
antonio
eb0122d54a alerting: oncall - Backport 89780 to v11.0.x (#89979)
* alerting:docs>oncall (#89780)

* alerting:docs>oncall

* removed refs

* links

* dot

* all pretty no pity

(cherry picked from commit 9740ce3f58)

* Update configure-oncall.md

* Update configure-oncall.md
2024-07-03 11:35:47 +02:00
grafana-delivery-bot[bot]
344e57da2e [v11.0.x] Docs: Clarify query and tags search in dashboard list (#89969)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-07-02 16:39:48 -04:00
grafana-delivery-bot[bot]
46a0a0490f [v11.0.x] alerting:mute-timings>api (#89942)
alerting:mute-timings>api (#89902)

* alerting:mute-timings>api

* added type go-type

* all pretty

(cherry picked from commit 92ad6c71d1)

Co-authored-by: antonio <45235678+tonypowa@users.noreply.github.com>
2024-07-02 13:22:29 +02:00
grafana-delivery-bot[bot]
f8b448d14a [v11.0.x] Alerting: Skip loading alert rules for dashboards when disabled (#89904)
Alerting: Skip loading alert rules for dashboards when disabled (#89361)

(cherry picked from commit 781e394118)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2024-07-01 13:37:35 +03:00
grafana-delivery-bot[bot]
6338cbc33d [v11.0.x] CI: fix release comms workflow (#89788)
CI: fix release comms workflow (#89744)

* add runs-on key

* remove unneeded env key

* use more specific quotes in commands

* fix block syntax

* fix workflow dispatch event check

(cherry picked from commit 16b050f676)

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2024-06-26 17:40:00 +03:00
Fabrizio
1282103984 [v11.0.x] Changelog: Updated changelog for 11.0.1 (#89677)
Changelog: Updated changelog for 11.0.1 (#89673)

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

Co-authored-by: grafana-delivery-bot[bot] <132647405+grafana-delivery-bot[bot]@users.noreply.github.com>
2024-06-26 10:43:09 +02:00
antonio
7621f18a86 alerting: teams contact point + updates (#89695) (#89703)
* alerting: teams contact point + updates (#89695)

* alerting: teams contact point + updates

* typo

* all pretty no pity

* Update docs/sources/alerting/configure-notifications/manage-contact-points/integrations/configure-email.md

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

* Update docs/sources/alerting/configure-notifications/manage-contact-points/integrations/configure-email.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/pager-duty.md

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

* Update docs/sources/alerting/configure-notifications/manage-contact-points/integrations/webhook-notifier.md

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

* Update docs/sources/alerting/configure-notifications/manage-contact-points/integrations/webhook-notifier.md

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

* Update docs/sources/alerting/configure-notifications/manage-contact-points/integrations/webhook-notifier.md

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

* formatting

* formatting

---------

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

* all pretty no pity

* Update configure-slack.md
2024-06-26 08:50:33 +02:00
grafana-delivery-bot[bot]
a95edacfb8 [v11.0.x] CI: add release comms workflow (#89737)
CI: add release comms workflow (#89718)

* add release comms workflow

* add version input

* Add release-comms workflow to CODEOWNERS

(cherry picked from commit 3ede2dba24)

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2024-06-25 17:14:04 -05:00
Kevin Minehart
e5219818a9 don't use slim image 2024-06-25 08:10:43 -05:00
Kevin Minehart
302831c125 [11.0.x] backport CI / release changes (#89636)
* go mod tidy; go work sync

* CI: Add release-pr workflow (#89005)

* Add release-pr workflow

* update CODEOWNERS

* CI: Trigger release pr workflow when a release is completed (#89062)

* CI: Add bump-version action to the release PR workflow (#89491)

* Automation: Verify release artifacts on grafana.com (#89197)

* baldm0mma/verify_release/ create verify_release_for_download function

* baldm0mma/verify_release/ add name, image, env

* baldm0mma/verify_release/ add initial commands

* baldm0mma/verify_release/ add deps?

* baldm0mma/verify_release/ update location

* baldm0mma/verify_release/ add anno to lib-star

* bald0mma/verify_release/ update func name to verify_grafanacom_step

* baldm0mma/verify_release/ add verify shell script

* baldm0mma/verify_release/ add script content, first attempt

* baldm0mma/verify_release/ add node image to verify_grafanacom_step

* baldm0mma/verify_release/ add gcom secret note

* baldm0mma/verify_release/ add sudo to apt-get

* baldm0mma/verify_release/ add anno

* baldm0mma/verify_release/ add anno to secrets

* baldm0mma/verify_release/ update commands to reflect node env image

* baldm0mma/verify_release/ update annos

* baldm0mma/verify_release/ update tag variable

* baldm0mma/verify release/ add whitespace

* baldm0mma/verify_releases/ update with no bash loops

* baldm0mma/verify_release/ update exit logic

* baldm0mma/verify_release/ remove annos

* baldm0mma/verify_releasse/ resign and build yml

* baldm0mma/verify_release/ remove annos

* baldm0mma/verify_release/ update signature

* baldm0mma/verify_release/ download curl

* baldm0mma/verify_release/ remove temp key folder removal

* baldm0mma/verify_release/ account for artifact download time

* baldm0mma/verify_release/ add anno

* baldm0mma/verify_release/ update location

* baldm0mma/verify_release/ update script

* baldm0mma/verify_release/ make drone

* baldm0mma/verify_release/ update script for oss or ent

* baldm0mma/verify_release/ add promotion option

* baldm0mma/verify_release/ make drone

* Update scripts/drone/events/release.star

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>

* Update scripts/drone/steps/lib.star

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>

* Update scripts/drone/steps/lib.star

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>

* baldm0mma/verify_release/ update drone

* Update scripts/drone/events/release.star

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>

* baldm0mma/verify_release/ update drone

* Update scripts/drone/steps/lib.star

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>

* baldm0mma/update drone

* baldm0mma/verify_release/ update path

* baldm0mma/verify_release/ make drone

* baldm0mma/update drone

* Apply suggestions from code review

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>

* baldm0mma/verify_release/ update for loop to account for failure

* baldm0mma/verify_release/ make drone

* baldm0mma/verify_release/ make format-drone

* baldm0mma/verify_release/ rem unused var

---------

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>

* use go 1.21.10

* use 1.21.10 in pkg/build

* upgrade to go 1.22.4

* upgrade swagger

* swagger-gen

* gen openapi3.json

* allow grpc.dial

* fix .bingo/README.md formatting

---------

Co-authored-by: Jev Forsberg <46619047+baldm0mma@users.noreply.github.com>
2024-06-24 15:06:58 -05:00
grafana-delivery-bot[bot]
32511727d0 [v11.0.x] docs: update dashboard-variable docs (#89612)
Co-authored-by: Alexa V <239999+axelavargas@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
2024-06-24 09:41:31 -04:00
grafana-delivery-bot[bot]
4694d86c1f [v11.0.x] Fix typo in API key (#89592)
Co-authored-by: pmo <philmoses@gmail.com>
Fix typo in API key (#89568)
2024-06-24 10:15:46 +01:00
grafana-delivery-bot[bot]
194189bc74 [v11.0.x] Docs: Fixed broken links on Prometheus data source page (#89513)
Co-authored-by: Larissa Wandzura <126723338+lwandz13@users.noreply.github.com>
Fixed broken links on Prometheus data source page (#89485)
2024-06-20 13:41:47 -05:00
grafana-delivery-bot[bot]
4c6d554121 [v11.0.x] Notifications: Do not log email address in error message (#89501)
Notifications: Do not log email address in error message (#89314)

Do not log email address in error message

(cherry picked from commit c2c30c25ed)

Co-authored-by: William Wernert <william.wernert@grafana.com>
2024-06-20 20:13:26 +03:00
grafana-delivery-bot[bot]
d73cc3c919 [v11.0.x] Echo: Suppress errors from frontend-metrics API call failing (#89493)
Echo: Don't notify if PerformanceBackend errors when flushing (#89379)

(cherry picked from commit b43411631b)

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2024-06-20 19:23:27 +03:00
grafana-delivery-bot[bot]
09c4094a06 [v11.0.x] Docs: Fix broken link (#89478)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Fix broken link (#89441)
2024-06-20 09:57:36 -04:00
grafana-delivery-bot[bot]
9eb0c11c82 [v11.0.x] AdHocFilters: Use queries in ad hoc filters api calls (#87627)
AdHocFilters: Use queries in ad hoc filters api calls (#87624)

(cherry picked from commit 39aafde8cb)

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2024-06-19 17:28:42 +02:00
grafana-delivery-bot[bot]
50bf2ddf50 [v11.0.x] Docs: correct tracesToLogsV2 example span time shifts (#89425)
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: jvaelen <jeroen.vaelen@gmail.com>
2024-06-19 16:07:58 +01:00
grafana-delivery-bot[bot]
3793abded7 [v11.0.x] Document Unix ms format for time type parsing (#89416)
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Oleg Zaytsev <mail@olegzaytsev.com>
2024-06-19 17:37:57 +03:00
grafana-delivery-bot[bot]
128c2bd023 [v11.0.x] Fix: Portuguese Brazilian wasn't loading translations (#89374) 2024-06-18 20:24:56 +03:00
antonio
80a3b12db8 backport alerting: notes on label matchers (#89269) (#89327)
* alerting: notes on label matchers (#89269)

* alerting: notes on label matchers

* routing clarification

* Update docs/sources/alerting/alerting-rules/templating-labels-annotations.md

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

* Update docs/sources/alerting/fundamentals/notifications/templates.md

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

---------

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

* Update notification-policies.md

* all pretty no pity
2024-06-18 09:57:43 +02:00
grafana-delivery-bot[bot]
a06f4a9df6 [v11.0.x] Analytics: Fix ApplicationInsights integration (#89300)
Analytics: Fix ApplicationInsights integration (#89299)

change ApplicationInsights backend to use SystemJS to load

(cherry picked from commit 7bb883e375)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-06-17 18:40:41 +03:00
grafana-delivery-bot[bot]
dd294e5004 [v11.0.x] Fix typo in dashboard-variables destinations and also use Grafana Cloud docs if they exist (#89246)
Fix typo in dashboard-variables destinations and also use Grafana Cloud docs if they exist (#89244)

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

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-06-17 08:11:45 +01:00
Jack Baldry
77a5adfc24 [v11.0.x] Use ref URIs with the reference style links (#89240)
Use ref URIs with the reference style links (#89204)

* Use ref URIs with the reference style links

If I remember correctly, the UI needs reference style links so it can substitute its own link destinations.
ref URIs work both inline and as the destination for reference style links.



* Remove unused ref URI



* Remove unused Data frames link



---------


(cherry picked from commit f5468542ba)

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
2024-06-14 17:26:58 +01:00
grafana-delivery-bot[bot]
1e9553c867 [v11.0.x] BrowseDashboards: Prepend subpath to New Browse Dashboard actions (#89130)
BrowseDashboards: Prepend subpath to New Browse Dashboard actions (#89109)

(cherry picked from commit c58d09fd81)

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2024-06-13 18:15:17 +03:00
grafana-delivery-bot[bot]
395d44b0e6 [v11.0.x] DashboardScene: Fixes issue removing override rule (#89134) 2024-06-13 09:42:34 +02:00
Larissa Wandzura
f1416044ca v11.0.x Docs: Updates to the Grafana enterprise data source intro page (#89081)
removed dupe, deprecated plugin
2024-06-12 13:41:53 -05:00
Ivan Ortega Alba
f5fe50d43f [v11.0.x] Scenes: Update to latest 4.23.1 -> 4.24.4 (#88510)
Scenes: Update to latest 4.23.1 -> 4.24.4 (#88485)

- `@grafana/scenes`
  - VizPanelRenderer: Emit SetPanelAttention event [#716](https://github.com/grafana/scenes/pull/716) ([@tskarhed](https://github.com/tskarhed))

- Tobias Skarhed ([@tskarhed](https://github.com/tskarhed))

---

- `@grafana/scenes`
  - Macros: Resolve browser timezone for `$__timezone` [#759](https://github.com/grafana/scenes/pull/759) ([@ivanortegaalba](https://github.com/ivanortegaalba))
  - Variables: Prioritize showing adhoc variable key and operator [#750](https://github.com/grafana/scenes/pull/750) ([@oscarkilhed](https://github.com/oscarkilhed))

- Ivan Ortega Alba ([@ivanortegaalba](https://github.com/ivanortegaalba))
- Oscar Kilhed ([@oscarkilhed](https://github.com/oscarkilhed))

---

- `@grafana/scenes`
  - MultiValueVariable: Fixes issue when value is all value but all value is not enabled [#757](https://github.com/grafana/scenes/pull/757) ([@torkelo](https://github.com/torkelo) [@ivanortegaalba](https://github.com/ivanortegaalba))

- Ivan Ortega Alba ([@ivanortegaalba](https://github.com/ivanortegaalba))
- Torkel Ödegaard ([@torkelo](https://github.com/torkelo))

---

- Plugin.json: update schema reference URL in scenes-app [#754](https://github.com/grafana/scenes/pull/754) ([@leventebalogh](https://github.com/leventebalogh))
- `@grafana/scenes`
  - Allow drag and dropping rows in valid states [#756](https://github.com/grafana/scenes/pull/756) ([@mdvictor](https://github.com/mdvictor))
  - fix: undefined check on RefreshPicker.autoOption [#751](https://github.com/grafana/scenes/pull/751) ([@darrenjaneczek](https://github.com/darrenjaneczek))

- Darren Janeczek ([@darrenjaneczek](https://github.com/darrenjaneczek))
- Levente Balogh ([@leventebalogh](https://github.com/leventebalogh))
- Victor Marin ([@mdvictor](https://github.com/mdvictor))

---

- `@grafana/scenes`
  - SceneFlexLayout: Min width/height option was ignored [#749](https://github.com/grafana/scenes/pull/749) ([@edvard-falkskar](https://github.com/edvard-falkskar))

- Edvard Falkskär ([@edvard-falkskar](https://github.com/edvard-falkskar))

---

(cherry picked from commit c5ae0bbba2)
2024-06-12 11:31:32 +02:00
Eric Leijonmarck
47f5d84c7f [v11.0.x] Auth: Removal of conflicting users check upon creation (#89092)
Auth: Removal of conflicting users check upon creation (#89045)

fix: removal of check for conflicting users
(cherry picked from commit c85d10d6c3)
2024-06-12 10:44:17 +02:00
antonio
06a99d6be3 docs: alerting: manual backport (#88756) (#88848)
* docs: alerting: clarify which panels support alerts (#88756)

* alerting: clarify which panels support alerts

* changed note placement

* small change to link

* added links

* Update docs/sources/alerting/alerting-rules/create-grafana-managed-rule.md

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

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

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

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

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

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

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

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

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

---------

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

* removed markers

* removed markers
2024-06-12 08:58:45 +02:00
grafana-delivery-bot[bot]
a7f97d1718 [v11.0.x] feat: Updated whats-new-in-v11-0.md with release video (#89070)
feat: Updated whats-new-in-v11-0.md with release video (#87953)

Update whats-new-in-v11-0.md

Grafana 11 release video added.

(cherry picked from commit 465efbf802)

Co-authored-by: Jay Clifford <45856600+Jayclifford345@users.noreply.github.com>
2024-06-11 16:05:17 -04:00
Yuri Tseretyan
4fbe9604ef [v11.0.x] Alerting: Fix rule storage to filter by group names using case-sensitive comparison (#89063)
Alerting: Fix rule storage to filter by group names using case-sensitive comparison (#88992)

* add test for the bug
* remove unused struct
* update db store to post process filters by group using go-lang's case-sensitive string comparison

--------

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
# Conflicts:
#	pkg/services/ngalert/store/alert_rule.go
#	pkg/services/ngalert/store/alert_rule_test.go
2024-06-11 15:59:45 -04:00
grafana-delivery-bot[bot]
0182f932e0 [v11.0.x] Added Grafana Play Links to Panel visualization docs (#89068)
Added Grafana Play Links to Panel visualization docs (#88995)

* Update index.md on Node panels to Grafana Play link

* Update index.md add Traces docs link to Grafana Play

* Update index.md News documentation link to Grafana Play

* Update index.md Alert list documentation link to Grafana Play

* Update index.md Alert list fixed missing link

* Update index.md Fixed title

* Update index.md Trying code fix

* Ran prettier command

* Matched link text to dashboard titles

* Replaced URL with ref URI key

---------

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

Co-authored-by: Señor Performo - Leandro Melendez <54183040+srperf@users.noreply.github.com>
2024-06-11 15:17:24 -04:00
grafana-delivery-bot[bot]
c31fd320f0 [v11.0.x] Update index.md for Node, adding video to docs (#89000)
Update index.md for Node, adding video to docs (#88941)

(cherry picked from commit c98b7a712f)

Co-authored-by: Señor Performo - Leandro Melendez <54183040+srperf@users.noreply.github.com>
2024-06-11 13:57:53 -04:00
grafana-delivery-bot[bot]
100ea77047 [v11.0.x] RBAC: List only the folders that the user has access to (#89015)
RBAC: List only the folders that the user has access to (#88599)

only check folder permissions when listing folders

(cherry picked from commit 095ca66d9f)

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2024-06-11 11:20:30 +03:00
grafana-delivery-bot[bot]
03caca4576 [v11.0.x] DashboardScene: Fixes lack of re-render when updating field override properties (#88985)
DashboardScene: Fixes lack of re-render when updating field override properties (#88796)

* DashboardScene: Fixes lack of re-render when updating field override properties

* Added unit test

(cherry picked from commit db25886f9c)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-06-11 08:19:27 +02:00
grafana-delivery-bot[bot]
c4a4843de6 [v11.0.x] Transformations: Keep original field.labels.name when joining frames (#88982)
Transformations: Keep original `field.labels.name` when joining frames (#88873)

(cherry picked from commit 89a0bec208)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2024-06-10 10:41:09 -05:00
grafana-delivery-bot[bot]
a3915b148f [v11.0.x] User: add second migration for lowercasing login/email of users (#88917)
User: add second migration for lowercasing login/email of users (#88915)

(cherry picked from commit 39bd13f877)

Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
2024-06-10 10:42:47 +02:00
grafana-delivery-bot[bot]
706577c0b0 [v11.0.x] Chore: Fix test to retry fetching provisioned dashboard until is in place (#88937)
Chore: Fix test to retry fetching provisioned dashboard until is in place (#85408)

Retry fetching provisioned dashboard until is in place

(cherry picked from commit 88be09420c)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2024-06-07 20:10:46 +03:00
Karl Persson
718994af44 [v11.0.x] User: Fix GetByID (#88894)
User: Fix GetByID (#86282)

* Auth: Remove unused lookup param

* Remove case sensitive lookup for GetByID

(cherry picked from commit 8520892923)
2024-06-07 13:55:45 +02:00
grafana-delivery-bot[bot]
ca5e8271fa [v11.0.x] added youtube video link (#88903)
added youtube video link (#88901)

* added youtube video link

* Update index.md

(cherry picked from commit 5095ea84b2)

Co-authored-by: Usman Ahmad <usman.ahmad@grafana.com>
2024-06-07 13:02:31 +02:00
grafana-delivery-bot[bot]
dc0bddadae [v11.0.x] Docs: Updating documentation for angular_support_enabled (#88852)
Docs: Updating documentation for `angular_support_enabled` (#88840)

fixing docs

(cherry picked from commit 9704186017)

Co-authored-by: Timur Olzhabayev <timur.olzhabayev@grafana.com>
2024-06-07 11:13:57 +02:00
Andreas Christou
fc8adc1cc2 [v11.0.x] AzureMonitor: Fix bug detecting app insights queries (#88787)
AzureMonitor: Fix bug detecting app insights queries (#88572)

Make regexp case insensitive

(cherry picked from commit f787418e4b)

# Conflicts:
#	pkg/tsdb/azuremonitor/loganalytics/azure-log-analytics-datasource_test.go
2024-06-06 15:03:42 -04:00
grafana-delivery-bot[bot]
aa97cbdb03 [v11.0.x] DashboardScene: Fixes inspect with transforms issue (#88862)
DashboardScene: Fixes inspect with transforms issue (#88843)

* DashboardScene: Fixes inspect with transforms issue

* Update

(cherry picked from commit bdfa96a6d3)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-06-06 19:33:05 +03:00
grafana-delivery-bot[bot]
cf15409360 [v11.0.x] Chore: Removing editor.html from angular patterns (#88846)
Chore: Removing editor.html from angular patterns (#88845)

Removing editor.html from angular patterns

(cherry picked from commit 1909ad6fa8)

Co-authored-by: Timur Olzhabayev <timur.olzhabayev@grafana.com>
2024-06-06 16:31:44 +03:00
grafana-delivery-bot[bot]
d71b61a77a [v11.0.x] Azure: Update resource group (#88766)
Azure: Update resource group (#88690)

Update azure e2e tests

(cherry picked from commit 17f03882d4)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2024-06-05 16:53:13 +03:00
Ieva
dde92e457c [v11.0.x] Access Control: Clean up permissions for deprovisioned data sources (#88700)
merge
2024-06-05 10:49:41 +03:00
grafana-delivery-bot[bot]
02699ea1af [v11.0.x] DashboardScene: Fixes issue with some query editors to not adapt to width changes (#88738)
DashboardScene: Fixes issue with some query editors to not adapt to width changes (#88718)

DashboardScene: Fixes issue with panel editor causing moncao query editors to not adapt to width changes
(cherry picked from commit e735573852)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-06-05 09:34:29 +03:00
grafana-delivery-bot[bot]
3d34909a0e [v11.0.x] Plugins: Don't forward cookies for app plugins (#88706)
Plugins: Don't forward cookies for app plugins (#88663)

(cherry picked from commit 0af2931672)

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2024-06-04 18:12:48 +03:00
grafana-delivery-bot[bot]
ac532c6ebb [v11.0.x] Update proxy/index.md (#88703)
Update proxy/index.md (#88261)

* Update index.md

Specify proxy support is for SOCKS5 in Title. So it is clear this is not for TCP or HTTP proxy

* update title to match header

(cherry picked from commit 36c66e3e94)

Co-authored-by: Kyle Hounslow <7102778+kylehounslow@users.noreply.github.com>
2024-06-04 09:13:04 -05:00
grafana-delivery-bot[bot]
0f436c5bdf [v11.0.x] SSE: Fix threshold unmarshal to avoid panic (#88651)
SSE: Fix threshold unmarshal to avoid panic (#88521)

(cherry picked from commit 043e19afb5)

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2024-06-04 08:55:21 -04:00
grafana-delivery-bot[bot]
0ff6442e45 [v11.0.x] Loki: Fix editor history in wrong order (#88669)
Loki: Fix editor history in wrong order (#88666)

(cherry picked from commit 2fb63cd2e6)

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2024-06-04 12:57:14 +03:00
Señor Performo - Leandro Melendez
b1b3bd0089 Docs: Add Installation YouTube Videos to documentation pages. (#88465) (#88649)
* Added Installation video index.md

* Update index.md adding video for Debian and Ubuntu installs

* Update index.md adding install video in macOS

* Update index.md adding video to install RHEL or Fedora

* Update index.md adding install video for SUSE

* Update index.md adding video for Windows installer

* Update _index.md Updated from suggestions

* Update index.md from suggestions

* Update index.md from suggestions

* Update index.md from suggestions

* Update index.md from suggestions

* Update index.md from suggestions

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

Applied Chris' suggestion

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

* Update docs/sources/setup-grafana/installation/debian/index.md

Applied Chris' suggestion

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

* Update docs/sources/setup-grafana/installation/mac/index.md

Applied Chris' suggestion

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

* Update docs/sources/setup-grafana/installation/redhat-rhel-fedora/index.md

Applied Chris' suggestion

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

* Update docs/sources/setup-grafana/installation/suse-opensuse/index.md

Applied Chris' suggestion

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

* Update docs/sources/setup-grafana/installation/windows/index.md

Applied Chris' suggestion

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

---------

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
(cherry picked from commit 63ca00dd10)
2024-06-03 13:55:10 -05:00
Jack Baldry
ea4b964a3b [v11.0.x] [docs/sources/datasources] Replace docs/reference shortcode with ref URIs (#88053) 2024-06-03 13:27:04 +01:00
grafana-delivery-bot[bot]
d64ecce7db [v11.0.x] [docs/sources/datasources/prometheus/configure-prometheus-data-source] Replace outdated text content in the Grafana UI with updated content (#88598)
Co-authored-by: nerda-codes <87707325+nerda-codes@users.noreply.github.com>
2024-06-03 10:46:33 +01:00
grafana-delivery-bot[bot]
09ff329cfb [v11.0.x] Docs: add pinning of terraform for migration (#88583)
Docs: add pinning of terraform for migration (#88528)

* Docs: update with terraform version

* added the terraform version pinning

* formatting

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

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

* formatting

---------

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

Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
2024-06-02 13:34:50 +02:00
grafana-delivery-bot[bot]
cb94651fa1 [v11.0.x] Docs: Update Okta docs (#88502)
Docs: Update Okta docs (#88352)

* Update Okta docs

* Fixes

* Improvements

(cherry picked from commit 8a98e29fba)

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
2024-05-30 15:14:00 +02:00
grafana-delivery-bot[bot]
e4051d5fd6 [v11.0.x] LibraryPanels/RBAC: Ignore old folder permission check when deleting/patching lib panel (#88493)
LibraryPanels/RBAC: Ignore old folder permission check when deleting/patching lib panel (#88422)

* LibraryPanels/RBAC: Ignore old folder permission check when deleting lib panel

* Same for patching

(cherry picked from commit 8f45003192)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2024-05-30 14:40:17 +03:00
grafana-delivery-bot[bot]
284aa73772 [v11.0.x] DashboardAI: Reformat prompts to have a single system prompt (#88477) 2024-05-30 03:58:26 -06:00
grafana-delivery-bot[bot]
e409949710 [v11.0.x] Dashboards: Correctly display Admin access to dashboards in the UI (#88473)
Dashboards: Correctly display Admin access to dashboards in the UI (#88439)

* include folder wildcard scope in dash permission inheritance

* Update pkg/services/accesscontrol/ossaccesscontrol/permissions_services.go

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

---------

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

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2024-05-30 10:26:38 +03:00
grafana-delivery-bot[bot]
ce05184108 [v11.0.x] LogsTable: Fix default sort by time (#88434)
LogsTable: Fix default sort by time (#88398)

(cherry picked from commit f81e8e04aa)

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2024-05-29 18:03:07 +03:00
Ivan Ortega Alba
f23dfb23cf [v11.0.x] Discard the entire panel if is newly added (#88403)
Dashboards: Discard the entire panel if it is newly added (#87562)

(cherry picked from commit 66950c96f6)
2024-05-29 11:11:21 +02:00
grafana-delivery-bot[bot]
a248d62a69 [v11.0.x] Update make docs procedure (#88407)
Co-authored-by: grafanabot <bot@grafana.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-29 09:16:51 +01:00
grafana-delivery-bot[bot]
852a51ef82 [v11.0.x] Docs: Update Grafana Teams documentation (#88401)
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Larissa Wandzura <126723338+lwandz13@users.noreply.github.com>
2024-05-29 07:53:40 +01:00
grafana-delivery-bot[bot]
6c4cbf413a [v11.0.x] Dashboards: Detect unsaved folder change (#88333)
Dashboards: Detect unsaved folder change (#88293)

(cherry picked from commit c0881cc970)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2024-05-27 13:06:05 +01:00
Gilles De Mey
9cdfa6bf8a [v11.0.x] Alerting: Fix rules deleting when reordering whilst filtered (#88285)
Alerting: Fix rules deleting when reordering whilst filtered (#88221)

(cherry picked from commit ebdad80dfa)

Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
2024-05-24 15:24:33 +03:00
grafana-delivery-bot[bot]
0d5818a717 [v11.0.x] Alerting docs: adds note on provisioning to main page (#88265)
Alerting docs: adds note on provisioning to main page (#88264)

(cherry picked from commit 01d5744433)

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-05-24 10:47:48 +03:00
Isabel Matwawana
b991b842de [v11.0.x] Docs: Rename variables pages (#88252)
Docs: Rename variables pages (#87844)

* Renamed Manage variables page to Add variables

* Renamed Inspect variables page to Manage and inspect variables

* Updated H1 on Add variables

* Moved Manage variables content to from Add varibles page to Manage and inspect variables page and updated text to fit

* Updated link style to ref URIs in Manage and inspect variables

(cherry picked from commit 197ce3042d)
2024-05-23 13:54:29 -04:00
grafana-delivery-bot[bot]
d14a11c647 [v11.0.x] Alerting docs: Fix Alertmanager canonical setting (#88246)
Alerting docs: Fix `Alertmanager` canonical setting (#88236)

(cherry picked from commit 643018f94a)

Co-authored-by: Pepe Cano <825430+ppcano@users.noreply.github.com>
2024-05-23 18:06:06 +02:00
Jack Baldry
1fee584bf6 [v11.0.x] [docs/sources/fundamentals] Replace docs/reference shortcode with ref URIs (#88055) 2024-05-23 16:01:10 +01:00
grafana-delivery-bot[bot]
5d8ba98ad2 [v11.0.x] Docs: Fixed heading level (#88190)
Docs: Fixed heading level (#88188)

Fixed heading level

(cherry picked from commit 2fd51bb672)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-05-22 15:50:17 -04:00
Jack Baldry
9511471b0c [v11.0.x] Ensure all Panels and visualizations pages have /docs/grafana links too (#88167) 2024-05-22 15:40:13 +01:00
Jack Baldry
14de3399f3 [v11.0.x] [docs/sources/dashboards] Replace docs/reference shortcode with ref URIs (#88060) 2024-05-22 15:39:10 +01:00
grafana-delivery-bot[bot]
a89e333569 [v11.0.x] docs: update alert list visualization (#88175)
docs: update alert list visualization (#87815)

* docs: update alert list visualization

* Apply suggestions from code review

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

* fix: linting errors

* docs: add youtube video

---------

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

Co-authored-by: Marie Cruz <mdcruz@users.noreply.github.com>
2024-05-22 09:57:41 -04:00
grafana-delivery-bot[bot]
58fe44ef9f [v11.0.x] docs: update dashboard list visualization (#88148)
docs: update dashboard list visualization (#87494)

* docs: update dashboard list visualization

* docs: add youtube video

* Apply suggestions from code review

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

* Ran prettier

---------

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

Co-authored-by: Marie Cruz <mdcruz@users.noreply.github.com>
2024-05-21 14:14:15 -04:00
grafana-delivery-bot[bot]
0f10658901 [v11.0.x] Alerting/Annotations: Return nothing from historian store if filtering by tags (#88140)
Alerting/Annotations: Return nothing from historian store if filtering by tags and matchAny is false (#85488)

* Return nothing from historian store if filtering by tag

(cherry picked from commit cad8190a91)

Co-authored-by: William Wernert <william.wernert@grafana.com>
2024-05-21 19:33:31 +03:00
Jack Baldry
b6acbcbcd7 [v11.0.x] [docs/sources/panels-visualizations] Replace docs/reference shortcode with ref URIs (#88056) 2024-05-21 16:16:30 +01:00
Jack Baldry
92bfa39ca8 [v11.0.x] [docs/sources/alerting] Replace docs/reference shortcode with ref URIs (#88054) 2024-05-21 13:41:53 +01:00
grafana-delivery-bot[bot]
e0fde11aba [v11.0.x] Docs/usman plugin mgmt (#88116)
Co-authored-by: David Harris <david.harris@grafana.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Joseph Perez <45749060+josmperez@users.noreply.github.com>
Co-authored-by: Joe Perez <joseph.perez@grafana.com>
Co-authored-by: Usman Ahmad <usman.ahmad@grafana.com>
2024-05-21 10:01:44 +01:00
grafana-delivery-bot[bot]
2a650ff121 [v11.0.x] DashboardScene: Re-enabled skipped scenes e2e tests due to bugs (#88100)
DashboardScene: Re-enabled skipped scenes e2e tests due to bugs (#87723)

* enabled skipped tests

* adjust to wait for loading indicator

* adjust typos

* adjust e2e workflow for test PR run

* restore workflow

* adjust workflow for test run

* restore workflow to sheduled runs

(cherry picked from commit e324a346f6)

Co-authored-by: Sergej-Vlasov <37613182+Sergej-Vlasov@users.noreply.github.com>
2024-05-20 20:56:01 +03:00
Jack Baldry
e8dd634e25 [v11.0.x] [docs/sources/developers] Replace docs/reference shortcode with ref URIs (#88063) 2024-05-20 16:29:35 +01:00
grafana-delivery-bot[bot]
152cce216a [v11.0.x] Alerting: Fix scheduler to sort rules before evaluation (#88021)
* Alerting: Fix scheduler to sort rules before evaluation (#88006)

sort rules scheduled for evaluation to make sure that the order is stable between evaluations.
This is especially important in HA mode.

(cherry picked from commit 05d6813a09)

* use old generators

---------

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2024-05-20 17:51:31 +03:00
grafana-delivery-bot[bot]
f622370b7a [v11.0.x] Alerting: Fix typo in JSON response for rule export. (#88090)
Alerting: Fix typo in JSON response for rule export. (#88028)

(cherry picked from commit 8c2a382788)

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2024-05-20 16:58:18 +03:00
grafana-delivery-bot[bot]
e49e614893 [v11.0.x] CloudMonitoring: Fix query type selection issue (#88024)
CloudMonitoring: Fix query type selection issue (#87990)

* Use deepEqual to ensure migratedQuery is only returned when query is unchanged

* Add selectors for query editors

* Add more tests for query editor component

* Clarifying comments

* Fix how state is set

* Simplify query editor loading and migration

(cherry picked from commit 58d382e5dd)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2024-05-17 21:26:10 +03:00
grafana-delivery-bot[bot]
2c2835b1f4 [v11.0.x] Snapshots: Render Dashboard controls in Scenes View (#87993)
Snapshots: Render Dashboard controls in Scenes View (#87972)

(cherry picked from commit 5ce2d4e1a7)

Co-authored-by: Ezequiel Victorero <ezequiel.victorero@grafana.com>
2024-05-16 14:35:34 -03:00
grafana-delivery-bot[bot]
2ae78d1a88 [v11.0.x] Azure: Fix for username assertion (#87999)
Azure: Fix for username assertion (#87853)

Fix for username assertion

- Allow setting username assertion in INI
- Correctly set the azsettings value
- Update tests

(cherry picked from commit edae5fc791)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2024-05-16 20:06:51 +03:00
grafana-delivery-bot[bot]
3ba9960de1 [v11.0.x] grafana fundamentals fix (#87992)
grafana fundamentals fix (#87975)

* grafana fundamentals fix

* pretty face

(cherry picked from commit c7d2a7a19c)

Co-authored-by: antonio <45235678+tonypowa@users.noreply.github.com>
2024-05-16 17:00:32 +02:00
grafana-delivery-bot[bot]
3182c0ec30 [v11.0.x] Docs: public dashboards fixes (#87983)
Docs: public dashboards fixes (#87870)

* Made minor style fixes

* Converted docs ref links to ref URIs and updated note style to admonitions

* Fixed link text and version syntax

(cherry picked from commit 80e2af5d25)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-05-16 09:36:07 -04:00
grafana-delivery-bot[bot]
f7660d1bbd [v11.0.x] Update make docs procedure (#87970)
Co-authored-by: grafanabot <bot@grafana.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-16 12:10:15 +01:00
antonio
a347535aaa manual backport (#87955) (#87963)
* alerting: contact points - links (#87955)

* alerting: contact points - links

* fundamentals: alerting instructions update

* updated steps

* prettier

(cherry picked from commit 086def3f57)

* pretty
2024-05-16 12:36:44 +02:00
grafana-delivery-bot[bot]
87a66a10b5 [v11.0.x] Docs: Add annotated image and updated feature overview list (#87940)
Docs: Add annotated image and updated feature overview list (#87833)

Added annotated image and updated feature overview list

(cherry picked from commit 47b42c9d42)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-05-15 16:43:27 -04:00
grafana-delivery-bot[bot]
74b0f223f3 [v11.0.x] Alerting: use logger with same context within rule scheduling loop (#87936)
Alerting: use logger with same context within rule scheduling loop (#87934)

(cherry picked from commit f410c7fca1)

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2024-05-15 16:33:32 -04:00
grafana-delivery-bot[bot]
f38c31135e [v11.0.x] Update helm docs - removed enterprise tag from product labels (#87928)
Update helm docs - removed enterprise tag from product labels (#87922)

Update index.md

(cherry picked from commit 9f543fa8d6)

Co-authored-by: Usman Ahmad <usman.ahmad@grafana.com>
2024-05-15 10:25:49 -05:00
grafana-delivery-bot[bot]
c737501cea [v11.0.x] DashboardScene: Fixes checkbox orienation in save forms (#86490)
DashboardScene: Fixes checkbox orienation in save forms (#86408)

(cherry picked from commit 1d513f66b8)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-05-15 16:14:46 +02:00
grafana-delivery-bot[bot]
2133f0dce5 [v11.0.x] alerting: Improve documentation regarding linking and visualizing alert rules in dashboards (#87918)
alerting: Improve documentation regarding linking and visualizing alert rules in dashboards (#87892)

* commit 4

* commit 5

(cherry picked from commit e2f062d16d)

Co-authored-by: antonio <45235678+tonypowa@users.noreply.github.com>
2024-05-15 16:05:39 +02:00
antonio
a24fb654ec Manual Backport #87811 to v11.0.x (#87887)
* alerting: adding links to get-started tutorial (#87811)

* alerting: adding links to get-started tutorial

* Update index.md

* Update create-grafana-managed-rule.md

* Update _index.md

* Update _index.md

* Update docs/sources/alerting/alerting-rules/create-grafana-managed-rule.md

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

* Update docs/sources/alerting/fundamentals/_index.md

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

* pretty

---------

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

* pretty

* fixed heading/title issue
2024-05-15 15:52:12 +02:00
grafana-delivery-bot[bot]
592339b5f5 [v11.0.x] PublicDashboards: Public dashboard refreshed when access token changes (#87916)
PublicDashboards: Public dashboard refreshed when access token changes (#87913)

(cherry picked from commit a6d64c6ed5)

Co-authored-by: Juan Cabanas <juan.cabanas@grafana.com>
2024-05-15 16:37:24 +03:00
Piotr Jamróz
a0032fcb29 [v11.0.x] Explore: lookup datasource by name when present in legacy URLs (#85222) (#87806)
Explore: lookup datasource by name when present in legacy URLs (#85222)

* [explore] lookup datasource by name when present in legacy compact URLs

* update unit test

* prettier fix

---------

Co-authored-by: Kristina Durivage <kristina.durivage@grafana.com>
(cherry picked from commit 867d36fe59)

Co-authored-by: Christian Briones <cwbriones@gmail.com>
2024-05-15 15:10:01 +02:00
Scott Lepper
39720ee0dd [sql expressions] fix: use ast to read tables (#87867) - backport (#87875)
* add flatten
* add escape
2024-05-15 07:52:04 -04:00
Torkel Ödegaard
26488cd3eb [v11.0.x] DashboardScene: Skip panel repeats when values are the same (#87896)
DashboardScene: Skip panel repeats when values are the same (#87788)

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
(cherry picked from commit 699c5bfe79)
2024-05-15 13:19:34 +02:00
grafana-delivery-bot[bot]
99391d2cb0 [v11.0.x] Docs: Adds video embed for the Understanding Dashboards youtube video (#87865)
Docs: Adds video embed for the Understanding Dashboards youtube video (#87449)

* Adds video embed for the Understanding Dashboards youtube video

* Moved video to Use dashboards page

---------

Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
(cherry picked from commit 1e2c58fc80)

Co-authored-by: Tom Glenn <289945+tomglenn@users.noreply.github.com>
2024-05-14 15:13:44 -04:00
grafana-delivery-bot[bot]
e730ea618b [v11.0.x] DashboardScene: Default hoverHeaderOffset to 0 (#87838)
DashboardScene: Default `hoverHeaderOffset` to 0 (#87561)

* remove hoverHeaderOffsetBehavior and force offset to 0

* force headerHoverOffset in addPanel flow

(cherry picked from commit 5f147644d4)

Co-authored-by: Sergej-Vlasov <37613182+Sergej-Vlasov@users.noreply.github.com>
2024-05-14 21:28:30 +03:00
grafana-delivery-bot[bot]
e5237e5ac2 [v11.0.x] Alerting: Do not store series values from past evaluations in state manager for no reason (#87845)
Alerting: Do not store series values from past evaluations in state manager for no reason (#87525)

Do not store previous execution results on states

(cherry picked from commit a6a9ab4008)

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2024-05-14 12:56:14 -05:00
grafana-delivery-bot[bot]
ae9743b722 [v11.0.x] postgres/mysql: improve macro docs (#87824)
Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
2024-05-14 16:04:52 +01:00
grafana-delivery-bot[bot]
f4e42483c7 [v11.0.x] Update JWT auth page (#87830)
Co-authored-by: Ryan Crutchfield <30603182+rjcrutch@users.noreply.github.com>
2024-05-14 16:01:50 +01:00
grafana-delivery-bot[bot]
891f514089 [v11.0.x] [DOC] Adds missing link to Pyroscope core data source (#87620)
Co-authored-by: Christian Simon <simon@swine.de>
2024-05-14 15:06:50 +01:00
grafana-delivery-bot[bot]
d4e3ac9cc5 [v11.0.x] docs: add dashboard list play link (#87817)
docs: add dashboard list play link (#87807)

(cherry picked from commit 5678012f0f)

Co-authored-by: David Allen <david.allen@grafana.com>
2024-05-14 10:03:01 -04:00
Torkel Ödegaard
8083c41983 [v11.0.x] DashboardScene: Fixing major row repeat issues (#87800)
DashboardScene: Fixing major row repeat issues (#87539)

* DashboardScene: Fixing major row repeat issues

* Fixing edit scope

* Use dashboard variableDependendency to notify row repeat behaviors

* update scenes lib

* Do not repeat if values are the same

* Update public/app/features/dashboard-scene/scene/DashboardScene.tsx

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

* Updated scenes

* Update

* Update

* Do not render row actions for repeated rows

* Fixed e2e

---------

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
(cherry picked from commit 9cd7c87b48)
2024-05-14 13:40:45 +02:00
Horst Gutmann
009e6c1cb8 Revert "ci(docs): Disable tag requirement for pushing release docs" (#85225) 2024-05-14 11:19:15 +01:00
grafana-delivery-bot[bot]
252b2110e6 Release: Bump version to 11.0.1 (#87792)
"Release: Updated versions in package to 11.0.1"

Co-authored-by: grafana-delivery-bot[bot] <132647405+grafana-delivery-bot[bot]@users.noreply.github.com>
2024-05-14 11:14:49 +02:00
grafana-delivery-bot[bot]
83b9528bce [v11.0.x] Changelog: Updated changelog for 11.0.0 (#87791)
Changelog: Updated changelog for 11.0.0 (#87790)

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

Co-authored-by: grafana-delivery-bot[bot] <132647405+grafana-delivery-bot[bot]@users.noreply.github.com>
2024-05-14 10:49:21 +02:00
grafana-delivery-bot[bot]
b12ad73c52 [v11.0.x] docs: Update link to Loki Get Started (#87776)
docs: Update link to Loki Get Started (#87772)

(cherry picked from commit 56054e2e87)

Co-authored-by: J Stickler <julie.stickler@grafana.com>
2024-05-13 16:07:47 -05:00
grafana-delivery-bot[bot]
016a26c6ad [v11.0.x] Scenes: Fix snapshot rendering (#87770)
Scenes: Fix snapshot rendering (#87769)

(cherry picked from commit 56766abcc8)

Co-authored-by: Ezequiel Victorero <ezequiel.victorero@grafana.com>
2024-05-13 22:32:59 +03:00
grafana-delivery-bot[bot]
0129c26d50 [v11.0.x] Docs: update headings and add release info (#87757)
Docs: update headings and add release info (#87058)

* Updated headings and to align with release life cycle stages and adding release info

* Update generated files

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

---------

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

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-05-13 15:23:58 -04:00
grafana-delivery-bot[bot]
e027fb376c [v11.0.x] docs: update news visualization (#87760)
docs: update news visualization (#87443)

* docs: update news visualization

* docs: add use case

* Apply suggestions from code review

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

* Removed future tense

---------

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

Co-authored-by: Marie Cruz <mdcruz@users.noreply.github.com>
2024-05-13 15:21:12 -04:00
grafana-delivery-bot[bot]
9ff9e5090d [v11.0.x] docs: add geomap play link (#87756)
docs: add geomap play link (#87469)

(cherry picked from commit 5705952d85)

Co-authored-by: David Allen <david.allen@grafana.com>
2024-05-13 12:43:04 -04:00
grafana-delivery-bot[bot]
0edc67764d [v11.0.x] docs: add flame graph play link (#87755)
docs: add flame graph play link (#87498)

(cherry picked from commit 351d36caea)

Co-authored-by: David Allen <david.allen@grafana.com>
2024-05-13 12:39:55 -04:00
grafana-delivery-bot[bot]
e8cc0c257d [v11.0.x] docs: add text panel play link (#87753)
docs: add text panel play link (#87497)

(cherry picked from commit fc425983b3)

Co-authored-by: David Allen <david.allen@grafana.com>
2024-05-13 12:38:11 -04:00
grafana-delivery-bot[bot]
4bbdf7c082 [v11.0.x] Docs: add panel options shared content (#87274)
Docs: add panel options shared content (#87258)

* Added panel options shared file

* Added panel options shared file to visualizations pages

* Fixed version interpolation syntax and added Cloud links

* Fixed heading level of title

(cherry picked from commit f8d9f8541b)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-05-13 12:24:04 -04:00
grafana-delivery-bot[bot]
6d7c73d13d [v11.0.x] docs: add histogram play link (#87738)
docs: add histogram play link (#87466)

(cherry picked from commit 3eba57dc98)

Co-authored-by: David Allen <david.allen@grafana.com>
2024-05-13 11:43:55 -04:00
grafana-delivery-bot[bot]
3a74eb623a [v11.0.x] docs: add heatmap play link (#87734)
docs: add heatmap play link (#87464)

(cherry picked from commit d61c661a90)

Co-authored-by: David Allen <david.allen@grafana.com>
2024-05-13 11:21:22 -04:00
grafana-delivery-bot[bot]
161f74366b [v11.0.x] docs: add canvas button example play link (#87730)
docs: add canvas button example play link (#87462)

(cherry picked from commit 788c50527f)

Co-authored-by: David Allen <david.allen@grafana.com>
2024-05-13 11:17:14 -04:00
grafana-delivery-bot[bot]
b566045210 [v11.0.x] Docs: What’s new & Upgrade guide & Breaking changes v11.0 (#87720)
Docs: What’s new & Upgrade guide & Breaking changes v11.0 (#86369)

* Updated g11-preview pags for g11 release

* Added items to breaking changes guide

* Added and updated What's new content from latest Cloud file

* Updated link text

* Removed Azure Monitor item

(cherry picked from commit c2e8384090)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-05-13 10:31:26 -04:00
grafana-delivery-bot[bot]
036e21a03d [v11.0.x] alerting: PD - typo fix (#87698)
alerting: PD - typo fix (#87674)

typo fix

(cherry picked from commit 1191992226)

Co-authored-by: antonio <45235678+tonypowa@users.noreply.github.com>
2024-05-13 12:37:23 +03:00
antonio
8e6438de0f Backport #87538 to v11.0.x (#87673)
alerting: integrations > small update (#87538)

* added links to list

* changed heading

(cherry picked from commit 3a2c9f4898)
2024-05-13 11:34:06 +02:00
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
1774 changed files with 74388 additions and 25458 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"]
],
@@ -1292,10 +1295,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/core/services/echo/backends/analytics/ApplicationInsightsBackend.ts:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"],
[0, 0, 0, "Unexpected any. Specify a different type.", "1"]
],
"public/app/core/services/echo/backends/analytics/RudderstackBackend.ts:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"],
[0, 0, 0, "Unexpected any. Specify a different type.", "1"],
@@ -1436,7 +1435,8 @@ 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, "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"],
@@ -2336,13 +2336,10 @@ exports[`better eslint`] = {
"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"]
@@ -2375,9 +2372,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"],
@@ -2410,33 +2404,26 @@ exports[`better eslint`] = {
"public/app/features/dashboard-scene/panel-edit/PanelDataPane/PanelDataPane.tsx:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"]
],
"public/app/features/dashboard-scene/saving/DashboardPrompt.tsx:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"]
],
"public/app/features/dashboard-scene/saving/DetectChangesWorker.ts:5381": [
[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"]
[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/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"]
"public/app/features/dashboard-scene/scene/NavToolbarActions.test.tsx:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"]
],
"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"],
@@ -2453,16 +2440,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"]
@@ -2762,7 +2754,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"]
@@ -3761,9 +3754,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"]
@@ -4411,11 +4401,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"]
@@ -4517,6 +4506,9 @@ exports[`better eslint`] = {
"public/app/plugins/datasource/cloudwatch/utils/logsRetry.ts:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"]
],
"public/app/plugins/datasource/dashboard/datasource.ts:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"]
],
"public/app/plugins/datasource/dashboard/runSharedRequest.ts:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"],
[0, 0, 0, "Do not use any type assertions.", "1"]
@@ -5291,6 +5283,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"]
],
@@ -6150,6 +6148,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"]
],
@@ -6602,13 +6603,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": [

View File

@@ -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
@@ -53,15 +53,9 @@ $(LEFTHOOK): $(BINGO_DIR)/lefthook.mod
@echo "(re)installing $(GOBIN)/lefthook-v1.4.8"
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=lefthook.mod -o=$(GOBIN)/lefthook-v1.4.8 "github.com/evilmartians/lefthook"
SWAGGER := $(GOBIN)/swagger-v0.30.2
SWAGGER := $(GOBIN)/swagger-v0.31.0
$(SWAGGER): $(BINGO_DIR)/swagger.mod
@# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies.
@echo "(re)installing $(GOBIN)/swagger-v0.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"
@echo "(re)installing $(GOBIN)/swagger-v0.31.0"
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=swagger.mod -o=$(GOBIN)/swagger-v0.31.0 "github.com/go-swagger/go-swagger/cmd/swagger"

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,5 +1,7 @@
module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT
go 1.18
go 1.21
require github.com/go-swagger/go-swagger v0.30.2 // cmd/swagger
toolchain go1.22.4
require github.com/go-swagger/go-swagger v0.31.0 // cmd/swagger

View File

@@ -42,8 +42,13 @@ github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJ
github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU=
github.com/Masterminds/semver/v3 v3.1.1 h1:hLg3sBzpNErnxhQtUy/mmLR2I9foDujNK030IGemrRc=
github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs=
github.com/Masterminds/semver/v3 v3.2.0/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ=
github.com/Masterminds/semver/v3 v3.2.1 h1:RN9w6+7QoMeJVGyfmbcgs28Br8cvmnucEXnY0rYXWg0=
github.com/Masterminds/semver/v3 v3.2.1/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ=
github.com/Masterminds/sprig/v3 v3.2.2 h1:17jRggJu518dr3QaafizSXOjKYp94wKfABxUmyxvxX8=
github.com/Masterminds/sprig/v3 v3.2.2/go.mod h1:UoaO7Yp8KlPnJIYWTFkMaqPUYKTfGFPhxNuwnnxkKlk=
github.com/Masterminds/sprig/v3 v3.2.3 h1:eL2fZNezLomi0uOLqjQoN6BfsDD+fyLtgbJMAj9n6YA=
github.com/Masterminds/sprig/v3 v3.2.3/go.mod h1:rXcFaZ2zZbLRJv/xSysmlgIM1u11eBaRMhvYXJNkGuM=
github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI=
github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=
@@ -51,6 +56,8 @@ github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdko
github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw=
github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d h1:Byv0BzEl3/e6D5CLfI0j/7hiIEtvGVFPCZ7Ei2oq8iQ=
github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw=
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 h1:DklsrG3dyBCFEj5IhUbnKptjxatkF07cF2ak3yi77so=
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw=
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
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=
@@ -73,9 +80,13 @@ github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSw
github.com/felixge/httpsnoop v1.0.2 h1:+nS9g82KMXccJ/wp0zyRW9ZBHFETmMGtkk+2CTTrW4o=
github.com/felixge/httpsnoop v1.0.3 h1:s/nj+GCswXYzN5v2DpNMuMQYe+0DDwt5WVCU6CWBdXk=
github.com/felixge/httpsnoop v1.0.3/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg=
github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
github.com/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI=
github.com/fsnotify/fsnotify v1.5.4 h1:jRbGcIw6P2Meqdwuo0H1p6JVLbL5DHKAKlYndzMwVZI=
github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU=
github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA=
github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM=
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=
@@ -83,49 +94,71 @@ github.com/go-openapi/analysis v0.21.2 h1:hXFrOYFHUAMQdu6zwAiKKJHJQ8kqZs1ux/ru1P
github.com/go-openapi/analysis v0.21.2/go.mod h1:HZwRk4RRisyG8vx2Oe6aqeSQcoxRp47Xkp3+K6q+LdY=
github.com/go-openapi/analysis v0.21.4 h1:ZDFLvSNxpDaomuCueM0BlSXxpANBlFYiBvr+GXrvIHc=
github.com/go-openapi/analysis v0.21.4/go.mod h1:4zQ35W4neeZTqh3ol0rv/O8JBbka9QyAgQRPp9y3pfo=
github.com/go-openapi/analysis v0.23.0 h1:aGday7OWupfMs+LbmLZG4k0MYXIANxcuBTYUC03zFCU=
github.com/go-openapi/analysis v0.23.0/go.mod h1:9mz9ZWaSlV8TvjQHLl2mUW2PbZtemkE8yA5v22ohupo=
github.com/go-openapi/errors v0.19.8/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M=
github.com/go-openapi/errors v0.19.9/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M=
github.com/go-openapi/errors v0.20.2 h1:dxy7PGTqEh94zj2E3h1cUmQQWiM1+aeCROfAr02EmK8=
github.com/go-openapi/errors v0.20.2/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M=
github.com/go-openapi/errors v0.20.3 h1:rz6kiC84sqNQoqrtulzaL/VERgkoCyB6WdEkc2ujzUc=
github.com/go-openapi/errors v0.20.3/go.mod h1:Z3FlZ4I8jEGxjUK+bugx3on2mIAk4txuAOhlsB1FSgk=
github.com/go-openapi/errors v0.22.0 h1:c4xY/OLxUBSTiepAg3j/MHuAv5mJhnf53LLMWFB+u/w=
github.com/go-openapi/errors v0.22.0/go.mod h1:J3DmZScxCDufmIMsdOuDHxJbdOGC0xtUynjIx092vXE=
github.com/go-openapi/inflect v0.19.0 h1:9jCH9scKIbHeV9m12SmPilScz6krDxKRasNNSNPXu/4=
github.com/go-openapi/inflect v0.19.0/go.mod h1:lHpZVlpIQqLyKwJ4N+YSc9hchQy/i12fJykb83CRBH4=
github.com/go-openapi/inflect v0.21.0 h1:FoBjBTQEcbg2cJUWX6uwL9OyIW8eqc9k4KhN4lfbeYk=
github.com/go-openapi/inflect v0.21.0/go.mod h1:INezMuUu7SJQc2AyR3WO0DqqYUJSj8Kb4hBd7WtjlAw=
github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY=
github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
github.com/go-openapi/jsonpointer v0.21.0 h1:YgdVicSA9vH5RiHs9TZW5oyafXZFc6+2Vc1rr/O9oNQ=
github.com/go-openapi/jsonpointer v0.21.0/go.mod h1:IUyH9l/+uyhIYQ/PXVA41Rexl+kOkAPDdXEYns6fzUY=
github.com/go-openapi/jsonreference v0.19.6 h1:UBIxjkht+AWIgYzCDSv2GN+E/togfwXUJFRTWhl2Jjs=
github.com/go-openapi/jsonreference v0.19.6/go.mod h1:diGHMEHg2IqXZGKxqyvWdfWU/aim5Dprw5bqpKkTvns=
github.com/go-openapi/jsonreference v0.20.0 h1:MYlu0sBgChmCfJxxUKZ8g1cPWFOB37YSZqewK7OKeyA=
github.com/go-openapi/jsonreference v0.20.0/go.mod h1:Ag74Ico3lPc+zR+qjn4XBUmXymS4zJbYVCZmcgkasdo=
github.com/go-openapi/jsonreference v0.21.0 h1:Rs+Y7hSXT83Jacb7kFyjn4ijOuVGSvOdF2+tg1TRrwQ=
github.com/go-openapi/jsonreference v0.21.0/go.mod h1:LmZmgsrTkVg9LG4EaHeY8cBDslNPMo06cago5JNLkm4=
github.com/go-openapi/loads v0.21.0 h1:jYtUO4wwP7psAweisP/MDoOpdzsYEESdoPcsWjHDR68=
github.com/go-openapi/loads v0.21.1/go.mod h1:/DtAMXXneXFjbQMGEtbamCZb+4x7eGwkvZCvBmwUG+g=
github.com/go-openapi/loads v0.21.2 h1:r2a/xFIYeZ4Qd2TnGpWDIQNcP80dIaZgf704za8enro=
github.com/go-openapi/loads v0.21.2/go.mod h1:Jq58Os6SSGz0rzh62ptiu8Z31I+OTHqmULx5e/gJbNw=
github.com/go-openapi/loads v0.22.0 h1:ECPGd4jX1U6NApCGG1We+uEozOAvXvJSF4nnwHZ8Aco=
github.com/go-openapi/loads v0.22.0/go.mod h1:yLsaTCS92mnSAZX5WWoxszLj0u+Ojl+Zs5Stn1oF+rs=
github.com/go-openapi/runtime v0.21.1 h1:/KIG00BzA2x2HRStX2tnhbqbQdPcFlkgsYCiNY20FZs=
github.com/go-openapi/runtime v0.24.1 h1:Sml5cgQKGYQHF+M7yYSHaH1eOjvTykrddTE/KtQVjqo=
github.com/go-openapi/runtime v0.24.1/go.mod h1:AKurw9fNre+h3ELZfk6ILsfvPN+bvvlaU/M9q/r9hpk=
github.com/go-openapi/runtime v0.28.0 h1:gpPPmWSNGo214l6n8hzdXYhPuJcGtziTOgUpvsFWGIQ=
github.com/go-openapi/runtime v0.28.0/go.mod h1:QN7OzcS+XuYmkQLw05akXk0jRH/eZ3kb18+1KwW9gyc=
github.com/go-openapi/spec v0.20.4 h1:O8hJrt0UMnhHcluhIdUgCLRWyM2x7QkBXRvOs7m+O1M=
github.com/go-openapi/spec v0.20.4/go.mod h1:faYFR1CvsJZ0mNsmsphTMSoRrNV3TEDoAM7FOEWeq8I=
github.com/go-openapi/spec v0.20.6/go.mod h1:2OpW+JddWPrpXSCIX8eOx7lZ5iyuWj3RYR6VaaBKcWA=
github.com/go-openapi/spec v0.20.7 h1:1Rlu/ZrOCCob0n+JKKJAWhNWMPW8bOZRg8FJaY+0SKI=
github.com/go-openapi/spec v0.20.7/go.mod h1:2OpW+JddWPrpXSCIX8eOx7lZ5iyuWj3RYR6VaaBKcWA=
github.com/go-openapi/spec v0.21.0 h1:LTVzPc3p/RzRnkQqLRndbAzjY0d0BCL72A6j3CdL9ZY=
github.com/go-openapi/spec v0.21.0/go.mod h1:78u6VdPw81XU44qEWGhtr982gJ5BWg2c0I5XwVMotYk=
github.com/go-openapi/strfmt v0.21.0/go.mod h1:ZRQ409bWMj+SOgXofQAGTIo2Ebu72Gs+WaRADcS5iNg=
github.com/go-openapi/strfmt v0.21.1 h1:G6s2t5V5kGCHLVbSdZ/6lI8Wm4OzoPFkc3/cjAsKQrM=
github.com/go-openapi/strfmt v0.21.1/go.mod h1:I/XVKeLc5+MM5oPNN7P6urMOpuLXEcNrCX/rPGuWb0k=
github.com/go-openapi/strfmt v0.21.2/go.mod h1:I/XVKeLc5+MM5oPNN7P6urMOpuLXEcNrCX/rPGuWb0k=
github.com/go-openapi/strfmt v0.21.3 h1:xwhj5X6CjXEZZHMWy1zKJxvW9AfHC9pkyUjLvHtKG7o=
github.com/go-openapi/strfmt v0.21.3/go.mod h1:k+RzNO0Da+k3FrrynSNN8F7n/peCmQQqbbXjtDfvmGg=
github.com/go-openapi/strfmt v0.23.0 h1:nlUS6BCqcnAk0pyhi9Y+kdDVZdZMHfEKQiS4HaMgO/c=
github.com/go-openapi/strfmt v0.23.0/go.mod h1:NrtIpfKtWIygRkKVsxh7XQMDQW5HKQl6S5ik2elW+K4=
github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
github.com/go-openapi/swag v0.19.15 h1:D2NRCBzS9/pEY3gP9Nl8aDqGUcPFrwG2p+CNFrLyrCM=
github.com/go-openapi/swag v0.19.15/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ=
github.com/go-openapi/swag v0.21.1/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ=
github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g=
github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14=
github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+GrE=
github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ=
github.com/go-openapi/validate v0.20.3 h1:GZPPhhKSZrE8HjB4eEkoYAZmoWA4+tCemSgINH1/vKw=
github.com/go-openapi/validate v0.21.0/go.mod h1:rjnrwK57VJ7A8xqfpAOEKRH8yQSGUriMu5/zuPSQ1hg=
github.com/go-openapi/validate v0.22.0 h1:b0QecH6VslW/TxtpKgzpO1SNG7GU2FsaqKdP1E2T50Y=
github.com/go-openapi/validate v0.22.0/go.mod h1:rjnrwK57VJ7A8xqfpAOEKRH8yQSGUriMu5/zuPSQ1hg=
github.com/go-openapi/validate v0.24.0 h1:LdfDKwNbpB6Vn40xhTdNZAnfLECL81w+VX3BumrGD58=
github.com/go-openapi/validate v0.24.0/go.mod h1:iyeX1sEufmv3nPbBdX3ieNviWnOZaJ1+zquzJEf2BAQ=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
github.com/go-stack/stack v1.8.1 h1:ntEHSVwIt7PNXNpgPmVfMrNhLtgjlmnZha2kOpuRiDw=
github.com/go-stack/stack v1.8.1/go.mod h1:dcoOX6HbPZSZptuspn9bctJ+N/CnF5gGygcUP3XYfe4=
@@ -133,6 +166,8 @@ github.com/go-swagger/go-swagger v0.29.0 h1:z3YoZtLvS1Y8TE/PCat1VypcZxM0IgKLt0Nv
github.com/go-swagger/go-swagger v0.29.0/go.mod h1:Z4GJzI+bHKKkGB2Ji1rawpi3/ldXX8CkzGIa9HAC5EE=
github.com/go-swagger/go-swagger v0.30.2 h1:23odPUyQZdkNFZZSBJ3mqYYcdh+LnuReEbdWN18OMRo=
github.com/go-swagger/go-swagger v0.30.2/go.mod h1:neDPes8r8PCz2JPvHRDj8BTULLh4VJUt7n6MpQqxhHM=
github.com/go-swagger/go-swagger v0.31.0 h1:H8eOYQnY2u7vNKWDNykv2xJP3pBhRG/R+SOCAmKrLlc=
github.com/go-swagger/go-swagger v0.31.0/go.mod h1:WSigRRWEig8zV6t6Sm8Y+EmUjlzA/HoaZJ5edupq7po=
github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0=
github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY=
github.com/gobuffalo/depgen v0.1.0/go.mod h1:+ifsuy7fhi15RWncXQQKjWS9JPkdah5sZvtHc2RXGlg=
@@ -211,11 +246,15 @@ github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm4
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.1.2 h1:EVhdT+1Kseyi1/pUmXKaFxYsDNy9RQYkMWRH68J/W7Y=
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g=
github.com/gorilla/handlers v1.5.1 h1:9lRY6j8DEeeBT10CvO9hGW0gmky0BprnvDI5vfhUHH4=
github.com/gorilla/handlers v1.5.1/go.mod h1:t8XrUpc4KVXb7HGyJ4/cEnwQiaxrX/hz1Zv/4g96P1Q=
github.com/gorilla/handlers v1.5.2 h1:cLTUSsNkgcwhgRqvCNmdbRWG0A3N4F+M2nWKdScwyEE=
github.com/gorilla/handlers v1.5.2/go.mod h1:dX+xVpaxdSw+q0Qek8SSsl3dfMk3jNddUkMzo0GtH0w=
github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
@@ -223,11 +262,16 @@ github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T
github.com/huandu/xstrings v1.3.1/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
github.com/huandu/xstrings v1.3.2 h1:L18LIDzqlW6xN2rEkpdV8+oL/IXWJ1APd+vsdYy4Wdw=
github.com/huandu/xstrings v1.3.2/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
github.com/huandu/xstrings v1.3.3/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
github.com/huandu/xstrings v1.4.0 h1:D17IlohoQq4UcpqD7fDk80P7l+lwAmlFaBHgOipl2FU=
github.com/huandu/xstrings v1.4.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA=
github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU=
github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA=
github.com/imdario/mergo v0.3.16 h1:wwQJbIsHYGMUyLSPrEq1CT16AhnhNJQ51+4fdHUnCl4=
github.com/imdario/mergo v0.3.16/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY=
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
github.com/jessevdk/go-flags v1.5.0 h1:1jKYvbxEjfUl0fmqTCOfonvskHHXMjBySTLW4y9LFvc=
github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4=
@@ -246,6 +290,8 @@ github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0=
github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
@@ -253,6 +299,8 @@ github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/magiconair/properties v1.8.5 h1:b6kJs+EmPFMYGkow9GiUyCyOvIwYetYJ3fSaWak/Gls=
github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo=
github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60=
github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY=
github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0=
github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
@@ -283,6 +331,9 @@ 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.1 h1:8e3L2cCQzLFi2CR4g7vGFuFxX7Jl1kKX8gW+iV0GUKU=
github.com/pelletier/go-toml/v2 v2.0.1/go.mod h1:r9LEWfGN8R5k0VXJ+0BkIe7MYkRdwZOjgMj2KwnJFUo=
github.com/pelletier/go-toml/v2 v2.1.1 h1:LWAJwfNvjQZCFIDKWYQaM62NcYeYViCmWIwmOStowAI=
github.com/pelletier/go-toml/v2 v2.1.1/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc=
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
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=
@@ -297,18 +348,32 @@ github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTE
github.com/rogpeppe/go-internal v1.8.1 h1:geMPLpDpQOgVyCg5z5GoRwLHepNdb71NXb67XFkP+Eg=
github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8=
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8=
github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4=
github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6keLGt6kNQ=
github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4=
github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE=
github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ=
github.com/shopspring/decimal v1.2.0 h1:abSATXmQEYyShuxI4/vyW3tV1MrKAJzCZ/0zLUXYbsQ=
github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o=
github.com/shopspring/decimal v1.3.1 h1:2Usl1nmF/WZucqkFZhnfFYxxxu8LG21F6nPQBE5gKV8=
github.com/shopspring/decimal v1.3.1/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o=
github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo=
github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0=
github.com/spf13/afero v1.8.0 h1:5MmtuhAgYeU6qpa7w7bP0dv6MBYuup0vekhSpSkoq60=
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.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
github.com/spf13/cast v1.4.1 h1:s0hze+J0196ZfEMTs80N7UlFt0BDuQ7Q+JDnHiMWKdA=
github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w=
github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU=
github.com/spf13/cast v1.6.0 h1:GEiTHELF+vaR5dhz3VqZfFSzZjYbgeKDpBxQVS4GYJ0=
github.com/spf13/cast v1.6.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk=
github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo=
@@ -318,9 +383,12 @@ github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An
github.com/spf13/viper v1.10.1 h1:nuJZuYpG7gTj/XqiUwg8bA0cp1+M2mC3J4g5luUYBKk=
github.com/spf13/viper v1.12.0 h1:CZ7eSOd3kZoaYDLbXnmzgQI5RlciuXBMA+18HwHRfZQ=
github.com/spf13/viper v1.12.0/go.mod h1:b6COn30jlNxbm/V2IqWiNWkJ+vZNiMNksliPCiuKtSI=
github.com/spf13/viper v1.18.2 h1:LUXCnvUvSM6FXAsj6nnfc8Q2tp1dIgUfY9Kc8GsSOiQ=
github.com/spf13/viper v1.18.2/go.mod h1:EKmWIqdnk5lOcmR72yw6hS+8OPYcwD0jteitLMVB+yk=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
@@ -329,9 +397,12 @@ github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s=
github.com/subosito/gotenv v1.3.0 h1:mjC+YW8QpAdXibNi+vNWgzmgBH4+5l5dCXv8cNysBLI=
github.com/subosito/gotenv v1.3.0/go.mod h1:YzJjq/33h7nrwdY+iHMhEOEEbW0ovIz0tB6t6PwAXzs=
github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8=
github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU=
github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
github.com/toqueteos/webbrowser v1.2.0 h1:tVP/gpK69Fx+qMJKsLE7TD8LuGWPnEV71wBN9rrstGQ=
github.com/toqueteos/webbrowser v1.2.0/go.mod h1:XWoZq4cyp9WeUeak7w7LXRUQf1F1ATJMir8RTqb4ayM=
@@ -345,6 +416,7 @@ github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
go.mongodb.org/mongo-driver v1.7.3/go.mod h1:NqaYOwnXWr5Pm7AOpO5QFxKJ503nbMse/R79oO62zWg=
go.mongodb.org/mongo-driver v1.7.5/go.mod h1:VXEWRZ6URJIkUq2SCAyapmhH0ZLRBP+FT4xhp5Zvxng=
go.mongodb.org/mongo-driver v1.8.2 h1:8ssUXufb90ujcIvR6MyE1SchaNj0SFxsakiZgxIyrMk=
@@ -352,12 +424,16 @@ go.mongodb.org/mongo-driver v1.8.3/go.mod h1:0sQWfOeY63QTntERDJJ/0SuKK0T1uVSgKCu
go.mongodb.org/mongo-driver v1.10.0/go.mod h1:wsihk0Kdgv8Kqu1Anit4sfK+22vSFbUrAVEYRhCXrA8=
go.mongodb.org/mongo-driver v1.10.1 h1:NujsPveKwHaWuKUer/ceo9DzEe7HIj1SlJ6uvXZG0S4=
go.mongodb.org/mongo-driver v1.10.1/go.mod h1:z4XpeoU6w+9Vht+jAFyLgVrD+jGSQQe0+CBWFHNiHt8=
go.mongodb.org/mongo-driver v1.14.0 h1:P98w8egYRjYe3XDjxhYJagTokP/H6HzlsnojRgZRd80=
go.mongodb.org/mongo-driver v1.14.0/go.mod h1:Vzb0Mk/pa7e6cWw85R4F/endUC3u0U9jGcNU603k65c=
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=
go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE=
@@ -369,10 +445,14 @@ golang.org/x/crypto v0.0.0-20200414173820-0848c9571904/go.mod h1:LzIPMQfyMNhhGPh
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20201216223049-8b5274cf687f/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 h1:Y/gsMcFOcR+6S6f3YeMKl5g+dZMEWqcz5Czj/GWYbkM=
golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI=
golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@@ -383,6 +463,8 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0
golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM=
golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU=
golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 h1:LfspQV/FYTatPTr/3HzIcmiUFH7PGP+OQ6mgDYo3yuQ=
golang.org/x/exp v0.0.0-20240222234643-814bf88cf225/go.mod h1:CxmFvTBINI24O/j8iY7H1xHzx2i4OsyguNBmN/uPtqc=
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=
@@ -409,6 +491,8 @@ golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.5.1 h1:OJxoQ/rynoF0dcCdI7cLPktw/hR2cueqYfjm43oqK38=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 h1:6zppjxzCulZykYSLyVDYbneBfbaBIQPYMevg0bEwv2s=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA=
golang.org/x/mod v0.17.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-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -444,6 +528,8 @@ golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20220121210141-e204ce36a2ba h1:6u6sik+bn/y7vILcYkK3iwTBWN7WtBvB0+SZswQnbf8=
golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -465,6 +551,9 @@ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJ
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M=
golang.org/x/sync v0.7.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-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -511,11 +600,17 @@ golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220114195835-da31bd327af9 h1:XfKQ4OlFl8okEOr5UvAqFRVj8pY/4yfcXrddB8qAbU0=
golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220829200755-d48e67d00261 h1:v6hYoSR9T5oet+pMXwUWkbiVqx/63mlHjefrHmxwfeY=
golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y=
golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
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.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -526,6 +621,9 @@ golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk=
golang.org/x/text v0.15.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=
@@ -583,6 +681,8 @@ golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0=
golang.org/x/tools v0.1.8 h1:P1HhGGuLW4aAclzjtmJdf0mJOjVUZUzOTqkAkWL+l6w=
golang.org/x/tools v0.1.12 h1:VveCTK38A2rkS8ZqFY25HIDFscX5X9OoEhJd3quQmXU=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
golang.org/x/tools v0.21.0 h1:qc0xYgIbsSDt9EyWz05J5wfa7LOVW0YTLOXrqdLAWIw=
golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk=
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=
@@ -683,6 +783,8 @@ gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
gopkg.in/ini.v1 v1.66.3 h1:jRskFVxYaMGAMUbN0UZ7niA9gzL9B49DOqE78vg0k3w=
gopkg.in/ini.v1 v1.66.4 h1:SsAcf+mM7mRZo2nJNGt8mZCjG8ZRaNGMURJw7BsIST4=
gopkg.in/ini.v1 v1.66.4/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA=
gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=

View File

@@ -14,13 +14,11 @@ 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"
LEFTHOOK="${GOBIN}/lefthook-v1.4.8"
SWAGGER="${GOBIN}/swagger-v0.30.2"
WIRE="${GOBIN}/wire-v0.6.0"
SWAGGER="${GOBIN}/swagger-v0.31.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

@@ -17,18 +17,10 @@ load(
"publish_npm_pipelines",
"publish_packages_pipeline",
)
load(
"scripts/drone/pipelines/ci_images.star",
"publish_ci_windows_test_image_pipeline",
)
load(
"scripts/drone/pipelines/publish_images.star",
"publish_image_pipelines_public",
)
load(
"scripts/drone/pipelines/windows.star",
"windows_test_backend",
)
load(
"scripts/drone/rgm.star",
"rgm",
@@ -44,12 +36,7 @@ def main(_ctx):
publish_npm_pipelines() +
publish_packages_pipeline() +
rgm() +
[windows_test_backend({
"event": ["promote"],
"target": ["test-windows"],
}, "oss", "testing")] +
integration_test_pipelines() +
publish_ci_windows_test_image_pipeline() +
cronjobs() +
secrets()
)

1476
.drone.yml

File diff suppressed because it is too large Load Diff

19
.github/CODEOWNERS vendored
View File

@@ -38,17 +38,17 @@
/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/fundamentals @chri2547
/docs/sources/getting-started/ @chri2547
/docs/sources/introduction/ @chri2547
/docs/sources/explore/ @grafana/explore-squad @lwandz13
/docs/sources/fundamentals @irenerl24
/docs/sources/getting-started/ @irenerl24
/docs/sources/introduction/ @irenerl24
/docs/sources/panels-visualizations/ @imatwawana
/docs/sources/release-notes/ @Eve832 @GrafanaWriter
/docs/sources/setup-grafana/ @chri2547
/docs/sources/setup-grafana/ @irenerl24
/docs/sources/upgrade-guide/ @imatwawana
/docs/sources/whatsnew/ @imatwawana
@@ -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
@@ -612,6 +614,7 @@ playwright.config.ts @grafana/plugins-platform-frontend
# Grafana Operator Experience Team
/pkg/services/caching/ @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
@@ -651,6 +654,8 @@ embed.go @grafana/grafana-as-code
/.github/workflows/backport.yml @grafana/grafana-release-guild
/.github/workflows/bump-version.yml @grafana/grafana-release-guild
/.github/workflows/close-milestone.yml @grafana/grafana-release-guild
/.github/workflows/release-pr.yml @grafana/grafana-release-guild
/.github/workflows/release-comms.yml @grafana/grafana-release-guild
/.github/workflows/codeowners-validator.yml @tolzhabayev
/.github/workflows/codeql-analysis.yml @DanCech
/.github/workflows/commands.yml @torkelo
@@ -693,6 +698,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

View File

@@ -0,0 +1,22 @@
name: Changelog generator
description: Generates and publishes a changelog for the given release version
inputs:
target:
description: Target tag, branch or commit hash for the changelog
required: true
previous:
description: Previous tag, branch or commit hash to start changelog from
required: false
github_token:
description: GitHub token with read/write access to all necessary repositories
required: true
output_file:
description: A file to store resulting changelog markdown
required: false
outputs:
changelog:
description: Changelog contents between the two given versions in Markdown format
runs:
using: 'node20'
main: 'index.js'

View File

@@ -0,0 +1,319 @@
import { appendFileSync, writeFileSync } from 'fs';
import { exec as execCallback } from 'node:child_process';
import { promisify } from 'node:util';
//
// Github Action core utils: logging (notice + debug log levels), must escape
// newlines and percent signs
//
const escapeData = (s) => s.replace(/%/g, '%25').replace(/\r/g, '%0D').replace(/\n/g, '%0A');
const LOG = (msg) => console.log(`::notice::${escapeData(msg)}`);
//
// Semver utils: parse, compare, sort etc (using official regexp)
// https://regex101.com/r/Ly7O1x/3/
//
const semverRegExp =
/^v?(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/;
const semverParse = (tag) => {
const m = tag.match(semverRegExp);
if (!m) {
return;
}
const [_, major, minor, patch, prerelease] = m;
return [+major, +minor, +patch, prerelease, tag];
};
// semverCompare takes two parsed semver tags and comparest them more or less
// according to the semver specs
const semverCompare = (a, b) => {
for (let i = 0; i < 3; i++) {
if (a[i] !== b[i]) {
return a[i] < b[i] ? 1 : -1;
}
}
if (a[3] !== b[3]) {
return a[3] < b[3] ? 1 : -1;
}
return 0;
};
// Using `git tag -l` output find the tag (version) that goes semantically
// right before the given version. This might not work correctly with some
// pre-release versions, which is why it's possible to pass previous version
// into this action explicitly to avoid this step.
const getPreviousVersion = async (version) => {
const exec = promisify(execCallback);
const { stdout } = await exec('git tag -l');
const prev = stdout
.split('\n')
.map(semverParse)
.filter((tag) => tag)
.sort(semverCompare)
.find((tag) => semverCompare(tag, semverParse(version)) > 0);
if (!prev) {
throw `Could not find previous git tag for ${version}`;
}
return prev[4];
};
// A helper for Github GraphQL API endpoint
const graphql = async (ghtoken, query, variables) => {
const { env } = process;
const results = await fetch('https://api.github.com/graphql', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${ghtoken}`,
},
body: JSON.stringify({ query, variables }),
});
const { data } = await results.json();
return data;
};
// Using Github GraphQL API find the timestamp for the given tag/commit hash.
// This is required for PR listing, because Github API only takes date/time as
// a "since" parameter while listing. Currently there is no way to provide two
// "commitish" items and get a list of PRs in between them.
const getCommitishDate = async (name, owner, target) => {
const result = await graphql(
ghtoken,
`
query getCommitDate($owner: String!, $name: String!, $target: String!) {
repository(owner: $owner, name: $name) {
object(expression: $target) {
... on Commit {
committedDate
}
}
}
}
`,
{ name, owner, target }
);
return result.repository.object.committedDate;
};
// Using Github GraphQL API get a list of PRs between the two "commitish" items.
// This resoves the "since" item's timestamp first and iterates over all PRs
// till "target" using naïve pagination.
const getHistory = async (name, owner, target, sinceDate) => {
LOG(`Fetching ${owner}/${name} PRs since ${sinceDate} till ${target}`);
const query = `
query findCommitsWithAssociatedPullRequests(
$name: String!
$owner: String!
$target: String!
$sinceDate: GitTimestamp
$cursor: String
) {
repository(name: $name, owner: $owner) {
object(expression: $target) {
... on Commit {
history(first: 50, since: $sinceDate, after: $cursor) {
totalCount
pageInfo {
hasNextPage
endCursor
}
nodes {
id
associatedPullRequests(first: 1) {
nodes {
title
number
labels(first: 10) {
nodes {
name
}
}
commits(first: 1) {
nodes {
commit {
author {
user {
login
}
}
}
}
}
}
}
}
}
}
}
}
}`;
let cursor;
let nodes = [];
for (;;) {
const result = await graphql(ghtoken, query, {
name,
owner,
target,
sinceDate,
cursor,
});
LOG(`GraphQL: ${JSON.stringify(result)}`);
nodes = [...nodes, ...result.repository.object.history.nodes];
const { hasNextPage, endCursor } = result.repository.object.history.pageInfo;
if (!hasNextPage) {
break;
}
cursor = endCursor;
}
return nodes;
};
// The main function for this action: given two "commitish" items it gets a
// list of PRs between them and filters/groups the PRs by category (bugfix,
// feature, deprecation, breaking change and plugin fixes/enhancements).
//
// PR grouping relies on Github labels only, not on the PR contents.
const getChangeLogItems = async (name, owner, sinceDate, to) => {
// check if a node contains a certain label
const hasLabel = ({ labels }, label) => labels.nodes.some(({ name }) => name === label);
// get all the PRs between the two "commitish" items
const history = await getHistory(name, owner, to, sinceDate);
const items = history.flatMap((node) => {
// discard PRs without a "changelog" label
const changes = node.associatedPullRequests.nodes.filter((PR) => hasLabel(PR, 'add to changelog'));
if (changes.length === 0) {
return [];
}
const item = changes[0];
const { number, url, labels } = item;
const title = item.title.replace(/^\[[^\]]+\]:?\s*/, '');
// for changelog PRs try to find a suitable category.
// Note that we can not detect "deprecation notices" like that
// as there is no suitable label yet.
const isBug = /fix/i.test(title) || hasLabel({ labels }, 'type/bug');
const isBreaking = hasLabel({ labels }, 'breaking change');
const isPlugin =
hasLabel({ labels }, 'area/grafana/ui') ||
hasLabel({ labels }, 'area/grafana/toolkit') ||
hasLabel({ labels }, 'area/grafana/runtime');
const author = item.commits.nodes[0].commit.author.user.login;
return {
repo: name,
number,
title,
author,
isBug,
isPlugin,
isBreaking,
};
});
return items;
};
// ======================================================
// GENERATE CHANGELOG
// ======================================================
LOG(`Changelog action started`);
const ghtoken = process.env.GITHUB_TOKEN || process.env.INPUT_GITHUB_TOKEN;
if (!ghtoken) {
throw 'GITHUB_TOKEN is not set and "github_token" input is empty';
}
const target = process.argv[2] || process.env.INPUT_TARGET;
LOG(`Target tag/branch/commit: ${target}`);
const previous = process.argv[3] || process.env.INPUT_PREVIOUS || (await getPreviousVersion(target));
LOG(`Previous tag/commit: ${previous}`);
const sinceDate = await getCommitishDate('grafana', 'grafana', previous);
LOG(`Previous tag/commit timestamp: ${sinceDate}`);
// Get all changelog items from Grafana OSS
const oss = await getChangeLogItems('grafana', 'grafana', sinceDate, target);
// Get all changelog items from Grafana Enterprise
const entr = await getChangeLogItems('grafana-enterprise', 'grafana', sinceDate, target);
LOG(`Found OSS PRs: ${oss.length}`);
LOG(`Found Enterprise PRs: ${entr.length}`);
// Sort PRs and categorise them into sections
const changelog = [...oss, ...entr]
.sort((a, b) => (a.title < b.title ? -1 : 1))
.reduce(
(changelog, item) => {
if (item.isPlugin) {
changelog.plugins.push(item);
} else if (item.isBug) {
changelog.bugfixes.push(item);
} else if (item.isBreaking) {
changelog.breaking.push(item);
} else {
changelog.features.push(item);
}
return changelog;
},
{
breaking: [],
plugins: [],
bugfixes: [],
features: [],
}
);
// Convert PR numbers to Github links
const pullRequestLink = (n) => `[#${n}](https://github.com/grafana/grafana/pull/${n})`;
// Convert Github user IDs to Github links
const userLink = (u) => `[@${u}](https://github.com/${u})`;
// Now that we have a changelog - we can render some markdown as an output
const markdown = (changelog) => {
// This convers a list of changelog items into a markdown section with a list of titles/links
const section = (title, items) =>
items.length === 0
? ''
: `### ${title}
${items
.map(
(item) =>
`- ${item.title.replace(/^([^:]*:)/gm, '**$1**')} ${
item.repo === 'grafana-enterprise'
? '(Enterprise)'
: `${pullRequestLink(item.number)}, ${userLink(item.author)}`
}`
)
.join('\n')}
`;
// Render all present sections for the given changelog
return `${section('Features and enhancements', changelog.features)}
${section('Bug fixes', changelog.bugfixes)}
${section('Breaking changes', changelog.breaking)}
${section('Plugin development fixes & changes', changelog.plugins)}
`;
};
const md = markdown(changelog);
// Print changelog, mostly for debugging
LOG(`Resulting markdown: ${md}`);
// Save changelog as an output for this action
if (process.env.GITHUB_OUTPUT) {
LOG(`Output to ${process.env.GITHUB_OUTPUT}`);
appendFileSync(process.env.GITHUB_OUTPUT, `changelog<<EOF\n${escapeData(md)}\nEOF`);
} else {
LOG('GITHUB_OUTPUT is not set');
}
// Save changelog as an output file (if requested)
if (process.env.INPUT_OUTPUT_FILE) {
LOG(`Output to ${process.env.INPUT_OUTPUT_FILE}`);
writeFileSync(process.env.INPUT_OUTPUT_FILE, md);
}

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.22.4'
- name: Build swagger
run: |
make -C pkg/services/ngalert/api/tooling post.json api.json
@@ -34,4 +34,3 @@ jobs:
labels: 'area/alerting,type/docs,no-changelog'
team-reviewers: 'grafana/alerting-backend-product'
draft: false

View File

@@ -5,74 +5,39 @@ on:
version:
description: 'Needs to match, exactly, the name of a milestone. The version to be released please respect: major.minor.patch, major.minor.patch-preview or major.minor.patch-preview<number> format. example: 7.4.3, 7.4.3-preview or 7.4.3-preview1'
required: true
env:
YARN_ENABLE_IMMUTABLE_INSTALLS: false
push:
default: true
required: false
dry_run:
default: false
required: false
jobs:
main:
runs-on: ubuntu-latest
steps:
# This is a basic workflow to help you get started with Actions
- uses: actions-ecosystem/action-regex-match@v2.0.2
if: ${{ github.event.inputs.version != '' }}
id: regex-match
with:
text: ${{ github.event.inputs.version }}
regex: '^(\d+.\d+).\d+(?:-(?:(preview\d?)|(pre)))?$'
- uses: actions-ecosystem/action-regex-match@v2.0.2
if: ${{ inputs.version_call != '' }}
id: regex-match-version-call
with:
text: ${{ inputs.version_call }}
regex: '^(\d+.\d+).\d+(?:-(?:(preview\d?)|(pre)))?$'
- name: Validate input version
if: ${{ steps.regex-match.outputs.match == '' && github.event.inputs.version != '' }}
run: |
echo "The input version format is not correct, please respect:\
major.minor.patch, major.minor.patch-preview or major.minor.patch-preview<number> format. \
example: 7.4.3, 7.4.3-preview or 7.4.3-preview1"
exit 1
- name: Validate input version call
if: ${{ inputs.version_call != '' && steps.regex-match-version-call.outputs.match == '' }}
run: |
echo "The input version format is not correct, please respect:\
major.minor.patch, major.minor.patch-preview or major.minor.patch-preview<number> format. \
example: 7.4.3, 7.4.3-preview or 7.4.3-preview1"
exit 1
- uses: actions/checkout@v4
- name: Set intermedia variables
id: intermedia
run: |
echo "short_ref=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT
echo "check_passed=false" >> $GITHUB_OUTPUT
echo "branch_name=v${{steps.regex-match.outputs.group1}}" >> $GITHUB_OUTPUT
echo "branch_exist=$(git ls-remote --heads https://github.com/grafana/grafana.git v${{ steps.regex-match.outputs.group1 }}.x | wc -l)" >> $GITHUB_OUTPUT
- name: Checkout Actions
- name: Checkout Grafana
uses: actions/checkout@v4
- name: Update package.json versions
uses: ./pkg/build/actions/bump-version
with:
repository: "grafana/grafana-github-actions"
path: ./actions
ref: main
# 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'
- uses: actions/setup-node@v4
with:
node-version: '18'
- name: Install Actions
run: npm install --production --prefix ./actions
- name: "Generate token"
version: ${{ inputs.version }}
- if: ${{ inputs.push }}
name: Generate token
id: generate_token
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
with:
app_id: ${{ secrets.GRAFANA_DELIVERY_BOT_APP_ID }}
private_key: ${{ secrets.GRAFANA_DELIVERY_BOT_APP_PEM }}
- name: Run bump version (manually invoked)
uses: ./actions/bump-version
with:
token: ${{ steps.generate_token.outputs.token }}
metricsWriteAPIKey: ${{ secrets.GRAFANA_MISC_STATS_API_KEY }}
precommit_make_target: gen-cue
- if: ${{ inputs.push }}
name: Push & Create PR
run: |
git config --local user.name "github-actions[bot]"
git config --local user.email "github-actions[bot]@users.noreply.github.com"
git config --local --add --bool push.autoSetupRemote true
git checkout -b "bump-version/${{ github.run_id }}/${{ inputs.version }}"
git add .
git commit -m "bump version ${{ inputs.version }}"
git push
gh pr create --dry-run=${{ inputs.dry_run }} -l "type/ci" -l "no-changelog" -B "${{ github.ref_name }}" --title "Release: Bump version to ${{ inputs.version }}" --body "Updated version to ${{ inputs.version }}"
env:
GH_TOKEN: ${{ steps.generate_token.outputs.token }}

139
.github/workflows/changelog.yml vendored Normal file
View File

@@ -0,0 +1,139 @@
name: Generate changelog
on:
workflow_call:
inputs:
version:
type: string
required: true
description: 'Target release version (semver, git tag, branch or commit)'
target:
required: true
type: string
description: 'The base branch that these changes are being merged into'
dry_run:
required: false
default: false
type: boolean
latest:
required: false
default: false
type: boolean
secrets:
GRAFANA_DELIVERY_BOT_APP_ID:
required: true
GRAFANA_DELIVERY_BOT_APP_PEM:
required: true
workflow_dispatch:
inputs:
version:
type: string
required: true
description: 'Target release version (semver, git tag, branch or commit)'
target:
required: true
type: string
description: 'The base branch that these changes are being merged into'
dry_run:
required: false
default: false
type: boolean
latest:
required: false
default: false
type: boolean
permissions:
contents: write
pull-requests: write
jobs:
main:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: "Generate token"
id: generate_token
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
with:
app_id: ${{ secrets.GRAFANA_DELIVERY_BOT_APP_ID }}
private_key: ${{ secrets.GRAFANA_DELIVERY_BOT_APP_PEM }}
- name: "Checkout Grafana repo"
uses: "actions/checkout@v4"
with:
ref: main
sparse-checkout: |
.github/workflows
CHANGELOG.md
.nvmrc
.prettierignore
.prettierrc.js
fetch-depth: 0
fetch-tags: true
- name: Setup nodejs environment
uses: actions/setup-node@v4
with:
node-version-file: .nvmrc
- name: "Configure git user"
run: |
git config --local user.name "github-actions[bot]"
git config --local user.email "github-actions[bot]@users.noreply.github.com"
git config --local --add --bool push.autoSetupRemote true
- name: "Create branch"
run: git checkout -b "changelog/${{ github.run_id }}/${{ inputs.version }}"
- name: "Generate changelog"
id: changelog
uses: ./.github/workflows/actions/changelog
with:
github_token: ${{ steps.generate_token.outputs.token }}
target: v${{ inputs.version }}
output_file: changelog_items.md
- name: "Patch CHANGELOG.md"
run: |
# Prepare CHANGELOG.md content with version delimiters
(
echo
echo "# ${{ inputs.version}} ($(date '+%F'))"
echo
cat changelog_items.md
) > CHANGELOG.part
# Check if a version exists in the changelog
if grep -q "<!-- ${{ inputs.version}} START" CHANGELOG.md ; then
# Replace the content between START and END delimiters
echo "Version ${{ inputs.version }} is found in the CHANGELOG.md, patching contents..."
sed -i -e '/${{ inputs.version }} START/,/${{ inputs.version }} END/{//!d;}' \
-e '/${{ inputs.version }} START/r CHANGELOG.part' CHANGELOG.md
else
# Prepend changelog part to the main changelog file
echo "Version ${{ inputs.version }} not found in the CHANGELOG.md"
(
echo "<!-- ${{ inputs.version }} START -->"
cat CHANGELOG.part
echo "<!-- ${{ inputs.version }} END -->"
cat CHANGELOG.md
) > CHANGELOG.tmp
mv CHANGELOG.tmp CHANGELOG.md
fi
git diff CHANGELOG.md
- name: "Prettify CHANGELOG.md"
run: npx prettier --write CHANGELOG.md
- name: "Commit changelog changes"
run: git add CHANGELOG.md && git commit --allow-empty -m "Update changelog" CHANGELOG.md
- name: "git push"
if: ${{ inputs.dry_run }} != true
run: git push
- name: "Create changelog PR"
run: >
gh pr create \
--dry-run=${{ inputs.dry_run }} \
--label "no-backport" \
--label "no-changelog" \
-B "${{ inputs.target }}" \
--title "Release: update changelog for ${{ inputs.version }}" \
--body "Changelog changes for release ${{ inputs.version }}"
env:
GH_TOKEN: ${{ steps.generate_token.outputs.token }}

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.22.4'
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL

View File

@@ -1,25 +1,46 @@
name: Create community release post
on:
workflow_call:
inputs:
version:
type: string
required: true
description: 'Needs to match, exactly, the name of a milestone. The version to be released please respect: major.minor.patch, major.minor.patch-preview or major.minor.patch-preview<number> format. example: 7.4.3, 7.4.3-preview or 7.4.3-preview1'
dry_run:
type: boolean
required: false
default: false
description: When enabled, this workflow will print a preview instead of creating an actual post.
secrets:
GRAFANA_MISC_STATS_API_KEY:
required: true
GRAFANABOT_FORUM_KEY:
required: true
workflow_dispatch:
inputs:
version:
type: string
required: true
description: 'Needs to match, exactly, the name of a milestone. The version to be released please respect: major.minor.patch, major.minor.patch-preview or major.minor.patch-preview<number> format. example: 7.4.3, 7.4.3-preview or 7.4.3-preview1'
dry_run:
type: boolean
required: false
default: false
description: When enabled, this workflow will print a preview instead of creating an actual post.
permissions:
contents: read
jobs:
main:
runs-on: ubuntu-latest
steps:
- name: "Generate token"
id: generate_token
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
with:
app_id: ${{ secrets.GRAFANA_DELIVERY_BOT_APP_ID }}
private_key: ${{ secrets.GRAFANA_DELIVERY_BOT_APP_PEM }}
- name: Run community-release (manually invoked)
uses: grafana/grafana-github-actions-go/community-release@main
with:
token: ${{ steps.generate_token.outputs.token }}
token: ${{ secrets.GITHUB_TOKEN }}
version: ${{ inputs.version }}
metrics_api_key: ${{ secrets.GRAFANA_MISC_STATS_API_KEY }}
community_api_key: ${{ secrets.GRAFANABOT_FORUM_KEY }}
community_api_username: grafanabot
dry_run: ${{ inputs.dry_run }}

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

@@ -1,27 +1,49 @@
name: Create or update GitHub release
on:
workflow_call:
inputs:
version:
required: true
description: Needs to match, exactly, the name of a milestone (NO v prefix)
type: string
latest:
required: false
default: "0"
description: Mark this release as latest (`1`) or not (`0`, default)
type: string
dry_run:
required: false
default: false
type: boolean
workflow_dispatch:
inputs:
version:
required: true
description: Needs to match, exactly, the name of a milestone (NO v prefix)
type: string
latest:
required: false
default: "0"
description: Mark this release as latest (`1`) or not (`0`, default)
type: string
dry_run:
required: false
default: false
type: boolean
permissions:
# contents: write allows the action(s) to create github releases
contents: write
jobs:
main:
runs-on: ubuntu-latest
steps:
- name: "Generate token"
id: generate_token
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
with:
app_id: ${{ secrets.GRAFANA_DELIVERY_BOT_APP_ID }}
private_key: ${{ secrets.GRAFANA_DELIVERY_BOT_APP_PEM }}
- name: Create GitHub release (manually invoked)
uses: grafana/grafana-github-actions-go/github-release@main
with:
token: ${{ steps.generate_token.outputs.token }}
token: ${{ secrets.GITHUB_TOKEN }}
version: ${{ inputs.version }}
metrics_api_key: ${{ secrets.GRAFANA_MISC_STATS_API_KEY }}
latest: ${{ inputs.latest }}
dry_run: ${{ inputs.dry_run }}

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.22.4'
# 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.22.4'
- 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.22.4'
- 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.22.4'
- name: "Verify kinds"
run: go run .github/workflows/scripts/kinds/verify-kinds.go

View File

@@ -1,38 +1,21 @@
name: "publish-technical-documentation-next"
name: publish-technical-documentation-next
on:
push:
branches:
- "main"
- main
paths:
- "docs/sources/**"
workflow_dispatch:
jobs:
sync:
if: github.repository == 'grafana/grafana'
runs-on: "ubuntu-latest"
permissions:
contents: read
id-token: write
runs-on: ubuntu-latest
steps:
- name: "Checkout Grafana repo"
uses: "actions/checkout@v4"
- name: "Clone website-sync Action"
# WEBSITE_SYNC_TOKEN is a fine-grained GitHub Personal Access Token that expires.
# It must be regenerated in the grafanabot GitHub account and requires a Grafana organization
# GitHub administrator to update the organization secret.
# The IT helpdesk can update the organization secret.
run: "git clone --single-branch --no-tags --depth 1 -b master https://grafanabot:${{ secrets.WEBSITE_SYNC_TOKEN }}@github.com/grafana/website-sync ./.github/actions/website-sync"
- name: "Publish to website repository (next)"
uses: "./.github/actions/website-sync"
id: "publish-next"
- uses: actions/checkout@v4
- uses: grafana/writers-toolkit/publish-technical-documentation@publish-technical-documentation/v1
with:
repository: "grafana/website"
branch: "master"
host: "github.com"
# PUBLISH_TO_WEBSITE_TOKEN is a fine-grained GitHub Personal Access Token that expires.
# It must be regenerated in the grafanabot GitHub account and requires a Grafana organization
# GitHub administrator to update the organization secret.
# The IT helpdesk can update the organization secret.
github_pat: "grafanabot:${{ secrets.PUBLISH_TO_WEBSITE_TOKEN }}"
source_folder: "docs/sources"
target_folder: "content/docs/grafana/next"
website_directory: content/docs/grafana/next

View File

@@ -1,4 +1,4 @@
name: "publish-technical-documentation-release"
name: publish-technical-documentation-release
on:
push:
@@ -12,63 +12,18 @@ on:
jobs:
sync:
if: github.repository == 'grafana/grafana'
runs-on: "ubuntu-latest"
permissions:
contents: read
id-token: write
runs-on: ubuntu-latest
steps:
- name: "Checkout Grafana repo"
uses: "actions/checkout@v4"
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: "Checkout Actions library"
uses: "actions/checkout@v4"
- uses: grafana/writers-toolkit/publish-technical-documentation-release@publish-technical-documentation-release/v2
with:
repository: "grafana/grafana-github-actions"
path: "./actions"
- name: "Install Actions from library"
run: "npm install --production --prefix ./actions"
- name: "Determine if there is a matching release tag"
id: "has-matching-release-tag"
uses: "./actions/has-matching-release-tag"
with:
ref_name: "${{ github.ref_name }}"
release_tag_regexp: "^v(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)$"
release_branch_regexp: "^v(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.x$"
- name: "Determine technical documentation version"
if: "steps.has-matching-release-tag.outputs.bool == 'true'"
uses: "./actions/docs-target"
id: "target"
with:
ref_name: "${{ github.ref_name }}"
- name: "Clone website-sync Action"
if: "steps.has-matching-release-tag.outputs.bool == 'true'"
# WEBSITE_SYNC_TOKEN is a fine-grained GitHub Personal Access Token that expires.
# It must be regenerated in the grafanabot GitHub account and requires a Grafana organization
# GitHub administrator to update the organization secret.
# The IT helpdesk can update the organization secret.
run: "git clone --single-branch --no-tags --depth 1 -b master https://grafanabot:${{ secrets.WEBSITE_SYNC_TOKEN }}@github.com/grafana/website-sync ./.github/actions/website-sync"
- name: "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'"
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:
repository: "grafana/website"
branch: "master"
host: "github.com"
# PUBLISH_TO_WEBSITE_TOKEN is a fine-grained GitHub Personal Access Token that expires.
# It must be regenerated in the grafanabot GitHub account and requires a Grafana organization
# GitHub administrator to update the organization secret.
# The IT helpdesk can update the organization secret.
github_pat: "grafanabot:${{ secrets.PUBLISH_TO_WEBSITE_TOKEN }}"
source_folder: "docs/sources"
target_folder: "content/docs/grafana/${{ steps.target.outputs.target }}"
release_tag_regexp: "^v(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)$"
release_branch_regexp: "^v(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.x$"
release_branch_with_patch_regexp: "^v(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)$"
website_directory: content/docs/grafana
version_suffix: ""

80
.github/workflows/release-comms.yml vendored Normal file
View File

@@ -0,0 +1,80 @@
# This workflow runs whenever the release PR is merged. It includes post-release communication processes like
# posting to slack, the website, community forums, etc.
# Only things that happen after a release is completed and all of the necessary code changes (like the changelog) are made.
name: Post-release
on:
workflow_dispatch:
inputs:
dry_run:
required: false
default: true
type: boolean
version:
required: true
latest:
type: boolean
default: false
pull_request:
types:
- closed
branches:
- 'main'
- 'v*.*.*'
jobs:
setup:
if: ${{ github.event_name == 'workflow_dispatch' || (github.event.pull_request.merged == true && startsWith(github.head_ref, 'release/')) }}
name: Setup and establish latest
outputs:
version: ${{ steps.output.outputs.version }}
dry_run: ${{ steps.output.outputs.dry_run }}
latest: ${{ steps.output.outputs.latest }}
runs-on: ubuntu-latest
steps:
# The github-release action expects a `LATEST` value of a string of either '1' or '0'
- if: ${{ github.event_name == 'workflow_dispatch' }}
run: |
echo setting up GITHUB_ENV for ${{ github.event_name }}
echo "VERSION=${{ inputs.version }}" >> $GITHUB_ENV
echo "DRY_RUN=${{ inputs.dry_run }}" >> $GITHUB_ENV
echo "LATEST=${{ inputs.latest && '1' || '0' }}" >> $GITHUB_ENV
- if: ${{ github.event.pull_request.merged == true && startsWith(github.head_ref, 'release/') }}
run: |
echo "VERSION=$(echo ${{ github.head_ref }} | sed -e 's/release\/.*\///g')" >> $GITHUB_ENV
echo "DRY_RUN=${{ contains(github.event.pull_request.labels.*.name, 'release/dry-run') }}" >> $GITHUB_ENV
echo "LATEST=${{ contains(github.event.pull_request.labels.*.name, 'release/latest') && '1' || '0' }}" >> $GITHUB_ENV
- id: output
run: |
echo "dry_run: $DRY_RUN"
echo "latest: $LATEST"
echo "version: $VERSION"
echo "dry_run=$DRY_RUN" >> "$GITHUB_OUTPUT"
echo "latest=$LATEST" >> "$GITHUB_OUTPUT"
echo "version=$VERSION" >> "$GITHUB_OUTPUT"
post_changelog_on_forum:
needs: setup
uses: ./.github/workflows/community-release.yml
secrets:
GRAFANA_MISC_STATS_API_KEY: ${{ secrets.GRAFANA_MISC_STATS_API_KEY }}
GRAFANABOT_FORUM_KEY: ${{ secrets.GRAFANABOT_FORUM_KEY }}
with:
version: ${{ needs.setup.outputs.version }}
dry_run: ${{ needs.setup.outputs.dry_run == 'true' }}
create_github_release:
# a github release requires a git tag
# The github-release action retrieves the changelog using the /repos/grafana/grafana/contents/CHANGELOG.md API
# endpoint.
needs: setup
uses: ./.github/workflows/github-release.yml
with:
version: ${{ needs.setup.outputs.version }}
dry_run: ${{ needs.setup.outputs.dry_run == 'true' }}
latest: ${{ needs.setup.outputs.latest }}
post_on_slack:
needs: setup
runs-on: ubuntu-latest
steps:
- run: |
echo announce on slack that ${{ needs.setup.outputs.version }} has been released
echo dry run: ${{ needs.setup.outputs.dry_run }}

167
.github/workflows/release-pr.yml vendored Normal file
View File

@@ -0,0 +1,167 @@
# This workflow creates a new PR in Grafana which is triggered after a release is completed.
# It should include all code changes that are needed after a release is done. This includes the changelog update and
# version bumps, but could include more in the future.
# Please refrain from including any processes that do not result in code changes in this workflow. Instead, they should
# either be triggered in the release promotion process or in the release comms process (that is triggered by merging
# this PR).
name: Complete a Grafana release
on:
workflow_dispatch:
inputs:
version:
required: true
type: string
description: The version of Grafana that is being released
target:
required: true
type: string
description: The base branch that these changes are being merged into
backport:
required: false
type: string
description: Branch to backport these changes to
dry_run:
required: false
default: false
type: boolean
latest:
required: false
default: false
type: boolean
permissions:
contents: write
pull-requests: write
jobs:
push-changelog-to-main:
name: Create PR to main to update the changelog
uses: ./.github/workflows/changelog.yml
with:
version: ${{ inputs.version }}
latest: ${{ inputs.latest }}
dry_run: ${{ inputs.dry_run }}
target: main
secrets:
GRAFANA_DELIVERY_BOT_APP_ID: ${{ secrets.GRAFANA_DELIVERY_BOT_APP_ID }}
GRAFANA_DELIVERY_BOT_APP_PEM: ${{ secrets.GRAFANA_DELIVERY_BOT_APP_PEM }}
create-prs:
name: Create Release PR
runs-on: ubuntu-latest
if: github.repository == 'grafana/grafana'
steps:
- name: Generate bot token
id: generate_token
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
with:
app_id: ${{ secrets.GRAFANA_DELIVERY_BOT_APP_ID }}
private_key: ${{ secrets.GRAFANA_DELIVERY_BOT_APP_PEM }}
- name: Checkout Grafana
uses: actions/checkout@v4
with:
ref: ${{ inputs.target }}
fetch-depth: 0
fetch-tags: true
- name: Checkout Grafana (main)
uses: actions/checkout@v4
with:
ref: main
fetch-depth: '0'
fetch-tags: 'false'
path: .grafana-main
- name: Setup nodejs environment
uses: actions/setup-node@v4
with:
node-version-file: .nvmrc
- name: Configure git user
run: |
git config --local user.name "github-actions[bot]"
git config --local user.email "github-actions[bot]@users.noreply.github.com"
git config --local --add --bool push.autoSetupRemote true
- name: Create branch
run: git checkout -b "release/${{ github.run_id }}/${{ inputs.version }}"
- name: Generate changelog
id: changelog
uses: ./.grafana-main/.github/workflows/actions/changelog
with:
github_token: ${{ steps.generate_token.outputs.token }}
target: v${{ inputs.version }}
output_file: changelog_items.md
- name: Patch CHANGELOG.md
run: |
# Prepare CHANGELOG.md content with version delimiters
(
echo
echo "# ${{ inputs.version}} ($(date '+%F'))"
echo
cat changelog_items.md
) > CHANGELOG.part
# Check if a version exists in the changelog
if grep -q "<!-- ${{ inputs.version}} START" CHANGELOG.md ; then
# Replace the content between START and END delimiters
echo "Version ${{ inputs.version }} is found in the CHANGELOG.md, patching contents..."
sed -i -e '/${{ inputs.version }} START/,/${{ inputs.version }} END/{//!d;}' \
-e '/${{ inputs.version }} START/r CHANGELOG.part' CHANGELOG.md
else
# Prepend changelog part to the main changelog file
echo "Version ${{ inputs.version }} not found in the CHANGELOG.md"
(
echo "<!-- ${{ inputs.version }} START -->"
cat CHANGELOG.part
echo "<!-- ${{ inputs.version }} END -->"
cat CHANGELOG.md
) > CHANGELOG.tmp
mv CHANGELOG.tmp CHANGELOG.md
fi
rm -f CHANGELOG.part changelog_items.md
git diff CHANGELOG.md
- name: "Prettify CHANGELOG.md"
run: npx prettier --write CHANGELOG.md
- name: Commit CHANGELOG.md changes
run: git add CHANGELOG.md && git commit --allow-empty -m "Update changelog" CHANGELOG.md
- name: Update package.json versions
uses: ./.grafana-main/pkg/build/actions/bump-version
with:
version: 'patch'
- name: Add package.json changes
run: |
git add package.json lerna.json yarn.lock packages public
git commit -m "Update version to ${{ inputs.version }}"
- name: Git push
if: ${{ inputs.dry_run }} != true
run: git push --set-upstream origin release/${{ github.run_id }}/${{ inputs.version }}
- name: Create PR without backports
if: "${{ inputs.backport == '' }}"
run: >
gh pr create \
$( [ "x${{ inputs.latest }}" == "xtrue" ] && printf %s '-l "release/latest"') \
-l "no-changelog" \
--dry-run=${{ inputs.dry_run }} \
-B "${{ inputs.target }}" \
--title "Release: ${{ inputs.version }}" \
--body "These code changes must be merged after a release is complete"
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Create PR with backports
if: "${{ inputs.backport != '' }}"
run: >
gh pr create \
$( [ "x${{ inputs.latest }}" == "xtrue" ] && printf %s '-l "release/latest"') \
-l "product-approved" \
-l "no-changelog" \
--dry-run=${{ inputs.dry_run }} \
-B "${{ inputs.target }}" \
--title "Release: ${{ inputs.version }}" \
--body "These code changes must be merged after a release is complete"
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

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

@@ -18,7 +18,7 @@ jobs:
- name: "Setup Go"
uses: "actions/setup-go@v4"
with:
go-version: '1.21.8'
go-version: '1.22.4'
- name: "Verify kinds"
run: go run .github/workflows/scripts/kinds/verify-kinds.go

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",
@@ -143,6 +179,10 @@ text = "SA1019: http.CloseNotifier"
linters = ["staticcheck"]
text = "SA1019: strings.Title"
[[issues.exclude-rules]]
linters = ["staticcheck"]
text = "SA1019: grpc.Dial"
[[issues.exclude-rules]]
linters = ["staticcheck"]
text = "use fake service and real access control evaluator instead"
@@ -205,3 +245,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',
@@ -109,43 +109,43 @@ var config = {
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,3 +1,555 @@
<!-- 11.0.10 START -->
# 11.0.10 (2025-01-28)
### Features and enhancements
- **Security:** Update to Go 1.22.11 - Backport to v11.0.x [#99127](https://github.com/grafana/grafana/pull/99127), [@Proximyst](https://github.com/Proximyst)
- **Security:** Update to Go 1.22.11 - Backport to v11.0.x (Enterprise)
### Bug fixes
- **Azure/GCM:** Improve error display [#97592](https://github.com/grafana/grafana/pull/97592), [@aangelisc](https://github.com/aangelisc)
<!-- 11.0.10 END -->
<!-- 11.0.9 START -->
# 11.0.9 (2024-12-04)
### Bug fixes
- **Fix:** Do not fetch Orgs if the user is authenticated by apikey/sa or render key [#97265](https://github.com/grafana/grafana/pull/97265), [@mgyongyosi](https://github.com/mgyongyosi)
<!-- 11.0.9 END -->
<!-- 11.0.8 START -->
# 11.0.8 (2024-11-19)
### Features and enhancements
- **Alerting:** Make context deadline on AlertNG service startup configurable [#96131](https://github.com/grafana/grafana/pull/96131), [@fayzal-g](https://github.com/fayzal-g)
- **User:** Check SignedInUser OrgID in RevokeInvite [#95487](https://github.com/grafana/grafana/pull/95487), [@mgyongyosi](https://github.com/mgyongyosi)
### Bug fixes
- **Anonymous User:** Adds validator service for anonymous users [#95151](https://github.com/grafana/grafana/pull/95151), [@leandro-deveikis](https://github.com/leandro-deveikis)
- **Anonymous User:** Adds validator service for anonymous users (Enterprise)
- **Azure Monitor:** Support metric namespaces fallback [#95152](https://github.com/grafana/grafana/pull/95152), [@aangelisc](https://github.com/aangelisc)
- **Azure:** Fix duplicated traces in multi-resource trace query [#95244](https://github.com/grafana/grafana/pull/95244), [@aangelisc](https://github.com/aangelisc)
- **Azure:** Handle namespace request rejection [#95906](https://github.com/grafana/grafana/pull/95906), [@aangelisc](https://github.com/aangelisc)
- **Migration:** Remove table aliasing in delete statement to make it work for mariadb [#95229](https://github.com/grafana/grafana/pull/95229), [@kalleep](https://github.com/kalleep)
- **Prometheus:** Fix interpolating adhoc filters with template variables [#95986](https://github.com/grafana/grafana/pull/95986), [@cazeaux](https://github.com/cazeaux)
- **ServerLock:** Fix pg concurrency/locking issue [#95932](https://github.com/grafana/grafana/pull/95932), [@mgyongyosi](https://github.com/mgyongyosi)
- **ServerSideExpressions:** Disable SQL Expressions to prevent RCE and LFI vulnerability [#94971](https://github.com/grafana/grafana/pull/94971), [@samjewell](https://github.com/samjewell)
<!-- 11.0.8 END -->
<!-- 11.0.7 START -->
# 11.0.7 (2024-10-22)
### Bug fixes
- **Alerting:** Fix incorrect permission on POST external rule groups endpoint [CVE-2024-8118] [#93949](https://github.com/grafana/grafana/pull/93949), [@alexweav](https://github.com/alexweav)
- **AzureMonitor:** Fix App Insights portal URL for multi-resource trace queries [#94489](https://github.com/grafana/grafana/pull/94489), [@aangelisc](https://github.com/aangelisc)
- **Dashboard:** Make dashboard search faster [#94702](https://github.com/grafana/grafana/pull/94702), [@knuzhdin](https://github.com/knuzhdin)
- **OrgSync:** Do not set default Organization for a user to a non-existent Organization [#94552](https://github.com/grafana/grafana/pull/94552), [@mgyongyosi](https://github.com/mgyongyosi)
- **ServerSideExpressions:** Disable SQL Expressions to prevent RCE and LFI vulnerability [#94971](https://github.com/grafana/grafana/pull/94971), [@samjewell](https://github.com/samjewell)
<!-- 11.0.7 END -->
<!-- 11.0.6+security-01 START -->
# 11.0.6+security-01 (2024-10-17)
### Features and enhancements
- **Chore:** Bump Go to 1.22.7 [#93358](https://github.com/grafana/grafana/pull/93358), [@hairyhenderson](https://github.com/hairyhenderson)
- **Chore:** Bump Go to 1.22.7 (Enterprise)
### Bug fixes
- **AzureMonitor:** Deduplicate resource picker rows [#93703](https://github.com/grafana/grafana/pull/93703), [@aangelisc](https://github.com/aangelisc)
- **AzureMonitor:** Improve resource picker efficiency [#93438](https://github.com/grafana/grafana/pull/93438), [@aangelisc](https://github.com/aangelisc)
- **Correlations:** Limit access to correlations page to users who can access Explore [#93674](https://github.com/grafana/grafana/pull/93674), [@ifrost](https://github.com/ifrost)
- **Plugins:** Avoid returning 404 for `AutoEnabled` apps [#93486](https://github.com/grafana/grafana/pull/93486), [@wbrowne](https://github.com/wbrowne)
- **SQL Expressions**: Fixes CVE-2024-9264
<!-- 11.0.6+security-01 END -->
<!-- 11.0.5+security-01 START -->
# 11.0.5+security-01 (2024-10-17)
### Features and enhancements
- **Chore:** Update swagger ui (4.3.0 to 5.17.14) [#92345](https://github.com/grafana/grafana/pull/92345), [@ryantxu](https://github.com/ryantxu)
### Bug fixes
- **Provisioning:** Prevent provisioning folder errors from failing startup [#92588](https://github.com/grafana/grafana/pull/92588), [@suntala](https://github.com/suntala)
- **TutorialCard:** Fix link to tutorial not opening [#92645](https://github.com/grafana/grafana/pull/92645), [@eledobleefe](https://github.com/eledobleefe)
- **SQL Expressions**: Fixes CVE-2024-9264
<!-- 11.0.5+security-01 END -->
<!-- 11.0.6 START -->
# 11.0.6 (2024-10-01)
### Features and enhancements
- **Chore:** Bump Go to 1.22.7 [#93358](https://github.com/grafana/grafana/pull/93358), [@hairyhenderson](https://github.com/hairyhenderson)
- **Chore:** Bump Go to 1.22.7 (Enterprise)
### Bug fixes
- **AzureMonitor:** Deduplicate resource picker rows [#93703](https://github.com/grafana/grafana/pull/93703), [@aangelisc](https://github.com/aangelisc)
- **AzureMonitor:** Improve resource picker efficiency [#93438](https://github.com/grafana/grafana/pull/93438), [@aangelisc](https://github.com/aangelisc)
- **Correlations:** Limit access to correlations page to users who can access Explore [#93674](https://github.com/grafana/grafana/pull/93674), [@ifrost](https://github.com/ifrost)
- **Plugins:** Avoid returning 404 for `AutoEnabled` apps [#93486](https://github.com/grafana/grafana/pull/93486), [@wbrowne](https://github.com/wbrowne)
<!-- 11.0.6 END -->
<!-- 11.0.5 START -->
# 11.0.5 (2024-09-26)
### Features and enhancements
- **Chore:** Update swagger ui (4.3.0 to 5.17.14) [#92345](https://github.com/grafana/grafana/pull/92345), [@ryantxu](https://github.com/ryantxu)
### Bug fixes
- **Provisioning:** Prevent provisioning folder errors from failing startup [#92588](https://github.com/grafana/grafana/pull/92588), [@suntala](https://github.com/suntala)
- **TutorialCard:** Fix link to tutorial not opening [#92645](https://github.com/grafana/grafana/pull/92645), [@eledobleefe](https://github.com/eledobleefe)
- **Alerting:** Fixed CVE-2024-8118.
<!-- 11.0.5 END -->
<!-- 11.0.4 START -->
# 11.0.4 (2024-08-27)
### Bug fixes
- **Alerting:** Fix persisting result fingerprint that is used by recovery threshold [#91328](https://github.com/grafana/grafana/pull/91328), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Auditing:** Fix a possible crash when audit logger parses responses for failed requests (Enterprise)
- **RBAC:** Fix seeder failures when inserting duplicated permissions (Enterprise)
- **Snapshots:** Fix panic when snapshot_remove_expired is true [#91330](https://github.com/grafana/grafana/pull/91330), [@ryantxu](https://github.com/ryantxu)
<!-- 11.0.4 END -->
<!-- 11.0.3 START -->
# 11.0.3 (2024-08-14)
### Bug fixes
- **Swagger:** Fixed CVE-2024-6837.
<!-- 11.0.3 END -->
<!-- 11.0.2 START -->
# 11.0.2 (2024-07-25)
### Features and enhancements
- **Alerting:** Update grafana/alerting to c340765c985a12603bbdfcd10576ddfdbf9dc284 [#90388](https://github.com/grafana/grafana/pull/90388), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Prometheus:** Reintroduce Azure audience override feature flag [#90558](https://github.com/grafana/grafana/pull/90558), [@aangelisc](https://github.com/aangelisc)
### Bug fixes
- **Alerting:** Skip loading alert rules for dashboards when disabled [#89904](https://github.com/grafana/grafana/pull/89904), [@gillesdemey](https://github.com/gillesdemey)
- **Folders:** Improve folder move permission checks [#90849](https://github.com/grafana/grafana/pull/90849), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **Folders:** Improve folder move permission checks [#90849](https://github.com/grafana/grafana/pull/90849), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **Folders:** Improve folder move permission checks [#90849](https://github.com/grafana/grafana/pull/90849), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
<!-- 11.0.2 END -->
<!-- 11.0.1 START -->
# 11.0.1 (2024-06-21)
### Bug fixes
- **Echo:** Suppress errors from frontend-metrics API call failing. [#89493](https://github.com/grafana/grafana/issues/89493), [@joshhunt](https://github.com/joshhunt)
- **Fix:** Portuguese Brazilian wasn't loading translations. [#89374](https://github.com/grafana/grafana/issues/89374), [@JoaoSilvaGrafana](https://github.com/JoaoSilvaGrafana)
- **Analytics:** Fix ApplicationInsights integration. [#89300](https://github.com/grafana/grafana/issues/89300), [@ashharrison90](https://github.com/ashharrison90)
- **DashboardScene:** Fixes issue removing override rule. [#89134](https://github.com/grafana/grafana/issues/89134), [@torkelo](https://github.com/torkelo)
- **BrowseDashboards:** Prepend subpath to New Browse Dashboard actions. [#89130](https://github.com/grafana/grafana/issues/89130), [@joshhunt](https://github.com/joshhunt)
- **Alerting:** Fix rule storage to filter by group names using case-sensitive comparison. [#89063](https://github.com/grafana/grafana/issues/89063), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **RBAC:** List only the folders that the user has access to. [#89015](https://github.com/grafana/grafana/issues/89015), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **DashboardScene:** Fixes lack of re-render when updating field override properties. [#88985](https://github.com/grafana/grafana/issues/88985), [@torkelo](https://github.com/torkelo)
- **DashboardScene:** Fixes inspect with transforms issue. [#88862](https://github.com/grafana/grafana/issues/88862), [@torkelo](https://github.com/torkelo)
- **AzureMonitor:** Fix bug detecting app insights queries. [#88787](https://github.com/grafana/grafana/issues/88787), [@aangelisc](https://github.com/aangelisc)
- **Access Control:** Clean up permissions for deprovisioned data sources. [#88700](https://github.com/grafana/grafana/issues/88700), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **Loki:** Fix editor history in wrong order. [#88669](https://github.com/grafana/grafana/issues/88669), [@svennergr](https://github.com/svennergr)
- **SSE:** Fix threshold unmarshal to avoid panic. [#88651](https://github.com/grafana/grafana/issues/88651), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **LibraryPanels/RBAC:** Ignore old folder permission check when deleting/patching lib panel. [#88493](https://github.com/grafana/grafana/issues/88493), [@kaydelaney](https://github.com/kaydelaney)
- **Dashboards:** Correctly display Admin access to dashboards in the UI. [#88473](https://github.com/grafana/grafana/issues/88473), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **LogsTable:** Fix default sort by time. [#88434](https://github.com/grafana/grafana/issues/88434), [@svennergr](https://github.com/svennergr)
- **Alerting:** Fix rules deleting when reordering whilst filtered. [#88285](https://github.com/grafana/grafana/issues/88285), [@gillesdemey](https://github.com/gillesdemey)
- **Alerting:** Fix typo in JSON response for rule export. [#88090](https://github.com/grafana/grafana/issues/88090), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **CloudMonitoring:** Fix query type selection issue. [#88024](https://github.com/grafana/grafana/issues/88024), [@aangelisc](https://github.com/aangelisc)
- **Alerting:** Fix scheduler to sort rules before evaluation. [#88021](https://github.com/grafana/grafana/issues/88021), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **DashboardScene:** Skip panel repeats when values are the same. [#87896](https://github.com/grafana/grafana/issues/87896), [@torkelo](https://github.com/torkelo)
- **Alerting:** Do not store series values from past evaluations in state manager for no reason. [#87845](https://github.com/grafana/grafana/issues/87845), [@alexweav](https://github.com/alexweav)
- **DashboardScene:** Fixing major row repeat issues. [#87800](https://github.com/grafana/grafana/issues/87800), [@torkelo](https://github.com/torkelo)
- **DashboardScene:** Fixes checkbox orienation in save forms. [#86490](https://github.com/grafana/grafana/issues/86490), [@torkelo](https://github.com/torkelo)
- **Provisioning:** Add override option to role provisioning. (Enterprise)
### Breaking changes
If you had selected your language as "Português Brasileiro" previously, this will be reset. You have to select it again in your Preferences for the fix to be applied and the translations will then be shown. Issue [#89374](https://github.com/grafana/grafana/issues/89374)
<!-- 11.0.1 END -->
<!-- 11.0.0 START -->
# 11.0.0 (2024-05-14)
### Features and enhancements
- **Alerting:** Add two sets of provisioning actions for rules and notifications . [#87572](https://github.com/grafana/grafana/issues/87572), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Chore:** Upgrade go to 1.21.10. [#87472](https://github.com/grafana/grafana/issues/87472), [@stephaniehingtgen](https://github.com/stephaniehingtgen)
- **Auth:** Force lowercase login/email for users. [#86985](https://github.com/grafana/grafana/issues/86985), [@eleijonmarck](https://github.com/eleijonmarck)
- **Navigation:** Add a return to previous button when navigating to different sections. [#86797](https://github.com/grafana/grafana/issues/86797), [@eledobleefe](https://github.com/eledobleefe)
- **DashboardScene:** Move add library panel view from grid item to drawer. [#86409](https://github.com/grafana/grafana/issues/86409), [@torkelo](https://github.com/torkelo)
- **CloudWatch :** Add missing AWS/ES metrics. [#86271](https://github.com/grafana/grafana/issues/86271), [@thepalbi](https://github.com/thepalbi)
- **Alerting:** Reduce set of fields that could trigger alert state change. [#86266](https://github.com/grafana/grafana/issues/86266), [@benoittgt](https://github.com/benoittgt)
- **OAuth:** Make sub claim required for generic oauth behind feature toggle. [#86118](https://github.com/grafana/grafana/issues/86118), [@kalleep](https://github.com/kalleep)
- **Grafana E2E:** Add deprecation notice and update docs. [#85778](https://github.com/grafana/grafana/issues/85778), [@sunker](https://github.com/sunker)
- **Loki:** Remove API restrictions on resource calls. [#85201](https://github.com/grafana/grafana/issues/85201), [@svennergr](https://github.com/svennergr)
- **Chore:** Upgrade go to 1.21.10. (Enterprise)
### Bug fixes
- **AuthN:** Fix signout redirect url. [#87681](https://github.com/grafana/grafana/issues/87681), [@kalleep](https://github.com/kalleep)
- **CloudMonitoring:** Improve legacy query migrations. [#87648](https://github.com/grafana/grafana/issues/87648), [@aangelisc](https://github.com/aangelisc)
- **Azure data sources:** Set selected config type before save. [#87632](https://github.com/grafana/grafana/issues/87632), [@bossinc](https://github.com/bossinc)
- **Loki:** Fix log context when no label types are present. [#87600](https://github.com/grafana/grafana/issues/87600), [@svennergr](https://github.com/svennergr)
- **DashboardScene:** Fixes editing transformations after toggling table view. [#87485](https://github.com/grafana/grafana/issues/87485), [@torkelo](https://github.com/torkelo)
- **DashboardDataSource:** Fixes issue where sometimes untransformed data could be returned . [#87484](https://github.com/grafana/grafana/issues/87484), [@torkelo](https://github.com/torkelo)
- **Provisioning:** Look up provisioned folders by UID when possible. [#87468](https://github.com/grafana/grafana/issues/87468), [@DanCech](https://github.com/DanCech)
- **Cloudwatch:** Update grafana-aws-sdk to fix sts endpoints. [#87345](https://github.com/grafana/grafana/issues/87345), [@iwysiu](https://github.com/iwysiu)
- **Select:** Fixes issue preserving search term (input) when selecting a value. [#87249](https://github.com/grafana/grafana/issues/87249), [@torkelo](https://github.com/torkelo)
- **Alerting:** Prevent search from locking the browser. [#87230](https://github.com/grafana/grafana/issues/87230), [@gillesdemey](https://github.com/gillesdemey)
- **DashboardScene:** Fixes issue referring to library panel in dashboard data source . [#87173](https://github.com/grafana/grafana/issues/87173), [@torkelo](https://github.com/torkelo)
- **Data source:** Maintain the default data source permissions when switching from unlicensed to licensed Grafana. [#87142](https://github.com/grafana/grafana/issues/87142), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **Alerting:** Allow deleting contact points referenced only by auto-generated policies. [#87115](https://github.com/grafana/grafana/issues/87115), [@gillesdemey](https://github.com/gillesdemey)
- **Auth:** Sign sigV4 request after adding headers. [#87072](https://github.com/grafana/grafana/issues/87072), [@iwysiu](https://github.com/iwysiu)
- **DashboardScene:** Fixes issues with relative time range in panel edit. [#87026](https://github.com/grafana/grafana/issues/87026), [@torkelo](https://github.com/torkelo)
- **DashboardScene:** Fixes issue with dashboard links and variables. [#87025](https://github.com/grafana/grafana/issues/87025), [@torkelo](https://github.com/torkelo)
- **SQLStore:** Disable redundant create and drop unique index migrations on dashboard table. [#86867](https://github.com/grafana/grafana/issues/86867), [@papagian](https://github.com/papagian)
- **LogContext:** Fix structured metadata labels being added as stream selectors. [#86826](https://github.com/grafana/grafana/issues/86826), [@svennergr](https://github.com/svennergr)
- **DashboardScene:** Fixes issue with editing panels that uses instanceState. [#86824](https://github.com/grafana/grafana/issues/86824), [@torkelo](https://github.com/torkelo)
- **DashboardScene:** Fixes deleting dirty dashboard. [#86757](https://github.com/grafana/grafana/issues/86757), [@torkelo](https://github.com/torkelo)
- **Alerting:** Take receivers into account when custom grouping Alertmanager groups. [#86699](https://github.com/grafana/grafana/issues/86699), [@konrad147](https://github.com/konrad147)
- **LDAP:** Fix listing all non-matching groups. [#86689](https://github.com/grafana/grafana/issues/86689), [@mgyongyosi](https://github.com/mgyongyosi)
- **Alerting:** Fix simplified routing group by override. [#86563](https://github.com/grafana/grafana/issues/86563), [@JacobsonMT](https://github.com/JacobsonMT)
- **NodeGraph:** Fix invisible arrow tips in Editor. [#86548](https://github.com/grafana/grafana/issues/86548), [@timo](https://github.com/timo)
- **Dashboard:** DashboardPageProxy - Use chaining operators to prevent runtime error. [#86536](https://github.com/grafana/grafana/issues/86536), [@axelavargas](https://github.com/axelavargas)
- **Cli:** Check missing plugin parameter of plugin update command. [#86522](https://github.com/grafana/grafana/issues/86522), [@VergeDX](https://github.com/VergeDX)
- **DashboardScene:** Fixes issue saving new dashboard from panel edit. [#86480](https://github.com/grafana/grafana/issues/86480), [@torkelo](https://github.com/torkelo)
- **DashboardScene:** Fixes minor issue transitioning between dashboards. [#86475](https://github.com/grafana/grafana/issues/86475), [@torkelo](https://github.com/torkelo)
- **MSSQL:** Add `SQL_VARIANT` converter and update test. [#86469](https://github.com/grafana/grafana/issues/86469), [@aangelisc](https://github.com/aangelisc)
- **DashboardScene:** Fixes react panels with old angular options. [#86411](https://github.com/grafana/grafana/issues/86411), [@torkelo](https://github.com/torkelo)
- **Alerting:** Fix simplified routes '...' groupBy creating invalid routes. [#86376](https://github.com/grafana/grafana/issues/86376), [@JacobsonMT](https://github.com/JacobsonMT)
- **AWS DataSource:** Fix namespaces in sagemaker metrics. [#86363](https://github.com/grafana/grafana/issues/86363), [@tristanburgess](https://github.com/tristanburgess)
- **DashboardScene:** Fixes saving dashboard with angular panels . [#86255](https://github.com/grafana/grafana/issues/86255), [@torkelo](https://github.com/torkelo)
- **DashboardScene:** Fix empty row repeat issue. [#86254](https://github.com/grafana/grafana/issues/86254), [@torkelo](https://github.com/torkelo)
- **Nodegraph:** Fix issue with rendering single node. [#86195](https://github.com/grafana/grafana/issues/86195), [@aocenas](https://github.com/aocenas)
- **Datasources:** Add fixed width to name field in config editor. [#86179](https://github.com/grafana/grafana/issues/86179), [@sunker](https://github.com/sunker)
- **Alerting:** Return a 400 and errutil error when trying to delete a contact point that is referenced by a policy. [#86163](https://github.com/grafana/grafana/issues/86163), [@alexweav](https://github.com/alexweav)
- **Table Panel:** Fix image disappearing when datalinks applied. [#86160](https://github.com/grafana/grafana/issues/86160), [@codeincarnate](https://github.com/codeincarnate)
- **LibraryPanelRBAC:** Fix issue with importing dashboards containing library panels. [#86149](https://github.com/grafana/grafana/issues/86149), [@kaydelaney](https://github.com/kaydelaney)
- **DashboardScene:** Fixes issue moving between dashboards. [#86096](https://github.com/grafana/grafana/issues/86096), [@torkelo](https://github.com/torkelo)
- **Alerting:** Fix evaluation metrics to not count retries. [#86059](https://github.com/grafana/grafana/issues/86059), [@stevesg](https://github.com/stevesg)
- **Google Cloud Monitor:** Fix interface conversion for incorrect type in `cloudMonitoringProm.run`. [#85928](https://github.com/grafana/grafana/issues/85928), [@adamyeats](https://github.com/adamyeats)
- **Dashboard:** Allow `auto` refresh option when saving a dashboard. [#85922](https://github.com/grafana/grafana/issues/85922), [@bfmatei](https://github.com/bfmatei)
- **Time Zones:** Fix relative time when using UTC timezone. [#85779](https://github.com/grafana/grafana/issues/85779), [@ashharrison90](https://github.com/ashharrison90)
- **PostgreSQL:** Fix the verify-ca mode. [#85775](https://github.com/grafana/grafana/issues/85775), [@gabor](https://github.com/gabor)
- **DashboardScene:** Fixes issue with mobile responsive layout due to repeated grid item class. [#85741](https://github.com/grafana/grafana/issues/85741), [@torkelo](https://github.com/torkelo)
- **DashboardScene:** Fixes panel edit issue with clearing title not resulting in hover header mode . [#85633](https://github.com/grafana/grafana/issues/85633), [@torkelo](https://github.com/torkelo)
- **Angular deprecation:** Prefer local "angularDetected" value to the remote one. [#85632](https://github.com/grafana/grafana/issues/85632), [@xnyo](https://github.com/xnyo)
- **Chore:** Fix trailing spaces in prometheus min step. [#85579](https://github.com/grafana/grafana/issues/85579), [@euniceek](https://github.com/euniceek)
- **SAML:** Fix Authn request generation in case of HTTP-POST binding. (Enterprise)
- **Reporting:** Fix CSVs for library panels within folders. (Enterprise)
### Breaking changes
The `@grafana/e2e` package is deprecated in Grafana 11.0.0. If your Grafana plugin has end-to-end tests that use `@grafana/e2e`, it's recommended to replace them with [`@grafana/plugin-e2e`](https://www.npmjs.com/package/@grafana/plugin-e2e?activeTab=readme) and Playwright. For information on how to migrate, please refer to the plugin-e2e [docs](https://grafana.com/developers/plugin-tools/e2e-test-a-plugin/migrate-from-grafana-e2e). Issue [#85778](https://github.com/grafana/grafana/issues/85778)
### Plugin development fixes & changes
- **DateTimePicker:** Alternate timezones now behave correctly. [#87041](https://github.com/grafana/grafana/issues/87041), [@ashharrison90](https://github.com/ashharrison90)
- **TimeOfDayPicker:** Fix text colours in light mode. [#86776](https://github.com/grafana/grafana/issues/86776), [@ashharrison90](https://github.com/ashharrison90)
<!-- 11.0.0 END -->
<!-- 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)
@@ -400,6 +952,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)
@@ -1094,6 +1664,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)
@@ -1613,6 +2192,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)
@@ -2163,6 +2751,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.22.11-alpine
ARG GO_SRC=go-builder
ARG JS_SRC=js-builder

View File

@@ -117,9 +117,9 @@ gen-feature-toggles:
go test -v ./pkg/services/featuremgmt/...; \
fi
gen-go: $(WIRE)
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"
@@ -178,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.
@@ -266,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.22.7 \
--tag grafana/grafana$(TAG_SUFFIX):dev-ubuntu \
$(DOCKER_BUILD_ARGS)

1
apps/.gitkeep Normal file
View File

@@ -0,0 +1 @@
# workaround for grafana-build quirk

View File

@@ -852,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
@@ -865,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]
@@ -961,6 +962,11 @@ user_identity_client_id =
# By default is the same as used in AAD authentication or can be set to another application (for OBO flow)
user_identity_client_secret =
# Allows the usage of a custom token request assertion when Grafana is behind an authentication proxy
# In most cases this will not need to be used. To enable this set the value to "username"
# The default is empty and any other value will not enable this functionality
username_assertion =
# Set the plugins that will receive Azure settings for each request (via plugin context)
# By default this will include all Grafana Labs owned Azure plugins, or those that make use of Azure settings (Azure Monitor, Azure Data Explorer, Prometheus, MSSQL).
forward_settings_to_plugins = grafana-azure-monitor-datasource, prometheus, grafana-azure-data-explorer-datasource, mssql
@@ -1150,6 +1156,9 @@ enabled =
# Comma-separated list of organization IDs for which to disable unified alerting. Only supported if unified alerting is enabled.
disabled_orgs =
# Specify how long to wait for the alerting service to initialize
initialization_timeout = 30s
# Specify the frequency of polling for admin config changes.
# The interval string is a possibly signed sequence of decimal numbers, followed by a unit suffix (ms, s, m, h, d), e.g. 30s or 1m.
admin_config_poll_interval = 60s
@@ -1622,6 +1631,9 @@ ha_engine_address = "127.0.0.1:6379"
# ha_engine_password allows setting an optional password to authenticate with the engine
ha_engine_password = ""
# ha_prefix is a prefix for keys in the HA engine. It's used to separate keys for different Grafana instances.
ha_prefix =
#################################### Grafana Image Renderer Plugin ##########################
[plugin.grafana-image-renderer]
# Instruct headless browser instance to use a default timezone when not provided by Grafana, e.g. when rendering panel image of alert.
@@ -1821,3 +1833,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

@@ -161,7 +161,7 @@
# For "mysql" and "postgres" only. 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.
# 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).
@@ -775,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
@@ -884,6 +886,11 @@
# By default is the same as used in AAD authentication or can be set to another application (for OBO flow)
;user_identity_client_secret =
# Allows the usage of a custom token request assertion when Grafana is behind an authentication proxy
# In most cases this will not need to be used. To enable this set the value to "username"
# The default is empty and any other value will not enable this functionality
;username_assertion =
# Set the plugins that will receive Azure settings for each request (via plugin context)
# By default this will include all Grafana Labs owned Azure plugins, or those that make use of Azure settings (Azure Monitor, Azure Data Explorer, Prometheus, MSSQL).
;forward_settings_to_plugins = grafana-azure-monitor-datasource, prometheus, grafana-azure-data-explorer-datasource, mssql
@@ -1069,6 +1076,9 @@
# Comma-separated list of organization IDs for which to disable unified alerting. Only supported if unified alerting is enabled.
;disabled_orgs =
# Specify how long to wait for the alerting service to initialize
;initialization_timeout = 30s
# Specify the frequency of polling for admin config changes.
# The interval string is a possibly signed sequence of decimal numbers, followed by a unit suffix (ms, s, m, h, d), e.g. 30s or 1m.
;admin_config_poll_interval = 60s
@@ -1473,6 +1483,9 @@ max_annotations_to_keep =
# ha_engine_password allows setting an optional password to authenticate with the engine
;ha_engine_password = ""
# ha_prefix is a prefix for keys in the HA engine. It's used to separate keys for different Grafana instances.
;ha_prefix =
#################################### Grafana Image Renderer Plugin ##########################
[plugin.grafana-image-renderer]
# Instruct headless browser instance to use a default timezone when not provided by Grafana, e.g. when rendering panel image of alert.

View File

@@ -172,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

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

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

@@ -1,6 +0,0 @@
aks
eror
iam
wan
[Operato Windrose](https://grafana.com/grafana/plugins/operato-windrose-panel/)
sergent

View File

@@ -65,6 +65,11 @@ ifeq ($(origin HUGO_REFLINKSERRORLEVEL), undefined)
export HUGO_REFLINKSERRORLEVEL := WARNING
endif
# Whether to pull the latest container image before running the container.
ifeq ($(origin PULL), undefined)
export PULL := true
endif
.PHONY: docs-rm
docs-rm: ## Remove the docs container.
$(PODMAN) rm -f $(DOCS_CONTAINER)
@@ -81,13 +86,12 @@ make-docs:
fi
.PHONY: docs
docs: ## Serve documentation locally, which includes pulling the latest `DOCS_IMAGE` (default: `grafana/docs-base:latest`) container image. See also `docs-no-pull`.
docs: ## Serve documentation locally, which includes pulling the latest `DOCS_IMAGE` (default: `grafana/docs-base:latest`) container image. To not pull the image, set `PULL=false`.
ifeq ($(PULL), true)
docs: docs-pull make-docs
$(CURDIR)/make-docs $(PROJECTS)
.PHONY: docs-no-pull
docs-no-pull: ## Serve documentation locally without pulling the `DOCS_IMAGE` (default: `grafana/docs-base:latest`) container image.
docs-no-pull: make-docs
else
docs: make-docs
endif
$(CURDIR)/make-docs $(PROJECTS)
.PHONY: docs-debug
@@ -96,13 +100,19 @@ docs-debug: make-docs
WEBSITE_EXEC='hugo server --bind 0.0.0.0 --port 3002 --debug' $(CURDIR)/make-docs $(PROJECTS)
.PHONY: doc-validator
doc-validator: ## Run doc-validator on the entire docs folder.
doc-validator: ## Run doc-validator on the entire docs folder which includes pulling the latest `DOC_VALIDATOR_IMAGE` (default: `grafana/doc-validator:latest`) container image. To not pull the image, set `PULL=false`.
doc-validator: make-docs
ifeq ($(PULL), true)
$(PODMAN) pull -q $(DOC_VALIDATOR_IMAGE)
endif
DOCS_IMAGE=$(DOC_VALIDATOR_IMAGE) $(CURDIR)/make-docs $(PROJECTS)
.PHONY: vale
vale: ## Run vale on the entire docs folder.
vale: ## Run vale on the entire docs folder which includes pulling the latest `VALE_IMAGE` (default: `grafana/vale:latest`) container image. To not pull the image, set `PULL=false`.
vale: make-docs
ifeq ($(PULL), true)
$(PODMAN) pull -q $(VALE_IMAGE)
endif
DOCS_IMAGE=$(VALE_IMAGE) $(CURDIR)/make-docs $(PROJECTS)
.PHONY: update

View File

@@ -6,6 +6,61 @@
# [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.
#
# ## 8.1.0 (2024-08-22)
#
# ### Added
#
# - Additional website mounts for projects that use the website repository.
#
# Mounts are required for `make docs` to work in the website repository or with the website project.
# The Makefile is also mounted for convenient development of the procedure that repository.
#
# ## 8.0.1 (2024-07-01)
#
# ### Fixed
#
# - Update log suppression to catch new format of website /docs/ homepage REF_NOT_FOUND warnings.
#
# These warnings are related to missing some pages during the build that are required for the /docs/ homepage.
# They were previously suppressed but the log format changed and without this change they reappear in the latest builds.
#
# ## 8.0.0 (2024-05-28)
#
# ### Changed
#
# - Add environment variable `OUTPUT_FORMAT` to control the output of commands.
#
# The default value is `human` and means the output format is human readable.
# The value `json` is also supported and outputs JSON.
#
# Note that the `json` format isn't supported by `make docs`, only `make doc-validator` and `make vale`.
#
# ## 7.0.0 (2024-05-03)
#
# ### Changed
#
# - Pull images for all recipes that use containers by default.
#
# Use the `PULL=false` variable to disable this behavior.
#
# ### Removed
#
# - The `docs-no-pull` target as it's redundant with the new `PULL=false` variable.
#
# ## 6.1.0 (2024-04-22)
#
# ### Changed
#
# - Mount volumes with SELinux labels.
#
# https://docs.docker.com/storage/bind-mounts/#configure-the-selinux-label
#
# ### 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
@@ -229,6 +284,8 @@ readonly HUGO_REFLINKSERRORLEVEL="${HUGO_REFLINKSERRORLEVEL:-WARNING}"
readonly VALE_MINALERTLEVEL="${VALE_MINALERTLEVEL:-error}"
readonly WEBSITE_EXEC="${WEBSITE_EXEC:-make server-docs}"
readonly OUTPUT_FORMAT="${OUTPUT_FORMAT:-human}"
PODMAN="$(if command -v podman >/dev/null 2>&1; then echo podman; else echo docker; fi)"
if ! command -v curl >/dev/null 2>&1; then
@@ -300,6 +357,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 +369,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 +380,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 +644,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 +682,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 +735,12 @@ 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}/content/guides:/hugo/content/guides:z"
volumes="${volumes} --volume=${_repo}/content/whats-new:/hugo/content/whats-new:z"
volumes="${volumes} --volume=${_repo}/Makefile:/hugo/Makefile:z"
volumes="${volumes} --volume=${_repo}/layouts:/hugo/layouts:z"
volumes="${volumes} --volume=${_repo}/scripts:/hugo/scripts:z"
fi
unset _project _repo
done
@@ -682,7 +750,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 +761,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
@@ -714,45 +782,74 @@ POSIX_HERESTRING
case "${image}" in
'grafana/doc-validator')
if ! command -v jq >/dev/null 2>&1; then
errr '`jq` must be installed for the `doc-validator` target to work.'
note 'To install `jq`, refer to https://jqlang.github.io/jq/download/,'
exit 1
fi
proj="$(new_proj "$1")"
printf '\r\n'
"${PODMAN}" run \
IFS='' read -r cmd <<EOF
${PODMAN} run \
--init \
--interactive \
--platform linux/amd64 \
--rm \
--tty \
${volumes} \
"${DOCS_IMAGE}" \
"--include=${DOC_VALIDATOR_INCLUDE}" \
"--skip-checks=${DOC_VALIDATOR_SKIP_CHECKS}" \
"/hugo/content$(proj_canonical "${proj}")" \
"$(proj_canonical "${proj}")" \
| sed "s#$(proj_dst "${proj}")#sources#" \
| jq -r '"ERROR: \(.location.path):\(.location.range.start.line // 1):\(.location.range.start.column // 1): \(.message)" + if .suggestions[0].text then "\nSuggestion: \(.suggestions[0].text)" else "" end'
${DOCS_IMAGE} \
--include=${DOC_VALIDATOR_INCLUDE} \
--skip-checks=${DOC_VALIDATOR_SKIP_CHECKS} \
/hugo/content$(proj_canonical "${proj}") \
"$(proj_canonical "${proj}") \
| sed "s#$(proj_dst "${proj}")#sources#"
EOF
case "${OUTPUT_FORMAT}" in
human)
if ! command -v jq >/dev/null 2>&1; then
errr '`jq` must be installed for the `doc-validator` target to work.'
note 'To install `jq`, refer to https://jqlang.github.io/jq/download/,'
exit 1
fi
${cmd} \
| jq -r '"ERROR: \(.location.path):\(.location.range.start.line // 1):\(.location.range.start.column // 1): \(.message)" + if .suggestions[0].text then "\nSuggestion: \(.suggestions[0].text)" else "" end'
;;
json)
${cmd}
;;
*) # default
errr "Invalid output format '${OUTPUT_FORMAT}'"
esac
;;
'grafana/vale')
proj="$(new_proj "$1")"
printf '\r\n'
"${PODMAN}" run \
IFS='' read -r cmd <<EOF
${PODMAN} run \
--init \
--interactive \
--rm \
--workdir /etc/vale \
--tty \
${volumes} \
"${DOCS_IMAGE}" \
"--minAlertLevel=${VALE_MINALERTLEVEL}" \
'--glob=*.md' \
--output=/etc/vale/rdjsonl.tmpl \
/hugo/content/docs | sed "s#$(proj_dst "${proj}")#sources#"
${DOCS_IMAGE} \
--minAlertLevel=${VALE_MINALERTLEVEL} \
--glob=*.md \
/hugo/content/docs
EOF
case "${OUTPUT_FORMAT}" in
human)
${cmd} --output=line \
| sed "s#$(proj_dst "${proj}")#sources#"
;;
json)
${cmd} --output=/etc/vale/rdjsonl.tmpl \
| sed "s#$(proj_dst "${proj}")#sources#"
;;
*)
errr "Invalid output format '${OUTPUT_FORMAT}'"
esac
;;
*)
tempfile="$(mktemp -t make-docs.XXX)"
@@ -789,7 +886,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
@@ -829,7 +926,7 @@ EOF
-e '/Press Ctrl+C to stop/ d' \
-e '/make/ d' \
-e '/WARNING: The manual_mount source directory/ d' \
-e '/docs\/_index.md .* not found/ d'
-e '/"docs\/_index.md" not found/d'
fi
;;
esac

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</h4>
<p>Explore the features and enhancements in the latest release.</p>
</a>

View File

@@ -49,7 +49,7 @@ To follow these instructions, you need at least one of the following:
### Steps
To create an API, complete the following steps:
To create an API key, complete the following steps:
1. Sign in to Grafana.
1. Click **Administration** in the left-side menu, **Users and access**, and select **API Keys**.
@@ -182,6 +182,25 @@ curl --request GET --url http://localhost:3000/api/folders --header 'Authorizati
### Migrate API keys to Grafana service accounts in Terraform
{{< admonition type="note" >}}
The terraform resource `api_key` is removed from the Grafana Terraform Provider in v3.0.0.
Before you migrate and remove the use of the resource, you should pin your terraform version to a version less-than or equal-to v2.19.0.
For more information, refer to the [Grafana Terraform Provider release notes](https://github.com/grafana/terraform-provider-grafana/releases/tag/v3.0.0).
{{< /admonition >}}
To pin the Grafana Terraform Provider to v2.19.0:
```hcl
terraform {
required_providers {
grafana = {
source = "grafana/grafana"
version = "2.19.0"
}
}
}
```
This section shows you how to migrate your Terraform configuration for API keys to Grafana service accounts. For resources, see [Grafana Service Accounts in Terraform](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/service_account_token).
For migration your cloud stack api keys, use the `grafana_cloud_stack_service_account` and `gafana_cloud_stack_service_account_token` resources see [Grafana Cloud Stack Service Accounts in Terraform](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/cloud_stack_service_account).

View File

@@ -15,9 +15,11 @@ weight: 250
Team LBAC is available in private preview on Grafana Cloud for Loki created with basic authentication. Loki datasources for Team LBAC can only be created, provisioning is currently not available.
You cannot configure LBAC rules for Grafana-provisioned data sources from the UI. Alternatively, you can replicate the setting of the provisioned data source in a new data source as described in [LBAC Configuration for New Loki Data Source](https://grafana.com/docs/grafana/latest/administration/data-source-management/teamlbac/configure-teamlbac-for-loki/#task-1-lbac-configuration-for-new-loki-data-source) and then add the LBAC configuration to the new data source.
## 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.
@@ -42,4 +44,4 @@ We recommend that you remove all permissions for roles and teams that are not re
1. Navigate to Data Source Permissions
- Go to the permissions tab of the newly created Loki data source. Here, you'll find the Team LBAC rules section.
For more information on how to setup Team LBAC rules for a Loki data source, [Add Team LBAC rules]({{< relref "./../create-teamlbac-rules/" >}}).
For more information on how to setup Team LBAC rules for a Loki data source, refer to [Create Team LBAC rules for the Loki data source](https://grafana.com/docs/grafana/<GRAFANA_VERSION>/administration/data-source-management/teamlbac/create-teamlbac-rules/).

View File

@@ -8,6 +8,7 @@ aliases:
labels:
products:
- enterprise
- cloud
- oss
title: Plugin management
weight: 600
@@ -15,11 +16,17 @@ weight: 600
# Plugin management
Besides the wide range of visualizations and data sources that are available immediately after you install Grafana, you can extend your Grafana experience with _plugins_.
You can enhance your Grafana experience with _plugins_, extensions to Grafana beyond the wide range of visualizations and data sources that are built-in.
You can [install](#install-a-plugin) one of the plugins built by the Grafana community, or [build one yourself](/developers/plugin-tools).
This guide shows you how to [install](#install-a-plugin) plugins that are built by Grafana Labs, commercial partners, our community, or plugins that you have [built yourself](/developers/plugin-tools).
Grafana supports three types of plugins: [panels](/grafana/plugins?type=panel), [data sources](/plugins?type=datasource), and [apps](/grafana/plugins?type=app).
## Types of plugins
Grafana supports three types of plugins:
- [Panels](/grafana/plugins/panel-plugins) - These plugins make it easy to create and add any kind of panel, to show your data, or improve your favorite dashboards.
- [Data sources](/grafana/plugins/data-source-plugins) - These plugins allow you to pull data from various data sources such as databases, APIs, log files, and so on, and display it in the form of graphs, charts, and dashboards in Grafana.
- [Apps](/grafana/plugins/app-plugins) - These plugins enable the bundling of data sources, panels, dashboards, and Grafana pages into a cohesive experience.
## Panel plugins
@@ -37,7 +44,7 @@ Data source plugins add support for new databases, such as [Google BigQuery](/gr
Data source plugins communicate with external sources of data and return the data in a format that Grafana understands. By adding a data source plugin, you can immediately use the data in any of your existing dashboards.
Use data source plugins when you want to import data from external systems.
Use data source plugins when you want to query data from external or third-party systems.
## App plugins
@@ -47,29 +54,29 @@ Apps can also add custom pages for things like control panels.
Use app plugins when you want an out-of-the-box monitoring experience.
### Managing app plugins access
### Managing access for app plugins
With [RBAC]({{< relref "../roles-and-permissions/access-control/#about-rbac" >}}), it is now possible to customize access to app plugins.
Customize access to app plugins with [RBAC]({{< relref "../roles-and-permissions/access-control/#about-rbac" >}}).
By default, Viewers, Editors and Admins have access to all App Plugins that their organization role allows them to access, thanks to the `fixed:plugins.app:reader` role.
By default, the Viewer, Editor and Admin roles have access to all app plugins that their Organization role allows them to access. Access is granted by the `fixed:plugins.app:reader` role.
{{% admonition type="note" %}}
Revoking this RBAC role from some users, will prevent them from accessing app plugins. But granting this RBAC role to users will only allow them to see app plugins their organization role allows them to see.
To prevent users from seeing an app plugin, refer to [these permissions scenarios]({{< relref "../roles-and-permissions/access-control/plan-rbac-rollout-strategy#prevent-viewers-from-accessing-an-app-plugin" >}}).
{{% /admonition %}}
To prevent users from seeing an app plugin, refer to [this permissions scenarios]({{< relref "../roles-and-permissions/access-control/plan-rbac-rollout-strategy#prevent-viewers-from-accessing-an-app-plugin" >}}).
## Plugin catalog
The Plugin catalog allows you to browse and manage plugins from within Grafana. Only Grafana server administrators and organization administrators can access and use the plugin catalog. The following access rules apply depending on the user role:
The Grafana plugin catalog allows you to browse and manage plugins from within Grafana. Only Grafana server administrators and Organization administrators can access and use the plugin catalog. For more information about Grafana roles and permissions, refer to [Roles and permissions]({{< relref "../administration/roles-and-permissions" >}}).
| Org Admin | Server Admin | Permissions |
| --------- | ------------ | ------------------------------------------------------------------------------------------- |
| &check; | &check; | <ul><li>Can configure app plugins</li><li>Can install/uninstall/update plugins</li></ul> |
| &check; | &times; | <ul><li>Can configure app plugins</li><li>Cannot install/uninstall/update plugins</li></ul> |
| &times; | &check; | <ul><li>Cannot configure app plugins</li><li>Can install/uninstall/update plugins</li></ul> |
The following access rules apply depending on the user role:
> **Note:** The Plugin catalog is designed to work with a single Grafana server instance only. Support for Grafana clusters will be added in future Grafana releases.
- If you are an **Org Admin**, you can configure app plugins, but you can't install, uninstall, or update them.
- If you are a **Server Admin**, you can't configure app plugins, but you can install, uninstall, or update them.
- If you are both **Org Admin** and **Server Admin**, you can configure app plugins and also install, uninstall, or update them.
{{% admonition type="note" %}}
The Grafana plugin catalog is designed to work with a single Grafana server instance only. Support for Grafana clusters is planned for future Grafana releases.
{{% /admonition %}}
<div class="medium-6 columns">
<video width="700" height="600" controls>
@@ -80,81 +87,79 @@ The Plugin catalog allows you to browse and manage plugins from within Grafana.
_Video shows the Plugin catalog in a previous version of Grafana._
In order to be able to install / uninstall / update plugins using plugin catalog, you must enable it via the `plugin_admin_enabled` flag in the [configuration]({{< relref "../../setup-grafana/configure-grafana/#plugin_admin_enabled" >}}) file.
Before following the steps below, make sure you are logged in as a Grafana administrator.
{{% admonition type="note" %}}
If required, the Grafana plugin catalog can be disabled using the `plugin_admin_enabled` flag in the [configuration]({{< relref "../../setup-grafana/configure-grafana/#plugin_admin_enabled" >}}) file.
{{% /admonition %}}
<a id="#plugin-catalog-entry"></a>
Administrators can find the Plugin catalog at **Administration > Plugins and data > Plugins**.
### Browse plugins
To browse for available plugins:
1. In Grafana, click **Administration > Plugins and data > Plugins** in the side navigation menu to view installed plugins.
1. Click the **All** filter to browse all available plugins.
1. While logged into Grafana as an administrator, click **Administration > Plugins and data > Plugins** in the side menu to view installed and available plugins.
1. Use the search to filter based on name, keywords, organization and other metadata.
1. Click the **Data sources**, **Panels**, or **Applications** buttons to filter by plugin type.
### Install a plugin
To install a plugin:
1. In Grafana, click **Administration > Plugins and data > Plugins** in the side navigation menu to view installed plugins.
1. Click the **All** filter to browse all available plugins.
1. In Grafana, click **Administration > Plugins and data > Plugins** in the side navigation menu to view all plugins.
1. Browse and find a plugin.
1. Click on the plugin logo.
1. Click the plugin's logo.
1. Click **Install**.
When the update is complete, you see a confirmation message that the installation was successful.
When the update is complete, you'll see a confirmation message that the installation was successful.
### Update a plugin
To update a plugin:
1. In Grafana, click **Administration > Plugins and data > Plugins** in the side navigation menu to view installed plugins.
1. Click on the plugin logo.
1. In Grafana, click **Administration > Plugins and data > Plugins** in the side navigation menu to view all plugins.
1. Click the **Installed** filter to show only installed plugins.
1. Click the plugin's logo.
1. Click **Update**.
When the update is complete, you see a confirmation message that the update was successful.
When the update is complete, you'll see a confirmation message that the update was successful.
### Uninstall a plugin
To uninstall a plugin:
1. In Grafana, click **Administration > Plugins and data > Plugins** in the side navigation menu to view installed plugins.
1. Click on the plugin logo.
1. In Grafana, click **Administration > Plugins and data > Plugins** in the side navigation menu to view all plugins.
1. Click the plugin's logo.
1. Click the **Installed** filter to show only installed plugins.
1. Click **Uninstall**.
When the update is complete, you see a confirmation message that the uninstall was successful.
When the update is complete, you'll see a confirmation message that the uninstall was successful.
## Install Grafana plugins
Grafana supports data source, panel, and app plugins. Having panels as plugins makes it easy to create and add any kind of panel, to show your data, or improve your favorite dashboards. Apps enable the bundling of data sources, panels, dashboards, and Grafana pages into a cohesive experience.
Grafana supports data source, panel, and app plugins.
1. In a web browser, navigate to the official [Grafana Plugins page](/plugins) and find a plugin that you want to install.
1. In a web browser, navigate to the [Grafana plugin catalog](https://grafana.com/plugins) and find a plugin that you want to install.
1. Click the plugin, and then click the **Installation** tab.
### Install plugin on Grafana Cloud
On the Installation tab, in the **For** field, click the name of the Grafana instance that you want to install the plugin on.
On the **Installation tab**, in the **For** field, click the name of the Grafana instance on which you want to install the plugin.
Grafana Cloud handles the plugin installation automatically.
If you are logged in to Grafana Cloud when you add a plugin, log out and back in again to use the new plugin.
If you're logged in to Grafana Cloud when you add a plugin, log out and then log back in again to use the new plugin.
### Install plugin on local Grafana
Follow the instructions on the Install tab. You can either install the plugin with a Grafana CLI command or by downloading and uncompress a .zip file into the Grafana plugins directory. We recommend using Grafana CLI in most instances. The .zip option is available if your Grafana server does not have access to the internet.
Follow the instructions on the **Install** tab. You can either install the plugin with a Grafana CLI command or by downloading and uncompressing a zip file into the Grafana plugins directory. We recommend using Grafana CLI in most instances. The zip option is available if your Grafana server doesn't have access to the internet.
For more information about Grafana CLI plugin commands, refer to [Plugin commands]({{< relref "../../cli/#plugins-commands" >}}).
As of Grafana v8.0, a plugin catalog app was introduced in order to make managing plugins easier. For more information, refer to [Plugin catalog]({{< relref "#plugin-catalog" >}}).
#### Install a packaged plugin
After the user has downloaded the archive containing the plugin assets, they can install it by extracting the archive into their plugin directory.
After the user has downloaded the archive containing the plugin assets, they can install it by extracting the archive into their plugin directory. For example:
```
```bash
unzip my-plugin-0.2.0.zip -d YOUR_PLUGIN_DIR/my-plugin
```
@@ -162,9 +167,9 @@ The path to the plugin directory is defined in the configuration file. For more
## Plugin signatures
Plugin signature verification (signing) is a security measure to make sure plugins haven't been tampered with. Upon loading, Grafana checks to see if a plugin is signed or unsigned when inspecting and verifying its digital signature.
Plugin signature verification, also known as _signing_, is a security measure to make sure plugins haven't been tampered with. Upon loading, Grafana checks to see if a plugin is signed or unsigned when inspecting and verifying its digital signature.
At startup, Grafana verifies the signatures of every plugin in the plugin directory. If a plugin is unsigned, then Grafana does not load nor start it. To see the result of this verification for each plugin, navigate to **Configuration** -> **Plugins**.
At startup, Grafana verifies the signatures of every plugin in the plugin directory. If a plugin is unsigned, then Grafana neither loads nor starts it. To see the result of this verification for each plugin, navigate to **Configuration** -> **Plugins**.
Grafana also writes an error message to the server log:
@@ -177,26 +182,28 @@ If you are a plugin developer and want to know how to sign your plugin, refer to
| Signature status | Description |
| ------------------ | ------------------------------------------------------------------------------- |
| Core | Core plugin built into Grafana. |
| Invalid signature | The plugin has a invalid signature. |
| Invalid signature | The plugin has an invalid signature. |
| Modified signature | The plugin has changed since it was signed. This may indicate malicious intent. |
| Unsigned | The plugin is not signed. |
| Signed | The plugin signature was successfully verified. |
### Plugin signature levels
All plugins is signed under a _signature level_. The signature level determines how the plugin can be distributed.
All plugins are signed under a _signature level_. The signature level determines how the plugin can be distributed.
| **Plugin Level** | **Description** |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Private | <p>Private plugins are for use on your own Grafana. They may not be distributed to the Grafana community, and are not published in the Grafana catalog.</p> |
| Community | <p>Community plugins have dependent technologies that are open source and not for profit.</p><p>Community plugins are published in the official Grafana catalog, and are available to the Grafana community.</p> |
| Commercial | <p>Commercial plugins have dependent technologies that are closed source or commercially backed.</p><p>Commercial Plugins are published on the official Grafana catalog, and are available to the Grafana community.</p> |
| Commercial | <p>Commercial plugins have dependent technologies that are closed source or commercially backed.</p><p>Commercial plugins are published on the official Grafana catalog, and are available to the Grafana community.</p> |
### Allow unsigned plugins
> **Note:** Unsigned plugins are not supported in Grafana Cloud.
{{% admonition type="note" %}}
Unsigned plugins are not supported in Grafana Cloud.
{{% /admonition %}}
We strongly recommend that you don't run unsigned plugins in your Grafana instance. If you're aware of the risks and you still want to load an unsigned plugin, refer to [Configuration]({{< relref "../../setup-grafana/configure-grafana/#allow_loading_unsigned_plugins" >}}).
We strongly recommend that you don't run unsigned plugins in your Grafana instance. However, if you're aware of the risks and you still want to load an unsigned plugin, refer to [Configuration]({{< relref "../../setup-grafana/configure-grafana/#allow_loading_unsigned_plugins" >}}).
If you've allowed loading of an unsigned plugin, then Grafana writes a warning message to the server log:
@@ -210,4 +217,6 @@ If you're developing a plugin, then you can enable development mode to allow all
## Learn more
- Browse the available [Plugins](/grafana/plugins)
- [Browse plugins](/grafana/plugins)
- [Develop plugins](/developers/plugin-tools)
- [Plugin development Community](https://community.grafana.com/c/plugin-development/30)

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

@@ -0,0 +1,51 @@
---
aliases:
- ../manage-users/add-or-remove-user-from-team/
- ../manage-users/create-or-remove-team/
- ../manage-users/manage-teams/
- manage-users-and-permissions/manage-teams/
description: This document introduces Grafana Teams and Teams concepts.
labels:
products:
- enterprise
- oss
- cloud
keywords:
- authorization
- microservices
- architecture
menuTitle: Grafana Teams
title: Grafana Teams
weight: 100
---
# Grafana Teams
Grafana Teams makes it easy to organize and administer groups of users in your enterprise. Teams allows you to grant permissions to a group of users instead of granting permissions to individual users one at a time.
Teams are useful in a wide variety of scenarios, such as when onboarding new colleagues or needing access to reports on secure financial data. When you add a user to a team, they get access to all resources assigned to that team.
## Teams concepts
A Grafana Team is a group of users within an organization that have common permissions, including access to dashboards and data sources, and those permissions apply to **all members** of that team. For example, instead of assigning six users access to the same dashboard, you can create a team that consists of those users and assign dashboard permissions to the team. A user can belong to multiple teams.
A Team grants permissions to a wide variety of resources including:
- dashboards
- data sources
- folders
- alerts
- reports
- cloud access policies
- annotations
- playlists
{{< admonition type="note" >}}
All members of a Grafana Team have the same exact permissions. A single Team can't have members with different access levels to resources shared within that Team.
{{< /admonition >}}
A user can be a `Member` or an `Administrator` for a given Team. `Members` of a Team inherit permissions from the team, but they don't have team administrator privileges, and can't edit the team itself. Team `Administrators` can add members to a team and update its settings, such as the team name, team members team roles, UI preferences, and home dashboard.
There are two types of Teams, `isolated` or `collaborative`. Isolated teams can only see their own resources. They can't see other teams resources like dashboards, data, or alerts. Collaborative teams have access to other teams resources.
For information about how to optimize Teams, refer to [How to best organize your teams and resources in Grafana](https://grafana.com/blog/2022/03/14/how-to-best-organize-your-teams-and-resources-in-grafana/).

View File

@@ -0,0 +1,52 @@
---
description: Learn how to administer Grafana Teams.
labels:
products:
- enterprise
- oss
- cloud
keywords:
- authorization
- microservices
- architecture
menuTitle: Administer Grafana Teams
title: Administer Grafana Teams
weight: 300
---
# Administer Grafana Teams
This topic describes how to administer Grafana Teams.
## View a list of Teams
See the complete list of teams in your Grafana organization.
To view a list of teams:
1. Sign in to Grafana as an organization administrator or a team administrator.
1. Click the arrow next to **Administration** in the left-side menu, click **Users and access**, and select **Teams**.
The role you use to sign in to Grafana determines how you see Teams lists.
### Organization administrator view
The following example shows a list as it appears to an `organization` administrator.
![Team list view for org admin](/media/docs/grafana/screenshot-org-admin-team-list.png)
### Team administrator view
The following example shows a list as it appears to a `team` administrator.
![Team list view for team admin](/media/docs/grafana/screenshot-team-admin-team-list.png)
## Teams best practices
Grafana recommends you use Teams to organize and manage access to Grafanas core resources, such as dashboards and alerts. Teams is an easy organizational tool to manage, and allows flexible sharing between teams.
Grafana recommends that you use Instances or Stacks to separate Teams if you want true isolation, to ensure that no information leaks between Teams. You can synchronize some resources between instances using provisioning.
## Secure Grafana Teams
The most important thing to consider for securing Teams is to only grant team administrator rights to the users you trust to administer the Team.

View File

@@ -0,0 +1,220 @@
---
description: Learn how to configure Grafana Teams
labels:
products:
- enterprise
- oss
- cloud
keywords:
- authorization
- microservices
- architecture
menuTitle: Configure Grafana Teams
title: Configure Grafana Teams
weight: 200
---
# Configure Grafana Teams
This topic describes how to set up and configure Grafana Teams.
For a tutorial on working with Teams, refer to [Create users and teams](https://grafana.com/tutorials/create-users-and-teams/).
## Before you begin
Before you begin creating and working with Grafana Teams:
- Ensure that you have either the `Organization Administrator` role or team administrator permissions.
Refer to [Organization roles](https://grafana.com/docs/grafana/<GRAFANA_VERSION>/administration/roles-and-permissions/#organization-roles) and [RBAC permissions, actions, and scopes](https://grafana.com/docs/grafana/<GRAFANA_VERSION>/administration/roles-and-permissions/access-control/custom-role-actions-scopes/#rbac-permissions-actions-and-scopes) for a list of Grafana roles and role-based access control actions.
- Decide which users belong to which teams and what permissions team members receive.
- Configure the default basic role for users to join Grafana. This role applies to users where no role is set by the identity provider (IDP).
- No basic role - by default can't view any resources.
Recommended for `isolated` teams.
- Viewer role - by default can view all resources. Recommended for `collaborative` teams.
- Ensure team sync is turned on if you plan to manage team members through team sync.
Refer to [Configure Team Sync](https://grafana.com/docs/grafana/<GRAFANA_VERSION>/setup-grafana/configure-security/configure-team-sync/) for a list of providers and instructions on how to turn on team sync for each provider.
<!-- - Turn on nested folders. __This is a new feature, add when it goes live.__ -->
{{< admonition type="note" >}}
[Grafana Organizations](https://grafana.com/docs/grafana/<GRAFANA_VERSION>/administration/organization-management/) do not exist in Grafana Cloud.
Grafana Cloud uses the term _organization_ to refer to accounts in grafana.com, or GCOM.
In Grafana Enterprise and OSS, Teams belong to Grafana Organizations.
Refer to [About organizations](/docs/grafana/<GRAFANA_VERSION>/administration/organization-management/#about-organizations) for more information.
{{< /admonition >}}
## Create a Grafana Team
A team is a group of users within a Grafana instance that have common permissions needs. Teams to help make user-permission management more efficient. A user can belong to multiple Teams.
Grafana Teams includes common access to the following:
- dashboards
- data sources
- folders
- alerts
- reports
- cloud access policies
- annotations
- playlists
To create a Team, complete the following steps:
1. Sign in to Grafana as an `org administrator` or `team administrator`.
1. Click the arrow next to **Administration** in the left-side menu, click **Users and access**, and select **Teams**.
1. Click **New Team**.
1. Fill in each field and click **Create**.
1. Click **Save**. You can now add a Team member.
## Add a Team member
Add a member to a new Team or add a team member to an existing Team when you want to provide access to team dashboards and folders to another user. This task requires that you have `organization administrator` permissions.
To add a team member, complete the following steps:
1. Sign in to Grafana as an `org administrator` or `team administrator`.
1. Click the arrow next to **Administration** in the left-side menu, click **Users and access**, and select **Teams**.
1. Click the name of the Team to which you want to add members, and click **+ Add member**.
1. Search for and select a user.
1. Choose whether to add the user as a Team **Member** or **Admin**.
1. Click **Save**.
## Grant or change Team member permissions
Complete this task when you want to add or modify team member permissions.
To grant team member permissions:
1. Sign in to Grafana as an `org administrator` or `team administrator`.
1. Click the arrow next to **Administration** in the left-side menu, click **Users and access**, and select **Teams**.
1. Click the pencil next to the name of the Team for which you want to add or modify team member permissions.
1. In the team member list, locate the user that you want to change. You can use the search field to filter the list if necessary.
1. Under the **Permission** column, select the new permission level.
## Add roles to a Grafana Team
You can add or delete roles from a specified team.
To add a role, complete the following steps:
1. Sign in to Grafana as an `org administrator` or `team administrator`.
1. Click the arrow next to **Administration** in the left-side menu, click **Users and access**, and select **Teams**.
1. Select the Team and click under the **Role** column.
Select from a list of current fixed or plugin roles or clear all roles and start over.
As you hover over each role a list of permissions appears to the right.
You can clear any permission for additional fine-grained control.
1. Click **Update** to add the new role or roles.
To delete a role, remove the check next to the role name and click **Update**.
## Delete a team
Delete a team when you no longer need it. This action permanently deletes the team and removes all team permissions from dashboards and folders. This task requires that you have `organization administrator` permissions.
1. Sign in to Grafana as an `org administrator` or `team administrator`.
1. Click the arrow next to **Administration** in the left-side menu, click **Users and access**, and select **Teams**.
1. Click the **red X** on the right side of the name of the team.
1. Click **Delete**.
<!-- ## Create isolated or collaborative teams
Grafana Teams can either be `isolated` or `collaborative`. Isolated teams can only see their own resources. They can't see other teams dashboards, data, or alerts. Collaborative teams have access to other teams resources. Grafana Cloud users must contact Support.
To create an isolated team add the following to the Grafana configuration file:
```ini
auto_assign_org_role = None
role_attribute_path = contains(groups[*], 'admin') && 'Admin' || 'None'
```
To create a collaborative team add the following to the Grafana configuration file:
```ini
auto_assign_org_role = Viewer
role_attribute_path = contains(groups[*], 'admin') && 'Admin' || 'None'
```
You can also use a terraform script as shown in the following example:
```hcl
terraform {
required_providers {
grafana = {
source = "grafana/grafana"
}
}
}
provider "grafana" {
url = "http://localhost:3000/"
auth = "admin:admin"
}
resource "grafana_folder" "awesome_folder" {
title = "Awesome Team Folder"
}
resource "grafana_team" "awesome-team" {
name = "Awesome Team"
}
resource "grafana_team_external_group" "awesome-team-group" {
team_id = grafana_team.awesome-team.id
groups = [
"Awesome_group"
]
}
resource "grafana_role" "team_role" {
name = "team_role"
uid = "team_role"
version = 4
global = true
permissions {
action = "datasources:create"
}
permissions {
action = "serviceaccounts:create"
}
# below should be deleted after bug fix to view service accounts
permissions {
action = "users.roles:read"
scope = "users:id:*"
}
}
resource "grafana_role_assignment" "assign_role" {
role_uid = grafana_role.team_role.uid
teams = [grafana_team.awesome-team.id]
}
resource "grafana_service_account" "awesome_service_account" {
name = "awesome_service_account"
role = "None"
is_disabled = false
}
resource "grafana_service_account_permission" "awesome_service_account_permissions" {
service_account_id = grafana_service_account.awesome_service_account.id
permissions {
team_id = grafana_team.awesome-team.id
permission = "Admin"
}
}
resource "grafana_folder_permission" "awesome_folder_permission" {
folder_uid = grafana_folder.awesome_folder.uid
permissions {
team_id = grafana_team.awesome-team.id
permission = "Admin"
}
permissions {
user_id = grafana_service_account.awesome_service_account.id
permission = "Admin"
}
}
``` -->

View File

@@ -1,123 +0,0 @@
---
aliases:
- ../manage-users/add-or-remove-user-from-team/
- ../manage-users/create-or-remove-team/
- ../manage-users/manage-teams/
- manage-users-and-permissions/manage-teams/
labels:
products:
- enterprise
- oss
title: Team management
weight: 400
---
# Team management
A team is a group of users within an organization that have common dashboard and data source permission needs. For example, instead of assigning five users access to the same dashboard, you can create a team that consists of those users and assign dashboard permissions to the team. A user can belong to multiple teams.
A user can be a Member or an Administrator for a given team. Members of a team inherit permissions from the team, but they cannot edit the team itself. Team Administrators can add members to a team and update its settings, such as the team name, team member's team roles, UI preferences, and home dashboard.
For more information about teams, refer to [Teams and permissions]({{< relref "../roles-and-permissions/#teams-and-permissions" >}}).
For information about how to optimize your teams, refer to [How to best organize your teams and resources in Grafana](https://grafana.com/blog/2022/03/14/how-to-best-organize-your-teams-and-resources-in-grafana/).
This topic describes how to:
- Create a team
- Add a team member
- Grant team member permissions
- Remove a team member
- Delete a team
- View a list of teams
## Before you begin
- Ensure that you have either organization administrator permissions or team administrator permissions
- Make a plan for which users belong to which teams and the permissions team members receive
## Create a team
A team is a group of users within an organization that have common dashboard and data source permission needs. Use teams to help make user-permission management more efficient.
A user can belong to multiple teams.
To create a team:
1. Sign in to Grafana as an organization administrator or team administrator.
1. Click **Administration** in the left-side menu, **Users and access**, and select **Teams**.
1. Click **New Team**.
1. Complete the fields and click **Create**.
1. Click **Add member**.
1. In the **Add member** field, locate and select a user.
1. Click **Save**.
## Add a team member
Add a team member to an existing team whenever you want to provide access to team dashboards and folders to another user. This task requires that you have organization administrator permissions.
To add a team member:
1. Sign in to Grafana as an organization administrator.
1. Click **Administration** in the left-side menu, **Users and access**, and select **Teams**.
1. Click the name of the team to which you want to add members, and click **Add member**.
1. Locate and select a user.
1. Choose if you want to add the user as a team Member or an Admin.
1. Click **Save**.
## Grant team member permissions
Complete this task when you want to add or modify team member permissions.
To grant team member permissions:
1. Sign in to Grafana as an organization administrator or a team administrator.
1. Click **Administration** in the left-side menu, **Users and access**, and select **Teams**.
1. Click the name of the team for which you want to add or modify team member permissions.
1. In the team member list, find and click the user that you want to change. You can use the search field to filter the list if necessary.
1. In the Permission column, select the new user permission level.
## Remove a team member
You can remove a team member when you no longer want to apply team permissions to the user
To remove a team member:
1. Sign in to Grafana as an organization administrator or team administrator.
1. Click **Administration** in the left-side menu, **Users and access**, and select **Teams**.
1. Click a team from which you want to remove a user.
1. Click the **X** next to the name of the user.
## Delete a team
Delete a team when you no longer need it. This action permanently deletes the team and removes all team permissions from dashboards and folders. This task requires that you have organization administrator permissions.
To delete a team:
1. Sign in to Grafana as an organization administrator.
1. Click **Administration** in the left-side menu, **Users and access**, and select **Teams**.
1. Click the **X** next to the name of the team.
1. Click **Delete**.
## View a list of teams
See the complete list of teams in your Grafana organization.
To view a list of teams:
1. Sign in to Grafana as an organization administrator or a team administrator.
1. Click **Administration** in the left-side menu, **Users and access**, and select **Teams**.
The role you use to sign in to Grafana determines how you see team lists.
## Organization administrator view
The following example shows a list as it appears to an organization administrator.
![Team list view for org admin](/media/docs/grafana/screenshot-org-admin-team-list.png)
## Team administrator view
The following example shows a list as it appears to a team administrator.
![Team list view for team admin](/media/docs/grafana/screenshot-team-admin-team-list.png)

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

@@ -16,7 +16,7 @@ weight: 114
hero:
title: Grafana Alerting
level: 1
image: /media/docs/alerting/alerting-bell-icon.png
image: /media/docs/grafana-cloud/alerting-and-irm/grafana-icon-alerting.svg
width: 100
height: 100
description: Grafana Alerting allows you to learn about problems in your systems moments after they occur.

View File

@@ -18,6 +18,47 @@ labels:
- oss
title: Configure Grafana-managed alert rules
weight: 100
refs:
add-a-query:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/query-transform-data/#add-a-query
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/visualizations/panels-visualizations/query-transform-data/#add-a-query
fundamentals:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/
annotation-label:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules/annotation-label/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/annotation-label/
expression-queries:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/query-transform-data/expression-queries/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/visualizations/panels-visualizations/query-transform-data/expression-queries/
alerting-on-numeric-data:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules/queries-conditions/#alert-on-numeric-data
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/queries-conditions/#alert-on-numeric-data
time-units-and-relative-ranges:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/dashboards/use-dashboards/#time-units-and-relative-ranges
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/visualizations/dashboards/use-dashboards/#time-units-and-relative-ranges
alert-list:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/visualizations/alert-list/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/visualizations/panels-visualizations/visualizations/alert-list/
time-series:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/visualizations/time-series/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/visualizations/panels-visualizations/visualizations/time-series/
---
# Configure Grafana-managed alert rules
@@ -40,7 +81,9 @@ To make a backup of your configuration and to be able to restore deleted alertin
In the following sections, well guide you through the process of creating your Grafana-managed alert rules.
To create a Grafana-managed alert rule, use the in-product alert creation flow and follow these steps to help you.
To create a Grafana-managed alert rule, use the in-product alert creation flow and follow these steps.
To get started quickly, refer to our [tutorial on getting started with Grafana alerting](http://grafana.com/tutorials/alerting-get-started/).
## Set alert rule name
@@ -54,7 +97,7 @@ To create a Grafana-managed alert rule, use the in-product alert creation flow a
Define a query to get the data you want to measure and a condition that needs to be met before an alert rule fires.
1. Select a data source.
1. From the **Options** dropdown, specify a [time range][time-units-and-relative-ranges].
1. From the **Options** dropdown, specify a [time range](ref:time-units-and-relative-ranges).
**Note:**
@@ -64,11 +107,11 @@ Define a query to get the data you want to measure and a condition that needs to
1. Add a query.
To add multiple [queries][add-a-query], click **Add query**.
To add multiple [queries](ref:add-a-query), click **Add query**.
All alert rules are managed by Grafana by default. If you want to switch to a data source-managed alert rule, click **Switch to data source-managed alert rule**.
1. Add one or more [expressions][expression-queries].
1. Add one or more [expressions](ref:expression-queries).
a. For each expression, select either **Classic condition** to create a single alert rule, or choose from the **Math**, **Reduce**, and **Resample** options to generate separate alert for each series.
@@ -158,27 +201,33 @@ Complete the following steps to set up labels and notifications.
## Add annotations
Add [annotations][annotation-label]. to provide more context on the alert in your alert notification message.
Add [annotations](ref:annotation-label). to provide more context on the alert in your alert notification message.
Annotations add metadata to provide more information on the alert in your alert notification message. For example, add a **Summary** annotation to tell you which value caused the alert to fire or which server it happened on.
1. [Optional] Add a summary.
1. Optional: Add a summary.
Short summary of what happened and why.
1. [Optional] Add a description.
1. Optional: Add a description.
Description of what the alert rule does.
1. [Optional] Add a Runbook URL.
1. Optional: Add a Runbook URL.
Webpage where you keep your runbook for the alert
1. [Optional] Add a custom annotation
1. [Optional] Add a dashboard and panel link.
1. Optional: Add a custom annotation
1. Optional: Add a **dashboard and panel link**.
Links alerts to panels in a dashboard.
{{% admonition type="note" %}}
At the moment, alerts are only supported in the [time series](ref:time-series) and [alert list](ref:alert-list) visualizations.
{{% /admonition %}}
{{< docs/play title="visualizations with linked alerts in Grafana" url="https://play.grafana.org/d/000000074/" >}}
1. Click **Save rule**.
### Single and multi-dimensional rule
@@ -189,13 +238,13 @@ For Grafana managed alerts, you can create a rule with a classic condition or yo
Use the classic condition expression to create a rule that triggers a single alert when its condition is met. For a query that returns multiple series, Grafana does not track the alert state of each series. As a result, Grafana sends only a single alert even when alert conditions are met for multiple series.
For more information, see [expressions documentation][expression-queries].
For more information, see [expressions documentation](ref:expression-queries).
**Multi-dimensional rule**
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](ref: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')
@@ -239,23 +288,3 @@ Create alerts from any panel type. This means you can reuse the queries in the p
3. From the dropdown menu, select **More...** and then choose **New alert rule**.
This will open the alert rule form, allowing you to configure and create your alert based on the current panel's query.
{{% docs/reference %}}
[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/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/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"
[fundamentals]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals"
[fundamentals]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals"
[time-units-and-relative-ranges]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/dashboards/use-dashboards#time-units-and-relative-ranges"
[time-units-and-relative-ranges]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/dashboards/use-dashboards#time-units-and-relative-ranges"
{{% /docs/reference %}}

View File

@@ -18,6 +18,15 @@ labels:
- oss
title: Create recording rules
weight: 300
refs:
configure-grafana:
- pattern: /docs/
destination: /docs/grafana/<GRAFANA_VERSION>/setup-grafana/configure-grafana/
annotation-label:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules/annotation-label/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/annotation-label/
---
# Create recording rules
@@ -31,7 +40,7 @@ For more information on recording rules in Prometheus, refer to [Defining record
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.
[min_interval][configure-grafana] sets the minimum interval to enforce between rule evaluations. The default value is 10s which equals the scheduler interval. Rules will be adjusted if they are less than this value or if they are not multiple of the scheduler interval (10s). Higher values can help with resource management as fewer evaluations are scheduled over time.
[min_interval](ref:configure-grafana) sets the minimum interval to enforce between rule evaluations. The default value is 10s which equals the scheduler interval. Rules will be adjusted if they are less than this value or if they are not multiple of the scheduler interval (10s). Higher values can help with resource management as fewer evaluations are scheduled over time.
This setting has precedence over each individual rule frequency. If a rule frequency is lower than this value, then this value is enforced.
@@ -67,10 +76,3 @@ To create recording rules, follow these steps.
1. Add labels.
- Add custom labels selecting existing key-value pairs from the drop down, or add new labels by entering the new key or value .
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/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

@@ -18,6 +18,27 @@ labels:
- oss
title: Configure data source-managed alert rules
weight: 200
refs:
alerting:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/
annotation-label:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules/annotation-label/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/annotation-label/
alert-list:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/visualizations/alert-list/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/visualizations/panels-visualizations/visualizations/alert-list/
time-series:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/visualizations/time-series/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/visualizations/panels-visualizations/visualizations/time-series/
---
# Configure data source-managed alert rules
@@ -102,33 +123,31 @@ All alert rules and instances, irrespective of their labels, match the default n
## Add annotations
Add [annotations][annotation-label]. to provide more context on the alert in your alert notifications.
Add [annotations](ref:annotation-label). to provide more context on the alert in your alert notifications.
Annotations add metadata to provide more information on the alert in your alert notifications. For example, add a **Summary** annotation to tell you which value caused the alert to fire or which server it happened on.
1. [Optional] Add a summary.
1. Optional: Add a summary.
Short summary of what happened and why.
1. [Optional] Add a description.
1. Optional: Add a description.
Description of what the alert rule does.
1. [Optional] Add a Runbook URL.
1. Optional: Add a Runbook URL.
Webpage where you keep your runbook for the alert
1. [Optional] Add a custom annotation
1. [Optional] Add a dashboard and panel link.
1. Optional: Add a custom annotation
1. Optional: Add a **dashboard and panel link**.
Links alerts to panels in a dashboard.
{{% admonition type="note" %}}
At the moment, alerts are only supported in the [time series](ref:time-series) and [alert list](ref:alert-list) visualizations.
{{% /admonition %}}
{{< docs/play title="visualizations with linked alerts in Grafana" url="https://play.grafana.org/d/000000074/" >}}
1. Click **Save rule**.
{{% docs/reference %}}
[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/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

@@ -16,6 +16,10 @@ labels:
- oss
title: Template labels and annotations
weight: 500
refs:
explore:
- pattern: /docs/
destination: /docs/grafana/<GRAFANA_VERSION>/explore/
---
# Template labels and annotations
@@ -28,6 +32,10 @@ All templates should be written in [text/template](https://pkg.go.dev/text/templ
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.
{{% admonition type="caution" %}}
Extra whitespace in label templates can break matches with notification policies.
{{% /admonition %}}
## Examples
Rather than write a complete tutorial on text/template, the following examples attempt to show the most common use-cases we have seen for templates. You can use these examples verbatim, or adapt them as necessary for your use case. For more information on how to write text/template refer to the [text/template](https://pkg.go.dev/text/template) documentation.
@@ -294,7 +302,7 @@ https://example.com/grafana
### graphLink
The `graphLink` function returns the path to the graphical view in [Explore][explore] for the given expression and data source:
The `graphLink` function returns the path to the graphical view in [Explore](ref:explore) for the given expression and data source:
```
{{ graphLink "{\"expr\": \"up\", \"datasource\": \"gdev-prometheus\"}" }}
@@ -390,7 +398,7 @@ The `pathPrefix` function returns the path of the Grafana server as configured i
### tableLink
The `tableLink` function returns the path to the tabular view in [Explore][explore] for the given expression and data source:
The `tableLink` function returns the path to the tabular view in [Explore](ref:explore) for the given expression and data source:
```
{{ tableLink "{\"expr\": \"up\", \"datasource\": \"gdev-prometheus\"}" }}
@@ -447,7 +455,3 @@ The `reReplaceAll` function replaces text matching the regular expression:
```
example.com:8080
```
{{% docs/reference %}}
[explore]: "/docs/ -> /docs/grafana/<GRAFANA_VERSION>/explore"
{{% /docs/reference %}}

View File

@@ -19,6 +19,12 @@ labels:
- oss
title: Configure notification policies
weight: 420
refs:
notification-policies:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/notifications/notification-policies/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/notifications/notification-policies/
---
# Configure notification policies
@@ -33,7 +39,7 @@ If the **Continue matching subsequent sibling nodes** option is enabled for a ne
You can configure Grafana-managed notification policies as well as notification policies for an external Alertmanager data source.
For more information on notification policies, see [fundamentals of Notification Policies][notification-policies].
For more information on notification policies, see [fundamentals of Notification Policies](ref:notification-policies).
## Edit default notification policy
@@ -106,8 +112,3 @@ An example of an alert configuration.
- Create specific route for alerts coming from the development cluster with an appropriate contact point.
- Create a specific route for alerts with "critical" severity with a more invasive contact point integration, like pager duty notification.
- 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/notifications/notification-policies"
[notification-policies]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/notifications/notification-policies"
{{% /docs/reference %}}

View File

@@ -25,6 +25,62 @@ labels:
- oss
title: Configure contact points
weight: 410
refs:
email:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/manage-contact-points/integrations/configure-email/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/manage-contact-points/integrations/configure-email/
discord:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/manage-contact-points/integrations/configure-discord/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/manage-contact-points/integrations/configure-discord/
telegram:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/manage-contact-points/integrations/configure-telegram/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/manage-contact-points/integrations/configure-telegram/
webhook:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/manage-contact-points/integrations/webhook-notifier/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/manage-contact-points/integrations/webhook-notifier/
opsgenie:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/manage-contact-points/integrations/configure-opsgenie/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/manage-contact-points/integrations/configure-opsgenie/
pagerduty:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/manage-contact-points/integrations/pager-duty/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/manage-contact-points/integrations/pager-duty/
oncall:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/manage-contact-points/integrations/configure-oncall/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/manage-contact-points/integrations/configure-oncall/
slack:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/manage-contact-points/integrations/configure-slack/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/manage-contact-points/integrations/configure-slack/
teams:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/manage-contact-points/integrations/configure-teams/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/manage-contact-points/integrations/configure-teams/
external-alertmanager:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/manage-contact-points/integrations/configure-oncall/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/manage-contact-points/integrations/configure-oncall/
pagerduty:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/manage-contact-points/integrations/pager-duty/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/manage-contact-points/integrations/pager-duty/
---
# Configure contact points
@@ -106,39 +162,27 @@ Once configured, you can use integrations as part of your contact points to rece
## List of supported integrations
| Name | Type |
| ------------------------ | ------------------------- |
| DingDing | `dingding` |
| Discord | `discord` |
| Email | `email` |
| Google Chat | `googlechat` |
| [Grafana Oncall][oncall] | `oncall` |
| Hipchat | `hipchat` |
| Kafka | `kafka` |
| Line | `line` |
| Microsoft Teams | `teams` |
| Opsgenie | `opsgenie` |
| [Pagerduty][pagerduty] | `pagerduty` |
| Prometheus Alertmanager | `prometheus-alertmanager` |
| Pushover | `pushover` |
| Sensu | `sensu` |
| Sensu Go | `sensugo` |
| [Slack][slack] | `slack` |
| Telegram | `telegram` |
| Threema | `threema` |
| VictorOps | `victorops` |
| [Webhook][webhook] | `webhook` |
{{% docs/reference %}}
[pagerduty]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/manage-contact-points/integrations/pager-duty"
[pagerduty]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/manage-contact-points/integrations/pager-duty"
[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 %}}
| Name | Type |
| ---------------------------- | ------------------------- |
| DingDing | `dingding` |
| Discord | `discord` |
| Email | `email` |
| [Discord](ref:discord) | `discord` |
| [Email](ref:email) | `email` |
| Google Chat | `googlechat` |
| [Grafana Oncall](ref:oncall) | `oncall` |
| Hipchat | `hipchat` |
| Kafka | `kafka` |
| Line | `line` |
| [Microsoft Teams](ref:teams) | `teams` |
| [Opsgenie](ref:opsgenie) | `opsgenie` |
| [Pagerduty](ref:pagerduty) | `pagerduty` |
| Prometheus Alertmanager | `prometheus-alertmanager` |
| Pushover | `pushover` |
| Sensu | `sensu` |
| Sensu Go | `sensugo` |
| [Slack](ref:slack) | `slack` |
| Telegram | `telegram` |
| Threema | `threema` |
| VictorOps | `victorops` |
| [Webhook](ref:webhook) | `webhook` |

View File

@@ -0,0 +1,58 @@
---
canonical: https://grafana.com/docs/grafana/latest/alerting/configure-notifications/manage-contact-points/integrations/configure-discord/
description: Configure the Discord integration to receive notifications when your alerts are firing
keywords:
- grafana
- alerting
- Discord
- integration
labels:
products:
- cloud
- enterprise
- oss
menuTitle: Discord
title: Configure Discord for Alerting
weight: 10
---
# Configure Discord for Alerting
Use the Grafana Alerting - Discord integration to receive alert notifications in your Discord channels when your Grafana alert rules are triggered and resolved.
## Before you begin
Create a Webhook to enable Grafana to send alert notifications to Discord channels.
To create a Webhook in Discord, complete the following steps.
1. Follow the steps in the [Intro to Webhooks guide](https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks).
1. Copy the Webhook URL.
## Procedure
To create your Discord 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 **Discord**.
1. In the **Webhook URL** field, paste in your Webhook URL.
1. Click **Test** to check that your integration works.
A test alert notification should be sent to the Discord channel that you associated with the Webhook.
1. Click **Save contact point**.
## Next steps
The Discord contact point is ready to receive alert notifications.
To add this contact point to your alert, complete the following steps.
1. In Grafana, navigate to **Alerting** > **Alert rules**.
1. Edit or create a new alert rule.
1. Scroll down to the **Configure labels and notifications** section.
1. Under **Notifications** click **Select contact point**.
1. From the drop-down menu, select the previously created contact point.
1. Click **Save rule and exit**.

View File

@@ -0,0 +1,95 @@
---
canonical: https://grafana.com/docs/grafana/latest/alerting/configure-notifications/manage-contact-points/integrations/configure-email/
description: Configure email integration to send email notifications when your alerts are firing
keywords:
- grafana
- alerting
- email
- integration
labels:
products:
- cloud
- enterprise
- oss
menuTitle: Email
title: Configure email for Alerting
weight: 20
---
# Configure email for Alerting
Use the Grafana Alerting - email integration to send email notifications when your alerts are firing. An email is sent when an alert fires and when an alert gets resolved.
## Before you begin
{{<admonition type="note">}}
This section is for Grafana OSS only. For Grafana Cloud, SMTP configuration is not required.
{{</admonition>}}
For Grafana OSS, you enable email notifications by first configuring [SMTP settings](https://grafana.com/docs/grafana/next/setup-grafana/configure-grafana/#smtp) in the Grafana configuration settings.
### SMTP configuration
1. Access the configuration file.
Locate the Grafana configuration file. This file is typically named `grafana.ini` or `custom.ini` and is located in the `conf` directory within the Grafana installation directory.
1. Open the configuration file:
Open the configuration file using a text editor.
1. Locate SMTP settings section.
Search for the [SMTP settings section](https://grafana.com/docs/grafana/next/setup-grafana/configure-grafana/#smtp) in the configuration file. It starts with `[smtp]`.
1. Configure SMTP settings.
Within the `[smtp]` settings section, specify the following parameters:
- `enabled = true`: Enables SMTP.
- `host`: The hostname or IP address of your SMTP server, and the port number of your SMTP server (commonly 25, 465, or 587). Default is `localhost:25`.
- `user`: Your SMTP username (if authentication is required).
- `password`: Your SMTP password (if authentication is required).
- `from_address`: The email address from which Grafana notifications will be sent.
- `from_name`: The name associated with the from_address.
- `skip_verify = true`: Skip SSL/TLS certificate verification (useful for testing, but not recommended for production).
1. Save and close the configuration file.
After configuring the SMTP settings, save the changes to the configuration file and close the text editor.
1. Restart Grafana.
Restart the Grafana service to apply the changes made to the configuration file. The method for restarting Grafana depends on your operating system and how Grafana was installed (e.g., `systemctl restart grafana-server` for systems using systemd).
1. Test email notifications.
After restarting Grafana, test the email notification functionality by creating an email contact point.
## Procedure
To set up email integration, 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 **Email**.
1. Enter the email addresses you want to send notifications to.
E-mail addresses are case sensitive. Ensure that the e-mail address entered is correct.
1. Click **Test** to check that your integration works.
1. Click **Save contact point**.
## Next steps
The email contact point is ready to receive alert notifications.
To add this contact point to your alert, complete the following steps.
1. In Grafana, navigate to **Alerting** > **Alert rules**.
1. Edit or create a new alert rule.
1. Scroll down to the **Configure labels and notifications** section.
1. Under Notifications click **Select contact point**.
1. From the drop-down menu, select the previously created contact point.
1. **Click Save rule and exit**.

View File

@@ -0,0 +1,57 @@
---
canonical: https://grafana.com/docs/grafana/latest/alerting/configure-notifications/manage-contact-points/integrations/configure-google-chat/
description: Configure the Google Chat integration to receive notifications when your alerts are firing
keywords:
- grafana
- alerting
- Google Chat
- integration
labels:
products:
- cloud
- enterprise
- oss
menuTitle: Google Chat
title: Configure Google Chat for Alerting
weight: 30
---
# Configure Google Chat for Alerting
Use the Grafana Alerting - Google Chat integration to receive alert notifications in your Google Chat space when your Grafana alert rules are triggered and resolved.
## Before you begin
Create a Webhook to enable Grafana to send alert notifications to a Google Chat space.
To create a Webhook in Google Chat space, complete the following steps.
1. Follow the steps in [Google's Chat app guide](https://developers.google.com/workspace/chat/quickstart/webhooks#create_a_webhook).
1. Copy the Webhook URL.
## Procedure
To create your Google Chat 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 **Google Chat**.
1. In the **URL** field, paste in your Webhook URL.
1. Click **Test** to check that your integration works.
A test alert notification should be sent to the Google Chat space that you associated with the Webhook.
1. Click **Save contact point**.
## Next steps
The Google Chat contact point is ready to receive alert notifications.
To add this contact point to your alert, complete the following steps.
1. In Grafana, navigate to **Alerting** > **Alert rules**.
1. Edit or create a new alert rule.
1. Scroll down to the **Configure labels and notifications** section.
1. Under **Notifications** click **Select contact point**.
1. From the drop-down menu, select the previously created contact point.
1. Click **Save rule and exit**.

View File

@@ -18,60 +18,57 @@ labels:
- oss
menuTitle: Grafana OnCall
title: Configure Grafana OnCall for Alerting
weight: 300
weight: 40
---
## Configure Grafana OnCall for Alerting
# Configure Grafana OnCall for Alerting
Use the Grafana Alerting - Grafana OnCall integration to effortlessly connect alerts generated by Grafana Alerting with Grafana OnCall, where you can then route them according to defined escalation chains and schedules.
You can set up the integration using the Grafana Alerting application or the Grafana OnCall application. For more information on setting it up from the Grafana OnCall application, see [Grafana OnCall documentation][oncall-integration].
{{< admonition type="note" >}}
You can also configure the integration from Grafana OnCall. For more information, refer to [Grafana OnCall documentation](http://grafana.com/docs/oncall/latest/integrations/grafana-alerting/).
{{< /admonition >}}
### Before you begin
## Before you begin
- Ensure you have Installed and enabled the Grafana OnCall plugin
- Ensure your version of Grafana is up-to-date and supports the new features
Grafana OnCall is available in Grafana Cloud by default.
### Procedure
If you are using Grafana OSS, [install and enable the Grafana OnCall plugin](http://grafana.com/docs/oncall/latest/set-up/open-source/#install-grafana-oncall-oss). Also, ensure your version of Grafana is up-to-date and supports the new features.
## Procedure
To set up the Grafana OnCall integration using the Grafana Alerting application, complete the following steps.
1. Navigate to **Alerts&IRM** -> **Alerting** -> **Contact points**.
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 Grafana OnCall.
**Note:**
1. From the **Integration** list, select **Grafana OnCall**.
{{< admonition type="note" >}}
The Grafana OnCall integration is only available for Grafana Alertmanager.
{{< /admonition >}}
1. Choose whether to add a new OnCall integration or add an existing one.
- If you add a new one, enter an Integration name.
- If you add an existing one, choose from the list of available integrations
- If you add an existing one, choose from the list of available integrations.
1. Click **Save contact point**.
1. On the contact points list view page, you should see a link to Grafana OnCall.
1. On the Contact points list view page, you can see the contact point with the Grafana OnCall icon.
If the integration is not being used anywhere in the notification policies tree, it has **Unused** as its status in the **Health** column. It wont receive any notifications, because there are no notifications using that integration.
If the integration is not yet being used anywhere in the notification policies tree, it will have **Unused** as its status in the **Health** column. It wont receive any notifications, because there are no notifications using that integration.
1. To see the integration details and test the integration, click the link to Grafana OnCall on the contact points list view page.
1. Click **Send demo alert** > **Send alert**.
1. Go to Grafana OnCall **Alert Groups**. You should see the demo alert.
1. Connect your contact point to a notification policy.
## Next steps
For more information on connecting your contact point to a notification policy, see
[Create notification policy][create-notification-policy].
The OnCall contact point is ready to receive alert notifications.
1. To view your integration in the Grafana OnCall application and set up routes and escalation chains, click the Link next to the integration on the Contact points list view page in the **Type** column.
To add the contact point to your alert rule, complete the following next steps:
This redirects you to the Grafana OnCall integration page in the Grafana OnCall application. From there, you can add [routes and escalation chains][escalation-chain].
{{% docs/reference %}}
[create-notification-policy]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/create-notification-policy"
[create-notification-policy]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/create-notification-policy"
[oncall-integration]: "/docs/grafana/ -> /docs/oncall/latest/integrations/grafana-alerting"
[oncall-integration]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/integrations/grafana-alerting"
[escalation-chain]: "/docs/grafana/ -> /docs/oncall/latest/configure/escalation-chains-and-routes"
[escalation-chain]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/escalation-chains-and-routes"
{{% /docs/reference %}}
1. In Grafana, navigate to **Alerting** > **Alert rules**.
1. Edit or create a new alert rule.
1. Scroll down to the **Configure labels and notifications** section.
1. Under **Notifications**, click **Select contact point**.
1. From the drop-down menu, select the contact point you created.
1. Click **Save rule and exit**.

View File

@@ -0,0 +1,62 @@
---
canonical: https://grafana.com/docs/grafana/latest/alerting/configure-notifications/manage-contact-points/integrations/configure-opsgenie/
description: Configure the Opsgenie integration to receive notifications when your alerts are firing
keywords:
- grafana
- alerting
- Opsgenie
- integration
labels:
products:
- cloud
- enterprise
- oss
menuTitle: Opsgenie
title: Configure Opsgenie for Alerting
weight: 60
---
# Configure Opsgenie for Alerting
Use the Grafana Alerting - Opsgenie integration to receive alert notifications in your Opsgenie alert dashboard when your Grafana alert rules are triggered and resolved.
## Before you begin
Create an API key to enable Grafana to send alert notifications to Opsgenie alert dashboard.
To create an API key in Opsgenie, complete the following steps.
1. Follow the steps in the [API integration guide](https://support.atlassian.com/opsgenie/docs/create-a-default-api-integration/).
Make sure you turn on the integration.
1. Copy the API key.
## Procedure
To create your Opsgenie 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 **Opsgenie**.
1. In the **API key** field, paste in your API key.
1. In the **Alert API URL**, enter `https://api.opsgenie.com/v2/alerts`.
1. Click **Test** to check that your integration works.
A test alert notification is sent to the Alerts page in Opsgenie.
1. Click **Save contact point**.
## Next steps
The Opsgenie contact point is ready to receive alert notifications.
To add this contact point to your alert rule, complete the following steps:
1. In Grafana, navigate to **Alerting** > **Alert rules**.
1. Edit or create a new alert rule.
1. Scroll down to the **Configure labels and notifications** section.
1. Under **Notifications**, click **Select contact point**.
1. From the drop-down menu, select the previously created contact point.
1. Click **Save rule and exit**.

View File

@@ -13,10 +13,16 @@ labels:
- oss
menuTitle: Slack
title: Configure Slack for Alerting
weight: 300
weight: 80
refs:
nested-policy:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/create-notification-policy/#add-new-nested-policy
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/create-notification-policy/#add-new-nested-policy
---
## Configure Slack for Alerting
# Configure Slack for Alerting
Use the Grafana Alerting - Slack integration to send Slack notifications when your alerts are firing.
@@ -76,18 +82,13 @@ To create your Slack integration in Grafana Alerting, complete the following ste
## Next steps
To add the contact point and integration you created to your default notification policy, complete the following steps.
The Slack contact point is ready to receive alert notifications.
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**.
To add this contact point to your alert, complete the following steps.
**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 %}}
1. In Grafana, navigate to **Alerting** > **Alert rules**.
1. Edit or create a new alert rule.
1. Scroll down to the **Configure labels and notifications** section.
1. Under Notifications click **Select contact point**.
1. From the drop-down menu, select the previously created contact point.
1. **Click Save rule and exit**.

View File

@@ -0,0 +1,64 @@
---
canonical: https://grafana.com/docs/grafana/latest/alerting/configure-notifications/manage-contact-points/integrations/configure-teams/
description: Configure Microsoft Teams integration to receive notifications when your alerts are firing
keywords:
- grafana
- alerting
- Microsoft Teams
- integration
labels:
products:
- cloud
- enterprise
- oss
menuTitle: Microsoft Teams
title: Configure Microsoft Teams for Alerting
weight: 50
---
# Configure Microsoft Teams for Alerting
Use the Grafana Alerting - Microsoft Teams integration to receive notifications in your teams channel when your alerts are firing.
## Before you begin
To set up Microsoft Teams for integration with Grafana Alerting, create a new workflow that accepts Webhook requests. This allows Grafana to send alert notifications to Microsoft Teams channels.
### Create a workflow in Microsoft Teams
1. To create a new workflow, follow the steps in [Create flows in Microsoft Teams](https://learn.microsoft.com/en-us/power-automate/teams/teams-app-create).
1. Microsoft provides a template library. You can use the template **Post to a channel when a webhook request is received**.
1. At the end of workflow creation wizard, copy the URL that is provided.
**Note**
If you chose a private channel for the target of the workflow, you need to edit workflow before using it. Expand the step "Send each adaptive card", and then expand action "Post your own adaptive card as the Flow bot to a channel". Change "Post as" to User, and save the workflow.
## Procedure
To create your MS Teams 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 **Microsoft Teams**.
1. In the **URL** field, copy in your Webhook URL.
1. Click **Test** to check that your integration works.
A test alert notification should be sent to the MS Team channel.
1. Click **Save** contact point.
## Next steps
The Microsoft Teams contact point is ready to receive alert notifications.
To add this contact point to your alert, complete the following steps.
1. In Grafana, navigate to **Alerting** > **Alert rules**.
1. Edit or create a new alert rule.
1. Scroll down to the **Configure labels and notifications** section.
1. Under Notifications click **Select contact point**.
1. From the drop-down menu, select the previously created contact point.
1. **Click Save rule and exit**.
## Troubleshooting
- If Grafana reports that notification was sent successfully but it was not delivered to the channel, check the workflow's run history. You can find it in the workflow details page.

View File

@@ -0,0 +1,75 @@
---
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: 90
---
# 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 get a Telegram **bot API token** and a **chat ID** (the ID of the Telegram chat where you want to receive the alert notifications). To complete the integration, use the browser version of Telegram.
### 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. Copy the **chat ID** from the URL in your browser's address bar. It should look like this: `https://web.telegram.org/a/#-4266674385`.
The chat ID is the sequence of numbers that follows the `#` symbol. For example: `-4266674385`.
## 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
The Telegram contact point is ready to receive alert notifications.
To add this contact point to your alert, complete the following steps.
1. In Grafana, navigate to **Alerting** > **Alert rules**.
1. Edit or create a new alert rule.
1. Scroll down to the **Configure labels and notifications** section.
1. Under Notifications click **Select contact point**.
1. From the drop-down menu, select the previously created contact point.
1. **Click Save rule and exit**.

View File

@@ -14,30 +14,62 @@ labels:
- oss
menuTitle: PagerDuty
title: Configure PagerDuty for Alerting
weight: 400
weight: 70
---
# 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.
1. From 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
The PagerDuty contact point is ready to receive alert notifications.
To add this contact point to your alert, complete the following steps.
1. In Grafana, navigate to **Alerting** > **Alert rules**.
1. Edit or create a new alert rule.
1. Scroll down to the **Configure labels and notifications** section.
1. Under Notifications click **Select contact point**.
1. From the drop-down menu, select the previously created contact point.
1. **Click Save rule and exit**.

View File

@@ -21,12 +21,14 @@ labels:
- oss
menuTitle: Webhook notifier
title: Configure the webhook notifier for Alerting
weight: 200
weight: 100
---
### 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. |
The Webhook contact point is ready to receive alert notifications.
To add this contact point to your alert, complete the following steps.
1. In Grafana, navigate to **Alerting** > **Alert rules**.
1. Edit or create a new alert rule.
1. Scroll down to the **Configure labels and notifications** section.
1. Under Notifications, click **Select contact point**.
1. From the drop-down menu, select the previously created contact point.
1. **Click Save rule and exit**.

View File

@@ -19,6 +19,17 @@ labels:
- oss
title: Configure mute timings
weight: 450
refs:
datasources/alertmanager:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/datasources/alertmanager/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/connect-externally-hosted/data-sources/alertmanager/
intro-alertmanager:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/notifications/alertmanager/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/notifications/alertmanager/
---
# Configure mute timings
@@ -27,7 +38,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][intro-alertmanager].
You can configure Grafana managed mute timings as well as mute timings for an [external Alertmanager data source](ref:datasources/alertmanager). For more information, refer to [Alertmanager documentation](ref:intro-alertmanager).
## Mute timings vs silences
@@ -80,11 +91,3 @@ If you want to specify an exact duration, specify all the options. For example,
- Days of the week: `monday`
- Months: `3, 6, 9, 12`
- Days of the month: `1:7`
{{% docs/reference %}}
[datasources/alertmanager]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/datasources/alertmanager"
[datasources/alertmanager]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/connect-externally-hosted/data-sources/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

@@ -15,6 +15,22 @@ labels:
- oss
title: Configure notification messages
weight: 430
refs:
reference:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/template-notifications/reference/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/template-notifications/reference/
use-notification-templates:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/template-notifications/use-notification-templates/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/template-notifications/use-notification-templates/
using-go-templating-language:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/template-notifications/using-go-templating-language/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/template-notifications/using-go-templating-language/
---
# Configure notification messages
@@ -27,39 +43,25 @@ 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.
[Using Go's templating language][using-go-templating-language]
## Learn more
[Using Go's templating language](ref:using-go-templating-language)
Learn how to write the content of your notification templates in Gos templating language.
Create reusable notification templates for your contact points.
[Use notification templates][use-notification-templates]
[Use notification templates](ref:use-notification-templates)
Use notification templates to send notifications to your contact points.
[Reference][reference]
[Reference](ref:reference)
Data that is available when writing templates.
{{% docs/reference %}}
[reference]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/template-notifications/reference"
[reference]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/template-notifications/reference"
[use-notification-templates]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/template-notifications/use-notification-templates"
[use-notification-templates]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/template-notifications/use-notification-templates"
[using-go-templating-language]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/template-notifications/using-go-templating-language"
[using-go-templating-language]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/template-notifications/using-go-templating-language"
{{% /docs/reference %}}

View File

@@ -53,7 +53,7 @@ To create a notification template that contains more than one template:
## Preview notification templates
Preview how your notification templates will look before using them in your contact points, helping you understand the result of the template you are creating as well as enabling you to fix any errors before saving it.
Preview how your notification templates should look before using them in your contact points, helping you understand the result of the template you are creating as well as enabling you to fix any errors before saving it.
**Note:** This feature is only for Grafana Alertmanager.
@@ -65,7 +65,7 @@ To preview your notification templates:
Default data is provided and you can add or edit alert data to it as well as alert instances. You can add alert data directly in the Payload data window itself or click **Select alert instances** or **Add custom alerts**.
1. [Optional] To add alert data from existing alert instances:
1. Optional: To add alert data from existing alert instances:
a. Click **Select alert instances**.
@@ -73,7 +73,7 @@ To preview your notification templates:
c. Click **Confirm** to add the alert instance(s) to the payload.
1. [Optional] To add alert data using the Alert data editor, click **Add custom data:**
1. Optional: To add alert data using the Alert data editor, click **Add custom data:**
a. Add annotations, custom labels and/or set a dashboard or a panel.
@@ -81,7 +81,7 @@ To preview your notification templates:
c. Click **Add alert data**.
d. Click **Refresh preview** to see what your template content will look like and the corresponding payload data.
d. Click **Refresh preview** to see what your template content should look like and the corresponding payload data.
If there are any errors in your template, they are displayed in the Preview and you can correct them before saving.
@@ -162,6 +162,86 @@ Resolved alerts:
{{ template "email.message" . }}
```
## Group multiple alert instances into one email notification
To make alerts more concise, you can group multiple instances of a firing alert into a single email notification in a table format. This way, you avoid long, repetitive emails and make alerts easier to digest.
Follow these steps to create a custom notification template that consolidates alert instances into a table.
1. Modify the alert rule to include an annotation that is referenced in the notification template later on.
1. Enter a name for the **custom annotation**: In this example, _ServerInfo_.
1. Enter the following code as the value for the annotation. It retrieves the server's instance name and a corresponding metric value, formatted as a table row:
```
{{ index $labels "instance" }}{{- "\t" -}}{{ index $values "A"}}{{- "\n" -}}
```
This line of code returns the labels and their values in the form of a table. Assuming $labels has `{"instance": "node1"}` and $values has `{"A": "123"}`, the output would be:
```
node1 123
```
1. Create a notification template that references the _ServerInfo_ annotation.
```go
{{ define "Table" }}
{{- "\nHost\t\tValue\n" -}}
{{ range .Alerts -}}
{{ range .Annotations.SortedPairs -}}
{{ if (eq .Name "ServerInfo") -}}
{{ .Value -}}
{{- end }}
{{- end }}
{{- end }}
{{ end }}
```
The notification template outputs a list of server information from the "ServerInfo" annotation for each alert instance.
1. Navigate to your contact point in Grafana
1. In the **Message** field, reference the template by name (see **Optional Email settings** section):
```
{{ template "Table" . }}
```
This generates a neatly formatted table in the email, grouping information for all affected servers into a single notification.
## Conditional notification template
Template alert notifications based on a label. In this example the label represents a namespace.
1. Use the following code in your notification template to display different messages based on the namespace:
```go
{{ define "my_conditional_notification" }}
{{ if eq .CommonLabels.namespace "namespace-a" }}
Alert: CPU limits have reached 80% in namespace-a.
{{ else if eq .CommonLabels.namespace "namespace-b" }}
Alert: CPU limits have reached 80% in namespace-b.
{{ else if eq .CommonLabels.namespace "namespace-c" }}
Alert: CPU limits have reached 80% in namespace-c.
{{ else }}
Alert: CPU limits have reached 80% for {{ .CommonLabels.namespace }} namespace.
{{ end }}
{{ end }}
```
`.CommonLabels` is a map containing the labels that are common to all the alerts firing.
Make sure to replace the `.namespace` label with a label that exists in your alert rule.
1. Replace `namespace-a`, `namespace-b`, and `namespace-c` with your specific namespace values.
1. Navigate to your contact point in Grafana
1. In the **Message** field, reference the template by name (see **Optional settings** section):
```
{{ template "my_conditional_notification" . }}
```
This template alters the content of alert notifications depending on the namespace value.
## Template the title of a Slack message
Template the title of a Slack message to contain the number of firing and resolved alerts:

View File

@@ -16,6 +16,17 @@ labels:
- oss
title: Use notification templates
weight: 300
refs:
create-notification-templates:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/template-notifications/create-notification-templates/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/template-notifications/create-notification-templates/
using-go-templating-language:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/template-notifications/using-go-templating-language/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/template-notifications/using-go-templating-language/
---
# Use notification templates
@@ -32,14 +43,6 @@ In the Contact points tab, you can see a list of your contact points.
{{< figure max-width="940px" src="/static/img/docs/alerting/unified/use-notification-template-9-4.png" caption="Use notification template" >}}
For more information on how to write and execute templates, refer to [Using Go's templating language][using-go-templating-language] and [Create notification templates][create-notification-templates].
For more information on how to write and execute templates, refer to [Using Go's templating language](ref:using-go-templating-language) and [Create notification templates](ref:create-notification-templates).
1. Click **Save contact point**.
{{% docs/reference %}}
[create-notification-templates]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/template-notifications/create-notification-templates"
[create-notification-templates]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/template-notifications/create-notification-templates"
[using-go-templating-language]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/template-notifications/using-go-templating-language"
[using-go-templating-language]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/template-notifications/using-go-templating-language"
{{% /docs/reference %}}

View File

@@ -16,6 +16,22 @@ labels:
- oss
title: Using Go's templating language
weight: 100
refs:
reference:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/template-notifications/reference/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/template-notifications/reference/
extendeddata:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/template-notifications/reference/#extendeddata
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/template-notifications/reference/#extendeddata
create-notification-templates:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/template-notifications/create-notification-templates/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/template-notifications/create-notification-templates/
---
# Using Go's templating language
@@ -26,7 +42,7 @@ Before you start creating your own notification templates, we recommend that you
## Dot
In text/template there is a special cursor called dot, and is written as `.`. You can think of this cursor as a variable whose value changes depending where in the template it is used. For example, at the start of a notification template `.` refers to something called [`ExtendedData`][extendeddata] which contains a number of fields including `Alerts`, `Status`, `GroupLabels`, `CommonLabels`, `CommonAnnotations` and `ExternalURL`. However, dot might refer to something else when used in a range over a list, when used inside a `with`, or when writing feature templates to be used in other templates. You can see examples of this in [Create notification templates][create-notification-templates], and all data and functions in the [Reference][reference].
In text/template there is a special cursor called dot, and is written as `.`. You can think of this cursor as a variable whose value changes depending where in the template it is used. For example, at the start of a notification template `.` refers to something called [`ExtendedData`](ref:extendeddata) which contains a number of fields including `Alerts`, `Status`, `GroupLabels`, `CommonLabels`, `CommonAnnotations` and `ExternalURL`. However, dot might refer to something else when used in a range over a list, when used inside a `with`, or when writing feature templates to be used in other templates. You can see examples of this in [Create notification templates](ref:create-notification-templates), and all data and functions in the [Reference](ref:reference).
## Opening and closing tags
@@ -280,14 +296,3 @@ The indentation and line breaks in the template are now absent from the text:
alertname = "Test"
grafana_folder = "Test alerts"
```
{{% docs/reference %}}
[create-notification-templates]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/template-notifications/create-notification-templates"
[create-notification-templates]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/template-notifications/create-notification-templates"
[extendeddata]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/template-notifications/reference#extendeddata"
[extendeddata]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/template-notifications/reference#extendeddata"
[reference]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/template-notifications/reference"
[reference]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/template-notifications/reference"
{{% /docs/reference %}}

View File

@@ -12,12 +12,57 @@ labels:
menuTitle: Introduction
title: Introduction to Alerting
weight: 100
refs:
alert-rules:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/
mute-timings:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/mute-timings/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/mute-timings/
external-alertmanagers:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/configure-alertmanager/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/configure-alertmanager/
notification-policies:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/notifications/notification-policies/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/notifications/notification-policies/
silences:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/create-silence/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/create-silence/
alert-rule-evaluation:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules/rule-evaluation/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/rule-evaluation/
alertmanager:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/notifications/alertmanager/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/notifications/alertmanager/
contact-points:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/notifications/contact-points/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/notifications/contact-points/
---
# Introduction to Alerting
Whether youre just starting out or you're a more experienced user of Grafana Alerting, learn more about the fundamentals and available features that help you create, manage, and respond to alerts; and improve your teams ability to resolve issues quickly.
{{< admonition type="tip" >}}
For a hands-on introduction, refer to our [tutorial to get started with Grafana Alerting](http://grafana.com/tutorials/alerting-get-started/).
{{< /admonition >}}
The following diagram gives you an overview of Grafana Alerting and introduces you to some of the fundamental features that are the principles of how Grafana Alerting works.
{{< figure src="/media/docs/alerting/how-alerting-works.png" max-width="750px" caption="How Alerting works" >}}
@@ -35,7 +80,7 @@ The following concepts are key to your understanding of how Grafana Alerting wor
### Alert rules
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.
An [alert rule](ref: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 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.
@@ -55,11 +100,11 @@ A rule using the PromQL expression above creates as many alert instances as the
{{< 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.
[Alert rules are frequently evaluated](ref: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][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](ref:notification-policies) group alerts and then route them to contact points. They determine when notifications are sent, and how often notifications should be repeated.
Alert instances are matched to notification policies using label matchers. This provides a flexible way to organize and route alerts to different receivers.
@@ -69,13 +114,13 @@ Each policy consists of a set of label matchers (0 or more) that specify which a
### 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.
[Contact points](ref: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][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.
[Silences](ref:silences) and [mute timings](ref: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.
### Architecture
@@ -88,7 +133,7 @@ Prometheus-based alerting systems have two main components:
Grafana doesnt use Prometheus as its default alert generator because Grafana Alerting needs to work with many other data sources in addition to Prometheus.
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].
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](ref:alert-rules).
## Design your Alerting system
@@ -121,29 +166,3 @@ Here are some tips on how to create an effective alert management set up for you
- Continually tune your alert rules to review effectiveness. Remove alert rules to avoid duplication or ineffective alerts.
- Think carefully about priority and severity levels.
- Continually review your thresholds and evaluation rules.
{{% 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/notifications/notification-policies"
[notification-policies]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/notifications/notification-policies"
{{% /docs/reference %}}

View File

@@ -17,6 +17,40 @@ labels:
- oss
title: Alert rules
weight: 100
refs:
alert-rule-evaluation:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules/rule-evaluation/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/rule-evaluation/
recorded-queries:
- pattern: /docs/
destination: /docs/grafana/<GRAFANA_VERSION>/administration/recorded-queries/
queries-and-conditions:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules/queries-conditions/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/queries-conditions/
notification-images:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/template-notifications/images-in-notifications/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/template-notifications/images-in-notifications/
create-recording-rules:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/alerting-rules/create-mimir-loki-managed-recording-rule/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/alerting-rules/create-mimir-loki-managed-recording-rule/
expression-queries:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules/queries-conditions/#expression-queries
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/queries-conditions/#expression-queries
alert-manager:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/notifications/alertmanager/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/notifications/alertmanager/
---
# Alert rules
@@ -25,7 +59,7 @@ An alert rule is a set of evaluation criteria for when an alert rule should fire
- 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.
- An interval that specifies the frequency of [alert rule evaluation](ref: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.
Grafana supports two different alert rule types: Grafana-managed alert rules and data source-managed alert rules.
@@ -34,7 +68,7 @@ Grafana supports two different alert rule types: Grafana-managed alert rules and
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].
Additionally, you can also add [expressions to transform your data](ref:expression-queries), set custom alert conditions, and include [images in alert notifications](ref:notification-images).
{{< figure src="/media/docs/alerting/grafana-managed-alerting-architecture.png" max-width="750px" caption="How Grafana-managed alerting works by default" >}}
@@ -42,7 +76,7 @@ Additionally, you can also add [expressions to transform your data][expression-q
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.
1. Firing and resolved alert instances are delivered to the internal Grafana [Alertmanager](ref:alert-manager) which handles notifications.
### Supported data sources
@@ -64,15 +98,15 @@ They are only supported for Prometheus-based or Loki data sources with the Ruler
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.
1. Firing and resolved alert instances are delivered to the configured [Alertmanager](ref: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].
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](ref:create-recording-rules).
Alternatively, Grafana Enterprise and Grafana Cloud offer [recorded queries][recorded-queries] that can be executed against any data source.
Alternatively, Grafana Enterprise and Grafana Cloud offer [recorded queries](ref:recorded-queries) that can be executed against any data source.
## Comparison between alert rule types
@@ -87,27 +121,3 @@ When choosing which alert rule type to use, consider the following comparison be
| 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-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"
[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"
{{% /docs/reference %}}

View File

@@ -20,6 +20,12 @@ labels:
- oss
title: Labels and annotations
weight: 105
refs:
variables-label-annotation:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/alerting-rules/templating-labels-annotations/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/alerting-rules/templating-labels-annotations/
---
# Labels and annotations
@@ -136,8 +142,3 @@ Labels prefixed with `grafana_` are reserved by Grafana for special use. To stop
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

@@ -16,13 +16,24 @@ labels:
- oss
title: Queries and conditions
weight: 104
refs:
query-transform-data:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/query-transform-data/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/visualizations/panels-visualizations/query-transform-data/
data-source-alerting:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules/#supported-data-sources
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/#supported-data-sources
---
# Queries and conditions
In Grafana, queries play a vital role in fetching and transforming data from supported data sources, which include databases like MySQL and PostgreSQL, time series databases like Prometheus, InfluxDB and Graphite, and services like Elasticsearch, AWS CloudWatch, Azure Monitor and Google Cloud Monitoring.
For more information on supported data sources, see [Data sources][data-source-alerting].
For more information on supported data sources, see [Data sources](ref:data-source-alerting).
The process of executing a query involves defining the data source, specifying the desired data to retrieve, and applying relevant filters or transformations. Query languages or syntaxes specific to the chosen data source are utilized for constructing these queries.
@@ -30,7 +41,7 @@ In Alerting, you define a query to get the data you want to measure and a condit
An alert rule consists of one or more queries and expressions that select the data you want to measure.
For more information on queries and expressions, see [Query and transform data][query-transform-data].
For more information on queries and expressions, see [Query and transform data](ref:query-transform-data).
## Data source queries
@@ -211,11 +222,3 @@ When this query is used as the **condition** in an alert rule, then the non-zero
| {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/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"
{{% /docs/reference %}}

View File

@@ -44,16 +44,16 @@ Imagine you have an alert rule evaluation interval set at every 30 seconds and t
Evaluation will occur as follows:
[00:30] First evaluation - condition not met.
[00:30][] First evaluation - condition not met.
[01:00] Second evaluation - condition breached.
[01:00][] Second evaluation - condition breached.
Pending counter starts. **Alert starts pending.**
[01:30] Third evaluation - condition breached. Pending counter = 30s. **Pending state.**
[01:30][] Third evaluation - condition breached. Pending counter = 30s. **Pending state.**
[02:00] Fourth evaluation - condition breached. Pending counter = 60s **Pending state.**
[02:00][] Fourth evaluation - condition breached. Pending counter = 60s **Pending state.**
[02:30] Fifth evaluation - condition breached. Pending counter = 90s. **Alert starts firing**
[02:30][] Fifth evaluation - condition breached. Pending counter = 90s. **Alert starts firing**
If the alert rule has a condition that needs to be in breach for a certain amount of time before it takes action, then its state changes as follows:

View File

@@ -3,7 +3,7 @@ aliases:
- ../../fundamentals/alertmanager/ # /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alertmanager/
- ../../unified-alerting/fundamentals/alertmanager/ # /docs/grafana/<GRAFANA_VERSION>/alerting/unified-alerting/fundamentals/alertmanager/
- ../../manage-notifications/alertmanager/ # /docs/grafana/<GRAFANA_VERSION>/alerting/manage-notifications/alertmanager/
canonical: https://grafana.com/docs/grafana/latest/alerting/notifications/alertmanager/
canonical: https://grafana.com/docs/grafana/latest/alerting/fundamentals/notifications/alertmanager/
description: Learn about Alertmanagers and the Alertmanager options for Grafana Alerting
labels:
products:
@@ -12,6 +12,12 @@ labels:
- oss
title: Alertmanager
weight: 111
refs:
configure-alertmanager:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/configure-alertmanager/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/configure-alertmanager/
---
# Alertmanager
@@ -34,13 +40,8 @@ In Grafana, you can use the Cloud Alertmanager, Grafana Alertmanager, or an exte
- **External Alertmanager** can receive all your Grafana, Loki, Mimir, and Prometheus alerts. External Alertmanagers can be configured and administered from within Grafana itself.
Here are two examples of when you may want to [add your own external alertmanager][configure-alertmanager] and send your alerts there instead of the Grafana Alertmanager:
Here are two examples of when you may want to [add your own external alertmanager](ref:configure-alertmanager) and send your alerts there instead of the Grafana Alertmanager:
1. You may already have Alertmanagers on-premises in your own Cloud infrastructure that you have set up and still want to use, because you have other alert generators, such as Prometheus.
2. You want to use both Prometheus on-premises and hosted Grafana to send alerts to the same Alertmanager that runs in your Cloud infrastructure.
{{% docs/reference %}}
[configure-alertmanager]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/configure-alertmanager"
[configure-alertmanager]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/configure-alertmanager"
{{% /docs/reference %}}

View File

@@ -17,6 +17,12 @@ labels:
- oss
title: Notification policies
weight: 113
refs:
labels-and-label-matchers:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules/annotation-label/#how-label-matching-works
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/annotation-label/#how-label-matching-works
---
# Notification policies
@@ -31,7 +37,7 @@ Notification policies are _not_ a list, but rather are structured according to a
Each policy consists of a set of label matchers (0 or more) that specify which labels they are or aren't interested in handling.
For more information on label matching, see [how label matching works][labels-and-label-matchers].
For more information on label matching, see [how label matching works](ref:labels-and-label-matchers).
{{% admonition type="note" %}}
If you haven't configured any label matchers for your notification policy, your notification policy will match _all_ alert instances. This may prevent child policies from being evaluated unless you have enabled **Continue matching siblings** on the notification policy.
@@ -49,8 +55,12 @@ If a notification policy has label matchers that match the labels of the alert i
If no child policies are defined in a notification policy or if none of the child policies have any label matchers that match the alert instance's labels, the default notification policy is used.
{{% admonition type="note" %}}
As soon as a matching policy is found, the system does not continue to look for other matching policies. If you want to continue to look for other policies that may match, enable **Continue matching siblings** on that particular policy.
If alerts use multiple labels, these labels must also be present in a notification policy to match and route notifications to a specific contact point.
{{% /admonition %}}
Lastly, if none of the notification policies are selected the default notification policy is used.
### Routing example
@@ -67,6 +77,10 @@ The `team=security` policy is not evaluated since we already found a match and *
**Disk Usage 80%** has both a `team` and `severity` label, and matches a child policy of the operations team.
{{% admonition type="note" %}}
When an alert matches both a parent policy and a child policy (like it does in this case), the routing follows the child policy (`severity`) as it provides a more specific match.
{{% /admonition %}}
**Unauthorized log entry** has a `team` label but does not match the first policy (`team=operations`) since the values are not the same, so it will continue searching and match the `team=security` policy. It does not have any child policies, so the additional `severity=high` label is ignored.
## Inheritance
@@ -129,8 +143,3 @@ Once the first notification has been sent for a new group of alerts, Grafana sta
Repeat interval decides how often notifications are repeated if the group has not changed since the last notification. You can think of these as reminders that some alerts are still firing. Repeat interval is closely related to Group interval, which means your Repeat interval must not only be greater than or equal to Group interval, but also must be a multiple of Group interval. If Repeat interval is not a multiple of Group interval it will be coerced into one. For example, if your Group interval is 5 minutes, and your Repeat interval is 9 minutes, the Repeat interval will be rounded up to the nearest multiple of 5 which is 10 minutes.
**Default** 4 hours
{{% docs/reference %}}
[labels-and-label-matchers]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules/annotation-label#how-label-matching-works"
[labels-and-label-matchers]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/annotation-label#how-label-matching-works"
{{% /docs/reference %}}

View File

@@ -0,0 +1,164 @@
---
aliases:
- ../../contact-points/message-templating/ # /docs/grafana/<GRAFANA_VERSION>/alerting/contact-points/message-templating/
- ../../alert-rules/message-templating/ # /docs/grafana/<GRAFANA_VERSION>/alerting/alert-rules/message-templating/
- ../../unified-alerting/message-templating/ # /docs/grafana/<GRAFANA_VERSION>/alerting/unified-alerting/message-templating/
canonical: https://grafana.com/docs/grafana/latest/alerting/fundamentals/notifications/templates/
description: Learn about templates
keywords:
- grafana
- alerting
- guide
- contact point
- templating
labels:
products:
- cloud
- enterprise
- oss
title: Templates
weight: 115
refs:
variables-label-annotation:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/alerting-rules/templating-labels-annotations/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/alerting-rules/templating-labels-annotations/
---
# Templates
Use templating to customize, format, and reuse alert notification messages. Create more flexible and informative alert notification messages by incorporating dynamic content, such as metric values, labels, and other contextual information.
In Grafana, there are two ways to template your alert notification messages:
1. Labels and annotations
- Template labels and annotations in alert rules.
- 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.
2. Notification templates
- Template notifications in contact points.
- Add notification templates to contact points for reuse and consistent messaging in your notifications.
- Use notification templates to change the title, message, and format of the message in your notifications.
This diagram illustrates the entire process of templating, from the creation of labels and annotations in alert rules or notification templates in contact points, to what they look like when exported and applied in your alert notification messages.
{{< figure src="/media/docs/alerting/grafana-templating-diagram-2.jpg" max-width="1200px" caption="How Templating works" >}}
In this diagram:
- **Monitored Application**: A web server, database, or any other service generating metrics. For example, it could be an NGINX server providing metrics about request rates, response times, and so on.
- **Prometheus**: Prometheus collects metrics from the monitored application. For example, it might scrape metrics from the NGINX server, including labels like instance (the server hostname) and job (the service name).
- **Grafana**: Grafana queries Prometheus to retrieve metrics data. For example, you might create an alert rule to monitor NGINX request rates over time, and template labels or annotations based on the instance label.
- **Alertmanager**: Part of the Prometheus ecosystem, Alertmanager handles alert notifications. For example, if the request rate exceeds a certain threshold on a particular NGINX server, Alertmanager can send an alert notification to, for example, Slack or email, including the server name and the exceeded threshold (the instance label will be interpolated, and the actual server name will appear in the alert notification).
- **Alert notification**: When an alert rule condition is met, Alertmanager sends a notification to various channels such as Slack, Grafana OnCall, etc. These notifications can include information from the labels associated with the alerting rule. For example, if an alert triggers due to high CPU usage on a specific server, the notification message can include details like server name (instance label), disk usage percentage, and the threshold that was exceeded.
## 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.
### Template labels
Label templates are applied in the alert rule itself (i.e. in the Configure labels and notifications section of an alert).
{{<admonition type="note">}}
Think about templating labels when you need to improve or change how alerts are uniquely identified. This is especially helpful if the labels you get from your query aren't detailed enough. Keep in mind that it's better to keep long sentences for summaries and descriptions. Also, avoid using the query's value in labels because it may result in the creation of many alerts when you actually only need one.
{{</admonition>}}
Templating can be applied by using variables and functions. These variables can represent dynamic values retrieved from your data queries.
{{<admonition type="note">}}
In Grafana templating, the $ and . symbols are used to reference variables and their properties. You can reference variables directly in your alert rule definitions using the $ symbol followed by the variable name. Similarly, you can access properties of variables using the dot (.) notation within alert rule definitions.
{{</admonition>}}
Here are some commonly used built-in [variables](ref:variables-label-annotation) to interact with the name and value of labels in Grafana alerting:
- The `$labels` variable, which contains all labels from the query.
For example, let's say you have an alert rule that triggers when the CPU usage exceeds a certain threshold. You want to create annotations that provide additional context when this alert is triggered, such as including the specific server that experienced the high CPU usage.
The host {{ index $labels "instance" }} has exceeded 80% CPU usage for the last 5 minutes
The outcome of this template would print:
The host instance 1 has exceeded 80% CPU usage for the last 5 minutes
- The `$value` variable, which is a string containing the labels and values of all instant queries; threshold, reduce and math expressions, and classic conditions in the alert rule.
In the context of the previous example, $value variable would write something like this:
CPU usage for {{ index $labels "instance" }} has exceeded 80% for the last 5 minutes: {{ $value }}
The outcome of this template would print:
CPU usage for instance1 has exceeded 80% for the last 5 minutes: [ var='A' labels={instance=instance1} value=81.234 ]
- The `$values` variable is a table containing the labels and floating point values of all instant queries and expressions, indexed by their Ref IDs (i.e. the id that identifies the query or expression. By default the Red ID of the query is “A”).
Given an alert with the labels instance=server1 and an instant query with the value 81.2345, would write like this:
CPU usage for {{ index $labels "instance" }} has exceeded 80% for the last 5 minutes: {{ index $values "A" }}
And it would print:
CPU usage for instance1 has exceeded 80% for the last 5 minutes: 81.2345
{{% admonition type="caution" %}}
Extra whitespace in label templates can break matches with notification policies.
{{% /admonition %}}
### Template 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 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.
Here is an example of templating an annotation in the context of an alert rule. The text/template is added into the Add annotations section.
CPU usage for {{ index $labels "instance" }} has exceeded 80% for the last 5 minutes
The outcome of this template would print
CPU usage for Instance 1 has exceeded 80% for the last 5 minutes
### Template notifications
Notification templates represent the alternative approach to templating designed for reusing templates. Notifications are messages to inform users about events or conditions triggered by alerts. You can create reusable notification templates to customize the content and format of alert notifications. Variables, labels, or other context-specific details can be added to the templates to dynamically insert information like metric values.
Here is an example of a notification template:
```go
{ define "alerts.message" -}}
{{ if .Alerts.Firing -}}
{{ len .Alerts.Firing }} firing alert(s)
{{ template "alerts.summarize" .Alerts.Firing }}
{{- end }}
{{- if .Alerts.Resolved -}}
{{ len .Alerts.Resolved }} resolved alert(s)
{{ template "alerts.summarize" .Alerts.Resolved }}
{{- end }}
{{- end }}
{{ define "alerts.summarize" -}}
{{ range . -}}
- {{ index .Annotations "summary" }}
{{ end }}
{{ end }}
```
This is the message you would receive in your contact point:
1 firing alert(s)
- The database server db1 has exceeded 75% of available disk space. Disk space used is 76%, please resize the disk size within the next 24 hours
1 resolved alert(s)
- The web server web1 has been responding to 5% of HTTP requests with 5xx errors for the last 5 minutes
Once the template is created, you need to make reference to it in your **Contact point** (in the Optional `[contact point]` settings) .
{{<admonition type="note">}}
It's not recommended to include individual alert information within notification templates. Instead, it's more effective to incorporate such details within the rule using labels and annotations.
{{</admonition>}}

View File

@@ -29,9 +29,9 @@ Identify which metrics are critical to your monitoring system (i.e. Grafana) and
You can use meta-monitoring metrics to understand the health of your alerting system in the following ways:
1. [Optional] Create a dashboard in Grafana that uses this metric in a panel (just like you would for any other kind of metric).
2. [Optional] Create an alert rule in Grafana that checks this metric regularly (just like you would do for any other kind of alert rule).
3. [Optional] Use the Explore module in Grafana.
1. Optional: Create a dashboard in Grafana that uses this metric in a panel (just like you would for any other kind of metric).
2. Optional: Create an alert rule in Grafana that checks this metric regularly (just like you would do for any other kind of alert rule).
3. Optional: Use the Explore module in Grafana.
## Metrics for Grafana-managed alerts

View File

@@ -9,6 +9,33 @@ labels:
menuTitle: Set up
title: Set up Alerting
weight: 110
refs:
terraform-provisioning:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/terraform-provisioning/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/terraform-provisioning/
file-provisioning:
- pattern: /docs/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/file-provisioning/
data-source-management:
- pattern: /docs/
destination: /docs/grafana/<GRAFANA_VERSION>/administration/data-source-management/
data-source-alerting:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/fundamentals/alert-rules/#supported-data-sources
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/#supported-data-sources
configure-alertmanager:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/configure-alertmanager/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/configure-alertmanager/
configure-high-availability:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/configure-high-availability/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/configure-high-availability/
---
# Set up Alerting
@@ -21,8 +48,12 @@ These are set-up instructions for Grafana Alerting Open Source.
## Before you begin
- Configure your [data sources][data-source-management]
- Check which data sources are compatible with and supported by [Grafana Alerting][data-source-alerting]
- Configure your [data sources](ref:data-source-management)
- Check which data sources are compatible with and supported by [Grafana Alerting](ref:data-source-alerting)
Watch this short video to get started, or follow the [written tutorial](http://grafana.com/tutorials/alerting-get-started/).
{{< youtube id="6W8Nu4b_PXM" >}}
## Set up Alerting
@@ -36,17 +67,17 @@ To set up Alerting, you need to:
- Check the default contact point and update the email address
- [Optional] Add new contact points and integrations
- Optional: Add new contact points and integrations
1. Configure notification policies
- Check the default notification policy
- [Optional] Add additional nested policies
- Optional: Add additional nested policies
- [Optional] Add labels and label matchers to control alert routing
- Optional: Add labels and label matchers to control alert routing
1. [Optional] Integrate with [Grafana OnCall](/docs/oncall/latest/integrations/grafana-alerting)
1. Optional: Integrate with [Grafana OnCall](/docs/oncall/latest/integrations/grafana-alerting)
## Advanced set up options
@@ -54,25 +85,7 @@ Grafana Alerting supports many additional configuration options, from configurin
The following topics provide you with advanced configuration options for Grafana Alerting.
- [Provision alert rules using file provisioning][file-provisioning]
- [Provision alert rules using Terraform][terraform-provisioning]
- [Add an external Alertmanager][configure-alertmanager]
- [Configure high availability][configure-high-availability]
{{% docs/reference %}}
[configure-alertmanager]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/configure-alertmanager"
[configure-alertmanager]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/configure-alertmanager"
[configure-high-availability]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/configure-high-availability"
[configure-high-availability]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/configure-high-availability"
[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"
[data-source-management]: "/docs/ -> /docs/grafana/<GRAFANA_VERSION>/administration/data-source-management"
[file-provisioning]: "/docs/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/file-provisioning"
[terraform-provisioning]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/terraform-provisioning"
[terraform-provisioning]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/terraform-provisioning"
{{% /docs/reference %}}
- [Provision alert rules using file provisioning](ref:file-provisioning)
- [Provision alert rules using Terraform](ref:terraform-provisioning)
- [Add an external Alertmanager](ref:configure-alertmanager)
- [Configure high availability](ref:configure-high-availability)

View File

@@ -62,10 +62,10 @@ As an alternative to Memberlist, you can use Redis for high availability. This i
database for HA and cannot support the meshing of all Grafana servers.
1. Make sure you have a redis server that supports pub/sub. If you use a proxy in front of your redis cluster, make sure the proxy supports pub/sub.
1. In your custom configuration file ($WORKING_DIR/conf/custom.ini), go to the [unified_alerting] section.
1. In your custom configuration file ($WORKING_DIR/conf/custom.ini), go to the `[unified_alerting]` section.
1. Set `ha_redis_address` to the redis server address Grafana should connect to.
1. [Optional] Set the username and password if authentication is enabled on the redis server using `ha_redis_username` and `ha_redis_password`.
1. [Optional] Set `ha_redis_prefix` to something unique if you plan to share the redis server with multiple Grafana instances.
1. Optional: Set the username and password if authentication is enabled on the redis server using `ha_redis_username` and `ha_redis_password`.
1. Optional: Set `ha_redis_prefix` to something unique if you plan to share the redis server with multiple Grafana instances.
The following metrics can be used for meta monitoring, exposed by Grafana's `/metrics` endpoint:

View File

@@ -14,6 +14,33 @@ labels:
- oss
title: Provision Alerting resources
weight: 300
refs:
alerting_export:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/export-alerting-resources/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/export-alerting-resources/
alerting_tf_provisioning:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/terraform-provisioning/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/terraform-provisioning/
provisioning:
- pattern: /docs/
destination: /docs/grafana/<GRAFANA_VERSION>/administration/provisioning/
alerting_file_provisioning:
- pattern: /docs/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/file-provisioning/
alerting_http_provisioning:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/http-api-provisioning/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/http-api-provisioning/
alerting_export_http:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/export-alerting-resources/#export-api-endpoints
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/export-alerting-resources/#export-api-endpoints
---
# Provision Alerting resources
@@ -28,7 +55,7 @@ You cannot edit imported alerting resources in the Grafana UI in the same way as
Choose from the options below to import (or provision) your Grafana Alerting resources.
1. [Use configuration files to provision your alerting resources][alerting_file_provisioning], such as alert rules and contact points, through files on disk.
1. [Use configuration files to provision your alerting resources](ref:alerting_file_provisioning), such as alert rules and contact points, through files on disk.
{{< admonition type="note" >}}
@@ -36,11 +63,16 @@ Choose from the options below to import (or provision) your Grafana Alerting res
- Provisioning with configuration files is not available in Grafana Cloud.
{{< /admonition >}}
1. Use [Terraform to provision alerting resources][alerting_tf_provisioning].
1. Use [Terraform to provision alerting resources](ref:alerting_tf_provisioning).
1. Use the [Alerting provisioning HTTP API][alerting_http_provisioning] to manage alerting resources.
1. Use the [Alerting provisioning HTTP API](ref:alerting_http_provisioning) to manage alerting resources.
{{< admonition type="note" >}}
The Alerting provisioning HTTP API can be used to create, modify, and delete resources for Grafana-managed alerts.
To manage resources related to data source-managed alerts, including recording rules, use the Mimir or Cortex tool.
The JSON output from the majority of Alerting HTTP endpoints isn't compatible for provisioning via configuration files.
If you need the alerting resources for file provisioning, use [Export Alerting endpoints](/docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/export-alerting-resources#export-api-endpoints) to return or download them in provisioning format.
@@ -50,7 +82,7 @@ Choose from the options below to import (or provision) your Grafana Alerting res
You can export both manually created and provisioned alerting resources. You can also edit and export an alert rule without applying the changes.
For detailed instructions on the various export options, refer to [Export alerting resources][alerting_export].
For detailed instructions on the various export options, refer to [Export alerting resources](ref:alerting_export).
## View provisioned alerting resources
@@ -61,19 +93,3 @@ To view your provisioned resources in Grafana, complete the following steps.
1. Click an alerting resource folder, for example, Alert rules.
Provisioned resources are labeled **Provisioned**, so that it is clear that they were not created manually.
{{% docs/reference %}}
[alerting_tf_provisioning]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/terraform-provisioning"
[alerting_tf_provisioning]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/terraform-provisioning"
[alerting_http_provisioning]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/http-api-provisioning"
[alerting_http_provisioning]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/http-api-provisioning"
[alerting_export]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/export-alerting-resources"
[alerting_export]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/export-alerting-resources"
[alerting_export_http]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/export-alerting-resources#export-api-endpoints"
[alerting_export_http]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/export-alerting-resources#export-api-endpoints"
[alerting_file_provisioning]: "/docs/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/file-provisioning"
[provisioning]: "/docs/ -> /docs/grafana/<GRAFANA_VERSION>/administration/provisioning"
{{% /docs/reference %}}

View File

@@ -15,6 +15,88 @@ labels:
- oss
title: Export alerting resources
weight: 300
refs:
alerting_http_provisioning:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/http-api-provisioning/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/http-api-provisioning/
export_rule_group:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/http-api-provisioning/#span-idroute-get-alert-rule-group-exportspan-export-an-alert-rule-group-in-provisioning-file-format-_routegetalertrulegroupexport_
- pattern: /docs/grafana-cloud/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/http-api-provisioning/#span-idroute-get-alert-rule-group-exportspan-export-an-alert-rule-group-in-provisioning-file-format-_routegetalertrulegroupexport_
export_mute_timing:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/http-api-provisioning/#span-idroute-get-mute-timing-exportspan-export-a-mute-timing-in-provisioning-file-format-_routegetmutetimingexport_
- pattern: /docs/grafana-cloud/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/http-api-provisioning/#span-idroute-get-mute-timing-exportspan-export-a-mute-timing-in-provisioning-file-format-_routegetmutetimingexport_
alerting_file_provisioning:
- pattern: /docs/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/file-provisioning/
alerting_file_provisioning_template:
- pattern: /docs/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/file-provisioning/#import-templates
alerting_http_alertrules:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/http-api-provisioning/#alert-rules
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/http-api-provisioning/#alert-rules
alerting_tf_provisioning_template:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/terraform-provisioning/#import-contact-points-and-templates
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/terraform-provisioning/#import-contact-points-and-templates
alerting_tf_provisioning:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/terraform-provisioning/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/terraform-provisioning/
export_contacts:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/http-api-provisioning/#span-idroute-get-contactpoints-exportspan-export-all-contact-points-in-provisioning-file-format-_routegetcontactpointsexport_
- pattern: /docs/grafana-cloud/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/http-api-provisioning/#span-idroute-get-contactpoints-exportspan-export-all-contact-points-in-provisioning-file-format-_routegetcontactpointsexport_
alerting_http_notificationpolicies:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/http-api-provisioning/#notification-policies
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/http-api-provisioning/#notification-policies
alerting_http_mutetimings:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/http-api-provisioning/#mute-timings
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/http-api-provisioning/#mute-timings
export_rules:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/http-api-provisioning/#span-idroute-get-alert-rules-exportspan-export-all-alert-rules-in-provisioning-file-format-_routegetalertrulesexport_
- pattern: /docs/grafana-cloud/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/http-api-provisioning/#span-idroute-get-alert-rules-exportspan-export-all-alert-rules-in-provisioning-file-format-_routegetalertrulesexport_
alerting_http_templates:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/http-api-provisioning/#templates
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/http-api-provisioning/#templates
export_mute_timings:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/http-api-provisioning/#span-idroute-get-mute-timings-exportspan-export-all-mute-timings-in-provisioning-file-format-_routegetmutetimingsexport_
- pattern: /docs/grafana-cloud/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/http-api-provisioning/#span-idroute-get-mute-timings-exportspan-export-all-mute-timings-in-provisioning-file-format-_routegetmutetimingsexport_
export_rule:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/http-api-provisioning/#span-idroute-get-alert-rule-exportspan-export-an-alert-rule-in-provisioning-file-format-_routegetalertruleexport_
- pattern: /docs/grafana-cloud/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/http-api-provisioning/#span-idroute-get-alert-rule-exportspan-export-an-alert-rule-in-provisioning-file-format-_routegetalertruleexport_
export_notifications:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/http-api-provisioning/#span-idroute-get-policy-tree-exportspan-export-the-notification-policy-tree-in-provisioning-file-format-_routegetpolicytreeexport_
- pattern: /docs/grafana-cloud/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/http-api-provisioning/#span-idroute-get-policy-tree-exportspan-export-the-notification-policy-tree-in-provisioning-file-format-_routegetpolicytreeexport_
alerting_http_contactpoints:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/http-api-provisioning/#contact-points
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/http-api-provisioning/#contact-points
---
# Export alerting resources
@@ -35,7 +117,7 @@ If you need to modify provisioned alerting resources in Grafana, refer to [edit
## Export from the Grafana UI
The export options listed below enable you to download resources in YAML, JSON, or Terraform format, facilitating their provisioning through [configuration files][alerting_file_provisioning] or [Terraform][alerting_tf_provisioning].
The export options listed below enable you to download resources in YAML, JSON, or Terraform format, facilitating their provisioning through [configuration files](ref:alerting_file_provisioning) or [Terraform](ref:alerting_tf_provisioning).
### Export alert rules
@@ -92,7 +174,7 @@ However, you can export it by manually copying the content template and title di
1. Click **Alerts & IRM** -> **Contact points** -> **Notification templates** tab.
1. Find the template you want to export.
1. Copy the content and title.
1. Adjust it for the [file provisioning format][alerting_file_provisioning_template] or [Terraform resource][alerting_tf_provisioning_template].
1. Adjust it for the [file provisioning format](ref:alerting_file_provisioning_template) or [Terraform resource](ref:alerting_tf_provisioning_template).
### Export the notification policy tree
@@ -128,86 +210,35 @@ To export mute timings from the Grafana UI, complete the following steps.
## HTTP Alerting API
You can use the [Alerting HTTP API][alerting_http_provisioning] to return existing alerting resources in JSON and import them to another Grafana instance using the same endpoint.
You can use the [Alerting HTTP API](ref:alerting_http_provisioning) to return existing alerting resources in JSON and import them to another Grafana instance using the same endpoint.
| Resource | URI |
| -------------------------------------------------------------- | ----------------------------------- |
| [Alert rules][alerting_http_alertrules] | /api/v1/provisioning/alert-rules |
| [Contact points][alerting_http_contactpoints] | /api/v1/provisioning/contact-points |
| [Notification policy tree][alerting_http_notificationpolicies] | /api/v1/provisioning/policies |
| [Mute timings][alerting_http_mutetimings] | /api/v1/provisioning/mute-timings |
| [Templates][alerting_http_templates] | /api/v1/provisioning/templates |
| Resource | URI |
| ------------------------------------------------------------------ | ----------------------------------- |
| [Alert rules](ref:alerting_http_alertrules) | /api/v1/provisioning/alert-rules |
| [Contact points](ref:alerting_http_contactpoints) | /api/v1/provisioning/contact-points |
| [Notification policy tree](ref:alerting_http_notificationpolicies) | /api/v1/provisioning/policies |
| [Mute timings](ref:alerting_http_mutetimings) | /api/v1/provisioning/mute-timings |
| [Templates](ref:alerting_http_templates) | /api/v1/provisioning/templates |
However, note the standard endpoints return a JSON format that is not compatible for provisioning through configuration files or Terraform, except the `/export` endpoints listed below.
### Export API endpoints
The **Alerting HTTP API** provides specific endpoints for exporting alerting resources in YAML or JSON, facilitating [provisioning via configuration files][alerting_file_provisioning], or Terraform (HCL).
The **Alerting HTTP API** provides specific endpoints for exporting alerting resources in YAML or JSON, facilitating [provisioning via configuration files](ref:alerting_file_provisioning), or Terraform (HCL).
| Resource | Method / URI | Summary |
| ------------------------ | -------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
| Alert rules | GET /api/v1/provisioning/alert-rules/export | [Export all alert rules in provisioning file format.][export_rules] |
| Alert rules | GET /api/v1/provisioning/folder/:folderUid/rule-groups/:group/export | [Export an alert rule group in provisioning file format.][export_rule_group] |
| Alert rules | GET /api/v1/provisioning/alert-rules/:uid/export | [Export an alert rule in provisioning file format.][export_rule] |
| Contact points | GET /api/v1/provisioning/contact-points/export | [Export all contact points in provisioning file format.][export_contacts] |
| Notification policy tree | GET /api/v1/provisioning/policies/export | [Export the notification policy tree in provisioning file format.][export_notifications] |
| Mute timings | GET /api/v1/provisioning/mute-timings/export | [Export all mute timings in provisioning file format.][export_mute_timings] |
| Mute timings | GET /api/v1/provisioning/mute-timings/:name/export | [Export a mute timing in provisioning file format.][export_mute_timing] |
| Resource | Method / URI | Summary |
| ------------------------ | -------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
| Alert rules | GET /api/v1/provisioning/alert-rules/export | [Export all alert rules in provisioning file format.](ref:export_rules) |
| Alert rules | GET /api/v1/provisioning/folder/:folderUid/rule-groups/:group/export | [Export an alert rule group in provisioning file format.](ref:export_rule_group) |
| Alert rules | GET /api/v1/provisioning/alert-rules/:uid/export | [Export an alert rule in provisioning file format.](ref:export_rule) |
| Contact points | GET /api/v1/provisioning/contact-points/export | [Export all contact points in provisioning file format.](ref:export_contacts) |
| Notification policy tree | GET /api/v1/provisioning/policies/export | [Export the notification policy tree in provisioning file format.](ref:export_notifications) |
| Mute timings | GET /api/v1/provisioning/mute-timings/export | [Export all mute timings in provisioning file format.](ref:export_mute_timings) |
| Mute timings | GET /api/v1/provisioning/mute-timings/:name/export | [Export a mute timing in provisioning file format.](ref:export_mute_timing) |
These endpoints accept a `download` parameter to download a file containing the exported resources.
<!-- prettier-ignore-start -->
{{% docs/reference %}}
[alerting_http_alertrules]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/http-api-provisioning#alert-rules"
[alerting_http_alertrules]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/http-api-provisioning#alert-rules"
[alerting_http_contactpoints]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/http-api-provisioning#contact-points"
[alerting_http_contactpoints]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/http-api-provisioning#contact-points"
[alerting_http_notificationpolicies]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/http-api-provisioning#notification-policies"
[alerting_http_notificationpolicies]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/http-api-provisioning#notification-policies"
[alerting_http_mutetimings]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/http-api-provisioning#mute-timings"
[alerting_http_mutetimings]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/http-api-provisioning#mute-timings"
[alerting_http_templates]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/http-api-provisioning#templates"
[alerting_http_templates]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/http-api-provisioning#templates"
[alerting_tf_provisioning]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/terraform-provisioning"
[alerting_tf_provisioning]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/terraform-provisioning"
[alerting_tf_provisioning_template]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/terraform-provisioning#import-contact-points-and-templates"
[alerting_tf_provisioning_template]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/terraform-provisioning#import-contact-points-and-templates"
[alerting_http_provisioning]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/http-api-provisioning"
[alerting_http_provisioning]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/http-api-provisioning"
[alerting_file_provisioning]: "/docs/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/file-provisioning"
[alerting_file_provisioning_template]: "/docs/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/file-provisioning#import-templates"
[export_rule]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/http-api-provisioning#span-idroute-get-alert-rule-exportspan-export-an-alert-rule-in-provisioning-file-format-_routegetalertruleexport_"
[export_rule]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/http-api-provisioning#span-idroute-get-alert-rule-exportspan-export-an-alert-rule-in-provisioning-file-format-_routegetalertruleexport_"
[export_rule_group]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/http-api-provisioning#span-idroute-get-alert-rule-group-exportspan-export-an-alert-rule-group-in-provisioning-file-format-_routegetalertrulegroupexport_"
[export_rule_group]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/http-api-provisioning#span-idroute-get-alert-rule-group-exportspan-export-an-alert-rule-group-in-provisioning-file-format-_routegetalertrulegroupexport_"
[export_rules]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/http-api-provisioning#span-idroute-get-alert-rules-exportspan-export-all-alert-rules-in-provisioning-file-format-_routegetalertrulesexport_"
[export_rules]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/http-api-provisioning#span-idroute-get-alert-rules-exportspan-export-all-alert-rules-in-provisioning-file-format-_routegetalertrulesexport_"
[export_contacts]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/http-api-provisioning#span-idroute-get-contactpoints-exportspan-export-all-contact-points-in-provisioning-file-format-_routegetcontactpointsexport_"
[export_contacts]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/http-api-provisioning#span-idroute-get-contactpoints-exportspan-export-all-contact-points-in-provisioning-file-format-_routegetcontactpointsexport_"
[export_mute_timing]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/http-api-provisioning#span-idroute-get-mute-timing-exportspan-export-a-mute-timing-in-provisioning-file-format-_routegetmutetimingexport_"
[export_mute_timing]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/http-api-provisioning#span-idroute-get-mute-timing-exportspan-export-a-mute-timing-in-provisioning-file-format-_routegetmutetimingexport_"
[export_mute_timings]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/http-api-provisioning#span-idroute-get-mute-timings-exportspan-export-all-mute-timings-in-provisioning-file-format-_routegetmutetimingsexport_"
[export_mute_timings]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/http-api-provisioning#span-idroute-get-mute-timings-exportspan-export-all-mute-timings-in-provisioning-file-format-_routegetmutetimingsexport_"
[export_notifications]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/http-api-provisioning#span-idroute-get-policy-tree-exportspan-export-the-notification-policy-tree-in-provisioning-file-format-_routegetpolicytreeexport_"
[export_notifications]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/http-api-provisioning#span-idroute-get-policy-tree-exportspan-export-the-notification-policy-tree-in-provisioning-file-format-_routegetpolicytreeexport_"
{{% /docs/reference %}}
<!-- prettier-ignore-end -->

View File

@@ -14,11 +14,43 @@ labels:
menuTitle: Use configuration files to provision
title: Use configuration files to provision alerting resources
weight: 100
refs:
export_policies:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/export-alerting-resources/#export-the-notification-policy-tree
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/export-alerting-resources/#export-the-notification-policy-tree
export_mute_timings:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/export-alerting-resources/#export-mute-timings
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/export-alerting-resources/#export-mute-timings
export_alert_rules:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/export-alerting-resources/#export-alert-rules
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/export-alerting-resources/#export-alert-rules
export_templates:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/export-alerting-resources/#export-templates
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/export-alerting-resources/#export-templates
export_contact_points:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/export-alerting-resources/#export-contact-points
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/export-alerting-resources/#export-contact-points
reload-provisioning-configurations:
- pattern: /docs/
destination: /docs/grafana/<GRAFANA_VERSION>/developers/http_api/admin/#reload-provisioning-configurations
provisioning:
- pattern: /docs/
destination: /docs/grafana/<GRAFANA_VERSION>/administration/provisioning/
---
# Use configuration files to provision alerting resources
Manage your alerting resources using configuration files that can be version controlled. When Grafana starts, it provisions the resources defined in your configuration files. [Provisioning][provisioning] can create, update, or delete existing resources in your Grafana instance.
Manage your alerting resources using configuration files that can be version controlled. When Grafana starts, it provisions the resources defined in your configuration files. [Provisioning](ref:provisioning) can create, update, or delete existing resources in your Grafana instance.
This guide outlines the steps and references to provision alerting resources using YAML files. For a practical demo, you can clone and try [this example using Grafana OSS and Docker Compose](https://github.com/grafana/provisioning-alerting-examples/tree/main/config-files).
@@ -40,7 +72,7 @@ Details on how to set up the files and which fields are required for each object
Create or delete alert rules using provisioning files in your Grafana instance(s).
1. Find the alert rule group in Grafana.
1. [Export][export_alert_rules] and download a provisioning file for your alert rules.
1. [Export](ref:export_alert_rules) and download a provisioning file for your alert rules.
1. Copy the contents into a YAML or JSON configuration file and add it to the `provisioning/alerting` directory of the Grafana instance you want to import the alerting resources to.
Example configuration files can be found below.
@@ -139,7 +171,7 @@ deleteRules:
Create or delete contact points using provisioning files in your Grafana instance(s).
1. Find the contact point in Grafana.
1. [Export][export_contact_points] and download a provisioning file for your contact point.
1. [Export](ref:export_contact_points) and download a provisioning file for your contact point.
1. Copy the contents into a YAML or JSON configuration file and add it to the `provisioning/alerting` directory of the Grafana instance you want to import the alerting resources to.
Example configuration files can be found below.
@@ -572,7 +604,7 @@ settings:
Create or delete templates using provisioning files in your Grafana instance(s).
1. Find the notification template in Grafana.
1. [Export][export_templates] a template by copying the template content and title.
1. [Export](ref:export_templates) a template by copying the template content and title.
1. Copy the contents into a YAML or JSON configuration file and add it to the `provisioning/alerting` directory of the Grafana instance you want to import the alerting resources to.
Example configuration files can be found below.
@@ -625,7 +657,7 @@ Since the policy tree is a single resource, provisioning it will overwrite a pol
{{< /admonition >}}
1. Find the notification policy tree in Grafana.
1. [Export][export_policies] and download a provisioning file for your notification policy tree.
1. [Export](ref:export_policies) and download a provisioning file for your notification policy tree.
1. Copy the contents into a YAML or JSON configuration file and add it to the `provisioning/alerting` directory of the Grafana instance you want to import the alerting resources to.
Example configuration files can be found below.
@@ -711,7 +743,7 @@ resetPolicies:
Create or delete mute timings via provisioning files using provisioning files in your Grafana instance(s).
1. Find the mute timing in Grafana.
1. [Export][export_mute_timings] and download a provisioning file for your mute timing.
1. [Export](ref:export_mute_timings) and download a provisioning file for your mute timing.
1. Copy the contents into a YAML or JSON configuration file and add it to the `provisioning/alerting` directory of the Grafana instance you want to import the alerting resources to.
Example configuration files can be found below.
@@ -762,28 +794,5 @@ deleteMuteTimes:
For more examples on the concept of this guide:
- Try provisioning alerting resources in Grafana OSS with YAML files through a demo project using [Docker Compose](https://github.com/grafana/provisioning-alerting-examples/tree/main/config-files) or [Kubernetes deployments](https://github.com/grafana/provisioning-alerting-examples/tree/main/kubernetes).
- Review the distinct options about how Grafana provisions resources in the [Provision Grafana documentation][provisioning].
- Review the distinct options about how Grafana provisions resources in the [Provision Grafana documentation](ref:provisioning).
- For Helm support, review the examples provisioning alerting resources in the [Grafana Helm Chart documentation](https://github.com/grafana/helm-charts/blob/main/charts/grafana/README.md).
{{% docs/reference %}}
[export_alert_rules]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/export-alerting-resources#export-alert-rules"
[export_alert_rules]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/export-alerting-resources#export-alert-rules"
[export_contact_points]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/export-alerting-resources#export-contact-points"
[export_contact_points]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/export-alerting-resources#export-contact-points"
[export_templates]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/export-alerting-resources#export-templates"
[export_templates]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/export-alerting-resources#export-templates"
[export_policies]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/export-alerting-resources#export-the-notification-policy-tree"
[export_policies]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/export-alerting-resources#export-the-notification-policy-tree"
[export_mute_timings]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/export-alerting-resources#export-mute-timings"
[export_mute_timings]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/export-alerting-resources#export-mute-timings"
[provisioning]: "/docs/ -> /docs/grafana/<GRAFANA_VERSION>/administration/provisioning"
[reload-provisioning-configurations]: "/docs/ -> /docs/grafana/<GRAFANA_VERSION>/developers/http_api/admin#reload-provisioning-configurations"
{{% /docs/reference %}}

View File

@@ -15,6 +15,59 @@ labels:
menuTitle: Use Terraform to provision
title: Use Terraform to provision alerting resources
weight: 200
refs:
alerting_http_provisioning:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/http-api-provisioning/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/http-api-provisioning/
notification-template:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/template-notifications/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/template-notifications/
testdata:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/datasources/testdata/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/connect-externally-hosted/data-sources/testdata/
provision-cloud-with-terraform:
- pattern: /docs/
destination: /docs/grafana-cloud/developer-resources/infrastructure-as-code/terraform/terraform-cloud-stack/
mute-timings:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/mute-timings/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/mute-timings/
alerting-rules:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/alerting-rules/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/alerting-rules/
contact-points:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/manage-contact-points/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/manage-contact-points/
rbac-terraform-provisioning:
- pattern: /docs/
destination: /docs/grafana/<GRAFANA_VERSION>/administration/roles-and-permissions/access-control/rbac-terraform-provisioning/
alerting_export:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/export-alerting-resources/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/export-alerting-resources/
notification-policy:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/create-notification-policy/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/create-notification-policy/
rbac-role-definitions:
- pattern: /docs/
destination: /docs/grafana/<GRAFANA_VERSION>/administration/roles-and-permissions/access-control/rbac-fixed-basic-role-definitions/
service-accounts:
- pattern: /docs/
destination: /docs/grafana/<GRAFANA_VERSION>/administration/service-accounts/
---
# Use Terraform to provision alerting resources
@@ -27,7 +80,7 @@ To create and manage your alerting resources using Terraform, you have to comple
1. Create an API key to configure the Terraform provider.
1. Create your alerting resources in Terraform format by
- [exporting configured alerting resources][alerting_export]
- [exporting configured alerting resources](ref:alerting_export)
- or writing the [Terraform Alerting schemas](https://registry.terraform.io/providers/grafana/grafana/latest/docs).
> By default, you cannot edit provisioned resources. Enable [`disable_provenance` in the Terraform resource](#enable-editing-resources-in-the-grafana-ui) to allow changes in the Grafana UI.
1. Run `terraform apply` to provision your alerting resources.
@@ -36,10 +89,10 @@ Before you begin, you should have available a Grafana instance and [Terraform in
## Create an API key and configure the Terraform provider
You can create a [service account token][service-accounts] to authenticate Terraform with Grafana. To create an API key for provisioning alerting resources, complete the following steps.
You can create a [service account token](ref:service-accounts) to authenticate Terraform with Grafana. To create an API key for provisioning alerting resources, complete the following steps.
1. Create a new service account.
1. Assign the role or permission to access the [Alerting provisioning API][alerting_http_provisioning].
1. Assign the role or permission to access the [Alerting provisioning API](ref:alerting_http_provisioning).
1. Create a new service account token.
1. Name and save the token for use in Terraform.
@@ -68,29 +121,29 @@ Replace the following values:
This Terraform configuration installs the [Grafana Terraform provider](https://registry.terraform.io/providers/grafana/grafana/latest/docs) and authenticates against your Grafana instance using an API token. For other authentication alternatives including basic authentication, refer to the [`auth` option documentation](https://registry.terraform.io/providers/grafana/grafana/latest/docs#authentication).
For Grafana Cloud, refer to the [instructions to manage a Grafana Cloud stack with Terraform][provision-cloud-with-terraform]. For role-based access control, refer to [Provisioning RBAC with Terraform][rbac-terraform-provisioning] and the [alerting provisioning roles (`fixed:alerting.provisioning.*`)][rbac-role-definitions].
For Grafana Cloud, refer to the [instructions to manage a Grafana Cloud stack with Terraform](ref:provision-cloud-with-terraform). For role-based access control, refer to [Provisioning RBAC with Terraform](ref:rbac-terraform-provisioning) and the [alerting provisioning roles (`fixed:alerting.provisioning.*`)](ref:rbac-role-definitions).
## Create Terraform configurations for alerting resources
[Grafana Terraform provider](https://registry.terraform.io/providers/grafana/grafana/latest/docs) enables you to manage the following alerting resources.
| Alerting resource | Terraform resource |
| ----------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| [Alert rules][alerting-rules] | [grafana_rule_group](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/rule_group) |
| [Contact points][contact-points] | [grafana_contact_point](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/contact_point) |
| [Notification templates][notification-template] | [grafana_message_template](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/message_template) |
| [Notification policy tree][notification-policy] | [grafana_notification_policy](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/notification_policy) |
| [Mute timings][mute-timings] | [grafana_mute_timing](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/mute_timing) |
| Alerting resource | Terraform resource |
| --------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| [Alert rules](ref:alerting-rules) | [grafana_rule_group](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/rule_group) |
| [Contact points](ref:contact-points) | [grafana_contact_point](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/contact_point) |
| [Notification templates](ref:notification-template) | [grafana_message_template](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/message_template) |
| [Notification policy tree](ref:notification-policy) | [grafana_notification_policy](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/notification_policy) |
| [Mute timings](ref:mute-timings) | [grafana_mute_timing](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/mute_timing) |
In this section, we'll create Terraform configurations for each alerting resource and demonstrate how to link them together.
### Add alert rules
[Alert rules][alerting-rules] enable you to receive alerts by querying any backend Grafana data sources.
[Alert rules](ref:alerting-rules) enable you to receive alerts by querying any backend Grafana data sources.
1. First, create a data source to query and a folder to store your rules in.
In this example, the [TestData][testdata] data source is used.
In this example, the [TestData](ref:testdata) data source is used.
```terraform
resource "grafana_data_source" "<terraform_data_source_name>" {
@@ -110,7 +163,7 @@ In this section, we'll create Terraform configurations for each alerting resourc
1. Create or find an alert rule you want to import in Grafana.
1. [Export][alerting_export] the alert rule group in Terraform format. This exports the alert rule group as [`grafana_rule_group` Terraform resource](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/rule_group).
1. [Export](ref:alerting_export) the alert rule group in Terraform format. This exports the alert rule group as [`grafana_rule_group` Terraform resource](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/rule_group).
You can edit the exported resource, or alternatively, consider creating the resource from scratch.
@@ -192,11 +245,11 @@ In this section, we'll create Terraform configurations for each alerting resourc
### Add contact points
[Contact points][contact-points] are the receivers of alert notifications.
[Contact points](ref:contact-points) are the receivers of alert notifications.
1. Create or find the contact points you want to import in Grafana. Alternatively, consider writing the resource in code as demonstrated in the example below.
1. [Export][alerting_export] the contact point in Terraform format. This exports the contact point as [`grafana_contact_point` Terraform resource](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/contact_point)—edit it if necessary.
1. [Export](ref:alerting_export) the contact point in Terraform format. This exports the contact point as [`grafana_contact_point` Terraform resource](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/contact_point)—edit it if necessary.
1. In this example, notifications are muted on weekends.
@@ -219,11 +272,11 @@ In this section, we'll create Terraform configurations for each alerting resourc
### Add and enable templates
[Notification templates][notification-template] allow customization of alert notifications across multiple contact points.
[Notification templates](ref:notification-template) allow customization of alert notifications across multiple contact points.
1. Create or find the notification template you want to import in Grafana. Alternatively, consider writing the resource in code as demonstrated in the example below.
1. [Export][alerting_export] the template as [`grafana_message_template` Terraform resource](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/message_template).
1. [Export](ref:alerting_export) the template as [`grafana_message_template` Terraform resource](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/message_template).
This example is a simple demo template defined as `custom_email.message`.
@@ -256,11 +309,11 @@ In this section, we'll create Terraform configurations for each alerting resourc
### Add mute timings
[Mute timings][mute-timings] pause alert notifications during predetermined intervals.
[Mute timings](ref:mute-timings) pause alert notifications during predetermined intervals.
1. Create or find the mute timings you want to import in Grafana. Alternatively, consider writing the resource in code as demonstrated in the example below.
1. [Export][alerting_export] the mute timing in Terraform format. This exports the mute timing as [`grafana_mute_timing` Terraform resource](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/mute_timing)—edit it if necessary.
1. [Export](ref:alerting_export) the mute timing in Terraform format. This exports the mute timing as [`grafana_mute_timing` Terraform resource](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/mute_timing)—edit it if necessary.
1. This example turns off notifications on weekends.
@@ -282,7 +335,7 @@ In this section, we'll create Terraform configurations for each alerting resourc
### Add the notification policy tree
[Notification policies][notification-policy] defines how to route alert instances to your contact points.
[Notification policies](ref:notification-policy) defines how to route alert instances to your contact points.
{{% admonition type="warning" %}}
@@ -292,7 +345,7 @@ Since the policy tree is a single resource, provisioning the `grafana_notificati
1. Find the default notification policy tree. Alternatively, consider writing the resource in code as demonstrated in the example below.
1. [Export][alerting_export] the notification policy tree in Terraform format. This exports it as [`grafana_notification_policy` Terraform resource](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/notification_policy)—edit it if necessary.
1. [Export](ref:alerting_export) the notification policy tree in Terraform format. This exports it as [`grafana_notification_policy` Terraform resource](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/notification_policy)—edit it if necessary.
```terraform
resource "grafana_notification_policy" "my_policy_tree" {
@@ -384,40 +437,4 @@ For more examples on the concept of this guide:
- Try the demo [provisioning alerting resources in Grafana OSS using Terraform and Docker Compose](https://github.com/grafana/provisioning-alerting-examples/tree/main/terraform).
- Review all the available options and examples of the Terraform Alerting schemas in the [Grafana Terraform Provider documentation](https://registry.terraform.io/providers/grafana/grafana/latest/docs).
- Review the [tutorial to manage a Grafana Cloud stack using Terraform][provision-cloud-with-terraform].
{{% docs/reference %}}
[alerting-rules]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/alerting-rules"
[alerting-rules]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/alerting-rules"
[contact-points]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/manage-contact-points"
[contact-points]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/manage-contact-points"
[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"
[notification-policy]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/create-notification-policy"
[notification-policy]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/create-notification-policy"
[notification-template]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/configure-notifications/template-notifications"
[notification-template]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/template-notifications"
[alerting_export]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/export-alerting-resources"
[alerting_export]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/export-alerting-resources"
[alerting_http_provisioning]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/set-up/provision-alerting-resources/http-api-provisioning"
[alerting_http_provisioning]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/set-up/provision-alerting-resources/http-api-provisioning"
[service-accounts]: "/docs/ -> /docs/grafana/<GRAFANA_VERSION>/administration/service-accounts"
[testdata]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/datasources/testdata"
[testdata]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/connect-externally-hosted/data-sources/testdata"
[provision-cloud-with-terraform]: "/docs/ -> /docs/grafana-cloud/developer-resources/infrastructure-as-code/terraform/terraform-cloud-stack"
[rbac-role-definitions]: "/docs/ -> /docs/grafana/<GRAFANA_VERSION>/administration/roles-and-permissions/access-control/rbac-fixed-basic-role-definitions"
[rbac-terraform-provisioning]: "/docs/ -> /docs/grafana/<GRAFANA_VERSION>/administration/roles-and-permissions/access-control/rbac-terraform-provisioning"
{{% /docs/reference %}}
- Review the [tutorial to manage a Grafana Cloud stack using Terraform](ref:provision-cloud-with-terraform).

View File

@@ -81,7 +81,7 @@ Grafana legacy alerting (dashboard alerts) has been deprecated since Grafana v9.
#### Migration path
The new Grafana Alerting was introduced in Grafana 8 and is a superset of legacy alerting. Learn how to migrate your alerts in the [Upgrade Alerting documentation]({{< relref "./v10.4/alerting/set-up/migrating-alerts/" >}}).
The new Grafana Alerting was introduced in Grafana 8 and is a superset of legacy alerting. Learn how to migrate your alerts in the [Upgrade Alerting documentation](https://grafana.com/docs/grafana/v10.4/alerting/set-up/migrating-alerts/).
### API keys are migrating to service accounts

View File

@@ -0,0 +1,232 @@
---
description: Breaking changes for Grafana v11.0
keywords:
- grafana
- breaking changes
- documentation
- '11.0'
- '11.0-preview'
- release notes
labels:
products:
- cloud
- enterprise
- oss
title: Breaking changes in Grafana v11.0
weight: -3
---
<!-- vale GoogleWe = NO -->
<!-- vale We = NO -->
# Breaking changes in Grafana v11.0
Following are breaking changes that you should be aware of when upgrading to Grafana v11.0.
For our purposes, a breaking change is any change that requires users or operators to do something. This includes:
- Changes in one part of the system that could cause other components to fail
- Deprecations or removal of a feature
- Changes to an API that could break automation
- Changes that affect some plugins or functions of Grafana
- Migrations that cant be rolled back
For each change, the provided information:
- Helps you determine if youre affected
- Describes the change or relevant background information
- Guides you in how to mitigate for the change or migrate
- Provides more learning resources
For release highlights and deprecations, refer to our [v11.0 Whats new](https://grafana.com/docs/grafana/<GRAFANA_VERSION>/whatsnew/whats-new-in-v11-0/). For the specific steps we recommend when you upgrade to v11.0, check out our [Upgrade guide](https://grafana.com/docs/grafana/<GRAFANA_VERSION>/upgrade-guide/upgrade-v11.0/).
<!--
## Feature
You must use relative references when linking to docs within the Grafana repo. Please do not use absolute URLs. For more information about relrefs, refer to [Links and references](/docs/writers-toolkit/writing-guide/references/).-->
<!-- Last copied from Google Doc March 26th 8:45pm -->
## Users and Operators
### AngularJS support is turned off by default
#### Description
In Grafana v11, support for the deprecated AngularJS framework is turned off by default for all self-managed (on-premise) and Cloud instances of Grafana. This prevents any data source or panel visualization which relies on AngularJS from being loaded, and therefore has the potential to significantly disrupt your dashboards. Support will be fully removed in the next major release of Grafana.
#### Migration/mitigation
To avoid disruption, ensure all plugins are up to date and migrate from any remaining AngularJS plugins to a React-based alternative. If a plugin relies on AngularJS, a warning icon and message will be displayed in the [plugins catalog](https://grafana.com/docs/grafana/<GRAFANA_VERSION>/administration/plugin-management/#plugin-catalog) in Grafana and any dashboard panel where it's used. Additionally, a warning banner will appear in any impacted dashboards. A list of all impacted dashboards can also be generated using the [`detect-angular-dashboards`](https://github.com/grafana/detect-angular-dashboards) tool.
Our [documentation](https://grafana.com/docs/grafana/<GRAFANA_VERSION>/developers/angular_deprecation/angular-plugins/) lists all known public plugins and provides migration advice when possible.
For self-managed users of Grafana and existing Grafana Cloud instances, you can temporarily re-enable support through the [configuration parameter](https://grafana.com/docs/grafana/<GRAFANA_VERSION>/setup-grafana/configure-grafana/#angular_support_enabled), `angular_support_enabled=false`. However, AngularJS-based plugins will not receive any further updates and we strongly recommend migration as soon as possible. This configuration parameter will also be removed in the next major release after Grafana v11.
New Grafana Cloud users will be unable to request that support be added to their instance.
#### Learn more
Refer to this [blog post](https://grafana.com/blog/2024/03/11/removal-of-angularjs-support-in-grafana-what-you-need-to-know/) for more information.
### Grafana Enterprise: Anonymous devices are billed as users
#### Description
Effective starting in Grafana v11, anonymous users are counted and charged as users in Grafana Enterprise. When you upgrade to v11, anonymous users will be automatically counted as active users against your Grafana Enterprise license.
#### Migration/mitigation
Turn off anonymous access, and consider using public dashboards to allow view-only access to publicly-accessible dashboards.
#### Learn more
[Anonymous access documentation](https://grafana.com/docs/grafana/<GRAFANA_VERSION>/setup-grafana/configure-security/configure-authentication/grafana/#anonymous-authentication)
### Legacy alerting is entirely removed
Legacy alerting has reached its end-of-life. In Grafana v11 you can no longer enable legacy alerting, and Grafana will fail to start if the settings are not updated to run the new Grafana Alerting. This also means that starting in Grafana v11, it is no longer possible to migrate from legacy alerting to our new alerting. Grafana v10.4.x is the last version that offers migration, so make sure to migrate to the new Grafana Alerting system _before_ upgrading to Grafana v11. Learn more about Grafana Alerting and the advantages of the new system in the [legacy alerting deprecation documentation](https://grafana.com/docs/grafana/v10.4/alerting/set-up/migrating-alerts/legacy-alerting-deprecation/). Learn more about migration in the [upgrade alerting documentation](https://grafana.com/docs/grafana/v10.4/alerting/set-up/migrating-alerts/).
For more details on the code removal, review the following PRs:
- [https://github.com/grafana/grafana/pull/83651](https://github.com/grafana/grafana/pull/83651)
- [https://github.com/grafana/grafana/issues/81268](https://github.com/grafana/grafana/issues/81268)
### Deprecated endpoints and fields in Reporting removed
#### Description
In Grafana v11, support for deprecated endpoints and fields in **Reporting** related to the old scheduling format, email, and dashboard is fully removed. This prevents any calls to deprecated endpoints and passing in values to deprecated fields. This feature only affects Cloud and Enterprise customers who use the API to generate reports.
#### Migration/mitigation
Ensure deprecated endpoints are updated to new corresponding endpoints and deprecated fields are removed and replaced with new corresponding fields.
#### Learn more
The [Reporting API documentation](https://grafana.com/docs/grafana/<GRAFANA_VERSION>/developers/http_api/reporting/) lists all supported endpoints and fields.
### Change custom branding public dashboard footer behavior
#### Description
In Grafana v11, custom branding public dashboard footer behavior is changed to default to the Grafana logo if no footer logo or footer text is set. There is no option to hide the public dashboard footer anymore. This feature only affects Cloud Advanced and Enterprise customers.
#### Migration/mitigation
Ensure you have a public dashboard footer logo or footer text set if you don't want to display the default Grafana footer.
#### Learn more
[Configure custom branding documentation](https://grafana.com/docs/grafana/<GRAFANA_VERSION>/setup-grafana/configure-grafana/configure-custom-branding/#custom-branding-for-public-dashboards) for public dashboards
### Subfolders cause very rare issues with folders that have forward slashes in their names
#### Description and migration/mitigation
The upgrade to enable subfolders can cause some issues with alerts in certain cases. If you've previously set up a folder that uses a forward slash in its name, you have an alert rule in that folder, and the notification policy is set to match that folder's name, notifications will be sent to the default receiver instead of the configured receiver.
In these cases, we recommend that you take these steps before the upgrade to enable subfolders:
- Create a copy of the affected routes and rewrite the matchers for the new copy. For example, if the original matcher was `grafana_folder=MyFolder/sub-folder`, then the new route matcher will be `grafana_folder=MyFolder\/sub-folder`.
- After enabling subfolders, you can delete the old routes.
Please note that if you use file provisioning, you can upgrade and update the routes at the same time.
#### Learn more
[Subfolders announcement](https://grafana.com/docs/grafana/<GRAFANA_VERSION>/whatsnew/whats-new-in-v11-0/#subfolders)
[Provisioning: Provision dashboards into subfolders PR](https://github.com/grafana/grafana/pull/79793)
### The Input data source is removed
The direct input data source plugin has been removed in Grafana v11. It has been in alpha for four years and is superseded by [TestData](https://grafana.com/docs/grafana/<GRAFANA_VERSION>/datasources/testdata/), which ships with Grafana. This is a small deprecation.
Review [this PR](https://github.com/grafana/grafana/pull/83163) for details.
### Data sources: Query filtering changes
The **Disable query** button in the query editor row has caused a lot of confusion among data source developers and end-users. Until now, it has been up to data source developers to filter out any hidden queries before or after theyre executed. Starting from Grafana v11, the tooltip of this button is changed from **Disable query** to **Hide response/Show response**. Responses that are associated with hidden queries will be removed by Grafana before theyre passed to the panel.
Users of data source plugins that didn't previously remove hidden queries (before or after they were executed) will see a change of behavior as, previously, clicking the **Disable query** button had no impact on the query result. Starting from Grafana v11, responses associated with hidden queries are longer returned to the panel.
Were also moving the call to the `datasource.filterQuery` method to the query runner. This means that frontend-only data sources (or any data source that doesn't extend `DataSourceWithBackend` class) can implement this method. This streamlines data source plugin behavior, ensuring filtering works in the same way for all kinds of data source plugins.
#### Migration/mitigation
If data is missing in panels, make sure the query editor **Hide response** button is not clicked.
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 too.
#### Learn more
[GitHub PR](https://github.com/grafana/grafana/pull/84656)
### Chore: Query oauth info from a new instance
We've added 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 organization from which the approved token comes. This could break your login flow.
You can turn off this feature 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.
[GitHub PR](https://github.com/grafana/grafana/pull/83229)
### Changes to how the panel view URL is generated for repeated panels
#### Description
With the introduction of the Scenes library to dashboards, the URL thats generated when viewing an individual repeated panel has changed. Weve changed how these panels are referenced and what used to be `&viewPanel=panel-5` is now `&viewPanel=panel-3-clone1`.
This means that the previous URLs wont work anymore and instead you'll be redirected to the dashboard view and you'll get a _Panel not found_ error. From this point on, the dashboard will continue to work as expected.
#### Migration/mitigation
Reopen the panel in view mode and you'll get the new URL.
## Plugin developers
### React Router is deprecated
#### Description
In Grafana v11 we're marking react-router v5 as deprecated. App plugins should start migrating to use react-router v6.
#### Migration/mitigation
For a complete guide, please follow our [migration docs on the developer portal](https://grafana.com/developers/plugin-tools/migration-guides/update-from-grafana-versions/migrate-9_x-to-10_x#update-to-react-router-v6).
#### Learn more
- Grafana v9.x to v10.x [migration guide](https://grafana.com/developers/plugin-tools/migration-guides/update-from-grafana-versions/migrate-9_x-to-10_x#update-to-react-router-v6)
- Official react-router v5 to v6 [migration guide](https://reactrouter.com/en/main/upgrading/v5)
- Grafana community forum [topic](https://community.grafana.com/t/migrating-app-plugins-to-use-react-router-v6/115410)
### The grafana/e2e testing tool is deprecated
#### Description
The Cypress based grafana/e2e end-to-end testing tool is now deprecated.
#### Migration/mitigation
We recommend all plugin authors to migrate their end-to-end tests to use the new Playwright-based [grafana/plugin-e2e](https://www.npmjs.com/package/@grafana/plugin-e2e?activeTab=readme) package instead. Find details on how to migrate from grafana/e2e to grafana/plugin-e2e in the [migration guide](https://grafana.com/developers/plugin-tools/e2e-test-a-plugin/migrate-from-grafana-e2e).
### Chore: Taint ArrayVector with `never` to further discourage
[GitHub PR](https://github.com/grafana/grafana/pull/83681)
The Vector interface that was deprecated in Grafana v10 is further deprecated. Using it now generates build-time Typescript errors, but it remains working at runtime. If you're still using ArrayVector in your code, you should remove it immediately and replace it with plain arrays. Plugins that are 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.
### Chore: Remove React 17 peer deps
[GitHub PR](https://github.com/grafana/grafana/pull/83524)
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).
### Chore: Remove SystemJS from Grafana/Runtime
[GitHub PR](https://github.com/grafana/grafana/pull/84561)
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.

View File

@@ -9,69 +9,64 @@ labels:
title: Dashboards
weight: 70
description: Create and manage dashboards
hero:
title: Dashboards
level: 1
width: 110
height: 110
description: >-
Dashboards allow you to query, transform, visualize, and understand your data no matter where its stored.
cards:
title_class: pt-0 lh-1
items:
- title: Build dashboards
href: ./build-dashboards/
description: Get step-by-step directions for how to create or import your first dashboard and modify dashboard settings. Learn about reusable library panels, dashboard links, annotatations, and dashboard JSON.
height: 24
- title: Manage dashboards
href: ./manage-dashboards/
description: Learn about dashboard and folder management, as well as generative AI features for dashboards.
height: 24
- title: Variables
href: ./variables/
description: Add variables to metric queries and panel titles to create interactive and dynamic dashboards.
height: 24
- title: Public dashboards
href: ./dashboard-public/
description: Make your Grafana dashboards public and share them with anyone without requiring access to your Grafana organization.
height: 24
- title: Reporting
href: ./create-reports/
description: Automatically generate and share PDF reports from your Grafana dashboards.
height: 24
- title: Sharing
href: ./share-dashboards-panels/
description: Share Grafana dashboards and panels within your organization using links, snapshots, and JSON exports.
height: 24
refs:
panels:
- pattern: /docs/grafana/
destination: /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/panel-overview/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/visualizations/panels-visualizations/panel-overview/
---
# Dashboards
{{< docs/hero-simple key="hero" >}}
A dashboard is a set of one or more [panels][] organized and arranged into one or more rows. Grafana ships with a variety of panels making it easy to construct the right queries, and customize the visualization so that you can create the perfect dashboard for your need. Each panel can interact with data from any configured Grafana [data source][].
---
Dashboard snapshots are static. Queries and expressions cannot be re-executed from snapshots. As a result, if you update any variables in your query or expression, it will not change your dashboard data.
## Overview
Before you begin, ensure that you have configured a data source. See also:
A Grafana dashboard is a set of one or more [panels](ref:panels), organized and arranged into one or more rows, that provide an at-a-glance view of related information. These panels are created using components that query and transform raw data from a data source into charts, graphs, and other visualizations.
- [Use dashboards][]
- [Build dashboards][]
- [Create dashboard folders][]
- [Manage dashboards][]
- [Public dashboards][]
- [Annotations][]
- [Playlist][]
- [Reporting][]
- [Version history][]
- [Import][]
- [Export and share][]
- [JSON model][]
A data source can be an SQL database, Grafana Loki, Grafana Mimir, or a JSON-based API. It can even be a basic CSV file. Data source plugins take a query you want answered, retrieve the data from the data source, and reconcile the differences between the data model of the data source and the data model of Grafana dashboards.
{{% docs/reference %}}
[data source]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/datasources"
[data source]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/connect-externally-hosted/data-sources"
Queries allow you to reduce the entirety of your data to a specific dataset, providing a more manageable visualization. Since data sources have their own distinct query languages, Grafana dashboards provide you with a query editor to accommodate these differences.
[Reporting]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/dashboards/create-reports"
[Reporting]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/dashboards/create-reports"
A panel is the container that displays the visualization and provides you with various controls to manipulate it. Panel options let you customize many aspects of a visualization and the options differ based on which visualization you select. When the data format in a visualization doesnt meet your requirements, you can apply a transformation that manipulates the data returned by a query.
[Public dashboards]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/dashboards/dashboard-public"
[Public dashboards]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/dashboards/dashboard-public"
With 150+ data source plugins, you can unify all your data sources into a single dashboard to streamline data monitoring and troubleshooting. With Grafana, you can translate, transform, and visualize data in flexible and versatile dashboards.
[Version history]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/dashboards/build-dashboards/manage-version-history"
[Version history]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/dashboards/build-dashboards/manage-version-history"
## Explore
[panels]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations"
[panels]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations"
[Annotations]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/dashboards/build-dashboards/annotate-visualizations"
[Annotations]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/dashboards/build-dashboards/annotate-visualizations"
[Create dashboard folders]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/dashboards/manage-dashboards#create-a-dashboard-folder"
[Create dashboard folders]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/dashboards/manage-dashboards#create-a-dashboard-folder"
[JSON model]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/dashboards/build-dashboards/view-dashboard-json-model"
[JSON model]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/dashboards/build-dashboards/view-dashboard-json-model"
[Import]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/dashboards/build-dashboards/import-dashboards"
[Import]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/dashboards/build-dashboards/import-dashboards"
[Export and share]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/dashboards/share-dashboards-panels"
[Export and share]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/dashboards/share-dashboards-panels"
[Manage dashboards]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/dashboards/manage-dashboards"
[Manage dashboards]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/dashboards/manage-dashboards"
[Build dashboards]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/dashboards/build-dashboards"
[Build dashboards]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/dashboards/build-dashboards"
[Use dashboards]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/dashboards/use-dashboards"
[Use dashboards]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/dashboards/use-dashboards"
[Playlist]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/dashboards/create-manage-playlists"
[Playlist]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/dashboards/create-manage-playlists"
{{% /docs/reference %}}
{{< card-grid key="cards" type="simple" >}}

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