Compare commits

..

251 Commits

Author SHA1 Message Date
Kevin Minehart
81d85ce802 fix the missing bump-version 2023-06-09 11:45:53 -05:00
Kevin Minehart
cdea3d13d2 re-add useWorkspaces; it causes the bump version comman to fail but maybe it's causing this error 2023-06-09 10:44:05 -05:00
Kevin Minehart
29cea2d5d5 bump version to 10.0.0 2023-06-09 10:20:02 -05:00
Torkel Ödegaard
e6fd971a0e [v10.0.x]: Themes: Unify secondary button and ToolbarButton (#69049)
Themes: Unify secondary button and ToolbarButton (#68250)

* Themes: Unify secondary button and ToolbarButton

* Update

* Update light theme

* fix test

* fix toolbar button border

* fix disabled outline button style

* Use transparent color instead of dynamic computed color for hover bg for text/outline versions. this is what figma components do

(cherry picked from commit d4df5e0519)
(cherry picked from commit 7d7a799574)
2023-06-09 12:40:18 +03:00
Grot (@grafanabot)
6439f62253 [v10.0.x] Drawer: Fixes closeOnMaskClick false issue (#69103)
Drawer: Fixes closeOnMaskClick false issue (#69083)

(cherry picked from commit 1eed40fcf6)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
(cherry picked from commit 21f45c85d9)
2023-06-09 12:39:58 +03:00
Grot (@grafanabot)
46c196f1e1 [v10.0.x] Query Editor: Ensure dropdown menus position correctly (#69131)
Query Editor: Ensure dropdown menus position correctly (#69062)

prevent showing menu until options have loaded

(cherry picked from commit c55c091145)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
(cherry picked from commit e97a2f0482)
2023-06-09 12:39:32 +03:00
Alexander Zobnin
4f182fd430 [v10.0.x] Authentication UI: Enable by default (#69803) (#69810)
Authentication UI: Enable by default (#69803)

(cherry picked from commit 4e1f69d83f)
(cherry picked from commit 5dacbb97e0)
2023-06-09 12:39:15 +03:00
Matthew Jacobson
33f806237f [v10.0.x] Alerting: Fix provisioned templates being ignored by alertmanager (#69488)
Alerting: Fix provisioned templates being ignored by alertmanager (#69485)

* Alerting: Fix provisioned templates being ignored by alertmanager

Template provisioning sets the template in cfg.TemplateFiles while a recent change
made it so that alertmanager reads cfg.AlertmanagerConfig.Templates instead.

This change fixes the issue on both ends, by having provisioning set boths fields and
reverts the change on the alertmanager side so that it uses cfg.TemplateFiles.

(cherry picked from commit c16f1f5e99)
(cherry picked from commit 0a6e80c6cf)
2023-06-07 10:34:03 +03:00
Grot (@grafanabot)
1022d2b2a1 [v10.0.x] Grafana UI: Fix plugin unit test errors (#69256)
Grafana UI: Fix plugin unit test errors (#69210)

* fix(grafana-ui): import from package to prevent import errors occurring in plugin tests

* style(grafana-ui): add e2e-selectors path to restricted imports rule

(cherry picked from commit 82f353c696)

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
(cherry picked from commit 2b95f85f29)
2023-06-07 10:33:50 +03:00
Ieva
16ae9500cf Auth: Remove Email Lookup from oauth integrations 10.0 (#900)
backport https://github.com/grafana/grafana-private-mirror/pull/894 to 9.5.x

(cherry picked from commit d0f6155385862e6c0fadb2890e7859e57fa1d7a2)
2023-06-07 10:33:35 +03:00
Grot (@grafanabot)
4f5dbbbb36 [v10.0.x] Require alert.notifications:write permissions to test receivers and templates (#866)
Require alert.notifications:write permissions to test receivers and templates (#865)

(cherry picked from commit 3c21ab70075256d4ba8e4fbfdcb15f5a394161fa)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2023-05-30 09:39:04 +02:00
Grot (@grafanabot)
d484d2731b [v10.0.x] Prevent crash while executing concurrent mixed queries (#878)
Prevent crash while executing concurrent mixed queries (#874)

limit parallel query execution to 1 at a time

(cherry picked from commit 96579a60e19e2a9f2d6bdaeba64e0e702211eb73)

Co-authored-by: Michael Mandrus <41969079+mmandrus@users.noreply.github.com>
2023-05-30 09:37:42 +02:00
Grot (@grafanabot)
ae82eefade Release: Bump version to 10.0.0-preview (#889)
"Release: Updated versions in package to 10.0.0-preview"
2023-05-29 16:31:52 +03:00
dsotirakis
7175c3a42e Fix regexp 2023-05-29 16:26:17 +03:00
dsotirakis
fb3f497f6e s/beta/preview in bump-version.yml
(cherry picked from commit e735cced7af3e0aaf4ca656bdc55d5b2375d1fed)
2023-05-29 16:21:26 +03:00
Grot (@grafanabot)
e5a71e81aa [v10.0.x] docs: revamp the alerting set-up documentation (#69124)
docs: revamp the alerting set-up documentation (#69064)

* docs: revamp the alerting set-up documentation

* Update docs/sources/alerting/set-up/_index.md

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

* Update docs/sources/alerting/set-up/_index.md

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

* Update docs/sources/alerting/set-up/_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 bf4ab36bc0)

Co-authored-by: gotjosh <josue.abreu@gmail.com>
2023-05-26 09:25:19 +02:00
Grot (@grafanabot)
e1f00558cd [v10.0.x] docs: Update "Create reports" doc to clarify custom time ranges and add information about drafts (#69093)
docs: Update "Create reports" doc to clarify custom time ranges and add information about drafts (#69015)

* Update index.md

Clarify that changes to dashboard time range are only reflected in the report if they are not using a custom time range.

Add information regarding saving a report as a draft.

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

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

* running prettier

---------

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

Co-authored-by: chrisharbro <102977229+chrisharbro@users.noreply.github.com>
2023-05-25 19:00:35 -04:00
Grot (@grafanabot)
c511c37756 [v10.0.x] docs: update logs integration and calculation types content (#68917)
Jasuade docs patch 1 (#68074)

* Docs update Logs in Explore

* Include new Calculation Types :docs:

* Update docs/sources/explore/logs-integration.md

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

* Update docs/sources/explore/logs-integration.md

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

* Update docs/sources/explore/logs-integration.md

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

* Update docs/sources/explore/logs-integration.md

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

* Eye icon instead of Toggle field visibility

* running prettier

---------

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

Co-authored-by: Jara Suárez de Puga García <jara.suarezdepuga@grafana.com>
2023-05-25 18:44:56 -04:00
Grot (@grafanabot)
0e37044bc3 [v10.0.x] docs: updates annotations Filter by panel and Add time region (#69119) 2023-05-25 17:14:16 -05:00
Grot (@grafanabot)
f1d9b6b636 [v10.0.x] StatusHistory: Fix rendering of value-mapped null (#69108)
StatusHistory: Fix rendering of value-mapped null (#69033)

(cherry picked from commit 37e2becdd7)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2023-05-25 23:01:24 +03:00
Nathan Marrs
d841e2c09b [v10.0.x] ResourcePicker: Fix missing border bug on cancel button (#69113)
ResourcePicker: Fix missing border bug on cancel button (#68966)

* ResourcePicker: Fix missing border bug

* remove unused imports

(cherry picked from commit 2966989525)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2023-05-25 12:49:35 -07:00
Grot (@grafanabot)
2b7b737390 [v10.0.x] TimeSeries: Fix centeredZero y axis ranging when all values are 0 (#69112)
TimeSeries: Fix centeredZero y axis ranging when all values are 0 (#69034)

(cherry picked from commit 014126a43e)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2023-05-25 22:33:18 +03:00
Grot (@grafanabot)
0b9cb47dd7 [v10.0.x] Alerting: Migrate unknown NoData\Error settings to the default (#69010)
Alerting: Migrate unknown NoData\Error settings to the default (#68403)

* use default execution if legacy is not known

* update docs

* Update docs/sources/alerting/migrating-alerts/migrating-legacy-alerts.md

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

* Update docs/sources/alerting/migrating-alerts/migrating-legacy-alerts.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 3af95bebe1)

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2023-05-25 11:56:24 -04:00
Grot (@grafanabot)
085adb57ce [v10.0.x] Alerting: Fix provenance guard checks for Alertmanager configuration to not cause panic when compared nested objects (#69094)
Alerting: Fix provenance guard checks for Alertmanager configuration to not cause panic when compared nested objects (#69009)

* fix current settings parsed as new
* replace map comparison with cmp.Diff and log the diff

(cherry picked from commit e00260465b)

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2023-05-25 18:56:01 +03:00
Grot (@grafanabot)
e5153d7bf3 [v10.0.x] Auth: Fix visibility of the Invite button on /admin/users page (#69067)
Auth: Fix visibility of the Invite button on /admin/users page (#68991)

* Fix for invite button visibility

* Align test

(cherry picked from commit df4db412cb)

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
2023-05-25 16:34:27 +02:00
Grot (@grafanabot)
95726f1530 [v10.0.x] Alerting: Add support for Alert State History Loki primary (#69077)
Alerting: Add support for Alert State History Loki primary (#69065)

add support for multiple ash targets with loki as primary

(cherry picked from commit 73681a251e)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2023-05-25 14:00:33 +00:00
Grot (@grafanabot)
dc6fb6d7a4 [v10.0.x] Docs: Add JSON format for webhook notifications to differences (#69056)
Docs: Add JSON format for webhook notifications to differences (#68786)

(cherry picked from commit 65e2df7a2e)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2023-05-25 10:19:50 +01:00
Grot (@grafanabot)
8c8ecef1ca [v10.0.x] DataSourcePicker: Design tweak proposal (#68819)
DataSourcePicker: Design tweak proposal (#68747)

* DataSourcePicker: Design tweak proposal

* Revert unrelated change

* Remove unrelated change

* Fixed spacing of logo

(cherry picked from commit 2f6d538044)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2023-05-25 10:38:19 +02:00
Grot (@grafanabot)
1320d12aa7 [v10.0.x] Docs Alerting: Fixes table in alerting API docs (#69035)
Docs Alerting: Fixes table in alerting API docs (#68962)

Fixes table in alerting API docs

(cherry picked from commit 863f826e62)

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2023-05-25 10:12:26 +02:00
Horst Gutmann
c774f055d5 [v10.0.x] CI: Pin the google/cloud-sdk image (#69037) (#69038)
(cherry picked from commit f22d1d14a0)

Backport of #69037
2023-05-25 10:48:45 +03:00
Jack Baldry
f5220c12ba [v10.0.x] [feat] docs; update admonition syntax (#69005)
* [v10.0.x] [feat] docs; update admonition syntax

* [feat] docs; update admonition syntax

- Standardizes according to style conventions: https://grafana.com/docs/writers-toolkit/style-guide/style-conventions/#admonitions
- Prepares docs for better, uniform admonition style.

* Remove false positives and irregularities

* false positive removal

* Update docs/sources/datasources/mysql/_index.md

* Update docs/sources/developers/angular_deprecation/angular-plugins.md

* fix link errors

* Prettify some nested blockquotes

* remoe unnecessary admonition

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

* Fix incorrect conflict resolution

---------

Co-authored-by: Matt Dodson <47385188+MattDodsonEnglish@users.noreply.github.com>
2023-05-24 22:14:24 +01:00
Grot (@grafanabot)
9757c337fb [v10.0.x] Docs: Plugins doc review chunk 3 (#68921)
Docs: Plugins doc review chunk 3 (#68159)

* Initial commit

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Minor fix

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Review changes

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Doc fixes

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Minor fix

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Update docs/sources/developers/plugins/cross-plugin-linking.md

Co-authored-by: Matt Dodson <47385188+MattDodsonEnglish@users.noreply.github.com>

* Update docs/sources/developers/plugins/development-with-local-grafana.md

Co-authored-by: Matt Dodson <47385188+MattDodsonEnglish@users.noreply.github.com>

* Update docs/sources/developers/plugins/cross-plugin-linking.md

Co-authored-by: Matt Dodson <47385188+MattDodsonEnglish@users.noreply.github.com>

* Update docs/sources/developers/plugins/cross-plugin-linking.md

Co-authored-by: Matt Dodson <47385188+MattDodsonEnglish@users.noreply.github.com>

* Update docs/sources/developers/plugins/development-with-local-grafana.md

Co-authored-by: Matt Dodson <47385188+MattDodsonEnglish@users.noreply.github.com>

* Incorporating review feedback

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Update docs/sources/developers/plugins/development-with-local-grafana.md

Co-authored-by: Matt Dodson <47385188+MattDodsonEnglish@users.noreply.github.com>

* Test commit

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

---------

Signed-off-by: Joe Perez <joseph.perez@grafana.com>
Co-authored-by: Matt Dodson <47385188+MattDodsonEnglish@users.noreply.github.com>
(cherry picked from commit d68079e927)

Co-authored-by: Joseph Perez <45749060+josmperez@users.noreply.github.com>
2023-05-24 15:46:11 -05:00
Grot (@grafanabot)
dfa3b0912c [v10.0.x] update prometheus query editor doc (#69014)
update prometheus query editor doc (#68595)

* initial updates to outdated info

* minor edits prior to draft PR

* commented out options no longer available

* additional edits

* removed tables, changed format to list

* updated code mode section

* finished edits to builder mode

* added revisions per Brendan

* removed commented out section

* added note short codes

(cherry picked from commit 3edeafa663)

Co-authored-by: lwandz13 <126723338+lwandz13@users.noreply.github.com>
2023-05-24 13:37:27 -07:00
Grot (@grafanabot)
261ba03efe [v10.0.x] Edit global time variable - custom date formats use browser time (#69021)
Edit global time variable - custom date formats use browser time (#69016)

* Edit global time variable - custom date formats use browser time

Fixes https://github.com/grafana/grafana/issues/68748

* run prettier

---------

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>
(cherry picked from commit 7c2358862e)

Co-authored-by: Melori Arellano <melori.arellano@grafana.com>
2023-05-24 13:35:11 -07:00
Grot (@grafanabot)
a25b103c2f [v10.0.x] "Anatomy of a Dashboard" intro docs (#68891)
* "Anatomy of a Dashboard" intro docs (#68011)

* first commit

* Update docs/sources/fundamentals/dashboards-overview/index.md

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

* Update docs/sources/fundamentals/dashboards-overview/index.md

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

* Update docs/sources/fundamentals/dashboards-overview/index.md

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

* Update docs/sources/fundamentals/dashboards-overview/index.md

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

* Update docs/sources/fundamentals/dashboards-overview/index.md

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

* Update docs/sources/fundamentals/dashboards-overview/index.md

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

* applying edited suggestions

* applying edit changes

* Update docs/sources/fundamentals/dashboards-overview/index.md

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

* Apply suggestions from code review

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

* Update docs/sources/fundamentals/dashboards-overview/index.md

* Update docs/sources/fundamentals/dashboards-overview/index.md

* Update docs/sources/fundamentals/dashboards-overview/index.md

* Update docs/sources/fundamentals/dashboards-overview/index.md

* Update docs/sources/fundamentals/dashboards-overview/index.md

* Update docs/sources/fundamentals/dashboards-overview/index.md

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

* Update docs/sources/fundamentals/dashboards-overview/index.md

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

* Update docs/sources/fundamentals/dashboards-overview/index.md

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

* Update docs/sources/fundamentals/dashboards-overview/index.md

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

* Update docs/sources/fundamentals/dashboards-overview/index.md

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

* Apply suggestions from code review

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

* Apply suggestions from code review

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

* makes prettier

---------

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: Chris Moyer <chris.moyer@grafana.com>
(cherry picked from commit 26c59ddc70)

* corrects doc validation errors

---------

Co-authored-by: David Allen <david.allen@grafana.com>
Co-authored-by: Chris Moyer <chris.moyer@grafana.com>
2023-05-24 09:51:57 -05:00
Grot (@grafanabot)
094223d854 [v10.0.x] Enable doc-validator for alerting directories (#68975)
* Enable doc-validator for alerting directories (#68964)

* Enable doc-validator for alerting directories

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

* Adds missing description frontmatter

* Fix some more links

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

* Fix some more links

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

* Fixes anchors

---------

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
(cherry picked from commit 6c4cf4f8b9)

* Fix doc-validator anchor error

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>
2023-05-24 15:36:45 +01:00
Grot (@grafanabot)
981dfd9dba [v10.0.x] InfluxDB: Fix querying retention policies on flux mode (#68985)
InfluxDB: Fix querying retention policies on flux mode (#67722)

Query retention policies only on InfluxQL mode

(cherry picked from commit 373e4cab9a)

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2023-05-24 16:01:46 +02:00
Grot (@grafanabot)
54010b47f7 [v10.0.x] InfluxDB: Fix adding FROM statement when the measurement is an empty string (#68984)
InfluxDB: Fix adding FROM statement when the measurement is an empty string (#67827)

* If the measurement empty don't add FROM statement

* Add comment line

(cherry picked from commit 764f87b485)

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2023-05-24 16:01:25 +02:00
Jack Baldry
2f866cda62 Revert "[v10.0.x] [feat] docs; update admonition syntax" (#68980)
Revert "[v10.0.x] [feat] docs; update admonition syntax (#68857)"

This reverts commit 1e8c28eff4.
2023-05-24 14:54:52 +01:00
Grot (@grafanabot)
0946897262 [v10.0.x] Plugins: Correct the usage of mutex for gRPC plugin implementation (#68609)
Plugins: Correct the usage of mutex for gRPC plugin implementation (#68555)

correct usage of mutex

(cherry picked from commit bb6ec1470d)

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2023-05-24 12:18:59 +00:00
Dimitris Sotirakis
d73bf1838e [v10.0.x] G10: Replace beta with preview references (#68347) (#68950)
G10: Replace `beta` with `preview` references (#68347)

* Update references

* Update grabpl to v3.0.38

(cherry picked from commit 7e816d010c)

# Conflicts:
#	.drone.yml
2023-05-24 10:14:43 +02:00
Kevin Minehart
d1f6d46edd [v10.0.x] CI: Add release verify pipeline (#68756) (#68934)
CI: Add release verify pipeline (#68756)

(cherry picked from commit 79f49c9649)
2023-05-24 00:18:15 +02:00
Grot (@grafanabot)
74af6f9343 [v10.0.x] Update enterprise plugins list (#68913)
Update enterprise plugins list (#68730)

Updated to reflect a couple missing plugins from https://grafana.com/docs/plugins/

(cherry picked from commit 34d294bf56)

Co-authored-by: Ron D <106610617+rgnvldr@users.noreply.github.com>
2023-05-23 14:16:34 -05:00
Andreas Christou
b160f1a92a [v10.0.x] AzureMonitor: Support multi-resource aliases and subscription aliases (#68823)
AzureMonitor: Support multi-resource aliases and subscription aliases (#68648)

Update legend aliases

- Add subscription response type
- Update AzureMonitorQuery type
- Update docs
- Update tests
- Add function to retrieve subscription display name if not present

(cherry picked from commit bca8428f63)
2023-05-23 10:05:59 -06:00
Grot (@grafanabot)
ec1989b850 [v10.0.x] Docs: Fix minor mistakes and rephrase "Manage your alert notifications" entry (#68896)
Docs: Fix minor mistakes and rephrase "Manage your alert notifications" entry (#68851)

* Docs: Fix minor mistakes and rephrase docs for alert notifications

* Update docs/sources/alerting/manage-notifications/_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 4629c79c7a)

Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>
2023-05-23 11:39:48 -03:00
Grot (@grafanabot)
36d8798355 [v10.0.x] Pyroscope: Fix some phlare mentions in the docs (#68869)
Pyroscope: Fix some phlare mentions in the docs (#68846)

(cherry picked from commit b9ee723bb7)

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2023-05-23 13:30:55 +00:00
Grot (@grafanabot)
1e8c28eff4 [v10.0.x] [feat] docs; update admonition syntax (#68857)
[feat] docs; update admonition syntax (#68842)

* [feat] docs; update admonition syntax

- Standardizes according to style conventions: https://grafana.com/docs/writers-toolkit/style-guide/style-conventions/#admonitions
- Prepares docs for better, uniform admonition style.

* Remove false positives and irregularities

* false positive removal

* Update docs/sources/datasources/mysql/_index.md

* Update docs/sources/developers/angular_deprecation/angular-plugins.md

* fix link errors

* Prettify some nested blockquotes

* remoe unnecessary admonition

(cherry picked from commit 1c4bb9ca00)

Co-authored-by: Matt Dodson <47385188+MattDodsonEnglish@users.noreply.github.com>
2023-05-23 07:47:49 -05:00
Grot (@grafanabot)
defce65315 [v10.0.x] Azure Monitor: Fix bug with top value so more than 10 resources can be shown (#68725)
Azure Monitor: Fix bug with top value so more than 10 resources can be shown  (#68333)

(cherry picked from commit dfc2ac284b)

Co-authored-by: Alyssa Bull <58453566+alyssabull@users.noreply.github.com>
2023-05-23 13:07:45 +01:00
Grot (@grafanabot)
615641f095 [v10.0.x] Dashboards: Fix undefined aria labels in Annotation Checkboxes for Programmatic Access (#68873)
Dashboards: Fix undefined aria labels in Annotation Checkboxes for Programmatic Access (#68050)

(cherry picked from commit 86ea0c2bc9)

Co-authored-by: Khushi Jain <57278642+khushijain21@users.noreply.github.com>
2023-05-23 12:32:36 +02:00
Grot (@grafanabot)
dba7dcb99d [v10.0.x] Docker: Add mode label when building docker images (#68871)
Docker: Add `mode` label when building docker images (#68865)

Add mode label when building docker image

(cherry picked from commit bad570ee86)

Co-authored-by: Dimitris Sotirakis <dimitrios.sotirakis@grafana.com>
2023-05-23 10:52:38 +02:00
Grot (@grafanabot)
6683193aa9 [v10.0.x] docs: Trend: Implement docs for v10 (#68862)
docs: Trend: Implement docs for v10 (#67794)

(cherry picked from commit 0a6e3bba6c)

Co-authored-by: Nathan Marrs <nathanielmarrs@gmail.com>
2023-05-23 01:35:08 +02:00
Grot (@grafanabot)
d6e07d7715 [v10.0.x] DS Picker: Use custom scrollbar (#68858)
DS Picker: Use custom scrollbar (#68845)

(cherry picked from commit 9e61172245)

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
2023-05-22 22:21:00 +00:00
Grot (@grafanabot)
fd0878cf30 [v10.0.x] Docs: Plugin extension API - doc review - chunk 4 (#68850)
Docs: Plugin extension API - doc review - chunk 4 (#68594)

* initial commit

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Minor fixes

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Prettier

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Update docs/sources/developers/plugins/extend-the-grafana-ui-with-links.md

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

* Update docs/sources/developers/plugins/extend-the-grafana-ui-with-links.md

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

* Update docs/sources/developers/plugins/extend-the-grafana-ui-with-links.md

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

* Update docs/sources/developers/plugins/extend-the-grafana-ui-with-links.md

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

* Incorporating review feedback

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Update docs/sources/developers/plugins/extend-the-grafana-ui-with-links.md

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

* Update docs/sources/developers/plugins/extend-the-grafana-ui-with-links.md

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

* Update docs/sources/developers/plugins/extend-the-grafana-ui-with-links.md

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

* Incorporating review feedback

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

---------

Signed-off-by: Joe Perez <joseph.perez@grafana.com>
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
(cherry picked from commit c6c3a84349)

Co-authored-by: Joseph Perez <45749060+josmperez@users.noreply.github.com>
2023-05-22 13:48:43 -05:00
Grot (@grafanabot)
05e0745d6b [v10.0.x] Docs: Update with annotations filtering and time regions (#68843) 2023-05-22 18:27:12 +02:00
Grot (@grafanabot)
05e896c8f7 [v10.0.x] OpenTSDB: use an effect to get aggregators and filters (#68837)
OpenTSDB: use an effect to get aggregators and filters (#68785)

* only update state if it's different

* use an effect

(cherry picked from commit 2cbd7f1be6)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-05-22 16:52:14 +02:00
Grot (@grafanabot)
8ff5718782 [v10.0.x] Alerting: Fix stale query preview error (#68836)
Alerting: Fix stale query preview error (#68619)

* Use mutable ref to keep queries to be previewed to prevent stale state

* Extract code related to AlertQueryRunner to a separate hook

* Use hooks form state to keep fresh queries, fix recording rules preview

* Remove unused import

* Update query update explanation

(cherry picked from commit b37a6e9d4c)

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
2023-05-22 16:41:18 +02:00
Grot (@grafanabot)
dd4419568d [v10.0.x] Prometheus: Update schema with legendFormat and intervalFactor (#68835)
Prometheus: Update schema with legendFormat and intervalFactor (#68687)

add legendFormat and intervalFactor to the schema

(cherry picked from commit 670c987409)

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2023-05-22 16:41:01 +02:00
Grot (@grafanabot)
5a6e6624e0 [v10.0.x] AnonymousAuth: Fix concurrent read-write crash (#68803)
AnonymousAuth: Fix concurrent read-write crash (#68637)

clone http req before tagging

(cherry picked from commit 05e71d4c6b)

Co-authored-by: Jo <joao.guerreiro@grafana.com>
Co-authored-by: jguer <me@jguer.space>
2023-05-22 16:40:33 +02:00
Grot (@grafanabot)
e21236b55e [v10.0.x] Dashboard: Fix panel description event triggering every time panel is rendered (#68831)
Co-authored-by: Alexa V <239999+axelavargas@users.noreply.github.com>
Fix panel description event triggering every time panel is rendered (#68791)
2023-05-22 16:11:36 +02:00
Grot (@grafanabot)
4b66d1286e [v10.0.x] Graph: Fix bug with showing/hiding the legend (#68829)
Graph: Fix bug with showing/hiding the legend (#68774)

* don't unmount the root when hiding the legend

* update comment

(cherry picked from commit 0b6c5722a5)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-05-22 16:05:41 +02:00
Grot (@grafanabot)
d62f2989a8 [v10.0.x] Datagrid: Hide from panel list if toggle disabled (#68818)
Datagrid: Hide from panel list if toggle disabled (#68482)

Hide datagrid from panel list if ff disabled

(cherry picked from commit 6dbadf614b)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2023-05-22 15:46:24 +02:00
Grot (@grafanabot)
c6714730b8 [v10.0.x] Alerting: Add additional contact points for external AM (#68778)
Alerting: Add additional contact points for external AM (#67920)

(cherry picked from commit a44ac0ed63)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2023-05-22 15:30:01 +02:00
Dimitris Sotirakis
1a736942ae [v10.0.x] CI: Run trigger-test-release only on PRs against main (#68794) (#68815)
CI: Run `trigger-test-release` only on PRs against main (#68794)

Run trigger-test-release only on PRs against main

(cherry picked from commit 623c014cda)

# Conflicts:
#	.drone.yml

# Conflicts:
#	.drone.yml
2023-05-22 15:08:48 +02:00
Dimitris Sotirakis
d5e62fa348 [v10.0.x] Docker images: Don't fail if a PR comes from a fork (#68765) (#68784)
Docker images: Don't fail if a PR comes from a fork (#68765)

* Update grabpl

* Allow publish images to fail for PRs

(cherry picked from commit 04e2d9055d)

# Conflicts:
#	.drone.yml
2023-05-22 14:33:05 +02:00
Grot (@grafanabot)
d0b45d87fe [v10.0.x] Docs: Fix feature toggle docs generation (#68797)
Docs: Fix feature toggle docs generation (#68733)

(cherry picked from commit a7cec6dd03)

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2023-05-22 14:22:41 +02:00
Grot (@grafanabot)
89ade6043d [v10.0.x] fix: Use fall back alert type for data source healthcheck alert when status is not recognised (#68806)
fix: Use fall back alert type for data source healthcheck alert when status is not recognised (#68650)

(cherry picked from commit 39e57489a1)

Co-authored-by: Andriy <andriy.urbanas@grafana.com>
2023-05-22 14:01:47 +02:00
Grot (@grafanabot)
7d4da5cf5e [v10.0.x] AzureMonitor: Ensure legacy properties containing template variables are correctly migrated (#68792)
AzureMonitor: Ensure legacy properties containing template variables are correctly migrated (#68697)

* Update migration ordering

- Update migration in applyTemplateVariables to account for interpolation from expression datasource
- Update mock to ensure overrides are passed through correctly
- Update tests
- Update migrateQuery function name for clarity

* Fix tests

* Remove comment

(cherry picked from commit 0be29b4c78)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2023-05-22 12:25:40 +02:00
Grot (@grafanabot)
fc013825d8 [v10.0.x] RBAC: Remove legacy AC editor and admin role on new dashboard route (#68777)
RBAC: Remove legacy AC editor and admin role on new dashboard route (#68762)

remove legacy AC editor and admin role on new dashboard route

(cherry picked from commit 94283f5039)

Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
2023-05-22 10:37:35 +01:00
Grot (@grafanabot)
9fb6dcdeb8 [v10.0.x] fixed broken table format in docs (#68772)
fixed broken table format in docs (#68711)

* fixed broken table format in docs

* added prettier version of doc

(cherry picked from commit dc656ecd8a)

Co-authored-by: Krishna Dutt Panchagnula <krishnadutt123@gmail.com>
2023-05-22 10:11:39 +01:00
Dimitris Sotirakis
996b4c30c2 [v10.0.x] G10: Post docker pull commands for local testing (#67489) (#68686)
* G10: Post `docker pull` commands for local testing (#67489)

* Add grabpl publish images

Update grabpl - add github pr token

* Replace github_pr_token with gh app

# Conflicts:
#	.drone.yml
#	scripts/drone/vault.star

# Conflicts:
#	.drone.yml

# Conflicts:
#	.drone.yml

* Lint starlark

Add forgotten secrets

Lint starlark

Change secrets

* Update grabpl to v3.0.35

* Lint starlark

* Remove unnecessary secrets

(cherry picked from commit 26bacf6d4c)

# Conflicts:
#	.drone.yml

* Update grabpl to v3.0.36
2023-05-22 09:47:53 +02:00
Grot (@grafanabot)
a8acaa3681 [v10.0.x] DS Picker takes the max height available and flip when needed (#68729)
DS Picker takes the max height available and flip when needed (#68698)

(cherry picked from commit 49467b3e5a)

Co-authored-by: Juan Cabanas <juan.cabanas@grafana.com>
Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
2023-05-18 20:20:28 +02:00
Grot (@grafanabot)
5ef56b2843 [v10.0.x] Enable doc-validator for specific directories (#68724)
* Enable doc-validator for specific directories (#63524)

* Enable doc-validator for specific directories

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

* Fix one linting error to trigger CI

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

* Update doc-validator to latest release

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

* Update make-docs procedure

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

* Use doc-validator version from CI in local make target

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

* Revert to 1.11.0

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

* adds missing descriptions

* Fix titles and headings

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

* Fix link formats

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

* Fix easy to resolve anchors

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

* Remove broken anchor link

This anchor appears to have been broken for a long time.

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

* Use doc-validator image with support for numbered anchors

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

* Update make-docs procedure to support doc-validator 2.0.x

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

* Fix a bunch of broken anchors

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

* Ignore old whatsnew content

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

* Update doc-validator to v2.0.x and use reviewdog to report errors

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

* removes broken links

---------

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Chris Moyer <chris.moyer@grafana.com>
(cherry picked from commit 560f49b3dc)

* Fix doc-validator linting

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>
2023-05-18 19:07:45 +02:00
Grot (@grafanabot)
e4d5fb99ca [v10.0.x] Azure Monitor: Fix bug that did not show alert rule preview (#68581) 2023-05-18 10:47:42 -06:00
Grot (@grafanabot)
69d19f6aea [v10.0.x] Clarify Graphite version and type to set if using Grafana Cloud (#68721)
Clarify Graphite version and type to set if using Grafana Cloud (#68239)

* Clarify Graphite version and type to set if using Grafana Cloud

* Update _index.md

(cherry picked from commit 9f7f82c3cc)

Co-authored-by: Fiona Liao <fiona.y.liao@gmail.com>
2023-05-18 18:15:51 +02:00
Grot (@grafanabot)
162b6c7db0 [v10.0.x] Nested folders: only stop recursing up the tree if we hit a folder (#68716)
Nested folders: only stop recursing up the tree if we hit a folder (#68676)

only stop recursing up the tree if we hit a folder

(cherry picked from commit 0a44793390)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-05-18 18:09:07 +02:00
Grot (@grafanabot)
1bc31120dd [v10.0.x] Chore: Refactor Search out-of-order fix (#68710)
Chore: Refactor Search out-of-order fix (#68445)

(cherry picked from commit 9e4b532979)

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2023-05-18 16:04:48 +00:00
Grot (@grafanabot)
1740dba8f3 [v10.0.x] Service graph: Fix error when service graph metrics are aggregated (#68692)
Service graph: Fix error when service graph metrics are aggregated (#68613)

make service graph work with aggregated metrics

(cherry picked from commit e1c2eb8c10)

Co-authored-by: Domas <domasx2@gmail.com>
2023-05-18 13:22:34 +03:00
Grot (@grafanabot)
1e9f73df62 [v10.0.x] Chore: Ignore unique constrain failure when creating the main organization (#68674)
Chore: Ignore unique constrain failure when creating the main organization (#68644)

Chore: Ignore unique constrain failure when creatin the main organization
(cherry picked from commit 633b7875e7)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2023-05-18 10:40:39 +02:00
Grot (@grafanabot)
4cb0fb9c92 [v10.0.x] Barchart: Update gdev dashboard for tooltips (#68665)
Barchart: Update gdev dashboard for tooltips (#68657)

(cherry picked from commit 33af88481c)

Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
2023-05-17 16:06:30 -07:00
Grot (@grafanabot)
eb658a26a1 [v10.0.x] Barchart: Apply field visibility to traceID (#68585)
Barchart: Apply field visibility to traceID (#68524)

(cherry picked from commit 160e207e47)

Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
2023-05-17 16:05:20 -07:00
Grot (@grafanabot)
330e64867f [v10.0.x] NodeGraph: Fix overlaps preventing opening an edge context menu when nodes were too close (#68628)
NodeGraph: Fix overlaps preventing opening an edge context menu when nodes were too close (#68571)

(cherry picked from commit 14936f85df)

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2023-05-17 19:10:46 +02:00
Grot (@grafanabot)
fb679a0f85 [v10.0.x] Accessibility: Corrected aria-label for Edit Panel (#68640)
Accessibility: Corrected aria-label for Edit Panel (#67185)

* Accessibility: Corrected aria-label for Edit Panel

* Added data-testid

* Added data-testid

* Added betterer results

(cherry picked from commit 416e347e70)

Co-authored-by: Khushi Jain <57278642+khushijain21@users.noreply.github.com>
2023-05-17 18:28:05 +03:00
Josh Hunt
6f803efb63 [v10.0.x] GrafanaUI: Support Tooltip as Dropdown child (#68639)
GrafanaUI: Support Tooltip as Dropdown child (#68521)

Co-authored-by: eledobleefe <laura.fernandez@grafana.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Co-authored-by: L-M-K-B <48948963+L-M-K-B@users.noreply.github.com
(cherry picked from commit 7b3221d494)
2023-05-17 18:12:49 +03:00
Grot (@grafanabot)
21e2ac6d8a [v10.0.x] Elasticsearch: Handle no-index case in backend mode (#68629)
Elasticsearch: Handle no-index case in backend mode (#68534)

* elastic: backend migration: fix no-index case

* improved code

(cherry picked from commit fcef387151)

Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
2023-05-17 13:39:07 +00:00
Ivana Huckova
3c1b5dda40 [v10.0.x] Elasticsearch: Fix passing of limit and datalinks to logs data frame (#68626)
* Elasticsearch: Fix passing of limit and datalinks to logs data frame (#68554)

* Elasticsearch: Fix passing of limit and datalinks to logs data frame

* Update public/app/core/logsModel.ts

Co-authored-by: François Massot <francois.massot@gmail.com>

---------

Co-authored-by: François Massot <francois.massot@gmail.com>
(cherry picked from commit dbbbc46351)

* Add missing comment
2023-05-17 15:34:13 +02:00
Grot (@grafanabot)
e7131470cd [v10.0.x] Docs: Update run behind proxy docs (#68610)
Docs: Update run behind proxy docs (#68608)

(cherry picked from commit 5457a9ecf2)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2023-05-17 07:58:15 -05:00
Grot (@grafanabot)
e2fbb6ef97 [v10.0.x] Remove no-data source screen (#68623)
Dashboards: Remove no-data source screen (#68574)

* Dashboards: Remove non-ds configured landing page

* Remove `datasourceOnboarding` feature toggle

(cherry picked from commit 1505a188eb)

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
2023-05-17 15:51:31 +03:00
Grot (@grafanabot)
feb94ac72f [v10.0.x] Elasticsearch: Implement filter query to not run hidden queries trough backend (#68614)
Elasticsearch: Implement filter query to not run hidden queries trough backend (#68563)

Elasticsearch: Implement filter query
(cherry picked from commit e74bbadecd)

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2023-05-17 07:46:22 -05:00
Grot (@grafanabot)
b57f0aaf78 [v10.0.x] Chore: Update generated scss (#68624)
Chore: Update generated scss (#68618)

(cherry picked from commit d20a03e2d1)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2023-05-17 15:36:39 +03:00
Grot (@grafanabot)
1c4645c1de [v10.0.x] TopNav: Tone down shadow a bit in light theme (#68622)
TopNav: Tone down shadow a bit in light theme (#68282)

* TopNav: Tone down shadow a bit in light theme

* softer shadow

(cherry picked from commit 5f84dad7e4)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2023-05-17 15:30:37 +03:00
Ashley Harrison
cd1fffe054 NestedFolders: make sure DashboardPage code is feature toggled correc… (#68606)
NestedFolders: make sure DashboardPage code is feature toggled correctly (#68602)

make sure DashboardPage code is feature toggled correctly

(cherry picked from commit bbb6795757)
2023-05-17 12:29:58 +03:00
Grot (@grafanabot)
bd533a2246 [v10.0.x] API: Add deprecation notice for updating folder UID (#68567)
API: Add deprecation notice for updating folder UID (#68543)

* API: Add deprecation notice for updating folder UID

(cherry picked from commit 14fb4ff779)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2023-05-17 04:05:38 -05:00
Grot (@grafanabot)
bc5674cdee [v10.0.x] DarkTheme: Fix dark theme shadows (#68599)
DarkTheme: Fix dark theme shadows (#68358)

* DarkTheme: Fix dark theme shadows

* Update

(cherry picked from commit 37791e7a01)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2023-05-17 08:23:26 +00:00
Grot (@grafanabot)
303bb6c5a8 [v10.0.x] Sparkline: Sort dataframe (#68598)
Sparkline: Sort dataframe (#68007)

* Sort sparkline dataframe

* Sort frame only if needed

* add utils test

(cherry picked from commit 94801c9c75)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2023-05-17 08:21:08 +03:00
Grot (@grafanabot)
714f9b5e7a [v10.0.x] Chore: remove pre tags from DOMPurify config (#68593)
Chore: remove pre tags from DOMPurify config (#68512)

(cherry picked from commit 4ccaf801d7)

Co-authored-by: Kristian Bremberg <114284895+KristianGrafana@users.noreply.github.com>
2023-05-16 22:22:41 +00:00
Grot (@grafanabot)
4dc76672d3 [v10.0.x] AzureMonitor: Traces updates (#68577)
AzureMonitor: Traces updates (#68462)

* Use fully qualified resource identifiers

* Add additional data link to explore parent span

* Correctly order links to not break trace logs functionality

(cherry picked from commit bf75969794)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2023-05-16 19:08:41 +01:00
Andreas Christou
feae460c48 [v10.0.x] E2E: Fix configurePanel flow (#68580)
E2E: Fix configurePanel flow (#68487)

* Updates for new datasource picker

* Correct typing to ensure datasource selection

* Remove unused import

* Update labels

* Update labels and fix test

* Fix another test

(cherry picked from commit 51c15f3a89)

# Conflicts:
#	public/app/features/explore/Explore.test.tsx
2023-05-16 20:53:07 +03:00
Grot (@grafanabot)
fde1e6f028 [v10.0.x] Cloudwatch Logs: Ignore non-time grouping fields in expressions and alerts (#68547)
Cloudwatch Logs: Ignore non-time grouping fields in expressions and alerts (#67608)

(cherry picked from commit 0612f1f87a)

Co-authored-by: Isabella Siu <Isabella.siu@grafana.com>
2023-05-16 12:14:14 -04:00
Grot (@grafanabot)
09c68763ff [v10.0.x] elastic: more tests (#68562)
elastic: more tests (#68533)

* elastic: more tests

* fix lint error

(cherry picked from commit 6189f48be7)

Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
2023-05-16 17:50:12 +02:00
Grot (@grafanabot)
18ef15e2b8 [v10.0.x] Node graph: Fix req/s in value (#68558)
Node graph: Fix req/s in value (#68441)

fix req/s in node graph

(cherry picked from commit 43df362aed)

Co-authored-by: Domas <domasx2@gmail.com>
2023-05-16 17:57:45 +03:00
Grot (@grafanabot)
5940138ddc [v10.0.x] NestedFolders: Show Dashboard and Folder full breadcrumb hierarchy (#68546)
NestedFolders: Show Dashboard and Folder full breadcrumb hierarchy (#68308)

* update FolderDTO to match backend struct

* hacky way to get folder page breadcrumbs working

* hacky way to get dashboard nested breadcrumbs working

* undo route changes, get url from folder

* fix breadcrumbs in dashboard settings

* add parent pages to navIndex

* adjust getRootSectionForNode to just return the parent of a leaf node

* undo changes to generated files

* undo changes to toggles_gen.go

* feature toggle dashboardInit code

* remove unnecessary code in home dashboard

* build navModel directly, don't use getNavModel

* don't need fallback here

* remove getLoadingNav since it's not used anymore

* don't need to hide tabs from breadcrumbs anymore

* use id to find dashboards tab

(cherry picked from commit 82114cb316)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-05-16 16:55:47 +03:00
Grot (@grafanabot)
d0cf3d1b48 [v10.0.x] Nested folders: Allow renaming a folder multiple times (#68550)
Nested folders: Allow renaming a folder multiple times (#68379)

Return folder version in response that is required for updating
the entry in the dashboard table.

(cherry picked from commit d458292b66)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2023-05-16 16:52:54 +03:00
Grot (@grafanabot)
2641637106 [v10.0.x] Dashboard: Fix library panels in collapsed rows not getting updated (#68537)
Dashboard: Fix library panels in collapsed rows not getting updated (#66643)

(cherry picked from commit f478504bc9)

Co-authored-by: Victor Colomb <51762123+VictorColomb@users.noreply.github.com>
2023-05-16 13:06:46 +01:00
Domas
c3c68d2aa2 DataLinks: Ensure replaceVariables provided to link.onBuildUrl is bou… (#68442)
DataLinks: Ensure replaceVariables provided to link.onBuildUrl is bound to data frame variables (#68371)

* bind variable replacer provided to link.onBuildUrl to data frame vars

* revert internal link change

(cherry picked from commit bb2cbd2e01)
2023-05-16 11:20:40 +03:00
Grot (@grafanabot)
2712008ca1 [v10.0.x] Trend: Filter out time fields (#68507)
Trend: Filter out time fields (#68504)

(cherry picked from commit 5a5860256f)

Co-authored-by: Nathan Marrs <nathanielmarrs@gmail.com>
2023-05-16 02:09:15 +03:00
Grot (@grafanabot)
61c237a25e [v10.0.x] Barchart: Add gdev dashboard for tooltips (#68505)
Barchart: Add gdev dashboard for tooltips (#68417)

* Barchart: Add gdev dashboard for tooltips

* Add graph-ng tag for uplot dependency

---------

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

Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
2023-05-15 22:56:05 +00:00
Grot (@grafanabot)
dd27c4e854 [v10.0.x] Canvas: Fix field not found (#68503)
Canvas: Fix field not found (#68415)

(cherry picked from commit 92d865ccce)

Co-authored-by: Adela Almasan <88068998+adela-almasan@users.noreply.github.com>
2023-05-16 01:41:38 +03:00
Grot (@grafanabot)
9d162ef3f6 [v10.0.x] Timeseries: Graph series override stack migration (#68492)
Timeseries: Graph series override stack migration (#68491)

(cherry picked from commit e0d8f3b4a7)

Co-authored-by: Adela Almasan <88068998+adela-almasan@users.noreply.github.com>
2023-05-15 21:22:19 +00:00
Grot (@grafanabot)
4d1a71f589 [v10.0.x] PanelQueryRunner: Ensure same transformations before reusing lastProcessedFrames (#68499)
PanelQueryRunner: Ensure same transformations before reusing lastProcessedFrames (#68498)

(cherry picked from commit 8ba1762618)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2023-05-15 23:57:34 +03:00
Grot (@grafanabot)
797298555c [v10.0.x] AzureMonitor: Update docs with Traces information (#68493)
AzureMonitor: Update docs with Traces information (#68104)

* Update docs for traces

- Include note on timespan changes for logs queries

* Review

* Review

(cherry picked from commit 778a09eaa7)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2023-05-15 14:25:54 -05:00
Grot (@grafanabot)
c4ec980527 [v10.0.x] Docs: Plugin doc review changes from chunk 1-B with corrected set of files (#68149)
Docs: Plugin doc review changes from chunk 1-B with corrected set of files (#67164)

* Re-pushing doc review changes from 1-B with fewer files

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Fix for URL examples

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Data frames fixes

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Fixes from doc review

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* More doc review changes

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Doc fixes

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Doc fix

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Prettier

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Fix migration index

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Fix screenshot

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Doc fixes

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Quick fix

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

---------

Signed-off-by: Joe Perez <joseph.perez@grafana.com>
(cherry picked from commit d6ba522c3c)

Co-authored-by: Joseph Perez <45749060+josmperez@users.noreply.github.com>
2023-05-15 12:50:24 -05:00
Dimitris Sotirakis
d2f74c4942 [v10.0.x] CI: Add delivery bot secrets to publish images step (#68467) (#68473)
CI: Add delivery bot secrets to publish images step (#68467)

Add delivery bot secrets

(cherry picked from commit 55622615de)

# Conflicts:
#	.drone.yml
#	scripts/drone/vault.star
2023-05-15 16:58:38 +02:00
Horst Gutmann
67ad2032df [v10.0.x] CI: Update grabpl to 3.0.34 (#68456) (#68475)
* CI: Port of init-enterprise fix from 9.4.10

* CI: Update grabpl to 3.0.34

(cherry picked from commit 35ccfa6131)

Backport https://github.com/grafana/grafana/pull/68456
2023-05-15 17:04:11 +03:00
Grot (@grafanabot)
27059d710b [v10.0.x] Tempo: Fix get label values based on CoreApp type (#68468)
Tempo: Fix get label values based on CoreApp type (#68463)

Fix and update test

(cherry picked from commit a1f76af15a)

Co-authored-by: Joey <90795735+joey-grafana@users.noreply.github.com>
2023-05-15 14:53:04 +01:00
Grot (@grafanabot)
050b7e5e7b [v10.0.x] FlameGraph: Add user interaction reporting (#68459)
FlameGraph: Add user interaction reporting (#68458)

(cherry picked from commit 47b7b05591)

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2023-05-15 13:17:50 +00:00
Grot (@grafanabot)
ff574e707d [v10.0.x] ToolbarButtonRow: prevent closure of overflow menu when interacting with portal elements (#68457)
ToolbarButtonRow: prevent closure of overflow menu when interacting with portal elements (#68319)

* don't close the overflow menu when interacting with something in a portal

* keep overflow ref logic

(cherry picked from commit 5d91ace745)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-05-15 15:56:03 +03:00
Ivan Ortega Alba
7e253d37c3 [v10.0.x] DS Picker: Align open advanced button to right (#68444)
DS Picker: Align open advanced button to right (#68394)

(cherry picked from commit da00df8e5c)
2023-05-15 14:44:37 +02:00
Grot (@grafanabot)
531b6f29fd [v10.0.x] Nested folders: Clear selection state when navigating to a different folder (#68455)
Nested folders: Clear selection state when navigating to a different folder (#68438)

* clear selection state when navigating to a different folder

* consolidate useEffects

(cherry picked from commit 7e3c68d3c1)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-05-15 15:36:37 +03:00
Grot (@grafanabot)
189f2879c0 [v10.0.x] FlameGraph: Debounce search update preventing too frequent rerenders (#68453)
FlameGraph: Debounce search update preventing too frequent rerenders  (#68405)

(cherry picked from commit e6db01dcbe)

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2023-05-15 15:36:34 +03:00
Grot (@grafanabot)
9172ff35ed [v10.0.x] FlameGraph: Fix table sort being reset when search changes (#68454)
FlameGraph: Fix table sort being reset when search changes (#68409)

(cherry picked from commit a0942bd1df)

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2023-05-15 15:36:11 +03:00
Josh Hunt
f7047afa5c [v10.0.x] Search: Fix Search returning results out of order (#68387)
Search: Fix Search returning results out of order (#68370)

* Search: Fix Search returning results out of order

* test

(cherry picked from commit 78afddebbf)
2023-05-15 09:01:46 +00:00
Grot (@grafanabot)
9c76665998 [v10.0.x] NewsDrawer: Add grot to news drawer (after news items) (#68435)
NewsDrawer: Add grot to news drawer (after news items)  (#68173)

* NewsDrawer: Add grot to drawer header

* Update

* Move to bottom

* Updates

* reverted unrelated change

* Update

* fixing test

(cherry picked from commit c8fd3c20cd)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2023-05-15 06:25:49 +00:00
Grot (@grafanabot)
d63c7caad5 [v10.0.x] XYChart: Use fixed opacity, reduce memory pressure (#68424)
XYChart: Use fixed opacity, reduce memory pressure (#68423)

(cherry picked from commit ea0bf989cb)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2023-05-12 19:13:40 -05:00
Grot (@grafanabot)
f2593ec7af [v10.0.x] ResourcePicker: Fix selecting icons (#68422)
ResourcePicker: Fix selecting icons (#68419)

(cherry picked from commit 24037ddd59)

Co-authored-by: Adela Almasan <88068998+adela-almasan@users.noreply.github.com>
2023-05-12 17:12:23 -07:00
Grot (@grafanabot)
0a4f4c1951 [v10.0.x] Plugins doc review chunk 2 (#68413)
Plugins doc review chunk 2 (#67691)

* Doc style edit for 7 topics

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Proofread topics

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Prettier

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Doc fix

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Update docs/sources/developers/plugins/add-query-editor-help.md

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

* Doc fixes

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Changes from doc review

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Incorporate review feedback

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* More fixes

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* More doc fixes

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

---------

Signed-off-by: Joe Perez <joseph.perez@grafana.com>
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
(cherry picked from commit 49a18bc8e2)

Co-authored-by: Joseph Perez <45749060+josmperez@users.noreply.github.com>
2023-05-12 14:01:01 -05:00
Grot (@grafanabot)
5f0f4ab417 [v10.0.x] Previews: remove docs (#68406)
Previews: remove docs (#68042)

remove dashboard preview docs

(cherry picked from commit 8dee5d3364)

Co-authored-by: Artur Wierzbicki <artur.wierzbicki@grafana.com>
2023-05-12 12:35:52 -05:00
Grot (@grafanabot)
86195d1937 [v10.0.x] Drawer: Position under nav & minor redesign (#68396)
Drawer: Position under nav & minor redesign  (#67824)

* Drawer: Redesign WIP

* Fix double margin

* Teak pos

* align paddings

* Hide toolbar actions when drawer is open

* deprecate expandable

* Updated test

* remove expandable var

* Added clickaway

(cherry picked from commit ae1a85b5ad)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2023-05-12 09:31:38 -07:00
Grot (@grafanabot)
1654b7abed [v10.0.x] Add/Edit Panel: Enable new DS picker toggle by default (#68391)
* Add/Edit Panel: Enable new DS picker toggle by default (#68380)

(cherry picked from commit ede8df846e)

---------

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
2023-05-12 09:31:11 -07:00
Grot (@grafanabot)
2cf876d8f8 [v10.0.x] Wording changes to improve clarity. (#68401)
Wording changes to improve clarity. (#66045)

* Wording changes to improve clarity.

* Update docs/sources/setup-grafana/set-up-for-high-availability.md

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

* Update docs/sources/setup-grafana/set-up-for-high-availability.md

* Update docs/sources/setup-grafana/set-up-for-high-availability.md

* Update docs/sources/setup-grafana/set-up-for-high-availability.md

* Update docs/sources/setup-grafana/set-up-for-high-availability.md

* Update docs/sources/setup-grafana/set-up-for-high-availability.md

* ran doc validator, make corrections

---------

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: Chris Moyer <chris.moyer@grafana.com>
(cherry picked from commit fd83b17b7f)

Co-authored-by: colinedwardwood <colin.wood@grafana.com>
2023-05-12 11:20:55 -05:00
Grot (@grafanabot)
d5fd652f83 [v10.0.x] Drawer: Introduce a size property that set's width percentage and minWidth (#68128)
Drawer: Introduce a size property that set's width percentage and minWidth  (#67809)

* Drawer: Introduce drawer size that sets width and min-width

* media queries

* Change large drawer to 75%

* Change news drawer to medium as the news items have better layout then with images on the side

* Tweaks and fixed inline drawer issue

* review fixes

* Deprecate inline, update mdx docs

* remove inline var

(cherry picked from commit 20217db100)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2023-05-12 18:01:41 +02:00
Grot (@grafanabot)
c126ea976f [v10.0.x] Command Palette: Prevent stale search results from overwriting newer results (#68392)
Command Palette: Prevent stale search results from overwriting newer results (#68377)

* only update the state if this is the most recent request

* fix empty state as well

* improve perf of recent dashboards

(cherry picked from commit 446885bd1a)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-05-12 18:33:04 +03:00
Grot (@grafanabot)
42ad031585 [v10.0.x] Explore: Remove data source onboarding page (#68381)
Explore: Remove data source onboarding page (#68131)

* Remove EmptyStateWrapper

(cherry picked from commit cee838c8a8)

Co-authored-by: Haris Rozajac <58232930+harisrozajac@users.noreply.github.com>
2023-05-12 08:16:39 -06:00
Grot (@grafanabot)
fe15f75256 [v10.0.x] Settings: Add ability to override skip_org_role_sync with Env variables (#68376)
Settings: Add ability to override `skip_org_role_sync` with Env variables (#68364)

Switch to using the SectionsWithOverride for settings for skip org role sync

(cherry picked from commit 1a79c8a601)

Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
2023-05-12 13:58:19 +01:00
Grot (@grafanabot)
573491e685 [v10.0.x] Navigation: Add keyboard shortcut to navigate directly to Dashboards (#68374)
Navigation: Add keyboard shortcut to navigate directly to Dashboards (#68350)

* add go to dashboards keybinding

* add shortcut to keybindings modal

(cherry picked from commit 4f987a4a5d)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-05-12 13:52:02 +01:00
Dimitris Sotirakis
032b615de2 [v10.0.x] CI: Add .drone.yml in pathschanged trigger for lint_backend pipeline (#68348) (#68369)
CI: Add `.drone.yml` in pathschanged trigger for `lint_backend` pipeline (#68348)

Add .drone.yml in pathschanged for lint_backend

(cherry picked from commit b7b13067a5)

# Conflicts:
#	.drone.yml
2023-05-12 13:25:27 +01:00
Giordano Ricci
c1e8c3b2c4 [v10.0.x] Explore: Promote exploreMixedDatasource to Stable & enable by default (#68353) 2023-05-12 12:44:57 +01:00
Grot (@grafanabot)
7e0d4ae355 [v10.0.x] docs: add legacy alerting deprecation notice (#68355)
docs: add legacy alerting deprecation notice (#68292)

Co-authored-by: Armand Grillet <2117580+armandgrillet@users.noreply.github.com>
Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
(cherry picked from commit 4310f574db)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2023-05-12 11:40:53 +00:00
Grot (@grafanabot)
691248d8e4 [v10.0.x] SAML UI: Adds documentation link to the Authentication UI (#68363)
SAML UI: Adds documentation link to the Authentication UI (#68062)

* adds documentation link to the saml ui

* add correct link

* add link to docuemntation

* add documentation etxt

* documentation update wordings

(cherry picked from commit 09d7d25c9f)

Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
2023-05-12 12:17:52 +01:00
Grot (@grafanabot)
2fb5bc3a15 [v10.0.x] Docs: Rename Phlare to Grafana Pyroscope (#68352)
Docs: Rename Phlare to Grafana Pyroscope (#67224)

(cherry picked from commit dd80471a92)

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2023-05-12 10:52:13 +02:00
Grot (@grafanabot)
77f7e8b84e [v10.0.x] Flamegraph: Fix tooltip positioning (#68312)
Flamegraph: Fix tooltip positioning (#67938)

(cherry picked from commit 37de4a825b)

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2023-05-12 10:50:08 +02:00
Grot (@grafanabot)
c0473f492c [v10.0.x] Pyroscope: Add authentication when calling backendType resource API (#68311)
Pyroscope: Add authentication when calling backendType resource API (#67667)

(cherry picked from commit 8da90f624d)

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2023-05-12 10:49:54 +02:00
Grot (@grafanabot)
b811e9c517 [v10.0.x] Docs: Clarify precedence of Grafana settings (#68063)
Docs: Clarify precedence of Grafana settings (#68020)

(cherry picked from commit 6aab5e35d5)

Co-authored-by: Vardan Torosyan <vardants@gmail.com>
2023-05-11 21:55:18 -07:00
Grot (@grafanabot)
c88819b0d7 [v10.0.x] Docs: Correct capitalization of openSUSE (#68337)
Docs: Correct capitalization of openSUSE (#67567)

Correct capitalization of openSUSE

(cherry picked from commit 7e0031ec36)

Co-authored-by: Clayton Cornell <131809008+clayton-cornell@users.noreply.github.com>
2023-05-11 15:35:51 -05:00
Grot (@grafanabot)
783d667968 [v10.0.x] PublicDashboards: change wording and FF to public preview state (#68328)
PublicDashboards: change wording and FF to public preview state (#68262)

(cherry picked from commit 11c388a10f)

Co-authored-by: Ezequiel Victorero <ezequiel.victorero@grafana.com>
2023-05-11 17:29:49 -03:00
Grot (@grafanabot)
ea62d2d8e2 [v10.0.x] AzureMonitor: Update query tracking (#68324)
AzureMonitor: Update query tracking (#68114)

* Update tracking

- Add traces tracking
- Update other query type tracking

* Fix lint

* More tracking

* Lint

(cherry picked from commit 5a044ac4b4)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2023-05-11 17:50:47 +01:00
Grot (@grafanabot)
54b65f8a74 [v10.0.x] Barchart: Ensure data field overrides apply (#68320)
Barchart: Ensure data field overrides apply (#67872)

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

Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
2023-05-11 16:45:44 +00:00
Grot (@grafanabot)
d116f634a1 [v10.0.x] Tempo: Escape regex-sensitive characters in span name before building promql query (#68313)
Tempo: Escape regex-sensitive characters in span name before building promql query (#66301)

* Tempo: escape regex-sensitive characters in span name before building promql query

* Make gen-cue

* Add type

* Add tests

* Test

* Minor update

---------

Co-authored-by: Joey Tawadrous <joey.tawadrous@grafana.com>
(cherry picked from commit 8b1afb594d)

Co-authored-by: gordeevnm <gordeevnm@gmail.com>
2023-05-11 15:51:26 +01:00
Grot (@grafanabot)
b02a4bf178 [v10.0.x] SAML UI: configuration file tooltip info (#68309)
SAML UI: configuration file tooltip info (#67861)

* adds icon and text to the card if enabled in inifile

* make use of verbose settings

* add state to enabledInIniFile

* rename to configFound and removal of default values

(cherry picked from commit 9b10664560)

Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
2023-05-11 14:27:52 +01:00
Grot (@grafanabot)
6138f96396 [v10.0.x] DS Picker: Do not create extra history entries for panel onboarding (#68284)
DS Picker: Do not create extra history entries for panel onboarding (#68227)

(cherry picked from commit 0565c3440f)

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
2023-05-11 15:14:14 +02:00
Grot (@grafanabot)
2ee5a009cd [v10.0.x] Candlestick: Fix panel not rendering in candles-only mode (#68307)
Candlestick: Fix panel not rendering in candles-only mode (#68279)

(cherry picked from commit b96a2c1b62)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2023-05-11 12:49:48 +00:00
Grot (@grafanabot)
14be55f682 [v10.0.x] AngularDeprecation: Show warnings in panel edit for angular panels (#68083)
AngularDeprecation: Show warnings in panel edit for angular panels (#67891)

* AngularDeprecation: Show warnings in panel edit for angular panels

* update wording

* Update public/app/features/dashboard/components/PanelEditor/AngularPanelPluginWarning.tsx

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

* Update public/app/features/dashboard/components/PanelEditor/AngularPanelPluginWarning.tsx

---------

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

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2023-05-11 12:27:18 +00:00
Grot (@grafanabot)
fdbe99b48a [v10.0.x] Nested folders: Fix missing URL from folder responses (#68226)
Nested folders: Fix missing URL from folder responses (#68082)

* Nested folders: Set URL in folder responses always

* Apply suggestions from code review

Co-authored-by: Arati R. <33031346+suntala@users.noreply.github.com>
(cherry picked from commit d883404f50)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2023-05-11 12:50:47 +03:00
Grot (@grafanabot)
869a693bcf [v10.0.x] Dashboard: Fix Drawer validation to avoid errors with empty request objects (#68287)
Co-authored-by: Alexa V <239999+axelavargas@users.noreply.github.com>
Fix Drawer validation to avoid errors with empty `request` objects (#68214)
2023-05-11 11:29:32 +02:00
Grot (@grafanabot)
298542e353 [v10.0.x] Improve DS Advance Picker to give user context about the built in DS and CTA (#68252)
Improve DS Advance Picker to give user context about the built in DS and CTA (#68203)

* Add description to DS built-in list of items

* Open the new DS view in a new tab

(cherry picked from commit cb293ecf1c)

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
2023-05-11 08:23:18 +00:00
Grot (@grafanabot)
f62ebe5971 [v10.0.x] Fix renaming columns when displayName or displayNameFromDS are present (#68280)
Fix renaming columns when displayName or displayNameFromDS are present (#67751)

* Fix renaming columns when displayName or displayNameFromDS are present

* refactor

* Fix showing correct column header title

(cherry picked from commit d8dfef71e2)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2023-05-11 09:43:35 +03:00
Grot (@grafanabot)
1f0a68f5ed [v10.0.x] docs: Geomap: Update docs to include link to official github discussion (#68278)
docs: Geomap: Update docs to include link to official github discussion (#67795)

(cherry picked from commit bcebb2cb60)

Co-authored-by: Nathan Marrs <nathanielmarrs@gmail.com>
2023-05-11 04:40:04 +00:00
Grot (@grafanabot)
ecc1cd64ad [v10.0.x] TopSearchBar: Fix TopSearchBar if [help] enabled = false (#68253)
TopSearchBar: Fix TopSearchBar if [help] enabled = false (#68249)

Fix TopSearchBar for disabled help

(cherry picked from commit 64c89dc4e6)

Co-authored-by: Buger-od-ua <35795595+Buger-od-ua@users.noreply.github.com>
2023-05-10 22:09:21 +03:00
Grot (@grafanabot)
d9718fb3f0 [v10.0.x] Dashboards: Only refresh panels on panel edit exit if refresh is set (#68225)
Dashboards: Only refresh panels on panel edit exit if refresh is set (#67652)

Closes #66838

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

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2023-05-10 18:59:14 +02:00
Galen Kistler
cefc1bf224 [v10.0.x] Prometheus: bug in creating autocomplete queries with labels (#68243)
Prometheus: bug in creating autocomplete queries with labels (#68003)

Fix bug formatting multiple prometheus labels when doing metric query

(cherry picked from commit a1bc1bd368)
2023-05-10 11:05:59 -05:00
Grot (@grafanabot)
af2276d31f [v10.0.x] Histogram: Respect min/max panel settings for x-axis (#68245)
Histogram: Respect min/max panel settings for x-axis (#62273)

(cherry picked from commit 8f8baf1a07)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2023-05-10 19:04:30 +03:00
Horst Gutmann
0c44250bcb [v10.0.x] CI: Move windows-tests into promotion pipeline (#68218) (#68229)
(cherry picked from commit acd02e8a48)

Backport of https://github.com/grafana/grafana/pull/68218
2023-05-10 17:32:21 +03:00
Grot (@grafanabot)
1a066c7859 [v10.0.x] HelpWizard: Show snapshot preview regardless of scenes feature toggle (#68217)
HelpWizard: Show snapshot preview regardless of scenes feature toggle (#68157)

(cherry picked from commit 1f43c62d03)

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2023-05-10 14:10:46 +00:00
Grot (@grafanabot)
cc2e352c03 [v10.0.x] Folders: return an error when listing folders if permission guardian returns an error (#68224)
Folders: return an error when listing folders if permission guardian returns an error (#68109)

return an error when listing folders if perm gaurdian returns an error

(cherry picked from commit e51b92991d)

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2023-05-10 16:20:50 +03:00
Grot (@grafanabot)
e77a9c1269 [v10.0.x] QueryRow: Make toggle actions screen-readers accessible (#68210)
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
2023-05-10 13:25:46 +01:00
Horst Gutmann
65aad4912b [v10.0.x] CI: Remove windows backend tests from release pipelines (#68166) (#68208)
Remove windows backend tests from release pipelines

These are run in other places so there is no benefit to also include
them here.

(cherry picked from commit 1e8cad625b)

Backport of https://github.com/grafana/grafana/pull/68166
2023-05-10 15:17:20 +03:00
Grot (@grafanabot)
92454e65c3 [v10.0.x] AzureMonitor: Add health check retry logic (#68161)
AzureMonitor: Bump credential wait time (#68120)

Bump credential wait time as 15s seems too short

(cherry picked from commit 0d3a78d86d)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2023-05-10 15:01:00 +03:00
Tania
45bbc22900 [v10.0.x] Codegen: Fix composable kinds docs generation (#68186)
* Fix plugins docs codegen

* Regenerate docs
2023-05-10 13:38:44 +02:00
Grot (@grafanabot)
5c052684fb [v10.0.x] Nested folders: Redo search query when actions complete (#68193)
Nested folders: Redo search query when actions complete (#68102)

redo search query if searching when actions complete

(cherry picked from commit 135b0a25aa)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-05-10 14:32:18 +03:00
Grot (@grafanabot)
9cb18aefd9 [v10.0.x] Nested folders: remove behaviour where selecting all children selects parent (#68187)
Nested folders: remove behaviour where selecting all children selects parent (#68084)

remove behaviour where selecting all children selects parent

(cherry picked from commit 765da9c841)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-05-10 14:19:09 +03:00
Grot (@grafanabot)
de142614c7 [v10.0.x] Update index.md (#68188)
Update index.md (#67979)

removing an extra ':'

(cherry picked from commit 5145f4d3f1)

Co-authored-by: bojankezele <79632099+bojankezele@users.noreply.github.com>
2023-05-10 10:49:42 +00:00
Grot (@grafanabot)
fffb133003 [v10.0.x] Settings: Do not hide sensitive values if it's empty (#68197)
Settings: Do not hide sensitive values if it's empty (#68088)

* Settings: Do not hide sensitive values if it's empty

* Fix implementation

* Add tests for RedactedValue function

(cherry picked from commit 0b6ae0d119)

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
2023-05-10 12:49:25 +02:00
Grot (@grafanabot)
d5844c35f8 [v10.0.x] AzureMonitor: Correctly set resource parameter for Logs queries (#68196)
AzureMonitor: Correctly set resource parameter for Logs queries (#68133)

* Update to ensure the resources parameter is passed through for logs queries only

* Use string slices for resources to ensure order remains the same

* Fix lint

* clarify test

(cherry picked from commit e059ce9c8a)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2023-05-10 13:39:04 +03:00
Grot (@grafanabot)
758dfbdbfd [v10.0.x] Alerting: Update contact point state semantics (#68126)
Alerting: Update contact point state semantics (#67994)

(cherry picked from commit 5d047160e9)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2023-05-10 11:43:01 +02:00
Grot (@grafanabot)
85096b0404 [v10.0.x] Alerting: Fix broken integration test (#68181)
Alerting: Fix broken integration test (#68140)

From https://github.com/grafana/grafana/pull/68122

(cherry picked from commit 5422609fb1)

Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
2023-05-10 12:03:33 +03:00
Grot (@grafanabot)
6b356a52b9 [v10.0.x] Use expected types for admonition (#68175)
Use expected types for admonition (#68080)

All types are declared lowercased.

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

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2023-05-10 09:49:58 +01:00
Grot (@grafanabot)
36d6a9bd1f [v10.0.x] Alerting: Omit "description" and "summary" from default email template annotations (#68130)
Alerting: Omit "description" and "summary" from default email template annotations (#68122)

(cherry picked from commit 720b5b3b65)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2023-05-10 08:46:51 +00:00
Grot (@grafanabot)
40ac2a6c4f [v10.0.x] Heatmap: Fix color rendering for value ranges < 1 (#68164)
Heatmap: Fix color rendering for value ranges < 1 (#68156)

(cherry picked from commit 1400a0a3f7)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2023-05-10 10:21:48 +03:00
Grot (@grafanabot)
e49234613d [v10.0.x] Heatmap: Handle unsorted timestamps in calculate mode (#68151)
Heatmap: Handle unsorted timestamps in calculate mode (#68111)

(cherry picked from commit f100a4c680)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2023-05-09 23:17:11 -05:00
Grot (@grafanabot)
8242dec55f [v10.0.x] Heatmap: Fix log scale editor (#68152)
Heatmap: Fix log scale editor (#68132)

(cherry picked from commit 4ee894b0be)

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2023-05-10 03:51:04 +03:00
Grot (@grafanabot)
8139833afd [v10.0.x] Annotations: Fix rendering (#68146) 2023-05-09 23:45:35 +03:00
Grot (@grafanabot)
58efebbf14 [v10.0.x] AzureMonitor: Ensure trace exceptions are correctly displayed (#68105)
AzureMonitor: Ensure trace exceptions are correctly displayed (#68079)

Ensure trace exceptions are correctly displayed

(cherry picked from commit 65c1505415)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2023-05-09 21:01:44 +03:00
Grot (@grafanabot)
fe9b529c25 [v10.0.x] Graph: Fix legend overlapping graph area (#68107)
Graph: Fix legend overlapping graph area (#67912)

use render callback instead of requestIdleTimeout

(cherry picked from commit 8e752439c6)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-05-09 19:45:16 +03:00
Grot (@grafanabot)
a39c486f31 [v10.0.x] AzureMonitor: Appropriately handle trace correlation resources (#68108)
AzureMonitor: Appropriately handle trace correlation resources (#67934)

* Appropriately handle correlation resources

- Retrieve resources in buildQueries step
- Build updated queries based off of correlation results
- Update tests

* Fix query building and tests

* Fix lint

* Ensure multiple resource queries will work

- Correctly set resources to ensure there is no overlapping between multiple resource selection and correlated resources
- Add tests for these specific cases
- Remove unnecessary pointers
- Build queries correctly

(cherry picked from commit 5ddc37ee21)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2023-05-09 19:02:19 +03:00
Grot (@grafanabot)
3bb9f46330 [v10.0.x] Fix Enterprise Datasources link on Grafana Enterprise page (#68118)
Fix Enterprise Datasources link on Grafana Enterprise page (#67962)

fix-enterprise-datasources-link

(cherry picked from commit 18d4fda613)

Co-authored-by: Andriy <andriy.urbanas@grafana.com>
2023-05-09 10:35:05 -05:00
Grot (@grafanabot)
9ea772d5a2 [v10.0.x] Alerting: Fixes Alert list panel "ungrouped" regression (#68090)
Alerting: Fixes Alert list panel "ungrouped" regression (#68018)

(cherry picked from commit ee05e3675a)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2023-05-09 15:32:12 +00:00
Grot (@grafanabot)
f710ed05b6 [v10.0.x] DataSourceModal: responsive behavior (#68085)
DataSourceModal: responsive behavior (#67944)

(cherry picked from commit 8ec5527479)

Co-authored-by: Juan Cabanas <juan.cabanas@grafana.com>
2023-05-09 11:06:03 -03:00
Grot (@grafanabot)
530c575606 [v10.0.x] Docs: Plugin doc review for chunk 1-A (#68045)
Docs: Plugin doc review for chunk 1-A (#67070)

* Plugin doc review for chunk 1-A

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Group of fixes in response to review comments

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Updates for review comments

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Fixed extra space

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Additional doc fixes

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* More doc fixes

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Fixes from doc review

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Doc review fixes

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* More changes from doc review

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Fix links and relrefs using doc-validator advice

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

* Publishing criteria update

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Markdown fix

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Fixes

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Testing

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Testing

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Testing

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Link fix

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Prettier

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Fix to publishing criteria

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Doc fix

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Doc fix

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Doc fix

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Update docs/sources/developers/plugins/_index.md

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

* Update docs/sources/developers/plugins/_index.md

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

* Update docs/sources/developers/plugins/_index.md

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

* Update docs/sources/developers/plugins/_index.md

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

* Update docs/sources/developers/plugins/_index.md

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

* Update docs/sources/developers/plugins/_index.md

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

* Update docs/sources/developers/plugins/_index.md

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

* Update docs/sources/developers/plugins/_index.md

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

* Update docs/sources/developers/plugins/_index.md

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

* Update docs/sources/developers/plugins/build-a-logs-data-source-plugin.md

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

* Update docs/sources/developers/plugins/build-a-streaming-data-source-plugin.md

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

* Update docs/sources/developers/plugins/build-a-streaming-data-source-plugin.md

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

* Update docs/sources/developers/plugins/get-started-with-plugins/_index.md

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

* Update docs/sources/developers/plugins/publish-a-plugin.md

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

* Update docs/sources/developers/plugins/publish-a-plugin.md

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

* Update docs/sources/developers/plugins/publish-a-plugin.md

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

* Update docs/sources/developers/plugins/sign-a-plugin.md

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

* Prettier

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

---------

Signed-off-by: Joe Perez <joseph.perez@grafana.com>
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>
(cherry picked from commit 13be068919)

Co-authored-by: Joseph Perez <45749060+josmperez@users.noreply.github.com>
2023-05-09 08:33:20 -05:00
Grot (@grafanabot)
49c2ac52d1 [v10.0.x] Add name_id_format to doc (#67928)
Add name_id_format to doc (#67803)

* add name_id_format to doc

* add labels

* add missing pipe

* add available name ID options

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

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

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

* Apply suggestions from code review

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

* lint

---------

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

Co-authored-by: Jo <joao.guerreiro@grafana.com>
2023-05-09 13:15:18 +00:00
Juan Cabanas
a39299e1ee NavBar: app chrome state wrongly overwritten when ds modal is opened … (#68041)
NavBar: app chrome state wrongly overwritten when ds modal is opened (#67952)

(cherry picked from commit 24668137f8)
2023-05-09 09:29:46 -03:00
Grot (@grafanabot)
35d99993bd [v10.0.x] Docs: Update backend plugin forwarding of headers (#68069)
Docs: Update backend plugin forwarding of headers (#67913)

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
Co-authored-by: Joseph Perez <45749060+josmperez@users.noreply.github.com>
(cherry picked from commit 04df92ab47)

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2023-05-09 11:52:02 +02:00
Dimitris Sotirakis
99555dd11d [v10.0.x] CI: Remove custom enterprise2 pipelines (#68056) (#68057)
CI: Remove custom enterprise2 pipelines (#68056)

Remove custom enterprise2 pipelines

(cherry picked from commit 6ae952c7c5)
2023-05-09 11:56:13 +03:00
Grot (@grafanabot)
583d3aa6dc [v10.0.x] Alerting: Fix condition on invalid interval dropdown (#68030) 2023-05-08 23:04:49 +02:00
Grot (@grafanabot)
81c5fbba05 [v10.0.x] docs: add empty dashboard & Add dropdown screenshots (#68036)
docs: add empty dashboard & Add dropdown screenshots (#67588)

* added empty dashboard screenshots

* added Add dropdown screenshots

* removed screenshot from build first dashboard

* added Add dropdown guidance in panel editor page; updated headings

* added intro text in panel editor

(cherry picked from commit da21473527)

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
2023-05-08 15:04:30 -04:00
Grot (@grafanabot)
4a0fb87eaf [v10.0.x] Datagrid: Refactor header column delete/clear (#68023)
Datagrid: Refactor header column delete/clear (#67842)

* refactor header column delete/clear

* fix tests, add clear option on header dropdown

* fix e2e tests

(cherry picked from commit 5416ec4768)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2023-05-08 20:06:50 +03:00
Grot (@grafanabot)
340d5a5080 [v10.0.x] Dashboard: Change add panel button to fill to remove outline border (#68017)
Dashboard: Change add panel button to fill to remove outline border (#68004)

(cherry picked from commit 5155455c55)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2023-05-08 18:36:31 +03:00
Grot (@grafanabot)
1ee2c97951 [v10.0.x] Alerting: Show export button for org admins (#67995)
Alerting: Show export button for org admins (#67939)

Show export button for org admins

(cherry picked from commit e7f11f2456)

Co-authored-by: Virginia Cepeda <virginia.cepeda@grafana.com>
2023-05-08 17:25:00 +02:00
Horst Gutmann
8f26909611 [v10.0.x] CI: Add Windows backend tests in more places (#66438) (#68005)
* CI: Add Windows backend tests in more places

* CI: Add promotion pipeline for publishing new windows-test-images

* CI: Ignore windows backend-test failures for now

* CI: Fix linting issue in ci_images.star file

(cherry picked from commit b2fc285a5d)
2023-05-08 16:42:14 +03:00
Grot (@grafanabot)
c53daad41e [v10.0.x] Docs: Adds alert state history doc (#68000)
Docs: Adds alert state history doc (#67976)

* Adds alert state history doc

* Adds config image

* Adds config as text

* correct spacing

(cherry picked from commit cb9d53708e)

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2023-05-08 13:26:54 +00:00
Grot (@grafanabot)
98fa7aee3f [v10.0.x] Docs: Adds preview notification template docs (#68001)
Docs: Adds preview notification template docs (#67903)

Adds preview notification template

(cherry picked from commit 6464ce0239)

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2023-05-08 13:26:22 +00:00
Grot (@grafanabot)
8c2a74147b [v10.0.x] Log Context: Add feature tracking of limit change (#67980)
Log Context: Add feature tracking of limit change (#67966)

* add feature tracking of load more

* Update public/app/features/logs/components/log-context/LogRowContextModal.tsx

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

* fix condition

---------

Co-authored-by: Matias Chomicki <matyax@gmail.com>
(cherry picked from commit 0fc9a47779)

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2023-05-08 11:48:14 +02:00
Grot (@grafanabot)
11d9f040be [v10.0.x] Alerting: Make two boxes in template form adaptative to the screen (#67983)
Alerting: Make two boxes in template form adaptative to the screen  (#67967)

Make two boxes in template form adaptative to the screen width to be align in the same line when possible

(cherry picked from commit 97802e44a6)

Co-authored-by: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>
2023-05-08 11:42:24 +02:00
Grot (@grafanabot)
3c7d096e26 [v10.0.x] Alerting: Change order of buttons bellow payload data editor (#67836)
Alerting: Change order of buttons bellow payload data editor (#67830)

Change order of buttons bellow payload data editor

(cherry picked from commit d10ee8263c)

Co-authored-by: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>
2023-05-08 11:41:30 +02:00
Grot (@grafanabot)
855d537230 [v10.0.x] Navigation: Fix 'Page not found' when sending or going back from 'Invitate user' page (#67972) 2023-05-08 11:09:49 +02:00
Grot (@grafanabot)
30b42a427a [v10.0.x] PanelQueryRunner: Return previous processed (transform+field config) series for loading state (#67964) 2023-05-07 14:10:54 +00:00
Grot (@grafanabot)
d53599bdce [v10.0.x] Schema: Fix dimension schemas (#67943)
Schema: Fix dimension schemas (#67935)

(cherry picked from commit 854d497f94)

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2023-05-05 22:57:00 +00:00
Grot (@grafanabot)
5b2175f958 [v10.0.x] CloudWatch: Use grafana-aws-sdk v0.15.0 (#67922)
CloudWatch: Use grafana-aws-sdk v0.15.0 (#67876)

Cloudwatch: Update grafana-aws-sdk
(cherry picked from commit c0bb404981)

Co-authored-by: Isabella Siu <Isabella.siu@grafana.com>
2023-05-05 17:15:06 -04:00
Grot (@grafanabot)
1a1dc023b6 [v10.0.x] Alerting: Migration to not fail if alert_configuration table is not empty (#67937)
Alerting: Migration to not fail if alert_configuration table is not empty (#67924)

(cherry picked from commit 0ce7f7eaf4)

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2023-05-05 16:33:12 +00:00
Grot (@grafanabot)
21e082447c [v10.0.x] AzureMonitor: Clear queries if header value changes (#67930)
AzureMonitor: Clear queries if header value changes (#67916)

Clear queries if header value changes

(cherry picked from commit 765ae6cd90)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2023-05-05 18:59:21 +03:00
Grot (@grafanabot)
25a9d90d9e [v10.0.x] AzureMonitor: Fix logs query multi-resource and timespan values (#67933)
AzureMonitor: Fix logs query multi-resource and timespan values (#67914)

* Update TimeGrain interface methods

- Make them util functions because it's simpler

* Update logs ds to appropiately set resources and timespan

* Set timespan using RCF times

* Update tests

(cherry picked from commit 9d16718acc)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2023-05-05 18:58:34 +03:00
Grot (@grafanabot)
8a8d796c1f [v10.0.x] Render analytics identifiers (#67926)
Render analytics identifiers (#67860)

* Append analytics identifier upon authenticate session

* Add id and module upon syncing user to identity

* Add authModule & id to `IdentityFromSignedInUser`

* Allow req calls in test to use basic auth

* Add `intercom_secret` to grafana config in tests

* Add test for analytics render in html view

(cherry picked from commit 15e34505e2)

Co-authored-by: linoman <2051016+linoman@users.noreply.github.com>
2023-05-05 17:36:08 +02:00
Grot (@grafanabot)
9a1e114009 [v10.0.x] TablePanel: Do not allow auto-reset (#67907)
TablePanel: Do not allow auto-reset (#67477)

disallow react table to autoreset

(cherry picked from commit eb2eb65de8)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2023-05-05 14:13:33 +03:00
Grot (@grafanabot)
53b31fa719 [v10.0.x] Docs: Add a note about disabling SAML UI (#67898)
Docs: Add a note about disabling SAML UI (#67877)

(cherry picked from commit e5b12e23b1)

Co-authored-by: Vardan Torosyan <vardants@gmail.com>
2023-05-05 09:58:23 +00:00
Ivan Ortega Alba
1958a1649c [v10.0.x] Improve ds picker empty state when no results were found (#67826)
Merge remote-tracking branch 'origin/main' into issue-66659
2023-05-05 11:31:15 +02:00
Grot (@grafanabot)
9153c38519 [v10.0.x] Elasticsearch: Fix processing of logs with not-recognized time format (#67866)
Elasticsearch: Fix processing of logs with not-recognized time format (#67767)

* Elasticsearch: Fix parsing of invalid time

* Fix lint

* Add more test data to data.js

* Add tests

* Fix lint

* Update pkg/tsdb/elasticsearch/client/search_request.go

(cherry picked from commit 95cf598423)

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2023-05-05 10:38:12 +02:00
Grot (@grafanabot)
be5df6f59a [v10.0.x] InspectDrawer: Fixes issue with double scrollbars (#67888)
InspectDrawer: Fixes issue with double scrollbars (#67884)

* InspectDrawer: Fixes issue with double scrollbars

* Fixed minor issue

(cherry picked from commit fcb14d2548)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2023-05-05 11:04:29 +03:00
Grot (@grafanabot)
907c378cdf [v10.0.x] Connections: Show core datasource plugins as well (#67886)
Connections: Show core datasource plugins as well (#67815)

fix: add a new hook & selector that can show core plugins by default
(cherry picked from commit 21459c7c97)

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2023-05-05 08:02:26 +00:00
Grot (@grafanabot)
2ae5c3dd78 [v10.0.x] Theme: Change dark theme borders to improve contrast on primary background (#67869) 2023-05-05 07:36:14 +00:00
Grot (@grafanabot)
4a62fee1b5 [v10.0.x] docs: Canvas: Update docs for v10 (#67870)
docs: Canvas: Update docs for v10 (#67793)

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

Co-authored-by: Nathan Marrs <nathanielmarrs@gmail.com>
2023-05-04 13:12:59 -07:00
Grot (@grafanabot)
096344a2f1 [v10.0.x] Alerting: Fix action buttons label and placement in several views following standard and being consistent with the rest of the ui (#67852)
Co-authored-by: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>
2023-05-04 15:47:38 +00:00
Grot (@grafanabot)
9e83b6081d [v10.0.x] ServiceAccounts: Add secret scan service docs (#67807)
ServiceAccounts: Add secret scan service docs (#57926)

* add secret scanning docs

* update docs

* fix merge

* add revoke to docs

* add revoke to docs

* typo fix

* Apply suggestions from code review

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

* add step by step instructions

* Apply suggestions from code review

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

* Apply suggestions from code review

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

* prettier

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

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

* feedback

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

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

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

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

---------

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: Victor Cinaglia <victor@grafana.com>
(cherry picked from commit 3644ea6556)

Co-authored-by: Jo <joao.guerreiro@grafana.com>
2023-05-04 17:29:27 +02:00
Grot (@grafanabot)
c67e84358c [v10.0.x] Alerting: Use standard validation/error pattern on group selection (#67831)
Alerting: Use standard validation/error pattern on group selection (#67787)

(cherry picked from commit 3c42dea10b)

Co-authored-by: Virginia Cepeda <virginia.cepeda@grafana.com>
2023-05-04 13:45:56 +00:00
Grot (@grafanabot)
6f4f540e10 [v10.0.x] Connections: Fix create new datasource route (#67820)
Connections: Fix create new datasource route (#67802)

fix(connections): prevent datasources details route matching new route

(cherry picked from commit 8ca9a89cf1)

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2023-05-04 12:46:49 +02:00
Grot (@grafanabot)
9a665a216b [v10.0.x] NestedFolders: Fetch access control metadata for folder view (#67814)
NestedFolders: Fetch access control metadata for folder view (#67786)

(cherry picked from commit 338e98e237)

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2023-05-04 12:40:57 +03:00
Grot (@grafanabot)
1f78546ba1 [v10.0.x] AzureMonitor: Update Azure E2E test (#67779)
AzureMonitor: Update Azure E2E test (#67646)

Update Azure E2E test

- Update resource names
- Update timeouts
- Add traces E2E test

(cherry picked from commit 140f9620f5)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2023-05-04 09:15:37 +00:00
Grot (@grafanabot)
d05ba80080 [v10.0.x] RBAC: Do not search for parents of the root folder (#67806)
RBAC: Do not search for parents of the root folder (#67746)

do not search for parents of the general folder

(cherry picked from commit b1382ac48e)

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2023-05-04 08:55:41 +00:00
Sofia Papagiannaki
a219338afd [v10.0.x] Chore: Upgrade Go to 1.20.4 (#67752)
Chore: Upgrade Go to 1.20.4
2023-05-04 10:28:07 +03:00
Grot (@grafanabot)
1f6436529e [v10.0.x] Link to config exemplars leads goes to top of page (#67785)
Link to config exemplars leads goes to top of page (#67687)

* Link to config exemplars leads goes to top of page

The link to the configure exemplars in a Prometheus datasource leads to the top of the page.  I have referenced the correct link that would take it to the right section.

https://grafana.com/docs/grafana/latest/datasources/prometheus/#configure-exemplars

* Update docs/sources/fundamentals/exemplars/index.md

---------

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

Co-authored-by: samu6851 <samuel.oswalt@grafana.com>
2023-05-03 14:54:32 -05:00
Grot (@grafanabot)
7f1cf3fa74 [v10.0.x] Update index.md (#67784)
Update index.md (#67172)

Clarified some of the intro text and added JSON outer element to make the samples clearer

(cherry picked from commit 66ad704292)

Co-authored-by: Nabeel Saad <saadnabs@hotmail.com>
2023-05-03 14:54:08 -05:00
Grot (@grafanabot)
4fde55d85d [v10.0.x] docs: fix create dashboard steps (#67771)
docs: fix create dashboard steps (#67310)

* updated steps for dashboard creation

* added images, other wording and structure edits

(cherry picked from commit 4eb063c1dd)

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
2023-05-03 14:47:42 -04:00
Grot (@grafanabot)
52037fb145 [v10.0.x] Cloudwatch: Fix description of plugin (#67765)
Cloudwatch: Fix description of plugin (#67744)

Fix description of Cloudwatch

(cherry picked from commit 43c7a5b603)

Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>
2023-05-03 13:03:34 -04:00
Grot (@grafanabot)
2e8a32ab6e [v10.0.x] AlertRuleForm: s/Edit yaml/Edit YAML/ (#67763)
AlertRuleForm: s/Edit yaml/Edit YAML/ (#67714)

YAML is an acronym and should be uppercased when used in texts.

Signed-off-by: Oleg Zaytsev <mail@olegzaytsev.com>
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
(cherry picked from commit c378dbb01b)

Co-authored-by: Oleg Zaytsev <mail@olegzaytsev.com>
2023-05-03 19:10:42 +03:00
Grot (@grafanabot)
98952d72c9 [v10.0.x] docs: add semi relative time ranges (#67755)
docs: add semi relative time ranges (#67559)

* add semi-relative time range section

* added second example and reworded

* formatting fixes

* added alerting note and fixed formatting

* wording fix

(cherry picked from commit 0271a1d094)

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
2023-05-03 11:56:25 -04:00
Grot (@grafanabot)
c206cf8320 [v10.0.x] Alerting: Fix banner button variant (#67758)
Alerting: Fix banner button variant (#67750)

Fix banner button variant

(cherry picked from commit 049029b6a2)

Co-authored-by: Virginia Cepeda <virginia.cepeda@grafana.com>
2023-05-03 18:56:11 +03:00
Grot (@grafanabot)
0ae459bd8f [v10.0.x] Alerting: Fix export button variant (#67747)
Alerting: Fix export button variant (#67742)

Fix export button variant

(cherry picked from commit 8166453f9f)

Co-authored-by: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>
2023-05-03 15:37:00 +00:00
Grot (@grafanabot)
95a4047d9f [v10.0.x] Maintain column widths when deleting columns (#67743)
Maintain column widths when deleting columns (#67707)

(cherry picked from commit cd8b6be41d)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2023-05-03 14:58:12 +00:00
Grot (@grafanabot)
8905356e8a [v10.0.x] Datagrid: Remove multi-paste (#67730)
Datagrid: Remove multi-paste (#67387)

remove multi-paste functionality and unneccessary async from func

(cherry picked from commit 3a6f162cc6)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2023-05-03 16:39:34 +03:00
Torkel Ödegaard
1894440368 [v10.0.x]: Connections: Rename "Your data source" to "Data source" page (#67718)
Connections: Rename "Your data source" to "Data source" page (#67662)

rename "Your data source" to "Data source" page

This page was meant to be named "Data source" in the previous PR [0].
I just made a mistake by naming it wrongly.

[0]: https://github.com/grafana/grafana/pull/66813/files

(cherry picked from commit 76284ed3a6)

Co-authored-by: mikkancso <miklos.tolnai@grafana.com>
2023-05-03 14:00:53 +02:00
Grot (@grafanabot)
d63a746b05 [v10.0.x] Gauge: Set min and max for percent unit (#67719)
Gauge: Set min and max for percent unit (#67517)

* Gauge: Set min and max for percent unit

* Remove exclamation mark

* Add parentheses around ternary

(cherry picked from commit 6570ec7afe)

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2023-05-03 13:52:46 +02:00
Grot (@grafanabot)
b5e8e391a4 [v10.0.x] Connections: Simplify connections nav (#67633)
Connections: Simplify connections nav (#66813)

* Connections: Simplify connections nav

* rename Connections pages everywhere

---------

Co-authored-by: Miklós Tolnai <miklos.tolnai@grafana.com>
(cherry picked from commit 9614dc2446)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2023-05-03 13:34:37 +02:00
Grot (@grafanabot)
fea39881f5 [v10.0.x] chore: fix link to docs (#67678)
chore: fix link to docs (#67642)

* chore: fix link to docs

* Update public/app/features/datasources/components/DataSourcesList.tsx

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

* Update public/app/features/explore/NoDataSourceCallToAction.tsx

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

---------

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
(cherry picked from commit 44f75ba185)

Co-authored-by: David Harris <david.harris@grafana.com>
2023-05-03 11:59:42 +01:00
Grot (@grafanabot)
e45b2953de [v10.0.x] PluginCatalog: Update message about insufficient permissions (#67697)
PluginCatalog: Update message about insufficient permissions (#67664)

Changed so we map the enum into different message.

(cherry picked from commit 21d28c1cb5)

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
2023-05-03 11:01:27 +03:00
Grot (@grafanabot)
319eed9d5e [v10.0.x] Nested folders: hook up getAffectedItems to the backend count route (#67690)
Nested folders: hook up `getAffectedItems` to the backend count route (#67677)

* hook up getAffectedItems to the backend count route

* mock out backendSrv in unit tests

* Don't delete alert rules while API doesn't return counts

* Show alert rule counts when API returns them

* use components for modal styles

* Revert "use components for modal styles"

This reverts commit 80ac1152f8.

---------

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

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-05-03 00:32:18 +03:00
Grot (@grafanabot)
8e35a156be [v10.0.x] docs: add nav and users info for public dashboards (#67681)
docs: add nav and users info for public dashboards (#67674)

* add content re admin and public dashboards navigation

* added admin users section

(cherry picked from commit 765735092a)

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
2023-05-02 14:04:01 -04:00
Grot (@grafanabot)
b0f5b6c5f0 [v10.0.x] NestedFolders: Use new Browse Dashboards UI behind feature flag (#67676)
NestedFolders: Use new Browse Dashboards UI behind feature flag (#67416)

NestedFolders: Put feature flagged new Browse Dashboards UI at main route
(cherry picked from commit c4a31390ef)

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2023-05-02 17:38:58 +01:00
Grot (@grafanabot)
2cf4691d1a [v10.0.x] Nested folders: hook up move/delete logic properly (#67675)
Nested folders: hook up move/delete logic properly (#67648)

* clear selection post move/delete

* move actions out of rtk-query

* move findItems, create selectors, refetch children when moving/deleting

* cleaner syntax

* remove unnecessary function, just put logic in the selector

* handle moving/deleting from the root

* slightly cleaner

* handle when rootItems are undefined

* handle 'general' in the fetchChildren reducer

* only refresh at the end

* don't need thunk api

(cherry picked from commit 02086e843f)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-05-02 19:31:53 +03:00
Grot (@grafanabot)
3bb2e8a248 [v10.0.x] Search: Fix Folder View not loading dashboards (#67673)
Search: Fix Folder View not loading dashboards (#67666)

(cherry picked from commit 9b81d738bf)

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2023-05-02 18:48:55 +03:00
Grot (@grafanabot)
41d456840f [v10.0.x] docs: move misplaced Configure legend page (#67672)
docs: move misplaced Configure legend page (#67597)

* move configure legend page and add alias

* updated page weight and tried fixing alias

* fixed alias

* add preemptive alias for current page location

* apply suggestion from review

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

* apply suggestions from review

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

* apply suggestions from review

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

---------

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

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
2023-05-02 11:34:45 -04:00
Grot (@grafanabot)
bd7cbc5ba0 [v10.0.x] NestedFolders: Add empty states for Browse and Search (#67645)
NestedFolders: Add empty states for Browse and Search (#67423)

* NestedFolders: Add empty states for Browse and Search

* empty states

* fix types

* tests

(cherry picked from commit fd2c7594cf)

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2023-05-02 12:31:03 +00:00
Grot (@grafanabot)
d174427f41 [v10.0.x] fix shadow log in service accounts (#67649)
fix shadow log in service accounts (#67643)

* fix shadow log in service accounts

(cherry picked from commit f9fd15c01e)

Co-authored-by: Jo <joao.guerreiro@grafana.com>
2023-05-02 14:30:25 +02:00
Grot (@grafanabot)
f729979da4 [v10.0.x] Authentication UI: Remove auth settings (#67651)
Authentication UI: Remove auth settings (#67647)

(cherry picked from commit 93b461bd96)

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
2023-05-02 15:13:54 +03:00
Grot (@grafanabot)
d151276b0c [v10.0.x] NestedFolders: Indicate when folders have mixed-selection children (#67644)
NestedFolders: Indicate when folders have mixed-selection children (#67337)

* Show indeterminate checkbox for folders with partially selected children

* When selecting an item, check ancestors to see if all their children are now selected

* reword comment

* fix test

* fix lint

* Check all descendants for mixed state

* Use indeterminate checkbox

* fix test description

* make header checkbox select/unselect automatically

* mixed header checkbox:

* fix tests

* add tests

(cherry picked from commit 32d3e895b3)

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2023-05-02 10:45:56 +00:00
4590 changed files with 96211 additions and 179911 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -2,14 +2,14 @@ import { BettererFileTest } from '@betterer/betterer';
import { promises as fs } from 'fs';
import { ESLint, Linter } from 'eslint';
import path from 'path';
import { glob } from 'glob';
import glob from 'glob';
export default {
'better eslint': () =>
countEslintErrors()
.include('**/*.{ts,tsx}')
.exclude(/public\/app\/angular/),
'no undocumented stories': () => countUndocumentedStories().include('**/!(*.internal).story.tsx'),
'no undocumented stories': () => countUndocumentedStories().include('**/*.story.tsx'),
};
function countUndocumentedStories() {

View File

@@ -36,11 +36,11 @@ $(DRONE): $(BINGO_DIR)/drone.mod
@# Manual modification: CGo is disabled to make the Drone CLI build successfully on Darwin/arm64 machines.
@cd $(BINGO_DIR) && CGO_ENABLED=0 GOWORK=off $(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.51.2
$(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.51.2"
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=golangci-lint.mod -o=$(GOBIN)/golangci-lint-v1.51.2 "github.com/golangci/golangci-lint/cmd/golangci-lint"
JB := $(GOBIN)/jb-v0.5.1
$(JB): $(BINGO_DIR)/jb.mod

View File

@@ -2,4 +2,4 @@ module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT
go 1.20
require github.com/golangci/golangci-lint v1.53.3 // cmd/golangci-lint
require github.com/golangci/golangci-lint v1.51.2 // cmd/golangci-lint

View File

@@ -40,29 +40,15 @@ cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RX
cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0=
cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo=
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/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/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/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/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=
github.com/BurntSushi/toml v1.3.2 h1:o7IhLm0Msx3BaB+n3Ag7L8EVlByGnpq14C4YWiu/gL8=
github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 h1:sHglBQTwgx+rWPdisA5ynNEsoARbiCBOyGcJM4/OzsM=
github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24/go.mod h1:4UJr5HIiMZrwgkSPdsjy2uOQExX/WEILpIrO9UPGuXs=
@@ -72,25 +58,17 @@ github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3Q
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/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=
github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
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/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=
github.com/alingse/asasalint v0.0.11/go.mod h1:nCaoMhw7a9kSJObvQyVzNTPBDbNpdocqrSP7t/cW5+I=
github.com/ashanbrown/forbidigo v1.4.0 h1:spdPbupaSqtWORq1Q4eHBoPBmHtwVyLKwaedbSLc5Sw=
github.com/ashanbrown/forbidigo v1.4.0/go.mod h1:IvgwB5Y4fzqSAj/WVXKWigoTkB0dzI2FBbpKWuh7ph8=
github.com/ashanbrown/forbidigo v1.5.1 h1:WXhzLjOlnuDYPYQo/eFlcFMi8X/kLfvWLYu6CSoebis=
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/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=
@@ -99,38 +77,24 @@ github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
github.com/bkielbasa/cyclop v1.2.0 h1:7Jmnh0yL2DjKfw28p86YTd/B4lRGcNuu12sKE35sM7A=
github.com/bkielbasa/cyclop v1.2.0/go.mod h1:qOI0yy6A7dYC4Zgsa72Ppm9kONl0RoIlPbzot9mhmeI=
github.com/bkielbasa/cyclop v1.2.1 h1:AeF71HZDob1P2/pRm1so9cd1alZnrpyc4q2uP2l0gJY=
github.com/bkielbasa/cyclop v1.2.1/go.mod h1:K/dT/M0FPAiYjBgQGau7tz+3TMh4FWAEqlMhzFWCrgM=
github.com/blizzy78/varnamelen v0.8.0 h1:oqSblyuQvFsW1hbBHh1zfwrKe3kcSj0rnXkKzsQ089M=
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/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/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/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/mirror v1.1.0 h1:ZqX54gBVMXu78QLoiqdwpl2mgmoOJTk7s4p4o+0avZI=
github.com/butuzov/mirror v1.1.0/go.mod h1:8Q0BdQU6rC6WILDiBM60DBfvV78OLJmMmixe7GF45AE=
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=
github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/charithe/durationcheck v0.0.9 h1:mPP4ucLrf/rKZiIG/a9IPXHGlh8p4CzgpyTy6EEutYk=
github.com/charithe/durationcheck v0.0.9/go.mod h1:SSbRIBVfMjCi/kEB6K65XEA83D6prSM8ap1UCpNKtgg=
github.com/charithe/durationcheck v0.0.10 h1:wgw73BiocdBDQPik+zcEoBG/ob8uyBHf2iyoHGPf5w4=
github.com/charithe/durationcheck v0.0.10/go.mod h1:bCWXb7gYRysD1CU3C+u4ceO49LoGOY1C1L6uouGNreQ=
github.com/chavacava/garif v0.0.0-20221024190013-b3ef35877348 h1:cy5GCEZLUCshCGCRRUjxHrDUqkB4l5cuUt3ShEckQEo=
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/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=
@@ -143,8 +107,6 @@ github.com/curioswitch/go-reassign v0.2.0 h1:G9UZyOcpk/d7Gd6mqYgd8XYWFMw/znxwGDU
github.com/curioswitch/go-reassign v0.2.0/go.mod h1:x6OpXuWvgfQaMGks2BZybTngWjT84hqJfKoO8Tt/Roc=
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/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=
@@ -162,8 +124,6 @@ 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/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/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=
@@ -174,10 +134,6 @@ github.com/fzipp/gocyclo v0.6.0 h1:lsblElZG7d3ALtGMx9fmxeTKZaLLpU8mET09yN4BBLo=
github.com/fzipp/gocyclo v0.6.0/go.mod h1:rXPyn8fnlpa0R2csP/31uerbiVBugk5whMdlyaLkLoA=
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-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=
@@ -192,8 +148,6 @@ github.com/go-toolsmith/astcast v1.1.0 h1:+JN9xZV1A+Re+95pgnMgDboWNVnIMMQXwfBwLR
github.com/go-toolsmith/astcast v1.1.0/go.mod h1:qdcuFWeGGS2xX5bLM/c3U9lewg7+Zu4mr+xPwZIB4ZU=
github.com/go-toolsmith/astcopy v1.0.3 h1:r0bgSRlMOAgO+BdQnVAcpMSMkrQCnV6ZJmIkrJgcJj0=
github.com/go-toolsmith/astcopy v1.0.3/go.mod h1:4TcEdbElGc9twQEYpVo/aieIXfHhiuLh4aLAck6dO7Y=
github.com/go-toolsmith/astcopy v1.1.0 h1:YGwBN0WM+ekI/6SS6+52zLDEf8Yvp3n2seZITCUBt5s=
github.com/go-toolsmith/astcopy v1.1.0/go.mod h1:hXM6gan18VA1T/daUEHCFcYiW8Ai1tIwIzHY6srfEAw=
github.com/go-toolsmith/astequal v1.0.2/go.mod h1:9Ai4UglvtR+4up+bAD4+hCj7iTo4m/OXVTSLnCyTAx4=
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=
@@ -252,10 +206,6 @@ github.com/golangci/gofmt v0.0.0-20220901101216-f2edd75033f2 h1:amWTbTGqOZ71ruzr
github.com/golangci/gofmt v0.0.0-20220901101216-f2edd75033f2/go.mod h1:9wOXstvyDRshQ9LggQuzBCGysxs3b6Uo/1MvYCR2NMs=
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/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=
@@ -278,7 +228,6 @@ github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
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=
@@ -303,8 +252,6 @@ github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5m
github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g=
github.com/gordonklaus/ineffassign v0.0.0-20230107090616-13ace0543b28 h1:9alfqbrhuD+9fLZ4iaAVwhlp5PEhmnBt7yvK2Oy5C1U=
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/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=
@@ -354,16 +301,12 @@ github.com/julz/importas v0.1.0 h1:F78HnrsjY3cR7j0etXy5+TU1Zuy7Xt08X/1aJnH5xXY=
github.com/julz/importas v0.1.0/go.mod h1:oSFU2R4XK/P7kNBrnL/FEQlDGN1/6WoxXEjSSXO0DV0=
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/kisielk/errcheck v1.6.3 h1:dEKh+GLHcWm2oN34nMvDzn1sqI0i0WxPvrgiJA5JuM8=
github.com/kisielk/errcheck v1.6.3/go.mod h1:nXw/i/MfnvRHqXa7XXmQMUB0oNFGuBrNI8d8NLy0LPw=
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=
github.com/kkHAIKE/contextcheck v1.1.3/go.mod h1:PG/cwd6c0705/LM0KTr1acO2gORUxkSVWyLJOFW5qoo=
github.com/kkHAIKE/contextcheck v1.1.4 h1:B6zAaLhOEEcjvUgIYEqystmnFk1Oemn8bvJhbt0GMb8=
github.com/kkHAIKE/contextcheck v1.1.4/go.mod h1:1+i/gWqokIa+dm31mqGLZhZJ7Uh44DJGZVmr6QRBNJg=
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
@@ -375,16 +318,12 @@ github.com/kulti/thelper v0.6.3 h1:ElhKf+AlItIu+xGnI990no4cE2+XaSu1ULymV2Yulxs=
github.com/kulti/thelper v0.6.3/go.mod h1:DsqKShOvP40epevkFrvIwkCMNYxMeTNjdWL4dqWHZ6I=
github.com/kunwardeep/paralleltest v1.0.6 h1:FCKYMF1OF2+RveWlABsdnmsvJrei5aoyZoaGS+Ugg8g=
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/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=
github.com/ldez/gomoddirectives v0.2.3/go.mod h1:cpgBogWITnCfRq2qGoDkKMEVSaarhdBr6g8G04uz6d0=
github.com/ldez/tagliatelle v0.4.0 h1:sylp7d9kh6AdXN2DpVGHBRb5guTVAgOxqNGhbqc4b1c=
github.com/ldez/tagliatelle v0.4.0/go.mod h1:mNtTfrHy2haaBAw+VT7IBV6VXBThS7TCreYWbBcJ87I=
github.com/ldez/tagliatelle v0.5.0 h1:epgfuYt9v0CG3fms0pEgIMNPuFf/LpPIfjk4kyqSioo=
github.com/ldez/tagliatelle v0.5.0/go.mod h1:rj1HmWiL1MiKQuOONhd09iySTEkUuE/8+5jtPYz9xa4=
github.com/leonklingele/grouper v1.1.1 h1:suWXRU57D4/Enn6pXR0QVqqWWrnJ9Osrz+5rjt8ivzU=
github.com/leonklingele/grouper v1.1.1/go.mod h1:uk3I3uDfi9B6PeUjsCKi6ndcf63Uy7snXgR4yDYQVDY=
github.com/lufeee/execinquery v1.2.1 h1:hf0Ems4SHcUGBxpGN7Jz78z1ppVkP/837ZlETPCEtOM=
@@ -395,12 +334,8 @@ github.com/maratori/testableexamples v1.0.0 h1:dU5alXRrD8WKSjOUnmJZuzdxWOEQ57+7s
github.com/maratori/testableexamples v1.0.0/go.mod h1:4rhjL1n20TUTT4vdh3RDqSizKLyXp7K2u6HgraZCGzE=
github.com/maratori/testpackage v1.1.0 h1:GJY4wlzQhuBusMF1oahQCBtUV/AQ/k69IZ68vxaac2Q=
github.com/maratori/testpackage v1.1.0/go.mod h1:PeAhzU8qkCwdGEMTEupsHJNlQu2gZopMC6RjbhmHeDc=
github.com/maratori/testpackage v1.1.1 h1:S58XVV5AD7HADMmD0fNnziNHqKvSdDuEKdPD1rNTU04=
github.com/maratori/testpackage v1.1.1/go.mod h1:s4gRK/ym6AMrqpOa/kEbQTV4Q4jb7WeLZzVhVVVOQMc=
github.com/matoous/godox v0.0.0-20210227103229-6504466cf951 h1:pWxk9e//NbPwfxat7RXkts09K+dEBJWakUWwICVqYbA=
github.com/matoous/godox v0.0.0-20210227103229-6504466cf951/go.mod h1:1BELzlh859Sh1c6+90blK8lbYy0kwQf1bYlBhBysy1s=
github.com/matoous/godox v0.0.0-20230222163458-006bad1f9d26 h1:gWg6ZQ4JhDfJPqlo2srm/LN17lpybq15AryXIRcWYLE=
github.com/matoous/godox v0.0.0-20230222163458-006bad1f9d26/go.mod h1:1BELzlh859Sh1c6+90blK8lbYy0kwQf1bYlBhBysy1s=
github.com/matryer/is v1.4.0/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU=
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
@@ -415,10 +350,6 @@ github.com/mbilski/exhaustivestruct v1.2.0 h1:wCBmUnSYufAHO6J4AVWY6ff+oxWxsVFrwg
github.com/mbilski/exhaustivestruct v1.2.0/go.mod h1:OeTBVxQWoEmB2J2JCHmXWPJ0aksxSUOUy+nvtVEfzXc=
github.com/mgechev/revive v1.2.5 h1:UF9AR8pOAuwNmhXj2odp4mxv9Nx2qUIwVz8ZsU+Mbec=
github.com/mgechev/revive v1.2.5/go.mod h1:nFOXent79jMTISAfOAasKfy0Z2Ejq0WX7Qn/KAdYopI=
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/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=
@@ -430,8 +361,6 @@ github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3Rllmb
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/moricho/tparallel v0.2.1 h1:95FytivzT6rYzdJLdtfn6m1bfFJylOJK41+lgv/EHf4=
github.com/moricho/tparallel v0.2.1/go.mod h1:fXEIZxG2vdfl0ZF8b42f5a78EhjjD5mX8qUplsoSU4k=
github.com/moricho/tparallel v0.3.1 h1:fQKD4U1wRMAYNngDonW5XupoB/ZGJHdpzrWqgyg9krA=
github.com/moricho/tparallel v0.3.1/go.mod h1:leENX2cUv7Sv2qDgdi0D0fCftN8fRC67Bcn8pqzeYNI=
github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
github.com/nakabonne/nestif v0.3.1 h1:wm28nZjhQY5HyYPx+weN3Q65k6ilSBxDb8v5S81B81U=
@@ -440,16 +369,10 @@ github.com/nbutton23/zxcvbn-go v0.0.0-20210217022336-fa2cb2858354 h1:4kuARK6Y6Fx
github.com/nbutton23/zxcvbn-go v0.0.0-20210217022336-fa2cb2858354/go.mod h1:KSVJerMDfblTH7p5MZaTt+8zaT2iEk3AkVb9PQdZuE8=
github.com/nishanths/exhaustive v0.9.5 h1:TzssWan6orBiLYVqewCG8faud9qlFntJE30ACpzmGME=
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/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=
github.com/nunnatsa/ginkgolinter v0.8.1/go.mod h1:FYYLtszIdmzCH8XMaMPyxPVXZ7VCaIm55bA+gugx+14=
github.com/nunnatsa/ginkgolinter v0.9.0 h1:Sm0zX5QfjJzkeCjEp+t6d3Ha0jwvoDjleP9XCsrEzOA=
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/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=
@@ -470,10 +393,6 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/polyfloyd/go-errorlint v1.1.0 h1:VKoEFg5yxSgJ2yFPVhxW7oGz+f8/OVcuMeNvcPIi6Eg=
github.com/polyfloyd/go-errorlint v1.1.0/go.mod h1:Uss7Bc/izYG0leCMRx3WVlrpqWedSZk7V/FUQW6VJ6U=
github.com/polyfloyd/go-errorlint v1.4.0 h1:b+sQ5HibPIAjEZwtuwU8Wz/u0dMZ7YL+bk+9yWyHVJk=
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/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=
@@ -502,8 +421,6 @@ github.com/quasilyte/gogrep v0.5.0 h1:eTKODPXbI8ffJMN+W2aE0+oL0z/nh8/5eNdiO34SOA
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=
github.com/quasilyte/regex/syntax v0.0.0-20200407221936-30656e2c4a95/go.mod h1:rlzQ04UMyJXu/aOvhd8qT+hvDrFpiwqp8MRXDY9szc0=
github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727 h1:TCg2WBOl980XxGFEZSS6KlBGIV0diGdySzxATTWoqaU=
github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727/go.mod h1:rlzQ04UMyJXu/aOvhd8qT+hvDrFpiwqp8MRXDY9szc0=
github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 h1:M8mH9eK4OUR4lu7Gd+PU1fV2/qnDNfzT635KRSObncs=
github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567/go.mod h1:DWNGW8A4Y+GyBgPuaQJuWiy0XYftx4Xm/y5Jqk9I6VQ=
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
@@ -520,8 +437,6 @@ github.com/sashamelentyev/usestdlibvars v1.23.0 h1:01h+/2Kd+NblNItNeux0veSL5cBF1
github.com/sashamelentyev/usestdlibvars v1.23.0/go.mod h1:YPwr/Y1LATzHI93CqoPUN/2BzGQ/6N/cl/KwgR0B/aU=
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/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=
@@ -531,20 +446,14 @@ github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6Mwd
github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88=
github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0=
github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
github.com/sivchari/containedctx v1.0.2 h1:0hLQKpgC53OVF1VT7CeoFHk9YKstur1XOgfYIc1yrHI=
github.com/sivchari/containedctx v1.0.2/go.mod h1:PwZOeqm4/DLoJOqMSIJs3aKqXRX4YO+uXww087KZ7Bw=
github.com/sivchari/containedctx v1.0.3 h1:x+etemjbsh2fB5ewm5FeLNi5bUjK0V8n0RB+Wwfd0XE=
github.com/sivchari/containedctx v1.0.3/go.mod h1:c1RDvCbnJLtH4lLcYD/GqwiBSSf4F5Qk0xld2rBqzJ4=
github.com/sivchari/nosnakecase v1.7.0 h1:7QkpWIRMe8x25gckkFd2A5Pi6Ymo0qgr4JrhGt95do8=
github.com/sivchari/nosnakecase v1.7.0/go.mod h1:CwDzrzPea40/GB6uynrNLiorAlgFRvRbFSgJx2Gs+QY=
github.com/sivchari/tenv v1.7.1 h1:PSpuD4bu6fSmtWMxSGWcvqUUgIn7k3yOJhOIzVWn8Ak=
github.com/sivchari/tenv v1.7.1/go.mod h1:64yStXKSOxDfX47NlhVwND4dHwfZDdbp2Lyl018Icvg=
github.com/sonatard/noctx v0.0.1 h1:VC1Qhl6Oxx9vvWo3UDgrGXYCeKCe3Wbw7qAWL6FrmTY=
github.com/sonatard/noctx v0.0.1/go.mod h1:9D2D/EoULe8Yy2joDHJj7bv3sZoq9AaSb8B4lqBjiZI=
github.com/sonatard/noctx v0.0.2 h1:L7Dz4De2zDQhW8S0t+KUjY0MAQJd6SgVwhzNIc4ok00=
github.com/sonatard/noctx v0.0.2/go.mod h1:kzFz+CzWSjQ2OzIm46uJZoXuBpa2+0y3T36U18dWqIo=
github.com/sourcegraph/go-diff v0.7.0 h1:9uLlrd5T46OXs5qpp8L/MTltk0zikUGi0sNNyCpA8G0=
github.com/sourcegraph/go-diff v0.7.0/go.mod h1:iBszgVvyxdc8SFZ7gm69go2KDdt3ag071iBaWPF6cjs=
github.com/spf13/afero v1.8.2 h1:xehSyVa0YnHWsJ49JFljMpg1HX19V6NDZ1fkm1Xznbo=
@@ -553,8 +462,6 @@ 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=
github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY=
github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I=
github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0=
github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk=
github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo=
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
@@ -580,34 +487,22 @@ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk=
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8=
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/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=
github.com/t-yuki/gocover-cobertura v0.0.0-20180217150009-aaee18c8195c/go.mod h1:SbErYREK7xXdsRiigaQiQkI9McGRzYMvlKYaP3Nimdk=
github.com/tdakkota/asciicheck v0.1.1 h1:PKzG7JUTUmVspQTDqtkX9eSiLGossXTybutHwTXuO0A=
github.com/tdakkota/asciicheck v0.1.1/go.mod h1:yHp0ai0Z9gUljN3o0xMhYJnH/IcvkdTBOX2fmJ93JEM=
github.com/tdakkota/asciicheck v0.2.0 h1:o8jvnUANo0qXtnslk2d3nMKTFNlOnJjRrNcj0j9qkHM=
github.com/tdakkota/asciicheck v0.2.0/go.mod h1:Qb7Y9EgjCLJGup51gDHFzbI08/gbGhL/UVhYIPWG2rg=
github.com/tenntenn/modver v1.0.1/go.mod h1:bePIyQPb7UeioSRkw3Q0XeMhYZSMx9B8ePqg6SAMGH0=
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/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=
github.com/timakin/bodyclose v0.0.0-20230421092635-574207250966/go.mod h1:27bSVNWSBOHm+qRp1T9qzaIpsWEP6TbUnei/43HK+PQ=
github.com/timonwong/loggercheck v0.9.3 h1:ecACo9fNiHxX4/Bc02rW2+kaJIAMAes7qJ7JKxt0EZI=
github.com/timonwong/loggercheck v0.9.3/go.mod h1:wUqnk9yAOIKtGA39l1KLE9Iz0QiTocu/YZoOf+OzFdw=
github.com/timonwong/loggercheck v0.9.4 h1:HKKhqrjcVj8sxL7K77beXh0adEm6DLjV/QOGeMXEVi4=
github.com/timonwong/loggercheck v0.9.4/go.mod h1:caz4zlPcgvpEkXgVnAJGowHAMW2NwHaNlpS8xDbVhTg=
github.com/tomarrell/wrapcheck/v2 v2.8.0 h1:qDzbir0xmoE+aNxGCPrn+rUSxAX+nG6vREgbbXAR81I=
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/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=
@@ -616,14 +511,10 @@ github.com/ultraware/whitespace v0.0.5 h1:hh+/cpIcopyMYbZNVov9iSxvJU3OYQg78Sfaqz
github.com/ultraware/whitespace v0.0.5/go.mod h1:aVMh/gQve5Maj9hQ/hg+F75lr/X5A89uZnzAmWSineA=
github.com/uudashr/gocognit v1.0.6 h1:2Cgi6MweCsdB6kpcVQp7EW4U23iBFQWfTXiWlyp842Y=
github.com/uudashr/gocognit v1.0.6/go.mod h1:nAIUuVBnYU7pcninia3BHOvQkpQCeO76Uscky5BOwcY=
github.com/xen0n/gosmopolitan v1.2.1 h1:3pttnTuFumELBRSh+KQs1zcz4fN6Zy7aB0xlnQSn1Iw=
github.com/xen0n/gosmopolitan v1.2.1/go.mod h1:JsHq/Brs1o050OOdmzHeOr0N7OtlnKRAGAsElF8xBQA=
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/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=
@@ -639,16 +530,12 @@ 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.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/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=
go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo=
go.uber.org/zap v1.24.0 h1:FiJd5l1UOLj0wCgbSE0rwwXHzEdAZS6hiiSnxJN/D60=
go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg=
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-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
@@ -671,13 +558,9 @@ golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EH
golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU=
golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e h1:+WEEuIdZHnUeJJmEUjyYC2gfUMj69yZXw17EnHg/otA=
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/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/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=
@@ -709,10 +592,6 @@ golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI=
golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.8.0 h1:LUYupSeNrTNCGzR/hVBk2NHZO4hXcVaW1k4Qx7rjPx8=
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
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/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=
@@ -754,7 +633,6 @@ golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco=
golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
golang.org/x/net v0.3.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE=
golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws=
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
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=
@@ -779,8 +657,6 @@ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJ
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
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/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=
@@ -841,17 +717,12 @@ golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU=
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
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/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=
golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA=
golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ=
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
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=
@@ -864,10 +735,6 @@ golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.6.0 h1:3XmdazWV+ubf7QgHSTWeykHOci5oeekaGJBLkrkaw4k=
golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
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/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=
@@ -948,10 +815,6 @@ golang.org/x/tools v0.4.0/go.mod h1:UE5sM2OK9E/d67R0ANs2xJizIymRP5gJU295PvKXxjQ=
golang.org/x/tools v0.5.0/go.mod h1:N+Kgy78s5I24c24dU8OfWNEotWjutIs8SnJvn5IDq+k=
golang.org/x/tools v0.6.0 h1:BOw41kyTf3PuCW1pVQf8+Cyg8pMlkYB1oo9iJ6D/lKM=
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
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/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=
@@ -1076,12 +939,8 @@ honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9
honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
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=
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/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=

View File

@@ -1,138 +1,86 @@
github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI=
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/sprig/v3 v3.2.2 h1:17jRggJu518dr3QaafizSXOjKYp94wKfABxUmyxvxX8=
github.com/Masterminds/sprig/v3 v3.2.2/go.mod h1:UoaO7Yp8KlPnJIYWTFkMaqPUYKTfGFPhxNuwnnxkKlk=
github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI=
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=
github.com/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/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/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/go-openapi/analysis v0.21.2 h1:hXFrOYFHUAMQdu6zwAiKKJHJQ8kqZs1ux/ru1P1wLJU=
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/errors v0.20.2 h1:dxy7PGTqEh94zj2E3h1cUmQQWiM1+aeCROfAr02EmK8=
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/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/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY=
github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
github.com/go-openapi/jsonreference v0.19.6 h1:UBIxjkht+AWIgYzCDSv2GN+E/togfwXUJFRTWhl2Jjs=
github.com/go-openapi/jsonreference v0.20.0 h1:MYlu0sBgChmCfJxxUKZ8g1cPWFOB37YSZqewK7OKeyA=
github.com/go-openapi/jsonreference v0.20.0/go.mod h1:Ag74Ico3lPc+zR+qjn4XBUmXymS4zJbYVCZmcgkasdo=
github.com/go-openapi/loads v0.21.0 h1:jYtUO4wwP7psAweisP/MDoOpdzsYEESdoPcsWjHDR68=
github.com/go-openapi/loads v0.21.2 h1:r2a/xFIYeZ4Qd2TnGpWDIQNcP80dIaZgf704za8enro=
github.com/go-openapi/loads v0.21.2/go.mod h1:Jq58Os6SSGz0rzh62ptiu8Z31I+OTHqmULx5e/gJbNw=
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/spec v0.20.4 h1:O8hJrt0UMnhHcluhIdUgCLRWyM2x7QkBXRvOs7m+O1M=
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/strfmt v0.21.1 h1:G6s2t5V5kGCHLVbSdZ/6lI8Wm4OzoPFkc3/cjAsKQrM=
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/swag v0.19.15 h1:D2NRCBzS9/pEY3gP9Nl8aDqGUcPFrwG2p+CNFrLyrCM=
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/validate v0.20.3 h1:GZPPhhKSZrE8HjB4eEkoYAZmoWA4+tCemSgINH1/vKw=
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-stack/stack v1.8.1 h1:ntEHSVwIt7PNXNpgPmVfMrNhLtgjlmnZha2kOpuRiDw=
github.com/go-swagger/go-swagger v0.29.0 h1:z3YoZtLvS1Y8TE/PCat1VypcZxM0IgKLt0NvZxQyNl8=
github.com/go-swagger/go-swagger v0.29.0/go.mod h1:Z4GJzI+bHKKkGB2Ji1rawpi3/ldXX8CkzGIa9HAC5EE=
github.com/go-swagger/go-swagger v0.30.2 h1:23odPUyQZdkNFZZSBJ3mqYYcdh+LnuReEbdWN18OMRo=
github.com/go-swagger/go-swagger v0.30.2/go.mod h1:neDPes8r8PCz2JPvHRDj8BTULLh4VJUt7n6MpQqxhHM=
github.com/google/uuid v1.1.2 h1:EVhdT+1Kseyi1/pUmXKaFxYsDNy9RQYkMWRH68J/W7Y=
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
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/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
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/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU=
github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA=
github.com/jessevdk/go-flags v1.5.0 h1:1jKYvbxEjfUl0fmqTCOfonvskHHXMjBySTLW4y9LFvc=
github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4=
github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0=
github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
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/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0=
github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw=
github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s=
github.com/mitchellh/mapstructure v1.4.3 h1:OVowDSCllw/YjdLkam3/sm7wEtOy59d8ndGgCcyj8cs=
github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ=
github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4=
github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
github.com/pelletier/go-toml v1.9.4 h1:tjENF6MfZAg8e4ZmZTeWaWiT2vXtsoO6+iuOjFhECwM=
github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8=
github.com/pelletier/go-toml/v2 v2.0.1 h1:8e3L2cCQzLFi2CR4g7vGFuFxX7Jl1kKX8gW+iV0GUKU=
github.com/pelletier/go-toml/v2 v2.0.1/go.mod h1:r9LEWfGN8R5k0VXJ+0BkIe7MYkRdwZOjgMj2KwnJFUo=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
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/shopspring/decimal v1.2.0 h1:abSATXmQEYyShuxI4/vyW3tV1MrKAJzCZ/0zLUXYbsQ=
github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o=
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/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/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk=
github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo=
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
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/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/toqueteos/webbrowser v1.2.0 h1:tVP/gpK69Fx+qMJKsLE7TD8LuGWPnEV71wBN9rrstGQ=
github.com/toqueteos/webbrowser v1.2.0/go.mod h1:XWoZq4cyp9WeUeak7w7LXRUQf1F1ATJMir8RTqb4ayM=
go.mongodb.org/mongo-driver v1.8.2 h1:8ssUXufb90ujcIvR6MyE1SchaNj0SFxsakiZgxIyrMk=
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=
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/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/net v0.0.0-20220121210141-e204ce36a2ba h1:6u6sik+bn/y7vILcYkK3iwTBWN7WtBvB0+SZswQnbf8=
golang.org/x/sys v0.0.0-20220114195835-da31bd327af9 h1:XfKQ4OlFl8okEOr5UvAqFRVj8pY/4yfcXrddB8qAbU0=
golang.org/x/sys v0.0.0-20220829200755-d48e67d00261 h1:v6hYoSR9T5oet+pMXwUWkbiVqx/63mlHjefrHmxwfeY=
golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
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/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/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
gopkg.in/ini.v1 v1.66.3 h1:jRskFVxYaMGAMUbN0UZ7niA9gzL9B49DOqE78vg0k3w=
gopkg.in/ini.v1 v1.66.4 h1:SsAcf+mM7mRZo2nJNGt8mZCjG8ZRaNGMURJw7BsIST4=
gopkg.in/ini.v1 v1.66.4/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

View File

@@ -14,7 +14,7 @@ CUE="${GOBIN}/cue-v0.5.0"
DRONE="${GOBIN}/drone-v1.5.0"
GOLANGCI_LINT="${GOBIN}/golangci-lint-v1.53.3"
GOLANGCI_LINT="${GOBIN}/golangci-lint-v1.51.2"
JB="${GOBIN}/jb-v0.5.1"

View File

@@ -1294,7 +1294,7 @@ This option to group query variable values into groups by tags has been an exper
**Deprecation warnings**
- Scripted dashboards is now deprecated. The feature is not removed but will be in a future release. We hope to address the underlying requirement of dynamic dashboards in a different way. [#24059](https://github.com/grafana/grafana/issues/24059)
- The unofficial first version of backend plugins together with usage of [grafana/grafana-plugin-model](https://github.com/grafana/grafana-plugin-model) is now deprecated and support for that will be removed in a future release. Please refer to [backend plugins documentation](/developers/plugin-tools/introduction/backend-plugins) for information about the new officially supported backend plugins.
- The unofficial first version of backend plugins together with usage of [grafana/grafana-plugin-model](https://github.com/grafana/grafana-plugin-model) is now deprecated and support for that will be removed in a future release. Please refer to [backend plugins documentation](https://grafana.com/docs/grafana/latest/developers/plugins/backend/) for information about the new officially supported backend plugins.
## 7.0 Feature highlights

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +0,0 @@
aks
eror
iam
wan
operato

View File

@@ -7,47 +7,62 @@
This module returns a Drone configuration including pipelines and secrets.
"""
load("scripts/drone/events/cron.star", "cronjobs")
load("scripts/drone/events/main.star", "main_pipelines")
load("scripts/drone/events/pr.star", "pr_pipelines")
load("scripts/drone/events/main.star", "main_pipelines")
load(
"scripts/drone/events/release.star",
"artifacts_page_pipeline",
"enterprise2_pipelines",
"enterprise_pipelines",
"integration_test_pipelines",
"oss_pipelines",
"publish_artifacts_pipelines",
"publish_npm_pipelines",
"publish_packages_pipeline",
"verify_release_pipeline",
)
load(
"scripts/drone/pipelines/publish_images.star",
"publish_image_pipelines_public",
"publish_image_pipelines_security",
)
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/github.star", "publish_github_pipeline")
load("scripts/drone/pipelines/aws_marketplace.star", "publish_aws_marketplace_pipeline")
load(
"scripts/drone/pipelines/windows.star",
"windows_test_backend",
)
load(
"scripts/drone/rgm.star",
"rgm",
)
load("scripts/drone/version.star", "version_branch_pipelines")
load("scripts/drone/events/cron.star", "cronjobs")
load("scripts/drone/vault.star", "secrets")
def main(_ctx):
return (
pr_pipelines() +
main_pipelines() +
oss_pipelines() +
enterprise_pipelines() +
enterprise2_pipelines() +
publish_image_pipelines_public() +
publish_image_pipelines_security() +
publish_github_pipeline("public") +
publish_github_pipeline("security") +
publish_aws_marketplace_pipeline("public") +
publish_artifacts_pipelines("security") +
publish_artifacts_pipelines("public") +
publish_npm_pipelines() +
publish_packages_pipeline() +
rgm() +
[verify_release_pipeline()] +
[windows_test_backend({
"event": ["promote"],
"target": ["test-windows"],
}, "oss", "testing")] +
artifacts_page_pipeline() +
version_branch_pipelines() +
integration_test_pipelines() +
publish_ci_windows_test_image_pipeline() +
cronjobs() +

6283
.drone.yml

File diff suppressed because it is too large Load Diff

View File

@@ -3,23 +3,23 @@
.yarn
build
compiled
/data
data
deployment_tools_config.json
/devenv
devenv
dist
/e2e/tmp
e2e/tmp
node_modules
/pkg
/public/lib/monaco
/scripts/grafana-server/tmp
pkg
public/lib/monaco
scripts/grafana-server/tmp
vendor
# TS generate from cue by cuetsy
**/*.gen.ts
# Auto-generated internationalization files
/public/locales/_build/
/public/locales/**/*.js
public/locales/_build/
public/locales/**/*.js
# Auto-generated icon file
/packages/grafana-ui/src/components/Icon/iconBundle.ts
packages/grafana-ui/src/components/Icon/iconBundle.ts

View File

@@ -44,6 +44,12 @@
"@typescript-eslint/no-redeclare": ["error"]
},
"overrides": [
{
"files": ["public/app/features/scenes/**/*.{ts,tsx}"],
"rules": {
"@typescript-eslint/explicit-member-accessibility": ["error", { "accessibility": "explicit" }]
}
},
{
"files": ["packages/grafana-ui/src/components/uPlot/**/*.{ts,tsx}"],
"rules": {
@@ -68,18 +74,20 @@
},
{
"extends": ["plugin:jsx-a11y/recommended"],
"files": ["**/*.tsx"],
"excludedFiles": ["**/*.{spec,test}.tsx"],
"files": ["**/*"],
"excludedFiles": ["**/*.{spec,test}.{ts,tsx}"],
"rules": {
// rules marked "off" are those left in the recommended preset we need to fix
// we should remove the corresponding line and fix them one by one
// any marked "error" contain specific overrides we'll need to keep
"jsx-a11y/click-events-have-key-events": "off",
"jsx-a11y/no-autofocus": [
"error",
{
"ignoreNonDOM": true
}
],
"jsx-a11y/no-static-element-interactions": "off",
"jsx-a11y/label-has-associated-control": [
"error",
{
@@ -88,39 +96,6 @@
}
]
}
},
{
"files": [
"public/app/plugins/datasource/testdata/*.{ts,tsx}",
"public/app/plugins/datasource/testdata/**/*.{ts,tsx}"
],
"rules": {
"no-restricted-imports": [
"error",
{
"paths": [
// generic rules
{
"name": "react-redux",
"importNames": ["useDispatch", "useSelector"],
"message": "Please import from app/types instead."
},
{
"name": "react-i18next",
"importNames": ["Trans", "t"],
"message": "Please import from app/core/internationalization instead"
}
],
// new rules
"patterns": [
{
"group": ["**/app/*"],
"message": "Core plugins are not allowed to depend on Grafana core packages"
}
]
}
]
}
}
]
}

152
.github/CODEOWNERS vendored
View File

@@ -13,8 +13,7 @@
# Documentation
/.changelog-archive @grafana/docs-grafana
/.codespellignore @grafana/docs-tooling
/CHANGELOG.md @grafana/grafana-delivery
/CHANGELOG.md @grafana/docs-grafana
/CODE_OF_CONDUCT.md @grafana/docs-grafana
/CONTRIBUTING.md @grafana/docs-grafana
/GOVERNANCE.md @RichiH
@@ -34,25 +33,24 @@
/devenv/README.md @grafana/docs-grafana
# Technical documentation
# `make docs` procedure and related workflows are owned @grafana/docs-tooling. Slack #docs.
# Documentation sources might have different owners.
/docs/ @grafana/docs-tooling
/docs/sources/ @Eve832
/docs/sources/administration/ @jdbaldry
/docs/sources/alerting/ @brendamuir
/docs/sources/dashboards/ @imatwawana
/docs/sources/datasources/ @lwandz13
/docs/sources/explore/ @Eve832 @GrafanaWriter
/docs/sources/fundamentals @chri2547
/docs/sources/getting-started/ @chri2547
/docs/sources/introduction/ @chri2547
/docs/sources/old-alerting/ @brendamuir
/docs/sources/panels-visualizations/ @imatwawana
/docs/sources/release-notes/ @Eve832 @GrafanaWriter
/docs/sources/setup-grafana/ @chri2547
/docs/sources/upgrade-guide/ @chri2547 @imatwawana
/docs/sources/whatsnew/ @chri2547 @imatwawana
/docs/sources/developers/plugins/ @Eve832 @josmperez @grafana/plugins-platform-frontend @grafana/plugins-platform-backend
/docs/ @Eve832 @jdbaldry
/docs/sources/ @Eve832
/docs/sources/administration/ @Eve832 @GrafanaWriter
/docs/sources/alerting/ @brendamuir
/docs/sources/dashboards/ @imatwawana
/docs/sources/datasources/ @Eve832 @GrafanaWriter
/docs/sources/explore/ @Eve832 @GrafanaWriter
/docs/sources/fundamentals @chri2547
/docs/sources/getting-started/ @chri2547
/docs/sources/introduction/ @chri2547
/docs/sources/old-alerting/ @brendamuir
/docs/sources/panels-visualizations/ @imatwawana
/docs/sources/release-notes/ @Eve832 @GrafanaWriter
/docs/sources/setup-grafana/ @chri2547
/docs/sources/upgrade-guide/ @chri2547 @imatwawana
/docs/sources/whatsnew/ @chri2547 @imatwawana
/docs/sources/developers/plugins/ @Eve832 @josmperez @grafana/plugins-platform-frontend @grafana/plugins-platform-backend
/docs/sources/developers/plugins/backend/ @Eve832 @grafana/plugins-platform-backend
# Backend code
/go.mod @grafana/backend-platform
@@ -63,12 +61,10 @@
/.bra.toml @grafana/backend-platform
/.golangci.toml @grafana/backend-platform
/build.go @grafana/backend-platform
/scripts/modowners/ @grafana/backend-platform
/pkg/api/ @grafana/backend-platform
/pkg/bus/ @grafana/backend-platform
/pkg/cmd/ @grafana/backend-platform
/pkg/systemd/ @grafana/backend-platform
/pkg/components/apikeygen/ @grafana/grafana-authnz-team
/pkg/components/satokengen/ @grafana/grafana-authnz-team
/pkg/components/dashdiffs/ @grafana/backend-platform
@@ -87,6 +83,7 @@
/pkg/infra/metrics/ @grafana/backend-platform
/pkg/infra/network/ @grafana/backend-platform
/pkg/infra/process/ @grafana/backend-platform
/pkg/infra/proxy/ @grafana/hosted-grafana-team
/pkg/infra/remotecache/ @grafana/backend-platform
/pkg/infra/serverlock/ @grafana/backend-platform
/pkg/infra/slugify/ @grafana/backend-platform
@@ -97,8 +94,7 @@
/pkg/models/ @grafana/backend-platform
/pkg/server/ @grafana/backend-platform
/pkg/services/annotations/ @grafana/backend-platform
/pkg/services/apikey/ @grafana/grafana-authnz-team
/pkg/services/certgenerator @grafana/grafana-app-platform-squad
/pkg/services/apikey/ @grafana/backend-platform
/pkg/services/cleanup/ @grafana/backend-platform
/pkg/services/contexthandler/ @grafana/backend-platform
/pkg/services/correlations/ @grafana/backend-platform
@@ -107,8 +103,8 @@
/pkg/services/dashboardsnapshots/ @grafana/backend-platform
/pkg/services/dashboardversion/ @grafana/backend-platform
/pkg/services/encryption/ @grafana/backend-platform
/pkg/services/featuremgmt/ @grafana/backend-platform
/pkg/services/folder/ @grafana/backend-platform
/pkg/services/grafana-apiserver @grafana/grafana-app-platform-squad
/pkg/services/hooks/ @grafana/backend-platform
/pkg/services/kmsproviders/ @grafana/backend-platform
/pkg/services/licensing/ @grafana/backend-platform
@@ -146,7 +142,6 @@
/pkg/tsdb/legacydata/ @grafana/backend-platform
/pkg/tsdb/opentsdb/ @grafana/backend-platform
/pkg/tsdb/sqleng/ @grafana/backend-platform
/pkg/tsdb/sqleng/proxyutil @grafana/hosted-grafana-team
/pkg/util/ @grafana/backend-platform
/pkg/web/ @grafana/backend-platform
@@ -163,17 +158,16 @@
# Logs code, developers environment
/devenv/docker/blocks/loki* @grafana/observability-logs
/devenv/docker/blocks/elastic* @grafana/observability-logs
/devenv/docker/blocks/self-instrumentation* @grafana/observability-metrics
/devenv/bulk-dashboards/ @grafana/dashboards-squad
/devenv/bulk_alerting_dashboards/ @grafana/alerting-backend-product
/devenv/bulk_alerting_dashboards/ @grafana/alerting-squad-backend
/devenv/create_docker_compose.sh @grafana/backend-platform
/devenv/dashboards.yaml @grafana/dashboards-squad
/devenv/datasources.yaml @grafana/backend-platform
/devenv/datasources_docker.yaml @grafana/backend-platform
/devenv/dev-dashboards-without-uid/ @grafana/dashboards-squad
/devenv/dev-dashboards/ @grafana/dashboards-squad
/devenv/docker/blocks/alert_webhook_listener/ @grafana/alerting-backend-product
/devenv/docker/blocks/alert_webhook_listener/ @grafana/alerting-squad-backend
/devenv/docker/blocks/clickhouse/ @grafana/partner-datasources
/devenv/docker/blocks/collectd/ @grafana/observability-metrics
/devenv/docker/blocks/grafana/ @grafana/grafana-as-code
@@ -183,8 +177,7 @@
/devenv/docker/blocks/influxdb/ @grafana/observability-metrics
/devenv/docker/blocks/influxdb1/ @grafana/observability-metrics
/devenv/docker/blocks/jaeger/ @grafana/observability-traces-and-profiling
/devenv/docker/blocks/maildev/ @grafana/alerting-frontend
/devenv/docker/blocks/mariadb/ @grafana/grafana-bi-squad
/devenv/docker/blocks/maildev/ @grafana/alerting-squad-frontend
/devenv/docker/blocks/memcached/ @grafana/backend-platform
/devenv/docker/blocks/mssql/ @grafana/grafana-bi-squad
/devenv/docker/blocks/mssql_arm64/ @grafana/grafana-bi-squad
@@ -211,7 +204,7 @@
/devenv/docker/buildcontainer/ @bergquist
/devenv/docker/compose_header.yml @grafana/backend-platform
/devenv/docker/debtest/ @bergquist
/devenv/docker/ha-test-unified-alerting/ @grafana/alerting-backend-product
/devenv/docker/ha-test-unified-alerting/ @grafana/alerting-squad-backend
/devenv/docker/ha_test/ @grafana/backend-platform
/devenv/docker/loadtest/ @grafana/backend-platform
/devenv/docker/rpmtest/ @grafana/backend-platform
@@ -221,7 +214,7 @@
/devenv/setup.sh @grafana/backend-platform
# Emails
/emails/ @grafana/alerting-frontend
/emails/ @grafana/alerting-squad-frontend
#Packaging
/packaging/ @DanCech
@@ -241,7 +234,7 @@
# OSS Plugin Partnerships backend code
/pkg/tsdb/cloudwatch/ @grafana/aws-datasources
/pkg/tsdb/azuremonitor/ @grafana/partner-datasources
/pkg/tsdb/cloud-monitoring/ @grafana/partner-datasources
/pkg/tsdb/cloudmonitoring/ @grafana/partner-datasources
# Observability backend code
/pkg/tsdb/prometheus/ @grafana/observability-metrics
@@ -250,7 +243,7 @@
/pkg/tsdb/graphite/ @grafana/observability-metrics
/pkg/tsdb/loki/ @grafana/observability-logs
/pkg/tsdb/tempo/ @grafana/observability-traces-and-profiling
/pkg/tsdb/grafana-pyroscope-datasource/ @grafana/observability-traces-and-profiling
/pkg/tsdb/phlare/ @grafana/observability-traces-and-profiling
/pkg/tsdb/parca/ @grafana/observability-traces-and-profiling
# BI backend code
@@ -272,11 +265,11 @@
/pkg/kindsysreport/ @grafana/grafana-app-platform-squad
# Alerting
/pkg/services/ngalert/ @grafana/alerting-backend-product
/pkg/services/sqlstore/migrations/ualert/ @grafana/alerting-backend-product
/pkg/services/alerting/ @grafana/alerting-backend-product
/pkg/tests/api/alerting/ @grafana/alerting-backend-product
/public/app/features/alerting/ @grafana/alerting-frontend
/pkg/services/ngalert/ @grafana/alerting-squad-backend
/pkg/services/sqlstore/migrations/ualert/ @grafana/alerting-squad-backend
/pkg/services/alerting/ @grafana/alerting-squad-backend
/pkg/tests/api/alerting/ @grafana/alerting-squad-backend
/public/app/features/alerting/ @grafana/alerting-squad-frontend
# Library Services
/pkg/services/libraryelements/ @grafana/grafana-frontend-platform
@@ -310,8 +303,8 @@
/packages/grafana-ui/src/components/ @grafana/grafana-frontend-platform
/packages/grafana-ui/src/components/DateTimePickers/ @grafana/grafana-frontend-platform
/packages/grafana-ui/src/components/Table/ @grafana/grafana-bi-squad
/packages/grafana-ui/src/components/Gauge/ @grafana/dataviz-squad
/packages/grafana-ui/src/components/BarGauge/ @grafana/dataviz-squad
/packages/grafana-ui/src/components/Gauge/ @grafana/grafana-bi-squad
/packages/grafana-ui/src/components/BarGauge/ @grafana/grafana-bi-squad
/packages/grafana-ui/src/components/GraphNG/ @grafana/dataviz-squad
/packages/grafana-ui/src/components/Graph/ @grafana/dataviz-squad
/packages/grafana-ui/src/components/TimeSeries/ @grafana/dataviz-squad
@@ -358,20 +351,17 @@ lerna.json @grafana/frontend-ops
/public/app/core/ @grafana/grafana-frontend-platform
/public/app/core/components/TimePicker/ @grafana/grafana-frontend-platform
/public/app/core/components/Layers/ @grafana/dataviz-squad
/public/app/core/components/TraceToLogs @grafana/observability-traces-and-profiling
/public/app/features/all.ts @grafana/grafana-frontend-platform
/public/app/features/admin/ @grafana/grafana-authnz-team
/public/app/features/auth-config/ @grafana/grafana-authnz-team
/public/app/features/annotations/ @grafana/grafana-frontend-platform
/public/app/features/api-keys/ @grafana/grafana-authnz-team
/public/app/features/api-keys/ @grafana/grafana-frontend-platform
/public/app/features/canvas/ @grafana/dataviz-squad
/public/app/features/geo/ @grafana/dataviz-squad
/public/app/features/visualization/data-hover/ @grafana/dataviz-squad
/public/app/features/commandPalette/ @grafana/grafana-frontend-platform
/public/app/features/connections/ @grafana/plugins-platform-frontend @mikkancso
/public/app/features/connections/ @grafana/plugins-platform-frontend
/public/app/features/correlations/ @grafana/explore-squad
/public/app/features/dashboard/ @grafana/dashboards-squad
/public/app/features/datasources/ @grafana/plugins-platform-frontend @mikkancso
/public/app/features/datasources/ @grafana/plugins-platform-frontend
/public/app/features/dimensions/ @grafana/dataviz-squad
/public/app/features/dataframe-import/ @grafana/grafana-bi-squad
/public/app/features/explore/ @grafana/explore-squad
@@ -379,13 +369,14 @@ lerna.json @grafana/frontend-ops
/public/app/features/folders/ @grafana/grafana-frontend-platform
/public/app/features/inspector/ @grafana/dashboards-squad
/public/app/features/invites/ @grafana/grafana-frontend-platform
/public/app/features/geo/ @grafana/dataviz-squad
/public/app/features/library-panels/ @grafana/grafana-frontend-platform
/public/app/features/logs/ @grafana/observability-logs
/public/app/features/live/ @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
/public/app/features/panel/ @grafana/dashboards-squad
/public/app/features/panel/ @grafana/grafana-frontend-platform
/public/app/features/playlist/ @grafana/dashboards-squad
/public/app/features/plugins/ @grafana/plugins-platform-frontend
/public/app/features/profile/ @grafana/grafana-frontend-platform
@@ -402,15 +393,15 @@ lerna.json @grafana/frontend-ops
/public/app/features/transformers/ @grafana/dataviz-squad
/public/app/features/users/ @grafana/grafana-authnz-team
/public/app/features/variables/ @grafana/dashboards-squad
/public/app/plugins/panel/alertGroups/ @grafana/alerting-frontend
/public/app/plugins/panel/alertlist/ @grafana/alerting-frontend
/public/app/plugins/panel/alertGroups/ @grafana/alerting-squad-frontend
/public/app/plugins/panel/alertlist/ @grafana/alerting-squad-frontend
/public/app/plugins/panel/annolist/ @grafana/grafana-frontend-platform
/public/app/plugins/panel/barchart/ @grafana/dataviz-squad
/public/app/plugins/panel/bargauge/ @grafana/dataviz-squad
/public/app/plugins/panel/bargauge/ @grafana/grafana-bi-squad
/public/app/plugins/panel/dashlist/ @grafana/grafana-frontend-platform
/public/app/plugins/panel/debug/ @ryantxu
/public/app/plugins/panel/datagrid/ @grafana/grafana-bi-squad
/public/app/plugins/panel/gauge/ @grafana/dataviz-squad
/public/app/plugins/panel/gauge/ @grafana/grafana-bi-squad
/public/app/plugins/panel/gettingstarted/ @grafana/grafana-frontend-platform
/public/app/plugins/panel/graph/ @grafana/dataviz-squad
/public/app/plugins/panel/heatmap/ @grafana/dataviz-squad
@@ -419,7 +410,7 @@ lerna.json @grafana/frontend-ops
/public/app/plugins/panel/nodeGraph/ @grafana/observability-traces-and-profiling
/public/app/plugins/panel/traces/ @grafana/observability-traces-and-profiling
/public/app/plugins/panel/flamegraph/ @grafana/observability-traces-and-profiling
/public/app/plugins/panel/piechart/ @grafana/dataviz-squad
/public/app/plugins/panel/piechart/ @grafana/grafana-bi-squad
/public/app/plugins/panel/state-timeline/ @grafana/dataviz-squad
/public/app/plugins/panel/status-history/ @grafana/dataviz-squad
/public/app/plugins/panel/table/ @grafana/grafana-bi-squad
@@ -429,9 +420,10 @@ lerna.json @grafana/frontend-ops
/public/app/plugins/panel/geomap/ @grafana/dataviz-squad
/public/app/plugins/panel/canvas/ @grafana/dataviz-squad
/public/app/plugins/panel/candlestick/ @grafana/dataviz-squad
/public/app/plugins/panel/icon/ @grafana/dataviz-squad
/public/app/plugins/panel/live/ @grafana/grafana-app-platform-squad
/public/app/plugins/panel/news/ @grafana/grafana-frontend-platform
/public/app/plugins/panel/stat/ @grafana/dataviz-squad
/public/app/plugins/panel/stat/ @grafana/grafana-bi-squad
/public/app/plugins/panel/text/ @grafana/grafana-frontend-platform
/public/app/plugins/panel/welcome/ @grafana/grafana-frontend-platform
/public/app/plugins/panel/xychart/ @grafana/dataviz-squad
@@ -441,23 +433,20 @@ lerna.json @grafana/frontend-ops
/public/app/store/ @grafana/grafana-frontend-platform
/public/app/types/ @grafana/grafana-frontend-platform
/public/dashboards/ @grafana/dashboards-squad
/public/fonts/ @grafana/alerting-frontend
/public/fonts/ @grafana/alerting-squad-frontend
/public/gazetteer/ @ryantxu
/public/img/ @grafana/grafana-frontend-platform
/public/lib/ @grafana/grafana-frontend-platform
/public/lib/monaco-languages/kusto.ts @grafana/partner-datasources
/public/maps/ @ryantxu
/public/robots.txt @grafana/frontend-ops
/public/sass/ @grafana/grafana-frontend-platform
/public/test/ @grafana/grafana-frontend-platform
/public/testdata/ @grafana/grafana-frontend-platform
/public/views/ @grafana/grafana-frontend-platform
/public/app/features/explore/Logs/ @grafana/observability-logs
/public/app/features/explore/Logs.tsx @grafana/observability-logs
/public/app/features/explore/LogsContainer.tsx @grafana/observability-logs
/public/app/features/explore/RawPrometheus/ @grafana/observability-metrics
/public/app/features/explore/NodeGraph/ @grafana/observability-traces-and-profiling
/public/app/features/explore/FlameGraph/ @grafana/observability-traces-and-profiling
/public/app/features/explore/TraceView/ @grafana/observability-traces-and-profiling
/public/api-merged.json @grafana/backend-platform
@@ -465,7 +454,6 @@ lerna.json @grafana/frontend-ops
/public/app/angular/ @torkelo
/public/app/app.ts @grafana/frontend-ops
/public/app/dev.ts @grafana/frontend-ops
/public/app/core/utils/metrics.ts @grafana/plugins-platform-frontend
/public/app/index.ts @grafana/frontend-ops
/public/app/AppWrapper.tsx @grafana/frontend-ops
/public/app/partials/ @grafana/grafana-frontend-platform
@@ -523,13 +511,13 @@ lerna.json @grafana/frontend-ops
/public/app/plugins/datasource/mixed/ @grafana/dashboards-squad
/public/app/plugins/datasource/mssql/ @grafana/grafana-bi-squad
/public/app/plugins/datasource/mysql/ @grafana/grafana-bi-squad
/public/app/plugins/datasource/opentsdb/ @grafana/observability-metrics
/public/app/plugins/datasource/opentsdb/ @grafana/backend-platform
/public/app/plugins/datasource/postgres/ @grafana/grafana-bi-squad
/public/app/plugins/datasource/prometheus/ @grafana/observability-metrics
/public/app/plugins/datasource/cloud-monitoring/ @grafana/partner-datasources
/public/app/plugins/datasource/zipkin/ @grafana/observability-traces-and-profiling
/public/app/plugins/datasource/tempo/ @grafana/observability-traces-and-profiling
/public/app/plugins/datasource/grafana-pyroscope-datasource/ @grafana/observability-traces-and-profiling
/public/app/plugins/datasource/phlare/ @grafana/observability-traces-and-profiling
/public/app/plugins/datasource/parca/ @grafana/observability-traces-and-profiling
/public/app/plugins/datasource/alertmanager/ @grafana/alerting-squad
@@ -552,9 +540,9 @@ lerna.json @grafana/frontend-ops
/pkg/services/ldap/ @grafana/grafana-authnz-team
/pkg/services/login/ @grafana/grafana-authnz-team
/pkg/services/loginattempt/ @grafana/grafana-authnz-team
/pkg/services/oauthserver/ @grafana/grafana-authnz-team
/pkg/services/oauthtoken/ @grafana/grafana-authnz-team
/pkg/services/serviceaccounts/ @grafana/grafana-authnz-team
/pkg/services/teamguardian/ @grafana/grafana-authnz-team
# Support bundles
/public/app/features/support-bundles/ @grafana/grafana-authnz-team
@@ -564,7 +552,6 @@ lerna.json @grafana/frontend-ops
/pkg/infra/httpclient/httpclientprovider/sigv4_middleware.go @grafana/grafana-operator-experience-squad
/pkg/infra/httpclient/httpclientprovider/sigv4_middleware_test.go @grafana/grafana-operator-experience-squad
/pkg/services/caching/ @grafana/grafana-operator-experience-squad
/pkg/services/featuremgmt/ @grafana/grafana-operator-experience-squad
# Kind definitions
/kinds/dashboard @grafana/dashboards-squad
@@ -594,18 +581,17 @@ embed.go @grafana/grafana-as-code
/.github/pr-commands.json @marefr
/.github/renovate.json5 @grafana/frontend-ops
/.github/teams.yml @armandgrillet
/.github/workflows/alerting-swagger-gen.yml @grafana/alerting-backend-product
/.github/workflows/auto-milestone.yml @grafana/grafana-delivery
/.github/workflows/backport.yml @grafana/grafana-delivery
/.github/workflows/bump-version.yml @grafana/grafana-delivery
/.github/workflows/close-milestone.yml @grafana/grafana-delivery
/.github/workflows/cloud-data-sources-code-coverage.yml @grafana/partner-datasources @grafana/aws-datasources
/.github/workflows/codeowners-validator.yml @tolzhabayev
/.github/workflows/codeql-analysis.yml @DanCech
/.github/workflows/commands.yml @torkelo
/.github/workflows/detect-breaking-changes-* @grafana/plugins-platform-frontend
/.github/workflows/doc-validator.yml @grafana/docs-tooling
/.github/workflows/doc-validator.yml @grafana/docs-grafana
/.github/workflows/epic-add-to-platform-ux-parent-project.yml @meanmina
/.github/workflows/github-release.yml @grafana/grafana-delivery
/.github/workflows/github-release.yml @torkelo
/.github/workflows/issue-labeled.yml @armandgrillet
/.github/workflows/issue-opened.yml @grafana/grafana-community-support
/.github/workflows/metrics-collector.yml @torkelo
@@ -617,27 +603,15 @@ embed.go @grafana/grafana-as-code
/.github/workflows/pr-codeql-analysis-python.yml @DanCech
/.github/workflows/pr-commands-closed.yml @tolzhabayev
/.github/workflows/pr-commands.yml @marefr
/.github/workflows/pr-patch-check.yml @grafana/grafana-delivery
/.github/workflows/sync-mirror.yml @grafana/grafana-delivery
/.github/workflows/publish-technical-documentation-next.yml @grafana/docs-tooling
/.github/workflows/publish-technical-documentation-release.yml @grafana/docs-tooling
/.github/workflows/remove-milestone.yml @grafana/grafana-delivery
/.github/workflows/publish-technical-documentation-next.yml @grafana/docs-grafana
/.github/workflows/publish-technical-documentation-release.yml @grafana/docs-grafana
/.github/workflows/remove-milestone.yml @grafana/grafana-frontend-platform
/.github/workflows/sbom-report.yml @grafana/security-team
/.github/workflows/scripts/json-file-to-job-output.js @grafana/plugins-platform-frontend
/.github/workflows/scripts/pr-get-job-link.js @grafana/plugins-platform-frontend
/.github/workflows/stale.yml @grafana/grafana-delivery
/.github/workflows/stale.yml @grafana/grafana-frontend-platform
/.github/workflows/update-changelog.yml @grafana/grafana-delivery
/.github/workflows/update-make-docs.yml @grafana/docs-tooling
/.github/workflows/snyk.yml @grafana/security-team
/.github/workflows/scripts/kinds/verify-kinds.go @grafana/grafana-as-code
/.github/workflows/publish-kinds-next.yml @grafana/grafana-as-code
/.github/workflows/publish-kinds-release.yml @grafana/grafana-as-code
/.github/workflows/verify-kinds.yml @grafana/grafana-as-code
/.github/workflows/dashboards-issue-add-label.yml @grafana/dashboards-squad
/.github/workflows/ephemeral-instances-pr-comment.yml @grafana/grafana-operator-experience-squad
/.github/workflows/ephemeral-instances-pr-opened-closed.yml @grafana/grafana-operator-experience-squad
/.github/workflows/create-security-patch-from-security-mirror.yml @grafana/grafana-delivery
# Generated files not requiring owner approval
/packages/grafana-data/src/types/featureToggles.gen.ts @grafanabot
@@ -652,7 +626,7 @@ embed.go @grafana/grafana-as-code
/conf/ldap.toml @grafana/grafana-authnz-team
/conf/ldap_multiple.toml @grafana/grafana-authnz-team
/conf/provisioning/access-control/ @grafana/grafana-authnz-team
/conf/provisioning/alerting/ @grafana/alerting-backend-product
/conf/provisioning/alerting/ @grafana/alerting-squad-backend
/conf/provisioning/dashboards/ @grafana/dashboards-squad
/conf/provisioning/datasources/ @grafana/plugins-platform-backend
/conf/provisioning/notifiers/ @bergquist

View File

@@ -1,14 +1,14 @@
name: New Bug Report
description: File a bug report
title: "Product Area: Short description of bug"
title: "Product-Area-Here: short description of bug here"
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report!
Please try to give your issue a good title. Try using the product-area where you are having an issue and a brief description of the problem. Like this:
- `Dashboards: Template Variables break when I do X` or
Please try to give your issue a good title. Try using the product-area where you are having an issue and a brief description of the problem. Like this:
- `Dashboards: Template Variables break when I do X` or
- `Alerting: message templating plus Slack channel breaks when I do X`
- type: markdown
attributes:
@@ -20,61 +20,108 @@ body:
attributes:
value: |
#
- type: textarea
id: bug-describe
attributes:
label: What happened?
description: "**Hot Tip:** Record your screen and attach it here."
validations:
required: true
- type: textarea
attributes:
label: What did you expect to happen?
validations:
required: true
- type: textarea
attributes:
label: Did this work before?
description: "If this worked before, what Grafana version worked correctly?"
validations:
required: true
- type: textarea
attributes:
label: How do we reproduce it?
placeholder: "Steps to reproduce..."
value: |
1.
2.
3.
validations:
required: true
- type: textarea
attributes:
label: Is the bug inside a dashboard panel?
label: |
# What went wrong?
description: |
If the bug appears inside a [dashboard panel](https://grafana.com/docs/grafana/latest/panels-visualizations/#panels-and-visualizations), please use the ["Get help" feature](https://grafana.com/docs/grafana/latest/troubleshooting/send-panel-to-grafana-support/). Select **Copy to clipboard** and paste the data below.
#
Describe your bug. What happened? What did you expect to happen?
- type: textarea
attributes:
label: Environment (with versions)?
description: |
[How do I find my Grafana version info?](https://community.grafana.com/t/how-to-find-your-grafana-version-info-3-different-ways/86857)
placeholder: "Grafana, OS, and Browser versions..."
**Hot Tip:** Record your screen and add it here as a gif.
placeholder: Tell us what you see!
value: |
Grafana:
OS:
Browser:
validations:
required: false
**What happened**:
-
**What did you expect to happen**:
-
validations:
required: true
- type: markdown
attributes:
value: |
#
- type: textarea
id: bug-repro
attributes:
label: |
# How do we reproduce it?
description: |
#
Whenever possible, please provide **detailed** steps for reproducing your bug.
**This is very helpful info**
placeholder: "Step 1:..."
value: |
**Step 1**:
- Open Grafana and do X
**Step 2**:
- Now click button Y
**Step 3**:
- Wait for the browser to crash. Error message says: "Error..."
validations:
required: true
- type: markdown
attributes:
value: |
#
- type: input
id: gf-version
attributes:
label: |
# What Grafana version are you using?
description: |
#
- [How do I find my Grafana version info?](https://community.grafana.com/t/how-to-find-your-grafana-version-info-3-different-ways/86857)
placeholder: "ex: v9.5.0, or v9.5.0-cloud.5.a016665c (b2a5d45589)"
validations:
required: true
- type: markdown
attributes:
value: |
#
#
# Optional Questions:
#
- type: textarea
id: get-help
attributes:
label: |
## Optional Questions:
### Is the bug inside a Dashboard Panel?
description: |
If the bug appears inside a [dashboard panel](https://grafana.com/docs/grafana/latest/panels-visualizations/#panels-and-visualizations), please use the ["Get-Help" feature](https://grafana.com/docs/grafana/latest/troubleshooting/send-panel-to-grafana-support/). Select **copy to clipboard** and paste the data below.
No need for backticks--this text will get formatted as a code-block.
What's a [dashboard panel](https://grafana.com/docs/grafana/latest/panels-visualizations/#panels-and-visualizations)?
placeholder: Copy "get-help" data here
value: Copy the panel's ["get-help" data](https://grafana.com/docs/grafana/latest/troubleshooting/send-panel-to-grafana-support/) here
- type: dropdown
id: gf-deployment
attributes:
label: Grafana platform?
description: How are you running/deploying Grafana?
label: Grafana Platform?
description: |
**How** are you running/deploying Grafana?
options:
- I use Grafana Cloud
- Docker
@@ -85,9 +132,46 @@ body:
- I don't know
validations:
required: false
- type: input
id: user-os
attributes:
label: Datasource(s)?
description: "Is this issue specific to a datasource plugin? (Please list all that apply)"
label: User's OS?
description: What operating system are you running locally?
placeholder: "ex. MacOS Big Sur 11.7, or Ubuntu 20.04..."
- type: input
id: user-browser
attributes:
label: User's Browser?
description: Is the bug occuring in Grafana's user-interface? If so, what browsers are you seeing the problem on? You may choose more than one.
placeholder: "ex. Google Chrome Version 112.0.5615.137 (Official Build) (arm64)..."
- type: dropdown
id: regression
attributes:
label: Is this a Regression?
description: |
A regression means that the feature was working, then you upgraded, and now it's broken.
options:
- 'No'
- 'Yes'
validations:
required: false
- type: input
id: gf-datasource
attributes:
label: Are Datasources involved?
description: |
Is this issue specific to a datasource plugin / plugins? Please list all that apply:
placeholder: "ex. Elasticsearch 5.0.0 or Infinity 1.4.1 ..."
- type: markdown
attributes:
value: |
#
#
## Anything else to add?
#
- type: textarea
id: extra
attributes:
label: |
Anything else to add?
description: Add any extra information here

View File

@@ -1,65 +0,0 @@
---
name: Saga contribution template
description: Contribute to the design system.
title: "Saga: "
labels:
- area/grafana/ui, design-system
body:
- type: markdown
attributes:
value: |
By using this template, you help expand our component and pattern solutions within the design system and let others reuse your work! You can contribute bug or design defect fixes, component, and pattern enhancements, or even net-new components! This template brings visibility to the great work everyone already does and in turn helps reduce duplicate efforts.
Thank you!
- type: checkboxes
attributes:
label: What type of contribution is this?
description: null
options:
- label: Fix - bug, design defect, typo, documentation conciseness
- label: Unification - combining similar components/patterns into a single
solution
- label: Proposal - net-new component, additions, variants
validations:
required: true
- type: textarea
id: background
attributes:
label: Why is this needed?
description: Explain the use case and where it can be used.
placeholder: null
validations:
required: true
- type: textarea
id: use_case
attributes:
label: Where is this or where can it be used?
description: Explain the current/future use case, be sure to include areas of impact
placeholder: null
validations:
required: true
- type: textarea
attributes:
label: Deliverables
description: Add a checklist of deliverables here. You can later add links to
each deliverable.
value: |
- Figma mockup
- Storybook story
- …
- type: checkboxes
attributes:
label: Contribution guiding principles
description: Use this checklist of guiding principles to ensure your
contribution makes Grafana a better product
options:
- label: Universal - not specific to a single product feature; able to be used
product-wide
- label: Accessible - inclusive to all types of users and assistive tools
- label: Flexible - thoughtfully built and designed to solve various
configurations and situations
- label: Coherent - follows existing visual styling and patterns
- label: Defined - documented clearly and concisely for ease of understanding
- label: Distinct - solves a unique gap or problem that cannot be solved with
current solutions
validations:
required: false

42
.github/commands.json vendored
View File

@@ -51,6 +51,14 @@
"addLabel":"not implemented",
"comment":"This feature request has been open for a long time with few received upvotes or comments, so we are closing it. We're trying to limit open GitHub issues in order to better track planned work and features. \r\n\r\nThis doesn't mean that we'll never ever implement it or that we will never accept a PR for it. A closed issue can still attract upvotes and act as a ticket to track feature demand\/interest. \r\n\r\nThank You to you for taking the time to create this issue!"
},
{
"type":"label",
"name":"oss-user-essentials",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/78"
}
},
{
"type":"label",
"name":"area/plugins-catalog",
@@ -195,6 +203,22 @@
"url":"https://github.com/orgs/grafana/projects/111"
}
},
{
"type":"label",
"name":"oss-user-essentials",
"action":"removeFromProject",
"removeFromProject":{
"url":"https://github.com/orgs/grafana/projects/78"
}
},
{
"type":"label",
"name":"oss-user-essentials",
"action":"removeFromProject",
"removeFromProject":{
"url":"https://github.com/grafana/grafana/projects/33"
}
},
{
"type": "label",
"name": "team/operator-experience",
@@ -328,7 +352,7 @@
"name": "area/panel/bargauge",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
"url": "https://github.com/orgs/grafana/projects/72"
}
},
{
@@ -336,7 +360,7 @@
"name": "area/panel/gauge",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
"url": "https://github.com/orgs/grafana/projects/72"
}
},
{
@@ -384,7 +408,7 @@
"name": "area/panel/piechart",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
"url": "https://github.com/orgs/grafana/projects/72"
}
},
{
@@ -392,7 +416,7 @@
"name": "area/panel/stat",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
"url": "https://github.com/orgs/grafana/projects/72"
}
},
{
@@ -429,12 +453,20 @@
},
{
"type": "label",
"name": "area/panel/trend",
"name": "area/panel/oss-dataviz",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "label",
"name": "area/panel/oss-bi",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/72"
}
},
{
"type": "label",
"name": "area/panel/table",

View File

@@ -46,4 +46,4 @@
},
"targetUrl": "https://github.com/grafana/grafana/blob/main/contribute/merge-pull-request.md#include-in-changelog-and-release-notes"
}
]
]

View File

@@ -89,7 +89,7 @@
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/cloud-monitoring/**/*", "pkg/tsdb/cloud-monitoring/**/*"],
"matches": [ "public/app/plugins/datasource/cloud-monitoring/**/*", "pkg/tsdb/cloudmonitoring/**/*"],
"action": "updateLabel",
"addLabel": "datasource/GoogleCloudMonitoring"
},
@@ -187,7 +187,7 @@
"type": "author",
"name": "pr/external",
"notMemberOf": { "org": "grafana" },
"ignoreList": ["renovate[bot]","dependabot[bot]","grafana-delivery-bot[bot]","grafanabot"],
"ignoreList": ["renovate[bot]","dependabot[bot]"],
"action": "updateLabel",
"addLabel": "pr/external"
},
@@ -198,257 +198,5 @@
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/69"
}
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/candlestick/**/*"],
"action": "updateLabel",
"addLabel": "area/panel/candlestick"
},
{
"type": "label",
"name": "area/panel/candlestick",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/canvas/**/*", "/public/app/features/canvas/**/*"],
"action": "updateLabel",
"addLabel": "area/panel/canvas"
},
{
"type": "label",
"name": "area/panel/canvas",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/barchart/**/*"],
"action": "updateLabel",
"addLabel": "area/panel/barchart"
},
{
"type": "label",
"name": "area/panel/barchart",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/geomap/**/*", "/public/app/features/geo/**/*"],
"action": "updateLabel",
"addLabel": "area/panel/geomap"
},
{
"type": "label",
"name": "area/panel/geomap",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/graph/**/*", "/packages/grafana-ui/src/components/Graph/**/*", "/packages/grafana-ui/src/components/GraphNG/**/*"],
"action": "updateLabel",
"addLabel": "area/panel/graph"
},
{
"type": "label",
"name": "area/panel/graph",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/heatmap/**/*"],
"action": "updateLabel",
"addLabel": "area/panel/heatmap"
},
{
"type": "label",
"name": "area/panel/heatmap",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/histogram/**/*"],
"action": "updateLabel",
"addLabel": "area/panel/histogram"
},
{
"type": "label",
"name": "area/panel/histogram",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/state-timeline/**/*"],
"action": "updateLabel",
"addLabel": "area/panel/state-timeline"
},
{
"type": "label",
"name": "area/panel/state-timeline",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/status-history/**/*"],
"action": "updateLabel",
"addLabel": "area/panel/status-history"
},
{
"type": "label",
"name": "area/panel/status-history",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/timeseries/**/*", "/packages/grafana-ui/src/components/TimeSeries/**/*"],
"action": "updateLabel",
"addLabel": "area/panel/timeseries"
},
{
"type": "label",
"name": "area/panel/timeseries",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/xychart/**/*"],
"action": "updateLabel",
"addLabel": "area/panel/xychart"
},
{
"type": "label",
"name": "area/panel/xychart",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/trend/**/*"],
"action": "updateLabel",
"addLabel": "area/panel/trend"
},
{
"type": "label",
"name": "area/panel/trend",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["/packages/grafana-ui/src/components/VizLegend/**/*"],
"action": "updateLabel",
"addLabel": "area/legend"
},
{
"type": "label",
"name": "area/legend",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["/packages/grafana-ui/src/components/VizTooltip/**/*", "public/app/feature/visualization/data-hover/**/*" ],
"action": "updateLabel",
"addLabel": "area/tooltip"
},
{
"type": "label",
"name": "area/tooltip",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/gauge/**/*", "/packages/grafana-ui/src/components/Gauge/**/*"],
"action": "updateLabel",
"addLabel": "area/panel/gauge"
},
{
"type": "label",
"name": "area/panel/gauge",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/bargauge/**/*", "/packages/grafana-ui/src/components/BarGauge/**/*"],
"action": "updateLabel",
"addLabel": "area/panel/gauge"
},
{
"type": "label",
"name": "area/panel/bargauge",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/stat/**/*"],
"action": "updateLabel",
"addLabel": "area/panel/stat"
},
{
"type": "label",
"name": "area/panel/stat",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/piechart/**/*"],
"action": "updateLabel",
"addLabel": "area/panel/piechart"
},
{
"type": "label",
"name": "area/panel/piechart",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
}
]

View File

@@ -16,6 +16,12 @@
"systemjs",
"ts-loader", // we should remove ts-loader and use babel-loader instead
"ora", // we should bump this once we move to esm modules
// Sentry deprecated in favor of Grafana Faro for frontend logging.
// Major effort required to upgrade to latest Sentry, not worthwhile
"@sentry/browser",
"@sentry/types",
"@sentry/utils",
],
"includePaths": ["package.json", "packages/**"],
"ignorePaths": ["packages/grafana-toolkit/package.json", "emails/**", "plugins-bundled/**", "**/mocks/**"],

3
.github/teams.yml vendored
View File

@@ -7,5 +7,4 @@ test:
# Alerting team
area/alerting:
channel-label: C028MCV4R7C
exclude-github-team: alerting-squad
channel-label: C02B9MXQE0J

View File

@@ -1,37 +0,0 @@
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * 1'
jobs:
gen-swagger:
name: Alerting Swagger spec generation cron job
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
fetch-depth: 2
- name: Set go version
uses: actions/setup-go@v4
with:
go-version: '1.21.5'
- name: Build swagger
run: |
make -C pkg/services/ngalert/api/tooling post.json api.json
- name: Open Pull Request
uses: peter-evans/create-pull-request@v3
with:
token: ${{ secrets.GITHUB_TOKEN }}
commit-message: "chore: update alerting swagger spec"
title: "Alerting: Update Swagger spec"
body: |
This is an automated pull request to update the alerting swagger spec.
Please review and merge.
branch: update-alerting-swagger-spec
delete-branch: true
labels: 'area/alerting,type/docs,no-backport,no-changelog'
team-reviewers: 'grafana/alerting-backend-product'
draft: false

View File

@@ -1,24 +0,0 @@
name: Auto-milestone
on:
pull_request:
types:
- opened
- reopened
- closed
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 auto-milestone
uses: grafana/grafana-github-actions-go/auto-milestone@main
with:
pr: ${{ github.event.pull_request.number }}
token: ${{ steps.generate_token.outputs.token }}

View File

@@ -17,16 +17,10 @@ jobs:
ref: main
- name: Install Actions
run: npm install --production --prefix ./actions
- 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 backport
uses: ./actions/backport
with:
metricsWriteAPIKey: ${{secrets.GRAFANA_MISC_STATS_API_KEY}}
token: ${{ steps.generate_token.outputs.token }}
labelsToAdd: "backport"
token: ${{secrets.GH_BOT_ACCESS_TOKEN}}
labelsToAdd: "backport,no-changelog"
title: "[{{base}}] {{originalTitle}}"

View File

@@ -3,15 +3,15 @@ on:
workflow_dispatch:
inputs:
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'
description: 'Needs to match, exactly, the name of a milestone. The version to be released please respect: major.minor.patch or major.minor.patch-preview<number> format. example: 7.4.3 or 7.4.3-preview'
required: true
env:
YARN_ENABLE_IMMUTABLE_INSTALLS: false
YARN_ENABLE_IMMUTABLE_INSTALLS: false
jobs:
main:
runs-on: ubuntu-latest
steps:
# This is a basic workflow to help you get started with Actions
# 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
@@ -28,15 +28,15 @@ jobs:
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"
major.minor.patch or major.minor.patch-preview.number format. \
example: 7.4.3 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"
major.minor.patch or major.minor.patch-preview<number> format. \
example: 7.4.3 or 7.4.3-preview1"
exit 1
- uses: actions/checkout@v3
@@ -49,30 +49,27 @@ jobs:
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: Check input version is aligned with branch(main)
if: ${{ github.event.inputs.version != '' && steps.intermedia.outputs.branch_exist == '0' && !contains(github.event.inputs.version, 'pre') && !contains(steps.intermedia.outputs.short_ref, 'main') }}
run: |
echo "When you want to deliver a new new minor version, you might want to create a new branch first \
with naming convention v[major].[minor].x, and just run the workflow on that branch. \
Run the workflow on main only when needed"
exit 1
- name: Checkout Actions
uses: actions/checkout@v3
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@v3.5.1
with:
node-version: '16'
- name: Install Actions
run: npm install --production --prefix ./actions
- 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 }}
token: ${{ secrets.GH_BOT_ACCESS_TOKEN }}
metricsWriteAPIKey: ${{ secrets.GRAFANA_MISC_STATS_API_KEY }}
precommit_make_target: gen-cue

View File

@@ -11,7 +11,9 @@ on:
description: Needs to match, exactly, the name of a milestone
required: true
type: string
secrets:
token:
required: true
jobs:
main:
runs-on: ubuntu-latest
@@ -24,20 +26,14 @@ jobs:
ref: main
- name: Install Actions
run: npm install --production --prefix ./actions
- 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: Close milestone (manually invoked)
if: ${{ github.event.inputs.version != '' }}
uses: ./actions/close-milestone
with:
token: ${{ steps.generate_token.outputs.token }}
token: ${{ secrets.GH_BOT_ACCESS_TOKEN }}
- name: Close milestone (workflow invoked)
if: ${{ inputs.version_call != '' }}
uses: ./actions/close-milestone
with:
version_call: ${{ inputs.version_call }}
token: ${{ steps.generate_token.outputs.token }}
token: ${{ secrets.token }}

View File

@@ -0,0 +1,20 @@
name: Cloud data sources test code coverage
on:
pull_request:
paths:
- 'pkg/tsdb/azuremonitor/**'
- 'pkg/tsdb/cloudwatch/**'
- 'pkg/tsdb/cloudmonitoring/**'
- 'public/app/plugins/datasource/azuremonitor/**'
- 'public/app/plugins/datasource/cloudwatch/**'
- 'public/app/plugins/datasource/cloud-monitoring/**'
branches-ignore:
- dependabot/**
- backport-*
jobs:
workflow-call:
uses: grafana/code-coverage/.github/workflows/code-coverage.yml@v0.1.19
with:
frontend-path-regexp: public\/app\/plugins\/datasource\/(azuremonitor|cloud-monitoring|cloudwatch)
backend-path-regexp: pkg\/tsdb\/(azuremonitor|cloudmonitoring|cloudwatch)

View File

@@ -42,9 +42,9 @@ jobs:
- if: matrix.language == 'go'
name: Set go version
uses: actions/setup-go@v4
uses: actions/setup-go@v3
with:
go-version: '1.21.5'
go-version: '1.19.2'
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL

View File

@@ -1,28 +0,0 @@
# Owned by grafana-delivery-squad
# Intended to be dropped into the base repo (Ex: grafana/grafana) for use in the security mirror.
name: Create security patch
run-name: create-security-patch
on:
pull_request:
types:
- opened
- reopened
- synchronize
branches:
- "main"
- "v*.*.*"
# This is run before the pull request has been merged, so we'll run against the src branch
jobs:
trigger_downstream_create_security_patch:
concurrency: create-patch-${{ github.ref_name }}
uses: grafana/security-patch-actions/.github/workflows/create-patch.yml@main
if: github.repository == 'grafana/grafana-security-mirror'
with:
repo: "${{ github.repository }}"
src_ref: "${{ github.head_ref }}" # this is the source branch name, Ex: "feature/newthing"
patch_ref: "${{ github.base_ref }}" # this is the target branch name, Ex: "main"
patch_repo: "grafana/grafana-security-patches"
patch_prefix: "${{ github.event.pull_request.number }}"
secrets: inherit

View File

@@ -1,58 +0,0 @@
name: When an issue changes and it's part of the dashboards project, add the dashboards squad label
on:
issues:
types: [opened, closed, edited, reopened, assigned, unassigned, labeled, unlabeled]
env:
GITHUB_TOKEN: ${{ secrets.ISSUE_COMMANDS_TOKEN }}
ORGANIZATION: ${{ github.repository_owner }}
REPO: ${{ github.event.repository.name }}
TARGET_PROJECT: 202
LABEL_IDs: "LA_kwDOAOaWjc8AAAABT38U-A"
concurrency:
group: issue-label-when-in-project-${{ github.event.number }}
jobs:
main:
runs-on: ubuntu-latest
steps:
- name: log in
run: gh api user -q .login
- name: Check if issue is in target project
run: |
gh api graphql -f query='
query($org: String!, $repo: String!) {
repository(name: $repo, owner: $org) {
issue (number: ${{ github.event.issue.number }}) {
id
projectItems(first:20) {
nodes {
project {
number,
},
}
}
}
}
}' -f org=$ORGANIZATION -f repo=$REPO > projects_data.json
echo 'IN_TARGET_PROJ='$(jq '.data.repository.issue.projectItems.nodes[] | select(.project.number==${{ env.TARGET_PROJECT }}) | .project != null' projects_data.json) >> $GITHUB_ENV
echo 'ITEM_ID='$(jq '.data.repository.issue.id' projects_data.json) >> $GITHUB_ENV
- name: Set up label array
if: env.IN_TARGET_PROJ
run: |
IFS=',' read -ra LABEL_IDs <<< "${{ env.LABEL_IDs }}"
for item in "${LABEL_IDs[@]}"; do
echo "Item: $item"
done
- name: Add label to issue
if: env.IN_TARGET_PROJ
run: |
gh api graphql -f query='
mutation ($labelableId: ID!, $labelIds: [ID!]!) {
addLabelsToLabelable(
input: {labelableId: $labelableId, labelIds: $labelIds}
) {
clientMutationId
}
}' -f labelableId=$ITEM_ID -f labelIds=${{ env.LABEL_IDs }}

View File

@@ -117,7 +117,7 @@ jobs:
- name: Post to Slack
id: slack
if: steps.levitate-run.outputs.exit_code == 1 && steps.does-label-exist.outputs.result == 0 && steps.levitate-run.outputs.shouldSkip != 'true'
uses: slackapi/slack-github-action@v1.24.0
uses: slackapi/slack-github-action@v1.23.0
with:
payload: |
{

View File

@@ -7,7 +7,7 @@ jobs:
doc-validator:
runs-on: "ubuntu-latest"
container:
image: "grafana/doc-validator:v4.0.0"
image: "grafana/doc-validator:c2a784f"
steps:
- name: "Checkout code"
uses: "actions/checkout@v3"
@@ -20,7 +20,7 @@ jobs:
./docs/sources
/docs/grafana/latest
| reviewdog
-f=rdjsonl
'--efm=ERROR: %f:%l:%c %m'
--fail-on-error
--filter-mode=nofilter
--name=doc-validator

View File

@@ -1,51 +0,0 @@
name: 'Ephemeral instances: PR comment'
on:
issue_comment:
types: [created]
jobs:
handle-pull-request-event:
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
continue-on-error: true
steps:
- name: Setup Go
uses: actions/setup-go@v4
with:
go-version: '>=1.20'
- name: Generate a GitHub app installation token
id: generate_token
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
with:
app_id: ${{ secrets.EI_APP_ID }}
private_key: ${{ secrets.EI_APP_PRIVATE_KEY }}
- name: Checkout ephemeral instances repository
uses: actions/checkout@v3
with:
repository: grafana/ephemeral-grafana-instances-github-action
token: ${{ steps.generate_token.outputs.token }}
ref: main
path: ephemeral
- name: Run action
env:
GITHUB_EVENT: ${{ toJson(github.event)}}
run: |
GRAFANA_VERSION=10.1.0
cd $GITHUB_WORKSPACE/ephemeral/src
go run . \
-GITHUB_TOKEN="${{ steps.generate_token.outputs.token }}" \
-GITHUB_EVENT="$GITHUB_EVENT" \
-GITHUB_TRIGGERING_ACTOR="${{ github.triggering_actor }}" \
-GCOM_HOST="${{ secrets.EI_GCOM_HOST }}" \
-GCOM_TOKEN="${{ secrets.EI_GCOM_TOKEN }}" \
-HOSTED_GRAFANA_IMAGE_TAG="$GRAFANA_VERSION-ephemeral-oss-${{ github.event.issue.number}}-${{ github.run_number }}-${{ github.run_attempt }}" \
-REGISTRY="${{ secrets.EI_EPHEMERAL_INSTANCES_REGISTRY }}" \
-GRAFANA_VERSION="$GRAFANA_VERSION" \
-GCP_SERVICE_ACCOUNT_KEY_BASE64="${{ secrets.EI_GCP_SERVICE_ACCOUNT_KEY_BASE64 }}" \
-EPHEMERAL_ORG_ID="${{ secrets.EI_EPHEMERAL_ORG_ID }}" || true

View File

@@ -1,47 +0,0 @@
name: 'Ephemeral instances: PR opened/closed'
on:
pull_request:
types: [opened, reopened, closed]
jobs:
handle-pull-request-event:
runs-on: ubuntu-latest
continue-on-error: true
steps:
- name: Setup Go
uses: actions/setup-go@v4
with:
go-version: '>=1.20'
- name: Generate a GitHub app installation token
id: generate_token
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
with:
app_id: ${{ secrets.EI_APP_ID }}
private_key: ${{ secrets.EI_APP_PRIVATE_KEY }}
- name: Checkout ephemeral instances repository
uses: actions/checkout@v3
with:
repository: grafana/ephemeral-grafana-instances-github-action
token: ${{ steps.generate_token.outputs.token }}
ref: main
path: ephemeral
- name: Run action
env:
GITHUB_EVENT: ${{ toJson(github.event)}}
run: |
GRAFANA_VERSION=10.1.0
cd $GITHUB_WORKSPACE/ephemeral/src
go run . \
-GITHUB_TOKEN="${{ steps.generate_token.outputs.token }}" \
-GITHUB_EVENT="$GITHUB_EVENT" \
-GITHUB_TRIGGERING_ACTOR="${{ github.triggering_actor }}" \
-GCOM_HOST="${{ secrets.EI_GCOM_HOST }}" \
-GCOM_TOKEN="${{ secrets.EI_GCOM_TOKEN }}" \
-HOSTED_GRAFANA_IMAGE_TAG="unused" \
-REGISTRY="${{ secrets.EI_EPHEMERAL_INSTANCES_REGISTRY }}" \
-GRAFANA_VERSION="$GRAFANA_VERSION" \
-GCP_SERVICE_ACCOUNT_KEY_BASE64="${{ secrets.EI_GCP_SERVICE_ACCOUNT_KEY_BASE64 }}" \
-EPHEMERAL_ORG_ID="${{ secrets.EI_EPHEMERAL_ORG_ID }}" || true

View File

@@ -3,24 +3,22 @@ on:
workflow_dispatch:
inputs:
version:
required: true
required: true
description: Needs to match, exactly, the name of a milestone (NO v prefix)
latest:
required: false
description: Mark this release as latest (`1`) or not (`0`, default)
jobs:
main:
runs-on: ubuntu-latest
steps:
- name: "Generate token"
id: generate_token
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
- name: Checkout Actions
uses: actions/checkout@v3
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
repository: "grafana/grafana-github-actions"
path: ./actions
ref: main
- name: Install Actions
run: npm install --production --prefix ./actions
- name: Run github release action
uses: ./actions/github-release
with:
token: ${{ steps.generate_token.outputs.token }}
version: ${{ inputs.version }}
metrics_api_key: ${{ secrets.GRAFANA_MISC_STATS_API_KEY }}
token: ${{secrets.GH_BOT_ACCESS_TOKEN}}
metricsWriteAPIKey: ${{secrets.GRAFANA_MISC_STATS_API_KEY}}

View File

@@ -1,4 +1,4 @@
name: Notify Slack channel based on new issue label
name: Notify Slack channel based on issue label
on:
issues:
@@ -15,7 +15,6 @@ jobs:
run: |
# Default to null values.
CHANNEL="null"
TEAM="null"
echo "${{ github.event.label.name }} label added"
export CURRENT_LABEL="${{ github.event.label.name }}" # Enable the use of the label in yq evaluations
@@ -26,16 +25,10 @@ jobs:
CHANNEL=$(yq '.[env(CURRENT_LABEL)].channel-label' teams.yml)
echo "Ready to send issue to channel ID ${CHANNEL}"
fi
if [[ $(yq '.[env(CURRENT_LABEL)] | has("exclude-github-team")' teams.yml ) == true ]]; then
TEAM=$(yq '.[env(CURRENT_LABEL)].exclude-github-team' teams.yml)
echo "Will not send issue to channel if issue author is part of the team ${TEAM}"
fi
fi
# set environment for next steps
# set environment for next step
echo "CHANNEL=${CHANNEL}" >> $GITHUB_ENV
echo "TEAM=${TEAM}" >> $GITHUB_ENV
- name: "Prepare payload"
uses: frabert/replace-string-action@v2.0
@@ -47,24 +40,15 @@ jobs:
replace-with: "'"
flags: 'g'
- name: "Check that issue author is not part of the team"
if: ${{ env.TEAM != 'null' }}
uses: tspascoal/get-user-teams-membership@v2
id: checkUserMember
with:
username: ${{ github.event.issue.user.login }}
team: "${{ env.TEAM }}"
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: "Send Slack notification"
if: ${{ (env.CHANNEL != 'null') && ((steps.checkUserMember.outputs.isTeamMember == 'false') || (env.TEAM != 'null')) }}
uses: slackapi/slack-github-action@v1.24.0
if: ${{ env.CHANNEL != 'null' }}
uses: slackapi/slack-github-action@v1.23.0
with:
payload: >
{
"icon_emoji": ":grafana:",
"username": "Grafana issue labeled",
"text": "Issue \"${{ steps.preparePayload.outputs.replaced }}\" labeled \"${{ github.event.label.name }}\": ${{ github.event.issue.html_url }}, please triage.",
"text": "Issue \"${{ steps.preparePayload.outputs.replaced }}\" labeled \"${{ github.event.label.name }}\": ${{ github.event.issue.html_url }}",
"channel": "${{ env.CHANNEL }}"
}
env:

View File

@@ -3,17 +3,19 @@ on:
workflow_dispatch:
inputs:
version_input:
description: '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'
description: 'The version to be released please respect: major.minor.patch or major.minor.patch-beta<number> format. example: 7.4.3 or 7.4.3-beta1'
required: true
jobs:
call-remove-milestone:
uses: grafana/grafana/.github/workflows/remove-milestone.yml@main
with:
version_call: ${{ github.event.inputs.version_input }}
secrets: inherit
secrets:
token: ${{ secrets.GH_BOT_ACCESS_TOKEN }}
call-close-milestone:
uses: grafana/grafana/.github/workflows/close-milestone.yml@main
with:
version_call: ${{ github.event.inputs.version_input }}
secrets: inherit
needs: call-remove-milestone
secrets:
token: ${{ secrets.GH_BOT_ACCESS_TOKEN }}
needs: call-remove-milestone

View File

@@ -21,9 +21,9 @@ jobs:
fetch-depth: 2
- name: Set go version
uses: actions/setup-go@v4
uses: actions/setup-go@v3
with:
go-version: '1.21.5'
go-version: '1.19.2'
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL

View File

@@ -19,15 +19,9 @@ jobs:
ref: main
- name: Install Actions
run: npm install --production --prefix ./actions
- name: "Generate token"
id: generate_token
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
with:
app_id: ${{ secrets.GRAFANA_PR_AUTOMATION_APP_ID }}
private_key: ${{ secrets.GRAFANA_PR_AUTOMATION_APP_PEM }}
- name: Run Commands
uses: ./actions/commands
with:
metricsWriteAPIKey: ${{secrets.GRAFANA_MISC_STATS_API_KEY}}
token: ${{ steps.generate_token.outputs.token }}
token: ${{secrets.GH_BOT_ACCESS_TOKEN}}
configPath: pr-commands

View File

@@ -1,26 +0,0 @@
# Owned by grafana-delivery-squad
# Intended to be dropped into the base repo Ex: grafana/grafana
name: Check for patch conflicts
run-name: check-patch-conflicts-${{ github.base_ref }}-${{ github.head_ref }}
on:
pull_request:
types:
- opened
- reopened
- synchronize
branches:
- "main"
- "v*.*.*"
- "release-*"
# Since this is run on a pull request, we want to apply the patches intended for the
# target branch onto the source branch, to verify compatibility before merging.
jobs:
trigger_downstream_patch_check:
uses: grafana/security-patch-actions/.github/workflows/test-patches.yml@main
with:
src_repo: "${{ github.repository }}"
src_ref: "${{ github.head_ref }}" # this is the source branch name, Ex: "feature/newthing"
patch_repo: "${{ github.repository }}-security-patches"
patch_ref: "${{ github.base_ref }}" # this is the target branch name, Ex: "main"
secrets: inherit

View File

@@ -1,48 +0,0 @@
name: "publish-kinds-next"
on:
push:
branches:
- "main"
paths:
- '**/*.cue'
workflow_dispatch:
jobs:
main:
if: github.repository == 'grafana/grafana'
runs-on: "ubuntu-latest"
steps:
- name: "Checkout Grafana repo"
uses: "actions/checkout@v3"
with:
fetch-depth: 0
- name: "Setup Go"
uses: "actions/setup-go@v4"
with:
go-version: '1.21.5'
- name: "Verify kinds"
run: go run .github/workflows/scripts/kinds/verify-kinds.go
- 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: "Clone website-sync Action"
run: "git clone --single-branch --no-tags --depth 1 -b master https://grafana-delivery-bot:${{ steps.generate_token.outputs.token }}@github.com/grafana/website-sync ./.github/actions/website-sync"
- name: "Publish to kind registry (next)"
uses: "./.github/actions/website-sync"
id: "publish-next"
with:
repository: "grafana/kind-registry"
branch: "main"
host: "github.com"
github_pat: "grafana-delivery-bot:${{ steps.generate_token.outputs.token }}"
source_folder: ".github/workflows/scripts/kinds/next"
target_folder: "grafana/next"

View File

@@ -1,70 +0,0 @@
name: "publish-kinds-release"
on:
push:
branches:
- v[0-9]+.[0-9]+.x
tags:
- v[0-9]+.[0-9]+.[0-9]+
paths:
- '**/*.cue'
workflow_dispatch:
jobs:
main:
if: github.repository == 'grafana/grafana'
runs-on: "ubuntu-latest"
steps:
- name: "Checkout Grafana repo"
uses: "actions/checkout@v3"
with:
# required for the `grafana/grafana-github-actions/has-matching-release-tag` action to work
fetch-depth: 0
- name: "Setup Go"
uses: "actions/setup-go@v4"
with:
go-version: '1.21.5'
- name: "Verify kinds"
run: go run .github/workflows/scripts/kinds/verify-kinds.go
- name: "Checkout Actions library"
uses: "actions/checkout@v3"
with:
repository: "grafana/grafana-github-actions"
path: "./actions"
- name: "Install Actions from library"
run: "npm install --production --prefix ./actions"
- name: "Determine if there is a matching release tag"
id: "has-matching-release-tag"
uses: "./actions/has-matching-release-tag"
with:
ref_name: "${{ github.ref_name }}"
release_tag_regexp: "^v(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)$"
release_branch_regexp: "^v(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.x$"
- name: "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: "Clone website-sync Action"
if: "steps.has-matching-release-tag.outputs.bool == 'true'"
run: "git clone --single-branch --no-tags --depth 1 -b master https://grafana-delivery-bot:${{ steps.generate_token.outputs.token }}@github.com/grafana/website-sync ./.github/actions/website-sync"
- name: "Publish to kind registry (release)"
if: "steps.has-matching-release-tag.outputs.bool == 'true'"
uses: "./.github/actions/website-sync"
id: "publish-release"
with:
repository: "grafana/kind-registry"
branch: "main"
host: "github.com"
github_pat: "grafana-delivery-bot:${{ steps.generate_token.outputs.token }}"
source_folder: ".github/workflows/scripts/kinds/next"
target_folder: "grafana/${{ github.ref_name }}"

View File

@@ -11,7 +11,9 @@ on:
description: Needs to match, exactly, the name of a milestone
required: true
type: string
secrets:
token:
required: true
jobs:
main:
runs-on: ubuntu-latest
@@ -24,20 +26,14 @@ jobs:
ref: main
- name: Install Actions
run: npm install --production --prefix ./actions
- 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: Remove milestone from open issues (manually invoked)
if: ${{ github.event.inputs.version != '' }}
uses: ./actions/remove-milestone
with:
token: ${{ steps.generate_token.outputs.token }}
token: ${{ secrets.GH_BOT_ACCESS_TOKEN }}
- name: Remove milestone from open issues (workflow invoked)
if: ${{ inputs.version_call != '' }}
uses: ./actions/remove-milestone
with:
version_call: ${{ inputs.version_call }}
token: ${{ steps.generate_token.outputs.token }}
token: ${{ secrets.token }}

View File

@@ -14,7 +14,7 @@ jobs:
uses: actions/checkout@v2
- name: Anchore SBOM Action
uses: anchore/sbom-action@v0.14.2
uses: anchore/sbom-action@v0.12.0
with:
artifact-name: ${{ github.event.repository.name }}-spdx.json

View File

@@ -1,7 +1,7 @@
module.exports = async ({ core, filePath }) => {
try {
const fs = require('fs').promises;
const content = await fs.readFile(filePath)
const content = await fs.readFile(filepath)
const result = JSON.parse(content);
core.startGroup('Parsing json file...');
@@ -13,6 +13,6 @@ module.exports = async ({ core, filePath }) => {
core.endGroup();
} catch (error) {
core.setFailed(error.message);
core.restFailed(error.message);
}
}

View File

@@ -1,425 +0,0 @@
package main
import (
"archive/zip"
"context"
"fmt"
"io"
"net/http"
"os"
"path/filepath"
"regexp"
"strconv"
"strings"
"testing/fstest"
"cuelang.org/go/cue"
cueformat "cuelang.org/go/cue/format"
"github.com/google/go-github/github"
"github.com/grafana/codejen"
"github.com/grafana/grafana/pkg/codegen"
"github.com/grafana/grafana/pkg/cuectx"
"github.com/grafana/grafana/pkg/plugins/pfs"
"github.com/grafana/grafana/pkg/plugins/pfs/corelist"
"github.com/grafana/grafana/pkg/registry/corekind"
"github.com/grafana/kindsys"
"github.com/grafana/thema"
"golang.org/x/oauth2"
)
const (
GITHUB_OWNER = "grafana"
GITHUB_REPO = "kind-registry"
)
// main This script verifies that stable kinds are not updated once published (new schemas
// can be added but existing ones cannot be updated).
// If the env variable CODEGEN_VERIFY is not present, this also generates kind files into a
// local "next" folder, ready to be published in the kind-registry repo.
// If kind names are given as parameters, the script will make the above actions only for the
// given kinds.
func main() {
var corek []kindsys.Kind
var compok []kindsys.Composable
kindRegistry, err := NewKindRegistry()
defer kindRegistry.cleanUp()
if err != nil {
die(err)
}
// Search for the latest version directory present in the kind-registry repo
latestRegistryDir, err := kindRegistry.findLatestDir()
if err != nil {
die(fmt.Errorf("failed to get latest directory for published kinds: %s", err))
}
errs := make([]error, 0)
// Kind verification
for _, kind := range corekind.NewBase(nil).All() {
name := kind.Props().Common().MachineName
err := verifyKind(kindRegistry, kind, name, "core", latestRegistryDir)
if err != nil {
errs = append(errs, err)
continue
}
corek = append(corek, kind)
}
for _, pp := range corelist.New(nil) {
for _, kind := range pp.ComposableKinds {
si, err := kindsys.FindSchemaInterface(kind.Def().Properties.SchemaInterface)
if err != nil {
errs = append(errs, err)
continue
}
name := strings.ToLower(fmt.Sprintf("%s/%s", strings.TrimSuffix(kind.Lineage().Name(), si.Name()), si.Name()))
err = verifyKind(kindRegistry, kind, name, "composable", latestRegistryDir)
if err != nil {
errs = append(errs, err)
continue
}
compok = append(compok, kind)
}
}
die(errs...)
if _, set := os.LookupEnv("CODEGEN_VERIFY"); set {
os.Exit(0)
}
// File generation
jfs := codejen.NewFS()
outputPath := filepath.Join(".github", "workflows", "scripts", "kinds")
coreJennies := codejen.JennyList[kindsys.Kind]{}
coreJennies.Append(
KindRegistryJenny(outputPath),
)
corefs, err := coreJennies.GenerateFS(corek...)
die(err)
die(jfs.Merge(corefs))
composableJennies := codejen.JennyList[kindsys.Composable]{}
composableJennies.Append(
ComposableKindRegistryJenny(outputPath),
)
composablefs, err := composableJennies.GenerateFS(compok...)
die(err)
die(jfs.Merge(composablefs))
if err = jfs.Write(context.Background(), ""); err != nil {
die(fmt.Errorf("error while writing generated code to disk:\n%s", err))
}
}
func die(errs ...error) {
if len(errs) > 0 && errs[0] != nil {
for _, err := range errs {
fmt.Fprint(os.Stderr, err, "\n")
}
os.Exit(1)
}
}
// verifyKind verifies that stable kinds are not updated once published (new schemas
// can be added but existing ones cannot be updated)
func verifyKind(registry *kindRegistry, kind kindsys.Kind, name string, category string, latestRegistryDir string) error {
oldKindString, err := registry.getPublishedKind(name, category, latestRegistryDir)
if err != nil {
return err
}
var oldKind kindsys.Kind
if oldKindString != "" {
switch category {
case "core":
oldKind, err = loadCoreKind(name, oldKindString)
case "composable":
oldKind, err = loadComposableKind(name, oldKindString)
default:
return fmt.Errorf("kind can only be core or composable")
}
}
if err != nil {
return err
}
// Kind is new - no need to compare it
if oldKind == nil {
return nil
}
// Check that maturity isn't downgraded
if kind.Maturity().Less(oldKind.Maturity()) {
return fmt.Errorf("kind maturity can't be downgraded once a kind is published")
}
if oldKind.Maturity().Less(kindsys.MaturityStable) {
return nil
}
// Check that old schemas do not contain updates
err = thema.IsAppendOnly(oldKind.Lineage(), kind.Lineage())
if err != nil {
return fmt.Errorf("existing schemas in lineage %s cannot be modified: %w", name, err)
}
return nil
}
func isLess(v1 []uint64, v2 []uint64) bool {
if len(v1) == 1 || len(v2) == 1 {
return v1[0] < v2[0]
}
return v1[0] < v2[0] || (v1[0] == v2[0] && isLess(v1[2:], v2[2:]))
}
func loadCoreKind(name string, kind string) (kindsys.Kind, error) {
fs := fstest.MapFS{
fmt.Sprintf("%s.cue", name): &fstest.MapFile{
Data: []byte(kind),
},
}
rt := cuectx.GrafanaThemaRuntime()
def, err := cuectx.LoadCoreKindDef(fmt.Sprintf("%s.cue", name), rt.Context(), fs)
if err != nil {
return nil, fmt.Errorf("%s is not a valid kind: %w", name, err)
}
return kindsys.BindCore(rt, def)
}
func loadComposableKind(name string, kind string) (kindsys.Kind, error) {
parts := strings.Split(name, "/")
if len(parts) > 1 {
name = parts[1]
}
fs := fstest.MapFS{
fmt.Sprintf("%s.cue", name): &fstest.MapFile{
Data: []byte(kind),
},
}
rt := cuectx.GrafanaThemaRuntime()
def, err := pfs.LoadComposableKindDef(fs, rt, fmt.Sprintf("%s.cue", name))
if err != nil {
return nil, fmt.Errorf("%s is not a valid kind: %w", name, err)
}
return kindsys.BindComposable(rt, def)
}
// KindRegistryJenny generates kind files into the "next" folder of the local kind registry.
func KindRegistryJenny(path string) codegen.OneToOne {
return &kindregjenny{
path: path,
}
}
type kindregjenny struct {
path string
}
func (j *kindregjenny) JennyName() string {
return "KindRegistryJenny"
}
func (j *kindregjenny) Generate(kind kindsys.Kind) (*codejen.File, error) {
name := kind.Props().Common().MachineName
core, ok := kind.(kindsys.Core)
if !ok {
return nil, fmt.Errorf("kind sent to KindRegistryJenny must be a core kind")
}
newKindBytes, err := kindToBytes(core.Def().V)
if err != nil {
return nil, err
}
path := filepath.Join(j.path, "next", "core", name, name+".cue")
return codejen.NewFile(path, newKindBytes, j), nil
}
// kindToBytes converts a kind cue value to a .cue file content
func kindToBytes(kind cue.Value) ([]byte, error) {
node := kind.Syntax(
cue.All(),
cue.Schema(),
cue.Docs(true),
)
return cueformat.Node(node)
}
// ComposableKindRegistryJenny generates kind files into the "next" folder of the local kind registry.
func ComposableKindRegistryJenny(path string) codejen.OneToOne[kindsys.Composable] {
return &ckrJenny{
path: path,
}
}
type ckrJenny struct {
path string
}
func (j *ckrJenny) JennyName() string {
return "ComposableKindRegistryJenny"
}
func (j *ckrJenny) Generate(k kindsys.Composable) (*codejen.File, error) {
si, err := kindsys.FindSchemaInterface(k.Def().Properties.SchemaInterface)
if err != nil {
panic(err)
}
name := strings.ToLower(fmt.Sprintf("%s/%s", strings.TrimSuffix(k.Lineage().Name(), si.Name()), si.Name()))
newKindBytes, err := kindToBytes(k.Def().V)
if err != nil {
return nil, err
}
newKindBytes = []byte(fmt.Sprintf("package grafanaplugin\n\n%s", newKindBytes))
return codejen.NewFile(filepath.Join(j.path, "next", "composable", name+".cue"), newKindBytes, j), nil
}
type kindRegistry struct {
zipDir string
zipFile *zip.ReadCloser
}
// NewKindRegistry downloads the archive of the kind-registry GH repository and open it
func NewKindRegistry() (*kindRegistry, error) {
ctx := context.Background()
tc := oauth2.NewClient(ctx, nil)
client := github.NewClient(tc)
// Create a temporary file to store the downloaded archive
file, err := os.CreateTemp("", "*.zip")
if err != nil {
return nil, fmt.Errorf("failed to create temporary file: %w", err)
}
defer file.Close()
// Get the repository archive URL
archiveURL, _, err := client.Repositories.GetArchiveLink(ctx, GITHUB_OWNER, GITHUB_REPO, github.Zipball, &github.RepositoryContentGetOptions{})
if err != nil {
return nil, fmt.Errorf("failed to get archive URL: %w", err)
}
// Download the archive file
httpClient := http.DefaultClient
resp, err := httpClient.Get(archiveURL.String())
if err != nil {
return nil, fmt.Errorf("failed to download archive: %w", err)
}
defer resp.Body.Close()
// Save the downloaded archive to the temporary file
_, err = io.Copy(file, resp.Body)
if err != nil {
return nil, fmt.Errorf("failed to save archive: %w", err)
}
// Open the zip file for reading
zipDir := file.Name()
zipFile, err := zip.OpenReader(zipDir)
if err != nil {
return nil, fmt.Errorf("failed to open zip file %s: %w", zipDir, err)
}
return &kindRegistry{
zipDir: zipDir,
zipFile: zipFile,
}, nil
}
// cleanUp removes the archive from the temporary files and closes the zip reader
func (registry *kindRegistry) cleanUp() {
if registry.zipDir != "" {
err := os.Remove(registry.zipDir)
if err != nil {
fmt.Fprint(os.Stderr, fmt.Errorf("failed to remove zip archive: %w", err))
}
}
if registry.zipFile != nil {
err := registry.zipFile.Close()
if err != nil {
fmt.Fprint(os.Stderr, fmt.Errorf("failed to close zip file reader: %w", err))
}
}
}
// findLatestDir get the latest version directory published in the kind registry
func (registry *kindRegistry) findLatestDir() (string, error) {
re := regexp.MustCompile(`([0-9]+)\.([0-9]+)\.([0-9]+)`)
latestVersion := []uint64{0, 0, 0}
latestDir := ""
for _, file := range registry.zipFile.File {
if !file.FileInfo().IsDir() {
continue
}
parts := re.FindStringSubmatch(file.Name)
if parts == nil || len(parts) < 4 {
continue
}
version := make([]uint64, len(parts)-1)
for i := 1; i < len(parts); i++ {
version[i-1], _ = strconv.ParseUint(parts[i], 10, 32)
}
if isLess(latestVersion, version) {
latestVersion = version
latestDir = file.Name
}
}
return latestDir, nil
}
// getPublishedKind retrieves the latest published kind from the kind registry
func (registry *kindRegistry) getPublishedKind(name string, category string, latestRegistryDir string) (string, error) {
if latestRegistryDir == "" {
return "", nil
}
var cueFilePath string
switch category {
case "core":
cueFilePath = fmt.Sprintf("%s/%s.cue", name, name)
case "composable":
cueFilePath = fmt.Sprintf("%s.cue", name)
default:
return "", fmt.Errorf("kind can only be core or composable")
}
kindPath := filepath.Join(latestRegistryDir, category, cueFilePath)
file, err := registry.zipFile.Open(kindPath)
if err != nil {
return "", fmt.Errorf("failed to open file: %w", err)
}
defer file.Close()
data, err := io.ReadAll(file)
if err != nil {
return "", fmt.Errorf("failed to read file: %w", err)
}
return string(data), nil
}

View File

@@ -7,7 +7,7 @@ jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v8
- uses: actions/stale@v6
with:
repo-token: ${{ secrets.GH_BOT_ACCESS_TOKEN }}
# Number of days of inactivity before a stale Issue or Pull Request is closed.

View File

@@ -1,25 +0,0 @@
# Owned by grafana-delivery-squad
# Intended to be dropped into the base repo, Ex: grafana/grafana
name: Sync to mirror
run-name: sync-to-mirror-${{ github.ref_name }}
on:
workflow_dispatch:
push:
branches:
- "main"
- "v*.*.*"
- "release-*"
# This is run after the pull request has been merged, so we'll run against the target branch
jobs:
trigger_downstream_patch_mirror:
concurrency: patch-mirror-${{ github.ref_name }}
uses: grafana/security-patch-actions/.github/workflows/mirror-branch-and-apply-patches.yml@main
if: github.repository == 'grafana/grafana'
with:
ref: "${{ github.ref_name }}" # this is the target branch name, Ex: "main"
src_repo: "${{ github.repository }}"
dest_repo: "${{ github.repository }}-security-mirror"
patch_repo: "${{ github.repository }}-security-patches"
secrets: inherit

View File

@@ -4,7 +4,7 @@ on:
inputs:
version:
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'
description: 'Needs to match, exactly, the name of a milestone. The version to be released please respect: major.minor.patch or major.minor.patch-beta<number> format. example: 7.4.3 or 7.4.3-beta1'
skip_pr:
required: false
default: "0"
@@ -15,16 +15,10 @@ 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 update changelog (manually invoked)
uses: grafana/grafana-github-actions-go/update-changelog@main
with:
token: ${{ steps.generate_token.outputs.token }}
token: ${{ secrets.GH_BOT_ACCESS_TOKEN }}
version: ${{ inputs.version }}
metrics_api_key: ${{ secrets.GRAFANA_MISC_STATS_API_KEY }}
community_api_key: ${{ secrets.GRAFANABOT_FORUM_KEY }}

View File

@@ -1,27 +0,0 @@
name: Update `make docs` procedure
on:
schedule:
- cron: '0 7 * * 1-5'
jobs:
main:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Update procedure
if: github.repository != 'grafana/writers-toolkit'
run: |
curl -s -Lo docs/docs.mk https://raw.githubusercontent.com/grafana/writers-toolkit/main/docs/docs.mk
curl -s -Lo docs/make-docs https://raw.githubusercontent.com/grafana/writers-toolkit/main/docs/make-docs
if git diff --exit-code; then exit 0; fi
BRANCH="$(date +%Y-%m-%d)/update-make-docs"
git checkout -b "${BRANCH}"
git add .
git config --local user.email "bot@grafana.com"
git config --local user.name "grafanabot"
git commit -m "Update \`make docs\` procedure"
git push -v origin "refs/heads/${BRANCH}"
gh pr create --fill
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -1,27 +0,0 @@
name: "verify-kinds"
on:
pull_request:
branches: [ main ]
paths:
- '**/*.cue'
jobs:
main:
runs-on: "ubuntu-latest"
steps:
- name: "Checkout Grafana repo"
uses: "actions/checkout@v3"
with:
fetch-depth: 0
- name: "Setup Go"
uses: "actions/setup-go@v4"
with:
go-version: '1.21.5'
- name: "Verify kinds"
run: go run .github/workflows/scripts/kinds/verify-kinds.go
env:
CODEGEN_VERIFY: 1
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}

4
.gitignore vendored
View File

@@ -17,7 +17,6 @@ vendor/
/docs/menu.yaml
/requests
tsconfig.tsbuildinfo
__debug_bin*
# Yarn
.yarn/*
@@ -192,6 +191,3 @@ public/api-spec.json
deployment_tools_config.json
.betterer.cache
# Temporary file for backporting PRs
.pr-body.txt

View File

@@ -13,33 +13,22 @@ ignore-generated-header = false
severity = "warning"
confidence = 3
[linters-settings.depguard.rules.main]
allow = [] # allow all
deny = [
{pkg = "io/ioutil", desc = "Deprecated: As of Go 1.16, the same functionality is now provided by package io or package os, and those implementations should be preferred in new code. See the specific function documentation for details."},
{pkg = "gopkg.in/yaml.v2", desc = "Grafana packages are not allowed to depend on gopkg.in/yaml.v2 as gopkg.in/yaml.v3 is now available"},
{pkg = "github.com/pkg/errors", desc = "Deprecated: Go 1.13 supports the functionality provided by pkg/errors in the standard library."},
{pkg = "github.com/xorcare/pointer", desc = "Use pkg/util.Pointer instead, which is a generic one-liner alternative"},
{pkg = "github.com/gofrs/uuid", desc = "Use github.com/google/uuid instead, which we already depend on."},
]
[linters-settings.depguard.rules.coreplugins]
deny = [
{pkg = "github.com/grafana/grafana/pkg/", desc = "Core plugins are not allowed to depend on Grafana core packages"},
]
files = [
"**/pkg/tsdb/testdatasource/*",
"**/pkg/tsdb/testdatasource/**/*",
]
[linters-settings.depguard]
list-type = "blacklist"
include-go-root = true
packages = ["io/ioutil"]
[[linters-settings.depguard.packages-with-error-message]]
"io/ioutil" = "Deprecated: As of Go 1.16, the same functionality is now provided by package io or package os, and those implementations should be preferred in new code. See the specific function documentation for details."
"gopkg.in/yaml.v2" = "Grafana packages are not allowed to depend on gopkg.in/yaml.v2 as gopkg.in/yaml.v3 is now available"
"github.com/pkg/errors" = "Deprecated: Go 1.13 supports the functionality provided by pkg/errors in the standard library."
"github.com/xorcare/pointer" = "Use pkg/util.Pointer instead, which is a generic one-liner alternative"
"github.com/gofrs/uuid" = "Use github.com/google/uuid instead, which we already depend on."
[linters-settings.gocritic]
enabled-checks = ["ruleguard"]
[linters-settings.gocritic.settings.ruleguard]
rules = "pkg/ruleguard.rules.go"
[linters-settings.nakedret]
max-func-lines = 60
[linters]
disable-all = true
enable = [
@@ -58,6 +47,7 @@ enable = [
"ineffassign",
"misspell",
"nakedret",
"rowserrcheck",
"exportloopref",
"staticcheck",
"stylecheck",
@@ -75,7 +65,6 @@ enable = [
# Disabled linters (might want them later)
# "unparam"
# "rowserrcheck" # The linter doesn't detect that both Scan and Close also returns the error message returned by Err.
[issues]
exclude-use-default = false
@@ -93,11 +82,6 @@ linters = ["stylecheck"]
text = "ST1001"
# Enable when appropriate
# http.CloseNotifier has been deprecated since Go 1.11 and an alternative has been available since Go 1.7: We currently need it in pkg/web/response_writer.go.
[[issues.exclude-rules]]
linters = ["staticcheck"]
text = "SA1019: http.CloseNotifier"
# strings.Title has been deprecated since Go 1.18 and an alternative has been available since Go 1.0: The rule Title uses for word boundaries does not handle Unicode punctuation properly.
# Use golang.org/x/text/cases instead.
[[issues.exclude-rules]]

View File

@@ -74,13 +74,13 @@ var config = {
"click element button[aria-label='Login button']",
"wait for element [aria-label='Skip change password button'] to be visible",
],
threshold: 15,
threshold: 14,
rootElement: '.main-view',
},
{
url: '${HOST}/?orgId=1',
wait: 500,
threshold: 3,
threshold: 0,
},
{
url: '${HOST}/d/O6f11TZWk/panel-tests-bar-gauge',
@@ -93,7 +93,7 @@ var config = {
url: '${HOST}/?orgId=1&search=open',
wait: 500,
rootElement: '.main-view',
threshold: 3,
threshold: 0,
},
{
url: '${HOST}/alerting/list',

View File

@@ -0,0 +1,14 @@
diff --git a/dist/ts3.9/blocks/DocsContainer.d.ts b/dist/ts3.9/blocks/DocsContainer.d.ts
index be330e44bebb02eaf2c92d365d4e7dc1da452465..6c8b1d42bea2e184456e2757eb2ee20076ba43b3 100644
--- a/dist/ts3.9/blocks/DocsContainer.d.ts
+++ b/dist/ts3.9/blocks/DocsContainer.d.ts
@@ -1,7 +1,8 @@
-import { FunctionComponent } from 'react';
+import { FunctionComponent, ReactNode } from 'react';
import { AnyFramework } from '@storybook/csf';
import { DocsContextProps } from './DocsContext';
export interface DocsContainerProps<TFramework extends AnyFramework = AnyFramework> {
context: DocsContextProps<TFramework>;
+ children?: ReactNode;
}
export declare const DocsContainer: FunctionComponent<DocsContainerProps>;

File diff suppressed because one or more lines are too long

873
.yarn/releases/yarn-3.4.1.cjs vendored Executable file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,6 +1,6 @@
{
"name": "eslint",
"version": "8.44.0-sdk",
"version": "8.34.0-sdk",
"main": "./lib/api.js",
"type": "commonjs"
}

View File

@@ -11,10 +11,10 @@ const absRequire = createRequire(absPnpApiPath);
if (existsSync(absPnpApiPath)) {
if (!process.versions.pnp) {
// Setup the environment to be able to require prettier
// Setup the environment to be able to require prettier/index.js
require(absPnpApiPath).setup();
}
}
// Defer to the real prettier your application uses
module.exports = absRequire(`prettier`);
// Defer to the real prettier/index.js your application uses
module.exports = absRequire(`prettier/index.js`);

View File

@@ -1,6 +1,6 @@
{
"name": "prettier",
"version": "3.0.0-sdk",
"version": "2.8.1-sdk",
"main": "./index.js",
"type": "commonjs"
}

View File

@@ -109,8 +109,6 @@ const moduleWrapper = tsserver => {
str = `zip:${str}`;
} break;
}
} else {
str = str.replace(/^\/?/, process.platform === `win32` ? `` : `/`);
}
}

View File

@@ -109,8 +109,6 @@ const moduleWrapper = tsserver => {
str = `zip:${str}`;
} break;
}
} else {
str = str.replace(/^\/?/, process.platform === `win32` ? `` : `/`);
}
}

View File

@@ -3,9 +3,33 @@ enableTelemetry: false
nodeLinker: pnp
packageExtensions:
'@storybook/core-common@*':
'@storybook/addon-docs@6.5.16':
peerDependencies:
'@babel/core': ^7.0.0
'@storybook/manager-webpack5': 6.5.16
'webpack': 5.74.0
'@storybook/addon-essentials@6.5.16':
peerDependencies:
'@storybook/components': 6.5.16
'@storybook/core-events': 6.5.16
'@storybook/manager-webpack5': 6.5.16
'@storybook/theming': 6.5.16
'@storybook/core-server@6.5.16':
peerDependencies:
'@babel/core': ^7.0.0
'@storybook/core@6.5.16':
peerDependencies:
'@babel/core': ^7.0.0
'@storybook/manager-webpack5': 6.5.16
'@storybook/csf-tools@6.5.16':
peerDependencies:
'@babel/core': ^7.0.0
'@storybook/mdx2-csf@0.0.3':
dependencies:
'@storybook/react-webpack5': '*'
'@babel/types': ^7.14.8
'@storybook/react@6.5.16':
peerDependencies:
'@storybook/manager-webpack5': 6.5.16
doctrine@3.0.0:
dependencies:
assert: 2.0.0
@@ -35,7 +59,7 @@ plugins:
- path: .yarn/plugins/@yarnpkg/plugin-outdated.cjs
spec: 'https://mskelton.dev/yarn-outdated/v2'
yarnPath: .yarn/releases/yarn-3.6.0.cjs
yarnPath: .yarn/releases/yarn-3.4.1.cjs
# Uncomment the following lines if you want to use Verdaccio local npm registry. Read more at packages/README.md
# npmScopes:
# grafana:

File diff suppressed because it is too large Load Diff

View File

@@ -40,7 +40,7 @@ Project maintainers who do not follow or enforce the Code of Conduct in good fai
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [https://contributor-covenant.org/version/1/4/code-of-conduct][version]
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
[homepage]: https://contributor-covenant.org
[version]: https://www.contributor-covenant.org/version/1/4/code-of-conduct/
[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/

View File

@@ -82,6 +82,6 @@ Before we can accept your pull request, you need to [sign our CLA](https://grafa
## Where do I go from here?
- Set up your [development environment](contribute/developer-guide.md).
- Learn how to [contribute to our documentation](contribute/documentation/README.md).
- Get started [developing plugins](https://grafana.com/developers/plugin-tools) for Grafana.
- Learn how to [contribute documentation](contribute/README.md).
- Get started [developing plugins](https://grafana.com/docs/grafana/latest/developers/plugins/) for Grafana.
- Look through the resources in the [contribute](contribute) folder.

View File

@@ -1,9 +1,9 @@
# syntax=docker/dockerfile:1
ARG BASE_IMAGE=alpine:3.18.3
ARG JS_IMAGE=node:18-alpine3.18
ARG BASE_IMAGE=alpine:3.17
ARG JS_IMAGE=node:18-alpine3.17
ARG JS_PLATFORM=linux/amd64
ARG GO_IMAGE=golang:1.21.5-alpine3.18
ARG GO_IMAGE=golang:1.20.4-alpine3.17
ARG GO_SRC=go-builder
ARG JS_SRC=js-builder
@@ -64,7 +64,6 @@ COPY pkg pkg
COPY scripts scripts
COPY conf conf
COPY .github .github
COPY LICENSE ./
ENV COMMIT_SHA=${COMMIT_SHA}
ENV BUILD_BRANCH=${BUILD_BRANCH}
@@ -111,7 +110,7 @@ RUN if grep -i -q alpine /etc/issue; then \
elif grep -i -q ubuntu /etc/issue; then \
DEBIAN_FRONTEND=noninteractive && \
apt-get update && \
apt-get install -y ca-certificates curl tzdata musl && \
apt-get install -y ca-certificates curl tzdata && \
apt-get autoremove -y && \
rm -rf /var/lib/apt/lists/*; \
else \
@@ -166,7 +165,6 @@ RUN if [ ! $(getent group "$GF_GID") ]; then \
COPY --from=go-src /tmp/grafana/bin/grafana* /tmp/grafana/bin/*/grafana* ./bin/
COPY --from=js-src /tmp/grafana/public ./public
COPY --from=go-src /tmp/grafana/LICENSE ./
EXPOSE 3000

View File

@@ -13,6 +13,7 @@ GO = go
GO_FILES ?= ./pkg/...
SH_FILES ?= $(shell find ./scripts -name *.sh)
GO_BUILD_FLAGS += $(if $(GO_BUILD_DEV),-dev)
GO_BUILD_FLAGS += $(if $(GO_BUILD_DEV),-dev)
GO_BUILD_FLAGS += $(if $(GO_BUILD_TAGS),-build-tags=$(GO_BUILD_TAGS))
targets := $(shell echo '$(sources)' | tr "," " ")
@@ -36,68 +37,36 @@ node_modules: package.json yarn.lock ## Install node modules.
##@ Swagger
SPEC_TARGET = public/api-spec.json
ENTERPRISE_SPEC_TARGET = public/api-enterprise-spec.json
MERGED_SPEC_TARGET = public/api-merged.json
MERGED_SPEC_TARGET := public/api-merged.json
NGALERT_SPEC_TARGET = pkg/services/ngalert/api/tooling/api.json
$(NGALERT_SPEC_TARGET):
+$(MAKE) -C pkg/services/ngalert/api/tooling api.json
$(MERGED_SPEC_TARGET): swagger-oss-gen swagger-enterprise-gen $(NGALERT_SPEC_TARGET) $(SWAGGER) ## Merge generated and ngalert API specs
$(MERGED_SPEC_TARGET): $(SPEC_TARGET) $(NGALERT_SPEC_TARGET) $(SWAGGER) ## Merge generated and ngalert API specs
# known conflicts DsPermissionType, AddApiKeyCommand, Json, Duration (identical models referenced by both specs)
$(SWAGGER) mixin $(SPEC_TARGET) $(ENTERPRISE_SPEC_TARGET) $(NGALERT_SPEC_TARGET) --ignore-conflicts -o $(MERGED_SPEC_TARGET)
$(SWAGGER) mixin $(SPEC_TARGET) $(NGALERT_SPEC_TARGET) --ignore-conflicts -o $(MERGED_SPEC_TARGET)
swagger-oss-gen: $(SWAGGER) ## Generate API Swagger specification
@echo "re-generating swagger for OSS"
rm -f $(SPEC_TARGET)
$(SPEC_TARGET): $(SWAGGER) ## Generate API Swagger specification
SWAGGER_GENERATE_EXTENSION=false $(SWAGGER) generate spec -m -w pkg/server -o $(SPEC_TARGET) \
-x "github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions" \
-x "github.com/prometheus/alertmanager" \
-i pkg/api/swagger_tags.json \
--exclude-tag=alpha \
--exclude-tag=enterprise
--exclude-tag=alpha
go run pkg/services/ngalert/api/tooling/cmd/clean-swagger/main.go -if $@ -of $@
# this file only exists if enterprise is enabled
ENTERPRISE_EXT_FILE = pkg/extensions/ext.go
ifeq ("$(wildcard $(ENTERPRISE_EXT_FILE))","") ## if enterprise is not enabled
swagger-enterprise-gen:
@echo "skipping re-generating swagger for enterprise: not enabled"
else
swagger-enterprise-gen: $(SWAGGER) ## Generate API Swagger specification
@echo "re-generating swagger for enterprise"
rm -f $(ENTERPRISE_SPEC_TARGET)
SWAGGER_GENERATE_EXTENSION=false $(SWAGGER) generate spec -m -w pkg/server -o $(ENTERPRISE_SPEC_TARGET) \
-x "github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions" \
-x "github.com/prometheus/alertmanager" \
-i pkg/api/swagger_tags.json \
--exclude-tag=alpha \
--include-tag=enterprise
endif
swagger-api-spec: gen-go $(SPEC_TARGET) $(MERGED_SPEC_TARGET) validate-api-spec
swagger-gen: gen-go $(MERGED_SPEC_TARGET) swagger-validate
swagger-validate: $(MERGED_SPEC_TARGET) $(SWAGGER) ## Validate API spec
validate-api-spec: $(MERGED_SPEC_TARGET) $(SWAGGER) ## Validate API spec
$(SWAGGER) validate $(<)
swagger-clean:
clean-api-spec:
rm -f $(SPEC_TARGET) $(MERGED_SPEC_TARGET) $(OAPI_SPEC_TARGET)
.PHONY: cleanup-old-git-hooks
cleanup-old-git-hooks:
./scripts/cleanup-husky.sh
.PHONY: lefthook-install
lefthook-install: cleanup-old-git-hooks $(LEFTHOOK) # install lefthook for pre-commit hooks
$(LEFTHOOK) install -f
.PHONY: lefthook-uninstall
lefthook-uninstall: $(LEFTHOOK)
$(LEFTHOOK) uninstall
##@ OpenAPI 3
OAPI_SPEC_TARGET = public/openapi3.json
openapi3-gen: swagger-gen ## Generates OpenApi 3 specs from the Swagger 2 already generated
openapi3-gen: swagger-api-spec ## Generates OpenApi 3 specs from the Swagger 2 already generated
$(GO) run scripts/openapi3/openapi3conv.go $(MERGED_SPEC_TARGET) $(OAPI_SPEC_TARGET)
##@ Building
@@ -106,9 +75,9 @@ gen-cue: ## Do all CUE/Thema code generation
go generate ./pkg/plugins/plugindef
go generate ./kinds/gen.go
go generate ./public/app/plugins/gen.go
go generate ./pkg/kindsysreport/codegen/report.go
go generate ./pkg/kindsys/report.go
gen-go: $(WIRE)
gen-go: $(WIRE) gen-cue
@echo "generate go files"
$(WIRE) gen -tags $(WIRE_TAGS) ./pkg/server
@@ -164,13 +133,6 @@ test-go-integration: ## Run integration tests for backend with flags.
@echo "test backend integration tests"
$(GO) test -count=1 -run "^TestIntegration" -covermode=atomic -timeout=5m $(GO_INTEGRATION_TESTS)
.PHONY: test-go-integration-alertmanager
test-go-integration-alertmanager: ## Run integration tests for the remote alertmanager (config taken from the mimir_backend block).
@echo "test remote alertmanager integration tests"
$(GO) clean -testcache
AM_URL=http://localhost:8080 AM_TENANT_ID=test AM_PASSWORD=test \
$(GO) test -count=1 -run "^TestIntegrationRemoteAlertmanager" -covermode=atomic -timeout=5m ./pkg/services/ngalert/notifier/...
.PHONY: test-go-integration-postgres
test-go-integration-postgres: devenv-postgres ## Run integration tests for postgres backend with flags.
@echo "test backend integration postgres tests"
@@ -229,7 +191,7 @@ build-docker-full: ## Build Docker image for development.
--build-arg BINGO=false \
--build-arg GO_BUILD_TAGS=$(GO_BUILD_TAGS) \
--build-arg WIRE_TAGS=$(WIRE_TAGS) \
--build-arg COMMIT_SHA=$$(git rev-parse HEAD) \
--build-arg COMMIT_SHA=$$(git rev-parse --short HEAD) \
--build-arg BUILD_BRANCH=$$(git rev-parse --abbrev-ref HEAD) \
--tag grafana/grafana$(TAG_SUFFIX):dev \
$(DOCKER_BUILD_ARGS)
@@ -242,10 +204,10 @@ build-docker-full-ubuntu: ## Build Docker image based on Ubuntu for development.
--build-arg BINGO=false \
--build-arg GO_BUILD_TAGS=$(GO_BUILD_TAGS) \
--build-arg WIRE_TAGS=$(WIRE_TAGS) \
--build-arg COMMIT_SHA=$$(git rev-parse HEAD) \
--build-arg COMMIT_SHA=$$(git rev-parse --short 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.5 \
--build-arg BASE_IMAGE=ubuntu:20.04 \
--build-arg GO_IMAGE=golang:1.20.4 \
--tag grafana/grafana$(TAG_SUFFIX):dev-ubuntu \
$(DOCKER_BUILD_ARGS)
@@ -290,9 +252,6 @@ devenv-mysql:
protobuf: ## Compile protobuf definitions
bash scripts/protobuf-check.sh
bash pkg/plugins/backendplugin/pluginextensionv2/generate.sh
bash pkg/plugins/backendplugin/secretsmanagerplugin/generate.sh
bash pkg/services/store/entity/generate.sh
bash pkg/infra/grn/generate.sh
clean: ## Clean up intermediate build artifacts.
@echo "cleaning"
@@ -318,7 +277,7 @@ scripts/drone/TAGS: $(shell find scripts/drone -name '*.star')
etags --lang none --regex="/def \(\w+\)[^:]+:/\1/" --regex="/\s*\(\w+\) =/\1/" $^ -o $@
format-drone:
buildifier --lint=fix -r scripts/drone
buildifier -r scripts/drone
help: ## Display this help.
@awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make \033[36m<target>\033[0m\n"} /^[a-zA-Z_-]+:.*?##/ { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST)

View File

@@ -42,8 +42,6 @@ If you're interested in contributing to the Grafana project:
- If you have a specific question, check out our [discussion forums](https://community.grafana.com/).
- For general discussions, join us on the [official Slack](https://slack.grafana.com) team.
This project is tested with [BrowserStack](https://www.browserstack.com/)
## License
Grafana is distributed under [AGPL-3.0-only](LICENSE). For Apache-2.0 exceptions, see [LICENSING.md](https://github.com/grafana/grafana/blob/HEAD/LICENSING.md).

View File

@@ -1,16 +1,12 @@
# Reporting security issues
This product is in scope for our Bug Bounty Program. To submit a vulnerability report, please visit [Grafana Labs Bug Bounty Policy page](https://github.com/grafana/bugbounty) and follow the instructions provided. Our security team will review your submission and get back to you as soon as possible.
---
For any other security issues, please send an email to security@grafana.com
If you think you have found a security vulnerability, please send a report to [security@grafana.com](mailto:security@grafana.com). This address can be used for all of Grafana Labs's open source and commercial products (including but not limited to Grafana, Grafana Cloud, Grafana Enterprise, and grafana.com). We can accept only vulnerability reports at this address.
Please encrypt your message to us; please use our PGP key. The key fingerprint is:
225E 6A9B BB15 A37E 95EB 6312 C66A 51CC B44C 27E0
F988 7BEA 027A 049F AE8E 5CAA D125 8932 BE24 C5CA
The key is available from [keyserver.ubuntu.com](https://keyserver.ubuntu.com/pks/lookup?search=0x225E6A9BBB15A37E95EB6312C66A51CCB44C27E0&fingerprint=on&op=index).
The key is available from [keyserver.ubuntu.com](https://keyserver.ubuntu.com/pks/lookup?search=0xF9887BEA027A049FAE8E5CAAD1258932BE24C5CA&fingerprint=on&op=index).
Grafana Labs will send you a response indicating the next steps in handling your report. After the initial reply to your report, the security team will keep you informed of the progress towards a fix and full announcement, and may ask for additional information or guidance.

View File

@@ -34,9 +34,6 @@ provisioning = conf/provisioning
# Protocol (http, https, h2, socket)
protocol = http
# Minimum TLS version allowed. By default, this value is empty. Accepted values are: TLS1.2, TLS1.3. If nothing is set TLS1.2 would be taken
min_tls_version = ""
# The ip address to bind to, empty will bind to all interfaces
http_addr =
@@ -162,7 +159,7 @@ query_retries = 0
# For "sqlite" only. How many times to retry transaction in case of database is locked failures. Default is 5.
transaction_retries = 5
# Set to true to add metrics and tracing for database queries.
# Set to true to add metrics and tracing for database queries.
instrument_queries = false
#################################### Cache server #############################
@@ -378,9 +375,6 @@ angular_support_enabled = true
# The CSRF check will be executed even if the request has no login cookie.
csrf_always_check = false
# Comma-separated list of plugins ids that won't be loaded inside the frontend sandbox
disable_frontend_sandbox_for_plugins =
[security.encryption]
# Defines the time-to-live (TTL) for decrypted data encryption keys stored in memory (cache).
# Please note that small values may cause performance issues due to a high frequency decryption operations.
@@ -454,7 +448,7 @@ auto_assign_org = true
# Set this value to automatically add new users to the provided organization (if auto_assign_org above is set to true)
auto_assign_org_id = 1
# Default role new users will be automatically assigned
# Default role new users will be automatically assigned (if auto_assign_org above is set to true)
auto_assign_org_role = Viewer
# Require email validation before sign up completes
@@ -559,20 +553,6 @@ sigv4_verbose_logging = false
# Set to true to enable Azure authentication option for HTTP-based datasources
azure_auth_enabled = false
# Use email lookup in addition to the unique ID provided by the IdP
oauth_allow_insecure_email_lookup = false
# Set to true to include id of identity as a response header
id_response_header_enabled = false
# Prefix used for the id response header, X-Grafana-Identity-Id
id_response_header_prefix = X-Grafana
# List of identity namespaces to add id response headers for, separated by space.
# Available namespaces are user, api-key and service-account.
# The header value will encode the namespace ("user:<id>", "api-key:<id>", "service-account:<id>")
id_response_header_namespaces = user api-key service-account
#################################### Anonymous Auth ######################
[auth.anonymous]
# enable anonymous access
@@ -606,13 +586,7 @@ allowed_organizations =
role_attribute_path =
role_attribute_strict = false
allow_assign_grafana_admin = false
skip_org_role_sync = false
tls_skip_verify_insecure = false
tls_client_cert =
tls_client_key =
tls_client_ca =
# GitHub OAuth apps does not provide refresh tokens and the access tokens never expires.
use_refresh_token = false
#################################### GitLab Auth #########################
[auth.gitlab]
@@ -623,7 +597,7 @@ allow_sign_up = true
auto_login = false
client_id = some_id
client_secret =
scopes = openid email profile
scopes = api
auth_url = https://gitlab.com/oauth/authorize
token_url = https://gitlab.com/oauth/token
api_url = https://gitlab.com/api/v4
@@ -634,11 +608,6 @@ role_attribute_strict = false
allow_assign_grafana_admin = false
skip_org_role_sync = false
tls_skip_verify_insecure = false
tls_client_cert =
tls_client_key =
tls_client_ca =
use_pkce = true
use_refresh_token = true
#################################### Google Auth #########################
[auth.google]
@@ -649,19 +618,14 @@ allow_sign_up = true
auto_login = false
client_id = some_client_id
client_secret =
scopes = openid email profile
auth_url = https://accounts.google.com/o/oauth2/v2/auth
token_url = https://oauth2.googleapis.com/token
api_url = https://openidconnect.googleapis.com/v1/userinfo
scopes = https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email
auth_url = https://accounts.google.com/o/oauth2/auth
token_url = https://accounts.google.com/o/oauth2/token
api_url = https://www.googleapis.com/oauth2/v1/userinfo
allowed_domains =
hosted_domain =
skip_org_role_sync = false
tls_skip_verify_insecure = false
tls_client_cert =
tls_client_key =
tls_client_ca =
use_pkce = true
use_refresh_token = true
#################################### Grafana.com Auth ####################
# legacy key names (so they work in env variables)
@@ -672,7 +636,6 @@ client_id = some_id
client_secret =
scopes = user:email
allowed_organizations =
use_refresh_token = false
[auth.grafana_com]
name = Grafana.com
@@ -685,7 +648,6 @@ client_secret =
scopes = user:email
allowed_organizations =
skip_org_role_sync = false
use_refresh_token = false
#################################### Azure AD OAuth #######################
[auth.azuread]
@@ -701,17 +663,10 @@ auth_url = https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/authorize
token_url = https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token
allowed_domains =
allowed_groups =
allowed_organizations =
role_attribute_strict = false
allow_assign_grafana_admin = false
force_use_graph_api = false
tls_skip_verify_insecure = false
tls_client_cert =
tls_client_key =
tls_client_ca =
use_pkce = true
skip_org_role_sync = false
use_refresh_token = true
#################################### Okta OAuth #######################
[auth.okta]
@@ -733,11 +688,6 @@ role_attribute_strict = false
allow_assign_grafana_admin = false
skip_org_role_sync = false
tls_skip_verify_insecure = false
tls_client_cert =
tls_client_key =
tls_client_ca =
use_pkce = true
use_refresh_token = false
#################################### Generic OAuth #######################
[auth.generic_oauth]
@@ -764,7 +714,6 @@ token_url =
api_url =
teams_url =
allowed_domains =
allowed_groups =
team_ids =
allowed_organizations =
tls_skip_verify_insecure = false
@@ -775,7 +724,6 @@ use_pkce = false
auth_style =
allow_assign_grafana_admin = false
skip_org_role_sync = false
use_refresh_token = false
#################################### Basic Auth ##########################
[auth.basic]
@@ -837,9 +785,6 @@ assume_role_enabled = true
# Specify max no of pages to be returned by the ListMetricPages API
list_metrics_page_limit = 500
# Experimental, for use in Grafana Cloud only. Please do not set.
external_id =
#################################### Azure ###############################
[azure]
# Azure cloud environment where Grafana is hosted
@@ -856,41 +801,6 @@ managed_identity_enabled = false
# Should be set for user-assigned identity and should be empty for system-assigned identity
managed_identity_client_id =
# Specifies whether Azure AD Workload Identity authentication should be enabled in datasources that support it
# For more documentation on Azure AD Workload Identity, review this documentation:
# https://azure.github.io/azure-workload-identity/docs/
# Disabled by default, needs to be explicitly enabled
workload_identity_enabled = false
# Tenant ID of the Azure AD Workload Identity
# Allows to override default tenant ID of the Azure AD identity associated with the Kubernetes service account
workload_identity_tenant_id =
# Client ID of the Azure AD Workload Identity
# Allows to override default client ID of the Azure AD identity associated with the Kubernetes service account
workload_identity_client_id =
# Custom path to token file for the Azure AD Workload Identity
# Allows to set a custom path to the projected service account token file
workload_identity_token_file =
# Specifies whether user identity authentication (on behalf of currently signed-in user) should be enabled in datasources
# that support it (requires AAD authentication)
# Disabled by default, needs to be explicitly enabled
user_identity_enabled = false
# Override token URL for Azure Active Directory
# By default is the same as token URL configured for AAD authentication settings
user_identity_token_url =
# Override ADD application ID which would be used to exchange users token to an access token for the datasource
# By default is the same as used in AAD authentication or can be set to another application (for OBO flow)
user_identity_client_id =
# Override the AAD application client secret
# By default is the same as used in AAD authentication or can be set to another application (for OBO flow)
user_identity_client_secret =
#################################### Role-based Access Control ###########
[rbac]
# If enabled, cache permissions in a in memory cache
@@ -932,9 +842,6 @@ level = info
# optional settings to set different levels for specific loggers. Ex filters = sqlstore:debug
filters =
# Set the default error message shown to users. This message is displayed instead of sensitive backend errors which should be obfuscated.
user_facing_default_error = "please inspect Grafana server log for details"
# For "console" mode only
[log.console]
level =
@@ -981,12 +888,21 @@ facility =
tag =
[log.frontend]
# Should Faro javascript agent be initialized
# Should Sentry javascript agent be initialized
enabled = false
# Defines which provider to use sentry or grafana
provider = sentry
# Sentry DSN if you want to send events to Sentry.
sentry_dsn =
# Custom HTTP endpoint to send events to. Default will log the events to stdout.
custom_endpoint =
# Rate of events to be reported to Sentry between 0 (none) and 1 (all), float
sample_rate = 1.0
# Requests per second limit enforced per an extended period, for Grafana backend log ingestion endpoint (/log).
log_endpoint_requests_per_second_limit = 3
@@ -1088,9 +1004,6 @@ ha_redis_prefix =
# provided, a random one will be generated.
ha_redis_peer_name =
# The maximum number of simultaneous redis connections.
ha_redis_max_conns = 5
# Listen address/hostname and port to receive unified alerting messages for other Grafana instances. The port is used for both TCP and UDP. It is assumed other Grafana instances are also running on the same port.
ha_listen_address = "0.0.0.0:9094"
@@ -1106,11 +1019,6 @@ ha_peers = ""
# 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.
ha_peer_timeout = 15s
# The label is an optional string to include on each packet and stream.
# It uniquely identifies the cluster and prevents cross-communication
# issues when sending gossip messages in an enviromenet with multiple clusters.
ha_label =
# The interval between sending gossip messages. By lowering this value (more frequent) gossip messages are propagated
# across cluster more quickly at the expense of increased bandwidth usage.
# 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.
@@ -1128,18 +1036,13 @@ execute_alerts = true
# The timeout string is a possibly signed sequence of decimal numbers, followed by a unit suffix (ms, s, m, h, d), e.g. 30s or 1m.
evaluation_timeout = 30s
# Number of times we'll attempt to evaluate an alert rule before giving up on that evaluation. The default value is 1.
max_attempts = 1
# Number of times we'll attempt to evaluate an alert rule before giving up on that evaluation. This option has a legacy version in the `[alerting]` section that takes precedence.
max_attempts = 3
# Minimum interval to enforce between rule evaluations. 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 we'll schedule fewer evaluations over time. This option has a legacy version in the `[alerting]` section that takes precedence.
# The interval string is a possibly signed sequence of decimal numbers, followed by a unit suffix (ms, s, m, h, d), e.g. 30s or 1m.
min_interval = 10s
# This is an experimental option to add parallelization to saving alert states in the database.
# It configures the maximum number of concurrent queries per rule evaluated. The default value is 1
# (concurrent queries per rule disabled).
max_state_save_concurrency = 1
[unified_alerting.screenshots]
# Enable screenshots in notifications. You must have either installed the Grafana image rendering
# plugin, or set up Grafana to use a remote rendering service.
@@ -1302,16 +1205,6 @@ enabled = true
# Enable the Profile section
enabled = true
#################################### News #############################
[news]
# Enable the news feed section
news_feed_enabled = true
#################################### Query #############################
[query]
# Set the number of data source queries that can be executed concurrently in mixed queries. Default is the number of CPUs.
concurrent_query_limit =
#################################### Query History #############################
[query_history]
# Enable the Query history
@@ -1324,8 +1217,6 @@ enabled = true
interval_seconds = 10
# Disable total stats (stat_totals_*) metrics to be generated
disable_total_stats = false
# The interval at which the total stats collector will update the stats. Default is 1800 seconds.
total_stats_collector_interval_seconds = 1800
#If both are set, basic auth will be required for the metrics endpoints.
basic_auth_username =
@@ -1467,11 +1358,8 @@ plugin_catalog_url = https://grafana.com/grafana/plugins/
plugin_catalog_hidden_plugins =
# Log all backend requests for core and external plugins.
log_backend_requests = false
# Disable download of the public key for verifying plugin signature.
public_key_retrieval_disabled = false
# Force download of the public key for verifying plugin signature on startup. If disabled, the public key will be retrieved every 10 days.
# Requires public_key_retrieval_disabled to be false to have any effect.
public_key_retrieval_on_startup = false
# Force download of public key for verifying plugin signature on startup.
enforce_public_key_download = false
#################################### Grafana Live ##########################################
[live]
@@ -1658,13 +1546,3 @@ client_cert =
server_name =
# The address of the socks5 proxy datasources should connect to
proxy_address =
# Determines if the secure socks proxy should be shown on the datasources page, defaults to true if the feature is enabled
show_ui = true
################################## Feature Management ##############################################
[feature_management]
# Hides specific feature toggles from the feature management page
hidden_toggles =
# Disables updating specific feature toggles in the feature management page
read_only_toggles =

View File

@@ -34,9 +34,6 @@
# Protocol (http, https, h2, socket)
;protocol = http
# This is the minimum TLS version allowed. By default, this value is empty. Accepted values are: TLS1.2, TLS1.3. If nothing is set TLS1.2 would be taken
;min_tls_version = ""
# The ip address to bind to, empty will bind to all interfaces
;http_addr =
@@ -164,7 +161,7 @@
# For "sqlite" only. How many times to retry transaction in case of database is locked failures. Default is 5.
;transaction_retries = 5
# Set to true to add metrics and tracing for database queries.
# Set to true to add metrics and tracing for database queries.
;instrument_queries = false
################################### Data sources #########################
@@ -384,9 +381,6 @@
# The CSRF check will be executed even if the request has no login cookie.
;csrf_always_check = false
# Comma-separated list of plugins ids that won't be loaded inside the frontend sandbox
;disable_frontend_sandbox_for_plugins =
[security.encryption]
# Defines the time-to-live (TTL) for decrypted data encryption keys stored in memory (cache).
# Please note that small values may cause performance issues due to a high frequency decryption operations.
@@ -439,7 +433,7 @@
# Set this value to automatically add new users to the provided organization (if auto_assign_org above is set to true)
;auto_assign_org_id = 1
# Default role new users will be automatically assigned
# Default role new users will be automatically assigned (if auto_assign_org above is set to true)
;auto_assign_org_role = Viewer
# Require email validation before sign up completes
@@ -548,20 +542,6 @@
# Set to skip the organization role from JWT login and use system's role assignment instead.
; skip_org_role_sync = false
# Use email lookup in addition to the unique ID provided by the IdP
;oauth_allow_insecure_email_lookup = false
# Set to true to include id of identity as a response header
;id_response_header_enabled = false
# Prefix used for the id response header, X-Grafana-Identity-Id
;id_response_header_prefix = X-Grafana
# List of identity namespaces to add id response headers for, separated by space.
# Available namespaces are user, api-key and service-account.
# The header value will encode the namespace ("user:<id>", "api-key:<id>", "service-account:<id>")
;id_response_header_namespaces = user api-key service-account
#################################### Anonymous Auth ######################
[auth.anonymous]
# enable anonymous access
@@ -595,7 +575,6 @@
;role_attribute_path =
;role_attribute_strict = false
;allow_assign_grafana_admin = false
;skip_org_role_sync = false
#################################### GitLab Auth #########################
[auth.gitlab]
@@ -606,7 +585,7 @@
;auto_login = false
;client_id = some_id
;client_secret = some_secret
;scopes = openid email profile
;scopes = api
;auth_url = https://gitlab.com/oauth/authorize
;token_url = https://gitlab.com/oauth/token
;api_url = https://gitlab.com/api/v4
@@ -616,11 +595,6 @@
;role_attribute_strict = false
;allow_assign_grafana_admin = false
;skip_org_role_sync = false
;tls_skip_verify_insecure = false
;tls_client_cert =
;tls_client_key =
;tls_client_ca =
;use_pkce = true
#################################### Google Auth ##########################
[auth.google]
@@ -631,14 +605,13 @@
;auto_login = false
;client_id = some_client_id
;client_secret = some_client_secret
;scopes = openid email profile
;auth_url = https://accounts.google.com/o/oauth2/v2/auth
;token_url = https://oauth2.googleapis.com/token
;api_url = https://openidconnect.googleapis.com/v1/userinfo
;scopes = https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email
;auth_url = https://accounts.google.com/o/oauth2/auth
;token_url = https://accounts.google.com/o/oauth2/token
;api_url = https://www.googleapis.com/oauth2/v1/userinfo
;allowed_domains =
;hosted_domain =
;skip_org_role_sync = false
;use_pkce = true
#################################### Grafana.com Auth ####################
[auth.grafana_com]
@@ -667,10 +640,8 @@
;token_url = https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token
;allowed_domains =
;allowed_groups =
;allowed_organizations =
;role_attribute_strict = false
;allow_assign_grafana_admin = false
;use_pkce = true
# prevent synchronizing users organization roles
;skip_org_role_sync = false
@@ -692,7 +663,6 @@
;role_attribute_strict = false
;allow_assign_grafana_admin = false
;skip_org_role_sync = false
;use_pkce = true
#################################### Generic OAuth ##########################
[auth.generic_oauth]
@@ -786,12 +756,6 @@
# If true, assume role will be enabled for all AWS authentication providers that are specified in aws_auth_providers
; assume_role_enabled = true
# Specify max no of pages to be returned by the ListMetricPages API
; list_metrics_page_limit = 500
# Experimental, for use in Grafana Cloud only. Please do not set.
; external_id =
#################################### Azure ###############################
[azure]
# Azure cloud environment where Grafana is hosted
@@ -808,41 +772,6 @@
# Should be set for user-assigned identity and should be empty for system-assigned identity
;managed_identity_client_id =
# Specifies whether Azure AD Workload Identity authentication should be enabled in datasources that support it
# For more documentation on Azure AD Workload Identity, review this documentation:
# https://azure.github.io/azure-workload-identity/docs/
# Disabled by default, needs to be explicitly enabled
;workload_identity_enabled = false
# Tenant ID of the Azure AD Workload Identity
# Allows to override default tenant ID of the Azure AD identity associated with the Kubernetes service account
;workload_identity_tenant_id =
# Client ID of the Azure AD Workload Identity
# Allows to override default client ID of the Azure AD identity associated with the Kubernetes service account
;workload_identity_client_id =
# Custom path to token file for the Azure AD Workload Identity
# Allows to set a custom path to the projected service account token file
;workload_identity_token_file =
# Specifies whether user identity authentication (on behalf of currently signed-in user) should be enabled in datasources
# that support it (requires AAD authentication)
# Disabled by default, needs to be explicitly enabled
;user_identity_enabled = false
# Override token URL for Azure Active Directory
# By default is the same as token URL configured for AAD authentication settings
;user_identity_token_url =
# Override ADD application ID which would be used to exchange users token to an access token for the datasource
# By default is the same as used in AAD authentication or can be set to another application (for OBO flow)
;user_identity_client_id =
# Override the AAD application client secret
# By default is the same as used in AAD authentication or can be set to another application (for OBO flow)
;user_identity_client_secret =
#################################### Role-based Access Control ###########
[rbac]
;permission_cache = true
@@ -885,9 +814,6 @@
# optional settings to set different levels for specific loggers. Ex filters = sqlstore:debug
;filters =
# Set the default error message shown to users. This message is displayed instead of sensitive backend errors which should be obfuscated. Default is the same as the sample value.
;user_facing_default_error = "please inspect Grafana server log for details"
# For "console" mode only
[log.console]
;level =
@@ -934,11 +860,20 @@
;tag =
[log.frontend]
# Should Faro javascript agent be initialized
# Should Sentry javascript agent be initialized
;enabled = false
# Custom HTTP endpoint to send events to. Default will log the events to stdout.
;custom_endpoint = /log-grafana-javascript-agent
# Defines which provider to use, default is Sentry
;provider = sentry
# Sentry DSN if you want to send events to Sentry.
;sentry_dsn =
# Custom HTTP endpoint to send events captured by the Sentry agent to. Default will log the events to stdout.
;custom_endpoint = /log
# Rate of events to be reported between 0 (none) and 1 (all), float
;sample_rate = 1.0
# Requests per second limit enforced an extended period, for Grafana backend log ingestion endpoint (/log).
;log_endpoint_requests_per_second_limit = 3
@@ -1053,11 +988,6 @@
# 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.
;ha_peer_timeout = "15s"
# The label is an optional string to include on each packet and stream.
# It uniquely identifies the cluster and prevents cross-communication
# issues when sending gossip messages in an enviromenet with multiple clusters.
;ha_label =
# The interval between sending gossip messages. By lowering this value (more frequent) gossip messages are propagated
# across cluster more quickly at the expense of increased bandwidth usage.
# 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.
@@ -1075,8 +1005,8 @@
# The timeout string is a possibly signed sequence of decimal numbers, followed by a unit suffix (ms, s, m, h, d), e.g. 30s or 1m.
;evaluation_timeout = 30s
# Number of times we'll attempt to evaluate an alert rule before giving up on that evaluation. The default value is 1.
;max_attempts = 1
# Number of times we'll attempt to evaluate an alert rule before giving up on that evaluation. This option has a legacy version in the `[alerting]` section that takes precedence.
;max_attempts = 3
# Minimum interval to enforce between rule evaluations. 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 we'll schedule fewer evaluations over time. This option has a legacy version in the `[alerting]` section that takes precedence.
# 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.
@@ -1219,16 +1149,6 @@
# Enable the Profile section
;enabled = true
#################################### News #############################
[news]
# Enable the news feed section
; news_feed_enabled = true
#################################### Query #############################
[query]
# Set the number of data source queries that can be executed concurrently in mixed queries. Default is the number of CPUs.
;concurrent_query_limit =
#################################### Query History #############################
[query_history]
# Enable the Query history
@@ -1243,8 +1163,6 @@
;interval_seconds = 10
# Disable total stats (stat_totals_*) metrics to be generated
;disable_total_stats = false
# The interval at which the total stats collector will update the stats. Default is 1800 seconds.
;total_stats_collector_interval_seconds = 1800
#If both are set, basic auth will be required for the metrics endpoints.
; basic_auth_username =
@@ -1379,11 +1297,8 @@
;plugin_catalog_hidden_plugins =
# Log all backend requests for core and external plugins.
;log_backend_requests = false
# Disable download of the public key for verifying plugin signature.
; public_key_retrieval_disabled = false
# Force download of the public key for verifying plugin signature on startup. If disabled, the public key will be retrieved every 10 days.
# Requires public_key_retrieval_disabled to be false to have any effect.
; public_key_retrieval_on_startup = false
# Force download of public key for verifying plugin signature on startup.
;enforce_public_key_download = false
#################################### Grafana Live ##########################################
[live]
@@ -1530,13 +1445,13 @@
# Move an app plugin referenced by its id (including all its pages) to a specific navigation section
[navigation.app_sections]
# The following will move an app plugin with the id of `my-app-id` under the `cfg` section
# my-app-id = cfg
# The following will move an app plugin with the id of `my-app-id` under the `starred` section
# my-app-id = admin
# Move a specific app plugin page (referenced by its `path` field) to a specific navigation section
[navigation.app_standalone_pages]
# The following will move the page with the path "/a/my-app-id/my-page" from `my-app-id` to the `cfg` section
# /a/my-app-id/my-page = cfg
# The following will move the page with the path "/a/my-app-id/starred-content" from `my-app-id` to the `starred` section
# /a/my-app-id/starred-content = starred
#################################### Secure Socks5 Datasource Proxy #####################################
[secure_socks_datasource_proxy]
@@ -1547,9 +1462,3 @@
; server_name =
# The address of the socks5 proxy datasources should connect to
; proxy_address =
; show_ui = true
################################## Feature Management ##############################################
[feature_management]
hidden_toggles =
read_only_toggles =

View File

@@ -7,7 +7,6 @@ This directory contains guides for contributors to the Grafana project.
- [Developer guide](developer-guide.md)
- [Triage issues](triage-issues.md)
- [Merge a pull request](merge-pull-request.md)
- [Making changes to the CI pipeline](drone-pipeline.md)
The `style-guides` directory contains style guides for the Grafana software project and documentation.

View File

@@ -2,7 +2,11 @@
Are you looking to take on contributions with bigger impact? These guides help you get a better understanding of the structure and design of the Grafana codebase.
Learn more about the backend architecture in [contribute/backend](/contribute/backend/README.md).
Learn more about the backend architecture:
- Part 1: [Services](../backend/services.md)
- Part 2: [Communication](../backend/communication.md)
- Part 3: [Database](../backend/database.md)
Learn more about the frontend architecture:

View File

@@ -21,7 +21,4 @@ of familiarizing themselves with the content of
## Dependency management
Refer to:
- [UPGRADING_DEPENDENCIES.md](https://github.com/grafana/grafana/blob/main/UPGRADING_DEPENDENCIES.md)
- [Upgrading dependencies](/contribute/backend/upgrading-dependencies.md)
Refer to [UPGRADING_DEPENDENCIES.md](https://github.com/grafana/grafana/blob/main/UPGRADING_DEPENDENCIES.md).

View File

@@ -1,6 +1,6 @@
# Errors
Grafana introduced its own error type [github.com/grafana/grafana/pkg/util/errutil.Error](../../pkg/util/errutil/errors.go)
Grafana introduced its own error type `github.com/grafana/grafana/pkg/util/errutil.Error`
in June 2022. It's built on top of the Go `error` interface extended to
contain all the information necessary by Grafana to handle errors in an
informative and safe way.

View File

@@ -8,7 +8,7 @@ Logs are files that record events, warnings and errors as they occur within a so
### Usage
Use the [pkg/infra/log](/pkg/infra/log/) package to create a named structured logger. Example:
Use the _pkg/infra/log_ package to create a named structured logger. Example:
```go
import (

View File

@@ -1,22 +0,0 @@
# Upgrading Go Version
Notes on upgrading Go version.
Example PR: https://github.com/grafana/grafana/pull/79329
## The main areas that need to change during the upgrade are:
- https://github.com/grafana/grafana/blob/d8ecea4ed93efb2e4d64a5ee24bc08f3805f413d/scripts/drone/variables.star#L6
- https://github.com/grafana/grafana/blob/d8ecea4ed93efb2e4d64a5ee24bc08f3805f413d/Makefile#L264
- https://github.com/grafana/grafana/blob/d8ecea4ed93efb2e4d64a5ee24bc08f3805f413d/Dockerfile#L6
Make sure to run `make drone` so that changes to `.star` files are reflected and `drone.yml` is generated.
### Additional files to change
- Take a look in `.github/workflows` folder for what `go` version is being used there in various workflows.
- Make sure to create a PR with the corresponding changes in `grafana/grafana-enterprise` repository.
## Updating the go.mod file
Please avoid updating the `go.mod` to the newest version unless really necessary. This ensures backwards compatibility and introduces less breaking changes. Always upgrade Go version in the runtime files above first, let them run for a couple of weeks and only then consider updating the `go.mod` file if necessary.

View File

@@ -104,7 +104,7 @@ myOldFunction(name: string) {
2. Add info in the comment about **when it is going to be removed**
3. Add info in the comment about **what should be used instead**
4. In case it's a function or a method, use `deprecationWarning(<file name>, <old name>, <new name>)` to raise attention during runtime as well
5. Update the [migration guidance](/developers/plugin-tools/migration-guides/) for plugin developers with your instructions
5. Update the [migration guide](../docs/sources/developers/plugins/migration-guide.md) with your instructions
### Communicate

View File

@@ -290,4 +290,3 @@ If that happens to you, chances are you've already set a lower limit and your sh
- Read our [style guides](/contribute/style-guides).
- Learn how to [Create a pull request](/contribute/create-pull-request.md).
- Read about the [architecture](architecture).
- Read through the [backend documentation](/contribute/backend/README.md).

View File

@@ -1,17 +0,0 @@
# Making changes to the Drone pipeline
_Only people in the Grafana organization can make changes to the Drone pipeline_
The Drone pipelines are built with [Starlark](https://github.com/bazelbuild/starlark), a language which is similar to Python. The Starlark files are located in [`scripts/drone`](https://github.com/grafana/grafana/tree/main/scripts/drone).
## Setup
- Set environment variables `DRONE_SERVER` and `DRONE_TOKEN`, which can be found on your [Drone account](https://drone.grafana.net/account). These are used to verify that only Grafana employees can make changes to the pipelines.
- Install [buildifier](https://github.com/bazelbuild/buildtools/blob/master/buildifier/README.md), and use it to format the Starlark files you edit.
## Develop
- Open a PR where you can do test runs for your changes. If you need to experiment with secrets, create a PR in the [grafana-ci-sandbox repo](https://github.com/grafana/grafana-ci-sandbox), before opening a PR in the main repo.
- Run `make drone` after making changes to the Starlark files. This builds the `.drone.yml` file.
For further questions, reach out to the grafana-delivery squad.

View File

@@ -9,7 +9,7 @@ Grafana uses the [i18next](https://www.i18next.com/) framework for managing tran
- Use `<Trans i18nKey="search-results.panel-link">Go to {{ pageTitle }}</Trans>` in code to add a translatable phrase
- Translations are stored in JSON files in `public/locales/{locale}/grafana.json`
- If a particular phrase is not available in the a language then it will fall back to English
- To update phrases in English, edit the default phrase in both the component's source and the [English grafana.json message catalogue](../public/locales/en-US/grafana.json), then run `yarn i18n:extract`.
- To update phrases in English, edit the default phrase in the component's source, then run `yarn i18n:extract`. Do not edit the `en-ES/grafana.json` or update the english phrase in Crowdin
- To update phrases in any translated language, edit the phrase in Crowdin. Do not edit the `{locale}/grafana.json`
## How to add a new translation phrase
@@ -80,7 +80,7 @@ Grafana uses the [i18next](https://www.i18next.com/) framework for managing tran
- Extracts phrases into messages catalogues for translating in external systems
- Manages the user's locale and putting the translated phrases in the UI
Grafana will load the message catalogue JSON before the initial render.
English phrases remain in our Javascript bundle in the source components (as the `<Trans />` or `t()` default phrase). At runtime, we don't need to load any messages for en-US. If the user's language preference is set to another language, Grafana will load that translations's messages JSON before the initial render.
### Phrase ID naming convention
@@ -162,32 +162,17 @@ import { Trans } from "app/core/internationalization"
### Plurals
Plurals require special handling to make sure they can be translating according to the rules of each locale (which may be more complex that you think!). Use either the `<Trans />` component or the `t` function, with the `count` prop to provide a singular form.
Plurals require special handling to make sure they can be translating according to the rules of each locale (which may be more complex that you think!). Use the `<Trans />` component, with the `count` prop.
```js
import { Trans } from 'app/core/internationalization';
<Trans i18nKey="inbox.heading" count={messages.length}>
You got {{ count: messages.length }} message
<Trans i18nKey="newMessages" count={messages.length}>
You got {{ count: messages.length }} messages.
</Trans>;
```
```js
import { t } from 'app/core/internationalization';
const translatedString = t('inbox.heading', 'You got {{count}} message', { count: messages.length });
```
Once extracted with `yarn i18n:extract` you will need to manually edit the [English grafana.json message catalogue](../public/locales/en-US/grafana.json) to correct the plural forms. See the [react-i18next docs](https://react.i18next.com/latest/trans-component#plural) for more details.
```json
{
"inbox": {
"heading__one": "You got {{count}} message",
"heading__other": "You got {{count}} messages"
}
}
```
Once extracted with `yarn i18n:extract` you will need to manually fill in the grafana.json message catalogues with the additional plural forms. See the [react-i18next docs](https://react.i18next.com/latest/trans-component#plural) for more details.
## Documentation

View File

@@ -13,6 +13,7 @@ The following checklist/summary should give you a quick overview of what to ask/
- Reviewed and approved?
- All checks passed?
- Proper pull request title?
- Milestone assigned?
- Add to changelog/release notes?
- Needs backporting?
@@ -39,17 +40,11 @@ See [formatting guidelines](create-pull-request.md#formatting-guidelines) for mo
### Assign a milestone
Several things in the Grafana release process requires at least pull requests to be in a milestone, for example [generating changelog/release notes](#include-in-changelog-and-release-notes).
A milestone **should** be added to every pull request. Several things in the Grafana release process requires at least pull requests to be in a milestone, for example [generating changelog/release notes](#include-in-changelog-and-release-notes).
This makes it easier to track what changes go into a certain release. Without this information, release managers have to go through git commits which is not an efficient process.
That being said, _you don't have to assign a milestone manually_ to a pull request.
Instead, when it is merged & closed then a bot will look for the most appropriate miletone and assign it to the pull request.
That milestone should always reflect the branch that the pull request is merged into.
For every major and minor release there is a milestone ending with `.x` (e.g. `10.0.x` for the 10.0.x releases).
Pull requests targetting `main` should use the `.x` milestone of the next minor (or major) version (you can find that version number inside the `package.json` file).
Backport pull requestss should use the version of the target branch (e.g. `9.4.x` for the `v9.4.x` branch).
Always assign the milestone for the version that a PR is merged into. PRs targetting `main` should use the next minor (or major) version and backport PRs should use the same value than the target branch.
### Include in changelog and release notes?
@@ -85,15 +80,15 @@ The changelog/release notes are divided into sections and here's a description o
**Features and enhancements:**
Labeled with `add to changelog` and any of the other section rules don't apply.
Milestone assigned and labeled with `add to changelog` and any of the other section rules don't apply.
**Bug fixes:**
Labeled with `add to changelog` and either labeled with `type/bug` or the pull request title contains `fix` or `fixes`.
Milestone assigned and labeled with `add to changelog` and either labeled with `type/bug` or the pull request title contains `fix` or `fixes`.
**Plugin development fixes & changes:**
Labeled with `area/grafana/toolkit`, `area/grafana/ui` or `area/grafana/runtime`.
Milestone assigned and labeled with `area/grafana/toolkit`, `area/grafana/ui` or `area/grafana/runtime`.
**Deprecations:**

View File

@@ -39,9 +39,8 @@ can have your getStyles function return an object with many class names and use
Let's say you need to style a component that has a different background depending on the `isActive` property :
```tsx
import { css, cx } from '@emotion/css';
import React from 'react';
import { css, cx } from '@emotion/css';
import { GrafanaTheme2 } from '@grafana/data';
import { useStyles2 } from '@grafana/ui';
@@ -50,7 +49,8 @@ interface ComponentAProps {
}
const ComponentA = ({ isActive }: ComponentAProps) => {
const styles = useStyles2(getStyles);
const theme = useTheme();
const styles = useStyles2(theme);
return (
<div className={cx(styles.wrapper, isActive && styles.active)}>
@@ -64,15 +64,15 @@ const ComponentA = ({ isActive }: ComponentAProps) => {
const getStyles = (theme: GrafanaTheme2) => {
return {
wrapper: css({
background: theme.colors.background.secondary,
background: theme.colors.background.secondary;
}),
active: css({
background: theme.colors.primary.main,
text: theme.colors.primary.contrastText,
}),
},
icon: css({
fontSize: theme.typography.bodySmall.fontSize,
}),
fontSize: theme.typography.bodySmall.fontSize;
})
};
};
```

View File

@@ -1,225 +0,0 @@
# Testing Guidelines
The goal of this document is to address the most frequently asked "How to" questions related to unit testing.
## Best practices
- Default to the `*ByRole` queries when testing components as it encourages testing with accessibility concerns in mind. It's also possible to use `*ByLabelText` queries. However, the `*ByRole` queries are [more robust](https://testing-library.com/docs/queries/bylabeltext/#name) and are generally recommended over the former.
## Testing User Interactions
We use the [user-event](https://testing-library.com/docs/user-event/intro) library for simulating user interactions during testing. This library is preferred over the built-in `fireEvent` method, as it more accurately mirrors real user interactions with elements.
There are two important considerations when working with `userEvent`:
1. All methods in `userEvent` are asynchronous, and thus require the use of `await` when called.
2. Directly calling methods from `userEvent` may not be supported in future versions. As such, it's necessary to first call `userEvent.setup()` prior to the tests. This method returns a `userEvent` instance, complete with all its methods. This setup process can be simplified using a utility function:
```tsx
import { render, screen } from '@testing-library/react';
import userEvent from '@testing-library/user-event';
function setup(jsx: JSX.Element) {
return {
user: userEvent.setup(),
...render(jsx),
};
}
it('should render', async () => {
const { user } = setup(<Button />);
await user.click(screen.getByRole('button'));
});
```
## Debugging Tests
There are a few utilities that can be useful for debugging tests:
- [screen.debug()](https://testing-library.com/docs/queries/about/#screendebug) - This function prints a human-readable representation of the document's DOM tree when called without arguments, or the DOM tree of specific node(s) when provided with arguments. It is internally using `console.log` to log the output to terminal.
- [Testing Playground](https://testing-playground.com/) - An interactive sandbox that allows testing which queries work with specific HTML elements.
- [logRoles](https://testing-library.com/docs/dom-testing-library/api-debugging/#prettydom) - A utility function that prints out all the implicit ARIA roles for a given DOM tree.
## Testing Select Components
Here, the [OrgRolePicker](https://github.com/grafana/grafana/blob/38863844e7ac72c7756038a1097f89632f9985ff/public/app/features/admin/OrgRolePicker.tsx) component is used as an example. This component essentially serves as a wrapper for the `Select` component, complete with its own set of options.
```tsx
import { OrgRole } from '@grafana/data';
import { Select } from '@grafana/ui';
interface Props {
value: OrgRole;
disabled?: boolean;
'aria-label'?: string;
inputId?: string;
onChange: (role: OrgRole) => void;
autoFocus?: boolean;
width?: number | 'auto';
}
const options = Object.keys(OrgRole).map((key) => ({ label: key, value: key }));
export function OrgRolePicker({ value, onChange, 'aria-label': ariaLabel, inputId, autoFocus, ...restProps }: Props) {
return (
<Select
inputId={inputId}
value={value}
options={options}
onChange={(val) => onChange(val.value as OrgRole)}
placeholder="Choose role..."
aria-label={ariaLabel}
autoFocus={autoFocus}
{...restProps}
/>
);
}
```
### Querying the Select Component
The recommended way to query `Select` components is by using a label. Add a `label` element and provide the `htmlFor` prop with a matching `inputId`. Alternatively, `aria-label` can be specified on the `Select`.
```tsx
describe('OrgRolePicker', () => {
it('should render the picker', () => {
setup(
<>
<label htmlFor={'role-picker'}>Role picker</label>
<OrgRolePicker value={OrgRole.Admin} inputId={'role-picker'} onChange={() => {}} />
</>
);
expect(screen.getByRole('combobox', { name: 'Role picker' })).toBeInTheDocument();
});
});
```
### Testing the Display of Correct Options
At times, it might be necessary to verify that the `Select` component is displaying the correct options. In such instances, the best solution is to click the `Select` component and match the desired option using the `*ByText` query.
```tsx
it('should have an "Editor" option', async () => {
const { user } = setup(
<>
<label htmlFor={'role-picker'}>Role picker</label>
<OrgRolePicker value={OrgRole.Admin} inputId={'role-picker'} onChange={() => {}} />
</>
);
await user.click(screen.getByRole('combobox', { name: 'Role picker' }));
expect(screen.getByText('Editor')).toBeInTheDocument();
});
```
### Selecting an option
To simplify the process of selecting an option from a `Select` component, there is a `selectOptionInTest` utility function. This function is a wrapper over the [react-select-event](https://testing-library.com/docs/ecosystem-react-select-event/) package.
```tsx
it('should select an option', async () => {
const mockOnChange = jest.fn();
setup(
<>
<label htmlFor={'role-picker'}>Role picker</label>
<OrgRolePicker value={OrgRole.Admin} inputId={'role-picker'} onChange={mockOnChange} />
</>
);
await selectOptionInTest(screen.getByRole('combobox', { name: 'Role picker' }), 'Viewer');
expect(mockOnChange).toHaveBeenCalledWith('Viewer');
});
```
## Mocking Objects and Functions
### Mocking the `window` Object and Its Methods
The recommended approach for mocking the `window` object is to use Jest spies. Jest's spy functions provide a built-in mechanism for restoring mocks. This feature eliminates the need to manually save a reference to the `window` object.
```tsx
let windowSpy: jest.SpyInstance;
beforeAll(() => {
windowSpy = jest.spyOn(window, 'location', 'get');
});
afterAll(() => {
windowSpy.mockRestore();
});
it('should test with window', function () {
windowSpy.mockImplementation(() => ({
href: 'www.example.com',
}));
expect(window.location.href).toBe('www.example.com');
});
```
### Mocking getBackendSrv()
The `getBackendSrv()` function is used to make HTTP requests to the Grafana backend. It is possible to mock this function using the `jest.mock` method.
```tsx
jest.mock('@grafana/runtime', () => ({
...jest.requireActual('@grafana/runtime'),
getBackendSrv: () => ({
post: postMock,
}),
}));
```
#### Mocking getBackendSrv for AsyncSelect
The `AsyncSelect` component is used to asynchronously load options. As such, it often relies on the `getBackendSrv` for loading the options.
Here's how the test would look like for this [OrgPicker](https://github.com/grafana/grafana/blob/38863844e7ac72c7756038a1097f89632f9985ff/public/app/core/components/Select/OrgPicker.tsx) component, which uses `AsyncSelect` under the hood.
```tsx
import { screen, render } from '@testing-library/react';
import userEvent from '@testing-library/user-event';
import React from 'react';
import { OrgPicker } from './OrgPicker';
jest.mock('@grafana/runtime', () => ({
...jest.requireActual('@grafana/runtime'),
getBackendSrv: () => ({
get: () =>
Promise.resolve([
{ name: 'Org 1', id: 0 },
{ name: 'Org 2', id: 1 },
]),
}),
}));
function setup(jsx: JSX.Element) {
return {
user: userEvent.setup(),
...render(jsx),
};
}
describe('OrgPicker', () => {
it('should render', async () => {
render(
<>
<label htmlFor={'picker'}>Org picker</label>
<OrgPicker onSelected={() => {}} inputId={'picker'} />
</>
);
expect(await screen.findByRole('combobox', { name: 'Org picker' })).toBeInTheDocument();
});
it('should have the options', async () => {
const { user } = setup(
<>
<label htmlFor={'picker'}>Org picker</label>
<OrgPicker onSelected={() => {}} inputId={'picker'} />
</>
);
await user.click(await screen.findByRole('combobox', { name: 'Org picker' }));
expect(screen.getByText('Org 1')).toBeInTheDocument();
expect(screen.getByText('Org 2')).toBeInTheDocument();
});
});
```

View File

@@ -56,21 +56,13 @@ datasources:
type: prometheus
access: proxy
url: http://localhost:9090
basicAuth: true #username: admin, password: admin
basicAuthUser: admin
jsonData:
manageAlerts: true
alertmanagerUid: gdev-alertmanager
prometheusType: Prometheus #Cortex | Mimir | Prometheus | Thanos
prometheusVersion: 2.40.0
exemplarTraceIdDestinations:
- name: traceID
datasourceUid: gdev-tempo
secureJsonData:
basicAuthPassword: admin #https://grafana.com/docs/grafana/latest/administration/provisioning/#using-environment-variables
- name: gdev-slow-prometheus
uid: gdev-slow-prometheus-uid
type: prometheus
access: proxy
url: http://localhost:3011
@@ -251,9 +243,6 @@ datasources:
- targetUID: gdev-zipkin
label: "Zipkin traces"
description: "Related traces stored in Zipkin"
- targetUID: gdev-tempo
label: "Tempo traces"
description: "Related traces stored in Tempo"
- targetUID: gdev-prometheus
label: "Logs to metrics"
description: "Related metrics stored in Prometheus"
@@ -273,10 +262,6 @@ datasources:
matcherRegex: "traceID=(\\w+)"
url: "$${__value.raw}"
datasourceUid: gdev-zipkin
- name: "traceID"
matcherRegex: "traceID=(\\w+)"
url: "$${__value.raw}"
datasourceUid: gdev-tempo
- name: gdev-jaeger
type: jaeger

View File

@@ -440,10 +440,6 @@
{
"text": "Vietnamese Dong (VND)",
"value": "currencyVND"
},
{
"text": "Turkish Lira (₺)",
"value": "currencyTRY"
}
],
"text": "currency"
@@ -644,10 +640,6 @@
},
{
"submenu": [
{
"text": "counts/sec (cps)",
"value": "cps"
},
{
"text": "ops/sec (ops)",
"value": "ops"
@@ -668,34 +660,10 @@
"text": "I/O ops/sec (iops)",
"value": "iops"
},
{
"text": "events/sec (eps)",
"value": "eps"
},
{
"text": "messages/sec (mps)",
"value": "mps"
},
{
"text": "records/sec (rps)",
"value": "recps"
},
{
"text": "rows/sec (rps)",
"value": "rowsps"
},
{
"text": "counts/min (cpm)",
"value": "cpm"
},
{
"text": "ops/min (opm)",
"value": "opm"
},
{
"text": "requests/min (rpm)",
"value": "reqpm"
},
{
"text": "reads/min (rpm)",
"value": "rpm"
@@ -703,22 +671,6 @@
{
"text": "writes/min (wpm)",
"value": "wpm"
},
{
"text": "events/min (epm)",
"value": "epm"
},
{
"text": "messages/min (mpm)",
"value": "mpm"
},
{
"text": "records/min (rpm)",
"value": "recpm"
},
{
"text": "rows/min (rpm)",
"value": "rowspm"
}
],
"text": "throughput"

View File

@@ -12,23 +12,6 @@
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
},
{
"datasource": {
"type": "elasticsearch",
"uid": "gdev-elasticsearch"
},
"enable": true,
"iconColor": "red",
"name": "errors",
"tagsField": "metric",
"target": {
"lines": 10,
"query": "level:error",
"refId": "Anno",
"scenarioId": "annotations"
},
"textField": "line"
}
]
},
@@ -5291,520 +5274,18 @@
],
"title": "Logs",
"type": "row"
},
{
"collapsed": true,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 13
},
"id": 97,
"panels": [
{
"datasource": {
"type": "elasticsearch",
"uid": "gdev-elasticsearch"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 1
},
"id": 98,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"targets": [
{
"alias": "",
"bucketAggs": [
{
"field": "@timestamp",
"id": "2",
"settings": {
"interval": "auto"
},
"type": "date_histogram"
}
],
"datasource": {
"type": "elasticsearch",
"uid": "gdev-elasticsearch"
},
"metrics": [
{
"id": "1",
"type": "count"
}
],
"query": "hostname: $hostname",
"refId": "A",
"timeField": "@timestamp"
}
],
"title": "$hostname count",
"type": "timeseries"
},
{
"datasource": {
"type": "elasticsearch",
"uid": "gdev-elasticsearch"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 1
},
"id": 99,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"targets": [
{
"alias": "",
"bucketAggs": [
{
"field": "@timestamp",
"id": "2",
"settings": {
"interval": "auto"
},
"type": "date_histogram"
}
],
"datasource": {
"type": "elasticsearch",
"uid": "gdev-elasticsearch"
},
"metrics": [
{
"field": "float",
"id": "1",
"type": "avg"
}
],
"query": "hostname: $hostname",
"refId": "A",
"timeField": "@timestamp"
}
],
"title": "$hostname average float",
"type": "timeseries"
},
{
"datasource": {
"type": "elasticsearch",
"uid": "gdev-elasticsearch"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 9
},
"id": 100,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"targets": [
{
"alias": "",
"bucketAggs": [
{
"field": "@timestamp",
"id": "2",
"settings": {
"interval": "auto"
},
"type": "date_histogram"
}
],
"datasource": {
"type": "elasticsearch",
"uid": "gdev-elasticsearch"
},
"metrics": [
{
"id": "1",
"type": "count"
}
],
"query": "hostname: $hostname AND level: $level_by_hostname",
"refId": "A",
"timeField": "@timestamp"
}
],
"title": "$hostname and $level_by_hostname count",
"type": "timeseries"
},
{
"datasource": {
"type": "elasticsearch",
"uid": "gdev-elasticsearch"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 9
},
"id": 101,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"targets": [
{
"alias": "",
"bucketAggs": [
{
"field": "@timestamp",
"id": "2",
"settings": {
"interval": "auto"
},
"type": "date_histogram"
}
],
"datasource": {
"type": "elasticsearch",
"uid": "gdev-elasticsearch"
},
"metrics": [
{
"field": "float",
"id": "1",
"type": "avg"
}
],
"query": "hostname: $hostname AND level: $level_by_hostname",
"refId": "A",
"timeField": "@timestamp"
}
],
"title": "$hostname and $level_by_hostname average float",
"type": "timeseries"
}
],
"title": "Using template variables",
"type": "row"
}
],
"refresh": "",
"schemaVersion": 38,
"style": "dark",
"tags": [
"tags": [
"gdev",
"elasticsearch",
"datasource-test"
],
"templating": {
"list": [
{
"current": {
"selected": true,
"text": "hostname2",
"value": "hostname2"
},
"datasource": {
"type": "elasticsearch",
"uid": "gdev-elasticsearch"
},
"definition": "{\"find\": \"terms\", \"field\": \"hostname\"}",
"hide": 0,
"includeAll": false,
"multi": false,
"name": "hostname",
"options": [],
"query": "{\"find\": \"terms\", \"field\": \"hostname\"}",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
"sort": 0,
"type": "query"
},
{
"current": {
"selected": false,
"text": "error",
"value": "error"
},
"datasource": {
"type": "elasticsearch",
"uid": "gdev-elasticsearch"
},
"definition": "{\"find\": \"terms\", \"field\": \"level\", \"query\": \"hostname:$hostname\"}",
"hide": 0,
"includeAll": false,
"multi": false,
"name": "level_by_hostname",
"options": [],
"query": "{\"find\": \"terms\", \"field\": \"level\", \"query\": \"hostname:$hostname\"}",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
"sort": 0,
"type": "query"
},
{
"datasource": {
"type": "elasticsearch",
"uid": "gdev-elasticsearch"
},
"filters": [],
"hide": 0,
"name": "adhoc",
"skipUrlSync": false,
"type": "adhoc"
}
]
"list": []
},
"time": {
"from": "now-6h",
@@ -5812,7 +5293,7 @@
},
"timepicker": {},
"timezone": "",
"title": "Datasource tests - Elasticsearch complex with template variables",
"title": "Datasource tests - Elasticsearch complex",
"uid": "es_complex",
"version": 1,
"weekStart": ""

View File

@@ -55,38 +55,6 @@
"pluginVersion": "8.4.0-pre",
"title": "Panel Title",
"type": "text"
},
{
"gridPos": {
"h": 9,
"w": 12,
"x": 0,
"y": 9
},
"id": 2,
"options": {
"mode": "markdown",
"content": "VariableUnderTestText: ${VariableUnderTest:text}"
},
"pluginVersion": "8.4.0-pre",
"title": "Panel Title",
"type": "text"
},
{
"gridPos": {
"h": 9,
"w": 12,
"x": 0,
"y": 18
},
"id": 2,
"options": {
"mode": "markdown",
"content": "VariableUnderTestRaw: ${VariableUnderTest:raw}"
},
"pluginVersion": "8.4.0-pre",
"title": "Panel Title",
"type": "text"
}
],
"schemaVersion": 35,

View File

@@ -1,77 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "datasource",
"uid": "grafana"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"target": {
"limit": 100,
"matchAny": false,
"tags": [],
"type": "dashboard"
},
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"liveNow": false,
"panels": [
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"gridPos": {
"h": 14,
"w": 24,
"x": 0,
"y": 0
},
"id": 8,
"targets": [
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"refId": "A",
"scenarioId": "flame_graph"
}
],
"title": "Flame Graph",
"type": "flamegraph"
}
],
"refresh": "",
"revision": 1,
"schemaVersion": 38,
"style": "dark",
"tags": [
"gdev",
"panel-tests"
],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "Panel Tests - Flame Graph",
"uid": "16f11TZWk",
"version": 7,
"weekStart": ""
}

View File

@@ -440,10 +440,6 @@
{
"text": "Vietnamese Dong (VND)",
"value": "currencyVND"
},
{
"text": "Turkish Lira (₺)",
"value": "currencyTRY"
}
],
"text": "currency"
@@ -644,10 +640,6 @@
},
{
"submenu": [
{
"text": "counts/sec (cps)",
"value": "cps"
},
{
"text": "ops/sec (ops)",
"value": "ops"
@@ -668,34 +660,10 @@
"text": "I/O ops/sec (iops)",
"value": "iops"
},
{
"text": "events/sec (eps)",
"value": "eps"
},
{
"text": "messages/sec (mps)",
"value": "mps"
},
{
"text": "records/sec (rps)",
"value": "recps"
},
{
"text": "rows/sec (rps)",
"value": "rowsps"
},
{
"text": "counts/min (cpm)",
"value": "cpm"
},
{
"text": "ops/min (opm)",
"value": "opm"
},
{
"text": "requests/min (rpm)",
"value": "reqpm"
},
{
"text": "reads/min (rpm)",
"value": "rpm"
@@ -703,22 +671,6 @@
{
"text": "writes/min (wpm)",
"value": "wpm"
},
{
"text": "events/min (epm)",
"value": "epm"
},
{
"text": "messages/min (mpm)",
"value": "mpm"
},
{
"text": "records/min (rpm)",
"value": "recpm"
},
{
"text": "rows/min (rpm)",
"value": "rowspm"
}
],
"text": "throughput"

View File

@@ -1,116 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"liveNow": false,
"panels": [
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"custom": {
"align": "auto",
"cellOptions": {
"type": "auto"
},
"inspect": false
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 0
},
"id": 1,
"options": {
"cellHeight": "sm",
"footer": {
"countRows": false,
"fields": "",
"reducer": [
"sum"
],
"show": false
},
"showHeader": true
},
"pluginVersion": "10.1.0-pre",
"targets": [
{
"csvContent": "time,x\n2023-06-12T05:49:00Z,10\n2023-06-12T07:01:00Z,20\n2023-06-12T08:13:00Z,NaN\n2023-06-12T09:25:00Z,NaN\n2023-06-12T10:37:00Z,NaN\n2023-06-12T11:49:00Z,30\n2023-06-12T13:01:00Z,20\n2023-06-12T14:13:00Z,10\n2023-06-12T15:25:00Z,Inf\n2023-06-12T16:37:00Z,null\n2023-06-12T17:49:00Z,",
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"refId": "A",
"scenarioId": "csv_content"
}
],
"title": "SparkLineCell with NaNs,Nulls,Infinity",
"transformations": [
{
"id": "timeSeriesTable",
"options": {}
}
],
"type": "table"
}
],
"refresh": "",
"schemaVersion": 38,
"style": "dark",
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "2023-06-12T00:00:00.000Z",
"to": "2023-06-12T18:00:00.000Z"
},
"timepicker": {},
"timezone": "utc",
"title": "Table with SparklineCell",
"uid": "d6373b49-1957-4f00-9218-ee2120d3ecd9",
"version": 4,
"weekStart": ""
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,184 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"liveNow": false,
"panels": [
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"fieldConfig": {
"defaults": {
"color": {
"fixedColor": "blue",
"mode": "fixed"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "series",
"axisLabel": "Torque (NM)",
"axisPlacement": "auto",
"axisSoftMax": 280,
"axisSoftMin": 80,
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "smooth",
"lineStyle": {
"fill": "solid"
},
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "Power (kW)"
},
"properties": [
{
"id": "custom.axisPlacement",
"value": "right"
},
{
"id": "custom.axisLabel",
"value": "Power (kW)"
},
{
"id": "custom.axisSoftMax",
"value": 120
},
{
"id": "color",
"value": {
"fixedColor": "red",
"mode": "fixed"
}
}
]
},
{
"matcher": {
"id": "byName",
"options": "Speed (RPM)"
},
"properties": [
{
"id": "custom.axisLabel",
"value": "Speed (RPM)"
}
]
}
]
},
"gridPos": {
"h": 18,
"w": 11,
"x": 0,
"y": 0
},
"id": 1,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "single",
"sort": "none"
},
"xField": "Speed (RPM)"
},
"targets": [
{
"csvContent": "Speed (RPM),Torque (NM),Power (kW)\n0,,\n500,,\n800,180,20\n1500,215,40\n2000,227,50\n2500,230,62\n3000,233,75\n3500,236,86\n4000,234,92\n4500,230,100\n5000,220,107\n5500,210,110\n6000,178,106\n6500,120,92\n7000,,\n",
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"refId": "A",
"scenarioId": "csv_content"
}
],
"title": "Engine Power and Torque Curves",
"type": "trend"
}
],
"refresh": "",
"schemaVersion": 38,
"style": "dark",
"tags": [
"gdev",
"panel-tests",
"graph-ng",
"trend"
],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "Panel Tests - Trend",
"uid": "b36b5576-2e3d-4b0c-8dce-e79514d99345",
"version": 4,
"weekStart": ""
}

View File

@@ -44,9 +44,8 @@ active_sync_enabled = true
Grafana expects SLO support to be communicated in the metadata
Single Logout is now supported by authentik in versions `2023.1` and higher;
Source: <https://goauthentik.io/docs/releases/2023.1#new-features>
Single Logout is not supported by authentik.
https://github.com/goauthentik/authentik/issues/3321
**Warning** Client signature validation
@@ -66,7 +65,7 @@ assertion_attribute_email = http://schemas.xmlsoap.org/ws/2005/05/identity/claim
assertion_attribute_groups = http://schemas.xmlsoap.org/claims/Group
assertion_attribute_org = http://schemas.xmlsoap.org/claims/Group
allow_sign_up = true
single_logout = true # supported by authentik v2023.1 and newer
single_logout = false # not supported by authentik
signature_algorithm = rsa-sha256
allow_idp_initiated = true
org_mapping = admin:1:Admin, editor:1:Editor, viewer:1:Viewer
@@ -116,4 +115,4 @@ In case you want to make changes to the devenv setup, you can dump keycloak's DB
```bash
cd devenv;
docker-compose exec -T authentikdb bash -c "pg_dump -U authentik authentik" > docker/blocks/auth/authentik/cloak.sql
```
```

View File

@@ -39,7 +39,7 @@
- "authentik:authentik"
authentik:
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2023.5.1}
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2023.2.3}
restart: unless-stopped
container_name: authentik
command: server
@@ -66,7 +66,7 @@
- "authentikredis:authentikredis"
authentik-worker:
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2023.5.1}
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2022.12.1}
restart: unless-stopped
container_name: authentik-worker
command: worker

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