Compare commits

...

4236 Commits

Author SHA1 Message Date
Andres Torres
343ac92c45 [release-12.2.2] refactor(annotations): Allow skipping always on dashboard UID migrations (#114108)
refactor(annotations): Allow skipping always on dashboard UID migrations (#113780)

(cherry picked from commit b70c6a726f)
2025-11-18 17:18:27 -05:00
grafana-delivery-bot[bot]
8e40f581ef [release-12.2.2] Docs: Add secrets management beta API docs (#114115)
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
Co-authored-by: Anna Urbiztondo <anna.urbiztondo@grafana.com>
Co-authored-by: Jacob Valdez <jacob.valdez@grafana.com>
2025-11-18 17:52:33 +00:00
grafana-delivery-bot[bot]
1ce228784b [release-12.2.2] alerts docs: triage page (#114054)
alerts docs: triage page (#113869)

* alerts docs: triage page

documentation for the alert triage page

* public preview note added

* Update alert-triage.md

* prettier

* removed alerts triage references

* rename

* image

* prettier

(cherry picked from commit 441556d1a3)

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>
2025-11-18 10:31:44 -06:00
grafana-delivery-bot[bot]
ce6e473d19 [release-12.2.2] CI: run publish artifacts on self-hosted runner (#114074)
CI: run publish artifacts on self-hosted runner (#114068)

run publish artifacts on self-hosted runner

(cherry picked from commit a553256b46)

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2025-11-18 09:56:28 +00:00
Jack Baldry
7f6371a873 [release-12.2.2] Restructure As code and developer resources (#113964) 2025-11-14 18:05:45 +00:00
Kevin Minehart
71cbf1c25a [release-12.2.2] CI: Make notify-pr workflow optional (#113904)
* CI: Make notify-pr workflow optional (#113896)

* CI: Make notify-pr workflow optional

* also set repo to the current repo

* fix find-pr

(cherry picked from commit d92cb9f7a6)
(cherry picked from commit 3b345a99bc)

* CI: Continue notify even on error

(cherry picked from commit 2e33b077f1)

* CI: Fix release-build bug; github.repository includes org (#113909)

* CI: Fix release-build bug; github.repository includes org

* set pipefail

* fix notify in release-build; this step should fail if it actually fails

(cherry picked from commit 9376d569cc)

* CI: release-build.yml missing pipe (#113915)

(cherry picked from commit 92ef1c4942)
2025-11-14 11:39:49 +00:00
grafana-delivery-bot[bot]
dc39aa123a [release-12.2.2] Stricter validation for redirect URLs (#113860)
Stricter validation for redirect URLs (#113852)

(cherry picked from commit 3f48a6358f)
2025-11-13 18:43:47 +01:00
grafana-delivery-bot[bot]
2df2d435bf [release-12.2.2] DashboardAPI: Remove manual slug creation in dashboards (#113519)
DashboardAPI: Remove manual slug creation in dashboards (#111657)

* remove slug creation on frontend due to slugify issues

* adjust tests

* fix

(cherry picked from commit 90da925985)

Co-authored-by: Sergej-Vlasov <37613182+Sergej-Vlasov@users.noreply.github.com>
Co-authored-by: Sergej-Vlasov <sergej.s.vlasov@gmail.com>
2025-11-13 13:57:33 +00:00
grafana-delivery-bot[bot]
95e54677c0 [release-12.2.2] Playwright: fix timezone test to work at all times (#113840)
Playwright: fix timezone test to work at all times (#113827)

* fix timezone test to work at all times

* remove unused imports

(cherry picked from commit f5f0c1e6f6)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-11-13 13:50:01 +00:00
Matheus Macabu
51394e1c81 [release-12.2.2] Secrets: Fix MariaDB syntax error due to unsupported CTE syntax (#113770)
Secrets: Fix MariaDB syntax error due to unsupported CTE syntax (#111610) (#113690)

* Secrets: fix MariaDB syntax error due to unsupported CTE syntax (#111610)

* parametrize guid/created columns and re-generate test fixtures

---------


(cherry picked from commit 6c512dabdc)

Co-authored-by: Mike <mmelvin0@gmail.com>
2025-11-12 17:56:06 +01:00
Matheus Macabu
3d151f7517 [release-12.2.2] E2E: Improve ad-hoc filtering test (#113746)
E2E: Improve ad-hoc filtering test
2025-11-12 11:59:02 +00:00
Kevin Minehart
c48ccd3955 [release-12.2.2] use adhoc filters test from main (#113733)
use adhoc filters test from main
2025-11-12 12:00:14 +01:00
grafana-delivery-bot[bot]
cc5849e9c4 [release-12.2.2] DashboardScene: Ignore defaults changes when exiting edit mode (#113213)
* DashboardScene: Ignore defaults changes when exiting edit mode (#112796)

* exit dashboard without confirmation with only optional changes

* centralise

* clean up logic

* export to util

(cherry picked from commit 51b39d8c6e)

* Frontend tests: Fix for timechange (#113338)

(cherry picked from commit 6d9e28a59f)

---------

Co-authored-by: Sergej-Vlasov <37613182+Sergej-Vlasov@users.noreply.github.com>
Co-authored-by: Sergej-Vlasov <sergej.s.vlasov@gmail.com>
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-11-11 10:30:17 +00:00
grafana-delivery-bot[bot]
68b77a9701 [release-12.2.2] docs: clarifying info on what's new lading page (#113641)
Co-authored-by: Jacob Valdez <jacob.valdez@grafana.com>
2025-11-07 22:28:44 +00:00
grafana-delivery-bot[bot]
883acf1bd3 [release-12.2.2] LibraryPanels: Improve getAllLibraryElements filter performance (#113599)
LibraryPanels: Improve `getAllLibraryElements` filter performance (#113544)

(cherry picked from commit 33390a1483)

Co-authored-by: Juan Cabanas <juan.cabanas@grafana.com>
2025-11-07 12:16:13 -03:00
grafana-delivery-bot[bot]
a917724465 [release-12.2.2] SCIM: Upgrade the User.UID field to allow for the new scim- prefix (#113521)
SCIM: Upgrade the User.UID field to allow for the new scim- prefix (#113500)

Upgrade the User.UID field to allow for the new scim- prefix

(cherry picked from commit ca5d898120)

Co-authored-by: linoman <2051016+linoman@users.noreply.github.com>
2025-11-06 19:05:13 +01:00
grafana-delivery-bot[bot]
ffed6cfeab [release-12.2.2] Update grafanacli-workflows.md with command link (#113532)
Co-authored-by: Irene Rodríguez <irene.rodriguez@grafana.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-11-06 16:29:39 +00:00
grafana-delivery-bot[bot]
3696a9aadf [release-12.2.2] Docs: Git Sync permissions (#113431)
Co-authored-by: Anna Urbiztondo <anna.urbiztondo@grafana.com>
2025-11-05 11:18:52 +01:00
grafana-delivery-bot[bot]
2f15f7f695 [release-12.2.2] fix(accesscontrol): Reduce memory usage in GroupScopesByActionContext (#113414)
fix(accesscontrol): Reduce memory usage in GroupScopesByActionContext (#112295)


(cherry picked from commit fbc81d2fd0)

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
Co-authored-by: Dave Henderson <dave.henderson@grafana.com>
2025-11-04 17:23:47 +00:00
grafana-delivery-bot[bot]
a36d95abd3 [release-12.2.2] docs(alerting): add note about invalid numeric identifiers in templates (#113413)
docs(alerting): add note about invalid numeric identifiers in templates (#113269)

(cherry picked from commit ffa5e41bec)

Co-authored-by: Pepe Cano <825430+ppcano@users.noreply.github.com>
2025-11-04 11:15:21 -06:00
Isabel Matwawana
1d51a8c8a7 [v12.2.x] Docs: Clarify difference between "Add" and "Replace" for saved queries (#113374) 2025-11-04 09:09:24 -05:00
grafana-delivery-bot[bot]
ee12001ce7 [release-12.2.2] Docs: Full instance Git Sync notes (#113353)
Co-authored-by: Anna Urbiztondo <anna.urbiztondo@grafana.com>
Co-authored-by: Roberto Jiménez Sánchez <roberto.jimenez@grafana.com>
2025-11-03 13:57:44 +00:00
grafana-delivery-bot[bot]
dc12aeb4ab [release-12.2.2] Table: Pill and JSON Cells should allow formatting (#113130)
Table: Pill and JSON Cells should allow formatting (#111951)

* Table: PillCell should use formatted text inside pills

* Table: JSONCell should use formatted text

* remove unused imports

(cherry picked from commit 237ab6c1b4)

Co-authored-by: Paul Marbach <paul.marbach@grafana.com>
2025-11-03 08:37:35 -05:00
grafana-delivery-bot[bot]
75d12036b8 [release-12.2.2] PublicDashboards: Dont call API on dashboard page if public dashboards is disabled (#113282)
PublicDashboards: Dont call API on dashboard page if public dashboards is disabled (#113273)

(cherry picked from commit 452fc04d1d)

Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
2025-10-31 11:30:38 +00:00
grafana-delivery-bot[bot]
b344916377 [release-12.2.2] Annotations: Honor dashboardUID on dashboardsWithVisibleAnnotations (#113229)
Annotations: Honor dashboardUID on dashboardsWithVisibleAnnotations (#112350)

* Annotations: Honor dashboardUID on dashboardsWithVisibleAnnotations



---------


(cherry picked from commit 75a1846344)

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
Co-authored-by: maicon <maiconscosta@gmail.com>
2025-10-30 14:27:04 -03:00
grafana-delivery-bot[bot]
eb0899aa9e [release-12.2.2] Docs: Plugins link to catalog (#113199)
Co-authored-by: Anna Urbiztondo <anna.urbiztondo@grafana.com>
2025-10-30 10:45:45 +01:00
grafana-delivery-bot[bot]
a9d9dc264e [release-12.2.2] docs(alerting): clarify notification group deletion after group interval elapses (#113174)
docs(alerting): clarify notification group deletion after group interval elapses (#113160)

(cherry picked from commit 7eb8a9af99)

Co-authored-by: Pepe Cano <825430+ppcano@users.noreply.github.com>
2025-10-29 15:27:23 +00:00
grafana-delivery-bot[bot]
324ca8847c [release-12.2.2] Docs: Add query variable static options (#113169)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2025-10-29 13:52:31 +00:00
grafana-delivery-bot[bot]
c3460a4038 [release-12.2.2] docs(alerting): add additional migration details (#113165)
docs(alerting): add additional migration details (#112383)

(cherry picked from commit 86bf99aaaa)

Co-authored-by: Pepe Cano <825430+ppcano@users.noreply.github.com>
2025-10-29 13:14:25 +00:00
grafana-delivery-bot[bot]
f639587fc9 [release-12.2.2] Update Git Sync and File provisioning status to private preview (#113162)
Co-authored-by: Irene Rodríguez <irene.rodriguez@grafana.com>
2025-10-29 14:07:25 +01:00
grafana-delivery-bot[bot]
6751fadc01 [release-12.2.2] Log TLS handshake EOF error as DEBUG instead INFO (#113098)
Log TLS handshake EOF error as DEBUG instead INFO (#112294)

* Log TLS handshake EOF error as DEBUG instead INFO



---------


(cherry picked from commit a75b01907d)

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
Co-authored-by: maicon <maiconscosta@gmail.com>
2025-10-28 16:07:06 -03:00
grafana-delivery-bot[bot]
0f6741ff29 [release-12.2.2] Docs: Admin tweaks - Edits, weights (#113089)
Co-authored-by: Anna Urbiztondo <anna.urbiztondo@grafana.com>
2025-10-28 13:24:16 +01:00
Irene Rodríguez
d76881cc92 [release-12.2.2] Docs: Fix markdown syntax for config options table (#112846)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Mihai Doarna <mihai.doarna@grafana.com>
Co-authored-by: jtvdez <jacob.valdez@grafana.com>
Fix markdown syntax for config options table (#112805)
2025-10-27 14:25:59 +00:00
grafana-delivery-bot[bot]
c001d12745 [release-12.2.2] Docs: Update saved queries permissions for Viewer role (#112979)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2025-10-24 15:38:34 -04:00
Jack Baldry
0a29332f80 [v12.2] Restructure IAM documentation (#112930) 2025-10-24 12:48:29 +01:00
grafana-delivery-bot[bot]
06482877cb [release-12.2.2] DOCS: Added a warning about using timezone with macros in MSSQL (#112909)
DOCS: Added a warning about using timezone with macros in MSSQL (#112900)

added warning about using timezone with macros in MSSQL

(cherry picked from commit 64f6bd5348)

Co-authored-by: Larissa Wandzura <126723338+lwandz13@users.noreply.github.com>
2025-10-23 21:31:13 +00:00
grafana-delivery-bot[bot]
7bbc1174d5 [release-12.2.2] pkg/build: Add nocgo option (#112882)
pkg/build: Add nocgo option (#112834)

Add nocgo option

(cherry picked from commit 2a0f149a63)

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2025-10-23 16:25:20 +00:00
grafana-delivery-bot[bot]
c94396d80a [release-12.2.2] Dashboards: Return the correct model in openapi spec (#112872)
Return the correct model (#112858)

(cherry picked from commit 0ba040e866)

Co-authored-by: Selene <selenepinillos@gmail.com>
2025-10-23 17:59:22 +02:00
grafana-delivery-bot[bot]
a46fcfc0c6 [release-12.2.2] Table: Update ad-hoc filter to use name instead of displayName (#112817) 2025-10-23 08:59:28 -04:00
grafana-delivery-bot[bot]
9990c74ab2 [release-12.2.2] Remove hipchat alert notification details (#112807)
Co-authored-by: Irene Rodríguez <irene.rodriguez@grafana.com>
2025-10-22 13:37:47 +00:00
grafana-delivery-bot[bot]
708fd7c6e8 [release-12.2.2] Docs: Added known limitations to SQL Expressions (#112760)
Docs: Added known limitations to SQL Expressions (#112676)

* initial new section creation

* added additional known limitations

* adding some clarification

(cherry picked from commit e5627bcc67)

Co-authored-by: Larissa Wandzura <126723338+lwandz13@users.noreply.github.com>
2025-10-21 16:39:07 -05:00
grafana-delivery-bot[bot]
470edab706 [release-12.2.2] docs(alerting): clarify usage of templates in webhook custom payloads (#112755)
docs(alerting): clarify usage of templates in webhook custom payloads (#112672)

* docs(alerting): clarify usage of templates in webhook custom payloads

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



---------


(cherry picked from commit fb5c5411f8)

Co-authored-by: Pepe Cano <825430+ppcano@users.noreply.github.com>
Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>
2025-10-21 18:49:20 +00:00
grafana-delivery-bot[bot]
569738c316 [release-12.2.1] Alerting: Fix unmarshalling of GettableStatus to include time intervals (#112734)
Alerting: Fix unmarshalling of GettableStatus to include time intervals (#112602)

* move test files into test-data

* add test for the bug

* populate time-intervals of gettableStatus config

(cherry picked from commit 5f9a51418c)

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2025-10-21 13:27:31 -04:00
grafana-delivery-bot[bot]
c66f019dfc [release-12.2.1] Include author in patch creation (#112696)
Include author in patch creation (#112675)

Include author in security mirror

(cherry picked from commit ef2e62c852)

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2025-10-21 18:08:21 +02:00
grafana-delivery-bot[bot]
576d2e3cb5 [release-12.2.1] Tag / content discrepancy (#111889)
Co-authored-by: Clément Duveau <clement@duveau.eu>
2025-10-21 14:41:38 +00:00
github-actions[bot]
ef1a904cbe Release: 12.2.1 (#112736)
* Update changelog

* Update version to 12.2.1

---------

Co-authored-by: grafana-delivery-bot[bot] <grafana-delivery-bot[bot]@users.noreply.github.com>
2025-10-21 14:39:47 +00:00
Josh Hunt
563109b696 [release-12.2.1] CI: Remove OIDC debug step from npm publish (#112657)
CI: Remove OIDC debug step from npm publish (#112631)

(cherry picked from commit b0acfd1189)
2025-10-20 14:49:24 +00:00
linoman
f06bb75310 [release-12.2.1] Backport 112615 to release 12.2.1 (#112636)
Update validation of non-provisioned users rejection (#112615)

* Update validation of non-provisioned users rejection

* Align tests

(cherry picked from commit 0e4237b775)
2025-10-20 13:30:27 +02:00
grafana-delivery-bot[bot]
64b98e9866 [release-12.2.1] docs(alerting) Add examples of high-cardinality alerts (#112633)
docs(alerting) Add examples of high-cardinality alerts (#112311)

* docs(alerting) Add examples of high-cardinality alerts

* minor intro edits

(cherry picked from commit 9e505ea2de)

Co-authored-by: Pepe Cano <825430+ppcano@users.noreply.github.com>
2025-10-20 13:12:51 +02:00
grafana-delivery-bot[bot]
d5732fe526 [release-12.2.1] Docs: Git Sync resource reqs (#112592)
Co-authored-by: Anna Urbiztondo <anna.urbiztondo@grafana.com>
Co-authored-by: Irene Rodríguez <irene.rodriguez@grafana.com>
2025-10-17 18:06:48 +02:00
grafana-delivery-bot[bot]
3d65272316 [release-12.2.1] Grammar: wrap in try/catch in case regex creation fails (#112600)
Grammar: wrap in try/catch in case regex creation fails (#112595)

* Grammar: wrap in try/catch in case regex creation fails

* Improve breadcrumbs

(cherry picked from commit bbb5322008)

Co-authored-by: Matias Chomicki <matias.chomicki@grafana.com>
2025-10-17 15:52:42 +00:00
grafana-delivery-bot[bot]
1029b8df35 [release-12.2.1] Docs: Manage multi-team access (#112500)
Co-authored-by: Anna Urbiztondo <anna.urbiztondo@grafana.com>
Co-authored-by: Jacob Valdez <jacob.valdez@grafana.com>
Co-authored-by: Irene Rodríguez <irene.rodriguez@grafana.com>
Co-authored-by: Sarah Constant <sarahleejane@users.noreply.github.com>
2025-10-16 09:11:02 +00:00
grafana-delivery-bot[bot]
4da7576d4e [release-12.2.1] Docs: Add batch_wait_duration and batch_size_bytes to usage insights Loki exporter (#112416)
Docs: Add batch_wait_duration and batch_size_bytes to usage insights Loki exporter (#112408)

* Docs: Add batch_wait_duration and batch_size_bytes to usage insights Loki exporter

* Run linter

(cherry picked from commit 1c614fdc9a)

Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
2025-10-15 10:35:27 +00:00
Mariell Hoversholm
e86240eb62 [release-12.2.1] Chore: Update Redis library to v9 (#112363) 2025-10-14 12:52:42 +02:00
Matheus Macabu
e6db6c929a [release-12.2.1] Go: Update to 1.25.3 (#112361)
Go: Update to 1.25.3
2025-10-14 10:23:35 +00:00
grafana-delivery-bot[bot]
b1f5d62c38 [release-12.2.1] Logs context: fix position on small viewports (#112343)
Logs context: fix position on small viewports (#112342)

(cherry picked from commit 6c726cf0ea)

Co-authored-by: Matias Chomicki <matias.chomicki@grafana.com>
2025-10-13 16:27:28 +00:00
grafana-delivery-bot[bot]
9bb79a0e8e [release-12.2.1] TimeSeries: Fix memory leak with boolean fields (#112290)
TimeSeries: Fix memory leak with boolean fields (#112252)


(cherry picked from commit 248c20a6b6)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
Co-authored-by: Paul Marbach <paul.marbach@grafana.com>
2025-10-10 15:05:26 +00:00
grafana-delivery-bot[bot]
664a91dc84 [release-12.2.1] GenAI: Fix uncaught error when panel title is missing (#112286) 2025-10-10 13:51:16 +00:00
grafana-delivery-bot[bot]
6ae40fc592 [release-12.2.1] Docs: Clarify role assignment to users and teams when using terraform (#112261)
Co-authored-by: Vardan Torosyan <vardants@gmail.com>
2025-10-10 09:04:32 +00:00
grafana-delivery-bot[bot]
208eb881d6 [release-12.2.1] Docs: Adding new entry to 12.2 whats new (#112235)
Docs: Adding new entry to 12.2 whats new (#112234)

(cherry picked from commit 5eb295d850)

Co-authored-by: Jacob Valdez <jacob.valdez@grafana.com>
2025-10-09 17:20:17 +00:00
grafana-delivery-bot[bot]
05e3befe99 [release-12.2.1] Auth: Fix render user OAuth passthrough (#112092)
Auth: Fix render user OAuth passthrough (#111636)

* devenv: fix volumes section when sources don't contain one

* wip

* Working correctly with improvedExternalSessionHandling on

* Remove not needed lines

* Working with the old flow, tests

* Handle compatibility with the feature toggle, tests wip

* Tests

* Cleanup

* Address feedback

* Align tests

* Add comment

* Fix issue with session removal after the invalidation of tokens

* Remove commented out code

* clean up

(cherry picked from commit 53f4803e98)

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
2025-10-09 15:47:18 +02:00
grafana-delivery-bot[bot]
b3551d6d0d [release-12.2.1] Explore: Add missing height to logs in Explore (#112177)
Explore: Add missing height to logs in Explore (#112176)

* Explore: Add missing height to logs in Explore

* Add max height to controlled log rows

(cherry picked from commit a0fc683a67)

Co-authored-by: Matias Chomicki <matias.chomicki@grafana.com>
2025-10-08 18:42:10 +02:00
grafana-delivery-bot[bot]
46f2c100e0 [release-12.2.1] Docs: Clarify RBAC availability in documentation (#112173)
Co-authored-by: Irene Rodríguez <irene.rodriguez@grafana.com>
2025-10-08 15:20:24 +00:00
Matheus Macabu
d690b06941 [release-12.2.1] Go: Update to 1.25.2 + golangci-lint v2.5.0 + golang.org/x/net v0.45.0 (#112156)
* Go: Update to 1.25.2

* golangci-lint: Update to 2.5.0

* Dependencies: Bump golang.org/x/net to v0.45.0

* Fix broken feature toggle test
2025-10-08 15:00:14 +02:00
Pepe Cano
37eeb82b5c [release-12.2.1] docs(alerting): Email contact point enhancements (#112121)
docs(alerting): Email contact point enhancements (#111944)

* docs(alerting): Email contact point enhancements

* minor content tweaks

(cherry picked from commit 5438df01a1)
2025-10-08 05:12:10 +02:00
grafana-delivery-bot[bot]
2a12896e81 [release-12.2.1] DOCS: Amazon CloudWatch data source docs revmp (#112132)
DOCS: Amazon CloudWatch data source docs revmp (#109945)

* started new configure doc

* updates to the configure doc

* worked on variables doc

* made edits

* query editor edits

* query editor updates

* continued with updates

* added updates

* additional updates, rewrite of auth doc

* finished query editor updates

* cleaned up the intro doc, added ref URIs to other docs

* some final edits

* more edits prior to PR creation

* ran prettier, added a screenshot

* linter fixes

* updates based on questions doc

* ran prettier

* updates based on feedback

* made more edits based on feedback

* more updates based on feedback

* updates based on feedback

* moved alerting under logs

* ran prettier

(cherry picked from commit 725a91e9eb)

Co-authored-by: Larissa Wandzura <126723338+lwandz13@users.noreply.github.com>
2025-10-07 19:40:19 +00:00
Paul Marbach
10fe7d04e9 [release-12.2.1] Table: Backport the Safari 26 fixes to 12.2.1 (#111906)
* [release-12.2.1] Table: Disable virtualization, hover overflow, and scrollbar width resizing on Safari 26 (#111834)

* Table: Disable virtualization, hover overflow, and scrollbar width resizing on Safari 26

* pull obj def out of method

* [release-12.2.1] Table: Avoid overflow issues in Safari 26 (#111858)
2025-10-07 11:08:14 -04:00
grafana-delivery-bot[bot]
0c5602dd10 [release-12.2.1] Docs: Last note for GitSync for ObsCon (#112085)
Co-authored-by: Anna Urbiztondo <anna.urbiztondo@grafana.com>
2025-10-07 16:50:31 +02:00
grafana-delivery-bot[bot]
0be513c593 [release-12.2.1] Docs: Git Sync - Tim's feedback (#112104)
Docs: Git Sync - Tim's feedback (#112098)

* Feedback

* Prettier

(cherry picked from commit 96b5f63711)

Co-authored-by: Anna Urbiztondo <anna.urbiztondo@grafana.com>
2025-10-07 15:08:42 +02:00
grafana-delivery-bot[bot]
89be22e8e8 [release-12.2.1] Prometheus: Prom Azure and AWS auth with mig info (#112072)
Prometheus: Prom Azure and AWS auth with mig info (#111142)

* docs for prom type mig

* andreas feedback

* update scripts and add forward settings issue

* make links internal

* prettier

* Update docs/sources/datasources/prometheus/configure/aws-authentication.md



* Update docs/sources/datasources/prometheus/configure/aws-authentication.md



* Apply suggestions from code review



* Update docs/sources/datasources/prometheus/configure/aws-authentication.md

* Apply suggestions from code review

* Update docs/sources/datasources/prometheus/configure/azure-authentication.md

* feedback

* prettier

* clarify the revert script is only for self-hosted

* Update docs/sources/datasources/prometheus/configure/aws-authentication.md



* Apply suggestions from code review



---------


(cherry picked from commit 96c24bc64c)

Co-authored-by: Andrew Hackmann <5140848+bossinc@users.noreply.github.com>
Co-authored-by: Larissa Wandzura <126723338+lwandz13@users.noreply.github.com>
2025-10-06 16:53:54 -05:00
grafana-delivery-bot[bot]
52843f360e [release-12.2.1] Docs: Fixed a broken link on the Intro to Exemplars page (#112068)
Co-authored-by: Larissa Wandzura <126723338+lwandz13@users.noreply.github.com>
Co-authored-by: Irene Rodríguez <irene.rodriguez@grafana.com>
Fixed a broken link on the Intro to Exemplars page (#112025)
2025-10-06 17:24:56 +02:00
grafana-delivery-bot[bot]
623e927983 [release-12.2.1] Docs: OaC/Git Sync updates for Obs Con (#112066)
Co-authored-by: Anna Urbiztondo <anna.urbiztondo@grafana.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2025-10-06 15:18:02 +00:00
Jacob Valdez
e188650524 [release-12.2.1] Update index.md (#112028) (#112064)
Co-authored-by: Michael Lamb <michael@michaellamb.dev>
2025-10-06 09:29:22 -05:00
Josh Hunt
aa00229a8b [release-12.2.1] NPM: Backport NPM publishing from main (#112000)
* Backport npm publishing workflow from main

* Ignore false-cjs in validate-npm-packages

(cherry picked from commit 6916b39439)
(cherry picked from commit 1aba469bab)

* Ignore untyped-resolutions for grafana-i18n in validate-npm-packages

(cherry picked from commit b250fe8d22)
2025-10-06 13:51:48 +01:00
grafana-delivery-bot[bot]
cda0661803 [release-12.2.1] Influx: Improve variable regex handling (#111941)
Influx: Improve variable regex handling (#111853)

(cherry picked from commit b50737a76c)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2025-10-03 15:22:19 +01:00
grafana-delivery-bot[bot]
5ebd75d3fb [release-12.2.1] docs(alerting): add settings for alert evaluation backoff retries (#111973)
docs(alerting): add settings for alert evaluation backoff retries (#111891)

* docs(alerting): add settings for alert evaluation backoff retries

* docs(alerting): add mention of backoff settings on the Error state docs

* fix vale prose

(cherry picked from commit 6248971d1e)

Co-authored-by: Pepe Cano <825430+ppcano@users.noreply.github.com>
2025-10-03 11:34:44 +02:00
Pepe Cano
71b3906cf8 [release-12.2.1] docs(alerting): alertingSaveStateCompressed is enabled by default (#111972)
* docs(alerting): `alertingSaveStateCompressed` is enabled by default (#111897)

(cherry picked from commit 7ed46fd321)

* update feature flag default state
2025-10-03 10:54:18 +02:00
grafana-delivery-bot[bot]
2ea9a8a6ed [release-12.2.1] Chore: Update on-prem stable release dates (#111953)
Chore: Update on-prem stable release dates (#111909)

* baldm0mma/ update release dates

* Update docs/sources/upgrade-guide/when-to-upgrade/index.md



---------


(cherry picked from commit 2f3c503182)

Co-authored-by: Jev Forsberg <46619047+baldm0mma@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2025-10-02 10:10:28 -06:00
grafana-delivery-bot[bot]
fdd99e9653 [release-12.2.1] Docs: Add panel options section to dashboard settings (#111947)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2025-10-02 15:21:16 +00:00
grafana-delivery-bot[bot]
03f738ea1d [release-12.2.1] Doc: Filter by value update (#111886)
* Doc: Filter by value update (#111881)

doc(transformation): filter by value

---------

Co-authored-by: Ihor Yeromin <yeryomin.igor@gmail.com>
2025-10-02 11:17:20 +02:00
grafana-delivery-bot[bot]
547c496b2d [release-12.2.1] [InfluxDB]: Remove version notices (#111850) 2025-09-30 15:11:07 -06:00
grafana-delivery-bot[bot]
0594304843 [release-12.2.1] LDAP Authentication: Fix URL to propagate username context as parameter (#111849)
LDAP Authentication: Fix URL to propagate username context as parameter (#111723)

Fix URL to propagate username context as parameter

(cherry picked from commit 7055ba9140)

Co-authored-by: Bradley <12028233+bradleypettit@users.noreply.github.com>
2025-09-30 17:08:04 -04:00
grafana-delivery-bot[bot]
57d0237fda [release-12.2.1] Plugins: Dependencies do not inherit parent URL for preinstall (#111769)
Plugins: Dependencies do not inherit parent URL for preinstall (#111762)

dependencies dont inehrit parent url for preinstall

(cherry picked from commit 073338ec29)

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2025-09-30 15:05:02 +01:00
grafana-delivery-bot[bot]
87fa31e57b [release-12.2.1] Geomap: Fix duplicated data links (#111772) 2025-09-30 08:21:39 -05:00
grafana-delivery-bot[bot]
26359899d5 [release-12.2.1] feat(ci): Allow overriding runs-on for publish-artifact workflow (#111765)
feat(ci): Allow overriding runs-on for publish-artifact workflow (#111695)


(cherry picked from commit ffe85d7c7e)

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
Co-authored-by: Dave Henderson <dave.henderson@grafana.com>
2025-09-29 12:39:54 -05:00
grafana-delivery-bot[bot]
b841dfa2bc [release-12.2.1] Documentation Node graph broken link (#111757)
Co-authored-by: Jara Suárez de Puga García <jara.suarezdepuga@grafana.com>
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
2025-09-29 12:04:41 -04:00
grafana-delivery-bot[bot]
e675b6a032 [release-12.2.1] Docs: provisioning fix (#111749)
Co-authored-by: Anna Urbiztondo <anna.urbiztondo@grafana.com>
fix (#111744)
2025-09-29 16:05:32 +02:00
grafana-delivery-bot[bot]
271f268d68 [release-12.2.1] Docs: Edits to OaC/Git Sync (#111732)
Co-authored-by: Anna Urbiztondo <anna.urbiztondo@grafana.com>
Co-authored-by: Irene Rodriguez <irene.rodriguez@grafana.com>
2025-09-29 12:25:40 +02:00
grafana-delivery-bot[bot]
b059912f7d [release-12.2.1] Refactor SCIM provisioning documentation (#111731)
Co-authored-by: Irene Rodríguez <irene.rodriguez@grafana.com>
2025-09-29 12:20:30 +02:00
John Troy
24df78fb4e [release-12.2.1] Docs: Fix broken links in SAML docs (#111693)
Docs: Fix broken links in SAML docs (#111039)

* Rename this heading to match the link in 'Request Initiation'

* Fix link to 'Configure SAML using the Grafana configuration file' and make the link text match

(cherry picked from commit 004f30fcb7)
2025-09-26 20:16:15 +02:00
grafana-delivery-bot[bot]
dcbbf64aa0 [release-12.2.1] Docs: Marking the image renderer plugin as deprecated (#111670)
Co-authored-by: Jacob Valdez <jacob.valdez@grafana.com>
2025-09-26 14:14:03 +02:00
grafana-delivery-bot[bot]
ce8c46fb91 [release-12.2.1] Docs: Fix link reference in Generic OAuth documentation (#111656)
Co-authored-by: Andrew Hackmann <5140848+bossinc@users.noreply.github.com>
Fix link reference in Generic OAuth documentation (#111647)
2025-09-26 11:20:03 +02:00
grafana-delivery-bot[bot]
0f8f5c86ef [release-12.2.1] FlameGraph: Ensure total is only counted once for recursive function calls (#111606)
FlameGraph: Ensure total is only counted once for recursive function calls (#111548)

grafana-flamegraph: Ensure total is only counted once for recursive function calls

Example flamegraph: https://flamegraph.com/share/2bb59df3-9930-11f0-94ec-760777e76ccd

(cherry picked from commit c5f6318b7b)

Co-authored-by: Christian Simon <simon@swine.de>
2025-09-26 10:39:43 +02:00
grafana-delivery-bot[bot]
111c53f9fd [release-12.2.1] Docs: Update saved queries feature availability details (#111644)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2025-09-25 15:46:29 -04:00
grafana-delivery-bot[bot]
cc8928a6a7 [release-12.2.1] DOCS: FIx broken link on RBAC for app plugins page (#111633)
DOCS: FIx broken link on RBAC for app plugins page (#111574)

fixed incorrect RefURI

(cherry picked from commit 0bf37742f1)

Co-authored-by: Larissa Wandzura <126723338+lwandz13@users.noreply.github.com>
2025-09-25 10:56:36 -05:00
grafana-delivery-bot[bot]
46956a2997 [release-12.2.1] Fix grafanactl resource pull command syntax (#111608)
Co-authored-by: Irene Rodríguez <irene.rodriguez@grafana.com>
Fix grafanactl resource pull command syntax (#111465)
2025-09-25 14:49:17 +02:00
grafana-delivery-bot[bot]
af460952d5 [release-12.2.1] Chore: Fix @grafana/alerting package repo (#111532)
Chore: Fix @grafana/alerting package repo (#110939)

(cherry picked from commit ab3c93b279)

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2025-09-24 10:13:31 +01:00
Kevin Minehart
3a8bff55cd update missing npm publish scripts 2025-09-23 10:30:24 -05:00
Kevin Minehart
7223130454 update release-npm and validate script 2025-09-23 09:54:45 -05:00
grafana-delivery-bot[bot]
d53bf3d740 [release-12.2.1] docs: reorder whats new posts and include plugin translation (#111484)
Co-authored-by: Jacob Valdez <jacob.valdez@grafana.com>
2025-09-23 16:40:33 +02:00
Jacob Valdez
6a046831fc Docs: What's new and Upgrade guide v12.2 (#110727) (#111472) 2025-09-23 13:55:49 +02:00
grafana-delivery-bot[bot]
9b4414de27 Release: Bump version to 12.2.1 (#111415)
bump version 12.2.1

Co-authored-by: grafana-delivery-bot[bot] <grafana-delivery-bot[bot]@users.noreply.github.com>
2025-09-19 14:00:37 -05:00
Josh Hunt
c7b629d3bc [release-12.2.1] CI: Backport release-npm.yml (#111396)
backport release-npm.yml from main
2025-09-19 18:31:47 +01:00
grafana-delivery-bot[bot]
bbd19baaaf [release-12.2.1] Dashboards: Fix missing Ctrl+O keyboard shortcut for crosshair toggle (#111402)
Dashboards: Fix missing Ctrl+O keyboard shortcut for crosshair toggle (#111310)

* Dashboard Scenes: Fix missing Ctrl+O keyboard shortcut for crosshair toggle

- Add missing mod+o keybind to dashboard scenes keyboard shortcuts
- Implement crosshair state cycling (Default -> Crosshair -> Tooltip -> Default)
- Add comprehensive unit tests for keyboard shortcuts functionality
- Add e2e test to verify shortcut works and prevents browser file dialog
- Fix ensures parity between legacy and scenes dashboard implementations

Fixes issue where Ctrl+O/Cmd+O was opening browser file dialog instead of
toggling shared crosshair modes in scenes-based dashboards.

* Remove waitForTimeout from e2e test

- Replace arbitrary timeouts with proper element waiting
- Use waitFor with visible state instead of setTimeout
- Improve test reliability and follow Playwright best practices

* Optimize e2e test for crosshair keyboard shortcut

- Remove unnecessary console logging and timeout settings
- Simplify assertions to only check the currently selected radio button
- Improve test performance by reducing DOM queries
- Focus on essential functionality verification

* Fix linting

(cherry picked from commit c0ce4ff1f2)

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
2025-09-19 16:21:15 +00:00
grafana-delivery-bot[bot]
5a2ab9b8b0 [release-12.2.1] Auth: Add SCIM settings permission to auth config writer role (#111398)
Auth: Add SCIM settings permission to auth config writer role (#111326)

* Auth: add SCIM settings permission to authentication config writer role

* make update-workspace

(cherry picked from commit 1ef27e9749)

Co-authored-by: colin-stuart <colindonstuart@gmail.com>
2025-09-19 10:46:31 -05:00
grafana-delivery-bot[bot]
d1bd29aa3b [release-12.2.1] Page limit config for dashboards with visible annotations (#111379)
Page limit config for dashboards with visible annotations (#110911)

* Page limit config for dashboards with visible annotations



---------


(cherry picked from commit 77fa3333e4)

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
Co-authored-by: maicon <maiconscosta@gmail.com>
2025-09-19 11:10:55 -03:00
grafana-delivery-bot[bot]
7d205c7dee [release-12.2.1] CI: Fix NPM workflow inputs (#111350)
Fix referring to inputs (#111345)

(cherry picked from commit 1d6c1da94f)

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2025-09-18 23:16:26 +01:00
Kevin Minehart
e5a98c3c43 [release-12.2.1] backport bump-version.yml and release-build.yml (#111341)
* [release-12.2.1] backport bump-version.yml and release-build.yml

* add release-npm.yml
2025-09-18 16:57:08 -05:00
grafana-delivery-bot[bot]
50403b38d6 [release-12.2.1] Chore: Improve short url redirection (#111183)
Chore: Improve short url redirection (#111162)

Improve short url redirection

(cherry picked from commit 81fe57478f)

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
2025-09-16 15:41:37 +02:00
grafana-delivery-bot[bot]
f6570f8123 [release-12.2.1] LDAP: Restore test user mapping functionality (#111120)
LDAP: Restore test user mapping functionality (#110841)

* Migrate LdapPage from connect() to React-Redux hooks

* Convert LDAP debug page into a drawer and hook it into settings

* prettier

* Use the Text component and make the input and button look like they do on the main settings page.

* Bring back isLoading and put in a LoadingPlaceholder

* i18n-extract

* rejigger

* linter fix

(cherry picked from commit 585b53bc7d)

Co-authored-by: John Troy <jtroy@users.noreply.github.com>
2025-09-15 15:28:00 -04:00
grafana-delivery-bot[bot]
c5cf9ff393 [release-12.2.1] Chore: bump axios to a version without CVE (#111110)
Chore: bump `axios` to a version without CVE (#111076)

bump axios to a version without CVE

(cherry picked from commit 7bba151416)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-09-15 16:25:52 +01:00
Adela Almasan
9738c198b9 [release-12.2.1] Actions: Add permission check to missing panels (#111103) 2025-09-15 09:54:27 -05:00
Luminessa Starlight
06bf567e1c [release-12.2.1]: Accessibility: enable responsive reflow of variables in dashboard edit (#111033)
Accessibility: enable responsive reflow of variables in dashboard edit (#110967)

enable responsive reflow of variables in dashboard edit
2025-09-15 10:46:58 -04:00
Ashley Harrison
c68d3a2ffa Geomap: Only prefix with grafana public path if relative url (#111081) (#111106)
only prefix with grafana public path if relative url
2025-09-15 15:42:47 +01:00
grafana-delivery-bot[bot]
59cc00b07e [release-12.2.1] Fix: Fix redirection after login when Grafana is served from subpath (#111069)
Fix: Fix redirection after login when Grafana is served from subpath (#110889)

Fix short link (/goto) redirection when Grafana is served from subpath

(cherry picked from commit ccc87a03f0)

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
2025-09-15 16:39:21 +02:00
Paul Marbach
8ce2c2d3eb [release-12.2.1] Table: Fix logic to calculate footer height (#110954) (#111107)
Table: Fix logic to calculate footer height (#110954)

* Table: Fix logic to calculate footer height

* add non-numeric footer case to gdev

* Update packages/grafana-ui/src/components/Table/TableNG/utils.ts



* Update packages/grafana-ui/src/components/Table/TableNG/TableNG.tsx



---------


(cherry picked from commit cb37539ed7)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2025-09-15 09:37:08 -05:00
Paul Marbach
987573a17c [release-12.2.1] Table: Restore previous footer behavior of reducers applying to filtered data (#111041) (#111109)
Table: Restore previous footer behavior of reducers applying to filtered data (#111041)

* Table: Restore previous footer behavior of reducers applying to filtered data

* update e2e to match new behavior

(cherry picked from commit f258d8a417)
2025-09-15 09:36:55 -05:00
Kevin Minehart
49f78c15e8 [release-12.2.0] CI: fix bump version action to use grafana-delivery-bot (#110976) (#110981)
CI: fix bump version action to use grafana-delivery-bot (#110976)

* update bump-version

* Add id-token: write

* update generate-token step

* pull-requests -> pull_requests

* clone with token and set right name

(cherry picked from commit c28a917871)
2025-09-11 15:47:47 -05:00
grafana-delivery-bot[bot]
76340a9741 [release-12.2.0] Alerting: Fix bug where rules with identical mute/active intervals produced conflicting routes (#110971)
Alerting: Fix bug where rules with identical mute/active intervals produced conflicting routes (#110935)

Alerting: Fix hash collision in NotificationSettings fingerprint
(cherry picked from commit fc3636acf2)

Co-authored-by: Alexander Akhmetov <me@alx.cx>
2025-09-11 19:44:08 +02:00
Isabel Matwawana
b15acdf1f2 [release-12.2.0] Docs: ad hoc filter improvements (#110961) 2025-09-11 12:15:52 -04:00
Isabel Matwawana
ca8402fbda [release-12.2.0] docs: clarify that data links must use variable names, not labels (#110965)
Co-authored-by: Sidharth Chauhan <chauhansiddharth71@gmail.com>
2025-09-11 12:09:51 -04:00
Isabel Matwawana
abb44794fe [release-12.2.0] Docs: Replace screenshots for pill and markdown cells (#110962) 2025-09-11 12:03:56 -04:00
Isabel Matwawana
c228eaa99d [release-12.2.0] Docs: Add panel filtering (#110960)
Co-authored-by: Sam Jewell <2903904+samjewell@users.noreply.github.com>
2025-09-11 11:59:24 -04:00
Larissa Wandzura
f41cc1c0d6 created new doc 2025-09-11 10:03:36 -05:00
Larissa Wandzura
b557d71c9a Merge branch 'docs/sql-expressions-updates-082025' of github.com:grafana/grafana into docs/sql-expressions-updates-082025
(cherry picked from commit b0bfbbf547)
2025-09-11 10:01:19 -05:00
Will Browne
e404352a38 Plugins: StaticFS should implement FSRemover (#110706) (#110943)
make staticfs implement fs removal interface
2025-09-11 14:44:47 +01:00
Josh Hunt
454380431d FS: Get CDN prefix from configuration (#110615)
* FS: Get CDN prefix from configuration

* undo logger change

* fix tests

* add unused property

* tests

* fix tests

* remove dead comment
2025-09-08 15:57:03 +00:00
Ihor Yeromin
2f2950eb29 Tests: Move Canvas tests to panel folder and add testing README (#110768)
* chore(e2e-tests): move canvas tests to panels
2025-09-08 17:52:10 +02:00
Ashley Harrison
a95f556e24 Chore: Remove some anys (#110661)
* removing some (hopefully) dead code

* fix some more any

* more any fixes

* manually add suppressions

* remove type assertion

* couple more
2025-09-08 16:49:57 +01:00
Ryan McKinley
7c95d3c8a9 Folders: Split legacy out of folder.Service (and remove folder.FolderStore) (#110734) 2025-09-08 18:27:49 +03:00
Andrew Hackmann
854a8f7e70 Prometheus data source: Remove migration background service (#110764)
Prometheus data source: remove mig bg service
:
2025-09-08 14:55:05 +00:00
Oscar Kilhed
ed69a1f16d Dashboards: Fix UTF-8 characters not working with excel downloads by replacing download for excel with excel compatibility mode. (#110099)
* convert to utf-16le

* Fix tests, remove download for excel

* update i18n

* Update copy

* update test
2025-09-08 16:23:06 +02:00
Zoltán Bedi
67c26c493e PostgreSQL: Fix error source in PGX (#110752) 2025-09-08 16:21:05 +02:00
Fayzal Ghantiwala
22ed5499a2 Alerting: Check if TimeInterval is used in ActiveTimings when deleting (#110691)
* check for active timing in route

* Update test

* Add integration test
2025-09-08 15:04:40 +01:00
Peter Štibraný
7fd9ab9481 Replace check for integration tests. (#110707)
* Replace check for integration tests.
* Revert changes in pkg/tsdb/mysql packages.
* Fix formatting of few tests.
2025-09-08 15:49:49 +02:00
Ashley Harrison
544872d117 Dashboard: revert variable css changes (#110684)
revert variable css changes
2025-09-08 14:33:34 +01:00
Dominik Broj
2e9432b9d5 Alerting: allow hiding alert rule column in CentralAlertHistoryScene (#110746)
allow hiding alert rule column
2025-09-08 15:00:21 +02:00
Misi
badea8bc37 IAM: Create Service Account API and legacy store impl (#110411)
* wip

* IAM: Create Service Account

* Add dual writer

* Update openapi_test.go

* Add integration tests

* Add sql tests

* Add Role to SA spec, add validation, add DBTime, add tests

* Format, update test

* Fixes

* Add check for External

* Address feedback

* Update tests

* Address feedback

* make gen-go

* Simplify a bit

* Fixes

* make update-workspace

* Update pkg/registry/apis/iam/serviceaccount/store.go

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

* Address feedback, add test for generateName

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2025-09-08 14:31:32 +02:00
Hugo Häggmark
8a28381278 Chore: cleans up Angular tests (#110757) 2025-09-08 14:16:08 +02:00
Roberto Jiménez Sánchez
ace05e999d Provisioning: Remove temporary logic to test clients in jobs operator (#110758)
Remove temporary logic to test clients in jobs operator
2025-09-08 12:15:13 +00:00
Torkel Ödegaard
958f5a7c52 Dashboard: Panel edit undo/redo and other edit actions should trigger repeat of grid/auto items (#110606)
* Panel edit undo-redo

* Update

* Update

* fix lint & test

* Try switching to source tab

* Added temp fix for old editing ux

* Update
2025-09-08 14:06:37 +02:00
renovate[bot]
3c5c6b8185 Update dependency @floating-ui/react to v0.27.16 (#110715)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-08 13:06:18 +02:00
Peter Štibraný
d09708fe55 Move SkipIntegrationTestInShortMode to testutil. (#110750)
* Move SkipIntegrationTestInShortMode to testutil.

* make update-workspace
2025-09-08 12:50:31 +02:00
Ryan McKinley
08230cbc09 Chore: Remove unused bus.Bus events (#110738) 2025-09-08 10:47:16 +00:00
Hugo Häggmark
bc843913e4 Chore: Removes HideAngularDeprecation configuration (#110665)
* Chore: cleans up HideAngularDeprecation

* Trigger build
2025-09-08 12:39:01 +02:00
Alex Khomenko
7020bdd7e1 Restore dashboards: Update cache invalidation (#110702)
* Restore dashboards: Update cache invalidation

* Delete unused component

* Update i18n

* Restore analytics toggle
2025-09-08 13:32:07 +03:00
Zoltán Bedi
d9f0d642cc PostgreSQL: PGX fix multiple results handling (#110452)
* PostgreSQL: FIx multiple results handling

- Added tests for handling multiple result sets, including compatible and incompatible structures, ensuring no panics occur.
- Improved `convertResultsToFrame` function to validate column compatibility and handle null values correctly.
- Introduced a new helper function `convertPostgresValue` for converting raw PostgreSQL values to appropriate Go types.
- Added comprehensive unit tests for `convertResultsToFrame` covering various scenarios including row limits and mixed result types.

* Add more test case
2025-09-08 10:37:54 +02:00
Tobias Skarhed
7bccabfb1f Secrets: Add e2e selectors (#110689)
* Add e2e selectors for secrets and ConfirmModal

* Update secretform selector
2025-09-08 08:02:11 +00:00
Mariell Hoversholm
4497af20b2 docs: fix Prometheus provisioning example (#110747) 2025-09-08 09:48:04 +02:00
Levente Balogh
2f558e8cb7 Grafana Schema: Extend the VariableHide enum (#110579)
* feat: extend the `VariableHide` enum with a new option

* feat: extend the `VariableHide` for v1
2025-09-08 09:08:09 +02:00
Hugo Häggmark
1fd4611487 Plugin Extensions: refactors shared logic into validator function (#110434)
* Plugin Extensions: consolidate logic

* chore: add specific error to tests

* chore: refactors out common parts to getExtensionValidationResults

* chore: updates after PR feedback

* chore: update after PR feedback
2025-09-08 06:22:27 +02:00
Drew Slobodnjak
23fa9a1484 TimeSeries: Use exported time shift and fix time comparison tooltip (#109947)
* TimeSeries: Use exported time comparison function

* Add alignTimeRangeCompareData to grafana/data

* Simplify tooltip time text formatting

* Bump scenes version

* Add tests for alignTimeRangeCompareData

* Add backwards compatibility for older scenes

* Update shouldAlignTimeCompare for typical query

* Fix tooltip for older versions of scenes

* support for multiple shifts

---------

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2025-09-06 18:24:42 -07:00
Daniele Stefano Ferru
76f7836419 Provisioning: correctly use resource clients in controllers (#110737)
* Provisioning: correctly use resource clients in controllers

* better names on fields

* fix struct initialisation

* updating roundtripper tests
2025-09-06 18:13:39 -06:00
Ryan McKinley
6f3d2106c0 Chore/Folders: Add authlib client to wire and cleanup (#110683) 2025-09-06 12:14:09 +03:00
owensmallwood
c072ace9cd Unified Storage: Fix enterprise sort fields missing data (#110730) 2025-09-06 11:13:29 +03:00
grafana-pr-automation[bot]
0df8e42f4e I18n: Download translations from Crowdin (#110731)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-09-06 00:36:42 +00:00
Matthew Jacobson
d21178e348 Alerting: Fix field names on webhook HMAC/TLS config HCL export (#110722)
tlsConfig -> tls_config
hmacConfig -> hmac_config

tls_config export still does not match TF provider, as the provider currently
treats tls_config as a schemaless map. Once this is improved, they will now
match.
2025-09-05 19:58:11 -04:00
Daniele Stefano Ferru
04c3d9bff1 Provisioning: fixing some checks in config (#110729) 2025-09-05 23:27:35 +00:00
Mihai Turdean
62cc0f9c0e Udate IAM Folder Reconciler Operator config (#110728) 2025-09-05 22:56:23 +00:00
Kevin Yu
e3e0a1b8ca CloudWatch: Use the correct metric name for errors per function panel in the AWS Lambda sample dashboard (#110718)
CloudWatch: Use the correct metric name for errors per function panel
2025-09-05 17:01:56 -04:00
Will Assis
005da25698 fix: ListManagedObjects and CountManagedObjects panic when search is not configured (#110726)
fix ListManagedObjects and CountManagedObjects panicking when search index not configured
2025-09-05 20:58:12 +00:00
Stephanie Hingtgen
2750a3516a Provisioning: Add provisioning api server to clients (#110721) 2025-09-05 20:36:52 +00:00
Isabel Matwawana
d58b8aff7b Docs: Add saved queries content (#101845) 2025-09-05 16:36:16 -04:00
Andrew Hackmann
9445328a59 Prometheus data source: Migration service (#107364)
* copying from secrets migration

* service runs and mig promds type

* creating data source check

* adding aws

* split into azure/aws service. feature flag. auto install

* add tests

* clean up

* lint

* add code owner

* imporvments from andres

* remove prom mig from http_server

* remove interface for testing

* add prom mig to provisining data sources so prov happens before mig

* fit into prov

* comment

* log debug instead of returning in update type

* Trigger Build

* feature flag being weird

* not public method

* copying from secrets migration

* service runs and mig promds type

* creating data source check

* adding aws

* add tests

* clean up

* imporvments from andres

* remove prom mig from http_server

* remove interface for testing

* add prom mig to provisining data sources so prov happens before mig

* fit into prov

* Trigger Build

* not public method

* remove logger import
2025-09-05 15:07:06 -05:00
Paul Marbach
7cbc55d615 Table: Update UX for uniform-reducer case in new footer and overflow (#110493)
* Table: Update UX for single-reducer use case in new footer

* all cases are working; unit tests pass

* style and code cleanup in SummaryCell

* remove e2e test for sum reducer label

* reorganize code, todo tests

* slight style cleanup

* one more little reorganization

* updates based on CI failures

* update tests and docs

* unused prop

* update table footer image

* alt text, lint issue

* update gdev to create footer dashboard and re-point e2es there, add a few new cases

* remove console.log
2025-09-05 15:46:07 -04:00
Andres Torres
f9e82aba9c chore(rbac): Remove settings resources mappings (#110708) 2025-09-05 18:56:09 +00:00
Roberto Jiménez Sánchez
ed2273b2d2 Provisioning: processing of jobs in job controller (#110223)
* WIP: Controller

* WIP: more changes

* Use patcher from new location

* Separate import

* Move operators to grafana/grafana

* Tidy go mod

* Remove duplicate TODO

* Wrapper for unified storage

* WIP: build unified storage client

* More attempts

* Revert update workspace

* Improve comment

* Fix linting

* Change signature of repository getter

* Add ticket numbers

* Remove question

* Read config from file for decrypt service

* Config struct for unified torage

* Add local config

* Fix compilation

* Try to configure it

* Fix linting

* Add FIXME comment

* Move reusable logic into controller config

* Remove unused

* More logic to be reused

* Extract workers into separate function

* Clean up unified storage client

* Revert a couple of files

* Remove secrets decrypter from this PR

* Revert enterprise imports

* Clean up unified storage setup logic

* Add TODO

* Revert some changes

* Remove file

* Use the expected clients

---------

Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-09-05 18:28:31 +00:00
Zoltán Bedi
8e8c36203f Add support for PostgreSQL enum types in PGX datasource (#109863) 2025-09-05 20:24:54 +02:00
Roberto Jiménez Sánchez
e2913815d3 Provisioning: Build resource clients for operators (#110699)
---------

Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-09-05 17:52:57 +00:00
Matias Chomicki
46258ac2c1 Log Controls: Add dropdown menu for timestamp and line wrapping (#110698)
* LogListControls: add dropdown menu for timestamps

* LogListControls: add dropdown menu for line wrapping

* Update styles

* Translations

* Update tests

* Update test

* LogListControls: all events
2025-09-05 17:43:34 +00:00
owensmallwood
dc1c5a610c Unified Storage: Fix broken tests (#110710)
fix broken tests
2025-09-05 17:19:13 +00:00
colin-stuart
0f54622db7 SCIM: Add logo (#110621)
* SCIM: add logo

* remove accidentally committed logo
2025-09-05 11:53:30 -05:00
Yunwen Zheng
24107abea3 SaveProvisionedDashboardForm: Reset dashboard dirty state after provisioned dashboard save (#110571)
* SaveProvisionedDashboardForm: Bugfix when changes are saved, save button still enabled
2025-09-05 12:06:52 -04:00
owensmallwood
d715bda8af Unified Storage: Adds pruner to kv backend (#110549)
* WIP adding pruner to kv store impl

* pruner only keeps 20 most recent versions

* ignore grafana-kv-data folder

* extracts some stuff to pruner.go file. Adds tests. Adds kvBackendOptions.

* update logging, comments, exports kvbackendoptions fields

* update nooppruner ref

* fixes field casing in test

* fix test

* linter fixes

* remove comment

* make KvStorageBackend private

* Adds pruner key validation and tests. Fixes broken tests.

* update error message when validating pruner key
2025-09-05 10:02:11 -06:00
Sonia Aguilar
f0095d84e3 Alerting: Load labels in drop-downs without blocking the interaction with the form inputs (#110648)
* load labels in dropdown async without blockig the interaction with labels inputs

* fix tests

* update translations

* remove fetchOptions unused property

* revert removing wrong lines

* Preferch rules for autocomplete and use caching

* use selectedKey for getting gops values

* revert removed lines

---------

Co-authored-by: Konrad Lalik <konradlalik@gmail.com>
2025-09-05 15:51:19 +00:00
Cory Forseth
02227855e8 Authz: propagate folder changes to Zanzana (#110599)
* wire sync hooks for folder create/update

* cleanup

* add hook tests

* fix nil context

* better context
2025-09-05 10:46:30 -05:00
Ieva
d692303e76 AuthZ: Deleting managed role permissions for a specified resource (#110617)
* basics for deleting managed role permissions for a specified resource

* fix the query

* fix query tests

* storage tests

* sql tests

* add missing import

* Update pkg/registry/apis/iam/resourcepermission/storage_backend.go

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

* PR feedback

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

---------

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2025-09-05 16:22:09 +01:00
Sarah Zinger
ba202ebab1 ds-querier: Handle top level datasourceuids (#110616) 2025-09-05 11:08:56 -04:00
Moustafa Baiou
a459d43746 Alerting: Refactor prometheus api functions
Make state and health filters public

Co-authored-by: William Wernert <william.wernert@grafana.com>
Co-authored-by: Fayzal Ghantiwala <fayzal.ghantiwala@grafana.com>
2025-09-05 10:59:16 -04:00
Yuri Tseretyan
ce55d70fa5 Alerting: Refactor notification legacy storage (#110619)
* make legacy store expose only model.Receiver
* use integration as provenance type provider
* use revision RenameReceiverInRoutes
* introduce function GetReceiversNames in config revision

---------

Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
2025-09-05 14:46:46 +00:00
Alex Khomenko
439fefeda8 Provisioning: Delete repo config when navigating away (#110655) 2025-09-05 17:32:26 +03:00
Stephanie Hingtgen
c4bc83019d Provisioning: Fix bug in config reading (#110703) 2025-09-05 14:30:43 +00:00
Bogdan Matei
3e14a48ebb Update swagger-ui-react to fix sha.js issues (#110696) 2025-09-05 14:04:17 +00:00
Bruno
9a641c651f secrets: update test to accept []byte(nil) and []byte{} (#110630)
Co-authored-by: Matheus Macabu <macabu.matheus@gmail.com>
2025-09-05 10:19:57 -03:00
Dominik Prokop
b4e63c36c3 Migration v42: HideFrom tooltip consistency migration (#110517)
* Migration to be verified: v42 HideFrom tooltip migration

* snap update

* make gen cue

* Add comments of 42 being the final version
2025-09-05 15:07:30 +02:00
Gabriel MABILLE
801fde02a7 grafana-iam: Implement resourcepermission creation (#110246)
* Extract from #108753

Co-Authored-By: mohammad-hamid <mohammad.hamid@grafana.com>

* Tackle create

Co-Authored-By: mohammad-hamid <mohammad.hamid@grafana.com>

* WIP use identity store to resolve role names

* WIP

* create role

* Remove unecessary comments

* comments

* sql templates

* test role insert tplt

* Add tests 😅

* Test permission insert template

* Test permission delete template

* Test assignment_insert template

* Manually test insertion

* Remove delete permissions. This is a create case we don't have permissions for that resource

* generate name handled by the apiserver library

* Remove comment and conversion

* Small renaming nits

* changes from main

* Add storage backend tests

* Add test to sql

* Test role contains a unique permission

* linting

* Account for pr feedback

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

* Reuse mappers

* Move function to models

* Add check between name and spec resource

* Check if the resource does not already exist

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

* fix query

* Check basic roles

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

* Account for error

* Make struct names consistent

* Nit. I prefer createAndAssignManagedRole

* Remove notifyign

* log errors instead of returning them

* Fix exist query join

* Test errors

* Remove dup

---------

Co-authored-by: mohammad-hamid <mohammad.hamid@grafana.com>
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2025-09-05 14:22:25 +02:00
maicon
726c7ba71b search: Force index IDX_dashboard_title when searching dashboards (#110595)
Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-09-05 08:34:29 -03:00
Peter Štibraný
bd529226a3 unified-storage search: return results matching all search terms (#110672)
* Extract common indexing code.

* Extract common search code.

* Match all terms in the search query.
2025-09-05 11:00:54 +00:00
Roberto Jiménez Sánchez
feb4368de5 Provisioning: Build unified storage client for operators (#110671)
* Build unified storage client in config
* Testing ticker to count managed objects
2025-09-05 10:51:51 +00:00
Alex Khomenko
647c1424d4 Restore dashboards: Clear cache when deleting or restoring dashboards (#110513)
* Restore dashboards: Clear cache when deleting or restoring dahboards

* More cache clearing
2025-09-05 13:03:13 +03:00
Ryan McKinley
9f7101e2ad Chore/Folders: reduce direct use of settings.Cfg (#110657) 2025-09-05 12:50:19 +03:00
Dominik Prokop
9920f4b437 DatasourceSrv: Fix getInstanceSettings for type-only datasource references (#110612)
• Add handling for type-only refs like {type: 'prometheus'} in getInstanceSettings()
• Ensure consistency with get() method behavior
• Add test case verifying both methods return same results for type-only refs
2025-09-05 11:30:13 +02:00
Hugo Häggmark
5eb42ece91 Chore: clean up angular related test (#110659) 2025-09-05 11:28:51 +02:00
Roberto Jiménez Sánchez
1b9e479b68 Provisioning: Abstract away how we build discovery and dynamic clients (#110662)
Abstract away how we get discovery and dynamic clients
2025-09-05 09:22:30 +00:00
grafana-pr-automation[bot]
6a54340501 I18n: Download translations from Crowdin (#110642)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-09-05 09:02:17 +00:00
Alex Khomenko
a8378af6ed Provisioning: Fix loading bitbucket branches (#110651)
* Provisioning: Fetch bitbucket branches

* reuse func

* Prettier
2025-09-05 07:42:43 +00:00
Alex Khomenko
f347bb4f61 Provisioning: Hide other providers if empty (#110652) 2025-09-05 07:16:07 +00:00
Ryan McKinley
eeb940e733 Chore: Replace hand crafted mocks with mockery (#110627) 2025-09-05 07:13:15 +00:00
Diego Giagio
554cd6f198 Postgres: Fix JSON data type mapping with PGX driver (#110566) 2025-09-05 08:39:56 +02:00
ismail simsek
5872672042 Prometheus: Properly handle no __name__ case on RawListItem (#110608)
* handle no __name__ case

* lint:prune

* Add nomargin

---------

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2025-09-05 06:17:51 +00:00
Stephanie Hingtgen
29ef525923 Provisioning: Allow disabling controllers (#110641) 2025-09-05 07:48:23 +02:00
Stephanie Hingtgen
9ddc70423b Provisioning: Cleanup tester interface (#110640)
* Provisioning: Cleanup tester interface

* undo accidental change

* cleanup

* cleanup test
2025-09-05 07:47:27 +02:00
Juan Cabanas
c9eecf850b Saved Queries: renderSaveQueryButton change (#110623)
* refactor in saved query buttons

* naming modified

* tests removed because component is now enterprise

* feedback applied

* translation removed

---------

Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2025-09-04 21:58:39 -07:00
Stephanie Hingtgen
b567cde3d3 Provisioning: Reuse controller from registry (#110639) 2025-09-05 01:13:55 +00:00
Leon Sorokin
beaa512eb3 PanelQueryRunner: Use rxjs forkJoin (like Scenes), not lodash merge (#109220) 2025-09-04 19:54:47 -05:00
Stephanie Hingtgen
f302a3d538 Provisioning: Cleanup unused variables in controller (#110637) 2025-09-05 00:51:26 +00:00
Kevin Minehart
4810e51743 CI: pin dagger version to match go.mod (#110638)
* pin dagger version to match go.mod

* set in e2e too
2025-09-05 00:28:27 +00:00
Ryan McKinley
4723d2d8de Stars: implement full CRUD operations via legacy service (#110489) 2025-09-04 14:49:49 -05:00
Ryan McKinley
1dadf2cad9 Stars: Remove deprecated internal ID apis (#110499) 2025-09-04 14:45:01 -05:00
Tom Ratcliffe
3d6d632686 Chore: Remove betterer (#110469) 2025-09-04 18:17:53 +01:00
Will Assis
ea7c370edd unified-storage: add ListSinceModified to kv store (#110250)
* implement ListKeysSince in event store

 implement data store version

---------

Co-authored-by: Georges Chaudy <chaudyg@gmail.com>
2025-09-04 12:26:40 -04:00
Bogdan Matei
eed8d189ac Dashboards: Refactor conditional rendering (#108596) 2025-09-04 16:22:26 +00:00
Matias Chomicki
456bd0e81a LokiOptionFields: track max lines (#110583) 2025-09-04 18:19:23 +02:00
Josh Hunt
45df6c31d9 FS: Add support for local dev configs (#110508)
* FS: Add support for local dev configs

* document AUTO_DOWN

* remove zig
2025-09-04 17:17:32 +01:00
Jean-Philippe Quéméner
a9f9ff8580 fix(search): bump the limit for locationinfo search (#110604) 2025-09-04 17:36:52 +02:00
Ihor Yeromin
8331661fb7 Adhoc filter: Test filter for value buttons integration (#110514)
* test(adhoc-filter): filter for value buttons integration
2025-09-04 15:22:10 +00:00
mohammad-hamid
abcdf20105 grafana-iam: Implement resourcepermission get (#110256)
* resource permissions get

* address review feedback

* address comments
- read using rp name
- narrow by scope and actionsets
- update sql tests

* align with verb simplification

* keep original format to avoid conflicts

* add sqltests

* cleanup

* Remove unecessary errors

* Move query template to queries

* Use splitN to make sure we have three parts

* Revert user permission management for now. We don't need it

* Revert error change

* group permissions by resource

* extract parse scope

* Move sql_test

* Move & test parseScope

* Add tests to getResourcePermission

* Linting

* Use namespace

* Add test to the backend

* Ongoing tests

* Remove pagination, fix query boolean, insert basic role binding

* Linting

* Straightened the created and updated times

* error handling and uniformization with other backend

* Restore comments to avoid later conflicts

* Integration testing

* switch to function, no need to make it a method

* isServiceAccount should default to FALSE instead of TRUE :surprised:

* PR feedback

* Sort spec permissions

* Shouldn't happen but double proofing

---------

Co-authored-by: Gabriel Mabille <gabriel.mabille@grafana.com>
2025-09-04 17:14:15 +02:00
Alexa Vargas
40bf167cb7 Saved Query: Add onSelectQuery to QueryLibraryContext (#110536)
* Saved Query: Remove onSelectQuery prop requirement from components using saved queries

* preserve onSelectQueryCallback on SaveQuery

* add missing onSelectQueryCallbacks
2025-09-04 16:52:42 +02:00
Ezequiel Victorero
76c8fcf99d Saved Queries: Promote to public preview (#110551) 2025-09-04 11:52:00 -03:00
Ivana Huckova
f62785d272 Data source config: Add extension point for components (#110588)
* Data source config: Add extension point for components

* Fix lint

* Fix and add tests

* Refactor allowed plugins

* Fix lint
2025-09-04 14:30:17 +00:00
Mihai Turdean
f1dffca140 IAM Folder Reconciler: Make operator available as a target when running the grafana binary. (#110567) 2025-09-04 08:22:17 -06:00
Tom Ratcliffe
2760be6892 Folders: Refresh children at root level when creating new folder (#110591) 2025-09-04 15:19:06 +01:00
Roberto Jiménez Sánchez
57ea65dc42 Provisioning: Decrypt using Secrets Service in Operators (#110589)
* Use real secrets servicer decrypter

* Add also server name just in case
2025-09-04 16:18:14 +02:00
Alexander Akhmetov
000ada4cd1 Alerting: Fix alert enrichment API plural schema name (#110593) 2025-09-04 16:18:03 +02:00
Ashley Harrison
33722ac1b1 Chore: remove betterer command from lefthook (#110600)
remove betterer command from lefthook
2025-09-04 15:16:21 +01:00
Bruno
6b5cacfade use standard sql in secure_value_lease_inactive.sql (#110532)
* use standard sql in secure_value_lease_inactive.sql

* ci
2025-09-04 10:01:05 -03:00
Victor Marin
27b3137baf Dashboards: User journey E2Es (#109049)
* wip

* wip

* wip

* wip

* scope e2es

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* add dashboard view tests

* mods cujs

* wip refactor

* remove timeouts

* fixes

* betterer

* fixes

* refactor

* refactor

* fix

* use type instead of any

* betterer

* PR mods + codeowners

* CODEOWNERS

* readme lint
2025-09-04 15:17:54 +03:00
Dominik Broj
4d818292d8 Alerting: Expose unified alert history component (#110394)
* register exemplary alert rule extention into IRM extension point

* register AlertRuleHistory into IRM's extension point

* support more default filters

* lazy load alert rule extension

* simplify

* rename extension point

* use exposed component, put props type in grafana-data

* rename PluginExtensionPointsInPlugins to PluginExtensionExposedComponents

* Update public/app/features/alerting/unified/components/rules/central-state-history/CentralAlertHistorySceneExposedComponent.tsx

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

* export new types from grafana/data and avoid relative import paths

* improve naming of exposed component

---------

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
2025-09-04 13:56:50 +02:00
Alexander Akhmetov
100528e274 Alerting: Support retry with backoff in alert rule evaluation (#99710) 2025-09-04 13:56:03 +02:00
Ryan McKinley
8052ecb3ba Dashboards: Remove panel plugin provider from migrations (#110477) 2025-09-04 14:17:22 +03:00
Roberto Jiménez Sánchez
3d009ff7ed Provisioning: Build and use repository factory in repository controller (#110585)
Build and use repository factory
2025-09-04 13:12:56 +02:00
Ryan McKinley
145a50be4d Folders: Improve folder parent testing (#110439) 2025-09-04 10:50:31 +00:00
Roberto Jiménez Sánchez
7d630ec3b1 Provisioning: Refactor tweaks to support MT controllers (#110581)
* Refactor common code to support MT controllers

* Delete original status files
2025-09-04 10:06:50 +00:00
Tom Ratcliffe
55b638ea98 Chore: Move betterer eslint rules to use eslint suppressions (#106267)
Co-authored-by: joshhunt <josh.hunt@grafana.com>
2025-09-04 10:47:13 +01:00
Matias Chomicki
df685757ff New Logs Panel: remove sibling visualization (#110444)
* New Logs Panel: remove sibling visualization

* More removals

* Update provisioned dashboard

* Update translations
2025-09-04 11:27:50 +02:00
Joey
600137919e TraceView: Add support for plugin components in trace view header (#110524)
* Add support for plugin components in trace view header

* Fix lint error

* Remove as

* Fix tests

* Prettier

* better eslint
2025-09-04 09:58:21 +01:00
Ashley Harrison
9272a1c19a Chore: Fix some more a11y checks in stories (#110531)
fix more a11y checks in stories
2025-09-04 09:57:02 +01:00
Torkel Ödegaard
513971119a TabsLayout: Fixes issue serializing tab with repeats (#110576)
* TabsLayout: Fixes issue seralizing tab with repeats

* Fix lint
2025-09-04 10:47:10 +02:00
Andrej Ocenas
2958126c87 Folders: Migrate move folder to new API (#110550) 2025-09-04 10:23:56 +02:00
Alexander Akhmetov
c9707a7463 Alerting: Bump alertenrichment API version to v1beta1 (#110466) 2025-09-04 09:32:29 +02:00
Sergej-Vlasov
6ba1699955 TabItemEditor: Add tab title edit undo action (#110497)
* add undo action for tab title change

* add i18n
2025-09-04 09:58:52 +03:00
Levente Balogh
c7b3662d85 Restricted APIs: Remove type assertion from Betterer (#110548)
chore: remove type-assertion from betterer
2025-09-04 06:50:09 +02:00
Adela Almasan
4f70b93ca6 Actions: Infinity authentication (#109493) 2025-09-03 20:56:30 -05:00
grafana-pr-automation[bot]
936406bfe9 I18n: Download translations from Crowdin (#110569)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-09-04 00:39:30 +00:00
Will Assis
d9c875d343 fix: dashboard list page bugs while in mode 3 (#110568)
* fix infinite scroll when using folder tree view in dashboard page inside folders with more than 50 items

* fix off-by-one error when fetching in list view
2025-09-03 19:50:58 -04:00
Alex Spencer
6c9faa7595 TableNG: Footer enhancements (#102948)
* Table: Footer support for multiple reducers

* fix migrator test output due to required default value

* fix go migration test

* more go test fixes

* fix go tests for footer

* Merge #110062

* update migration dashboard

* Small docs fixes

* Small docs fix

* remove migration method in Go, update js unit test

* add migration dashboard for footer and clean up some issues with countAll

* Footer should always use og rows for calcs

* update footer to be unaffected by filtering and sorting

* more e2es

* add more complex footer to kitchen sink, migrate panel all the way up

* update codeowners for e2e

* relocate footer migration panels and e2es to main 12.2 migration dashboard

* go further with the migration; kill unused fields, rename reducer to reducers

* get the go code up to date, move enablePagination to its own option as well

* add a unit to one of the numeric columns with a footer in kitchen sink

* fix reducers override in kitchen sink migration table

---------

Co-authored-by: Paul Marbach <paul.marbach@grafana.com>
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2025-09-03 18:03:33 -04:00
alerting-team[bot]
ae97eb860c Alerting: Update alerting module to 24567882c5d1ec33212a63405d4a383c1703e6f6 (#110562)
---------

Co-authored-by: yuri-tceretian <25988953+yuri-tceretian@users.noreply.github.com>
Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2025-09-03 21:36:43 +00:00
Stephanie Hingtgen
4527530cd2 Provisioning: update readme to skip migrations (#110561) 2025-09-03 21:09:44 +00:00
Costa Alexoglou
3d2cef5f07 feat: provides MT Dashboard service (#110447) 2025-09-03 20:41:37 +00:00
Yuri Tseretyan
7d32640179 Alerting: Fix ticker tests to not fail if channel is empty (#110538) 2025-09-03 16:21:47 -04:00
Kristina
3051dd9d44 Transformations: Account for group by / count when assessing if calculation is needed (#110546)
* Add logic for groupby count and add tests

* remove skip

* Use better and accurate test naming

* deconstruct options, add test for group by / count

* Have different values for test

* Remove only and change variables to allow optional chaining based on field

* add back destructuring
2025-09-03 13:53:27 -05:00
Adela Almasan
a8b7504979 Canvas: Fix element selection being cleared on panel resize (#110010) 2025-09-03 13:05:48 -05:00
Jacob Valdez
45228d1ad9 Docs: updating whats new video shortcode (#110547) 2025-09-03 17:32:30 +00:00
Stephanie Hingtgen
84ae9ea71b Provisioning: Add scaffolding for repo controller (#110543) 2025-09-03 17:30:41 +00:00
Kyle Brandt
00ab80a2f6 SQL Expressions: Add Exemplars to instrumentation (#110481)
follow up to #109633
2025-09-03 17:25:44 +00:00
Matias Chomicki
bbc401a6be New Log Details: Inline improvements (#110276)
* LogLineDetails: make inline details taller

* Translations: add missing plurals

* Update sidebar icon

* LogList: default to inline details

* LogLineDetails: details by screen width

* Inline details: slightly smaller

* LogLineDetails: use container size for default mode
2025-09-03 18:53:38 +02:00
Stephanie Hingtgen
8e41d5929a Operators: Cleanup registration process (#110539) 2025-09-03 16:36:42 +00:00
Yuri Tseretyan
1e0aaa29af Alerting: Comprehensive payload for Alertmanager convert API tests (#110485)
* do not remove global config
* create more comprehensive payload for mimir alertmanager testing
2025-09-03 12:11:55 -04:00
Eric Leijonmarck
ce70900c73 fix: add back missing edit button for panels for viewers-can-edit (#110475)
* fix: add back missing edit button for panels for viewers-can-edit

* lint fix

* updated meta cansave function with config option

* cleanup

* lint

---------

Co-authored-by: Haris Rozajac <haris.rozajac12@gmail.com>
2025-09-03 17:02:17 +01:00
Alexander Akhmetov
8a7c1f595a Alerting: Backend state filtering for history UI (#109647) 2025-09-03 17:47:03 +02:00
Matias Chomicki
9dfd250049 Log line details: Update styles (#110472)
* LogLineDetails: show border right when controls are disabled

* LogLineDetails: update styles

* Update types in test

* Update background, border, and shadow

* Close details: fix tooltip
2025-09-03 17:44:29 +02:00
Peter Štibraný
642d43ff49 search-after-write: Reuse index even if docs count doesn't match (#110527)
* search-after-write: Reuse index even if docs count doesn't match

* Revert unrelated change.
2025-09-03 15:35:46 +00:00
Kyle Brandt
ea7fa58ba8 SQL Expressions: Switch feature toggle to public preview (#110473) 2025-09-03 17:11:00 +02:00
Matheus Macabu
4be28f6f7e EphemeralEnvs: Trigger workflow when PR is merged (#110501) 2025-09-03 16:50:28 +02:00
maicon
fa20755d4b fix: Synchronously notify subscribers when writing Create events to CDK backend (#110476)
* Remove goroutine when writing events on CDK backend

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-09-03 11:49:04 -03:00
Ashley Harrison
9b18987df1 Playwright: Changes needed for enterprise tests (#110424)
* enterprise scaffolding

* clean up gitignore, add enterprise to playwright config

* add workflows

* setup enterprise in the workflows

* update permissions

* try update license path

* add TODO

* undo workflow changes

* remove commands

* add extensions folder

* update gitignore

* include the whole public folder

* add comment

* review comments
2025-09-03 15:45:54 +01:00
Yunwen Zheng
3a3ea45111 FolderRepo: Prevent no basic role user getting infinite api calls on provisioning settings endpoint (#110486) 2025-09-03 10:17:36 -04:00
Ben Darlow
163ff0c9f1 Text: Add Inter italic font variants to Grafana UI (#110313)
Add Inter italic font variants
2025-09-03 15:04:14 +01:00
Yuri Tseretyan
0351a37e99 Alerting: Remote Alertmanager to calculate hash of the request payload instead of just the configuration v2 (#109139)
* Revert "Revert "Alerting: Remote Alertmanager to calculate hash of the reques…"

This reverts commit cbf256120e.

* log the decision

Signed-off-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>

---------

Signed-off-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2025-09-03 14:01:25 +00:00
Josh Hunt
bda895ec03 Metrics: Add http_response_size_bytes metric (#110428)
* Metrics: Add http_response_size_bytes metric

* add better handler names for public asset paths

* fix tests

* comment

* remove debug log

* exemplar
2025-09-03 14:47:38 +01:00
Ivana Huckova
4e28cba1c5 Bump @grafana/assistant package (#110507)
* Bump @grafana/assistant package

* Update origin

* Update FlameGraphHeader.tsx

Co-authored-by: Kevin Adam  <16607163+kevelopment@users.noreply.github.com>

* Update LogListContext.tsx

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>

* Fix lint

* Update public/app/features/logs/components/panel/LogListContext.tsx

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>

---------

Co-authored-by: Kevin Adam <16607163+kevelopment@users.noreply.github.com>
Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2025-09-03 15:30:02 +02:00
Ihor Yeromin
dc16562050 AdHoc Filter: Enable to GA (#110445)
* chore(adhoc-filter): enable to GA
2025-09-03 13:21:33 +00:00
Tom Ratcliffe
7947ead939 Chore: Remove betterer undocumented stories check (#110453) 2025-09-03 12:59:36 +00:00
Ihor Yeromin
1faaec2611 P2P Filter: Add adhoc filter option toggle (#110160)
* feat(ds): add adhoc filter option
2025-09-03 12:51:27 +00:00
Tom Ratcliffe
f59495c416 Chore: Move a11y storybook check to eslint (#110425) 2025-09-03 12:31:09 +00:00
Alex Khomenko
88a63a1d92 Icon: Use non-block element for loader (#110399) 2025-09-03 15:29:33 +03:00
Tom Ratcliffe
2afb21f9f7 Chore: Move gf-form betterer check to eslint instead (#110341) 2025-09-03 13:03:44 +01:00
Ben Darlow
46d4061fca Update Storybook documentation for RadioButtonGroup and RadioButtonList with usage guidance (#110291)
* Update the Storybook docs for RadioButtonList where it was incorrectly referencing RadioButtonGroup in code examples

* Update the Storybook docs for RadioButtonList and RadioButtonGroup with more useful guidance for usage

* Refine the Storybook docs for RadioButtonGroup
2025-09-03 12:24:50 +01:00
Igor Suleymanov
a07a8d0ba2 Fix listing and getting dashboard versions across different API versions (#109860)
* Fix listing and getting dashboard versions across different API versions

What

This commit updates dashboard version service to use API version aware
API client. The service now also supports parsing different API version
representation of dashboards.

The API version aware client is also updated to support listing across
versions.

Why

Currently listing or getting specific versions is broken for all v2
versions of the dashboard API, especially if the dashboard being checked
is still saved using v1 APIs.

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>

* Remove superfluous tracing spans

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>

---------

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
2025-09-03 13:51:11 +03:00
Tom Ratcliffe
95080d9d56 Folders: Update folder using app platform APIs (#110449) 2025-09-03 11:29:26 +01:00
Dominik Prokop
6c517f82ed Dashboards: Enable kubernetesDashboards by default (#107618)
* Dashboards: Enable kubernetesDashboards by default

* Update integration test to account for the FT being enabled by default

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>

---------

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
Co-authored-by: Igor Suleymanov <igor.suleymanov@grafana.com>
2025-09-03 12:01:55 +02:00
Luminessa Starlight
8dd82c34f7 Accessibility: Fix overflowing layout on small zoomed screen (#109880)
* fixes the layout in a slightly naive way
does work in both chrome and firefox

* make panel and query sections individually have full viewport height

* allow wrapping in dashboard controls, and align time picker section correctly when wrapped

* use more fixed minimum widths and allow horizontal scroll for overflow

* remove collapsing when sizes are fixed, and fix inverted collapse state logic

* use new wrapper for reflow layout media query setup

replace the magic numbers with theme breakpoints

apply global styles conditionally and locally

fix left to right splitter collapse state so it's removed in small size

added betterer exception that will be removed in the next commit

* moved component definition outside of non-react class so react hook lint rule recognizes it's not a class component (betterer fixes)

* remove unused import

* nit fix

* move disabling useSnapperSplitter logic into the hook

simplify reflow hook to only use height, and use a fixed height unrelated to shared width breakpoints

* remove global style overrides

* prevent scrolling in editor

---------

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-09-03 10:22:00 +01:00
Georges Chaudy
1758fa8fbb unistore: use scorch indexing instead of upside_down (#110463)
* use scorchwith in memory

* comments

* refactor
2025-09-03 11:06:08 +02:00
Andres Martinez Gotor
f13c3b38ea Advisor: Avoid write if checktype exists (#110340) 2025-09-03 09:54:49 +02:00
Gábor Farkas
0bfec936b3 datasources: querier: add user to query (#109917) 2025-09-03 09:29:26 +02:00
Marc Sanmiquel
cb77e97996 Pyroscope: Fix incorrect rate calculation from flamegraph totals (#110470)
* fix(pyroscope): remove incorrect rate calculation from flamegraph totals

* update CHANGELOG.md
2025-09-03 08:15:06 +01:00
Yunwen Zheng
cb3fc369fe Provisioning Action Drawer: Organize action and cancel button order to match existing pattern (#110487) 2025-09-03 08:50:52 +03:00
grafana-pr-automation[bot]
3ac0b5ca03 I18n: Download translations from Crowdin (#110490)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-09-03 00:44:33 +00:00
Jesse David Peterson
095d90ae71 FS: Canvas panel icons and background images are missing (#110316)
* fix(frontend-service): mount public/img dir, copy Canvas subdirs over

* fix(canvas): update icon selector to use enum type not magic string

* fix(canvas): update folder selector to use grafana path from window

* chore(todo): code comment on when/where to remove Dockerfile COPYing

* feat(resource-dimension): public asset URL should include build/ for CDN

* chore(todo): note where to remove -- Grafana -- ds dependency from later

* fix(canvas): update folder selector to use build/ in path to hit CDN

* test(resource-dimension): expect relative URLs to include build/ for CDN

* fix(geomap): load icons for legend from CDN friendly path as well

* chore(resource-dimensions): delete dead code
2025-09-02 15:38:44 -04:00
Daniele Stefano Ferru
451d6abe15 Provisioning: Fix patching released resources when Repository is deleted (#110295)
* Provisioning: Use merge patch instead of json path to release orphan resources

* rolling back to json Patch

* adding TODO for testing

* adding integration test

* using struct

* addressing comments on tests
2025-09-02 21:13:43 +02:00
Kyle Brandt
d97836f407 SQL Expressions: Return error on malformed input (#110479)
Fixup on a misleading error being returned due to a missing return statement in the code. Was returning the error "conversion succeeded but no frames" even though there was an error.
2025-09-02 14:49:04 -04:00
Matthew Jacobson
099a43aa10 Alerting: Fix insights panel for Grafana missed iterations (#110468)
* Alerting: Fix insights panel for Grafana missed iterations

Existing panel was copied from Mimir version, so it was using the
wrong metric as well as incorrect assumptions on the series labels

grafanacloud_instance_rule_group_iterations_missed_total ->
grafanacloud_grafana_instance_alerting_schedule_rule_evaluations_missed_total

parsing `rule_group` (ex. `/rules/12345/synthetic_monitoring;default`) ->
using `rule_title` directly

* Linting
2025-09-02 14:33:41 -04:00
Ihor Yeromin
bdf9583ada SSE: Return error messages instead of 500 on SSE command parse errors (#109480)
fixes #108897

---------

Co-authored-by: Kyle Brandt <kyle@grafana.com>
2025-09-02 18:00:14 +00:00
Zoltán Bedi
76af73b3f3 Update @grafana/plugin-ui dependency to version ^0.10.10 across multiple packages (#110433) 2025-09-02 19:05:56 +02:00
Ryan McKinley
fdac98cdda ShortURL: Avoid teris-io/shortid (#110456) 2025-09-02 17:01:20 +00:00
Will Browne
81fa79cdf6 Plugins: Add metric for connection request unavailable errors (#110454)
add metric for connection request unavailable errors
2025-09-02 17:23:07 +01:00
colin-stuart
b81395976f Remove SCIM banner (#110315)
* Remove SCIM banner

* yarn i18n-extract
2025-09-02 11:07:05 -05:00
Gilles De Mey
62cbe15f51 Alerting: Hide list view loader if we don't have anything yet (#110464) 2025-09-02 15:24:54 +00:00
Serge Zaitsev
cdd7a2cfd2 Chore: Disable CGo in tests (#108764)
* make cgo optional for sqlite

* update go.mod; check error code differently

* reduce api surface even more

* move test errors into sqlite package

* CGO_ENABLED=0 in unit tests

* disable for enterprise, too

* add driver name constant

* remove unused constants

* make test an integration one

* try integration tests without cgo

* implement error codes for modernc sqlite driver

* typo fix

* missing return

* use error pointer as an interface

* alias the driver

* update workspace, check for test errors too

* check error properly

* add missing driver after rebase

* fix missing import after rebase

* debugging, lets try again

* properly parse options, revert many previous changes

* remove another log

* better url parsing

* revert test rename, leave it for later

* revert reusedSession in unistore

* revert more code

* remove driver name

* revert formatting

* add integration test without cgo for sqlite

* remove tracing and logging

* bring driver alias back

* fix type

* wrong package
2025-09-02 17:24:30 +02:00
Matias Chomicki
9b57d9616a Log Details: Update links UI (#110412)
* LogLineDetailsLinks: create component

* Label: add space

* Comment

* LogLineDetailsLinks: show value in a toggletip

* LogLineDetailsLinks: add label

* Update tests
2025-09-02 15:06:57 +00:00
Gilles De Mey
a058665bbc Alerting: Minor papercut for data sources in the list view (#110460) 2025-09-02 17:05:51 +02:00
Andreas Christou
95072dad6c Azure: Show resource group in picker (#110442)
* Show resource group in picker

* Trigger build
2025-09-02 14:57:29 +00:00
Eric Leijonmarck
12a789cfc5 LBAC for data sources: Update doc to remove the reference of specific data sources and cloud only (#110462)
update docs
2025-09-02 14:42:08 +00:00
Lauren
c6ff3b5be2 Alerting: Allow filter by rule source in Filter V2 (#110336)
* add UI for rule source section of filter

* add logic to filter grafana vs external datasources

* run yarn i18n-extract

* resolve PR comments

* resolve design comments

* add rule source to search parser

* rename external to datasource

* import empty from ix

* fix tests

* fix typing

* resolve comments- treat undefined as *

* resolve PR comments
2025-09-02 15:27:54 +01:00
Ryan McKinley
146caddf1f Chore: update feature toggle stats from git (#110457) 2025-09-02 17:15:08 +03:00
xavi
16b7535dd4 Forbid more redirect patterns (#110337) 2025-09-02 16:12:39 +02:00
Lauren
95f167bb8b Alerting: Reduce failed network requests in Filter V2 (#110280)
* update options type to promise, fetch only when dropdown is open

* add GMA/DMA section WIP

* remove rule manager radio

* use default no options found in dropdowns

* fix failing test

* resolve PR comments

* replace fetchPromNamespaces with fetchGrafanaGroups
2025-09-02 14:12:20 +00:00
Bruno
f8cd7049e8 Secrets: garbage collection (#110247)
* clean up older secret versions

* start gargbage collection worker as background service

* make gen-go

* fix typo

* make update-workspace

* undo go mod changes

* undo go work sum changes

* Update pkg/registry/apis/secret/garbagecollectionworker/worker.go

Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>

* Update pkg/registry/apis/secret/garbagecollectionworker/worker.go

Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>

* default gc_worker_batch_size to 1 minute

* fix typo

* fix typo

* add test to ensure cleaning up secure values is idempotent

* make gen-go

* make update-workspace

* undo go.mod and .sum changes

* undo enterprise imports

---------

Co-authored-by: Matheus Macabu <macabu.matheus@gmail.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
2025-09-02 11:11:01 -03:00
Sergej-Vlasov
d5eb3e291a DashboardGridItem: Trigger row repeat behaviour on panel edit complete (#110397)
reset SceneGridRow repeats on panel change
2025-09-02 17:10:10 +03:00
Sergej-Vlasov
2a7fcd7d5f TabsLayoutManager: Tab url sync rethink (#110274)
* Url sync for tabs rehink

* Update

* Thinks are working pretty well

* wip: solve tab not found

* fix lint and tests

* adjust wait for repeats in getCurrentTab

* set currentTabSlug in useEffect

* set currentTabSlug on tab title change

---------

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2025-09-02 17:09:55 +03:00
Yunwen Zheng
d33f0e0941 Provisioning: Add ProvisioningAwareFolderPicker to prevent cross-repository folder moves (#110136)
* Added ProvisioningAwareFolderPicker component to prevent cross repo resource move
2025-09-02 09:55:59 -04:00
Jean-Philippe Quéméner
6d5fe47790 fix(unified-storage): use contextual logger for permissions (#110455) 2025-09-02 15:53:37 +02:00
Jean-Philippe Quéméner
5fb72d1b04 fix(unified-strorage): optimize allocations (#110448) 2025-09-02 15:43:48 +02:00
Tom Ratcliffe
2a5ba2e74a Folders: Fix folder parents error handling (#109605) 2025-09-02 14:25:28 +01:00
Matheus Macabu
9816c48ab2 Secrets: Add UI feature toggle (#110451) 2025-09-02 15:25:22 +02:00
Andres Martinez Gotor
13baef080c Datasource view: Show a not-found message (#110417) 2025-09-02 14:37:51 +02:00
Yulia Shanyrova
0c44a0c14a Plugins: Pin plugin search and connections search to the page (#109903)
* pin page header for plugins and connections

* fix tests
2025-09-02 13:57:58 +02:00
Alexander Akhmetov
9d9f464679 Alerting: Add alertenrichment API types (#110396) 2025-09-02 13:33:54 +02:00
renovate[bot]
7d329c8080 Update scenes to v6.33.0 (#110438)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-02 14:16:34 +03:00
Levente Balogh
41681eb2ee Dashoard-Scene: Remove unused(?) console.log() statement (#110395)
chore: remove console.log
2025-09-02 13:05:43 +02:00
Andrej Ocenas
bab84c64dc Folders: Migrate bulk move action to new API (#110150) 2025-09-02 12:41:29 +02:00
Matheus Macabu
4045da21e0 Provisioning: Bump secret dependency version (#110440) 2025-09-02 10:09:14 +00:00
Andreas Christou
1a8d25375a Azure: Resource picker improvements (#109458) (#109520)
* Azure: Create feature toggle for resource picker improvements (#109458)

Create feature toggle

* Azure: Resource picker subscriptions filter (#109527)

* Create feature toggle

* Fix namespace typo

* Retrieving default subscription ID

* Style updates

- Filter input styling
- Improved modal styling

* Pass data source to resource field

* Search style updates

* Function to support fetching filtered rows

* Filtering nested rows

* Filtering search

* Support subscriptions filtering

- Support filtering in resource graph functions
- Subscriptions filter component

* getSubscriptions tests

* Fix logs query editor test

* Update data source mock

* Update resourcePickerData tests

* Update tests, lint, and i18n

* Lint and test

* Simplify type

* Azure: Resource picker types filter  (#109528)

* Create feature toggle

* Fix namespace typo

* Retrieving default subscription ID

* Style updates

- Filter input styling
- Improved modal styling

* Pass data source to resource field

* Search style updates

* Function to support fetching filtered rows

* Filtering nested rows

* Filtering search

* Support subscriptions filtering

- Support filtering in resource graph functions
- Subscriptions filter component

* getSubscriptions tests

* Fix logs query editor test

* Update data source mock

* Update resourcePickerData tests

* Add types filter

* Update tests, lint, and i18n

* Lint and test

* Simplify type

* Rename variable for clarity

* Azure: Resource picker locations filter  (#109530)

* Create feature toggle

* Fix namespace typo

* Retrieving default subscription ID

* Style updates

- Filter input styling
- Improved modal styling

* Pass data source to resource field

* Search style updates

* Function to support fetching filtered rows

* Filtering nested rows

* Filtering search

* Support subscriptions filtering

- Support filtering in resource graph functions
- Subscriptions filter component

* getSubscriptions tests

* Fix logs query editor test

* Update data source mock

* Update resourcePickerData tests

* Add types filter

* Locations filter

* Update tests, lint, and i18n

* Minor test updates

* Imports

* Lint and test

* Simplify type

* Rename variable for clarity

* Rename var

* Azure: Resource picker filters tests (#109590)

* Create feature toggle

* Fix namespace typo

* Retrieving default subscription ID

* Style updates

- Filter input styling
- Improved modal styling

* Pass data source to resource field

* Search style updates

* Function to support fetching filtered rows

* Filtering nested rows

* Filtering search

* Support subscriptions filtering

- Support filtering in resource graph functions
- Subscriptions filter component

* getSubscriptions tests

* Fix logs query editor test

* Update data source mock

* Update resourcePickerData tests

* Add types filter

* Locations filter

* Update tests, lint, and i18n

* Minor test updates

* Imports

* Lint and test

* Resource picker filter tests

* Update tests

* Simplify type

* Rename variable for clarity

* Rename var

* Azure: Resource picker - recent resources (#109596)

* Create feature toggle

* Fix namespace typo

* Retrieving default subscription ID

* Style updates

- Filter input styling
- Improved modal styling

* Pass data source to resource field

* Search style updates

* Function to support fetching filtered rows

* Filtering nested rows

* Filtering search

* Support subscriptions filtering

- Support filtering in resource graph functions
- Subscriptions filter component

* getSubscriptions tests

* Fix logs query editor test

* Update data source mock

* Update resourcePickerData tests

* Add types filter

* Locations filter

* Update tests, lint, and i18n

* Minor test updates

* Imports

* Lint and test

* Resource picker filter tests

* Update tests

* Event for filter usage

* Function to support local storage

* Recent resources view

- Add LocalStorageValueProvider to store recent resources
- Add tabbed view to support switching between recent resources and resource picker
- Extract the base resource picker out to a functional component for reusability
- Extract the base resource table out to a functional component for reusability

* Update i18n keys

* Export resource key

* Add no recent resources text

* Run legacy tests with feature toggle off

* Add filters test without feature toggle

* Don't use as type assertions

* Add tests for recent resources

* Store resources for each query type

* i18n-extract

* Simplify type

* Minor performance improvement

* Rename variable for clarity

* Rename var

* Add placeholders

* Azure: Resource picker tests (#110175)

* Minor simplifying refactor

* Add more tests

* Update E2E
2025-09-02 11:02:01 +01:00
dependabot[bot]
b56b7add01 Chore(deps): Bump google-github-actions/setup-gcloud from 2.1.4 to 3.0.1 (#110372)
Bump google-github-actions/setup-gcloud from 2.1.4 to 3.0.1

Bumps [google-github-actions/setup-gcloud](https://github.com/google-github-actions/setup-gcloud) from 2.1.4 to 3.0.1.
- [Release notes](https://github.com/google-github-actions/setup-gcloud/releases)
- [Changelog](https://github.com/google-github-actions/setup-gcloud/blob/main/CHANGELOG.md)
- [Commits](77e7a554d4...aa5489c893)

---
updated-dependencies:
- dependency-name: google-github-actions/setup-gcloud
  dependency-version: 3.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-02 11:34:54 +02:00
Victor Marin
05380088d5 DataSourceApi: More specific naming for getFiltersApplicability (#110407)
* rename getFiltersApplicability

* typecheck

* typecheck
2025-09-02 11:32:24 +03:00
Matheus Macabu
1e926a29c0 Secrets: Extract external facing decrypt types to apps (#110432) 2025-09-02 10:30:29 +02:00
Alex Khomenko
c1c51beee4 Provisioning: Update branch selection (#110389) 2025-09-02 11:27:33 +03:00
Bergbok
13594b2b2e Docs: fix broken link in Jaeger plugin README (#110145)
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2025-09-02 08:12:16 +00:00
Roberto Jiménez Sánchez
4eadc823a9 Provisioning: Move repository package to provisioning app (#110228)
* Move repository package to apps

* Move operators to grafana/grafana

* Go mod tidy

* Own package by git sync team for now

* Merged

* Do not use settings in local extra

* Remove dependency on webhook extra

* Hack to work around issue with secure contracts

* Sync Go modules

* Revert "Move operators to grafana/grafana"

This reverts commit 9f19b30a2e.
2025-09-02 09:45:44 +02:00
Sergej-Vlasov
fb7b69e8b5 RowItemEditor: Add row title edit undo action (#110398)
* add undo/redo for row title change

* refactor with useRef
2025-09-02 10:09:16 +03:00
Alex Khomenko
ceec2340b3 Provisioning: Fix rule of hooks violations (#110414) 2025-09-02 08:07:11 +03:00
grafana-pr-automation[bot]
e94b61f964 I18n: Download translations from Crowdin (#110431)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-09-02 00:40:24 +00:00
wassaf shahzad
88886d39d0 Histogram: Fix Tooltip placement issue (#110368)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2025-09-01 16:48:44 -05:00
maicon
fccf58add7 Unistore: Only Shadow Search Traffic when running on modes > 0 (#110302)
* Unistore: Only Shadow Search Traffic when running on modes > 0

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-09-01 16:14:53 -03:00
antonio
2f769b0a62 add video to alerting tutorial (#110429) 2025-09-01 20:19:43 +02:00
Juan Cabanas
b47aece718 Save Queries: Remove entry points when user has Viewer role (#110244) 2025-09-01 14:18:02 -03:00
Irene Rodríguez
9244d5f058 Docs: Modify Go installation command for foundation SDK (#110415) 2025-09-01 15:38:54 +00:00
Andreas Christou
0dc283b303 Graphite: Add backend feature toggle (#110043)
Add feature toggle
2025-09-01 15:13:47 +00:00
Tobias Skarhed
dac6d04e24 Scopes: Arrow key selection support (#110155)
* Add basic arrow key navigation support

* Add shortcut for applying scopes

* Support expanding nodes with arrow keys

* Make useEffect non-conditional

* Add a11y and error boundary

* Fix preventDefault

* Add test for keyboardinteractions

* Add tests and expanded status to treeitem

* Reset highlight when disabled and change styles

* Fix tests

* Update i18n

* Remove unused var

* Reset enterprise imports from main

* Move failing test to correct quite

* Remove test outside fo context

* Remove unused import

* Use highlitghted ID instead of index

* Extract all highlighing functionality into its own hook

* Remove unused imports
2025-09-01 16:59:50 +02:00
Roberto Jiménez Sánchez
4de9ec7310 Provisioning: Fix import cycle between grafana and provisioning app (#110406)
* Move operators to grafana/grafana

* Go mod tidy
2025-09-01 13:29:34 +00:00
Dominik Prokop
7324087273 Dashboard migration: v14 Broken dash repro (#110405)
* Broken dash repro

* Fix V16 migration to preserve panels when rows array is empty

- Fixed bug where panels were deleted when migrating dashboards with empty rows array
- Updated v16.go to match frontend implementation behavior
- Added test case for empty rows scenario in v16_test.go
- Renamed test files to v16.empty-rows-and-panels-array.json for clarity
- All migration tests passing (419 test cases)
2025-09-01 13:02:59 +00:00
Alexa Vargas
af893344f2 Saved Queries: Fix Change DS during replace query did not update DataSourcePicker (#110299)
* Pass onUpdateDatasources from PanelDataQueriesTab to QueryEditorRows to keep ds up to date

* Add unit tests

* add type ds to make the test clearer
2025-09-01 14:53:07 +02:00
Tom Ratcliffe
66a99d0ae8 Folders: Create folder using app platform APIs (#110166) 2025-09-01 13:09:09 +01:00
Ashley Harrison
db924493f2 Revert "Dashboard: Add unit tests for keyboard shortcuts (#107065)" (#110404)
This reverts commit 789834d65b.
2025-09-01 12:52:45 +01:00
Sven Grossmann
04ccd1e6bd ExtensionSidebar: Allow Assistant to be shown in compact mode (#110400) 2025-09-01 13:08:34 +02:00
Laura Fernández
0b7cb8c17c FS: Modify nginx.conf so Goto is managed by backend (#110402) 2025-09-01 13:02:17 +02:00
Peter Štibraný
4475e2ad19 getClientToDistributeRequest: remove logging of selected client, fix logging of error (#110403) 2025-09-01 10:57:25 +00:00
Bogdan Matei
c4f6e3c710 Dashboard: Only show Conditional Rendering on Custom Grid when FF is enabled (#110390) 2025-09-01 13:14:58 +03:00
Sven Grossmann
b6d7374b25 ExtensionSidebar: Remove feature flag and enable by default (#109906)
* ExtensionSidebar: Remove feature flag and enable by default

* ExtensionSidebar: Remove `isEnabled`

* ExtensionSidebar: Lint

* ExtensionSidebar: Lint

* ExtensionSidebar: Remove more FF

* i dont know why, but okay
2025-09-01 12:14:17 +02:00
Levente Balogh
d31e682345 Plugins: Expose core APIs only for certain plugins (#107967)
* feat(plugins): add a way to expose core apis only to certain plugins

* review: update naming

* review: update the owners of the feature toggle

* feat: share the restricted apis with extensions

* fix: linters

* feat: remove the `addPanel` api

* chore: fix linting and betterer issue

* tests: use `@ts-expect-error` for more clarity
2025-09-01 11:57:00 +02:00
Peter Štibraný
da43e2ae07 Don't use transaction in ListModifiedSince. (#110392)
* Don't use transaction in ListModifiedSince.

To guarantee that we don't include events with RV > LatestRV, we include the check in SQL query instead.

* Fix integration test by converting SQL comments into template comments.
2025-09-01 11:39:02 +02:00
Konrad Lalik
31114fb47c Alerting: Add Triage feature toggle (#110326)
* Add state history config to frontend config object

* Add alertingTriage feature toggle

* Add Triage menu entry

* Add old state history config props for backward compatibility
2025-09-01 11:33:33 +02:00
xavi
f09f77ced4 fix(docs): Fix broken link in Entra ID SAML docs (#110367) 2025-09-01 11:29:00 +02:00
Gabriel MABILLE
885812f694 AuthZ: Recover from an outdated cached folder tree (#110293) 2025-09-01 11:16:01 +02:00
Todd Treece
9416abc146 Storage: Set default list limit to 500 (#110356) 2025-09-01 11:09:40 +02:00
Aritra Dey
789834d65b Dashboard: Add unit tests for keyboard shortcuts (#107065)
* Dashboard: Add unit tests for keyboard shortcuts in editor and viewer modes

Fixes #89940

Signed-off-by: Aritra Dey <adey01027@gmail.com>

* fix: lint check

Signed-off-by: Aritra Dey <adey01027@gmail.com>

* fix(scenes): correct keyboard shortcut tests and panel id logic

Signed-off-by: Aritra Dey <adey01027@gmail.com>

* fix: prettier lint check

Signed-off-by: Aritra Dey <adey01027@gmail.com>

---------

Signed-off-by: Aritra Dey <adey01027@gmail.com>
2025-09-01 11:52:39 +03:00
Peter Štibraný
238f121e10 LastModifiedSince: return latestRV even when it hasn't changed. (#110391)
Return latestRV.
2025-09-01 08:45:40 +00:00
Sergej-Vlasov
a0280d701b TabsLayout: Add left margin to nested tab (#109052)
add margin if tabs layout is inside tab item
2025-09-01 08:01:57 +00:00
Stephanie Hingtgen
232d68fb8c Controllers: Make available as a target (#110357)
* Controllers: Add to build process
* Allow setting through env variables
2025-08-30 12:27:50 +02:00
Prajwal Awate
0d782bdedb Fix: Update return type for getActionsDefaultField to Field. (#110347) 2025-08-29 20:49:35 -05:00
grafana-pr-automation[bot]
ea296f79b2 I18n: Download translations from Crowdin (#110364)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-30 00:39:25 +00:00
Dominik Prokop
398ed84a60 Dashboard migration: Add missing metrics registration (#110178) 2025-08-29 18:37:39 -06:00
Paul Marbach
b22f15ad16 Table: Max row height for variable height rows (#109639)
* Table: Max height for wrapped content

* Docs: tableNG max cell height (#110069)

Co-authored-by: Paul Marbach <paul.marbach@grafana.com>

* change to Max row height instead of Max cell height

* fix unit test

* table utils codeowners

* Update packages/grafana-ui/src/components/Table/TableNG/utils.ts

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

* update docs

* fix docs

* Revert "fix unit test"

This reverts commit c46b0f1bec.

* fix unit test

* trade one important for another

* Tweaked wording

* hover overflow for max row height

* get rid of commented out section

* and we did it without important

* centralize overflow for max height assessment

* some alignment stuff was busted

* didn't end up using the max heigh arg for shouldTextOverflow

* make i18n path more consistent

* put some tooltip things back since they ultimately didnt change

* we can simplify the :not selector

* delete comment

* don't bother with :not

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2025-08-29 15:10:17 -04:00
Matias Chomicki
e47e579bee LogLine: add min-height to fields wrapper (#110353) 2025-08-29 18:34:44 +00:00
Matias Chomicki
e30931c219 Log Line: Add custom highlight renderer (#110335)
* LogLine: implement custom highlight renderer

* Log line: fully replace highlighted body with highlight tokens

* processing: update test

* Add unit test

* Add deeply nested JSON test

* processing: update clone function

* Scroll to log line: find by uid

* LogLineDetailsLog: check if the log contains ansi

* Prettier
2025-08-29 20:33:21 +02:00
Ezequiel Victorero
d63e1ce04d Cleanup: Restore 10 minute default value for background process (#110355) 2025-08-29 17:56:45 +00:00
Leon Sorokin
262c267e59 Trend: Add bar width assertion guard for single data point (#110351) 2025-08-29 15:55:29 +00:00
Will Assis
18bc69f5c6 unified-storage: Bleve test cleanup (#110240)
* consolidate index build tests

* shut up logging in test
2025-08-29 15:35:31 +00:00
Josh Hunt
2d33fead9d NewsPanel: Ensure unique HTML IDs for titles (#110344) 2025-08-29 16:34:15 +01:00
Ashley Harrison
57db26a9bf Frontend service: Fix geomap assets not loading (#110146)
* attempting to "fix" geomap

* copy gazetteer/maps folders into dockerfile for frontend service

* add TODO comments

* remove unused import

* conditionally use public cdn path

* fix unit tests

* try refactor e2e test for better stability

* Revert "try refactor e2e test for better stability"

This reverts commit d966d68e15.

* safer

* use grafana_public_path
2025-08-29 16:29:57 +01:00
Tom Ratcliffe
c9f815088a Folders: Remove conditional hook calling in new folders hooks (#110305) 2025-08-29 16:17:33 +01:00
Alyssa Joyner
125b56b8f5 [InfluxDB] Detect product from URL (#110137) 2025-08-29 09:13:26 -06:00
Gilles De Mey
a71664c114 Alerting: Add route matching functionality to package (#108982) 2025-08-29 14:52:27 +00:00
Alex Khomenko
48ad2fe46b Provisioning: Add branch dropdown to save drawer (#110270)
* Provisioning: Add branch dropdown to save modals

* Allow custom value

* Fix

* Refactor branch selection

* SHow configured branch first

* Update validation error

* Update tests

* Move workflow toggle into onChange

* Clear errors on switch

* Fix tests

* Comments
2025-08-29 17:47:24 +03:00
Leon Sorokin
de1cc4c1a7 Trend: Fix x-axis max affected by null-append to bar series (#110322) 2025-08-29 09:47:14 -05:00
Yunwen Zheng
6952461362 FolderPicker: Allow customizing root item display (#110319)
FolderPicker: Allow customize root item display item
2025-08-29 10:43:48 -04:00
Alikamran Rzayev
be3fa041a5 Dashboards: Conserve timestamp on time range copy-paste across timezones (#109769)
* fix(timepicker): preserve UTC timestamp on copy-paste across timezones

* test: add UTC copy/paste timezone conversion test

* Update packages/grafana-ui/src/components/DateTimePickers/TimeRangePicker/TimeRangeContent.test.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Remove duplicate mockClipboard clear

* Extract utility functions for formatting and converting time ranges

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-08-29 16:03:34 +02:00
Levente Balogh
a746f6e121 Dashboards: Make it possible to render variables under a drop-down (#109225)
* feat: extend the variable models

* test(DropDownVariableControls): add tests

* refactor(VariableControls): filter in the render method
2025-08-29 12:56:26 +00:00
Nathan Vērzemnieks
72eeefabd7 Revert: DataSource: Support config CRUD from apiservers (#106996) (#110342)
Revert "DataSource: Support config CRUD from apiservers (#106996)"

This reverts commit eda94a6434.
2025-08-29 14:49:57 +02:00
Peter Štibraný
3a3ba483b1 unified-storage: Skip query when ListModifiedSince cannot return anything. (#110338)
* Skip query when ListModifiedSince cannot return anything.

* Only save listRV if it's different than sinceRV. This saves a disk access if not needed.

* Add test for ListModifiedSince with same RV.
2025-08-29 14:49:20 +02:00
Aleksandar Petrov
e3f5a65372 Pyroscope: Process and display sampling annotations (#109707)
* pyroscope: process sampling annotations

* Enable annotations in classic explore

* Run prettier

* Revert unneeded change to plugin.json

* Tweak wording in sampling annotation

* Fix test

* Disable annotations by default
2025-08-29 13:14:22 +02:00
Piotr Jamróz
a2e0a7391b Explore: Remove Drilldowns banner (#110329)
* Explore: Remove Drilldowns banner

Removing banner added in https://github.com/grafana/grafana/pull/100409. It's been 6 months since it was added and we can remove it now.

* Update translations file
2025-08-29 12:53:06 +02:00
antonio
3479a17e2c Update CONTRIBUTING.md (Fa1thw patch 4) (#110331)
Update CONTRIBUTING.md

added in champions program

Co-authored-by: fa1thw <122316391+fa1thw@users.noreply.github.com>
2025-08-29 12:37:09 +02:00
Laura Fernández
65d5265f86 Chore: Move Deprecated layout components rule from Betterer to ESlint (#110279) 2025-08-29 12:33:14 +02:00
Ihor Yeromin
97f1ed0b88 Tooltip Filter: Add test for Filter for value (#110308)
chore(adhoc-filter): add tests
2025-08-29 09:56:22 +00:00
Roberto Jiménez Sánchez
fd9d41fe4f Provisining: Fix flake in Github URL tests (#110333)
Remove unnecessary repository deletion in provisioning integration tests
2025-08-29 09:48:52 +00:00
Matheus Macabu
e5d91fd461 Extensions: Declare tempo as being used by Enterprise (#110327) 2025-08-29 11:13:44 +02:00
Sergej-Vlasov
02fd8981a0 DashboardGridItem: Adjust panel count logic (#110212)
* adjust dashboard grid item panel count logic

* update packages
2025-08-29 08:41:46 +00:00
Ashley Harrison
c3151c7e9d Chore: Publish frontend metrics from github actions (#110271)
* remove build size from ci scripts, test adding a github action step

* generate pa11y results file

* setup node

* don't need grabpl

* get key from vault

* doublequote env var

* write node script for publishing

* update CODEOWNERS

* add some logging

* yarn install...

* tidy up

* only on main branch
2025-08-29 09:24:22 +01:00
Ashley Harrison
de8930b92a Chore: Define components outside of the scene class (#110180)
define components outside of the scene class
2025-08-29 09:05:46 +01:00
Zoltán Bedi
9edfe7bc0b Pyroscope: Add start and end date to profiletypes call (#110277) 2025-08-29 10:05:33 +02:00
Oscar Kilhed
533513039e Dashboards: Fix kiosk mode not persisting through refresh (#110284)
Kiosk needs to be rendered as kiosk=true in url
2025-08-29 08:41:33 +02:00
Kristina
c1edba6d8f Trend: Add support for a logarithmic x axis (#101433)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2025-08-29 00:02:49 -05:00
Haris Rozajac
c62ba51d68 Kubernetes Dashboards: Delete resourceVersion (on update and create) and name (on create) (#110318)
delete resourceVersion when creating and updating, and delete name whe creating
2025-08-28 21:52:14 -05:00
grafana-pr-automation[bot]
ddf242de86 I18n: Download translations from Crowdin (#110321)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-29 00:44:56 +00:00
Jeff Levin
06d3555d30 Update the version of bench used for FE perf tests. (#110317)
Update bench from v0.6.0 to v0.6.1
2025-08-28 20:44:12 +00:00
Ezequiel Victorero
4b43877324 ShortURL: Use the k8s API in the cleanup process (#109938) 2025-08-28 17:40:45 -03:00
Ryan McKinley
eda94a6434 DataSource: Support config CRUD from apiservers (#106996) 2025-08-28 22:28:26 +03:00
Yuri Tseretyan
15fab1cb99 Alerting: Update integration schema to support versions (#109969)
* add VersionedNotifierPlugin and method that converts NotifierPlugin to it

* return new schema if query parameter version=2

* add version to k8s model of integration

* fix open api snapshot

* add version to IntegrationConfig

* use current version on conversion

* create versioned integrations for test
2025-08-28 14:46:30 -04:00
Matias Chomicki
3a2483a73a Inline log details: adjust height on resize (#110310) 2025-08-28 20:24:47 +02:00
Moustafa Baiou
c73b3ccf6e Alerting: Fix copying of recording rule fields
Recording rule fields were not being copied correctly when duplicating an alert rule. This manifests as missing `TargetDataSourceUID` fields from the `Record` part of the rule when rules in a group are re-ordered.

Added some additional tests to ensure we cover the generation of recording rules in tests and fixed the copying logic to ensure all fields are copied correctly.
2025-08-28 14:07:00 -04:00
Mihai Turdean
d0412d9a0d Simplify local development config for iam-app-operator (#110164) 2025-08-28 11:38:47 -06:00
Ryan McKinley
43648d20c3 Preferences: Add read-only APIServer for preferences and dashboard stars (#106109) 2025-08-28 19:51:32 +03:00
Matias Chomicki
05c52936a8 New Log Details: Fix multiple displayed links and correlactions (#110296)
* LogLineDetailsFields: fix multiple link rows

* LogLineDetails: check all links to render link block
2025-08-28 18:47:11 +02:00
Adela Almasan
748010bb0b Canvas: Add option to disable tooltips for one-click elements (#109937) 2025-08-28 16:33:58 +00:00
Vardan Torosyan
90ccc8fc5a Docs: Add a reference to Terraform SCIM resource (#110290)
* Docs: Add a reference to Terraform SCIM resource

* Refactor troublshooting page

* Refactor troublshooting page
2025-08-28 18:33:14 +02:00
renovate[bot]
8458436b61 Update scenes to v6.32.0 (#110301)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-28 16:08:05 +00:00
Mustafa Sencer Özcan
1c840406b8 fix: improve rest client on integration tests (#110289) 2025-08-28 18:04:12 +02:00
Ezequiel Victorero
acc7f39e2e Saved Queries: Use new queries API (#110185) 2025-08-28 12:44:35 -03:00
Luminessa Starlight
9cf561f338 Accessibility: Constrain popups to screen height (#110241)
* limit ButtonSelect dropdown height to screen height and scroll the overflow

* limit color picker size to screen height and scroll if constrained
2025-08-28 11:43:38 -04:00
Peter Štibraný
ad571b50e9 Create context with deadline inside goroutine. (#110297) 2025-08-28 15:33:34 +00:00
Laura Fernández
b92f007894 Chore: Improve Playwright documentation (#110022) 2025-08-28 17:16:19 +02:00
Peter Štibraný
7a8010be0c search-after-write: improve observability (#110288)
* Improve tracing and observability around updating of index during search.
2025-08-28 16:02:47 +02:00
Tania
f76ef1ca87 Add url configuration to openfeature settings (#110258)
It looks like it's not possible to override with env variables those settings that does not exist in config.ini.
2025-08-28 15:28:03 +02:00
Jack Baldry
17f6b31e8c Fix link to site which is no longer relevant (#110214)
Fix link to abandoned web page

Wikipedia isn't likely to get hijacked in the same way.
2025-08-28 14:19:38 +01:00
Collin Fingar
537fe42418 Saved Queries: Entry point removal in Alerting (#110189)
* Saved queries: Remove query editor row buttons in Alerts

* Naming tweaks in test file
2025-08-28 09:09:54 -04:00
Nathan Vērzemnieks
bd5459fcf0 Plugins: Record plugin version in request metrics (#110210)
Plugins: record plugin version in request metrics
2025-08-28 15:05:39 +02:00
Sonia Aguilar
58e649a956 Alerting: Move alerting file to an alerting folder (#110257)
* move alerting.ts to alerting folder

* fix CODEOWNERS

* update betterer

* prettier 

* lint

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2025-08-28 12:11:19 +00:00
Yannick Alexander
7b78971455 TraceGraph: Add Crisp Edges Rendering (#108016)
added crisp edge image rendering for span graphs

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
2025-08-28 13:46:38 +02:00
Lauren
2e02596350 Alerting: disable error alerts in Filter V2 (#110269)
disable error notifications
2025-08-28 12:43:44 +01:00
Josh Hunt
abc1033b11 FS: Add prometheus metrics to dev stack (#109952)
* FS: Add prometheus metrics to dev stack

* remove comments
2025-08-28 11:02:09 +00:00
Misi
a5c05ba9c1 IAM: Moving code to the /pkg/apps/iam folder (#109985)
* wip

* Gen GetTeams with app sdk

* Revert some changes, cleanup

* Format iam_manifest.go

* Remove generated file

* Regenerate openapi defs

* Cleanup

* Remove TODO
2025-08-28 12:32:15 +02:00
Gabriel MABILLE
0284c3f1f9 grafana-iam: change resourcepermission to use a single verb (#110263)
* `grafana-iam`: change resource permission to only allow a single action set for now

* api changes
2025-08-28 11:25:38 +02:00
Josh Hunt
87fe2f4258 Chore: Fix no-restricted-imports config not applying correctly (#110232)
* fix types

* get useSelector from the correct place

* use declare module instead
2025-08-28 10:19:36 +01:00
Matheus Macabu
9b24e7eac8 Extensions: Declare tempo as being used by Enterprise (#110261) 2025-08-28 11:17:05 +02:00
Sven Grossmann
c3a159ec65 Logs: Rename Assistant button to Explain log line (#110266)
Logs: Rename to `Explain log line`
2025-08-28 09:10:02 +00:00
Matheus Macabu
7106ef640d OpenAPI: Regenerate files (#110262) 2025-08-28 10:41:45 +02:00
Sonia Aguilar
98bd10965b Alerting: Add feature toggle and extension point (#110141)
* Add feature toggle and extension point

* Update ff name for enrichment per rule

* update translations

* rename to addRuleFormEnrichmentSection

* pr feedback

* prettier

* update translations

* revert wrong change in tsconfig
2025-08-28 10:30:28 +02:00
Alex Bikfalvi
4d55358fd2 docs: Add Grafana-managed recording rules documentation for Tempo (#110097)
Creates comprehensive guide for configuring recording rules with TraceQL metrics queries,
including Tempo-specific considerations for time ranges, evaluation delays, and examples.

Signed-off-by: Alex Bikfalvi <alex.bikfalvi@grafana.com>
Co-authored-by: Kim Nylander <kim.nylander@grafana.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2025-08-28 10:22:56 +02:00
Hugo Häggmark
fe88f2366a Variables: shows warning when user tries to save erroneous variables (#110154)
* Variables: shows warning when saving variables with errors

* chore: updates after PR feedback

* chore: removes changes in non-scenes parts
2025-08-28 08:04:48 +02:00
grafana-pr-automation[bot]
bded48b4f3 I18n: Download translations from Crowdin (#110254)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-28 00:40:18 +00:00
maicon
12382d7f20 unistore/apistore: improve package docs (#110242)
Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-08-27 19:00:05 -03:00
Thomas Casteleyn
7768e507da docs(openapi): Cleanup tag usage and minor fixes (#105546)
* docs(openapi): Cleanup tag usage and minor fixes

* Add missing change

* More fixes

* make swagger-gen

* Remove unused documentation

* Update pkg/services/publicdashboards/api/query.go

Co-authored-by: Artur Wierzbicki <artur@arturwierzbicki.com>

* Run make swagger-gen

* Run make openapi3-gen

---------

Co-authored-by: Artur Wierzbicki <artur@arturwierzbicki.com>
2025-08-28 01:51:04 +04:00
Paul Marbach
76b1e5e389 Table: Migrate to field-level wrapText toggle, use standard hideFrom.viz for hidden fields (#109297)
* Added wrap text to table options and removed from multiple cell options

* Removed wrap text from cell options shared file

* Edited

* Edited

* Table: Migrate to field-level wrapText toggle

* migrate hidden -> hideFrom.viz as well

* more cleanup from rebase

* restore options that got killed in the rebase

* when wrap text is enabled for the whole table, exclude columns that do not make sense

* fix TableNG unit tests

* fix i18n

* unit tests for the migrations

* sort out e2e issue

* fix migration unit test

* fix backend migration test as well

* add a dashboard for the v12.2 table migrations

* update dev-dashboards.lisonnet

* make gen-jsonnet

* one of the panel versions didnt get updated

---------

Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
2025-08-27 16:37:02 -04:00
owensmallwood
699bffc9e4 Unified Storage: Dont need to test casing with ordering (#110245)
Dont need to test casing with ordering.
2025-08-27 14:06:43 -06:00
jcolladokuri
541e378891 Prometheus: QueryEditor fix error when switching from code to builder for undefined aggregation operations (#110179)
* convert stddev to function instead of aggregation

* adds missing stdvar, limitK and limit_ratio agg functions

* add tests
2025-08-27 12:04:13 -07:00
Kristian Bremberg
be4dc6fdb6 BackendSrv: remove ampersand in validatePath (#109725)
remove ampersand from fetch URL split

Co-authored-by: Isaiah Grigsby <isaiah.grigsby@grafana.com>
2025-08-27 18:30:06 +00:00
Roberto Jiménez Sánchez
93a35fc7be Provisioning: Move apifmt, loki and safepath to provisioning app (#110226)
* Move apifmt

* Move safepath

* Move Loki package

* Regenerate Loki mock

* Missing file for Loki
2025-08-27 13:26:48 -05:00
Matias Chomicki
e78f6b6b37 New Logs Panel: Extend line wrapping to control JSON formatting (#110224)
* LogListControls: add third state to line wrapping

* LogListContext: decouple wrapLogMessage and prettifyJSON from state object

* Processing: reformat JSON according to prettifyJSON

* LogListControls: update class names and colors

* onLogOptionsChangeType: update type signature

* Update type

* Update tests

* Dont translate the plus sign

* Comments
2025-08-27 17:34:14 +00:00
maicon
cfe73925cd Add index IDX_folder_org_id_parent_uid_uid (#110131)
* Add index IDX_folder_org_id_parent_uid

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

* Force index on Dashboard Permission Filter (MYSQL)

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-08-27 14:29:11 -03:00
Kyle Brandt
dd4ffc9918 SQL Expressions: Add setting to limit length of query (#110165)
sql_expression_query_length_limit

Set the maximum length of a SQL query that can be used in a SQL expression. Default is 10000 characters. A setting of 0 means no limit.
2025-08-27 12:08:25 -04:00
Alex Khomenko
74cfe7b803 Provisioning: Add branch selection in Onboarding Wizard and Config page (#110217)
* Provisioning: Add branch selection component with fetching logic

* Simplify api call

* Use fetch

* Simplify branch logic

* Remove branch selector

* Add repo fetching

* Restructure

* Add missing files

* Ad branch selection to config form

* Cleanup

* Remove isDfault

* useAsync

* useAsync for branch loading

* Remove repo fetching

* Refactor

* Allow custom value

* Add pagination

* dedupe

* useBranchOptions

* format

* Remove types

* comments

* Fix test

* Add translations
2025-08-27 18:47:37 +03:00
Will Assis
7921c7da23 unified-storage: reuse index if RV is set even if it is outdated (#110184)
* unified-storage: reuse index if RV is set even if it is outdated and searchAfterWrite FF is enabled
2025-08-27 11:10:54 -04:00
Lauren
edd59d634e Alerting: Display Error Message in Alert History View (#110123)
* add error message to alert history view

* fix lint and typing

* resolve design comments- add show/hide button

* resolve design comments- make error box grey

* run yarn i18n-extract

* separate PR

* resolve PR comments

* fix lint

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2025-08-27 15:13:52 +01:00
Matias Chomicki
a25116dbd5 New Log Panel: Extend clickable area (#110156)
* LogLine: make the entire line clickable

* New Logs Panel: Extend log line clickable area
2025-08-27 15:37:28 +02:00
Jacob Valdez
5cde7a3a16 Docs: Moving some guides around (#109941)
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2025-08-27 08:35:36 -05:00
Kevin Minehart
aa458d4aea Docs: Deprecate grafana/grafana-oss docker repo in favor of grafana/grafana (#110065)
* deprecate grafana/grafana-oss docker repo

* fix typo

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

Co-authored-by: Jacob Valdez <jacob.valdez@grafana.com>

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

Co-authored-by: Jacob Valdez <jacob.valdez@grafana.com>

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

Co-authored-by: Jacob Valdez <jacob.valdez@grafana.com>

* Apply suggestions from code review

Co-authored-by: Jacob Valdez <jacob.valdez@grafana.com>

---------

Co-authored-by: Jacob Valdez <jacob.valdez@grafana.com>
2025-08-27 08:34:59 -05:00
ismail simsek
5fe58431d4 Chore: Remove prometheusCodeModeMetricNamesSearch feature toggle (#109024)
* remove feature toggle prometheusCodeModeMetricNamesSearch

* remove code that relies on prometheusCodeModeMetricNamesSearch feature toggle

* remove code that related to prometheusCodeModeMetricNamesSearch feature toggle

* remove commented code lines

* remove commented code line

* Put codeModeMetricNamesSuggestionLimit selector back

* remove redundant unit test
2025-08-27 15:11:58 +02:00
Gabriel MABILLE
b6226c6173 grafana-iam: Skeleton of the resource permission api backend (#110218)
* Extract from #108753

Co-Authored-By: mohammad-hamid <mohammad.hamid@grafana.com>

* Tackle create

Co-Authored-By: mohammad-hamid <mohammad.hamid@grafana.com>

* WIP use identity store to resolve role names

* Commit empty service for now

* Clean

* For now only show name and created at

---------

Co-authored-by: mohammad-hamid <mohammad.hamid@grafana.com>
2025-08-27 15:00:09 +02:00
Victor Marin
a0075ffdd6 DataSourceAPI: Modify getFiltersApplicability param type (#110147)
* modify getFiltersApplicability param type

* modify getFiltersApplicability param type
2025-08-27 12:23:29 +00:00
Josh Hunt
67b22177a8 Accessibility: Ensure dashboard edit panel inputs have accessible labels (again) (#110163)
* Revert "Revert: "Accessibility: Ensure dashboard edit panel inputs have accessible labels" (#109984)"

This reverts commit 7331a2e8c3.

* revert test change that accidentally catches the issue

* use useId in some places

* make ID required

* fix some ids

* fix a couple more

* add ids to variables

Co-authored-by: Ashley Harrison <ashharrison90@gmail.com>

* add ids to get viz options

* add ids in getPanelFrameOptions

* add getFieldOverrideElements

* change name

* Replace other uuids with hard coded ids

* hoist useId out

* use some new selectors for table e2es

* commit betterer crimes

* use useId where we can

* Revert "use useId where we can"

This reverts commit 34090ac75d.

* fix some dashboard layouts tests

* rm AutoCellOptionsEditor

* idk try and fix tests

* restore fixed its for url state

---------

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Co-authored-by: Ashley Harrison <ashharrison90@gmail.com>
Co-authored-by: Paul Marbach <paul.marbach@grafana.com>
2025-08-27 13:10:47 +01:00
Matheus Macabu
85c567609d Secrets: Add result label for decryption errors (#110213) 2025-08-27 14:09:43 +02:00
Victor Marin
86c7f96fcb TextBoxVariable: Fix change detection for query prop (#109895)
* fix textbox variable model save on change

* better test name

* betterer

* fix test

* fix test
2025-08-27 10:59:07 +00:00
Stijn Van Hoey
f31560534a Emails: Fix template brackets in passwordless_verify_ templates (#107108) 2025-08-27 12:47:02 +02:00
Costa Alexoglou
9785e573aa Provisioning: Fix Dashboard Creation For First-Level Repository Folders (#109962) 2025-08-27 12:20:57 +02:00
Matheus Macabu
fa831577f1 Dependencies: Bump github.com/go-viper/mapstructure/v2 to 2.4.0 (#110201) 2025-08-27 11:28:10 +02:00
Oscar Kilhed
be80f36248 Mixed datasource: Use getDefaultQuery from the datasource when creating new queries when using the mixed datasource (#110158)
* get default query when creating a new query in mixed ds

* fix typo

* fix any in test
2025-08-27 11:24:23 +02:00
grafana-pr-automation[bot]
f124fbc38f I18n: Download translations from Crowdin (#110194)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-27 08:29:48 +00:00
Matheus Macabu
616311508d Secrets: Refactor cue schema with new version of App SDK (#110199) 2025-08-27 10:16:17 +02:00
Ryan McKinley
88cd7df18d Provisioning: Show alert when token is missing (#110088) 2025-08-27 05:34:27 +00:00
Kevin Minehart
b83ca0712b Add dockerfile test to github actions (#110191)
* Add dockerfile test to github actions

* fix github action

* Update CODEOWNERS
2025-08-26 19:15:36 -05:00
Paul Marbach
ec38e0bd58 Table: Enable tableNextGen by default (#109832)
* Table: Enable tableNextGen by default

* kill off tableNextGen feature flag

* i18n

* i18n

* i18n

* remove state beta from table panel

* fix migration for 0 decimals migration

* add explicit auto option bacjk

* match impl from previous migrations code

* try changing some selectors

* remove timezone test from Cypress

* fix PlaylistForm unit test

* fix some selectors

* clean up i18n, are these gridcells somehow?

* return a couple of selectors caught in the dragnet to being cell instead of gridcell

* fix i18n for en-US

* clean up gdevs now that wrapHeaderText has no default

* update role in e2e for when it is re-enabled
2025-08-26 17:25:16 -04:00
Isabel Matwawana
1c13f4a0f2 Docs: Change height unit from kg to inches (#110188) 2025-08-26 20:20:27 +00:00
Collin Fingar
eb6b49ca62 Saved Queries: Rename entrypoint for dashboards (#110186) 2025-08-26 16:14:07 -04:00
Jacob Valdez
41f7774ccf Docs: Fixing broken links in data sources (#110068)
Co-authored-by: Irene Rodriguez <irene.rodriguez@grafana.com>
Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>
2025-08-26 14:22:05 -05:00
maicon
99fc606e17 Add permission role_id action index (#110125)
* Add permission role_id action index

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

* Drop permission role_id index

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-08-26 16:12:13 -03:00
owensmallwood
b4ed217656 Unified Storage: Removes check for name ordering and adds test (#110183)
removes check for name ordering. Adds test to assert expected name and rv ordering.
2025-08-26 12:39:30 -06:00
Matias Chomicki
740945511d New Logs Panel: More analytics (#110149)
* LogLineDetailsDisplayedFields: report fields reorganization

* LogLineDetailsTrace: analytics

* Prettier

* Rename interactions key
2025-08-26 17:46:01 +00:00
Hugo Kiyodi Oshiro
578e07fd0e Plugins: Fix typo in connections homepage card (#109793) 2025-08-26 14:43:46 -03:00
Mustafa Sencer Özcan
3056924d10 fix: enforce timeout for requests run in qos (#110162) 2025-08-26 18:40:22 +02:00
Alexander Akhmetov
5e1f79ca83 Alerting: Fix alert rule comparison with the same missing_evals_to_resolve (#110174) 2025-08-26 18:20:50 +02:00
Yuri Tseretyan
c5667476a7 Alerting: Update ticker to accept logger in the constructor (#110176)
* add logger to ticker
* move ticker to schedule
2025-08-26 12:17:48 -04:00
Kristina
1c587a983f Correlations: Add better handling to correlation type and update documentation (#109922)
* Add better type handling when correlation is created from provisioning and fix documentation

* add external example

* change error when deprecated key is used
2025-08-26 10:14:05 -05:00
Matheus Macabu
fc739de01d Dependencies(js): Update sha.js to 2.4.12 (#110153) 2025-08-26 16:42:48 +02:00
Mihai Turdean
3eebe43c6d Slight refactor of Zanzana GRPC Client to use it in the IAM Folder Operator (#110120) 2025-08-26 08:34:15 -06:00
Matheus Macabu
60f31342c0 Secrets: Remove proxy certs (#110140) 2025-08-26 16:24:26 +02:00
Kim Nylander
2cba22c092 [DOC] Tempo DS: Clone a provisioned data source doc (#110114)
* Tempo DS: Clone a provisioned data source doc

* Chagnes from prettier

* Update docs/sources/datasources/tempo/configure-tempo-data-source.md
2025-08-26 14:14:41 +00:00
Matheus Macabu
78ac555c4d CI: Run gofmt on Linting action (#110159)
* CI: Run gofmt on Linting action

* Chore: Run gofmt on all packages
2025-08-26 16:14:03 +02:00
Andres Martinez Gotor
d34338be02 Advisor: Avoid pagination when listing checks (#110161) 2025-08-26 16:03:34 +02:00
Kyle Brandt
58c8fdad7a SSE/QuerySvc: (Chore) Remove expression parser code and feature toggle (#110117) 2025-08-26 13:21:24 +00:00
Steffen Baarsgaard
b047175330 Auth: Support JWT configs tls_client_ca and jwk_set_bearer_token_file (#109095)
* Auth.jwt: Support config tls_client_ca

* Auth.jwt: Support config jwk_set_bearer_token_file

* Docs: Document new JWKS url options and mention tls_skip_verify_insecure

* Docs: Fix note on JWKS response caching

* chore: Refactor getBearerToken into standalone function

* docs: Apply wording/formatting suggestions

Co-authored-by: Victor Cinaglia <victorcinaglia@gmail.com>

* chore: Simplify ca helper function using testcerts

Co-authored-by: Victor Cinaglia <victorcinaglia@gmail.com>

* chore: Update doc and add comment preventing potential erroneous optimization

Co-authored-by: Victor Cinaglia <victorcinaglia@gmail.com>

chore: Reword comment prevent an erroneous refactor

* docs: Update casing

Co-authored-by: Victor Cinaglia <victorcinaglia@gmail.com>

---------

Co-authored-by: Victor Cinaglia <victorcinaglia@gmail.com>
2025-08-26 09:50:06 -03:00
Andres Martinez Gotor
145577831b Chore: fix betterer issues (#110100) 2025-08-26 14:45:27 +02:00
Moustafa Baiou
5724fae778 Alerting: Add Extended List Query for Alert Rules w/pagination (#109360)
* Alerting: Add Extended List Query for Alert Rules w/pagination

This adds an extended query which allows filtering by the kind of rule (Recording or Alerting) and supports pagination.

Pagination tokens will allow us to list all rules paginated, regardless of the rule group.

---------

Co-authored-by: William Wernert <william.wernert@grafana.com>
2025-08-26 08:20:47 -04:00
Ivan Ortega Alba
a7e4447d0e DashboardMigration: V16 was removing panels when repeatInteration is null (#110151) 2025-08-26 14:20:22 +02:00
Matheus Macabu
6e3ded8432 Preferences: Add module to Go workspace (#110148) 2025-08-26 13:30:15 +02:00
Will Assis
ac641e07fe unified-storage: increase sprinkles default limit from 100 to 10000 (#110135)
increase sprinkles default limit from 100 to 10000
2025-08-26 10:59:15 +02:00
Peter Štibraný
067b6e20a2 Fix name of the summary, remove _total suffix (#110143) 2025-08-26 08:48:05 +00:00
Andres Martinez Gotor
07b208ac43 Advisor: Fixes for retry item logic (#109918) 2025-08-26 10:44:47 +02:00
grafana-pr-automation[bot]
f144f74995 I18n: Download translations from Crowdin (#110138)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-26 08:41:06 +00:00
Roberto Jiménez Sánchez
e196f13b2b Provisioning: Introduce Repository Factory with extras (#110018) 2025-08-26 10:37:47 +02:00
Konrad Lalik
6a050ff551 Alerting: Fix permission checks for the Import to GMA (#109950)
Fix permission checks for the Import rules buttons and import to GMA page
2025-08-26 08:39:36 +02:00
Hugo Häggmark
6b67b394fd Chore: fixes React hook betterer for EditDataSource.test.tsx (#110104) 2025-08-26 06:56:51 +02:00
owensmallwood
bacb5c576c Unified Storage: Fix yield statement (#110134)
fix yield
2025-08-25 20:06:24 -06:00
Kristina
e87652060c Transformations: Handle special case with nested dataframes/JSON (#109876)
* Fix crashes

* Remove inline snapshot
2025-08-25 19:14:04 -05:00
Ezequiel Victorero
649e9aa8ca SavedQueries: Create feature flag (#109944) 2025-08-25 18:22:09 -03:00
Alex Spencer
c658b702f6 Transformations: Organize by fields betterer fix (#110127)
fix: betterer
2025-08-25 13:02:05 -07:00
Paul Marbach
67502a5a7c Table: Color text, color background, and apply to row can co-mingle (#109939)
* Table: Color text, color background, and apply to row can co-mingle

* fix test

* lean on existing memoization and utils more

* just make that method a prop of TableCellRenderer

* add prop to tooltip stuff as well

* fix another test

* update TableNG with apply to row mixed color cell table

* simplify color overrides table

* special case: apply to row transparent bg

* add unit test

* delete erroneous import

* update for readability
2025-08-25 19:47:11 +00:00
Brendan O'Handley
4d2decfa0c Tempo: automatic native histogram check for service graph (#108394)
* add new dataquery field for identifying which histogram type

* run make gen-cue to update tempo dataquery

* add native histogram check function & look for dataquery flag

* remove console log

* check for native histograms in queryfield

* only run query when histograms have not been migrated yet

* use less resource intensive query, just check if series are there

* fix type issue

* use series as better for detecting existence of a metric, fix betterer things

* fix type

* fix import

* remove metric name from func

* use datasrource func and don't make a new one

* remove string for boolean check in service graph functions

* fix bug for switching tempo data sources

* handle race condition for unmounting before async call is completed

* fix imports

* add todo to implement getNativeHistograms in Prometheus data source

* add todo to remove automatic check once tempo fully migrates to native histograms

* add todo to remove the native histogram config option
2025-08-25 19:43:22 +00:00
Dominik Prokop
a806f2db99 Update scenes to v6.30.4 canary and document profile isolation (#110112)
* Update scenes to v6.30.4 canary and document profile isolation

- Bump @grafana/scenes and @grafana/scenes-react to 6.30.4--canary.1225
- Document SceneRenderProfiler overlapping profile handling

* Update scenes
2025-08-25 20:53:50 +02:00
Matias Chomicki
2af5edbebe New Log Details: fix attribute extension links (#110119)
* New Log Details: fix attribute extension links

* LogLineDetailsFields: do not render empty divs
2025-08-25 13:32:48 -05:00
Stephanie Hingtgen
ad30905969 Feature toggles: Cleanup generated file (#110124)
cleanup generated file
2025-08-25 18:28:42 +00:00
Stephanie Hingtgen
581a34834e Data source: Modify docs to mention uids cannot be updated (#110121) 2025-08-25 12:51:24 -05:00
Ryan McKinley
99f640fbab Provisioning: Always fetch token (#110116) 2025-08-25 18:57:27 +02:00
Matias Chomicki
4eeb6c3ed8 Logs Panel: fix conditionally called React hooks (#110113)
* Logs Panel: fix conditionally called React hooks

* Update betterer
2025-08-25 17:50:49 +02:00
Kyle Brandt
4f0cb47d3c SQL Expressions: Rework backend errors and error instrumentation (#109633)
* Capture error_type label on metrics/traces
* Make error messages more helpful to user
* Use errutil, categorized errors, and tie them to error_type (category in code)
* Misc trace fixes
* Add metric to track SQL input conversion
2025-08-25 11:13:42 -04:00
linoman
539b413584 SAML catalog: Add metrics for saml catalog logins (#109904)
* Add samlCatalog metric

* Add samlCatalog metric to stats

* Define hook for successful SamlCatalog metrics

* Register new hook

* Add tests

* Rework the collected stats and split it into versions
2025-08-25 16:21:10 +02:00
Matias Chomicki
9646a06a91 Log Details: Show embedded trace if available (#109926)
* LogLineDetails: get link details from href

* links: create module

* LogList: pass time zone and time range to Details

* LogLineDetailsTrace: create component

* InlineLogDetails: pass time range and time zone

* LogLineDetailsTrace: show loading and error messages

* Update tests

* LogLineDetailsTrace: update message styles

* Prettier

* Add test

* LogLineDetails: add embedded metric test

* Prettier

* LogLineDetailsTrace: use unique request id

* LogLineDetailsTrace: reset state when props change

* Chore: rename

* Chore: rename

* links: add integration test

* Prettier
2025-08-25 14:06:01 +00:00
Andrej Ocenas
dcea3315fa Folders: Migrate bulk delete actions (#109525)
* Split delete items call and use new API

* add test

* Add translation

* Remove unnecessary array spread

* move check provisioned into util function

* wip conflict fix

* Undo file rename

* Remove unneeded handler for now

* Fix delete invalidating getFolder calls

* Don't call hooks conditionally

---------

Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
2025-08-25 13:55:46 +02:00
Zoltán Bedi
1e0587001d PostgreSQL: PGX default to time series format when no format is specified in queries (#110028)
* PostgreSQL: PGX default to table format when no format is specified in queries

* Change to default to time series
2025-08-25 13:31:57 +02:00
schoen2
bd06c062b7 Dashboard: Fix AngularJS deprecation in grafana-overview dashboard (#106462)
Co-authored-by: Hannes Schön <hannes.schoen@diva-e.com>
Co-authored-by: Timur Olzhabayev <timur.olzhabayev@grafana.com>
2025-08-25 12:55:02 +02:00
Ryan McKinley
27c92a6644 Dashboards: Make conversion data optional (#109965) 2025-08-25 13:47:42 +03:00
Torkel Ödegaard
da5209be1e Dashboards: Add support for full screen panel view and embedded (solo panel) route to repeated panels and new layouts (via new SoloPanelContex) (#107375)
* SoloPanelContext: First steps

* working in default grid

* Fixes

* Update

* SoloPanelPage

* Fixing search layout

* Fixes

* Fixes

* Update

* remove comments

* Solving panel not found

* Fix

* fix lint

* fix lint
2025-08-25 12:23:11 +02:00
Ryan McKinley
7434a9d725 Provisioning: Save temporary repository with sync.target=folder (#110094) 2025-08-25 13:14:12 +03:00
ismail simsek
35b7341638 Chore: Update project urls for zipkin, jaeger, tempo and parca (#110095)
Update project urls for zipkin, jaeger, tempo and parca
2025-08-25 09:57:54 +00:00
Stephanie Hingtgen
1091054c25 Unistore: Wire up inline secure values (#110072)
* Unistore: Wire up inline secure values

* add validation and test

* linter
2025-08-25 02:48:49 -06:00
Roberto Jiménez Sánchez
e7ccefcf92 Provisioning: Add Standalone Job Controller Without Job Processing (#109610)
* Add standalone job controller
* Add makefile
* Add limit on the current implementation
* Move job controllers to app package
* Add TLS flags
2025-08-25 08:48:40 +00:00
Victor Marin
9204a08207 Scopes: Fix zod schema for scope spec (#109348)
* fix zod schema for scope spec

* keep only title and filters required
2025-08-25 08:35:05 +00:00
Peter Štibraný
4c996a8a7f search: Guarantee search-after-write consistency (#109972) 2025-08-25 10:13:07 +02:00
Roberto Jiménez Sánchez
9a668ce06f Provisioning: Use API Client For Job Processing (#110044) 2025-08-25 09:46:20 +02:00
grafana-pr-automation[bot]
1c14780335 I18n: Download translations from Crowdin (#110080)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-24 00:41:24 +00:00
Hasith De Alwis
9fb5790166 Trend/TimeSeries: Add "Show values" option (#108090)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2025-08-23 12:33:45 +00:00
Kevin Minehart
67a6866c7b CI: Skip expensive tests suites on push in forks and mirrors (#110074)
Skip expensive tests suites on push in forks and mirrors
2025-08-23 02:44:51 +00:00
grafana-pr-automation[bot]
ded6ba49f3 I18n: Download translations from Crowdin (#110076)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-23 00:40:48 +00:00
Kevin Minehart
488caa12ec CI: Avoid running on 'push' in mirrors / forks (#110063)
* CI: Avoid running on 'push' in mirrors / forks

* use single quotes
2025-08-22 18:35:52 -05:00
Sarah Zinger
d51e6a16bc DS-Querier: support group queries (#109879) 2025-08-22 14:59:30 -04:00
Sarah Zinger
333a21f19d DS-Querier: Fix data source not found (#110064) 2025-08-22 14:59:07 -04:00
Sarah Zinger
a38c113227 Create option to read ini file without validating frontend files (#109990) 2025-08-22 18:28:40 +00:00
Isabel Matwawana
021726dfe2 Docs: Remove empty admonition and add a new step (#110058) 2025-08-22 17:56:00 +00:00
Alyssa Joyner
1cb90cd3b2 [InfluxDB]: Design quick wins (#109680) 2025-08-22 11:05:45 -06:00
Ryan McKinley
ce65391067 Provisioning: Use inline secrets for gitsync (#109908)
Co-authored-by: Clarity-89 <homes89@ukr.net>
Co-authored-by: Roberto Jimenez Sanchez <roberto.jimenez@grafana.com>
2025-08-22 18:38:28 +02:00
Kevin Minehart
04f392d37b CI: Push docker images to dockerhub on merges to main (#110056) 2025-08-22 15:30:11 +00:00
Jev Forsberg
3cd03c5932 Chore: Fix example of major release (#110007)
baldm0mma/ fix example of major release
2025-08-22 09:08:04 -06:00
Kevin Minehart
2450f6d0de CI: update backport workflow with more conditions (#109541)
update backport workflow with more conditions
2025-08-22 15:03:38 +00:00
Miguel Palau
cbb54c517d Refactor: Remove unused extension links from DataSourceTestingStatus … (#110004) 2025-08-22 17:02:35 +02:00
Tom Ratcliffe
743bc1cfe2 Chore: Upgrade grafana eslint config and re-enable rule of hooks rules (#110029) 2025-08-22 15:38:02 +01:00
Isabel Matwawana
8d863260e4 Docs: Add degrees to rotation angle descriptions (#109995) 2025-08-22 10:11:13 -04:00
Isabel Matwawana
ce1ff46f4a Docs: Folder name character limitations (#109992) 2025-08-22 10:10:54 -04:00
Yunwen Zheng
e5a7d3f104 NestedFolderPicker: Add rootFolderUID prop (#109991)
* NestedFolderPicker: add rootFolderUID prop
2025-08-22 13:37:39 +00:00
Tom Ratcliffe
ff7408b541 Chore: Update betterer issue template and add script for creating issues (#110036) 2025-08-22 12:36:05 +00:00
Yaelle Chaudy
bf8979a7bf Dynamic Dashboards: Added dynamic dashboard feature toggle info as prop to dashboards events (#110024)
* Added dynamic dashboard feature toggle info as prop to dashboards events

* splitting out sharing interactions from dashboards one and fixing tests
2025-08-22 14:28:27 +02:00
Tom Ratcliffe
85f1f0d227 Chore: Skip CodeQL depending on changed files (#109959) 2025-08-22 13:13:28 +01:00
lean.dev
21fc58f632 SecretsManager: fix span name for SetVersion operations (#110035)
SecretsManager: fix span name for SetVersion operations
2025-08-22 12:01:41 +00:00
Matheus Macabu
d2ec846224 Chore: Remove Bingo as Drone is removed (#110020) 2025-08-22 13:49:44 +02:00
Roberto Jiménez Sánchez
ed13225b71 Provisioning: Refactor History Writer to Use API Client (#110031)
* Separate interfaces for writing and reading in job history

* Register the 2 writers

* Commit unsaved file

* Do not validate or mutate history jobs

* Change the TODOs
2025-08-22 13:41:00 +02:00
Ryan McKinley
c67a6d820c Provisioning: Remove cue generated go types (for now) (#110030) 2025-08-22 11:26:11 +00:00
Alexander Akhmetov
5d3be370e0 Alerting: Fix provisioning API returning 500 for validation errors in notification settings (#110006) 2025-08-22 13:16:06 +02:00
Alexander Akhmetov
b4ff398865 Alerting: Fix folder permissions for Editor role in Prometheus import (#109977)
Alerting: Fix folder permisisons for Editor role in Prometheus import
2025-08-22 13:15:53 +02:00
Matheus Macabu
33ca5f166f Secrets: Remove feature toggle check in dependency register (#110026) 2025-08-22 13:14:18 +02:00
Alex Khomenko
3e79ccabe9 Provisioning: Add option to keep resources when deleting repository (#109955)
* Provisioning: Add option to keep deleted repository resources

* Use existing repository

* Update confirm modal

* Update text
2025-08-22 13:20:03 +03:00
Santiago
6976ac4caa Alerting: Fix bad field used in LogContext (#110023) 2025-08-22 10:13:02 +00:00
Alexandra Valentine-Ketchum
76a20ff66b Fix typo in docs for grafana.ini security configuration options (#108848)
Co-authored-by: Irene Rodriguez <irene.rodriguez@grafana.com>
2025-08-22 09:08:24 +00:00
Anna Urbiztondo
f82da0430e Docs: Plugins - more edits (#109777)
* Some more touches

* More edits

* WIP

* LBAC

* Improve header, Prettier
2025-08-22 10:00:07 +02:00
Alex Bikfalvi
fe2d9ce16a feat(Tempo): Syntax and autocompletion for compare and with (#108824)
Support syntax highlighting and autocompletion for:

* `compare(...)` TraceQL metrics function
* `with(...)` query hint

Partially fixes: https://github.com/grafana/grafana/issues/103764

Signed-off-by: Alex Bikfalvi <alex.bikfalvi@grafana.com>
2025-08-22 09:42:28 +02:00
Hugo Häggmark
6822bea9ed Plugins: updates plugin schema description for language prop (#110013) 2025-08-22 09:24:54 +02:00
Konrad Lalik
27c845828b Alerting: Improve API error payload handling (#109956)
* Handle error.data being set to null

* Tidy up code
2025-08-22 08:39:25 +02:00
grafana-pr-automation[bot]
ca19dc44db I18n: Download translations from Crowdin (#110009)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-22 00:39:56 +00:00
Dominik Prokop
86aa5dca11 Migration v14: Shared crosshair to graph tooltip migration (#109606)
* migrate to v19

* migrate to v18

* Migration to be verified: v17 Convert minSpan to maxPerRow in panels

* Migration to be verified: 16 Grid layout migration

* Refactor v17 and v19 migrations to use shared helper functions

* Migration to be verified: 15 No-op migration for schema consistency

* Migration to be verified: 14 Shared crosshair to graph tooltip migration

* cleanup

---------

Co-authored-by: Haris Rozajac <haris.rozajac12@gmail.com>
Co-authored-by: Haris Rozajac <58232930+harisrozajac@users.noreply.github.com>
2025-08-21 16:44:14 -06:00
Paul Marbach
61c160b30f Table: Fields and Column Widths arrays can get out-of-sync on length (#109997)
* Table: Fields and Column Widths arrays can get out-of-sync on length

* slight cleanup for e2e

* remove a couple of page desctructures
2025-08-21 20:49:53 +00:00
Jev Forsberg
a180601968 Chore: Clarify version update content (#109987)
* baldm0mma/ clarify update content

* baldm0mma/ scan and update rest of doc

* baldm0mma/ run prettier

* baldm0mma/ rerun yarn run prettier:write

* Update docs/sources/upgrade-guide/when-to-upgrade/index.md

Co-authored-by: Jacob Valdez <jacob.valdez@grafana.com>

---------

Co-authored-by: Jacob Valdez <jacob.valdez@grafana.com>
2025-08-21 13:59:27 -06:00
Luminessa Starlight
7331a2e8c3 Revert: "Accessibility: Ensure dashboard edit panel inputs have accessible labels" (#109984)
* Revert "Accessibility: Ensure dashboard edit panel inputs have accessible labels (#109546)"

This reverts commit 4d067059c9.

* kick CI
2025-08-21 15:23:23 -04:00
Paul Marbach
e91c12db64 Table: Prevent re-created functions and arrays (#109929)
* Table: Button up re-created functions and arrays

* use the single styles object

* restore automatically adjusted line

* restore automatically adjusted line

* update computeColWidths to create a string to help compare col widths

* use compareArrayVals for widths comparisons

* satisfy linter

* whoops, had this backwards

* clean up case with frozen columns

* remove dep

* avoid unnecessary change to computeColWidths
2025-08-21 15:22:30 -04:00
alerting-team[bot]
54f741f7a5 Alerting: Update alerting module to 10915888e4f099586ad37bea5f4a70f45101d2f5 (#109989)
[create-pull-request] automated change

Co-authored-by: yuri-tceretian <25988953+yuri-tceretian@users.noreply.github.com>
2025-08-21 18:50:40 +00:00
Adam Simpson
c522979e09 query service: add ruleuid to error log (#109986)
* query service: add ruleuid to error log

* little fix

---------

Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>
2025-08-21 18:17:22 +00:00
Paul Marbach
65317ffcbd Table: fix use row height after lines-to-pxs update (#109943) 2025-08-21 14:02:06 -04:00
Leon Sorokin
c4460dc568 Transformations: Fix XYChart legend toggle with Organize -> Partition (#109771) 2025-08-21 17:56:27 +00:00
Adela Almasan
25c13c55c0 Canvas: Dynamic connection direction (#108423) 2025-08-21 12:49:42 -05:00
Tom Ratcliffe
e49230d3eb Folders: Fix create button disable on submit & duplication logic (#109696) 2025-08-21 17:40:50 +01:00
Yunwen Zheng
6d538f62c8 Provisioning components organize (#109741)
* Provisioning components organize
2025-08-21 12:17:43 -04:00
Lauren
56c8e53a99 Alerting: Improved filters part 2 (#109738)
* refactor: split out form component into separate functions

* add storybook variation for infoOption in dropdown

* add tracking to search input for v2 view, tidy up tracking functions

* add tests for filter tracking

* refactor: boy-scouting V1 filter

* move FiltersV2 to rule-list directory

* fix lint issue

* resolve PR comments round 1

* resolve PR comments round 2- update file locations

* generate apis

* fix tests

* fix lint issue

* fix imports
2025-08-21 16:04:00 +00:00
Tom Ratcliffe
82d36a259e Folders: Refactor Browse/Dashboards list tests (#109421) 2025-08-21 15:46:12 +01:00
Matheus Macabu
91748fe115 Auditing: Document new options for recording datasource query request/response body (#109951) 2025-08-21 16:05:13 +02:00
Paul Marbach
2ab5df43e0 Table: Add unit tests for MaybeWrapWithLink (#109932) 2025-08-21 16:00:18 +02:00
Matias Chomicki
01d48e26fe New Logs Context: Add time window option (#109901)
* LogLineDetails: add open and close events

* LogLineContext: add interval picker

* Log Context: allow to customize the time window around the log

* Loki: support custom time window

* LogLineContext: implement variable time window

* Remove console

* LogLineContext: store and format options

* LogLineContext: replace radio with combobox

* LogLineContext: run time window on the first request

* InfiniteScroll: use loading to prevent fake events

* Chore: update old comment

* Minor reorg

* Clean up unnecessary styles

* LogLineContext: fix overflow and scroll

* LogList: fix loading prop

* Update comment

* Translations

* Update public/app/features/logs/components/panel/LogLineContext.tsx

* LogLineContext: move default to constant

* LogLineContext: add test

* Prettier

* New Logs Context: Generic DS support for time window option (#109934)

* chore: add supportsAdjustableWindow to logs context interface

* Build

---------

Co-authored-by: Galen Kistler <109082771+gtk-grafana@users.noreply.github.com>
2025-08-21 13:50:05 +00:00
Alexander Zobnin
2b254ed623 Zanzana: Add server side metrics (#109923)
* Zanzana: Add metrics to server side

* Zanzana: Collect check duration

* add metrics for other methods
2025-08-21 15:20:07 +02:00
Matheus Macabu
88507add9d Secrets: Fix OpenAPI definition for create resource (#109960) 2025-08-21 14:50:52 +02:00
Tom Ratcliffe
5c542478a7 Folders: Update folder hook tests to use mock server handlers (#109341) 2025-08-21 12:58:49 +01:00
Alexa Vargas
806872bfce Grafana UI: Tabs - add missing style for disabled tabs (#109907)
* Grafana UI: Tabs - add disabled style

* apply PR feedback
2025-08-21 13:50:22 +02:00
Misi
aade015d96 IAM: Change required permission in the app (#109894)
* Update required permissions

* Align tests
2025-08-21 11:33:56 +00:00
Hugo Häggmark
17438dcb6d Plugins: adds languages to the plugin schema (#109949) 2025-08-21 13:09:31 +02:00
Hugo Häggmark
bba89fdb42 i18n: fixes translations for plugins before v12.1.0 (#109948)
i18n: fixes translated plugins before 12.1.0
2025-08-21 13:06:50 +02:00
Tom Ratcliffe
429cb9d916 Chore: Update grafana eslint config version and fix rule violations (#109666) 2025-08-21 11:59:41 +01:00
Ryan McKinley
6f940f855e Chore: Remove public dashboard cue (#109940) 2025-08-21 13:58:36 +03:00
Anna Urbiztondo
66b146a9df Docs: Clarifying env var expansion (#109869)
* First thoughts

* Edits

* Prettier

* Update docs/sources/administration/provisioning/index.md

Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>

* Style edits

* Update docs/sources/administration/provisioning/index.md

Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>

* Prettier

---------

Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>
2025-08-21 12:36:25 +02:00
Alexander Akhmetov
557a40497c Alerting: Add contact point filter to Active Notifications page (#109775) 2025-08-21 12:28:31 +02:00
Andreas Christou
8f1ba9acef MultiCombobox: Fix select all when only a single option is available (#109910)
* Fix condition

* Add tests
2025-08-21 11:19:33 +01:00
Kevin Adam
0262a23d7f feat(@grafana/assistant): bump assistant sdk (#109911)
Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2025-08-21 12:07:47 +02:00
Ryan McKinley
018e810d43 Provisioning: Remove clonedir (not used by nanogit) (#109954)
remove clone dir
2025-08-21 10:04:30 +00:00
Lauren
34655a47c5 Alerting: Set dataSourceName to GRAFANA_RULES_SOURCE_NAME when switch… (#109900)
Alerting: Set dataSourceName to GRAFANA_RULES_SOURCE_NAME when switching to Grafana‑managed
2025-08-21 09:35:50 +00:00
Andres Martinez Gotor
7f044a1e3c DatasourcePicker: Add favorite info in reported events (#109866) 2025-08-21 11:27:05 +02:00
Santiago
29aff8c387 Remote Alertmanager: Ignore tenant ID when merging remote state (#109928)
* Remote Alertmanager: Ignore tenant ID when merging remote state

* update tests
2025-08-21 09:00:37 +00:00
Roberto Jiménez Sánchez
61d137992b Provisioning: Mark repository as unhealthy if hooks fail (#109788) 2025-08-21 08:32:23 +00:00
Ashley Harrison
03d9ec4ea3 Frontend service: Fix favicon (#109914)
fix frontend service favicon
2025-08-21 09:27:27 +01:00
Alexa Vargas
f4f406cc64 Query Library: Rename "Query Library"to "Saved Queries" in Explore components (#109891)
* rename query library user interface text with "saved queries"

* add missing replacement on "Query history"

* fix unit test

* Fix test and apply PR feedback
2025-08-21 10:19:07 +02:00
grafana-pr-automation[bot]
f82586f654 I18n: Download translations from Crowdin (#109946)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-21 00:40:00 +00:00
Leon Sorokin
424e336ae1 TableNG: Memoize some components to improve rendering performance (#109763)
* try React.memo

* Table: Rework the renderers file and some types

* more test cleanups

* remove for gauge for now

* memoize all of the renderers

* also memoize the Tooltip component

* memoize the TableCellActions

* memo useStyles2

* update useStyles2 usage in TableNG

* remove console.log

* add a test for the AutoCell fallback rendering case for testField

* style nit - update variable name to be more idiomatic

---------

Co-authored-by: Paul Marbach <paul.marbach@grafana.com>
2025-08-20 17:12:32 -04:00
Paul Marbach
950423903f Table: Refactor row height to work in pxs instead of lines (#109735)
* Table: Refactor row height to work in pxs instead of lines

* non-string pill value handling, internal cleanup on buildCellHeightMeasurers

* no need to round up to max line
2025-08-20 16:31:20 -04:00
Josh Hunt
fbca70747c E2E: Add performance monitoring E2E test (#109417)
* initial workflow

* add bench reporter

* add pr trigger

* update workflow

* actually add the test

* debug

.....

* more debug

* this it???

* Debugging GHA workflow

https

newline

tree

cache node modules

try bench again

fix path

* Add RequestsRecorder and tweak GHA workflow

* More debugging GHA workflow

cache

cache key

try renaming path

specify env var correctly

* Run tests on both envs, wait for requests to finish

fix status

cat stats

cat stats

* prefix metric names

* cleanup

* cleanup gha

* codeowners

* make gen-jsonnet

* quote things

* Add host_type label for categorising the various hosts

* rename pw_boot_time_seconds to pw_test_run_time_seconds

* change prefix

* codeowners, gha name

* remove node-modules caching

* fix codeowners
2025-08-20 19:36:54 +00:00
Kevin Minehart
7c2945bb54 Remove drone & dead code in pkg/build; update go modules (#109935)
* remove drone & dead code in pkg/build; update go modules

* remove .drone.star

* Remove drone scripts and drone references in Makefile

* make update-workspace

* remove deadcode tool

* Remove daggerbuild/scripts: deadcode

* Remove drone files / folders in CODEOWNERS

* make update-workspace

* remove more dead code
2025-08-20 14:27:58 -05:00
Adela Almasan
196506a484 Tooltip: Remove hideFrom.tooltip check for tooltip headers (#109925) 2025-08-20 19:24:50 +00:00
Dominik Prokop
af1b878cb7 Migration v15: No-op migration for schema consistency (#109604)
* migrate to v19

* migrate to v18

* Migration to be verified: v17 Convert minSpan to maxPerRow in panels

* Migration to be verified: 16 Grid layout migration

* Refactor v17 and v19 migrations to use shared helper functions

* Migration to be verified: 15 No-op migration for schema consistency

* Update v27.go

* Update v16.go

* cleanup

---------

Co-authored-by: Haris Rozajac <haris.rozajac12@gmail.com>
Co-authored-by: Haris Rozajac <58232930+harisrozajac@users.noreply.github.com>
2025-08-20 19:01:45 +00:00
owensmallwood
cace999671 Unified Storage: Add ListSinceModified to StorageBackend (#109697)
* WIP added ListSinceModified to StorageBackend interface

* fix compile time check

* Fix method name

* Fix naming

* fix the rest of the ListSinceModified names

* Uses resource key without name field

* get latest rv from resource_version. Update test.

* adds moar tests

* adds method stub for ListModifiedSince to other StorageBackend implementations

* adds dummy impl to noop storage backend for ListModifiedSince

* skip tests for badger kv backend for now

* fixes tests and adds badgerkv impl for ListModifiedSince

* add badger kv impl

* adds test for new query

* adds test data for new query

* adds ListModifiedSince stub to mockStorageBackend

* uncomment tests

* refactors ListModifiedSince to return an iter.seq2 and handles deduplication. Updates tests. Updates query result sorting.

* remove comments

* remove folder from query (dont need it, yet?)

* regen test queries

* updates test

* updates function comment

* use resourcepb.ResourceKey instead of ModifiedResourceKey

* wrap seq in single transaction. Rollback transaction after 30s if iterator never used. Only track last seen event. Formatting.

* skip TestListModifiedSince for kv backend

* use WatchEvent_Type for action type

* remove redundant fields from order by clause and regen test data for query

* remove redundant fields from order by clause and regen test data for query
2025-08-20 11:54:31 -06:00
Dominik Prokop
49739618fa Dashboard Migrations v16: Grid layout migration (#109603)
* Migration to be verified: v17 Convert minSpan to maxPerRow in panels

* Address review comments: use Go idiom for variable naming and sort.Ints for sorting

* Migration to be verified: 16 Grid layout migration

* Refactor v17 and v19 migrations to use shared helper functions

* Address reviews comments

---------

Co-authored-by: Haris Rozajac <58232930+harisrozajac@users.noreply.github.com>
Co-authored-by: Haris Rozajac <haris.rozajac12@gmail.com>
2025-08-20 17:31:32 +00:00
Josh Hunt
95ea14cc72 FS: Replace frontend-service-up with command that auto shuts down (#109933) 2025-08-20 18:27:04 +01:00
KgOfHedgehogs
7fd5121c4f Transformations: Fix Partition by values transform missing refId (#106417)
* Fix partition by values missing refId

* have partitioned refID include original refID

---------

Co-authored-by: Kristina Durivage <kristina.durivage@grafana.com>
2025-08-20 12:19:47 -05:00
Mihai Turdean
c8b0fd685b Implement a basic operator to reconcile the folder hierarchy from Unistore to Zanzana (#109705) 2025-08-20 17:14:06 +00:00
Ihor Yeromin
f7d39204cd Transformation: Add missing binary operator (#109695)
* fix(transformation): add binary operator
2025-08-20 17:13:36 +00:00
Yunwen Zheng
6085bbf820 DashboardPreviewBanner: isNewPr prop adjustment (#109885)
Bug fix where when saving changes to dashboard, DashboardPreviewBanner is rendering backward banner between loaded from new resource vs new resource created on remote.
2025-08-20 13:01:45 -04:00
Kevin Minehart
4adbab1571 CI: For community supported riscv64 builds use musl-cross instead of zig for… (#109931)
Community supported riscv64 builds: use musl-cross instead of zig for build
2025-08-20 16:59:07 +00:00
Paul Marbach
24a3a4c7dc Icon: Memoize rendered icons for situations where duplicate icons are rendered (#109883) 2025-08-20 16:52:34 +00:00
Kevin Yu
629cb1dee0 CloudWatch: Fix logs query requestId to prevent setting undefined-logs as a requestId (#109930) 2025-08-20 09:41:17 -07:00
Leon Sorokin
5bbb7c1e2a TableNG: Fix crash with malformed/invalid data links (#109920) 2025-08-20 16:33:52 +00:00
Yunwen Zheng
66dc5ea4fb Provision resource operation: refresh parent folder when resource operation is performed (#109555)
* refresh parent folder when resource is created or deleted

* bulk delete and bulk move job: after job success, refetch folders

* refresh parent on both branch and default workflow

* move after success logic into getRepositoryJobsWithPath
2025-08-20 12:27:41 -04:00
Yunwen Zheng
170c84c3f8 MoveProvisionedDashboard: bug fix when selecting root folder, error is showing (#109638)
* MoveProvisionedDashboard: root folder error fix

* Remove provisioned badge when whole instance is provisioned, root folder checkbox fix

* If root level only have one provisioned folder, allow select all on subitems

* remove button tooltip and remove comment

* regenerate API clients after schema updates

---------

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2025-08-20 11:50:39 -04:00
Jacob Valdez
03bcd604fc docs: fixing typo in config docs (#109882) 2025-08-20 10:49:28 -05:00
Ashley Harrison
6386e8a734 Chore: Remove duplicated various-suite cypress tests (#109737)
* remove duplicated various-suite cypress tests and update CODEOWNERS for playwright versions

* assign missing CODEOWNERS
2025-08-20 16:48:26 +01:00
Ashley Harrison
c8d9b5b207 Chore: regenerate api clients (#109919)
regenerate apis
2025-08-20 14:43:45 +00:00
Ashley Harrison
af1b6dd171 Chore: Readd api client verification and update clients (#109847)
* add api client verification to lint step

* separate steps, clearer error messages

* make same change to non-enterprise version

* double-quote

* ignore conf

* update generated apis

* add names for steps

* fix comment
2025-08-20 13:54:51 +01:00
Haris Rozajac
5ec1b4198c Dashboard Schema V2: Handle a case when fieldConfig is undefined (#109881)
handle a case when fieldConfig is undefined
2025-08-20 14:35:56 +02:00
Hugo Häggmark
71fd156eda Plugins: adds plugin version to log output (#109845) 2025-08-20 13:18:59 +02:00
Alexander Akhmetov
38672c7936 Alerting: Set specific backend type in remote_writer_writes_total metric for grafanacloud-prom datasource (#109516) 2025-08-20 13:04:00 +02:00
renovate[bot]
91c23988ef Update scenes to v6.30.1 (#109899)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-20 10:50:38 +00:00
Alexander Zobnin
ede33327d0 Devenv: Add tempo and pyroscope to the provisioned data sources (#109853) 2025-08-20 12:09:08 +02:00
Alex Khomenko
b4ded7847e Chore: Disable tui for Nx (#109896)
* Nx: Disabled tui

* fix
2025-08-20 10:08:03 +00:00
Alex Khomenko
4b59f76738 Provisioning: Fix rendering loop in FinishedJobStatus component (#109890)
Provisioning: Fix renderign loop in FinishedJobStatus component
2025-08-20 12:41:55 +03:00
Georges Chaudy
9a065e0c64 apiserver: enable support for Streaming lists (#109893)
enable watchlist
2025-08-20 11:09:55 +02:00
Ryan McKinley
fa81fae1e3 Provisioning: Add inline secure values to repository schema (#109594) 2025-08-20 09:05:41 +00:00
Roberto Jiménez Sánchez
c37a03263f Provisioning: Fix Bug Blocking Changing Pull Target During Onboarding (#109892)
* Fix bug changing target for unsynced repository

* Fix linting
2025-08-20 09:02:19 +00:00
Ashley Harrison
62fbeb35c1 Chore: Replace config.bootData.user with contextSrv (#109686)
* replace config.bootData.user with contextSrv

* fix unit tests

* fix mutating context object in test

* kick CI
2025-08-20 09:55:12 +01:00
Gábor Farkas
35ecb3330b apiserver: openapi: only log errors when an error happened (#109780) 2025-08-20 10:48:05 +02:00
Torkel Ödegaard
485831f0b2 Dashboards: Repeating with no clone keys (#109839)
* Dashboards: New pathId concept to find panels not based on scene object key

* Minor fix

* fix test

* Fix test

* adding unit tests for pathId functions

* fix

* Fix link sharing to use new path

* fix

* Update

* No clone keys

* Remove all the clone keys complexity

* More changes

* update e2e test

* Progress

* fix auto grid item

* Finally working cannot move panel into clone row

* adjust how we find vizpanel for keyboard shortcuts

* Update

* Fix shortcuts

* Fix test

* fixing tests

* fix lint

* fix tests

* fix e2e

* adjust how outliine children are collected for auto and custom grids

* update

* Upgrade scenes

---------

Co-authored-by: oscarkilhed <oscar.kilhed@grafana.com>
Co-authored-by: Sergej-Vlasov <sergej.s.vlasov@gmail.com>
2025-08-20 10:21:18 +02:00
Alexa Vargas
f6404b9589 Query Library: Connect QueryLibraryEditingHeader in QueryEditorRow (#109818)
* Query Library: Connect QueryLibraryEditingHeader in QueryEditorRow

* Add unit test to queryn editor row

* Remove logic of "update query" save disk and add extra condition to prevent dragable action
2025-08-20 10:18:12 +02:00
grafana-pr-automation[bot]
af0c0cf0c0 I18n: Download translations from Crowdin (#109884)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-20 00:40:16 +00:00
Stephanie Hingtgen
77c96cbd06 Secrets: Refactor setting additional decrypter (#109877) 2025-08-19 16:10:43 -05:00
Isabel Matwawana
b51e175f0b Docs: TableNG - Tooltip from field docs (#109752) 2025-08-19 23:12:49 +03:00
Ezequiel Victorero
9fa988e9c3 ShortURL: Unskip integration test (#109874) 2025-08-19 15:41:23 -03:00
Brian Gann
5a67158734 Build: Adds option to build debug frontend docker images (#108202)
* Add env support for different build environment targets
* Add NX target for dev builds
* Add option to build in dev mode
* skip immutable flag for dev builds
2025-08-19 14:22:59 -04:00
Matias Chomicki
0113f12c7d New Logs Panel: Details and JSON adjustments (#109867)
* processing: detect json logs to apply custom grammar

* LogLineDetails: improve label column width

* wip

* Remove log

* grammar: remove unused grammar

* grammar: fix log grammar

* LogLineDetails: improve margins

* LogLineDetails: further fine tune width

* Update tests

* processing: more tests
2025-08-19 17:23:18 +00:00
Laura Fernández
247373ac41 Chore: Remove Deprecated layout components (#109872) 2025-08-19 18:43:01 +02:00
Jacob Valdez
0b69c94e8b Docs: removing release note pages for OSS IA reorg (#109829)
Co-authored-by: Robby Milo <robbymilo@fastmail.com>
2025-08-19 11:12:31 -05:00
Todd Treece
e6df473e5a App Installer: Merge builder and installer admission (#109854) 2025-08-19 11:58:03 -04:00
Andrej Ocenas
e159d25fdd Dashboard List: Fix how link query part is created when variables are included (#109861)
Fix how link query part is created
2025-08-19 17:43:15 +02:00
Santiago
a31323578f Remote Alertmanager: Move factory functions to the remote package (#108582)
* Remote Alertmanager: Move factory functions to the remote package

* remove createRemoteAlertmanager

* modify comment

* unexport functions to create remote secondary and primary forked AMs

* RemoteFactory -> NewRemoteFactory

* avoid passing a logger

* avoid panics if creating the internal AM fails

* remove lines

* rephrase comment

* fix source of sync interval
2025-08-19 15:34:58 +00:00
Jean-Philippe Quéméner
e157dbaa4f fix(folders): check for library panels on delete (legacy) (#109848) 2025-08-19 17:32:35 +02:00
Matheus Macabu
537ac8ec68 Secrets: Validate name/namespace with standard K8s validator (#109868)
* Secrets: Validate name/namespace with standard K8s validator

* Secrets: Simplify error message for mismatched owner inline secure values
2025-08-19 16:55:52 +02:00
Ezequiel Victorero
a3396e3549 Library Panels: Return valid panels (#109827) 2025-08-19 11:44:27 -03:00
Torkel Ödegaard
b0e9307d15 Dashboards: Fixing saving and viewing snapshots for repeated panels (#109856) 2025-08-19 16:42:15 +02:00
Matheus Macabu
d07fa65920 GHA: Switch some BE workflows to self-hosted runners (#109846)
* GHA: Use equivalent self-hosted runners for BE unit tests Enterprise

* GHA: Use standard runners for BE unit tests OSS

* GHA: Use equivalent self-hosted runner for ephemeral env action

* GHA: Use self-hosted runners and adjust shards for BE integration tests

* GHA: Upgrade BE integration test Postgres from 12 to 17

* GHA: Upgrade BE integration test MySQL from 8.0.32 to 8.0.43
2025-08-19 16:20:58 +02:00
Matt Cowley
350af57356 Navigation: Expose runtime hook for controlling mega menu (#109482)
* Navigation: Expose runtime hook for controlling mega menu

* Navigation: Allow changing menu open state without persisting
2025-08-19 15:10:38 +01:00
Kevin Minehart
9c7f7530f3 CI: Forward source-event from workflow_dispatch in release-build.yml (#109865) 2025-08-19 07:43:22 -06:00
Will Assis
34496e137c unified-storage: Search after write save rv to index (#109641)
* save rv to index after index is built
2025-08-19 09:41:35 -04:00
Yuri Tseretyan
a2cae07ac7 Alerting: Remove method ReceiverService.ListReceivers (#109828) 2025-08-19 09:12:23 -04:00
Torkel Ödegaard
9ea3c3a9a2 Dashboard: Fixes url links to embedded panels in scene based dashboards (#109837)
* Dashboard: Fixes url links to embedded panels in scene based dashboards

* fix
2025-08-19 15:07:09 +02:00
Alex Khomenko
2a617abd77 Api clients: Update provisioning, playlist clients and fix type errors (#109850)
* Update provisioning types

* Update playlist types

* Revert

* import

* lint
2025-08-19 13:01:38 +00:00
Matias Chomicki
525f444407 LogLine: pass collapsed state to memoized log body component (#109849)
* LogLine: pass collapsed state to memoized log body component

* Logline: add regression

* chore: remove unnecessary spy

* Prettier
2025-08-19 14:23:48 +02:00
Laura Fernández
b27af4186c Chore: Remove deprecated VerticalGroup in Dashboards area (#109675) 2025-08-19 15:07:21 +03:00
Laura Fernández
ee6a61490a Chore: Remove deprecated HorizontalGroup in Dashboards area (#109790) 2025-08-19 13:52:57 +02:00
Andres Martinez Gotor
f5b9d93610 Add favorite button to EditDatasource page (#109609) 2025-08-19 13:40:19 +02:00
Will Assis
06115478f9 fix: dashboard version history duplicating entries sometimes (#109490)
* fix: version history duplicating entries when navigation fails after restoring dashboard version

* fix navigation issue

---------

Co-authored-by: Haris Rozajac <haris.rozajac12@gmail.com>
2025-08-19 07:03:24 -04:00
Gábor Farkas
2e5b55a855 datasources: querier: renamed the "mt" builder to "qs" builder (#109779) 2025-08-19 12:37:56 +02:00
Mariell Hoversholm
0fc29cbaae Rendering: Remove SVG sanitization (#109797) 2025-08-19 11:34:12 +02:00
Yulia Shanyrova
1a87679dc7 Plugins: Add apps to connections page to be consistent with cloud (#109600)
* Add apps to connections page

* fix the tests

* fix connections tests
2025-08-19 11:13:01 +02:00
Ashley Harrison
0687017595 E2E: Run playwright cloud plugins tests as part of github actions (#109055)
* add github workflow scaffolding

* update comments

* Add image and resource commands

* Add secrets paths

* Block workflow run for forks

* ignore via package.json, update CODEOWNERS

* fix workflow path

* remove old azure monitor test

* pull docker image first

* add permissions for docker pull step

* checkout first

* keep creds file

* try all in one job

* with creds...

* add cloud: 'azure'

* pass CLOUD to docker

* add -playwright

* actually use the env vars

* don't need to pass CLOUD env var

* remove commented out code and tidy up

* kick CI

* Update container names and set PLAYWRIGHT_CI

* Update path

* fix zizmor violation

* use bigger runner, add double quoting

* add separate command and increase timeout

* remove timeout

* parameterise the e2e command in CI

* move cloud-plugins-e2e-tests into normal e2e test workflow

* fix detect changes

* pass creds into dagger

* try remove quotes

* add a debug log

* exec playwright command after mounting file

* reassign e2eContainer, add change to check the tests fail correctly

* fix test

---------

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2025-08-19 09:25:16 +01:00
Alexander Akhmetov
1e6719f571 Alerting: Show converted alertmanager configurations in the UI (#109027) 2025-08-19 10:04:05 +02:00
Piotr Jamróz
bbf01a6383 Flame Graph: Analyze with Grafana Assistant (#108684)
* Bare-bones mocked integration

* Create correct context based on the query

* Add data source name

* Do not bundle grafana/assistant with flame graph

* Rename component

* Add tests

* Mock grafana/assistant

* Update feature toggle and allow hiding the button

* Update deps

* Update types

* Update yarn.lock

* Fix typo in feature toggle description

* Enable grafanaAssistantInProfilesDrilldown by default

* Enable grafanaAssistantInProfilesDrilldown by default

* Show Analyze Flame Graph button only if there's context for the assistant
2025-08-19 09:54:00 +02:00
Matheus Macabu
ea833ddf1f Unified/APIStore: Fix flaky tests on secure value support inline (#109806) 2025-08-19 09:49:44 +02:00
Alexander Akhmetov
bdd5bf0397 Alerting: Configurable queue and batch size in external alert manager notifier (#109831) 2025-08-19 09:32:10 +02:00
Konrad Lalik
dff7050aaa Alerting: Add GMA export to the new list page (#109784)
* Add GMA export to the More menu action on the list page

* Add Grafana rules export option to the new list page

* Update translations
2025-08-19 09:08:15 +02:00
Alex Khomenko
2f4166e456 CommandPalette: Use fuzzySearch util from grafana/data (#108884)
* CommandPalette: Use fuzzySearch util from grafana/data

* Comment
2025-08-19 08:22:05 +03:00
Hugo Häggmark
a54453b940 BackendSrv: incorporates validatePath in existing RxJs pipe (#107672)
* backendSrv: incorporates validatePath in existing RxJs pipe

* chore: updates after PR feedback
2025-08-19 07:07:49 +02:00
grafana-pr-automation[bot]
32d9126ac6 I18n: Download translations from Crowdin (#109834)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-19 00:40:27 +00:00
Paul Marbach
523758c9b3 Table: Get rid of ContextMenu on right click (#109825)
* Table: Get rid of ContextMenu on right click

* fix a scroll thing for expanded table, git rid of some conditional accessors

* remove context menu test

* remove context menu test

* i18n

* fix lint issue
2025-08-18 17:03:11 -04:00
Matias Chomicki
9a6b012ea4 New Logs Panel: Performance and display updates and fixes (#109672)
* LogLine: don't run overflow check with unwrapped logs

* InfiniteScroll: don't listen to scroll events without scroll

* InfiniteScroll: minimize use of element.scrollHeight

* LogLineDetails: constrain to 95vw

* LogList: process logs while streaming

* Remove unused prop

* InfiniteScroll: update test

* Update test

* Inline Log Details: read max width from context

* Remove console
2025-08-18 19:06:31 +00:00
Yuri Tseretyan
bb55972cef Alerting: Fix fromPrometheusConfig (#109807) 2025-08-18 13:44:33 -04:00
Tom Ratcliffe
d542f6bcda Chore: Skip more GHA jobs if backend files are not changed (#109803) 2025-08-18 17:42:02 +01:00
Sergej-Vlasov
8283ba94fe AutoGridItemRenderer: Hide repeats when dragging to fix select bug (#109798)
hide repeated panels when dragging
2025-08-18 16:12:00 +01:00
Marc Sanmiquel
9b800d63b1 Datasource/grafana-pyroscope: Add rate aggregation for cumulative profiles (#108546) 2025-08-18 17:08:34 +02:00
Peter Štibraný
c508b01cc5 chore: Close bleve indexes created in temp dir. (#109799)
* Close indexes created in temp dir.
2025-08-18 16:27:57 +02:00
Collin Fingar
828c2b6612 QueryLibrary: Added new way to trigger events w/ context (#109637) 2025-08-18 10:13:04 -04:00
Andres Torres
87e8c92aa4 chore(rbac): Register settings resources (#109742) 2025-08-18 10:12:33 -04:00
Paul Marbach
66eee1cb08 Table: Tooltip from Field (#109428)
* Table: Tooltip by Field

* add colorization support

* more progress on customizing the tooltip based on cell customization

* configurable as an option

* tooltip triggered from a chip in the corner, pinning tooltip

* i18n

* use enum where appropriate

* correctly orient the tooltip to the cell - but at what cost

* clean up some console.logs

* e2e test for the tooltip

* fix global click stuff

* remove console.log

* refine the style of the caret

* caret placement on same-side as alignment to avoid collision with inspect hover

* some updates from self-review

* increase hit target of tooltip caret

* fix width and height auto-sizing especially for dynamic height

* reorganize to pre-calc the per-field stuff

* use linear gradient for triangle

* update e2e to reflect current behavior, that clicking caret multiple times doesn't toggle pinning

* clean up event handlers a bit

* restore test for toggle click

* alright, re-remove the toggle case

* cursor pointer

* remove optional root from Popover for now

* remove this ridiculous autogenerated file

* update some of the text

* kill the cellRefMatrix

* remove unused import

* extract a util for the predicateByName part

* skip the intermediary step for getCellColors
2025-08-18 10:11:43 -04:00
Dominik Prokop
4e5a51968f Dashboard Migrations v17: Convert minSpan to maxPerRow in panels (#109592)
* Migration to be verified: v17 Convert minSpan to maxPerRow in panels

* Address review comments: use Go idiom for variable naming and sort.Ints for sorting
2025-08-18 08:02:37 -06:00
Yunwen Zheng
29a652db21 NewProvisionedFolderForm: allow empty space, uppercase and dash in folder name (#109615)
* NewProvisionedFolderForm: allow empty space, uppercase and dash in folder name

* validate folder name using form validation
2025-08-18 09:51:00 -04:00
Tom Ratcliffe
8a9e3ffd31 Folders: Remove OldFolderPicker component (#109791) 2025-08-18 13:48:18 +00:00
Moustafa Baiou
effc887b08 Alerting: Use db pagination for prometheus api
This reintroduces database pagination for the Prometheus API for rules.

Follow up for #109558 to use the new pagination format.

Note: This changes the sort-order to use `NamespaceUID` instead of the fully qualified Folder path. This also changes the cursor format to use the `NamespaceUID` instead of the Folder path and to be in a reverisble format.
2025-08-18 06:18:12 -07:00
Gábor Farkas
ed2dfd9885 datasources: querier: better error handling (#109789) 2025-08-18 14:44:50 +02:00
Matheus Macabu
10508d0614 Secret/Keepers: Return already exists error from DB when creating keeper (#109782) 2025-08-18 14:42:55 +02:00
Matias Chomicki
3857faf7b3 Logs Panel: use provided height for the container (#109786)
LogsPanel: use provided height for the container
2025-08-18 14:26:59 +02:00
Hugo Häggmark
6fb6cf4f1d Chore: defaults localizationForPlugins behavior (#109778)
* Chore: defaults localizationForPlugins behavior

* chore: fixes backend tests

* chore: fix backend tests

* chore: fix some more backend tests
2025-08-18 13:57:28 +02:00
Torkel Ödegaard
3dccd29f89 Repeating: Minor refactoring and unification for DashboardGridItem and AutoGridItem (#109723)
* Repeating: Refactoring and unification

* Update

* update

* fix e2e

* fixes

* Update

* adjust e2e test

---------

Co-authored-by: Sergej-Vlasov <sergej.s.vlasov@gmail.com>
2025-08-18 12:02:45 +02:00
Laura Fernández
b7ff1b3ac8 Chore: Remove deprecated HorizontalGroup in plugins/panel (#109618) 2025-08-18 11:55:53 +02:00
Alexander Akhmetov
1a82bb4767 Alerting: Fix duplication of imported Prometheus alert rules (#109770) 2025-08-18 11:42:28 +02:00
Anna Urbiztondo
44be5d91c2 17884: Support feedback - CLI (#109776)
* Support feedback

* Prettier
2025-08-18 10:49:37 +02:00
Matias Chomicki
2695ed91d1 Logs: fix running condition causing LogList to not be rendered (#109768) 2025-08-16 14:47:37 +00:00
grafana-pr-automation[bot]
afa09154f7 I18n: Download translations from Crowdin (#109765)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-16 00:40:01 +00:00
Yuri Tseretyan
9ba1987478 Alerting: Update alertRuleVersions.EqualSpec to ignore RuleGroupIndex (#109740) 2025-08-16 00:19:27 +00:00
Drew Slobodnjak
0d3eec0e3b Geomap: Fix layer drag drop list (#109704) 2025-08-15 14:37:51 -07:00
Paul Marbach
6d97f05349 Modal: Use default Portal root element to render Modals (#109271)
* Table: Fix z-index conflict between DataLinksActionTooltip and ActionConfirmModal

* add an action to the kitchen sink Info column

* don't need the class for z-index

* fix this issue across a variety of viz types

* kill tooltip container in TableNG

---------

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-08-15 16:38:57 -04:00
Isabel Matwawana
0eb79b3f53 Docs: Fix broken links (#109703) 2025-08-15 12:27:35 -04:00
Isabel Matwawana
23c8ee8fc1 Docs: Add config options alias (#109712) 2025-08-15 12:26:59 -04:00
Gábor Farkas
e1843bf1ae datasources: allow special http header to opt-in to new-mode query handling (#109349)
datasources: allow opt-in to new features using a http header

Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>
2025-08-15 12:05:12 -04:00
maicon
5270d8e53f fix(unified-storage): remove permissions after executing on both stores (#109722)
Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
Co-authored-by: Jean-Philippe Quéméner <jeanphilippe.quemener@grafana.com>
2025-08-15 15:57:42 +00:00
Brendan O'Handley
79f4510260 Prometheus: Export interpolateQueryExpr for metrics drilldown links (#109713)
export interpolateQueryExpr for metrics drilldown links
2025-08-15 09:47:19 -05:00
Oscar Kilhed
44b7d941b4 Dynamic dashboards: Show disabled conditional rendering when not supported (#109663)
* Show disabled conditional rendering when not supported

* don't create unessecary sceneObjects

* fix i18n identifier strings

* Update i18n
2025-08-15 14:37:54 +00:00
Oscar Kilhed
8dd598942f Dashboards: Fix reporting of save dashboard interaction (#109701)
Fix reporting of save dashboard interaction
2025-08-15 14:24:30 +00:00
Luminessa Starlight
42e0afa5c1 Chore: Removed unused style definition (#109714)
removed unused style from #109602
2025-08-15 14:11:04 +01:00
Tom Ratcliffe
de04be4cfe Chore: Skip database integration tests when files are not changed (#103923) 2025-08-15 13:27:37 +01:00
Torkel Ödegaard
68208577d3 Dashboard: Inspect drawer can no longer be opened with url or linked to (#109617)
* Inspect: Remove url state support

* Fixes

* fix e2e

* fix lint

* fix lint

* fix test

* Update
2025-08-15 13:32:19 +02:00
Josh Hunt
8046a78f9f FS: Add tempo tracing to dev stack (#109682)
* add tempo

* trying to debug trace propagation

* add extra header

* change header to inject

* very debug logging

* set GF_TRACING_OPENTELEMETRY_OTLP_PROPAGATION

* clean up config

* undo temp debug logging
2025-08-15 10:59:43 +00:00
grafana-pr-automation[bot]
2f96801218 I18n: Download translations from Crowdin (#109715)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-15 10:54:06 +00:00
Sofia Papagiannaki
d4395aeec3 Chore: Use cli.Context instead of background context in RunServer function (#109553)
Use cli.Context instead of background context in RunServer function
2025-08-15 08:48:06 +00:00
Ryan McKinley
5007f362f3 Chore: fix flakey secure value test (#109724) 2025-08-15 07:58:50 +00:00
Roberto Jiménez Sánchez
1ff39510d3 Provisioning: Check For Resource Ownership Before Operations (#109582) 2025-08-15 10:05:53 +03:00
Paul Marbach
9a47dd2a7e Sparkline: Properly handle flat data (min === max) (#109702) 2025-08-14 21:38:54 +00:00
Jesse David Peterson
cc651e2e6e PieChart: Add panel options for ascending/descending sort, and no sorting (#109564)
* Add PieSortOption.

* Add sorting options to pie chart panel options.

* Fix that sorting is not part of the panel options.

* Implement custom sorting in piechart and piechart legend.

* Update piechart documentation

* Fix default and clockwise/counterclockwise confusion.

* refactor(piechart): use asc/desc terminology instead of clockwise

* fix(piechart): simplify comparator sort, avoid a/b swap mutation

* fix(pichart): remove redundant sorting from Pie component invocation

* refactor(piechart): hoist comparator for sorting display values

* docs(piechart): include recommendations from @imatwawanaimatwawana

* test(piechart): add test coverage for new sorting comparator

* chore(piechart): regenerate Cue schema files

* docs(piechart): apply suggestions from @imatwawana code review

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

* fix(piechart): fix typo, match punctuation in option description

* chore(piechart): update schema to use existing `common.SortOrder` instead of custom

Co-authored-by: Paul Marbach <paul.marbach@grafana.com>

---------

Co-authored-by: Lukas Wieg <lukaswieg@googlemail.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Paul Marbach <paul.marbach@grafana.com>
2025-08-14 16:46:53 -04:00
Alexander Akhmetov
17444fdc0d Alerting: Add keepFiringFor and missing_series_evals_to_resolve to file provisioning (#109699) 2025-08-14 22:19:43 +02:00
Juan Cabanas
03811b26a0 QueryLibrary: Change context params (#109294) 2025-08-14 17:06:24 -03:00
Yunwen Zheng
a50e44c27a RepositoryResources: hide history button when repo type is pure git (#109628)
* RepositoryResources: hide history button when repo type is pure git

* hide history button from file page

* hide history button from file page and file history detail page
2025-08-14 19:32:57 +00:00
Yunwen Zheng
6305d6daed Provision Bulk Action: Add pull request button (#109622)
* Provision Bulk Action: pull request link
* Add view branch and compare branch button
2025-08-14 20:27:06 +02:00
Jev Forsberg
4954438cb5 Chore: Fix reusable workflow reference in release-comms (#109698)
Fix reusable workflow reference in release-comms

Use full repository path for create-security-branch workflow
to resolve linter errors about unable to find reusable workflow.
2025-08-14 12:18:56 -06:00
Luminessa Starlight
4d067059c9 Accessibility: Ensure dashboard edit panel inputs have accessible labels (#109546)
* update instantiations of OptionsPaneItemDescriptor to pass IDs - obvious changes

* update instantiations of OptionsPaneItemDescriptor to pass IDs - iffy changes

* update editors to pass ID through or note a missing label

* update playwright tests

* fix unit tests

* grafana ui components updated to pass ID through

* update components to pass ID through

* add missing input IDs

* better default ID handling

* remove TS note

* revert accidental non-html id change

* kick CI

* fix old-arch e2e tests

* change to plain useId calls

---------

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-08-14 14:01:25 -04:00
Ashley Harrison
37b0a49027 Chore: Refactor avoid calling config.bootData.settings (#109683)
replace config.bootData.settings with just config.
2025-08-14 17:03:55 +01:00
Jacob Valdez
57761c7dc4 adding content from PR #109492 (#109684) 2025-08-14 10:59:55 -05:00
Moustafa Baiou
a4edc27044 Alerting: Add store level pagination of rules
This reintroduces store level pagination, without using it in the prometheus API yet.

Related to #108633

Co-authored-by: William Wernert <william.wernert@grafana.com>
2025-08-14 07:46:53 -07:00
Oscar Kilhed
26fbb553f3 Dynamic dashboards: Fix height of disabled margin option pane categories (#109664)
Fix height of disabled margin option pane categories
2025-08-14 14:33:11 +00:00
Bogdan Matei
e285cc2ddc Dashboard: Resume tracking changes after save from JSON model page (#109607) 2025-08-14 14:25:50 +00:00
Lauren
af68304af0 Alerting: Improve Alert Rules Filter (#109176)
* big WIP

* more WIP

* leftover changes after merge

* bug fix: prevent modal close onclick inside modal

* add logic to filter by data sources

* use MultiComboBox component instead of MultipleDataSourcePicker

* add namespace and evaluation group filtering logic

* remove header section of PopupCard

* set max width on popup

* add contact point field

* add contact point logic and tooltip

* add tracking to filter- track open, apply, clear and values submitted

* add plugins show/hide field

* add plugins show/hide field

* add tests for new filter

* test tracking works as expected

* check v2 filter only shows if feature toggle is on

* tidying up

* fix lint errors

* fix close-on-type bug

* use ContactPointSelector component

* fix close-on-click-outside issue

* Add label dropdown logic

* Add query string to search field

* add test to check filtering by search field updates the filter popup values

* clear search input onClear of filters

* fix lint issues

* add tooltips to search input and datasource fields

* Sort typing in ContactPointSelector

* update translation file

* Add logic to group and list view buttons & refactoring

* update failing test

* update test mocks

* fix failing tests

* fix typecheck errors

* resolve PR comments part 1

* update label dropdown to include info text

* Translation extraction

* resolving PR comments

* move autocomplete logic to reusable hook

* resolve PR comments

* fix typecheck

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
Co-authored-by: Lauren Armstrong <laurenarmstrong@laurenskmacbook.home>
Co-authored-by: Lauren Armstrong <laurenarmstrong@mac.home>
Co-authored-by: Lauren Armstrong <laurenarmstrong@Laurens-Work-MacBook.local>
2025-08-14 15:21:03 +01:00
Will Assis
43cda1f1a4 unified-storage: disable watcher when search-after-write feature flag is enabled (#109634)
* disable indexer watcher when search-after-write feature flag is enabled
2025-08-14 10:18:09 -04:00
Gábor Farkas
8672275824 datasources: querier: report metrics related to the whole request (#109384)
* refactor

* add metric
2025-08-14 16:14:21 +02:00
Irene Rodríguez
52e6997f9e fix broken anchor (#109658) 2025-08-14 16:11:52 +02:00
Ryan McKinley
8fd8c6f476 SecureValues: Add explicit JSON schema (#109648) 2025-08-14 16:01:29 +03:00
Ashley Harrison
9125b9c014 Chore: Unpick bootData (#109544)
* set the boot data config correctly

* tighten up grafana/data types

* kick CI

* restore dashboard scopes props

* revert back to class

* add some comments

* kick CI

* add comment
2025-08-14 13:57:58 +01:00
Ryan McKinley
d3df5b8ddd Secrets: Manage secure values inside any resource (#107803) 2025-08-14 12:31:24 +00:00
Andres Martinez Gotor
d08ea58243 Filter data sources by favorite setting (#109593) 2025-08-14 13:39:09 +02:00
Zoltán Bedi
9453cedb51 Update self instrumentation to use alloy and bump versions (#109266)
* Update self instrumentation to use alloy and bump versions

* Update devenv/docker/blocks/self-instrumentation/config.alloy

Co-authored-by: Sam DeHaan <dehaansa@gmail.com>

* Add remote write receiver feature to Prometheus configuration in docker-compose.yaml

* Add example for plugin profiling to the doc

---------

Co-authored-by: Sam DeHaan <dehaansa@gmail.com>
2025-08-14 12:34:41 +02:00
Sriram
9b38ac1c24 Prometheus: Fix prometheus data source hints alignment issue (#109656)
fix prometheues ds hints alignment issue
2025-08-14 12:29:17 +02:00
Roberto Jiménez Sánchez
ffc7508a46 Provisioning: Enforce instance repository isolation (#109512)
* Fix validation on repository creation

* Fix linting

* Do not count the provided one

* Fix test

* Fix tests
2025-08-14 10:19:40 +00:00
Matheus Macabu
dfae5e5b4d Secrets: Add namespace matches checks to authorizer and secure value client (#109651)
* Decrypt: Add namespace matches to authorizer

* SecureValueClient: Add namespace matches when auth checking
2025-08-14 11:50:56 +02:00
Josh Hunt
a38a5e0301 Chore: Bump tmp with forced resolution (#109654) 2025-08-14 09:39:21 +00:00
Josh Hunt
751f25914f FS: Fix theme- class name not being set on body (#109631) 2025-08-14 10:32:01 +01:00
Gareth
7bebd62446 Tempo: small refactor to tempo backend (#109581)
* update datasource info struct name

* remove unnecessary abstraction

* update error messages
2025-08-14 10:23:44 +01:00
Gareth
f81c5dec42 Tempo: update codeowners (#109478)
* update tempo codeowners

* keep traces and profiling as owners

* update codeowners
2025-08-14 10:13:17 +01:00
Gareth
96c2f48ad5 Prometheus: Fix docs link in config page (#109385)
fix docs link
2025-08-14 10:10:02 +01:00
Anna Urbiztondo
7e925a718c [Plugins]: Revamping OSS doc (#108974)
* Draft

* Fix?

* Prettier

* Fix?

* Update docs/sources/administration/plugin-management/_index.md

Co-authored-by: David Harris <david.harris@grafana.com>

* Update docs/sources/administration/plugin-management/_index.md

Co-authored-by: David Harris <david.harris@grafana.com>

* Feedback, new docs

* Prettier

* More feedback

* Prettier

* Minor edits

* Edits

* Prettier

* Edits

* Prettier

* Solving conflicts

* Prettier

* Update docs/sources/administration/plugin-management/_index.md

Co-authored-by: David Harris <david.harris@grafana.com>

* Update docs/sources/administration/plugin-management/_index.md

Co-authored-by: David Harris <david.harris@grafana.com>

* Update docs/sources/administration/plugin-management/_index.md

Co-authored-by: David Harris <david.harris@grafana.com>

* Fix?

* Fix?

* fix links?

* Update plugin-integrate.md

* fix link

* fix link?

* Update plugin-install.md

* Update plugin-install.md

* fix link

* fix link

* fix links

* Update plugin-types.md

* Fix?

* Fixing

* More links

* Final touches

* Update docs/sources/administration/plugin-management/plugin-integrate.md

Co-authored-by: David Harris <david.harris@grafana.com>

* Prettier

---------

Co-authored-by: David Harris <david.harris@grafana.com>
Co-authored-by: Irene Rodríguez <irene.rodriguez@grafana.com>
2025-08-14 09:01:43 +00:00
Josh Hunt
d9335b725e FS: Fix missing SSL certs in docker image (#109632) 2025-08-14 08:45:14 +00:00
grafana-pr-automation[bot]
c4b018352f I18n: Download translations from Crowdin (#109642)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-14 08:43:46 +00:00
Dominik Prokop
0705a44b0f DashboardScenePageStateManager: Pass query params to loadDashboard when reloadDashboardsOnParamsChange enabled (#109543)
* DashboardScenePageStateManager: Pass query params to loadDashboard when reloadDashboardsOnParamsChange enabled

- Extract query param processing into helper function
- Pass processed params to loadDashboard when toggle is on
- Add test coverage for query parameter handling

* review
2025-08-14 10:33:28 +02:00
Alexander Akhmetov
e165a490b4 Alerting: Return merged extra configurations in the API (#109636) 2025-08-14 07:46:12 +02:00
Paul Marbach
7d7721e30a Docs: Sort docs update (#109640)
* Docs: Update documentation on multi-sort for TableNG

* update image for filter docs

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

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

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

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

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2025-08-13 23:04:34 +01:00
Isabel Matwawana
c5d30f2892 Docs: Add wrap header text & freeze columns (#109623) 2025-08-13 17:45:12 -04:00
Isabel Matwawana
f3394c3f33 Docs: Add text wrap for data links and pill cells (#109621) 2025-08-13 21:07:33 +00:00
Haris Rozajac
4a3b8a567f Dashboard Migrations: v18 - gauge options (#109496)
* migrate to v19

* migrate to v18

* Update v19.go
2025-08-13 15:01:50 -06:00
Kristina
df70198038 Transformations: Group by should not perform calculation if operation is not set to calculate (#109430)
Do not perform calculation if operation is not Calculate
2025-08-13 15:07:53 -05:00
Josh Hunt
c7e1a3d0fd Drawer: Truncate Drawer title to just one line (#109540)
* Drawer: Truncate Drawer title to just one line

* restore prev subtitle
2025-08-13 20:51:50 +01:00
Haris Rozajac
d84408e52d Dashboard Migrations: v19 - panel links (#109495)
* migrate to v19

* clean up

* apply feedback
2025-08-13 13:51:19 -06:00
Éamon Ryan
f1dd6db456 Service Accounts: Fix typo on page indicating none are present (#109560)
* Fix typo for empty state service accounts

* update i18n file

---------

Co-authored-by: Mihaly Gyongyosi <mgyongyosi@users.noreply.github.com>
2025-08-13 20:53:19 +02:00
Alex Spencer
73a1320334 SQL Expressions: Add editor toolbox (#109298)
* init: feature work

* chore: i18n

* feat: add run query + keyboard shortcuts

* chore: i18n

* chore: initial query formatted

* chore: resolve some issues

* chore: a bit of refactor to clean it up

---------

Co-authored-by: Kristina Durivage <kristina.durivage@grafana.com>
2025-08-13 11:43:01 -07:00
github-actions[bot]
ee9c73f866 Release: update changelog for main (#109556)
* Update changelog

* Update changelog

* Update changelog

* Update CHANGELOG.md

Manually update changelog with 11.6.5 changes

* Update CHANGELOG.md

Update with 12.0.4 changelog content

* Update CHANGELOG.md

update changelog with 12.1.1 content

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Jev Forsberg <46619047+baldm0mma@users.noreply.github.com>
2025-08-13 18:09:42 +00:00
Andreas Christou
b34642b188 Azure: Fix logs editor rendering (#109491)
* Fix logs editor rendering

- Add test

* Type fixes

* Fix schema conditions and add test

* Fix lint

* Update public/app/plugins/datasource/azuremonitor/components/LogsQueryEditor/TimeManagement.tsx

Co-authored-by: Adam Yeats <16296989+adamyeats@users.noreply.github.com>

* Lint

---------

Co-authored-by: Adam Yeats <16296989+adamyeats@users.noreply.github.com>
2025-08-13 17:22:06 +00:00
Tom Ratcliffe
5564f699ca Folders: Add team folders feature toggle (#109389)
Add team folders feature toggle
2025-08-13 16:41:00 +00:00
Alex Spencer
31fc7d5d7a SQL Expressions: LLM plugin integration - SQL suggestions and SQL explanations (#107545)
* init: first pass at AI generated SQL expressions

* chore: fixes to tests

* i18n

* chore: small GenAIButton style update

* lazy load the genAI button - circular dependency issue in our test mocks...?

* chore: polish

* fix: i18n

* feat: make it a whole lot more capable

* chore: extract prompt logic to common file

* chore: consolidate state management to custom hooks

* chore: clean up, update GenAIButton API, etc.

* chore: major sql prompt improvement + plan for future + genAIButton api update

* chore: polish for now

* chore: clean up folder structure

* chore: conditionally use hooks + improve prompt

* chore: betterer....

* chore: polish

* feat: testing 🚀

* chore: polish polish polish

* chore: remove startWithPrompt

* chore: timeout 30

* chore: add experimental badge

* i18n + 60 sec timeout

* chore: MOAR POLISH

* chore: clean up explanation drawer

* chore: update tests

* chore: update FF checks

* chore: get the rendering w/FF correct

* chore: fix tests

* chore: re-work ai tooltips

* chore: cleanup

* chore: handle sql button styling differently

* chore: fix styling last time
2025-08-13 09:24:04 -07:00
Isabel Matwawana
50a3aa3137 Docs: Add table cell types pills and markdown (#109411)
Co-authored-by: Paul Marbach <paul.marbach@grafana.com>
2025-08-13 11:56:57 -04:00
Roberto Jiménez Sánchez
6527790b64 Provisioning: Fix flaky tests with better debugging and consistent test patterns (#109601)
* Add log after jobs

* Use the same helper to create repository in export job

* Improve the logging

* Fix eventually conditions in helpers

* Fix export job tests

* Format code

* Fix linting

* Fix the format

* Fix linting issue

* Fix innefectual assignment
2025-08-13 17:35:06 +02:00
Alexander Akhmetov
587f52cf5b Alerting: API to show converted alertmanager configurations in the UI (#109353)
What is this feature?

This PR add the backend functionality to support viewing extra Alertmanager configurations (imported with the Prometheus conversion API) in the UI under the feature flag alertingImportAlertmanagerUI. The same flag will be used to enable this in the UI.

This is just the backend part, the full PoC PR is here: #109027

It uses a special datasource UID prefix __grafana-converted-extra-config-{identifier} to identify imported configurations. When the Alertmanager proxy handler detects this prefix:

    GET requests are proxied to either the Grafana Alertmanager service (for alerts, silences, etc.) or the Prometheus conversion API to get the config
    Write operations are not supported
2025-08-13 17:28:43 +02:00
Kyle Brandt
466aa70179 Sql Expressions: (Chore) Dedicated logger for expr.sql, and pass context (#109549) 2025-08-13 11:20:14 -04:00
Tom Ratcliffe
789a61230d Alerting: Fix newly created alert rules not immediately showing up in folder view (#109584)
Fix incorrect tag provided for namespace endpoint
2025-08-13 14:56:16 +00:00
Konrad Lalik
e21eda9413 Alerting: Auto refresh contact points in the rule form (#109539) 2025-08-13 16:54:40 +02:00
owensmallwood
384ec28dfd Unified storage bugfix legacy folders getting first page (#109554)
* When creating a new continue token, it defaults to page 1. Also use constants for default limit and page number.

* Update tests for continue token.

* When listing legacy folders, the continue token will have all paging info in it. Simplifies paging logic and fixes bug when limit not specified.

* Adds regression test to ensure default page limit is enforced.

* remove test comment
2025-08-13 08:50:28 -06:00
Alexa Vargas
8134919536 Query Library: Fix Change DS during replace query loses query library context (#109511)
* Query Library: Fix Change DS during replace query loses query library target
* add unit tests
2025-08-13 16:42:03 +02:00
Will Assis
b9b34223a7 Unified-storage: search after write feature flag (#109597)
create feature flag for experimental search-after-write changes
2025-08-13 10:05:15 -04:00
Matheus Macabu
fc6690bf6b IntegrationTests: Increase timeout to 8m (#109598)
Some tests are now taking longer than the 5min timeout
2025-08-13 16:03:29 +02:00
Laura Fernández
e358ca1f55 Chore: Remove deprecated HorizontalGroup in geo and transformers editors (#109602) 2025-08-13 15:57:38 +02:00
Yuri Tseretyan
726c76d998 Improve workflow "Update Alerting Module" (#109565)
* fix url to pull requests
* add default labels
* send message to slack
2025-08-13 09:53:13 -04:00
grafana-pr-automation[bot]
b4d1c136ce I18n: Download translations from Crowdin (#109575)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-08-13 13:46:14 +00:00
Andres Martinez Gotor
2e4b10e81c DatasourcePicker: Favorite datasources (#109404) 2025-08-13 15:34:19 +02:00
Konrad Lalik
842fd44e83 Alerting: Disable group consistency check for GMA rules (#109599)
Disable consistency check for GMA rules
2025-08-13 15:30:46 +02:00
Laura Fernández
09ee1ecaad Chore: Remove deprecated VerticalGroup (#109559) 2025-08-13 15:10:50 +02:00
lean.dev
3106abf1a6 SecretsManager: clear unused metrics and standarize labels(#109515) 2025-08-13 14:01:50 +01:00
Alexa Vargas
48edf1808e Query Library: Edit Query Library in explore using queryLibraryRef (#108863)
* add suport for queryLibraryRef in explore

* add feature flag check on badge

* add test for migrator

* Add QueryEditor.test and useStateSync test

* implement onCancelEditingQuery library

* run i18n extract

* push mod changes

* Revert "push mod changes"

This reverts commit 29c410f126.

* remove queryRef from the URL

* remove queryRef from url in explore page, keep redux logic

* restore tests and remove old queryRef from URL behaviour

* clean up test

* remove unnecessary useCallback from onCancelQueryLibraryEdit

* apply PR suggestions about naming of functions

* rename queryRef to queryLibraryRef

* update missing files with the new queryLibraryRef

* fix i18n check

* Disabled add query buttons when queryLibraryRef is present

* Add unit test to components

* add missing queryLibraryRef after merge

* add placeholder for highlighted code

* clear up queryLibraryRef after sucess update

* add monitoring

* remove unnecessary change

* remove placeholder and integrate highlightQuery

* change "Editing From Query Library" to "Update query from library"

* update tootlip text

* fix interaction importing issue

* updating i18n for query library editing badge

* update copy on saving actions

* keep copy short

---------

Co-authored-by: Juan Cabanas <juan.cabanas@grafana.com>
2025-08-13 14:46:45 +02:00
Matheus Macabu
94f7602786 App Installer: Revert #109267 and skip ShortURL integration tests (#109591)
* Revert "App Installer: Merge builder and installer admission (#109267)"

This reverts commit c662b880fd.

* ShortURL: Skip integration tests temporarily
2025-08-13 11:27:37 +00:00
alerting-team[bot]
2887099c74 Alerting: Update alerting module to a38b2187d4e1bec5f7c3a8fc885a3117b64b4bd0 (#109580)
[create-pull-request] automated change

Co-authored-by: alexander-akhmetov <1875873+alexander-akhmetov@users.noreply.github.com>
2025-08-13 10:32:15 +00:00
Dominik Prokop
28030ce000 Dashboard: Add experimental reloadOnParamsChange annotation support in v1beta1 API client (#109461)
Warning: This is heavily experimental feature and WILL BE REMOVED in a few months.
2025-08-13 11:43:22 +02:00
Yulia Shanyrova
47aa892d24 Plugins: Add test-ids for plugin details, remove lastCommitDate (#109173)
add test-ids for plugin details, remove lastCommitDate
2025-08-13 10:18:49 +02:00
Yunwen Zheng
2ecc076bbf Provisioned Resource Read Only: When repo is read only, disable action buttons and display badge (#109494)
* When repo is read only, disable action buttons and display badge

* browse dashboards page, disable checkbox if repo is read only

* clean up

* clean up

* i18n

* added read only status to repository page

* i18n

* fix

* readonly tooltip added local provisioning message

* i18n
2025-08-13 09:08:53 +02:00
Stephanie Hingtgen
85166512cb Provisioning: Update for standalone (#109524) 2025-08-12 17:37:16 -05:00
Alyssa Joyner
1ce333a572 [InfluxDB] Config design improvements (#108562) 2025-08-12 14:23:51 -06:00
Alex Spencer
08501677e3 SQL Expressions: Add SQL banner (#106865)
* prototype: sql expressions discovery work

* chore: remove compact view work

* chore: cleanup

* chore: moar clean

* chore: use grid instead

* chore: remove no margin + i18n fix

* chore: betterer

* cleanupz

* chore: oh it needs noMargin

* feat: convert to alert

* chore: i18n extract

* i18n

* chore: polish

* fix: change localstorage provider import

* chore: update local storage key name

---------

Co-authored-by: Develer <yeryomin.igor@gmail.com>
2025-08-12 12:34:13 -07:00
Ezequiel Victorero
56c91c2222 ShortURL: App platform migration support for dual write (#109221) 2025-08-12 16:01:41 -03:00
Ryan McKinley
edcb6e6895 Provisioning: Fix OpenAPI generation (#109513)
* post-process spec

* update client

* fix the openapi

* revert playlist change

* Fix unmanaged resource counts

---------

Co-authored-by: Roberto Jimenez Sanchez <roberto.jimenez@grafana.com>
2025-08-12 17:25:19 +00:00
Josh Hunt
2345da5100 MultiCombobox: Fix async options to being able to be removed (#109473) 2025-08-12 17:40:08 +01:00
Mustafa Sencer Özcan
7b4fcd486a Revert "fix: unified resource server list queries order column" (#109529) 2025-08-12 17:29:50 +02:00
Todd Treece
c662b880fd App Installer: Merge builder and installer admission (#109267) 2025-08-12 15:28:17 +00:00
Ihor Yeromin
dd85bc0b17 Doc: Canvas zoom to content (#109522)
doc(canvas): zoom to content
2025-08-12 16:59:53 +02:00
Roberto Jiménez Sánchez
5c5729a25d Provisioning: Fix migration behavior for folder-type repositories (#109518)
Fix migration issues for folder sync
2025-08-12 16:48:13 +02:00
Victor Cinaglia
5f6abae81b Auth: Add subtitle for cloud access policy page (#109498)
chore(iam): add subtitle for cloud access policy page
2025-08-12 11:26:50 -03:00
Yunwen Zheng
57865b6a90 Browse Dashboards: Prevent cross repo resource selection (#109500)
* BrowseActions: when selecting item from a provisioned folder, disable all items from other provisioned folder. Display a  tooltip when checkbox is disabled.
2025-08-12 13:45:08 +00:00
Matheus Macabu
904bf6b807 Investigations: Move Grafana core packages to pkg/registry/apps (#109477) 2025-08-12 15:33:23 +02:00
Bogdan Matei
80e8a6e211 Dashboard: Improvements to conditional rendering (#108108) 2025-08-12 16:23:19 +03:00
Zoltán Bedi
db0a1bc30f Remove sqlDatasourceDatabaseSelection feature toggle (#109391)
* Remove `sqlDatasourceDatabaseSelection` feature toggle

* Update e2e tests
2025-08-12 15:22:30 +02:00
Andreas Christou
6c106a85ac UI: Add aria-labelledby and data-testid to MultiCombobox (#109521)
Add aria-labelledby and data-testid props
2025-08-12 14:06:04 +01:00
Yunwen Zheng
ce64b66798 BulkDeleteProvisionedResource: Use resource names to perform bulk deletion job (#109281)
* BulkMoveProvisionedResource and BulkDeleteProvisionedResource: use resource name for BE job
2025-08-12 08:57:42 -04:00
Roberto Jiménez Sánchez
9b3b6fcdb2 Security: Fix actor spoofing vulnerability in Dependabot workflow (#109519)
Replace github.actor with github.event.pull_request.user.login to prevent
actor context spoofing in pull requests from forks. This ensures only
genuine Dependabot PRs can trigger the workspace update workflow.

Fixes zizmor security finding with Medium confidence level.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-authored-by: Claude <noreply@anthropic.com>
2025-08-12 12:40:03 +00:00
Roberto Jiménez Sánchez
f2303a8ad9 Provisioning: Include Ref URLs in Job Status (#109464)
* Add URLs to Job spec

* Rename them as RefURLs

* Implement RefURLs for Github

* Add Ref URLs to Jobs

* Worker Test

* Create the branch in the staged writer

* Regenerate Git mock

* Format code

* Consolidate ResourceURLs and RefURLs into one

* Fix broken tests
2025-08-12 11:57:37 +02:00
Josh Hunt
90dfc26b43 Chore: Update nx to 21.3.11 (#109508)
* Reapply "Update dependency nx to v21 (#109232)" (#109476)

This reverts commit 6fe0893630.

* Update nx to 21.3.11
2025-08-12 10:56:12 +01:00
grafana-pr-automation[bot]
20d253fc39 I18n: Download translations from Crowdin (#109502)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-12 08:42:56 +00:00
Roberto Jiménez Sánchez
8a690e977e Provisioning: Return unmanaged count in stats (#109462)
* Unmanaged counts

* Add integration test

* Generate open api spec
2025-08-12 09:17:25 +02:00
Matheus Macabu
0d8518dc2f Build: Add -buildvcs=false flag to go build (#109472) 2025-08-12 08:57:32 +02:00
Sofia Papagiannaki
402572c580 Add ConfigProvider and modify quota.Service to use it (#109395)
* Add config provider and integrate with wire setup

* Refactor quota service to use config provider for configuration management

* Enhance OSSConfigProvider to include logging and update ProvideService to return an error. Refactor server initialization to handle potential errors from config provider. Remove unnecessary wire binding for OSSConfigProvider.

* Update CODEOWNERS to include the configprovider package under the grafana-backend-services-squad.

* Refactor quota service initialization to include context in multiple service providers. Update tests and service implementations to ensure proper context handling during service creation.
2025-08-12 09:42:10 +03:00
Ryan McKinley
101aea9647 K8s/Meta: Support setting secure values on a struct type (#109381) 2025-08-12 00:53:56 -05:00
Adela Almasan
238961d3ea VizTooltip: Replace ExemplarHoverView with VizTooltip components (#109369)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2025-08-11 20:35:36 +00:00
Collin Fingar
cff39476f3 QueryLibrary: Updated Entrypoint Discoverability (#108413)
* Updated query library discoverability

* Reverted to plus

* Fixed coloring issue
2025-08-11 15:58:00 -04:00
Jacob Valdez
790b9fc1cf Docs: adjusting the audit log label info (#109088) 2025-08-11 13:25:33 -05:00
Alex Spencer
5363615d97 Trendline: Add higher polynomial degrees (#109001)
* enhancement: add higher polynomial degrees + warning

* chore: i18n

* chore: refactor

* chore: renaming for clarity!
2025-08-11 10:00:33 -07:00
geekeryy
43ac5b52f9 InfluxDB: Fix Unable to use self-signed CA for adding influxdb data source (#105586)
* Fix Unable to use self-signed CA for verification when adding influxdb data source (#105585)

* Update pkg/tsdb/influxdb/fsql/fsql.go

---------

Co-authored-by: Andrew Hackmann <5140848+bossinc@users.noreply.github.com>
2025-08-11 11:45:19 -05:00
Ashley Harrison
fbef31b2e0 Chore: Unskip some more storybook a11y checks (#109452)
* Unskip some more a11y checks

* set aria-label correctly in story
2025-08-11 16:22:48 +00:00
Peter Štibraný
298b492f1a search queue index mutex (#109474)
Use custom mutex for index, and don't hold it during BulkIndex.
2025-08-11 16:20:47 +00:00
Ashley Harrison
6fe0893630 Revert "Update dependency nx to v21 (#109232)" (#109476)
This reverts commit 1625bc1e4e.
2025-08-11 15:29:44 +00:00
Jacob Valdez
fccb51660c docs: fix refs to fix links in http api docs (#109429) 2025-08-11 09:55:52 -05:00
Syerikjan Kh
fef5d7a67f Docs: Helm chart plugin installation (#109467)
* docs: helm chart plugin installation

* Update docs/sources/administration/plugin-management/_index.md

Co-authored-by: Anna Urbiztondo <anna.urbiztondo@grafana.com>

---------

Co-authored-by: Anna Urbiztondo <anna.urbiztondo@grafana.com>
2025-08-11 14:54:37 +00:00
renovate[bot]
b8f74bc9cc Update locker to v0.14.0 (#107968)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-11 15:38:55 +01:00
Isabel Matwawana
19d2bfba7f Dos: Remove OSS and enterprise product labels (#109270) 2025-08-11 09:59:25 -04:00
Isabel Matwawana
b8b7fee877 Docs: Add dashboards previews alias (#109358)
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2025-08-11 09:30:54 -04:00
Ida Štambuk
c39c6a2a87 CloudWatch: Append query type to the request id (#109068) 2025-08-11 15:20:48 +02:00
Alexander Akhmetov
0e59bcdbb8 Alerting: Apply backend label filtering to chart visualization in state history UI (#109459) 2025-08-11 15:20:35 +02:00
Stephanie Hingtgen
ce1afa626d Dashboard versions: Cleanup logic (#109432)
* Dashboard versions: Cleanup logic

* more cleanup
2025-08-11 07:12:46 -06:00
Stephanie Hingtgen
cc1f00cbfb Dashboard versions: Fix list for large dashboards (#109433) 2025-08-11 07:12:16 -06:00
Yulia Shanyrova
63237f0be8 Plugins: All plugins are up to date message if now new updates available (#109175)
* add message for no updates abailable

* add tests to PluginList
2025-08-11 14:45:21 +02:00
Serge Zaitsev
7cde0dfaf5 Chore: Disable cgo for postgres/mysql tests (#109444)
* disable cgo for postgres/mysql tests

* add missing error constants
2025-08-11 14:40:44 +02:00
Ryan McKinley
e0404f924c K8s/SecureValues: Wire InlineSecureValueSupport to apistore (#109449)
* inline wire

* extra fields

* add variable

* wire
2025-08-11 15:22:56 +03:00
Dominik Prokop
4682a288a3 Dashboard: Add processingTime metric for easier querying and bump scenes to 6.29.7 (#109442)
* Dashboard: Add processingTime calculation to profiler and upgrade scenes

- Add processingTime calculation (duration - networkDuration) to dashboard profiler
- Upgrade to @grafana/scenes 6.29.6 with profiler improvements
- Update documentation

* Bump scenes to stable

* Cancel ongoing profile on dashboard scene page page unmount

* Update docs

* Bump latest scenes
2025-08-11 13:38:50 +02:00
Ivan Ortega Alba
f3182a3838 Dashboard Migrations: Add observability logging to dashboard conversion process (#109368) 2025-08-11 13:27:54 +02:00
Alexander Akhmetov
6ca3d8a27a Alerting: Enable alertingSaveStateCompressed by default (#109390) 2025-08-11 12:57:20 +02:00
Ryan McKinley
439d4d383c Provisioning: Hide HistoricJobs from OpenAPI spec (#109454)
histtoric jobs
2025-08-11 10:47:33 +00:00
Roberto Jiménez Sánchez
f80627f228 Provisioning: Store Recent Jobs Temporarilly in Unified Storage (#109392)
* Add HistoryJob back to Spec

* Generate client

* Put back History Jobs

* Add a controller to remove historic jobs after some minutes

* Start only if Loki is not used

* Format code

* Update OpenAPI spec

* Change log level

* Fix condition

* Fix staticcheck

* Use provisioning identity

* Fix registration APIs

* Fix readonly issue

* Update OpenAPI
2025-08-11 13:10:15 +03:00
Konrad Lalik
a0cf529465 Alerting: Fix subpath handling in the alerting package (#109448)
Take subpath into account when building contact points APIs URL
2025-08-11 12:06:58 +02:00
renovate[bot]
1625bc1e4e Update dependency nx to v21 (#109232)
* Update dependency nx to v21

* auto exit terminal ui

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-08-11 10:56:05 +01:00
Ivan Ortega Alba
63bab8076d Dashboards Migrations: V24 set defaults when no thresholds are defined (#109402) 2025-08-11 11:55:19 +02:00
Ieva
58c4305d64 Access: Feature toggle for resource permissions (#109418)
feature toggle for resource permissions
2025-08-11 08:54:36 +00:00
grafana-pr-automation[bot]
7ee2b3c124 I18n: Download translations from Crowdin (#109431)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-11 08:26:30 +00:00
Mariell Hoversholm
744f6e50f7 Actions: Don't specify ref on clone (#109440) 2025-08-11 10:24:03 +02:00
Isabel Matwawana
49e5729fb1 Docs: Clarify geomap tooltip behavior (#107930) 2025-08-09 07:38:11 +00:00
Paul Marbach
a819e977a1 Table: Fix some styling issues with frozen columns (#109425) 2025-08-08 17:27:44 -05:00
Isabel Matwawana
d921872b97 Docs: Add variable indexing section (#108725) 2025-08-08 21:20:33 +00:00
William Wernert
6851d8ae0c Storage: Skip slow test TestIntegrationBenchmarkResourceServer (#109424) 2025-08-08 20:51:12 +00:00
Drew Slobodnjak
c7bff24e35 Geomap: Update no repeat option docs (#109375) 2025-08-08 12:26:20 -07:00
owensmallwood
c07c0f27d2 Unified Storage: Makes writing and reading index thread-safe in the queue processor (#109420)
makes writing and reading index thread-safe
2025-08-08 12:53:01 -06:00
Moustafa Baiou
1bb68a1151 Revert "Alerting: Add store level pagination of rules" (#109422)
Revert "Alerting: Add store level pagination of rules (#108633)"

This reverts commit 2f0190d775.
2025-08-08 18:39:04 +00:00
alerting-team[bot]
898ef9cf58 Alerting: Update alerting module to dae4478cb0dc9326319d27e5f3feb301825f2922 (#109419)
* [create-pull-request] automated change
* omit email templates from the result

---------

Co-authored-by: yuri-tceretian <25988953+yuri-tceretian@users.noreply.github.com>
Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2025-08-08 18:13:23 +00:00
Matias Chomicki
f77e8839d9 New Logs Panel: Display nanoseconds if present (#109210)
* processing: display nanoseconds if present

* Nanoseconds: add control in log line menu

* virtualization: adapt to timestamp format

* Translations

* LogLine: update test

* virtualization: update test

* LogLineMenu: update test

* LogListControls: add third state for new logs panel timestamps

* Logs Panel: expose as a new panel option

* Translations

* Logs Panel: set timestamp resolution from panel config

* Module: add default value

* LogLine: update test

* Spelling

* chore: rename setter

* LogListControls: use custom button for resolution

* Translations

* Translations

* Prettier

* Logs Panel: conditionally show timestamp and details options

* Add integration test
2025-08-08 17:13:01 +00:00
Artur Wierzbicki
5e4dd1c907 AutoTriager: add git sync (#107103)
add gitsync
2025-08-08 15:31:47 +00:00
Yunwen Zheng
155f1fc58c RepositoryOverview: Bugfix recent job not displaying in OSS (#109407)
fix condition
2025-08-08 17:18:02 +02:00
Isabel Matwawana
f019848209 Update CODEOWNERS for what's new and upgrade guide (#109406) 2025-08-08 15:00:38 +00:00
Matt Cowley
bd2f14e01b Plugins: Move AppChrome extension point to top of stack (#109015)
* Plugins: Move AppChrome extension point to top of stack

* Plugins: Switch AppChrome extension gating to chromeless flag
2025-08-08 16:58:48 +02:00
Paul Marbach
992d189c0f Table: Frozen columns (#109276)
* Table: Frozen columns

* i18n extract

* clamp the frozen columns by the total number of cols visible

* future-proof a bit: frozenColumns.left, add to kitchenSink
2025-08-08 14:55:53 +00:00
Alexander Akhmetov
4e94e463cf Alerting: Fix private labels filtering test (#109393) 2025-08-08 14:08:36 +00:00
Alexander Akhmetov
73f24d3116 Alerting: Pass exact matchers to the backend in the state history UI (#109292) 2025-08-08 16:03:27 +02:00
Josh Hunt
f836ea2ada CI: Switch jest unit tests to self-hosted runners (#109304)
* trigger a workflow run for baseline

* attempt to improve caching with upfront action

* CYPRESS_INSTALL_BINARY: 0

* PUPPETEER_SKIP_DOWNLOAD: true

* use ubuntu-x64-large runners

* increase to 16 shards 🚀

* fix incorrect shard total

* ubuntu-x64 runners

* Revert "ubuntu-x64 runners"

This reverts commit 3411c7c5e1039263b17a3065cd7d45fa4c3c8f69.

* try caching node_modules

* fix flakey scopes test

* try just ubuntu-x64-large for yarn-install job

* run again, last one had a dodgy trace

* try different runners for yarn instlal

* Move node_modules cache steps to composite action, use ubuntu-x64 runners for everything

* fix duplicate runs-on

* specify shell for composite action

* fix some flaky tests

* update codeowners

* dedupe yarn.lock

* align yarn action, switch tests back to ubuntu-x64-large

* align yarn action cache keys

* fix required-frontend-unit-tests not checking repo out

* try without the node_modules magic

* actually skip the node_modules caching magic

* skip hardened mode

* skip downloading cypress

* comment
2025-08-08 14:31:14 +01:00
Andres Martinez Gotor
463e544db9 Add boilerplate code for favoriteDatasource feature flag (#109383) 2025-08-08 13:28:17 +00:00
Peter Štibraný
9b0dc4614c Cleanup old indexes in the same goroutine as build of the index. (#109382)
* Cleanup old indexes in the same goroutine as build of the index.

* Add test.
2025-08-08 14:59:59 +02:00
Sergej-Vlasov
67140e9850 AutoGridItemRenderer: Fix repeated panel lazy loading and drag and drop (#109334)
* wip: wrap individual grid items with lazy loader

* fix repeated panel lazy loading and drag and drop in auto grid item
2025-08-08 13:43:13 +01:00
Sergej-Vlasov
e1e9a570af TabsLayout: Rethinking tab repeats (#108134)
* wip: rework tab repeat behaviour

* wip: tab repeats rendering

* wip: tab repeats rework

* rework tab drag and drop to account for repeats

* add TabItemRepeater tests

* clean up

* prevent canvas actions in cloned tabs and rows

* add repeat name into tab title

* prettier ffix

* fix cloneLayout bug

* remove experimental title adjustment on repeat
2025-08-08 13:42:51 +01:00
Serge Zaitsev
f3ca49f2b3 Chore: Use proper database in integration tests (#109119)
* Chore: Apply proper database settings to integration tests

* add logging

* join host and port in database config to override default ports

* apply test fixes from the original pr

* host might contain port already

* increase timeout

* increase timeout even more

* even larger timeouts

* Use eventually for stats

* Use eventually also for listing settings as index takes some time

---------

Co-authored-by: Roberto Jimenez Sanchez <roberto.jimenez@grafana.com>
2025-08-08 14:24:17 +02:00
Josh Hunt
3a4dc10d3f Chore: skip failing DashboardMigratorToBackend test (#109387) 2025-08-08 12:12:33 +00:00
Andreas Christou
67c75de942 InfluxDB: Ad hoc filters support for expressions (#109344)
* Support adhoc filters

* Tests
2025-08-08 12:32:04 +01:00
Matheus Macabu
01c1a6ce5b SecureValues: Run mutate and validation hooks in service layer (#109379)
* SecureValues: Run mutate and validation hooks in service layer

* add some unit tests
2025-08-08 13:15:23 +02:00
Matheus Macabu
71b6149492 GitIgnore: Add some build files to ignore list (#109380) 2025-08-08 12:33:01 +02:00
Roberto Jiménez Sánchez
285a4c36e5 Provisioning: More Miscellanous Fixes For Integration Tests (#109340)
* More clean up around waiting for jobs

* Add comment to trigger enterprise integration tests

* Trigger integration tests

* Collect error

* Move tests in wrong spot

* Clean up test

* Remove Eventually

* Remove duplicate not nil check

* Delete comment in infra tests

* Helper to create repository

* Use helper for move
2025-08-08 10:04:55 +00:00
Dominik Prokop
09d6d97535 Dashboard Migrations: V20 variable syntax migration for data links and field options (#109203)
Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
Co-authored-by: Haris Rozajac <haris.rozajac12@gmail.com>
2025-08-08 09:46:34 +00:00
Haris Rozajac
8f2d27044d Dashboard Migrations: V21 data links (#108950)
---------

Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
2025-08-08 08:55:32 +00:00
Matias Chomicki
99c7cd60e6 LogLineMenu: improve options and dividers (#109191) 2025-08-08 10:45:05 +02:00
Ryan McKinley
3c00cf11cc Secrets: Allow any valid identity to manage inline secrets (#109377) 2025-08-08 08:18:43 +00:00
Haris Rozajac
abdf1943b9 Dashboard Migrations: V22 table panel styles - set property to 'auto' (#108949)
* Dashboard Migrations: V31 LabelsToFields-Merge Migration

* Dashboard Migrations: V32 No-op migration

* simplify

* Refactor to reduce nesting

* Dashboard Migrations: V30 value mappings and tooltip options

* Do not automigrate since graph is migrated in v27

* Refactor to reduce nesting

* Add test case for invalid mapping

* migrate to v29

* wip

* Fix tests

* fix output

* wip

* fix min version issue

* fix wire

* ignore gauge logic as it never get's executed

* add panel migration to test

* improvements

* update

* cleanup

* address mappings inconsistencies

* cleanup

* fix lint issues

* add cfg when initializing

* v27 migration

* migrate to v26

* preallocate array

* remove logic for grafana-singlestat because it's shared with stat logic; improve error handling and testing

* fix go lint

* don't preallocate; cleanup comments

* cleanup

* wip

* run internal provider function when getting a single panel

* clean up; add tests

* add tests for panel plugin service

* remove obsolete mock for getting panel plugin

* add tests for the whole pipeline

* fix test and lint

* migrate to v23

* migrate to v22

* refactor

* fix test

---------

Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
2025-08-08 08:03:02 +00:00
grafana-pr-automation[bot]
d666e2bdce I18n: Download translations from Crowdin (#109372)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-08 00:43:09 +00:00
Paul Marbach
cc64b17483 Table: Move cell-specific styles out to their own methods (#108941)
* TableNG: Markdown cell, plus custom row height

* tab indentation in cue file

* fix i18n

* trying an auto height with the updated RDG

* get auto cellHeight working

* i18n updates

* hoor disable_sanitize_html flag in MarkdownCell

* update react-data-grid version to attempt to support page up and down

* removing custom height

* use the latest experimental RDG with paging up and down

* TableNG: Wrap text for DataLinks and Pills; groundwork for max wrap length

* disable editing max wrapped lines for now

* disable wrap text line limit e2e

* new i18n extract after commenting out input

* wip

* kill max wrapped lines for now

* more cleanup

* remove targeting classes added for max wrapped lines

* fix Pill test

* couple more style cleanups

* Table: Move cell-specific styles out to their own methods

* move styles into their own file

* combine renderer and style declarations to make auto cells work better, complete cleanup of internal cell elements

* fix e2es given these updates

* add a couple tests

* wip: tests

* add tests

* bump up capital letters in lorem ipsum

* fix copy-pasta mistake

* whoops, mis-merged the selector

* use a local count instead of getCellLinks

* use react-data-grid on react-18 branch

* fix linting on test

* gdev dashboard and smoketest for Markdown table

* remove cellHeightCustom

* restore bugfix from adversarial AI-generated JSON

* reorganize in light of recent and upcoming changes

* cleanup

* override the whitespace for markdown

* what are these auto imports about...

* fix cell height selector from merge

* also remove cellHeightCustom

* i18n

* avoid the important override in markdown cell styles

* revert some betterer config autoformatting

* slight code cleanup

* s/cat/grot, add color link panel to kitchen sink, fix color link/image link style issues

* update panelid for empty table panel test

* link styles outside of cell style setup

* flesh out kitchen sink examples, update ImageCell and applyToRow

* clean up some inconsistent states

* fix lint issue

* gdev update

* format JSON to satisfy linter

* shortening the text in the long text field

---------

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2025-08-07 19:53:52 -04:00
Haris Rozajac
4b78e54304 Dashboard Migrations: V23 handle variable multi and current properties (#108937)
Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
2025-08-07 22:41:42 +00:00
maicon
a5abc6727f Unistore/dualwriter: delegate SetDefaultPermissions to Unified on Mode3 (#109308)
* Unistore/dualwriter: delegate SetDefaultPermissions to Unified on Mode3

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-08-07 18:41:41 -03:00
Larissa Wandzura
e6c24e0709 DOCS: Updates to help with UI improvement work (#109359)
* updates to help with UI improvements

* ran prettier
2025-08-07 15:38:00 -05:00
Josh Hunt
0069d112fc Config: Fix date_formats options being moved to a different section (#109339)
* Config: Fix date_formats options being moved to a different section

* fix builder cache key
2025-08-07 20:30:47 +00:00
Haris Rozajac
6ca8c6c6da Dashboard Migrations: v25 & v24; migrate angular table (#108826)
* Dashboard Migrations: V31 LabelsToFields-Merge Migration

* Dashboard Migrations: V32 No-op migration

* simplify

* Refactor to reduce nesting

* Dashboard Migrations: V30 value mappings and tooltip options

* Do not automigrate since graph is migrated in v27

* Refactor to reduce nesting

* Add test case for invalid mapping

* migrate to v29

* wip

* Fix tests

* fix output

* wip

* fix min version issue

* fix wire

* ignore gauge logic as it never get's executed

* add panel migration to test

* improvements

* update

* cleanup

* address mappings inconsistencies

* cleanup

* fix lint issues

* add cfg when initializing

* v27 migration

* migrate to v26

* preallocate array

* remove logic for grafana-singlestat because it's shared with stat logic; improve error handling and testing

* fix go lint

* don't preallocate; cleanup comments

* cleanup

* wip

* run internal provider function when getting a single panel

* clean up; add tests

* add tests for panel plugin service

* remove obsolete mock for getting panel plugin

* add tests for the whole pipeline

* fix test and lint

* fix test

* Fix missing scenarios

---------

Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
2025-08-07 14:14:39 -06:00
Jean-Philippe Quéméner
3920b25aee feat(scheduler): add metric for time spend in queue (#109346) 2025-08-07 19:56:17 +00:00
owensmallwood
e667dfed29 Unified Storage: Update index when indexqueueprocessor exists (#109351)
* Update readme

* When queue processor already exists, update the index on it in case it has been closed.

* Adds regression test.
2025-08-07 11:38:24 -06:00
Kevin Minehart
f888f61097 CI: remove unnecessary files from tarball (#109350)
* remove npm artifacts and storybook from targz

* fix small issue with docker verification
2025-08-07 17:31:28 +00:00
Alexander Akhmetov
89d6756c67 Alerting: Filter out private labels before writing recording rules (#109295) 2025-08-07 17:25:12 +02:00
Miguel Palau
696b1bcc69 Plugin Extensions: DataSource Configuration Components (#108350)
* add the plan

* feat: Add plugin extension points for DataSource configuration components

- Add DataSourceConfigActions and DataSourceConfigStatus extension points
- Add PluginExtensionDataSourceConfigActionsContext and PluginExtensionDataSourceConfigStatusContext types
- Update EditDataSourceActions.tsx with plugin extension support and allowlist filtering
- Update DataSourceTestingStatus.tsx with dual extension point support (new + backward compatible)
- Create getDataSourceExtensionConfigs.tsx with example core extensions
- Update getCoreExtensionConfigurations.ts to include datasource extensions
- Implement grafana-owned plugin allowlist for security and quality control
- Support context-aware extensions based on datasource type and testing status
- Maintain backward compatibility with existing DataSourceConfigErrorStatus extension point
- Add proper TypeScript types and export them in index.ts

This enables grafana-owned plugins to provide contextual actions and status-specific integrations
within the datasource configuration workflow while maintaining security through plugin filtering.

* docs: Update specs.md with implementation status and lessons learned

- Add comprehensive implementation status section with completed features
- Document critical lessons learned during implementation:
  * Translation limitations in extension configurations
  * Plugin security through allowlist filtering
  * Extension registration timing constraints
  * TypeScript context type patterns
- Update implementation checklist with actual completion status
- Add detailed next steps and recommendations
- Include plugin development guidelines (do's and don'ts)
- Document architectural insights and patterns discovered
- Transform specs from theoretical design to practical implementation guide

This update serves as both historical record and developer guide for future
plugin extension work in Grafana.

* Add comprehensive tests for DataSource plugin extensions

- Add EditDataSourceActions.test.tsx with 12 tests covering:
  * Core Grafana actions functionality and permissions
  * Plugin extension rendering and interaction
  * Plugin allowlist filtering and security
  * Context passing and URL generation

- Add getDataSourceExtensionConfigs.test.tsx with 14 tests covering:
  * Core extension configurations for both extension points
  * Context filtering logic (datasource type, severity)
  * Error handling and graceful failures
  * Extension structure validation and type safety

Total: 26 tests passing, providing comprehensive coverage of the
DataSourceConfigActions and DataSourceConfigStatus extension points
implemented in previous commits.

* Update specs.md to reflect completed test implementation

- Mark unit testing phase as complete (26 tests added)
- Add comprehensive Test Implementation section documenting:
  * Test file details and coverage areas
  * Testing challenges and solutions discovered
  * Performance metrics and execution strategy
  * Command examples for running tests
- Update Success Metrics with concrete testing validation
- Update Next Steps to reflect testing completion
- Document new test files in Files Modified section

The plugin extensions implementation now has complete unit test
coverage for both DataSourceConfigActions and DataSourceConfigStatus
extension points with 26 passing tests.

* rm specs file

* lint

* refactor: replace 'any' types with proper TypeScript types in datasource extension tests

* tsc

* prettier: fix

* Fix datasource extension path format to resolve CI test failure

The troubleshooting link extension was using an invalid path format
'/docs/troubleshooting/datasources' which caused console.error during
test execution. Updated to proper Grafana core extension path format
'/a/grafana/docs/troubleshooting/datasources' to comply with plugin
extension validation rules.

* fix: DataSourceTestingStatus test failures

- Fix incorrect data-testid expectations to use proper e2e selectors
- Add contextSrv mock for hasAccessToExplore() dependency
- Create proper plugin links mock handling different extension points
- Update plugin link tests to use allowed plugin IDs
- Fix test logic to match actual component behavior for status/error links
- Add test coverage for non-allowed plugin filtering

All 10 tests now pass successfully.

* lint fix

* refactor: replace any types with proper TypeScript types in DataSourceTestingStatus test

- Replace any[] with PluginExtensionLink[] for statusLinks and errorLinks parameters
- Replace any with UsePluginLinksOptions for setPluginLinksHook callback parameter
- Add proper imports for PluginExtensionLink and UsePluginLinksOptions
- Improve type safety and IntelliSense support in tests

* rm brittle tests

* DataSource: Replace individual buttons with dropdown menu in EditDataSourceActions

- Convert LinkButton components to dropdown with Menu.Item components
- Add conditional rendering: show simple button when only one action, dropdown when multiple
- Use LinkButton for navigation and Button with dropdown icon for menu trigger
- Replace Trans components with t() function calls for Menu.Item labels
- Prevent PageHeader crowding when multiple plugin extensions are registered
- Maintain all existing functionality and tracking calls

* refactor: use configure() for dynamic datasource extension URLs

- Replace onClick handler with configure() function for dynamic path generation
- Use context to build monitoring tool URL with datasource UID
- Follows extension system design patterns for declarative configuration
- Removes manual window.open() in favor of automatic path handling

* refactor: use DataSourceConfigErrorStatus extension point for troubleshooting guide

Use the specific DataSourceConfigErrorStatus extension point instead of
DataSourceConfigStatus with conditional logic in configure function.
This simplifies the code by leveraging the right abstraction level.

* extract i18n

* lint:fix

* Revert "lint:fix"

This reverts commit 23cdb39672.

* lint:fix

* fix: mock plugin extensions registry in variables utils test

Fixes console.error calls during test execution caused by plugin extension
registration failures. The test was failing on CI because the extensions
registry was trying to register link extensions with invalid configurations
during module import.

Solution: Mock the entire plugin extensions registry setup to prevent
side effects from interfering with the test execution.

* fix: mock plugin extensions registry in explore query test

Fixes console.error calls during test execution caused by plugin extension
registration failures. The test was failing on CI because the extensions
registry was trying to register link extensions with invalid configurations
during module import.

This applies the same fix as the variables utils test - mocking the entire
plugin extensions registry setup to prevent side effects from interfering
with the test execution.

* better fix

* Fix EditDataSourceActions test by mocking utils and handling dropdown UI

- Add missing mock for constructDataSourceExploreUrl from ../utils
- Update tests to interact with dropdown menu structure instead of expecting direct text
- Fix test logic to match component behavior: Actions dropdown when user has explore rights

* lint:fix

* refactor: extract duplicated allowedPluginIds to single source of truth

- Add ALLOWED_DATASOURCE_EXTENSION_PLUGINS constant to constants.ts
- Remove duplicate allowedPluginIds arrays from DataSourceTestingStatus and EditDataSourceActions
- Update both components to import and use the shared constant
- Improves maintainability and ensures consistency across datasource config components

* refactor: update datasource extension link configurations

- Change title and description for the metrics drilldown link to improve clarity
- Update the path for the metrics drilldown link to reflect the new routing structure
- Remove the troubleshooting guide link configuration to streamline the extension options

* removing unused config

* better dropdown

* fix: update EditDataSourceActions tests to match component implementation

- Fixed tests to expect core actions as separate buttons instead of dropdown
- Updated plugin extension tests to use 'Extensions' dropdown instead of 'Actions'
- Added test for Extensions dropdown visibility logic
- All 12 tests now passing

* lint:fix

* remove extra check

* Update ALLOWED_DATASOURCE_EXTENSION_PLUGINS documentation to clarify plugin contributions to datasource configuration pages

* feat: Convert Explore data button to dropdown when extensions are available

- When hasActions is empty: shows normal Explore data and Build dashboard buttons
- When hasActions is not empty: converts Explore data to dropdown with angle-down icon
- First dropdown item: 'Open in Explore View'
- Following items: extension links
- Build dashboard button remains unchanged
- Maintains existing tracking functionality and internationalization

* test: Update EditDataSourceActions tests for new dropdown implementation

- Update tests to work with new Explore data dropdown that includes extensions
- Replace references to 'Extensions' button with 'Explore data' dropdown
- Add test for 'Open in Explore View' menu item in dropdown
- Verify correct behavior when extensions are present vs absent
- All 13 tests now passing

* test: Add comprehensive test coverage for dropdown explore functionality

- Add test to verify explore action href when extensions are present
- Ensure both dropdown and direct link behaviors are tested
- Complete test coverage for new dropdown implementation

* translation

* compass icon for the explore item

* feat: refactor AlertSuccessMessage to accept extension links as props

- Move extension links from inline definition to props for better reusability
- Add proper TypeScript support for PluginExtensionLink types
- Improve component architecture by separating concerns
- Add extensionLinks styling to getStyles function for consistency
- Support both real extension links and custom link rendering in success messages

This improves the component's flexibility while maintaining type safety.

* lint:fix
2025-08-07 15:19:10 +00:00
Andres Martinez Gotor
054e0fb208 DatasourcePicker: Include the number of datasources in reported event (#109185) 2025-08-07 15:34:54 +02:00
Yunwen Zheng
b5fca60bdb Provisioning Folder: Bugfix cancel action drawer should not reset selection state; Read only alert reoganize (#109087)
* Read only message on drawer, fix cancel drawer reset selection state.

* Bugfix when select provisioned sub items from root, we are missing repo info
2025-08-07 09:19:04 -04:00
Alexander Akhmetov
8add059800 Alerting: Do not apply extra labels in the Prometheus conversion API to recording rules (#109312) 2025-08-07 15:16:04 +02:00
Kyle Brandt
561d5e4403 SQL Expressions: (chore) Set error on SQL Execute span (#109268) 2025-08-07 08:43:39 -04:00
Roberto Jiménez Sánchez
2a0944a92a Provisioning: Miscellanous Fixes For Flaky Integration Tests (#109330)
* Enhance error messages individual files errors

* Split integration tests into multiple files

* Fix missing import

* Rename file to repository test

q

* Wrap worker errors with more context

* Fixed tests

* Add nolint

* Wait for specific job in multiple spots
2025-08-07 14:26:22 +02:00
Dominik Prokop
2ac68e5385 Bump @grafana/scenes to 6.29.5 for network profiling fix (#109319)
* Bump @grafana/scenes to 6.29.5 for network profiling fix

* Bump to stable
2025-08-07 13:33:27 +02:00
Roberto Jiménez Sánchez
2b15fa0492 Provisioning: Fix missing ref in staging options (#109311)
Fix missing ref in staging options
2025-08-07 12:00:31 +02:00
Ryan McKinley
ace670c6d0 Secrets: Support variadic args in decrypt service (#109280) 2025-08-07 09:54:24 +00:00
Roberto Jiménez Sánchez
c82d2af867 Provisioning: introduce jobs controller (#109252)
* Add basic job controller
* Replace the existing in-memory channel
2025-08-07 12:51:29 +03:00
Gábor Farkas
81531dcd7b datasources: strict local-time-range parsing (#109180)
* datasources: strict local-time-range parsing

* fixed unit test
2025-08-07 11:46:43 +02:00
linoman
da93f58921 SAML: graph api documentation (#109272)
* minor fixes

* Add Graph API troubleshooting guide

* Improve writing

* address PR comments
2025-08-07 11:46:12 +02:00
Dana Axinte
ee99433c65 CloudMigrations: Report on prem event with grafana version (#104515)
* grafana version in on prem event report

* store grafana version in cloud migration service
2025-08-07 10:41:19 +01:00
Matias Chomicki
9b0480460b Log Line Details header: add more space between icons (#109283)
LogLineDetailsHeader: add more space between icons
2025-08-07 11:39:01 +02:00
Eric Leijonmarck
9579bf33fb LBAC for datasources: Remove ft teamHttpHeadersMimir (#109240)
chore: remove ft for mimir
2025-08-07 10:04:46 +01:00
Mariell Hoversholm
28024c74f8 Go: Update to 1.24.6 (#109313)
Co-authored-by: joshhunt <josh.hunt@grafana.com>
2025-08-07 10:27:01 +02:00
Moustafa Baiou
16f8359d35 Alerting: Update Alert Rule to use int64 for MissingSeriesEvalsToResolve (#109306) 2025-08-06 21:45:48 -04:00
grafana-pr-automation[bot]
e36402a121 I18n: Download translations from Crowdin (#109307)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-07 00:43:13 +00:00
Alyssa Joyner
4263b3a982 [InfluxDB]: Fix max series bug (#109291) 2025-08-06 22:13:01 +00:00
Jeff Levin
d2f151b896 update tracing guidelines for tracing (#109299)
Update contributor guidelines for tracing
2025-08-06 21:35:56 +00:00
Adela Almasan
62a1f6c0b8 PanelModel: Use shouldMigrate when migrating (#108998) 2025-08-06 21:21:36 +00:00
Nathan Marrs
c066254e67 Invite User: Clean up previous experiment (#109214)
* remove invite user button from quick add menu as redundant with top nav invite user button

* clean up final invite user experiment

* remove invite user button from megamenu, clean up and consolidate usage of util functions across top nav and command palette

* add some basic tests to util functions

* fix tests / jest mock conflicts

* address PR feedback
2025-08-06 21:15:55 +00:00
Fayzal Ghantiwala
d3af4b582f Alerting: Fix flaky tests (#109205)
* Make sure random orgID isn't 0

* Retrigger CI
2025-08-06 22:05:22 +01:00
Stephanie Hingtgen
d8a43225e3 Folders: Fix frontend permission check (#109290) 2025-08-06 20:31:00 +00:00
Ezequiel Victorero
a630a7a653 Chore: Bump Grafana app SDK to v0.40.3 (#109289) 2025-08-06 17:27:17 -03:00
Ivan Ortega Alba
d1cff535d2 Schema V2: Snapshot testing for migrations should fail when output doesn't match (#109278)
* Schema v2: Snapshot testing for migration fails when doesn't match

* Update snapshot
2025-08-06 19:50:21 +00:00
Isabella Siu
2bf9aea8ef CloudWatch: Fix handling region for legacy alerts (#109217) 2025-08-06 15:40:20 -04:00
Ryan McKinley
295ace108d K8s/Meta: Support extracting InlineSecureValues from an explicit struct (#109279) 2025-08-06 21:17:50 +03:00
Todd Treece
b94d1b616b Plugins App: Update go.mod with new dependency (#109284) 2025-08-06 18:15:44 +00:00
Roberto Jiménez Sánchez
0b5fc9a736 Provisioning: Use loki for recent jobs (#109249) 2025-08-06 18:09:28 +00:00
Roberto Jiménez Sánchez
fec9cd550a Provisioning: Reclaim executing jobs (#109228)
* Reclaim Executing Jobs

* Remove FIXME

* Format code

* Fetch job before update

* Add claims for all namespaces

* Remove unused import

* Update pkg/registry/apis/provisioning/jobs/concurrent_driver.go

* Update pkg/registry/apis/provisioning/jobs/concurrent_driver.go

---------

Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-08-06 17:35:31 +00:00
Andreas Christou
bda809f062 Azure: Switch to AdvancedHttpSettings component (#109194)
* Type updates

* Switch to AdvancedHttpSettings component

* Fix locale

* Betterer

* i18n-extract
2025-08-06 18:19:07 +01:00
Todd Treece
ce2697bb07 Plugins: Add app (#108422) 2025-08-06 13:09:10 -04:00
Yunwen Zheng
1f76765ed7 TokenPermissionsInfo: Add token information for GitLab and Bitbucket (#109158)
* TokenPermissionsInfo: add token information for gitlab and bitbucket
2025-08-06 13:04:24 -04:00
Haris Rozajac
1b244cd036 Dashboard Migrations: v26 text2 to text (#108646)
---------

Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
2025-08-06 17:00:48 +00:00
Ryan McKinley
d24e4f984e Chore: replace go.mod apps references with relative paths (#109264) 2025-08-06 16:57:47 +00:00
Yunwen Zheng
2db987e59a RepositoryOverview: hide job status from cloud version (#109208) 2025-08-06 12:45:57 -04:00
Haris Rozajac
fdfe123305 Dashboard Migrations: v27 repeated panels and constant variable (#108644) 2025-08-06 16:22:11 +00:00
renovate[bot]
d0d8b8f82d Update dependency zod to v4 (#109236)
* Update dependency zod to v4

* don't need to specify zod/v4 anymore

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-08-06 16:16:15 +00:00
Brendan O'Handley
f49f7d9327 Alerting: Add extension point link from alert rule to grafana-metricsdrilldown-app (#108566)
* add alerting rule query editor extension point

* add extension for queryless apps, allow for multiple extensions

* add button to querywrapper

* remove debugger

* add hook to get tests to pass

* fix spelling of component

* fix tests
2025-08-06 11:01:58 -05:00
Haris Rozajac
5ad751ea28 Dashboard Migrations: V28 singlestat panel and deprecated variable properties (#108416)
Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
2025-08-06 17:51:55 +02:00
Ivana Huckova
3dcda77462 Update @grafana/assistant and add img to LogListContext (#109274)
Update @grafana/assistant and add img to LogListContext
2025-08-06 17:41:55 +02:00
Santiago
1914fb95ee Remote Alertmanager: Wire up remoteSecondaryAlertmanagerWithRemoteState and fix path (#109253) 2025-08-06 17:33:31 +02:00
Ashley Harrison
c634fa5fdf Modal: Center modals at smaller screen heights (#109256)
* centre and fill modals at smaller heights

* fix datasourcemodal styling

* ensure modal height remains similar to before
2025-08-06 16:20:33 +01:00
Ashley Harrison
797886e253 Accessibility: Add lint rule to prevent text anchor usage (#109207)
* attempt at a lint rule

* add comment

* fix the specific alerting links

* fix lint rule violations

* update translations

* fix unit tests

* kick CI

* add missing external
2025-08-06 16:04:03 +01:00
Tom Ratcliffe
c91ad446ac Swagger: Display operation IDs on API docs (#109255) 2025-08-06 15:47:10 +01:00
Josh Hunt
72a56ad503 Chore: Remove @grafana/tsconfig (#109186)
* Chore: Remove @grafana/tsconfig

* update codeowners

* revert changes to grafana-plugin-configs
2025-08-06 15:34:34 +01:00
renovate[bot]
99ce8eb1c0 Update dependency pa11y-ci to v4 (#109233)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-06 15:22:46 +01:00
renovate[bot]
6ee15da39c Update dependency eslint-webpack-plugin to v5 (#109230)
* Update dependency eslint-webpack-plugin to v5

* set failOnError: false to match previous behaviour

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-08-06 15:18:22 +01:00
Théo Brigitte
5c50fc6385 Auth: Add setting to disable username based brute force login protection (#109152)
* Add setting to disable username based brute force login protection

* Use new DisableUsernameLoginProtection setting in tests where appropriate

* Update documentation for other brute force directives

* Avoid unecessary database calls

* Add test cases for username and IP protection settings
2025-08-06 14:08:49 +00:00
Yulia Shanyrova
f82ea23061 Plugins: Remove duplication of links from plugin details header (#108899)
remove duplication of links from plugin details header
2025-08-06 15:56:12 +02:00
Kristina
7e603d855d Transformations: Transformation refID filters should include non-existant refIDs if no recovery was made (#109008)
* Show refIds if nothing is recovered

* Add test

* Preserve function returning undefined if there are no recovered or selected refIDs

* cuter

* add context and remove testing by sibling

---------

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2025-08-06 08:52:34 -05:00
renovate[bot]
c4c3bfc871 Update dependency yargs to v18 (#109235)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-06 14:51:53 +01:00
Johnny Kartheiser
fe6985f2ac docs: alerting list view UI changes (#108876) 2025-08-06 15:42:33 +02:00
Paul Marbach
724c75cc90 Table: add a ResizeObserver to useScrollbarWidth (#109145)
* Table: add a MutationObserver to useScrollbarWidth

* makes more sense to use a resize observer
2025-08-06 13:26:19 +00:00
Michael Wettick
2a9fafbe52 Gops: Change IRM configuration tracker URL and label (#109146) 2025-08-06 15:13:20 +02:00
Syerikjan Kh
abdb1c70ec Fix: Install plugins when they have no plugin archive info(catalog en… (#109200)
* fix: install plugins when they have URL is set

* test:INSTALL_PLUGINS private plugin with version
2025-08-06 09:02:59 -04:00
Matheus Macabu
4e1333236c InlineSecureValues: Only add decrypter if owner is different than svc identity (#109251) 2025-08-06 14:02:23 +02:00
Matheus Macabu
b0b1340c19 Secrets: Remove Close from decrypt client interface (#109250) 2025-08-06 14:02:13 +02:00
Sofia Papagiannaki
0b666ecf7d Chore: Update preferences module version in go.mod (#109246)
Update preferences module version in go.mod, go.sum, and go.work.sum to v0.0.0-20250805123034-066163d71001
2025-08-06 11:57:52 +00:00
Andrej Ocenas
85e9bcaa2e Folders: Migrate getFolder API to app platform (#107617)
* Add /children endpoint

* Update folder client

* Add comment

* Add feature toggle

* Add new version of useFoldersQuery

* Error handling

* Format

* Rename feature toggle

* Remove options and move root folder constant

* Fix feature toggle merge

* Add feature toggle again

* Rename useFoldersQuery files

* Update API spec

* Fix test

* Add test

* Migrate delete folder button

* useGetFolderQueryFacade

* Use getFolder facade hook

* Recreate legacy getFolder from the APIs

* Fix imports

* Add comment

* Rename function

* Simulate virtual folders in the API client

* Translations

* Update test

* Move the hook out of the index file

* Fix undefined in test

* Better status combining

* Use real access api for virtual folders

* Add basic test for the hook

* Remove commented import

* Remove the access control api and use legacy api for it

* Update tests

* Moved delete folder into facade hook

* Remove namespace attribute from virtual folders

* go lint

---------

Co-authored-by: Clarity-89 <homes89@ukr.net>
2025-08-06 13:39:35 +02:00
Roberto Jiménez Sánchez
102d230321 Provisioning: generate client for jobs (#109242)
* Generate client for jobs

* Revert changes in client and openapi
2025-08-06 10:32:11 +00:00
Matheus Macabu
7e09f75100 InlineSecureValue: Add owner API group to decrypters list (#109241) 2025-08-06 12:00:00 +02:00
Matheus Macabu
c9daccfd28 Secrets: Update inline delete when owned to take multiple names (#109227)
* Secrets: Update proto inline secure values to take variadic names on delete

* Secrets: Update inline delete when owned to take multiple names

* trigger CI
2025-08-06 11:45:03 +02:00
Josh Hunt
d8360c4e12 FS: Add Loki and Alloy for local observability (#109209) 2025-08-06 09:40:48 +01:00
Jo
f3896624f5 Access: Remove plugin app access in plugin basic role seeder (#108526)
* draft: remove plugin app access in plugin basic role seeder

* fix log

* remove mods to gosum

* fix missing plugin check

* debug log, not warn

* Secrets: Better error message for not matching resource owner (#109113)

---------

Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
2025-08-06 09:25:06 +01:00
Stephanie Hingtgen
68059344f8 Unified storage: Remove unifiedStorageSearchPermissionFiltering feature flag (#109216)
* Unified storage: Remove unifiedStorageSearchPermissionFiltering ff

* unit test
2025-08-06 02:04:32 -06:00
Stephanie Hingtgen
6b86277ecf Nested folders: Remove feature flag (#109212) 2025-08-06 10:07:23 +03:00
Matheus Macabu
fc13a1ae0c Provisioning: Change decrypter service identity to api group name (#109190) 2025-08-06 09:05:03 +02:00
Matheus Macabu
fc117afebc Secrets: Provide grpc and local inline secure value client (#109179)
* TestUtils: Add helper to create certs

* InlineSecureValue: Move to its own package rather than service

* Settings: Rename decrypt server configs to grpc prefixed as it is more generic

* InlineSecureValue: Add gRPC client

* InlineSecureValue: Add service provider grpc/local depending on setting.Cfg

* Wire: Add ProvideInlineSecureValueService to basic wireset

* InlineSecureValue: Re-export in root secret pkg and generate mocks for interface

* Settings: Unify decrypt+inline setting into generic grpc client
2025-08-06 09:04:55 +02:00
Bruno Abrantes
f3b8a891af chore: use native histogram for search shadow traffic match percentage (#109189)
Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com>
2025-08-06 08:56:59 +02:00
grafana-pr-automation[bot]
2543d500b8 I18n: Download translations from Crowdin (#109219)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-06 00:43:37 +00:00
Roberto Jiménez Sánchez
377cf1fef9 Provisioning: concurrent job queue processing (#109181)
* Add concurrent job processing

* Use 5 drivers instead

* Revert "Use 5 drivers instead"

This reverts commit 9c1fc3c70b.

* Format file
2025-08-05 13:38:37 -05:00
Haris Rozajac
ef6164ef41 Kubernetes Dashboards: Allow access when user has access to dashboard but not to parent folder (#109160)
* allow access when user has access to dashboard but not folder

* disable folder picker when user doesn't have access to folder
2025-08-05 10:46:53 -06:00
renovate[bot]
0403a95a10 Update scenes to v6.29.3 (#109195)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-05 18:11:10 +03:00
Bogdan Matei
8015c32663 Dashboard: Fix dashboard slug for api V1 and V2 (#108475) 2025-08-05 16:04:48 +02:00
Alyssa Joyner
23b8014708 Add Clickhouse Config Redesign Feature Toggle (#109091) 2025-08-05 07:37:28 -06:00
Jacob Valdez
5bd6d24ff2 docs: Adding clarification to branding docs (#108879) 2025-08-05 08:33:41 -05:00
Matias Chomicki
94874823ce New Log Context: Scroll and resize improvements (#109143)
* LogList: keep scroll position after scrolling top

* Infinite Scroll: add unit tests

* Remove log

* Remove log

* LogList: unify height calculation

* LogList: manage list height with resize observer

* LogLineDetails: report app with details displayed
2025-08-05 15:03:03 +02:00
Yunwen Zheng
e7d633b002 RepositoryCard: use RepoIcon to display repository icon (#109144)
* RepositoryCard: use RepoIcon to display repository icon
2025-08-05 09:02:32 -04:00
Yunwen Zheng
d0617d5c87 FolderRepo: change badge from text to exchange-alt icon, matches dash… (#109154)
FolderRepo: change badge from text to exchange-alt icon, matches dashboard
2025-08-05 09:01:45 -04:00
Jacob Valdez
1541a560bc Update cloud-migration-assistant.md (#109157) 2025-08-05 08:01:29 -05:00
Hugo Kiyodi Oshiro
0584f91a64 Plugins: Add Connections homepage (#108316) 2025-08-05 09:42:05 -03:00
Ryan McKinley
066163d710 Preferences: Move codegen to apps (#109178) 2025-08-05 15:30:34 +03:00
Dominik Prokop
0c7291c8dd Dashboard: Cancel performance profile when tab becomes inactive. (#109184)
* Bump scenes

* Update docs

* Bump scenes

* Bump scenes to stable
2025-08-05 14:21:25 +02:00
Collin Fingar
eb84224266 Snapshots: Update load method to maintain correct reference to manager (#109156)
Update loadsnapshot method to use .call
2025-08-05 08:19:21 -04:00
Tobias Skarhed
3048fc6205 Scopes: Save parent node with recent scope (#108795)
* Read and write recent scopes

* Store entire ScopeNode, load from localSotrage

* Load nodes form localStorage on init

* Add runtime type validation

* Add tests

* Remove unused import

* Add parentNode name to selector integration test

* Deep clone

* Schema validation with zod

* Add comment

* Use zod for schema validation of scope object

* Update type validation of recent scope nodes

* Add comment

* Add expect ts error

* Fix nit
2025-08-05 12:09:58 +00:00
Roberto Jiménez Sánchez
d874bc08b7 Provisioning: Skip incremental rync ref didn't change (#109174)
Skip incremental sync if ref didn't change

Avoids unnecessary load on the job queue by not queuing if the ref
didn't change from the last sync.
2025-08-05 13:26:47 +02:00
Ashley Harrison
1021f05e32 Accessibility: Make either tooltip or aria-label required when no button children present (#109131)
* ensure button must have tooltip/aria-label when no children

* fix violations

* restore some unnecessarily removed labels

* use types instead of interfaces as before

* further fixes

* fix unit test

* commit translations and fix unit test

* upgrade plugin-ui to 0.10.8

* set aria-label + unit tests
2025-08-05 12:04:35 +01:00
Bruno Abrantes
c7f3c92b21 feat: add database config setting to drop automatically generated primary keys (#108918)
Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com>
2025-08-05 11:51:11 +02:00
Sam Jewell
ff10f6da67 [--Dashboard-- data source] Implement getFiltersApplicability() (#108517)
**What is this feature?**

Implement `getFiltersApplicability()` on the `--Dashboard--` data source

Also refactor some existing code to use this new approach to naming

This follows some previous work to implement AdHoc filtering on the `--Dashboard--` data source in PR #108011 

**Why do we need this feature?**

See https://github.com/grafana/grafana/pull/107775 and https://github.com/grafana/grafana/pull/106756

> We want to see, when carrying filters from one dashboard to another, which of them are still applicable and which are not

Additionally I think @mdvictor is hoping to see more consistency in our approach across the codebase. But maybe he can confirm this.

**Who is this feature for?**

Everyone
2025-08-05 10:27:09 +01:00
Josh Hunt
e4be1042d0 DataSourceSrv: isDataSourceRef should match type-only ds ref (#109159)
* isDataSourceRef should match type-only ds ref

* update codeowners
2025-08-05 10:24:30 +01:00
Bruno Abrantes
cb921dc47a feat: compare legacy and unified search results via histogram (#109022)
* feat: compare legacy and unified search results via histogram

Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com>

* fix: handle cases where request type is not set

Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com>

* fix: use struct instead of bool because it's more memory efficient

Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com>

* fix: calculate recall percentage rather than union between legacy and unified

Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com>

---------

Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com>
2025-08-05 11:17:32 +02:00
Ashley Harrison
6408e3acaa E2E: Remove cypress dashboards-suite (#109038)
* add equivalent dashboard-time-zone test

* remove cypress dashboards-suite

* modify tests to work with schema-v2 + update workflow to run playwright instead

* fix package.json

* update CODEOWNERS

* fix start-server to include ARCH
2025-08-05 10:09:49 +01:00
Ashley Harrison
db2ba4f7e2 Chore: Remove frontend-platform as owners of public/app/core (#108934)
* remove frontend-platform as owners of public/app/core

* assign some things...

* more delegating

* assign more CODEOWNERS

* assign more CODEOWNERS

* assign more CODEOWNERS

* assign some more CODEOWNERS

* delete some unused files

* remove LocalStorageValueProvider and assign more CODEOWNERS

* remove WithFeatureToggle and assign more CODEOWNERS

* remove ticks as it's not used, assign more CODEOWNERS

* restore ticks, more CODEOWNERS

* finish assigning CODEOWNERS

* fix squad name
2025-08-05 10:09:21 +01:00
Josh Hunt
608b94ac10 Dev: Provision devenv dev-dashboards in frontend-service stack (#109142)
* Dev: Provision devenv dev-dashboards in frontend-service stack

* revert changing the home dashboard
2025-08-05 09:56:30 +01:00
grafana-pr-automation[bot]
57adbe618f I18n: Download translations from Crowdin (#109162)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-05 08:21:02 +00:00
Sam Jewell
d562d70ab2 [Dev Ex] Update cleanup-husky.sh script for MacOS (#107770) 2025-08-05 09:14:32 +01:00
Gábor Farkas
47463481b7 datasources: querier: adjusted names (#109110) 2025-08-05 09:34:48 +02:00
Martin Costello
a1883e194a Explore: Fix units overflow for trace durations (#108515)
* fix: Avoid redundant formatting

Avoid formatting `secondaryUnitString` if it's not going to be used.

Signed-off-by: martincostello <martin@martincostello.com>

* fix: Fix date formatting when rounded

Fix issue where rounded secondary units would not be carried over to the primary unit when they are a whole multiple of that unit (e.g. `"4m 60s"` instead of `"5m"`).

Signed-off-by: martincostello <martin@martincostello.com>

---------

Signed-off-by: martincostello <martin@martincostello.com>
2025-08-05 09:07:54 +02:00
Matheus Macabu
94295bda23 Secrets: Move token exchange interceptor into Decrypt method (#109117) 2025-08-05 08:50:53 +02:00
Gábor Farkas
0ccfdbdfae datasources: querier: better handling of timestamps (#108973)
* query: support query-local timestamps

* make it configurable

* lint fix

* corrected unit test

* fixed unit test
2025-08-05 08:35:57 +02:00
ismail simsek
a7ba662b02 Prometheus: Fix eager auto completion (#109128)
* fix auto completion

* introduce tests

* cleaning

* remove unnecessary test
2025-08-05 06:28:50 +02:00
Alexander Akhmetov
f65e501e1b Alerting: Support extra labels in the Prometheus conversion API (#109136) 2025-08-05 00:03:21 +02:00
Paul Marbach
96c1cd225c Transforms: GroupToMatrix transform should retain keyRowField config (#109066) 2025-08-04 15:51:30 -04:00
Ida Štambuk
279adadb15 CloudWatch: Update grafana/aws-sdk-go with STS endpoint bugfix (#109120)
* Update grafana/aws-sdk-go with bugfix

* run make update-workspace
2025-08-04 21:05:00 +02:00
Ryan McKinley
4c169a65f0 ShortURL: Add app reference to go.mod (#109133) 2025-08-04 16:14:34 +00:00
renovate[bot]
9330cacf4d Update dependency @grafana/assistant to v0.0.13 (#109135)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-04 17:00:14 +01:00
Roberto Jiménez Sánchez
63787c276b Provisioning: Fix flaky move files test (#109116)
* Fix flaky move files test
* Use assert within Eventually
2025-08-04 15:47:12 +00:00
Andre Pereira
990f1c69ec Tempo: Fix instant query streaming (#108924)
* Don't use streaming for instant queries

* wip

* Only return latest instant query result

* Always disable streaming for alerting queries

* lint
2025-08-04 16:09:13 +01:00
renovate[bot]
b56f6f2a37 Update dependency eslint-plugin-jsdoc to v52 (#109129)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-04 16:04:32 +01:00
Josh Hunt
0f9ec532ab Fix backend dashboard kind snapshots (#109130)
* Fix backend dashboard kind snapshots

* update go workspace
2025-08-04 16:01:22 +01:00
Isabella Siu
5f4097a159 CloudWatch: Use default region when query region is unset (#109089)
CloudWatch: use default region when region is unset
2025-08-04 10:32:33 -04:00
renovate[bot]
a33cc8d636 Update dependency eslint-plugin-jest to v29 (#109125)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-04 14:53:26 +01:00
Matias Chomicki
bc2a1cdf02 LogLineDetailsHeader: report scroll to log line interaction (#109077)
* LogLineDetailsHeader: report scroll to log line interaction

Part of https://github.com/grafana/grafana/pull/106394

* Deps
2025-08-04 13:49:29 +00:00
Gilles De Mey
1cda9cdc25 Alerting: Clarify grafana managed rules (#109123) 2025-08-04 15:32:12 +02:00
Juan Cabanas
bbb4d31388 TagFilter: Disable TagFilter by prop (#109085) 2025-08-04 10:28:04 -03:00
renovate[bot]
f80a6e40dd Update scenes to v6.29.1 (#109031)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-04 13:25:47 +00:00
Oscar Kilhed
e0d9b17ff7 Chore: Bump faro to 1.19 (#109028)
Chore: bump faro
2025-08-04 15:07:58 +02:00
Kristina
0dfcaf56d3 Transformations: Add empty values options to Transpose (#108421)
* Extract functions to util and utilize in both transforms

* Fix mistaken label and add better null logic to transpose

* Add a new row and add a blurb to docs about the new setting

* Update public/app/features/transformers/docs/content.ts

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

* Update docs content, simplify null logic

* Add test, clarify empty logic

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2025-08-04 07:53:26 -05:00
renovate[bot]
50ead8d463 Update testing-library monorepo (#109121)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-04 12:45:52 +00:00
Juan Cabanas
3b96a88aa2 SortPicker: Disable SortPicker by prop (#109083) 2025-08-04 09:17:33 -03:00
Ezequiel Victorero
e88b54e9d3 ShortURL: Create k8s API (#108821) 2025-08-04 09:12:12 -03:00
renovate[bot]
3a84f6ad42 Update dependency react-hook-form to v7.62.0 (#109114)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-04 13:05:31 +01:00
Andres Martinez Gotor
ff9ab17636 Fix useRecentlyUsedDataSources (#108971) 2025-08-04 13:27:35 +02:00
Matheus Macabu
a4ed9c4bb6 Secrets: Better error message for not matching resource owner (#109113) 2025-08-04 13:01:08 +02:00
Josh Hunt
3a1c1b6232 Devenv: Replace testdata UIDs with gdev-testdata (#108997)
* Prettier format the devenv folder

* Consistently use type-only dsref for testdata in devenv dashboards
2025-08-04 11:20:12 +01:00
renovate[bot]
0a108e9c68 Update dependency eslint-config-prettier to v10 (#109064)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-04 11:05:14 +01:00
Matheus Macabu
f5e1e8e8e2 Secrets: Bump dependency with inline proto (#109106) 2025-08-04 11:20:48 +02:00
Gábor Farkas
b839bb7a81 datasources: querier: removed unused method (#109109) 2025-08-04 11:00:59 +02:00
Matheus Macabu
3e66819bac Air: Keep binary after exiting (#109103) 2025-08-04 09:58:54 +02:00
Gábor Farkas
6dc0dedc97 datasources: querier: refactor (#108776)
datasources: querier: refactor types
2025-08-04 09:57:41 +02:00
Matheus Macabu
81f544e186 Secrets: Add service name as explicit parameter for Decrypt (#109054)
* Secrets: Add service name as explicit parameter for Decrypt

* Apply suggestions from code review

Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>

---------

Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-08-04 08:51:15 +02:00
Matheus Macabu
343fe4dadf Secrets: Introduce inline secure value service proto (#109029)
* Secrets: Introduce inline secure value service proto

* Fix secure value description

* Add orgid to obo auth context for testing
2025-08-04 08:26:07 +02:00
Edvard Falkskär
8ac74e24df TraceView: Add span attributes to attributes extension point (#107756) 2025-08-02 16:13:02 +02:00
grafana-pr-automation[bot]
9cc5171e50 I18n: Download translations from Crowdin (#109092)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-02 00:41:54 +00:00
Paul Marbach
a5ceac4474 TableNG: Markdown cell, plus auto row height (#107549)
* TableNG: Markdown cell, plus custom row height

* tab indentation in cue file

* fix i18n

* trying an auto height with the updated RDG

* get auto cellHeight working

* i18n updates

* hoor disable_sanitize_html flag in MarkdownCell

* update react-data-grid version to attempt to support page up and down

* removing custom height

* use the latest experimental RDG with paging up and down

* TableNG: Wrap text for DataLinks and Pills; groundwork for max wrap length

* disable editing max wrapped lines for now

* disable wrap text line limit e2e

* new i18n extract after commenting out input

* wip

* kill max wrapped lines for now

* more cleanup

* remove targeting classes added for max wrapped lines

* fix Pill test

* couple more style cleanups

* fix e2es given these updates

* add a couple tests

* wip: tests

* add tests

* bump up capital letters in lorem ipsum

* fix copy-pasta mistake

* whoops, mis-merged the selector

* use a local count instead of getCellLinks

* use react-data-grid on react-18 branch

* fix linting on test

* gdev dashboard and smoketest for Markdown table

* remove cellHeightCustom

* reorganize in light of recent and upcoming changes

* remove one more reference to cellHeightCustom

* put getDefaultRowHeight back into a util

* clean up test

* swap cell height back to a radio

* revert ImageCell change, we'll do it in the getStyles PR

* don't memo defaultRowHeight

* final couple of style cleanups

* different approach to managing the auto height part of this

* kill console.log

* update i18n

* reorganized once more

* i18n

* guard against rowHeight being auto for virtualization

* may as well memoize the defaultRowHeight

* get rid of the enableVirtualization initializer thing

* fixes from CI

* fix test

* fix test

* just omit third arg for that test

* remove nonsensical test case

* this file didn't get re-gen'd

* fixes from review

* row expander doesn't need height

* remove console.log

* fix e2e after we fixed pagination toggle bug
2025-08-01 19:56:12 -04:00
Yuri Tseretyan
cbf256120e Revert "Alerting: Remote Alertmanager to calculate hash of the request payload instead of just the configuration" (#109086)
Revert "Alerting: Remote Alertmanager to calculate hash of the request payloa…"

This reverts commit 32434810e1.
2025-08-01 21:34:31 +00:00
Stephanie Hingtgen
bd5c83bc11 Revert "Chore: Use proper database type from env in testinfra integration tests" (#109081)
Revert "Chore: Use proper database type from env in testinfra integration tes…"

This reverts commit 772f647210.
2025-08-01 20:49:54 +00:00
Alexander Akhmetov
8b5b9b68c2 Alerting: Document Accept header in Prometheus conversion API (#109080) 2025-08-01 22:39:54 +02:00
Stephanie Hingtgen
9f4773c9a5 Provisioning: Extract to apps submodule (#109074) 2025-08-01 14:35:18 -05:00
Stephanie Hingtgen
172a69da75 Feature toggle: Cleanup old ones (#109072) 2025-08-01 19:29:42 +00:00
Alexander Akhmetov
b36a8e84cc Alerting: Document "Get rule group" Prometheus conversion API endpoint (#109075) 2025-08-01 21:15:33 +02:00
Alexander Akhmetov
eb3a457c6d Alerting: Support JSON responses in the Prometheus conversion API (#109070) 2025-08-01 21:15:21 +02:00
William Wernert
2f0190d775 Alerting: Add store level pagination of rules (#108633) 2025-08-01 12:54:13 -04:00
Paul Marbach
7e47968939 TableNG: Wrap text for DataLinks and Pills (#108645)
* TableNG: Wrap text for DataLinks and Pills; groundwork for max wrap length

* disable editing max wrapped lines for now

* disable wrap text line limit e2e

* new i18n extract after commenting out input

* wip

* kill max wrapped lines for now

* more cleanup

* remove targeting classes added for max wrapped lines

* fix Pill test

* couple more style cleanups

* fix e2es given these updates

* add a couple tests

* wip: tests

* add tests

* bump up capital letters in lorem ipsum

* fix copy-pasta mistake

* use a local count instead of getCellLinks

* fix linting on test
2025-08-01 12:27:53 -04:00
Eve Meelan
147df3de08 Pricing update: no more Cloud Advanced (#109056)
* scrub Cloud Advanced

* prettier edit
2025-08-01 16:23:58 +00:00
Andrew Hackmann
4a26cb92c6 ElasticSearch: Fix inline casting bug when validating the index (#108951)
split out inline casts
2025-08-01 11:01:25 -05:00
Jack Baldry
0faa03edbe Add snippets for 'Create log alert rules with Grafana Alerting' learning journey (#109059) 2025-08-01 15:57:18 +00:00
Timur Olzhabayev
4287734114 Fix: Adding sparse checkout to issue triage workflow (#109060)
* adding sparse checkout

* adding checkout step if we want to run triage
2025-08-01 15:46:29 +00:00
renovate[bot]
b333b67aea Update dependency copy-webpack-plugin to v13 (#109053)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-01 15:29:06 +00:00
Konrad Lalik
953afbd784 Alerting: List V2 - Fix free form filter (#109050)
Use whole free form words for fuzzy search in rule names
2025-08-01 16:29:08 +02:00
renovate[bot]
cc63af204c Update dependency babel-loader to v10 (#109047)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-01 15:10:30 +01:00
Todd Treece
1831953f7f K8s: Add API Enablement for apps (#109019) 2025-08-01 10:02:01 -04:00
Serge Zaitsev
772f647210 Chore: Use proper database type from env in testinfra integration tests (#108845)
use database type from env in testinfra
2025-08-01 14:01:13 +00:00
Konrad Lalik
b1cdd45ca4 Alerting: List V2 - datasource icons for rules (#109033)
Add datasource icons to the rule list item components
2025-08-01 15:36:46 +02:00
Gareth
7b5288c28a Fix: Preserve Jaeger base path when constructing search request (#109045)
* fix url construction

* consistency

* update error response

* error source

* add test case
2025-08-01 13:56:31 +01:00
Matheus Macabu
491c74b688 Secrets: Add inline secure value delete when owned method (#108993) 2025-08-01 14:45:44 +02:00
Tom Ratcliffe
4f30a3b62b Folders: Use app platform search endpoint and update tests (#108814)
* Update test utils package with mock folder + search endpoints

* Add dashboards v0alpha1 api client

* Update hook to use app platform search API

* Update tests and fixtures
2025-08-01 13:34:33 +01:00
renovate[bot]
1130f69ef7 Update dependency @types/glob to v9 (#109043)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-01 12:00:34 +00:00
Matheus Macabu
988439e0b8 Secrets: Simplify CanReference interface to only pass secure value names (#109030) 2025-08-01 14:00:01 +02:00
Matheus Macabu
7374df7945 Secrets: Add inline secure value create method (#108987) 2025-08-01 13:57:51 +02:00
Levente Balogh
d96cd46272 Plugin Extensions: Support core plugins (#108685)
* feat(extensions): allow core plugins to use core grafana extension points

* fix: don't validate the plugin.json for core plugins
2025-08-01 13:42:07 +02:00
renovate[bot]
63093dfb26 Update dependency @types/eslint-scope to v8 (#109034)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-01 12:34:32 +01:00
Matias Chomicki
3f90c85c4e New Logs Context: Logs context using the new Logs Panel (#108852)
* LogLineContext: initial support

* LogLineContext: infinite scroll bottom

* LogLineContext: clean up styles and support both scrolls

* InfiniteScroll: support top scrolling

* LogLineContext: support center matched line

* LogLineContext: read options from storage

* LogLineContext: move padding container

* LogLineContext: reset on ui change

* LogLineContext: improve sort order and fix open in split

* LogLineContext: show log line

* Translations

* LogsPanel: integrate new context component

* LogLineContext: add unit test

* Prettier

* Remove unused import

* InfiniteScroll: add "scroll to load more" top

* LogLineContext: rename collapsible

* Update tests

* LogLineContext: refactor center button

* LogLineContext: handle overflow in small viewports

* LogLineContext: format referenced log line

* Memoize

* LogLineContext: make modal bigger

* LogList: improve a11y

* LogLineContext: flexbox magic

* LogLineContext: revert center button change

* LogsPanel: hide overflow

* LogLineContext: responsive min-height

* LogLineContext: fix wrap log message

* InfiniteScroll: improve direction handling

* Add feature flag

* Implement feature flag

* InfiniteScroll: report direction
2025-08-01 11:30:17 +00:00
Roberto Jiménez Sánchez
9ca0750134 Provisioning: skip export of already managed resources and parent folder export (#108893)
* Skip export on already managed resources

* Add integration test

* Add integration test

* Handle nothing to commit error

* Fix leaky abstraction issue

* Handle the no commit error on commit and not on push

* Fix linting

* Some fixes for integration test

* Improve tree to work with a root

* Some fixes with hacks

* Add additional checks

* Fix comment

* Fix path problems in test

* Fix more stuff

* Revert to use empty tree

* Remove changes in tree

* Finally fix the tests work

* Remove stale comment

* Fix linting

* Revert changes in test

* Fix error message for folder not found in resource tree

Co-authored-by: roberto.jimenez <roberto.jimenez@grafana.com>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2025-08-01 11:17:15 +00:00
Bogdan Matei
88a52bb6f4 Dashboards: Improve lazy loading (#108854) 2025-08-01 10:46:41 +00:00
Bogdan Matei
f3cd54769c Dashboard: Fix for change detector in dashboards with live refresh (#108903) 2025-08-01 13:38:11 +03:00
renovate[bot]
bfa6bb0264 Update dependency typescript to v5.9.2 (#109025)
* Update dependency typescript to v5.9.2

* remove unused ts-expect-error

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-08-01 11:24:38 +01:00
renovate[bot]
ce2fd8a46f Update dependency @rsdoctor/webpack-plugin to v1 (#108996)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-01 09:48:39 +01:00
Sven Grossmann
cc34f6033d Assistant: Add "Assistant" menu item (#108926)
* Assistant: Add "Assistant" menu item

* update-workspace
2025-08-01 10:32:12 +02:00
ismail simsek
63cc91face Prometheus: Don't use incremental querying if one of the queries has $__range variable (#108823)
don't use incremental querying if one of the queries has $__range variable
2025-08-01 10:13:49 +02:00
Sam Jewell
8e1b3338c6 TableNG: Improve AdHoc filter icons (#108968)
We removed the "Filter for/out value" tooltips when we reimplemented the Table panel. We don't want to reimplement these, so we're improving the icons instead, to look more like "Filter" and less like "Zoom in/out"
2025-08-01 08:55:57 +01:00
grafana-pr-automation[bot]
ae2614f1a8 I18n: Download translations from Crowdin (#109016)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-01 00:44:23 +00:00
Stephanie Hingtgen
ef0d6381b0 Dashboards: Remove incorrect information in docs (#109014) 2025-07-31 22:12:17 +00:00
ismail simsek
025d8527dd Prometheus: Refactor metrics modal to handle high cardinality metrics (#108437)
* remove redux from PromQueryBuilderContainer

* remove export

* housekeeping

* introduce MetricsModalContext to replace redux

* handle result pagination

* add search related values in context

* handle filtering

* handle search

* handle search and highlighting

* cleaning up

* better helpers

* remove unused types

* reorganize the code

* update settings

* improve search and fetch

* remove unused styles

* linting

* fix tests

* update

* lint

* i18n

* import order

* try to fix the test

* remove start call from variable editor

* fix highlighter

* fix pagination alignment

* make the entire row clickable and remove select button

* review updates

* remove settings

* use ufuzzy search

* fix tests

* use case-insensitive search

* review fixes

* fix pagination

* improve readability
2025-07-31 23:32:43 +02:00
Kevin Minehart
925e19acf2 CI: set source-event in release-build dispatch (#109009)
* set source-event in release-build dispatch

* missing inputs key
2025-07-31 15:33:27 -05:00
Kevin Minehart
598cc585bd CI: Push dev images from PRs and remove Drone from PRs (#109004)
* Push docker images in PRs and remove Drone

* fix actionlint errors

* grep for docker doesn't need another grep
2025-07-31 14:25:59 -05:00
alerting-team[bot]
0553c2494f Alerting: Update alerting module to b4b881b7b2631baa3a1ae2911f723c5c1d6e53f6 (#108872)
[create-pull-request] automated change

Co-authored-by: yuri-tceretian <25988953+yuri-tceretian@users.noreply.github.com>
2025-07-31 14:37:36 -04:00
Adam Simpson
2d1271e981 query service: improve error handling and logging (#108948)
Co-authored-by: Sarah Zinger sarah.zinger@grafana.com
Co-authored-by: Gábor Farkas gabor.farkas@gmail.com
2025-07-31 14:10:21 -04:00
Dave Henderson
e0dd56e4c7 fix(swagger): Fix swagger/OpenAPI defs for /api/anonymous/* endpoints (#108999)
Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2025-07-31 14:08:42 -04:00
dependabot[bot]
3587439fb8 Bump cypress-io/github-action from 6.7.16 to 6.10.2 (#108649)
Bumps [cypress-io/github-action](https://github.com/cypress-io/github-action) from 6.7.16 to 6.10.2.
- [Release notes](https://github.com/cypress-io/github-action/releases)
- [Changelog](https://github.com/cypress-io/github-action/blob/master/CHANGELOG.md)
- [Commits](108b8684ae...b8ba51a856)

---
updated-dependencies:
- dependency-name: cypress-io/github-action
  dependency-version: 6.10.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-31 13:58:23 -04:00
Ihor Yeromin
66b01e49a1 Canvas: Pan and zoom improvement (#86879)
* fix(canvas): style linter issue

* feat(canvas): update infinite viewer root element

* fix(canvas): resize element on moving

* fix(canvas): global element position

* fix(canvas): connection anchor position

* fix(canvas): connection position

* fix(canvas): connection coordinates calculation

* cleaning

* fix(canvas): calculation connection coordinates

* fix(canvas): initial connections svg position

* fix(canvas): align connection with new coordinates system

* fix(canvas): temporary element position fix

* comment

* Canvas: Fix canvas selecto (#104621)

* fix(canvas): get context back

* fix(canvas): selecto containers

* clean up

* Canvas: Fix jumpy elements behaviour on select and drag (#104641)

fix(canvas): jumpy elements behaviour on select and drag

* fix(canvas): connection regression (#104682)

* Canvas pan + zoom:  Updated mouse interactions (#104648)

* feat: canvas panel pan + zoom key binds

* feat: panning when right click + ctrl

* chore: some cleanup

* chore: adjust mouse move delta by canvas scale

* Canvas: Zoom to content (#104950)

feat(canvas): zoom to content

* Canvas pan + zoom: Unique key for canvas panel elements (#104947)

fix: unique keys

* Canvas: Placement adjustment (#105117)

* feat(canvas): top/left placement migration

* feat(canvas): adjust constraint system for pan and zoom usage

* feat(canvas): support other constraints

* Canvas: Align connection anchors and element rotation (#106002)

* feat(canvas): align connection anchors and element rotation

* clean up

* clean-up math

* Canvas: Disable pan when pan+zoom toggle is false (#106224)

chore: no pan when pan+zoom toggle is disabled

* Canvas: Fix desync between scene and InfiniteViewer zoom/position on element addition (#106655)

feat(canvas): keep pan and zoom state to re-apply

* Canvas: Clicking on metricValue dropdown does not work; right-click triggers context menu instead (#106701)

fix(canvas): metricValue left click dropdown

* Canvas: Double-click on canvas should reset scale and position (#106709)

fix(canvas): dblclick to reset zoom

* Canvas: Put new canvas pan and zoom under feature toggle (#107001)

* feat(canvas): put pan and zoom under FF

* clean-up

* clean-up

* fix(canvas): clear selection on scene manipulation

* fix(canvas): any types

* Canvas: Fix canvas apply styles (#107404)

* fix(canvas): apply styles

* remove deps

* Canvas: E2E test coverage (#107474)

* betterer

* feat(canvas): sceneAbleManagement tests

* feat(canvas): playwright tests

* chore(canvas): add draft e2e tests

* chore(canvas): clean draft e2e tests

* chore(canvas): fix draft e2e tests

* chore(canvas): todo comments

* chore(canvas): update e2e tests

* chore(canvas): delete scene unit tests

* chore(canvas): delete sceneAbleManagement unit tests

* chore(canvas): delete sceneAbleManagement unit tests

* chore(canvas): linter

* chore(canvas): locales

* chore(canvas): remove flag checking

* Fix canvas connection point z-indexing bug (#107223)

fix(canvas): hoist connect points one level higher in DOM to fix z-index

* Revert "Fix canvas connection point z-indexing bug" (#108146)

Revert "Fix canvas connection point z-indexing bug (#107223)"

This reverts commit e419cb164a.

* Canvas: Set canvas zoom range (#108318)

* chore(canvas): set zoom range

* chore(canvas): naming

* Canvas: Fix infinite-viewer connections viewport values (#108315)

chore(canvas): infinite-viewer connections viewport values

* Canvas: Fix z-indices order and explicit pointer events (#108284)

* fix(canvas-connection-points): z-indices order, explicit pointer events

* chore(canvas): remove user select

* chore(canvas): naming

* chore(canvas): create ConnectionAnchor2 component

---------

Co-authored-by: Ihor Yeromin <yeryomin.igor@gmail.com>

* Canvas: Hide anchors on panel resize (#108588)

chore(canvas): hide anchors on panel resize

* Canvas: Center & scale select, resize, zoom bugs (#108749)

* Canvas: Fix center and scale constraint with zoom

* Remove unused resize flag

* Consolidate and clean up

* fix(canvas): re-size scale and center elements

---------

Co-authored-by: Ihor Yeromin <yeryomin.igor@gmail.com>

* Canvas: Fix on constraint change during zoom (#108947)

* Canvas: Ensure correct panel size during edit (#108953)

* chore(canvas): re-gen cue

---------

Co-authored-by: drew08t <drew08@gmail.com>
Co-authored-by: Sven Grossmann <svennergr@gmail.com>
Co-authored-by: Alex Spencer <52186778+alexjonspencer1@users.noreply.github.com>
Co-authored-by: Jesse David Peterson <jesdavpet@users.noreply.github.com>
Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
2025-07-31 19:34:48 +02:00
Josh Hunt
400aeccb35 FS: Speed up backend build-reload cycle (#108889)
* wip so far. need to prove rebuilds work

* build common runner image

* glibc support

* ubuntu

* add conditional

* add support for cross-os builds

* format

* don't use zig by default on macos

* use postgres

* tidy up

* more tidy

* update readme

* remove errant changes
2025-07-31 17:22:29 +01:00
Ashley Harrison
68d7c970b5 e2e: Ensure we build the grafana binary when starting up the playwright server (#108992)
* ensure we build the grafana binary as part of the playwright server startup

* only build if binary isn't there

* add comments

* handle building the binary in the start-server script
2025-07-31 17:18:58 +01:00
renovate[bot]
b990c7e7af Update dependency @stylistic/eslint-plugin-ts to v4 (#108995)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-31 17:18:32 +01:00
Matheus Macabu
4b27b0108e Secrets: Update package in go.mod with consolidate proto+grpc (#108994) 2025-07-31 18:14:40 +02:00
renovate[bot]
291ec08150 Update dependency @npmcli/package-json to v6 (#108991)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-31 15:47:59 +00:00
Paul Marbach
2e6534f489 Table: Reorder cell types selector (#108629)
* Table: Reorder cell types selector, add Alpha denotation in TableNG for Pills

* fix i18n

* remove alpha badge

* reorder in docs and TableRT

* fix i18n
2025-07-31 11:45:43 -04:00
renovate[bot]
0aac22a9e2 Update dependency @manypkg/get-packages to v3 (#108986)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-31 15:19:29 +00:00
Oscar Kilhed
ef0cc4fd75 Dashboards: Fix issue where the time range picker would seemingly be hidden behind the side menu if it was set to always open. (#108607)
Unset overflow hidden to make sure the time range picker is fully visible
2025-07-31 17:13:23 +02:00
kay delaney
aa0f9bb1a0 UI/ClickOutsideWrapper: Convert to functional component and add test (#108765) 2025-07-31 16:09:30 +01:00
Dana Axinte
2d81d03ba5 SecretsManager: Consolidation proto/gRPC (#108857)
* list all encrypted values and count

* separate interfaces

* add time filter to global queries

* initial secrets consolidation

* Revert defaults

* consolidate grpc proto

* More verbose description of the operation

* Add consolidation tests and tracing

* Fix lint

* Revert debug log

* Move buf to top level, regenerate

* Update Makefile buf generate
2025-07-31 16:05:24 +01:00
Tom Ratcliffe
4a0758bae5 Teams: Tidy up CreateTeam tests and add fixtures/handlers (#108978)
* Add fixtures and mock handlers for legacy teams API

* Fix teams betterer issues and error handling

* Refactor CreateTeams tests

* Update .betterer.results
2025-07-31 16:01:43 +01:00
Paul Marbach
0ca2843fa3 E2E: Disable flaky Table e2e tests for DataLinks for now (#108980) 2025-07-31 10:56:06 -04:00
Yunwen Zheng
beab4cb33c useProvisionedRequestHandler: Refactor to support more resource type (#108945)
* useProvisionedRequestHandler: refactor to support more resource type
2025-07-31 10:48:08 -04:00
Larissa Wandzura
0cc636665a Docs: MSSQL data source overhaul (#107478)
* created config doc

* updated the config doc

* updates to the configure doc

* updates to configure doc

* updated the templates doc

* more query editor edits

* final edit on templates doc

* final query editor edits and new screenshots

* added tables to configure

* final edits

* final edits

* final edits

* added admonition and updates based on feedback

* ran prettier
2025-07-31 14:44:24 +00:00
Matheus Macabu
c3f6265698 Makefile: Fix typo on run-bra command (#108979)
It was actually run-air but should be run-bra !
2025-07-31 14:43:29 +00:00
Matheus Macabu
cfb5f5601f Secrets: Add inline secure value can reference method (#108965) 2025-07-31 16:42:40 +02:00
renovate[bot]
d2c008c96e Update typescript-eslint monorepo to v8.38.0 (#108985)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-31 14:35:01 +00:00
Tobias Skarhed
972e2f31e5 ScopesInput: Display parent and use + as separator (#107698)
* Display group and use + as separator

* Set/get parent node from URL

* Add hook useScopeNode

* Add loading state and Skeleton

* Add preload and actually commit hook

* Add preload

* Add feature flag

* Update test

* Fix test

* Fix tree test
2025-07-31 16:32:41 +02:00
Yuri Tseretyan
32434810e1 Alerting: Remote Alertmanager to calculate hash of the request payload instead of just the configuration (#108632)
* update CreateGrafanaAlertmanagerConfig to accept UserGrafanaConfig move construction logic to alertmanager
* consolidate building UserGrafanaConfig into buildConfig
* use config to determine whether it needs to be send calculate hash of the entire request struct rather than configuration
2025-07-31 10:25:43 -04:00
Piotr Jamróz
7d8c2fbb82 TraceView: Refine UI visual hierarchy inside details section (#108929)
* TraceView: Span details content redesign

* Unify displaying various sections in span details

* Revert i18n key change

* Update tests
2025-07-31 16:18:53 +02:00
renovate[bot]
f3cb8aa903 Update swc monorepo (#108981)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-31 15:07:55 +01:00
Dana Axinte
a3cdfce25a SecretsManager: Consolidation service and ability to run via cli (#108774)
* list all encrypted values and count

* separate interfaces

* add time filter to global queries

* initial secrets consolidation

* Revert defaults

* More verbose description of the operation

* Add consolidation tests and tracing

* Fix lint

* Revert debug log
2025-07-31 14:45:59 +01:00
Konrad Lalik
9907191a7b Alerting: List V2 - Add a group link to the rule list item (#108960)
* Add group link to the aler rule breadcrumbs in the new list view

* Remove redundant comments
2025-07-31 15:32:33 +02:00
renovate[bot]
37ccbd77a9 Update react-spectrum monorepo (#108977)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-31 14:30:17 +01:00
Gábor Farkas
5a67e9d640 query: add unit test (#108958) 2025-07-31 15:26:43 +02:00
renovate[bot]
9e0f09e6c3 Update dependency yaml to v2.8.0 (#108975)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-31 13:03:27 +00:00
Ryan McKinley
d469a32491 K8s/DataQuery: Register explicit equality function (#108907) 2025-07-31 14:55:02 +02:00
Alexa Vargas
9d2cb8ddf1 Query Library: Add highlightQuery to QueryLibraryContext (#108617)
* add hightlightedQuery to QueryLibraryContext

* revert go changes
2025-07-31 14:52:12 +02:00
renovate[bot]
454fae1786 Update dependency webpack to v5.101.0 (#108972)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-31 12:37:33 +00:00
dependabot[bot]
41df2e9d26 Bump actions/setup-go from 4.2.1 to 5.5.0 (#108286)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-31 13:27:36 +01:00
renovate[bot]
3e752c2e35 Update dependency typescript to v5.8.3 (#108966)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-31 13:11:46 +01:00
lean.dev
e022b6593b SecretsManager: fix log (#108970) 2025-07-31 11:51:04 +00:00
Peter Štibraný
372f115db9 Finish building index even if original context is canceled. (#108969) 2025-07-31 13:45:55 +02:00
Bogdan Matei
6cd85eb1b3 Dashboard: Fix for viewing a repeated panel that is out of view (#108912) 2025-07-31 13:33:03 +03:00
Gareth
04a563cb09 Jaeger: remove unused code (#108612)
* remove isSearchFormValid

* remove getTimeRange

* remove convertTagsLogfmt

* remove createTableFrame

* remove transformToLogfmt

* remove types

* remove mapJaegerDependenciesResponse

* trigger workflow
2025-07-31 11:30:15 +01:00
renovate[bot]
a3e1920983 Update dependency ts-jest to v29.4.0 (#108964)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-31 11:14:02 +01:00
Alexander Akhmetov
1ad042b4e0 Alerting: Mark Prometheus to Grafana conversion API as stable (#103499)
Alerting: Make Prometheus conversion API stable
2025-07-31 11:56:15 +02:00
Oscar Kilhed
e7cfe0c023 Dashboards: Add feature toggle to use dashboard level time macros in scenes (#108670)
* Add feature toggle to use dashboard level time macros in scenes

* Add test

* remove unregister time macro as it was removed from scenes
2025-07-31 11:49:07 +02:00
renovate[bot]
d71924ea7b Update dependency stylelint to v16.23.0 (#108963)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-31 10:39:29 +01:00
Serge Zaitsev
6b1143565a Chore: Make cgo optional (for sqlite) (#108756)
* make cgo optional for sqlite

* update go.mod; check error code differently

* reduce api surface even more

* move test errors into sqlite package

* add a comment
2025-07-31 09:25:19 +00:00
Roberto Jimenez Sanchez
f39b878b0a Add Git Sync team as owner of the Git Sync dependencies 2025-07-31 11:14:27 +02:00
Roberto Jimenez Sanchez
c9cf44c4d7 Add Git Sync team as owner of the integration tests 2025-07-31 11:14:27 +02:00
renovate[bot]
8b600f40c1 Update dependency eslint-plugin-no-barrel-files to v1.2.2 (#108961)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-31 08:50:01 +00:00
Matheus Macabu
80d7892d6a Secrets: Save owner reference fields in secure value db table (#108905)
* Secrets: Save owner reference fields in secure value db table

* Save api group and version separately
2025-07-31 10:42:19 +02:00
Tobias Skarhed
66bebe94e0 Scopes: Add autofocus, aria-label and search area to selector (#108906)
* Add autofocus, aria-label and search area

* Clean up search area

* Clean up search area

* Add test

* Remove superflous memo

* Undo values change
2025-07-31 10:28:24 +02:00
Ivana Huckova
b11509fea2 Loki: Decouple unit tests from core (#108917)
* Loki: Decouple tests

* Fix flaky tests

* Add maxParallel 2 for plugin tests
2025-07-31 10:20:28 +02:00
renovate[bot]
6809df5427 Update dependency jsdom-testing-mocks to v1.15.2 (#108940)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-31 09:18:32 +01:00
Alexander Akhmetov
6db07b901c Alerting: Enable HA clustering in remote primary mode (#108930) 2025-07-31 09:55:08 +02:00
Bruno Abrantes
91e5e8019d chore: add documentation on unified search (#108847)
* chore: add documentation on unified search

Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com>

* fix: add additional needed feature flags for unified search

Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com>

* fix: add docs about index_min_count and index_max_count

Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com>

* fix: add documentation about sortable fields and the discrepancy with search/sortable

Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com>

* fix: kubernetesClientDashboardsFolders feature flag is no more, remove it from the docs

Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com>

* fix: simplify request flow diagrams

Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com>

---------

Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com>
2025-07-31 07:18:29 +00:00
Konrad Lalik
ef80129bd9 Alerting: Fix contact points scoped permission check (#108851)
* Fix scoped contact point permission check

* Use annotations permissions for k8s API and globals permissions for external AMs

* Fix scoped permission check for GrafanaReceiverForm
2025-07-31 09:17:42 +02:00
grafana-pr-automation[bot]
f1821988d9 I18n: Download translations from Crowdin (#108954)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-31 00:40:54 +00:00
Todd Treece
8729ea2dba Apps: Fix status key functions (#108915) 2025-07-30 17:11:39 -04:00
Adela Almasan
0f53290ca7 Chore: Decouple hideFrom.viz and hideFrom.tooltip (#106857) 2025-07-30 15:32:43 -05:00
Adela Almasan
9022357fb7 Canvas: Add option to disable the tooltip (#108196) 2025-07-30 20:26:36 +00:00
Adela Almasan
5b0a118f32 Canvas: Add support for actions variables when one-click is enabled (#108724) 2025-07-30 14:28:58 -05:00
Ezequiel Victorero
eecd813c59 Chore: Update test case (#108943) 2025-07-30 16:02:36 -03:00
lean.dev
6bf542889a SecretsManager: Refactor and clean metrics (#108908) 2025-07-30 20:00:30 +01:00
Adam Yeats
8fb1483a9f Elasticsearch: Remove link to Elasticsearch Templated Dashboard from docs (#108555)
Remove link to Elasticsearch Templated Dashboard from docs
2025-07-30 18:12:59 +00:00
Juan Cabanas
68ed7c129d QueryLibrary: Add CoreApp for QueryEditor rendering (#108867) 2025-07-30 15:12:35 -03:00
Sarah Zinger
60ce4ad1fa Ds-querier: add slug to logs (#108822) 2025-07-30 17:46:38 +00:00
Stephanie Hingtgen
34019e5ec0 Library Panels: Remove k8s connections feature flag (#108881) 2025-07-30 16:46:19 +00:00
Alexander Akhmetov
c8c017a6f5 Chore: make update-workspace (#108942) 2025-07-30 18:37:33 +02:00
Nathan Marrs
af6ac6f1d6 Sharing: Export dashboard as image match user's window width (#108827) 2025-07-30 08:59:39 -07:00
renovate[bot]
ae15ba562e Update dependency @types/node to v22.17.0 (#108936)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-30 16:47:15 +01:00
renovate[bot]
9ff44d17f2 Update dependency @floating-ui/react to v0.27.15 (#108922)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-30 15:52:56 +01:00
Ashley Harrison
4fae330f9b Chore: update nginx config to match hosted-grafana (#108898)
update nginx config to match hosted-grafana
2025-07-30 15:36:57 +01:00
Peter Štibraný
c28b2215e0 Improve indexing observability (#108901)
* Add details to tracing spans when creating index.

* Log reason for building index.

* Log reason for building index.

* Remove initialization of labels to avoid unnecessary metrics.

* Track succcessful, failed and skiped index builds. Track index build time for individual index, not all indexes.

* Revert removal of labels initialization.
2025-07-30 16:34:15 +02:00
Mustafa Sencer Özcan
98e37f2ca9 fix: special handling of unmarshalling for invalid json dashboards (#108519)
* implement special dashboard fallback logic when dashboard data has invalid json behind feature flag

---------

Co-authored-by: Will Assis <william@williamassis.com>
2025-07-30 10:18:38 -04:00
Adam Yeats
4a34a2313c InfluxDB: Fix backend queries sharing time ranges (#108873)
Fix backend queries sharing time ranges
2025-07-30 09:14:44 -05:00
Usman Ahmad
f7f8a52bda MySQL documentation major improvements (#107690)
* added keywords and fixed description

* Update (dateColumn) description

Signed-off-by: Sheikh-Abubaker <sheikhabubaker761@gmail.com>

* Mount docs from the current repository

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

* Clean up variables

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

* Improve timeFilter and timeGroup macro description

Signed-off-by: Sheikh-Abubaker <sheikhabubaker761@gmail.com>

* Fix timefilter macro example formatting

Signed-off-by: Sheikh-Abubaker <sheikhabubaker761@gmail.com>

* Fix time macro example formatting

Signed-off-by: Sheikh-Abubaker <sheikhabubaker761@gmail.com>

* Remove extra spaces from timefilter macro example

Signed-off-by: Sheikh-Abubaker <sheikhabubaker761@gmail.com>

* Introduce new table and Add examples for time, timeFilter and timeGroup Macros

Signed-off-by: Sheikh-Abubaker <sheikhabubaker761@gmail.com>

* Improve existing examples of timeGroupAlias Macro

Signed-off-by: Sheikh-Abubaker <sheikhabubaker761@gmail.com>

* Remove data frame description

Signed-off-by: Sheikh-Abubaker <sheikhabubaker761@gmail.com>

* fixed the homepage with valid links

Signed-off-by: Usman Ahmad <usman.ahmad@grafana.com>

* Add Table Panel results for Macros

Signed-off-by: Sheikh-Abubaker <sheikhabubaker761@gmail.com>

* fixed and define the configuration part for grafana mysql user

Signed-off-by: Usman Ahmad <usman.ahmad@grafana.com>

* fixed port typo

Signed-off-by: Usman Ahmad <usman.ahmad@grafana.com>

* remove the sqlDatasourceDatabaseSelection based https://github.com/grafana/grafana/issues/105232

Signed-off-by: Usman Ahmad <usman.ahmad@grafana.com>

* added annotation single tag example

Signed-off-by: Usman Ahmad <usman.ahmad@grafana.com>

* Change format type

Signed-off-by: Sheikh-Abubaker <sheikhabubaker761@gmail.com>

* fix minor typos and run prettier

Signed-off-by: Usman Ahmad <usman.ahmad@grafana.com>

* Address Macros specific changes

Signed-off-by: Sheikh-Abubaker <sheikhabubaker761@gmail.com>

* Revert column name and replace URL with version substitution

Signed-off-by: Sheikh-Abubaker <sheikhabubaker761@gmail.com>

* re-added the text for the feature flag

Signed-off-by: Usman Ahmad <usman.ahmad@grafana.com>

* revert back the changes for the grafana mysql usage

Signed-off-by: Usman Ahmad <usman.ahmad@grafana.com>

* fixed links as per writers toolkit guide

* run prettier

Signed-off-by: Usman Ahmad <usman.ahmad@grafana.com>

* Update docs/sources/datasources/mysql/query-editor/_index.md

thanks

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>

---------

Signed-off-by: Sheikh-Abubaker <sheikhabubaker761@gmail.com>
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
Signed-off-by: Usman Ahmad <usman.ahmad@grafana.com>
Co-authored-by: Sheikh-Abubaker <sheikhabubaker761@gmail.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2025-07-30 09:03:44 -05:00
renovate[bot]
04c53678fa Update React Aria (#108895)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-30 15:03:10 +01:00
Ashley Harrison
87f587507a Frontend service: Ensure we're always loading either the light or dark assets for any theme (#108902)
ensure we're always loading either the light or dark assets for other themes
2025-07-30 15:01:35 +01:00
Kevin Minehart
788e91c57b CI: remove nightly builds in drone (#108913)
remove nightly builds in drone
2025-07-30 13:43:47 +00:00
Dominik Prokop
d790fdf081 Schema V2: Fix apiVersion for conversion to v2beta1 (#108916)
SchemaV2: Fix apiVersion for conversion to v2beta1

Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
2025-07-30 13:38:43 +00:00
Ezequiel Victorero
006ea8e1b9 ShortURL: Fix tests and small refactor (#108871) 2025-07-30 10:31:11 -03:00
Dominik Prokop
bb45dc88ac Dashboard: Tweak interaction performance tracking (#108658)
* Dashboard: Tweak interaction tracking

* Bump scenes to canary (https://github.com/grafana/scenes/pull/1195)

* Update naming

* Use latest canary

* Update cenes, introduce singleton dashboard profiler, instrument v2 schema dashboard

* Fix an oooooqpsiiii

* Bmp scenes to 6.28.5

* Add documentation

* Add event start/end time stamps, update documentation. Bump scenes

* Docs

* Move file

* Typos
2025-07-30 15:23:48 +02:00
Dominik Prokop
20b08ccaab Add v2beta1 api version: Consolidate schema breaking changes (#108172)
* Revert "Revert: Future-proofing query and data source model in Dashboard Sche… (#107985)"

This reverts commit 13a89d4ae3.

* Revert "Revert "Schema V2: Simplify annotations v1<->v2 conversions" (#107984)"

This reverts commit 2b8c5bea1a.

* make gen apps

* e2e update

* Use v2alpha2 by default (#108177)

* Use v2alpha2 by default

* Apply only DS changes to alpha2

* Use v2alpha2 by default except to query

* Create a v2 index in @grafana/schema

* Update path and apply lint

* Update tests

* Update imports to v2 status

* Fix failing openapi test

* Schemav2 breaking changes: conversion implementation (#108224)

* provision v2alpha1 dashboard

* Run conversions for DS refactor

* Run snapshot testing on conversions

* Normalize output name

* Update snapshots to include all panel and variable cases

* fix lint

* fix lint

* fix test and go lint

* more go lint

---------

Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
Co-authored-by: Haris Rozajac <haris.rozajac12@gmail.com>

* Schema v2: Introduce group/datasource convention to GroupBy and AdHoc variable (#108237)

* Schema v2: Introduce group/datasource convention to GroupBy and AdHoc variables

* add conversion

* App Installer: Authorizer support (#108419)

* Chore: use `satisfies` and remove a load of `any`s (#108397)

use satisfies and remove a load of anys

* improve logging and fail unified-storage migration with more than 0 errors (#108471)

improve logging and fail unified-storage migration with more than 0 errors

* fix conversion test

* Secrets: Create more granular fixed roles for SecureValues (#108382)

* Provisioning: Fix bug in job progress recording (#108440)

Fix bug in job progress recording

* Provisioning: Fix ImportAllPanelsFromLocalRepository test (#108441)

* Provisioning: Skip flaky test

* Fix flaky provisioning test

* Fix lint

---------

Co-authored-by: Roberto Jimenez Sanchez <roberto.jimenez@grafana.com>

* BulkDeleteProvisionedResource: Move progress bar into a second step (#108417)

* Move progress bar into a second step

---------

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

* [Dashboard Schema Codegen] Move dashboard CUE codegen block back up into kind body (#108476)

[Dashboard Schema Codegen] Move dashboard CUE codegen block back up into kind body to make sure new versions have the same settings.

---------

Co-authored-by: Haris Rozajac <haris.rozajac12@gmail.com>
Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Co-authored-by: Will Assis <35489495+gassiss@users.noreply.github.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
Co-authored-by: Roberto Jiménez Sánchez <jszroberto@gmail.com>
Co-authored-by: Roberto Jimenez Sanchez <roberto.jimenez@grafana.com>
Co-authored-by: Yunwen Zheng <yunwen.zheng@grafana.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
Co-authored-by: Austin Pond <IfSentient@users.noreply.github.com>
Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>

* Dashboard Schema V2: Refactor VizConfigKind to follow DataQueryKind convention (#108148)

* Dashboards API: Register v2alpha2 API

* Prepare conversion functions

* Fix test

* Refactor VizConfigKind to follow DataQueryKind convention

* fix tests

* use new dataquerykind convention alpha 2

* add conversion

* fix tests

* fix tests

* fix another test

* Fix merge

---------

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

* fix k8s codegen

* Update e2e-playwright/dashboards/TestV2Dashboard.json

* Update e2e/dashboards/TestV2Dashboard.json

* revert app generation for non-related apps

* try again

* another try

* also revert folder and secret app generation

* v2alpha1 provisioned dashboard

* Fix kind

* Fix conversion snapshots

* Update API discovery registry

* Rename to v2beta1

* Rename migrations

* Update apps/dashboard/pkg/apis/dashboard/v2beta1/doc.go

Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>

* Ensure conditional rendering and other non changed properties

---------

Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
Co-authored-by: Haris Rozajac <haris.rozajac12@gmail.com>
Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Co-authored-by: Will Assis <35489495+gassiss@users.noreply.github.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
Co-authored-by: Roberto Jiménez Sánchez <jszroberto@gmail.com>
Co-authored-by: Roberto Jimenez Sanchez <roberto.jimenez@grafana.com>
Co-authored-by: Yunwen Zheng <yunwen.zheng@grafana.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
Co-authored-by: Austin Pond <IfSentient@users.noreply.github.com>
Co-authored-by: Haris Rozajac <58232930+harisrozajac@users.noreply.github.com>
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-07-30 15:01:27 +02:00
Ashley Harrison
f92752c2f0 Chore: Harden panel-layouts test by wrapping synchronous checks in .toPass() (#108849)
harden panel layouts test by wrapping synchronous checks in .toPass()
2025-07-30 13:59:32 +01:00
Jason Marshall
599fe5a400 Remove deprecated links tags in favor of depends_on (#106680)
These prevent grafana from working with podman.
2025-07-30 14:49:17 +02:00
Zoltán Bedi
3ff4c6a2d2 Postgres: Switch the datasource plugin from lib/pq to pgx (#108443)
* Postgres: Switch the datasource plugin from lib/pq to pgx

* Fix lint
2025-07-30 14:47:25 +02:00
Jack Westbrook
b707cd28f1 Frontend: Move toEmit jest matchers to shared workspace (#108610)
* feat(test-utils): move the toEmitValue/s jest matchers to test-utils and add test script

* chore(jest): update configs to use matchers from test-utils package

* ci(frontend-tests): hook up packages tests

* fix(test-utils): re-export matchers from index.ts so packages that include setupTests don't error

* ci(pr-frontend-unit-tests): add frontend-packages-unit-tests to list of required unit tests

* Update packages/grafana-test-utils/README.md

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

---------

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2025-07-30 14:39:44 +02:00
Alexa Vargas
afdb3d7c95 Chore: Change Public Dashboards and Image Renderer AutoTriage to operator experience squad (#108910)
Chore: Change Public Dashboards AutoTriage to operator experience squad
2025-07-30 12:27:22 +00:00
Tom Glenn
e87fba7dc1 Tom/foundation sdk docs (#106283)
Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>
2025-07-30 11:50:00 +00:00
Gilles De Mey
07a561d24e Alerting: Remove incorrect usage of "title" for alerting page wrapper (#108180) 2025-07-30 10:10:10 +00:00
Yulia Shanyrova
d14e794aa4 Plugins: Cards view for plugin versions in case of narrow screen (#108843)
add card view for narrow screen for versions table
2025-07-30 11:44:43 +02:00
Gilles De Mey
5ef3201939 Alerting: Paginate data source managed rules within groups (#108803) 2025-07-30 11:44:03 +02:00
Andre Pereira
d5bcc606b0 Trace View: Header redesign (#108473)
* Improve trace view header design

* Added plugin extension for more actions

* Translations

* Tweaks based on feedback

* lint

* Limit to 2 links per plugin

* Add datasource to context so LLM has less to figure out

* Fix conflict :)

* Remove unused file

* i18n extract

* Updated tests

* lint

* Re-add the feedback link

* i18n-extract

* fix tests

---------

Co-authored-by: Joey <joey.tawadrous@grafana.com>
2025-07-30 09:20:39 +00:00
Andreas Christou
e10063b0c7 Azure: Bump Azure SDK (#108859)
* Bump Azure SDK

* Workspace sync
2025-07-30 10:16:33 +01:00
Tobias Skarhed
6c3233e775 Scopes: Proper usage of checkbox label (#108892)
* Proper use of label for checkbox

* Cleanup
2025-07-30 11:01:27 +02:00
renovate[bot]
b6819a2212 Update dependency react-i18next to v15.6.1 (#108890)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-30 08:58:57 +00:00
Bruno Abrantes
a81c28b153 chore: include stackId when marking a dashboard as rejected during migration (#108887)
Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com>
2025-07-30 08:37:10 +00:00
Roberto Jiménez Sánchez
f4e45bf3bc Provisioning: bulk move by name (#108869)
* Add ResourceRef to move job spec
* Implement move by name
* Use map to struct
2025-07-30 11:30:24 +03:00
renovate[bot]
f4335fc5ce Update dependency kbar to v0.1.0-beta.48 (#108844)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-30 09:26:36 +01:00
grafana-pr-automation[bot]
79a9981a0b I18n: Download translations from Crowdin (#108882)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-30 08:21:53 +00:00
Josh Kirkwood
8bfaac5ec5 Docs: Updated 'Run Grafana Docker image' with minor cosmetic changes. (#108831)
* Update index.md

Adjusted codeblock formatting from yaml syntax rather than bash.

* Ran 'yarn prettier write' in index.md to ensure formatting was correct after completing prior changes.
2025-07-30 08:15:34 +00:00
Ashley Harrison
664188b7e0 Chore: Remove panels-suite from cypress tests (#108709)
remove panels-suite from cypress tests
2025-07-30 09:15:01 +01:00
Jennifer Villa
af066d2312 Explore: Compact mode (#107351)
* feat(explore): implement compact mode feature

This commit implements compact mode for Grafana Explore to address issue #102867.

Features implemented:
- URL parameter support: ?compact=true or ?compact=1 activates compact mode
- Query rows auto-collapse: Query editors start collapsed showing summary line
- Content outline auto-collapse: Sections start collapsed to save space
- Single DrilldownAlertBox: Shows single banner in split view (no duplicates)

Changes:
- Added compactMode to ExploreState interface and selectors
- Added URL parameter parsing in useStateSync hook
- Modified QueryRows and QueryEditorRow components to support compact mode
- Updated DrilldownAlertBox logic to prevent duplicates in split view
- Fixed test files to use proper mock state objects

Fixes #102867

* Move compact mode to pane state and sync with URL

* Clean up

* Show Drilldown alert box only when not splitted

* Rename and clean up

* Clean up

* Add missing props

* Add missing props

* Add missing translations

---------

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
2025-07-30 09:20:01 +02:00
Stephanie Hingtgen
1f025fe1a3 K8s: Remove kubernetesClientDashboardsFolders feature flag (#108626) 2025-07-29 16:52:57 -05:00
Kevin Minehart
e3cb84bef8 CI: specify what matrix jobs set the --verified flag (#108880)
specify what matrix jobs set the --verified flag
2025-07-29 15:40:30 -05:00
Alexander Akhmetov
c827ddf790 Alerting: Add meta-monitoring documentation for GRAFANA_ALERTS (#108785) 2025-07-29 21:54:44 +02:00
Alexander Akhmetov
412704c9de Alerting: Document Mimir compatibility for Prometheus conversion API endpoints (#108741)
Document Mimir compatibility for Prometheus conversion API endpoints
2025-07-29 21:53:24 +02:00
Gabriel MABILLE
69dc5a0b88 grafana-iam: Add resolver for permissions:type:delegate (#108789)
* `grafana-iam`: Add resolver for `permissions:type:delegate`

* roles create -> write
2025-07-29 21:11:06 +02:00
Yunwen Zheng
2b9a646599 Git Sync: Bulk move resource (#108818)
* Bulk move for provisioning resources
2025-07-29 14:29:22 -04:00
Sam Jewell
2174a84b36 BarChart: Add ad-hoc filter button to tooltip (#107874)
**What is this feature?**
Allow AdHoc filters to be set from Tooltips when clicking on bars in the BarChart panel.

**Why do we need this feature?**
We're trying to implement a "Panel to Panel" filtering behaviour, similar to what is possible in Tableau and Looker. We're using AdHoc filters, as these scale well across panels and across dimensions in the data.
We expect this PR will work well in tandem with #108011 to allow panel-to-panel filtering of data coming from BigQuery.

---------

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2025-07-29 18:53:43 +01:00
Thomas Bishop
89cd2284cb Update some labels to now triage to SNO instead of FEP or Dashboard Squads (#108717) 2025-07-29 12:18:40 -05:00
Kevin Minehart
35f0dd8ec3 CI: remove ppcle64 and 390x from viceroy dpkg (#108866)
* remove ppcle64 and 390x from viceroy dpkg

* fix apt-get update

* remove armel
2025-07-29 16:53:13 +00:00
Gilles De Mey
29b30a38f0 Alerting: Adds "testing" target to package (#107728) 2025-07-29 16:46:16 +00:00
Matias Chomicki
dd6a3ecd62 New Logs Panel: highlighting improvements (#108858)
* LogLine: emphasize values over keys

* LogLine: extend clickable area

* Revert "LogLine: extend clickable area"

This reverts commit 7e6906312c.
2025-07-29 17:53:30 +02:00
Peter Štibraný
41319f90bb search: Handle index build errors gracefully (#108862)
* Close new index if we fail to build it.

* Respect context cancellation in getOrCreateIndex.
2025-07-29 17:40:16 +02:00
Roberto Jiménez Sánchez
1a246739ed Provisioning: Add bulk move job (#108762)
* Add move job to spec

* Add move worker

* Single commit mode

* Add initial integration tests

* Format code

* Improve test setup

* Add fixes for integration tests

* Implement move operation

* Format file

* Fix API documentation
2025-07-29 17:24:17 +02:00
Ivana Huckova
66be589d86 Loki: Fix tests for test decoupling (#108678)
* Loki: Fix tests for test decoupling

* Update

* Add test and fix implementarion

* Remove empty line

* prettier
2025-07-29 16:32:09 +02:00
Kevin Minehart
5ce827ce4c CI: Use playwright in daggerbuild (#108860)
* Use playwright in daggerbuild

* use e2e-playwright image
2025-07-29 14:25:21 +00:00
Konrad Lalik
10e2c32b58 Alerting: List V2 - add fuzzy search (#108656)
* Extract fuzzySearch to separate files and add fuzzy search to the listV2 filter

* Use the new fuzzy helpers in the old list view

* Extract more code to common fuzzy functions

* Update tests

* Add comments explaining outOfOrder parameter, improve tests

* Migrate the alerting fuzzySearch to @grafana/data fuzzySearch
2025-07-29 16:23:36 +02:00
Alex Khomenko
2bd023edc0 Provisioning: Enable navigating to previous step (#108834)
* Provisioning: Enable navigation to previous step in Wizard

* Show confirmation modal

* Show success message

* Extract
2025-07-29 16:49:51 +03:00
Tania
2c7349f863 OpenFeature: Use types from Go Feature Flag pkg (#108802)
* Use go feature flag types

* Add go-feature-flag module

* Update go.mod

* Update test

* Fix
2025-07-29 15:05:59 +02:00
Stephanie Hingtgen
ef9f9c2d8e Secrets service: Allow decrypt through gRPC connection (#108365) 2025-07-29 07:51:37 -05:00
kay delaney
73d64d3e46 Undo/Redo: Add undo/redo support for duplication in custom grid layout (#108850)
* Undo/Redo: Add undo/redo support for duplication in custom grid layout

* Fix i18n
2025-07-29 12:34:38 +00:00
Roberto Jiménez Sánchez
c7c0268594 Provisioning: bulk delete resources by name (#108833)
* Add resource reference to spec

* Add FindResourcePath

* Fix formatting

* Use ForKind client

* Add unit test for new method

* Format code

* Add integration tests

* Fix unit tests

* Fix formatting

* Find out preferred version based on group and kind

* Handle trailing slash for folders

* Format code

* Fix linting

* Add integration test for folder bulk deletion

* Format code

* Format discovery file

* Deduplicate paths for deletion
2025-07-29 14:29:35 +02:00
Ashley Harrison
720e724234 Playwright: Rename panel test so it has .spec.ts suffix (#108855)
rename test so it runs in interactive mode
2025-07-29 13:25:56 +01:00
Stephanie Hingtgen
1716173f71 Alerting: Move some tests to full integration tests (#108747)
* Alerting: Move some tests to full integration tests

* add back two error handling tests

* imports

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2025-07-29 12:15:26 +00:00
Artur Wierzbicki
0c10600f95 Live: mention the lack of tls support for ha (#108837)
* clarify live docs

* pretty prettier
2025-07-29 16:06:07 +04:00
Peter Štibraný
d9daf2e424 search: Track number of open indexes per storage type. (#108842)
* Track number of open indexes per storage type.

* Fix tests after changing description.
2025-07-29 12:46:34 +02:00
kay delaney
df46b45a29 AutoGridLayoutManager: Add undo/redo functionality for pasting a panel (#108797) 2025-07-29 11:20:39 +01:00
Andreas Christou
c32aaf63e8 Graphite: Fix overflow of functions editor (#108524)
* Expose setting labelStyles for the Segment components

* Ensure container fills height of text

* Update label styles

* Use classNames instead

* Review

* Lint
2025-07-29 11:16:32 +01:00
Santiago
3c4c3b3f5c Remote Alertmanager: Remove unneeded SmtpFrom and StaticHeaders fields (#108781)
* Remote Alertmanager: Remove unneeded SmtpFrom and StaticHeaders fields

* remove smtpFrom (am struct)

* move smtp field (am struct)

* fix test
2025-07-29 12:14:42 +02:00
kay delaney
51a5b0ab65 Dashboards: Add undo/redo actions for several template variable options (#106818)
* Dashboards: Add undo/redo actions for several template variable options

Also refactors some existing undo/redo code

* Run `make i18n-extract`

* formatting
2025-07-29 10:05:32 +00:00
Stephanie Hingtgen
39b9700048 Folders: Move to integration tests (#108733) 2025-07-29 09:57:44 +00:00
grafana-pr-automation[bot]
af72ef31d1 I18n: Download translations from Crowdin (#108828)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-29 10:31:23 +01:00
renovate[bot]
69eda7bcd4 Update dependency @grafana/assistant to v0.0.12 (#108839)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-29 10:21:44 +01:00
Matheus Macabu
724c775bab Secret: Fix create/delete basic role configuration for secure values (#108840)
They should be for Admins not Editors
2025-07-29 11:19:39 +02:00
Joey
862c92d2be Tempo: Fix missing time range (#108838)
Fix missing time range
2025-07-29 09:55:29 +01:00
Aaron Sanders
a84c56e1ef Live: Raise Grafana Live message_size_limit (#108414) 2025-07-29 08:45:21 +00:00
renovate[bot]
168abf8488 Update dependency sass to v1.89.2 (#108811)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-29 09:44:46 +01:00
Stephanie Hingtgen
38cdcb5efd Unistore: Fix federated stats (#108738) 2025-07-29 10:42:20 +02:00
Roberto Jiménez Sánchez
6af1bfe21b Provisioning: Use commit only once mode in bulk delete (#108759)
Use commit only once mode in bulk delete
2025-07-29 10:37:27 +02:00
Ashley Harrison
a2698dc3b5 Chore: Unskip some a11y story checks and fix any associated issues (#108613)
* fix some a11y issues with the stories

* fix lockfile

* fix tests

* put aria-label on <Icon>

* add aria-describedby

* undo changes to VizLegendTable

* use useID for image id
2025-07-29 09:30:18 +01:00
Stephanie Hingtgen
fe906dfc1e Dashboards: Move to integration tests (#108734) 2025-07-29 09:52:27 +02:00
Russ
4392cea75a chore: add an option to hide the metrics browser in a PromQueryField (#108718) 2025-07-28 14:23:41 -08:00
Drew Slobodnjak
bee169d7a6 Geomap: Add option to toggle no-repeating (#108201)
* Geomap: Add option to toggle no-repeating

* Add option and apply to all basemaps

* Clean up some comments

* Update docs

* Add tests

* Fix option change handling issues

* Update translations

* Fix e2e test
2025-07-28 14:06:33 -07:00
Paul Marbach
4b9e03e7c0 TableNG: Simplify row height calculation and make more extensible (#108624)
* TableNG: Simplify row height calculation and make more extensible

* add a cache for the results of rowHeight when it's a function

* JSDoc comment for util

* from the other branch, copy the related code and tests

* rework the line counters a bit, limit line counting to string fields

* add test for string case for buildRowLineCounters

* add the concept of estimates vs. counts

* add a comment

* ceil, not floor

* try to be as terse as possible

* test for estimates

* comment the type

* more comment in test

* swap

* fix #108804

* convert em letter spacing to px for avgCharWidth calculation

* tweak whee em-to-px math happens, and force count to occur on every row when wrap is on to avoid short row issues

* update test

* update to clamp single-line estimation using a hardcoded value (0.85)

* add assertion for not calling counter in that case

* uwrap 0.1.2

* fix betterer issues

* fix typography ctx extra import

---------

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2025-07-28 21:03:55 +00:00
Gábor Farkas
8b940f210f datasources: querier: temporary concurrency fix (#108503) 2025-07-28 13:58:11 -04:00
Stephanie Hingtgen
caa75b1d94 Public dashboards: move to integration tests (#108735) 2025-07-28 17:14:09 +00:00
Stephanie Hingtgen
5ef744aa20 Library panels: Move to integration tests (#108737) 2025-07-28 11:38:10 -05:00
Stephanie Hingtgen
f41570a6f7 Annotations: Move to integration tests (#108736) 2025-07-28 11:37:17 -05:00
Will Assis
aa7ae5fc65 unified-storage: add tracing to distributor methods (#108791)
* add tracing to distributor methods
2025-07-28 12:35:20 -04:00
Josh Hunt
a009da2087 Playwright: Acceptance tests (#108770)
* create a set of acceptance tests to run with bench

* move tests back, fix login tests to work with supplied credentials:

* rename files again

* rename skip message
2025-07-28 17:32:18 +01:00
Ashley Harrison
672e6d08bf Chore: Remove old storybook-verification cypress test (#108696)
* add check for frontend code changing

* remove cache

* add to pr-e2e-tests instead

* fix CODEOWNERS

* remove cypress test
2025-07-28 17:25:02 +01:00
Ashley Harrison
b32a6b0088 Chore: Remove smoke-tests-suite from cypress (#108700)
* remove smoke-tests-suite from cypress

* restore shared/smokeTestScenario for enterprise
2025-07-28 17:21:10 +01:00
Alex Spencer
2dd655a50d Correlations: Fix flaky test (#108618)
* chore: fix flaky test

* chore: remove assert in equal, use require instead

* chore: skip flaky test
2025-07-28 09:14:30 -07:00
renovate[bot]
2ee0f93e8c Update scenes to v6.28.2 (#108809)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-28 16:09:18 +00:00
renovate[bot]
d5fb158ebd Update dependency rollup to v4.46.1 (#108792)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-28 16:43:04 +01:00
Angel Kozlev
2d3fde4607 Pyroscope: Remove LegacyForms from ConfigEditor (#104973)
* Pyroscope: Remove LegacyForms from ConfigEditor

* Pyroscope: Align fields in form

* Pyroscope: Add id to input and label for a11y

* Update public/app/plugins/datasource/grafana-pyroscope-datasource/ConfigEditor.tsx

---------

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
Co-authored-by: Joey <joey.tawadrous@grafana.com>
2025-07-28 16:21:36 +01:00
Isabella Siu
e261d5f14a CloudWatch: Clear log groups when region is changed (#108727) 2025-07-28 10:58:21 -04:00
Alex Khomenko
4c6888654c Provisioning: Re-fetch folders after creating or deleting a repository (#108778)
* refetch folder

* Simplify refetches

* Cleanup

* Tests

* More test mocks

* Function selectors

* Comment

* Remove unused selector
2025-07-28 17:55:28 +03:00
Adam Simpson
6b4d93b8ec querier: check for headers to force expr parsing (#108701)
Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
2025-07-28 10:42:32 -04:00
Ashley Harrison
fb53a6f077 Chore: Remove cypress dashboard-new-layouts tests (#108699)
remove cypress dashboard-new-layouts tests
2025-07-28 15:30:50 +01:00
Jacob Valdez
6aa3492f4e docs: add video shortcode to what's new (#108793) 2025-07-28 14:08:17 +00:00
Tania
27c395694d OpenFeature: Initialize early (#108594)
* Move OpenFeatureInit

* Remove unused import

* Remove todo
2025-07-28 16:05:57 +02:00
Jacob Valdez
2e07475605 docs: clarifying alert rule limits in Grafana cloud for migration assistant (#108722) 2025-07-28 08:58:13 -05:00
Bruno Abrantes
3a54c3abae chore: adds documentation around the dual writer (#108687)
* chore: adds documentation around the dual writer

Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com>

* fix: innacuracies in error returned, disambiguate (validation) and move table upwards for more clarity

Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com>

---------

Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com>
2025-07-28 15:50:26 +02:00
Luminessa Starlight
f7523f03bc TimeRangePicker: new date range format respecting timezone (#108616)
* replace new mapper additional code with new rangeUtil.describeTimeRange

* add some function descriptions

* add regression tests for timezone-respecting range mapping

* remove unused import
2025-07-28 09:08:35 -04:00
renovate[bot]
a3c96b6eed Update dependency @grafana/assistant to v0.0.11 (#108788)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-28 12:54:17 +00:00
Todd Treece
0c1cd7fa58 Apps: Update grafana-app-sdk to v0.40.1 (#108786) 2025-07-28 12:34:09 +00:00
renovate[bot]
90de360424 Update dependency jsdom-testing-mocks to v1.14.0 (#108760)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-28 13:29:00 +01:00
Matheus Macabu
227799a9f8 Secrets: Add missing indices for secure value (list) and data key (list+read) (#108763) 2025-07-28 14:25:06 +02:00
Serge Zaitsev
a95fb3a37c Chore: Omit integration tests if short test flag is passed (#108777)
* omit integration tests if short test flag is passed

* Update pkg/services/ngalert/models/receivers_test.go

Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>

* Update pkg/tests/api/alerting/api_ruler_test.go

Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>

* Update pkg/tests/api/alerting/api_ruler_test.go

Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>

* Update pkg/tests/api/alerting/api_ruler_test.go

Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>

* Update pkg/tests/api/alerting/api_ruler_test.go

Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>

* Update pkg/tests/api/alerting/api_ruler_test.go

Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>

* Update pkg/services/ngalert/models/receivers_test.go

Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>

* Update pkg/cmd/grafana-cli/commands/datamigrations/to_unified_storage_test.go

Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>

* Update pkg/services/ngalert/models/receivers_test.go

Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>

* fix the rest

* false positive

---------

Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
2025-07-28 13:38:54 +02:00
Gabriel MABILLE
1a7a7f1d99 grafana-iam: Wire the roles api (#108577) 2025-07-28 13:36:27 +02:00
Timur Olzhabayev
1c15493635 Chore: Add PR author (#108513)
* add PR author

* show who's PR it is
2025-07-28 11:23:59 +00:00
ismail simsek
c88a6fc2e7 Prometheus: Performance improvements for high cardinality metrics in code editor (#108341)
* disable auto fetch

* add partially written metric name situation

* add new limit

* add new methods

* rename methods

* implement auto complete after typing at least three letters

* betterer

* cosmetic changes

* partial or full trigger

* cleaner approach

* lint

* fix

* review feedback
2025-07-28 13:02:16 +02:00
Timur Olzhabayev
ce64a78d99 Feat: Improve auto-triager logic to check for internal team members via api (#108578)
improve auto triager logic to check for internal team members via api
2025-07-28 12:51:28 +02:00
Kristina
ffb8f4ea0c Transformations: Rename Regression Analysis to Trendline (#108631)
* Rename regression analysis transformation

* fix a couple translations

* remove extra word

* Fix tests

* Change frame name to use regression
2025-07-28 10:50:47 +00:00
Gilles De Mey
814fccb970 Alerting: Use the official maildev image again (#108768) 2025-07-28 12:31:51 +02:00
Konrad Lalik
af376cd286 Alerting: Fix backtick handling when hashing queries (#108757)
Update the hashQuery algorithm to handle more formatting edge cases
2025-07-28 12:22:36 +02:00
ti361
4da2c50990 change method "GET" to "DELETE" with the "Delete a report" API (#108750) 2025-07-28 12:10:20 +02:00
Dana Axinte
2ea77a7c05 SecretsManager: Add ability to list all encrypted values (#108512)
* list all encrypted values and count

* separate interfaces

* add time filter to global queries

* fix lint
2025-07-28 10:50:24 +01:00
Alexander Akhmetov
f969eb0277 Alerting: Add rule group name validation to the Prometheus conversion API (#108740)
Alerting: Add rule group name validation to the conversion API
2025-07-28 11:44:17 +02:00
Nathan Vērzemnieks
252fc67fbd CloudWatch: Improve smithy error handling (#108523)
* CloudWatch: Improve smithy error handling

* gofmt
2025-07-28 09:43:37 +00:00
Gábor Farkas
8d48dbce66 datasources: querier: handle single-tenant instance config (#108469) 2025-07-28 11:40:26 +02:00
Chris Chang
15f291aa8e Plugins: Add grafana-iot-twinmaker-datasource to forward_settings_to_plugins (#108560)
* Add grafana-iot-twinmaker-datasource to forward settings list

* Remove -app
2025-07-28 11:15:50 +02:00
renovate[bot]
7596dc319c Update dependency @floating-ui/react to v0.27.14 (#108755)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-28 09:53:57 +01:00
Joey
d529eee8cf Tempo: Add options to getTagKeys (#108691)
Add options to getTagKeys so time range and timeRangeForTags can be passed into the Tempo language provider
2025-07-28 09:36:07 +01:00
Mihai Doarna
cef7f2b337 SCIM: Update docs with the reject_non_provisioned_users flag (#108657)
* update docs with the reject_non_provisioned_users flag

* update docs with new flag and new create user behaviour

* address feedback

* run prettier
2025-07-28 11:32:14 +03:00
Mihai Doarna
f9b34baa35 SCIM: Add flag for rejecting non provisioned users from logging in (#108568)
add flag for rejecting non provisioned users from logging in
2025-07-28 11:31:33 +03:00
renovate[bot]
3a285d9b16 Update dependency eslint to v9.32.0 (#108711)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-28 09:18:20 +01:00
Alexander Akhmetov
4ad80cec1a Alerting: Validate extra configuration with PostableApiAlertingConfig (#108706) 2025-07-28 10:09:26 +02:00
antonio
f4b4d8ec95 add video to alerting tutorial pt3 (#108743) 2025-07-28 07:38:03 +00:00
Mariell Hoversholm
d0b791000d Docs: Update for certutil in container (#108751)
Co-authored-by: Roman Pertl <roman@pertl.org>
2025-07-28 09:12:30 +02:00
Scott Lepper
713c9921ac Dashboards: Edit pane variable unique key (#107212)
* Dashboards: Edit pane unique key

* lint

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

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

* lint

---------

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2025-07-28 07:49:38 +02:00
grafana-pr-automation[bot]
910454c84c I18n: Download translations from Crowdin (#108730)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-27 00:32:40 +00:00
Kevin Minehart
8fcfcc31da CI: run release-build on a schedule; also send source-event input to GE (#108726)
* run release-build on a schedule; also send source-event input to GE

* remove cron pipelines from drone
2025-07-25 21:52:09 -05:00
Galen Kistler
01f863c47f TableNG: Take nanos into account for column sorting (#108614)
* feat(ngTable): support nanos

---------

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2025-07-25 21:43:36 +00:00
Jev Forsberg
bd3606d6b1 Chore: Update 11.6.x support date (#108715)
baldm0mma/ update 11.6.x support date
2025-07-25 13:27:01 -06:00
Isabel Matwawana
87464efb16 Docs: Refactor Variables page and improve content (#108346) 2025-07-25 14:48:10 -04:00
renovate[bot]
c94f930950 Update dependency prettier to v3.6.2 (#108689)
* Update dependency prettier to v3.6.2

* run prettier

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-07-25 17:47:44 +01:00
Roberto Jiménez Sánchez
20cea80795 Provisioning: Add bulk delete job (#108580)
* Add delete job type

* Regenerate spec

* Add first implementation of worker

* Move interface and mock to repository package

* Add unit tests

* Add integration tests

* Fix linting and spec

* Regenerate client

* Format file

* go fmt

* fix

---------

Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-07-25 16:38:10 +00:00
Dave Henderson
a82a7f1340 deps(go): Tidying advisor and investigations go modules (#108703)
deps(go): Tidying apps/advisor go module

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2025-07-25 12:27:57 -04:00
Zoe C
c16117df4e Update Influx Config Options Section in Docs (#108264) 2025-07-25 10:25:55 -06:00
Josh Hunt
c1c5c2db8b FS: Handle unavailable backend (#108544)
* add dev mechanism for making backend unavailable

* handle unavailable backend in html

* fix ordering of /-/ routes

* Add new loader to index.html

* tweak light colours

* fix readme

* add error handling and error state

* use setTimeout for the retry loop

* easier on the comments:
2025-07-25 17:21:48 +01:00
Dana Axinte
b1b9cc43a8 SecretsManager: Adding ability to disable all DEKs (#108444)
* Adding dek deactivation and rename list dek

* disable data keys from manager

* separate interface and don't use in encryption manager
2025-07-25 17:11:17 +01:00
Michael Mandrus
f69f25be5d Chore: Don't show a "Not found" for public-dashboard fetches if the service is disabled via config (#108650)
don't show 404 toast if pubdash is completely disabled
2025-07-25 15:55:10 +00:00
Mihai Doarna
69d3b9023c SCIM Docs: Add mapping in AzureAD for the active attribute (#108669)
add mapping in AzureAD for the active attribute
2025-07-25 18:27:15 +03:00
Santiago
dcb965b7dc Remote Alertmanager: Optionally merge remote state before starting the internal Alertmanager (#107710)
* Remote Alertmanager: Use the same struct for Grafana stat and Mimir full state

* Alertmanager: Add methods to merge nflog and silences

* update grafana/alerting version

* make update-workspace

* update mocks

* remove unnecesary methods from the remote Alertmanager implementation, create separate StateMerger interface

* (WIP) Remote Alertmanager: Optionally merge remote state before starting the internal Alertmanager

* cleanup ngalert.go

* restore defaults.ini

* move state parsing logic to 'remote' package, clean up ngalert.go

* remove GetBase, implement MegeNflog and MergeSilences

* delete fmt.Println

* FetchRemoteState -> GetRemoteState

* UserGrafanaState -> UserState

* remove duplicate clusterpb import

* reorder MimirClient interface

* use general getState() method for Grafana state and Mimir full state

* remove unnecessary state merging methods from the Alertmanager interface

* remove pullState field

* reduce diff

* add info log after merging

* merge silences and nflog entries in the same method

* merge the remote state in the forked AM

* reduce diff

* update remote AM mock

* tests

* make error more specific

* typo
2025-07-25 15:06:59 +00:00
Victor Cinaglia
5f6fc38430 iam/authn: Introduce feature flag for authz resource mutations (#108698)
* iam/authz: introduce feature flag for authz resource mutations

* lint: fix typo
2025-07-25 12:05:32 -03:00
Bruno
b1592b5e36 Cloud migrations: store snapshots in the database (#108551)
* Cloud migrations: store snapshots in the database

* update github.com/grafana/grafana-cloud-migration-snapshot to v1.9.0

* make update-workspace

* use new field name in test

* return error after call to fmt.Errorf

* create methods for readability / fix session deletiong not deleting snapshots

* remove debugging changes

* update sample.ini

* update tests to include OrgID in ListSnapshotsQuery

* lint

* lint

* Update pkg/services/cloudmigration/cloudmigrationimpl/snapshot_mgmt.go

Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>

* remove TODO

* Update pkg/services/cloudmigration/cloudmigrationimpl/snapshot_mgmt.go

Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>

* remove one of the debug logs

---------

Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
2025-07-25 11:41:21 -03:00
alerting-team[bot]
47cf7ea8b6 Alerting: Update alerting module to 615c8286e14b14347365db1b3db557d74d8952f1 (#108695)
[create-pull-request] automated change

Co-authored-by: yuri-tceretian <25988953+yuri-tceretian@users.noreply.github.com>
2025-07-25 14:22:57 +00:00
Alex Khomenko
b4e955ced7 Provisioning: Use move API on dashboards settings page (#108671)
* Provisioning: Use Move API to move dashboards in Dashboards Settings Page

* i18n
2025-07-25 14:09:08 +00:00
lean.dev
69743ed1a4 SecretsManager: remove unused metric (#108694) 2025-07-25 14:04:43 +00:00
Matheus Macabu
97aa3cee88 GHA: Run Go Workspace Checks conditionally on BE changes (#108655) 2025-07-25 15:10:54 +02:00
Sergej-Vlasov
6af2e81cda DashboardEdit: Undo/redo for conditional rendering (#107235)
* add undo/redo for group and base actions

* add undo/redo for rules

* adjust circular dependency issue

* add itemType translations

* adjust how we get rendering group
2025-07-25 13:59:53 +01:00
Konrad Lalik
fb08352300 Alerting: Rename draft new rule option (#108597)
* Rename draft new rule option

* Update tests

* Update translation key
2025-07-25 14:42:37 +02:00
renovate[bot]
9ad8881411 Update dependency fork-ts-checker-webpack-plugin to v9.1.0 (#108672)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-25 13:38:05 +01:00
Will Assis
f67713726b add debug logs to search server distributor (#108679) 2025-07-25 12:36:35 +00:00
Will Browne
6747b60822 Plugins: Remove pluginsDetailsRightPanel feature toggle (#107321)
remove pluginsDetailsRightPanel feature toggle
2025-07-25 13:02:05 +01:00
Andres Martinez Gotor
d25d926462 Advisor: Fix paginated requests for checks (#108583) 2025-07-25 13:42:16 +02:00
renovate[bot]
7e8a471b08 Update dependency ol to v10.6.1 (#98200)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-25 10:56:07 +00:00
Ashley Harrison
11b49cf7bd Playwright: Some tweaks to improve stability (#108667)
playwright stability tweaks
2025-07-25 10:54:07 +01:00
ismail simsek
fa8b631a87 Chore: Improve prometheus language provider documentation (#108661)
* improve documentation

* fix

* betterer
2025-07-25 09:45:09 +00:00
Matheus Macabu
c21617a446 Make: Use air as the default for make run (#108652) 2025-07-25 11:32:07 +02:00
Josh Hunt
6b3d8b0a30 Chore: Bump axios (#108663) 2025-07-25 09:10:28 +00:00
renovate[bot]
02f9ebc62e Update dependency @grafana/assistant to v0.0.10 (#108660)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-25 09:58:39 +01:00
Josh Hunt
5febfc7d9b Playwright: Fix GHA summary step (#108587)
* Playwright: Fix GHA summary step

* add failure to test

* remove failing test
2025-07-25 09:37:15 +01:00
renovate[bot]
0405e5fe52 Update dependency eslint-plugin-import to v2.32.0 (#108622)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-25 09:32:18 +01:00
Mustafa Sencer Özcan
761150fcb8 fix: enable dashboard api k8s list tests (#106508)
* fix: separate dashboard api tests

* fix: typo

* refactor: revert file rename

* fix: compilable

* fix: trial

* fix: remove unused func

* Pass the right value for kubernetesDashboardsEnabled flag

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

* Enable mode 3 for remaining tests

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

* Disable integration tests for MySQL and Postgres

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

* Run go work use

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

* Update go.mod

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

* Remove TODO comment

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

* Revert to go 1.24.5

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

* go.mod

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

* Remove duplicated block

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

* Experiment without reusing client

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

* Reenable integration tests on Postgres and MySQL

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

* Revert "Experiment without reusing client"

This reverts commit 0126e321a0.

* Reapply "Experiment without reusing client"

This reverts commit 5368b4c531.

* Refactor how we get an adminClient

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

* Add TODO comments

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
Co-authored-by: Maicon Costa <maiconscosta@gmail.com>
2025-07-25 09:46:02 +02:00
Roberto Jiménez Sánchez
16339b0788 Provisioning: Move repository file API (#108514)
* Bump nanogit version
* Embed git repository in the Github one
2025-07-24 23:28:59 -05:00
Kevin Minehart
22bcd4dab4 Chore: bump version to 12.2.0-pre (#108623)
* bump version to 12.2.0-pre

* make gen-cue
2025-07-24 21:25:26 -05:00
grafana-pr-automation[bot]
4626207155 I18n: Download translations from Crowdin (#108647)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-25 00:40:42 +00:00
Drew Slobodnjak
2196727226 TimeSeries: Add Time Comparison (#104672)
* TimeComparison: Add time comparison option

* Display control conditionally based on option

* Provide timeCompare option to panels that opt in

* Only render time compare if panel supports it

* Create a custom time range compare component

* Move custom component

* Remove button checked

* Move time compare options out of field config

* Fix types and remove from fieldConfigProperty enum

* Remove from field config registry

* Add headerActions to V2 schema

* Remove dependency on timeCompare support registry

* Add feature flag

* Subscribe to options change in wrapper

* Remove custom rendering to simplify wrapper

* Bump scenes version

* Hide checkbox

* Remove unneeded query refresh during disable

* Fix import order in timeseries module

* Add util tests

* Support time comparison toggle for new viz panels

* Revert grafana-app-sdk and manifest changes

* Revert yarn lock
2025-07-24 13:07:28 -07:00
Tania
d3b6d7c45e OpenFeature: Add config setting to disable API (#108620)
* Add config option to disable ofrep api

* Apply review feedback
2025-07-24 19:45:22 +00:00
Will Assis
183cd0843e keep instance in the ring on shutdown (#108609) 2025-07-24 15:39:12 -04:00
Isabel Matwawana
227a33fadd Docs: Document cell options by cell type (#106961) 2025-07-24 15:39:01 -04:00
Arati R.
16aee8047c Unified Search: Randomise instance selected by distributor (#108619)
* Randomise instance selected by distributor

* add namespace to distributor logging

---------

Co-authored-by: Will Assis <william@williamassis.com>
2025-07-24 19:38:35 +00:00
Galen Kistler
ab92e2cbb6 Transformations: Take nanos into account for Sort by (#108564)
* chore(sortDataFrame): sort by nanos
2025-07-24 18:51:21 +00:00
ismail simsek
0723a51e87 Prometheus: Fix adding labels to the query with empty values (#108611)
* values can be empty

* remove a test
2025-07-24 20:12:43 +02:00
Jacob Valdez
a5a45d4476 Docs: removing static options whats new post (#108628) 2025-07-24 18:05:22 +00:00
linoman
d578da7bc9 auth: Restore Authentication UI access (#108625)
Restore Authentication UI access
2025-07-24 17:37:02 +00:00
Roberto Jiménez Sánchez
e9b9618fb0 Provisioning: Fix stage options for export (#108585)
* Add ref option to stage options

* Fix the issue with ref in export worker

* Add unit tests for export stage options

* Do not fail if ref is equal to the stage branch

* Format code again

* fix test

---------

Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-07-24 16:53:33 +00:00
renovate[bot]
6eb400d1a7 Update dependency eslint-plugin-jest-dom to v5.5.0 (#108606)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-24 17:53:07 +01:00
Stephanie Hingtgen
f515e5af7e CODEOWNERS: Update integration test owners (#108621) 2025-07-24 16:35:12 +00:00
Yunwen Zheng
6b259435ee PreviewBannerViewPR: Display different provider in preview banner (#108490)
* PreviewBannerViewPR: display different provider in preview banner, update copy
2025-07-24 12:31:55 -04:00
Josh Hunt
716ae2a266 re-yarn lock (#108615) 2025-07-24 16:08:42 +00:00
Yuri Tseretyan
e280b949e3 Alerting: Refactor remote Alertmanager and Mimir client (#107808)
* deduplicate config preparation logic squashes config preparation in 3 places into a single method buildConfiguration
* remove copying config from decrypt because we already use copy
* move logic from decryptConfiguration to buildConfiguration
* move logic from mergeExtraConfigs to buildConfiguration
* load default config with buildConfiguration method and skip if fails
---------

Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>
2025-07-24 12:00:38 -04:00
Roberto Jiménez Sánchez
915f47befd Provisioning: commit only once staged changes (#108590) 2025-07-24 10:57:02 -05:00
Ivana Huckova
e74b4456e4 Update developer-guide.md for running decoupled plugins (#108604)
* Update developer-guide for running decoupled plugins

* Update contribute/developer-guide.md

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

* Fix lint

---------

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2025-07-24 17:51:44 +02:00
Ashley Harrison
2be4e44a02 Accessibility: Add storybook a11y tests that run in CI (#108543)
* add test runner and start experimenting with storybook a11y tests

* skip currently failing a11y tests

* first attempt at github action

* fix CODEOWNERS, fix copy assets

* no caching?

* make wait-on better

* increase timeout and add verbose logging

* kick CI

* remove verbose logging, try different runner

* remove commented out code in copyAssets

* try maxWorkers 2

* turn on verbose logging, run as part of same step

* test storybook verify

* try setting LANG

* tidy up

* add betterer test
2025-07-24 16:32:02 +01:00
Drew Slobodnjak
512a553723 Geomap: Add tooltip support for dynamic geojson (#108203)
* Geomap: Add tooltip support for dynamic geojson

* Add tests for tooltip function
2025-07-24 08:10:12 -07:00
Anna Urbiztondo
f0b0aa24a3 Advisor - mark as public preview (#108605)
As per https://github.com/grafana/grafana/issues/106893.
2025-07-24 17:01:58 +02:00
Alex Khomenko
4def378a61 Provisioning: Consolidate status display (#108589)
* Provisioning: Centralize wizard errors

* Move alert to shared

* Update pull status

* betterer

* Update warning

* Fix i18n

* Format

* Format[2]

* Extract MessageList

* Add fallback status
2025-07-24 14:59:48 +00:00
renovate[bot]
e321ac1075 Update dependency @babel/runtime to v7.28.2 (#108603)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-24 14:39:39 +00:00
Gábor Farkas
36b0e59905 codeowners: core-services will own pkg/services/query (#108599) 2025-07-24 14:15:09 +00:00
renovate[bot]
97c37e6798 Update dependency react-hook-form to v7.61.1 (#108598)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-24 14:14:26 +00:00
Anna Urbiztondo
c81de5ee67 Updating trace link (#108593)
As reported in https://github.com/grafana/grafana/issues/101443.
2025-07-24 16:00:09 +02:00
renovate[bot]
80bf664c48 Update dependency @grafana/assistant to v0.0.8 (#108592)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-24 14:48:00 +01:00
Mariell Hoversholm
0732389a0a Docs(image-renderer): Update for v4.0.x (#108595) 2025-07-24 13:34:40 +00:00
Yuri Tseretyan
0895d63516 Alerting: Remote Alertmanager to compare current hash with hash from response (#108554) 2025-07-24 09:22:44 -04:00
Sonia Aguilar
b129b28d7e Alerting: Fix action buttons flickering in the old list view (#108321)
* fix action buttons flickering in the old list view

* prettier

* address review coments

* remove duplication

* add canCreateGrafanaRules check for ai button
2025-07-24 13:05:56 +00:00
renovate[bot]
1e8b065a0a Update scenes to v6.28.0 (#108548)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-24 12:56:07 +00:00
Victor Cinaglia
4c17c1cbb6 IAM: Instantiate DualWriter only when in single-tenant mode (#108558)
* Instantiate dual writer only in ST case

* minor cleanup

---------

Co-authored-by: Charandas Batra <charandas.batra@grafana.com>
2025-07-24 09:33:53 -03:00
Victor Marin
1c453cd81c Tests: Add user profile timezone settings in DashboardSceneSerializer test (#108584)
fix tests
2025-07-24 13:03:16 +01:00
Sonia Aguilar
2e2bb605ea Alerting: Fix wrong import (#108581)
* fix wrong import

* add eslint rule to no-restricted-imports

* eslint config update

* eslint config update
2025-07-24 13:56:51 +02:00
Andres Martinez Gotor
5066aec64d Advisor: Context handler returns a copy of request (#108508) 2025-07-24 10:32:06 +00:00
Josh Hunt
656c0b56b8 Chore: Bump form-data (#108579) 2025-07-24 10:29:12 +00:00
Jack Westbrook
d852bde2a5 Fix: plugin loader cache not matching on decoupled plugin paths (#108529)
* fix(plugins): match decoupled plugin path in fe plugin loader cache

* chore(devenv): update local_cdn to work with latest changes in core

* refactor(plugins): improve legibility by splitting regexs into two

* revert(devenv): revert -oss removal in local_cdn rewrite path
2025-07-24 11:53:30 +02:00
Josh Hunt
559d3a274a Chore: Bump semver version for pa11y (#108573) 2025-07-24 09:41:56 +00:00
Jack Westbrook
15d9df93f9 Fix: Prevent Rollup from treeshaking NPM packages (#108567)
fix(packages): prevent rollup from treeshaking libraries
2025-07-24 10:54:02 +02:00
Mihai Turdean
b1de534092 Refactor iam app cue files (#108542)
A breaking change was introduced by this grafana-app-sdk PR: https://github.com/grafana/grafana-app-sdk/pull/795

This PR refactors the definition of our CUE files (manifest and kinds) to match the new model in the latest version of grafana-app-sdk.
2025-07-24 09:52:52 +01:00
Piotr Jamróz
69731658a2 Span Details: Redesign details header (#108511)
* Span Details: Redesign span details header

* Update translations

* Add max width to operation name

* Test update

We don't show the spanId anymore, just the "share" label for each trace
2025-07-24 09:57:23 +02:00
dependabot[bot]
4922bb4065 Bump marocchino/sticky-pull-request-comment from 2.9.3 to 2.9.4 (#108287)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-24 08:09:39 +01:00
Alex Khomenko
d4a609419a Provisioning: Extend Git-based workflows (#108537)
* Provisioning: Replace GitHub check with generic Git provider check

* Provisioning: Replace GitHub check with generic Git provider check

* Fix types

* Codeformat

* Imports
2025-07-24 05:15:17 +00:00
grafana-pr-automation[bot]
ada1c4dfdb I18n: Download translations from Crowdin (#108561)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-24 00:45:05 +00:00
Kristina
95eb66be3d Transformations: Extract Fields > Regex should not encode tooltip text (#108410)
do not escape tooltip text
2025-07-23 15:41:27 -07:00
Paul Marbach
63cc23a3ed TableNG: Footer should render summary value in first column if present (#108550)
* TableNG: Footer should render summary value in first column if present

* fix issue where empty fields array meant no calcs were shown

* fix a bug related to hidden fields

* go away from fieldmatcher to use a simple inline solution
2025-07-23 18:06:31 -04:00
Kristina
5bfed408ed SQL Expressions: Enable Auto-complete (#106511)
* First draft autocomplete

* Better naming

* Change suggestion to table/column population

* Remove all suggestions, just use table/column population but trigger on space

* Gate feature flag behind a feature flag

* Reorganize and add function list

* Add blurb about autocomplete to docs

* Update public/app/features/expressions/utils/metaSqlExpr.ts

Co-authored-by: Alex Spencer <52186778+alexjonspencer1@users.noreply.github.com>

* Add try catch, remove promise resolve

---------

Co-authored-by: Alex Spencer <52186778+alexjonspencer1@users.noreply.github.com>
2025-07-23 16:49:58 -05:00
Jev Forsberg
ed9ef9e5fc Chore: Update supported version docs (#108557)
baldm0mma/ update versions
2025-07-23 14:58:24 -06:00
Will Assis
981fdb29d4 update storage-api to only build index if it owns the namespace (#108418)
* update storage-api to only build index if it owns the namespace

---------

Co-authored-by: Mustafa Sencer Özcan <mustafasencer.ozcan@grafana.com>
2025-07-23 15:59:24 -04:00
github-actions[bot]
4df4f9cc07 Release: update changelog for main (#108533)
* Update changelog

* Update changelog

* jumpstart gha workflows

* Update changelog

* Update changelog

* Update changelog

* Update CHANGELOG.md

update changelog

* Update changelog

* trigger gha workflows

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: jev forsberg <jev.forsberg@grafana.com>
Co-authored-by: Jev Forsberg <46619047+baldm0mma@users.noreply.github.com>
2025-07-23 13:49:59 -06:00
Paul Marbach
26d26f67d4 TableNG: Integrate hover and selection, DataLinkCell cleanup (#108353)
* Table: Style cleanups (minus DataLinkCell word wrap)

* kill JSONCell in favor of a custom display method and style overrides at TableNG

* remove unused type for JSONCellProps

* add increased specificity to CSS selector

* remove inherit and rely on undefined

* fix tests

* shrink and optimize DataLinkCell

* maybe

* format files

* better

* classname

* add Pills and DataLink cells to kitchen sink

* add comment about align + justify, simplify datalinks targeting

* simplify?

* poke

* tweak

* revert

* fix one more z-index conflict

* clean up alignment tests

* a couple more tests

* make TableNG e2e tests more resilient to changes to the gdev dashboard

---------

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2025-07-23 19:39:25 +00:00
Paul Marbach
d9ef08f824 TableNG: Footer fields declaration should work for displayName or name (#108482)
back to using our own getDisplayNam
2025-07-23 14:49:10 -04:00
Tania
60e0d2d136 OpenFeature: Update authenticated request check (#108539) 2025-07-23 20:27:21 +02:00
Alexander Akhmetov
7c43c061a8 Alerting: Fix deadlocks in provenance table (#106370)
What is this feature?

This PR further improves concurrent updates to the provenance table (a follow-up for #101688). The fix explicitly checks for a provenance record using SELECT ... FOR UPDATE for the databases that support it before performing either an update or upsert operation. This preemptive locking reduces the possibility of deadlocks in MySQL.

This works only with the alertingProvenanceLockWrites feature flag enabled.

Why do we need this feature?

The current implementation (directly performing upserts without prior locking) may still encounter deadlocks because of the gap and insert-intention locks in some configurations, for example, with repeatable-read transaction isolation level in MySQL+InnoDB.

---------

Co-authored-by: William Wernert <william.wernert@grafana.com>
2025-07-23 20:16:06 +02:00
Yunwen Zheng
709aeb4e1a BulkDeleteProvisionedResource: Add unit tests (#108484)
* BulkDeleteProvisionedResource: added unit tests and reorganize folder permission

---------

Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
2025-07-23 17:12:23 +00:00
Yuri Tseretyan
cc869e7668 Alerting: Fix active time intervals when time interval is renamed (#108534) 2025-07-23 13:08:11 -04:00
Matias Chomicki
d3a445409b shardQuerySplitting: group has pending requests or no shards to run (#108500)
* shardQuerySplitting: group has pending requests or no shards to run

* Comment

* Regression test
2025-07-23 18:12:12 +02:00
Mihai Turdean
e3c1e75da5 Fix Readme (#108081) 2025-07-23 15:55:30 +00:00
Jacob Valdez
a449a45452 Docs: What's new, Upgrade guide, and breaking changes v12.1 (#107277)
Co-authored-by: Robby Milo <robbymilo@fastmail.com>
2025-07-23 10:40:55 -05:00
Matias Chomicki
10b235ec75 New Logs Panel: always show horizontal scroll when unwrapped (#108530) 2025-07-23 17:10:22 +02:00
Leon Sorokin
0f9ea44144 XYChart: Lift restrictions around re-using fields for color and size (#106690) 2025-07-23 14:55:58 +00:00
renovate[bot]
0483544b06 Update dependency eslint-plugin-import to v2.32.0 (#108518)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-23 15:34:02 +01:00
Timur Olzhabayev
9f212d11d0 Chore: bump github action version (#108522)
bump github action version
2025-07-23 16:00:12 +02:00
Nathan Vērzemnieks
b99e9484d2 CloudWatch: Fix broken test (#108520) 2025-07-23 15:15:44 +02:00
Sonia Aguilar
7c872f0e8a Alerting: Add feedback buttons for the new AI helpers (#108207)
* Add alerting ai buttons for cloud

* add tracking for ai buttons usage

* Empty commit to trigger GitHub Actions

* wip

* add FrontendOnly in ff

* update analytics folder

* prettier

* revert ff being frontend only

* add feedback button in templates

* review comments

* address some review comments

* refactor

* revert change and remove comment

* prettier

* update betterer

* remove unused property

* prettier

* update AIFeedbackComponent

* add feedback buttons for alert rule generation with ai

* remove tracking from oss

* fix analytics imports

* udpdate changes in go.mod go.sum

* prettier

* update translations

* update workspace

* fix betterer

* address pr comments

* move most of the ai feedback buttons code to enterprise

* prettier

* fix

* address pr feedback
2025-07-23 14:38:09 +02:00
Timur Olzhabayev
c43a92c1be Choe: add id-token to fetch secrets (#108506)
* add PR author

* adding id-token permissions
2025-07-23 14:33:06 +02:00
Ashley Harrison
60df44bb23 Chore: update CODEOWNERS (#108398)
* remove joint ownership of root packages

* continue separating CODEOWNERS

* more CODEOWNERS, separate into package sections

* more separation

* few more CODEOWNER updates

* index ownership

* make frontend-platform owners of types

* assign @grafana/schema ownership

* update CODEOWNERS

* define more CODEOWNERS

* add more CODEOWNERs

* update CODEOWNERS

* update CODEOWNERS

* update CODEOWNERS

* update CODEOWNERS

* add plugins platform to data/runtime interface

* add featureToggles ownership

* remove frontend-ops ownership
2025-07-23 12:32:22 +01:00
renovate[bot]
06a2630ddd Update dependency eslint to v9.31.0 (#108504)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-23 12:31:36 +01:00
Alex Khomenko
f2889c6cc4 Provisioning: Add provider icons (#108510)
* Provisioning: Add provider icons

* Use color logos

* format

* Move img to feature folder
2025-07-23 11:25:11 +00:00
Roberto Jiménez Sánchez
24d898d6a7 Provisioning: Fix flake in delete resources integration test (#108507)
* Fix flake in delete resources test

* Fix linting issue
2025-07-23 11:43:57 +01:00
Matheus Macabu
0e7b041b27 Secrets: Move decrypt types to contracts and export public at root pkg (#108376)
* Secrets: Move decrypt types to contracts and export public at root pkg

* Provisioning: Replace decrypt pkg imports

* Merge wire changes
2025-07-23 12:14:28 +02:00
Sven Grossmann
f657044afb LogLine: Add Explain in Assistant option to explain single log lines (#108387)
* LogLine: Add `Explain in Assistant` option

* LogLine: Improve menu and prompt

* LogLine: Mock `@grafana/assistant` in tests

* LogLine: Mock `@grafana/assistant` in tests

* i18n

* LogLine: Expose via loglistcontext

* LogLine: Mock in LogLineDetails

* revert

* revert changes

* LogLine: Fix LogListContext mock

* LogLineControls: Add context props

* LogLineControls: Mock `@grafana/assistant`

* LogLineControls: Remove from props

* LogLineControls: Lint menu

* LogsPanel: Mock `@grafana/assistant`
2025-07-23 12:12:47 +02:00
Josh Hunt
838391cd31 I18n: Prepare locale format for preview (#108501)
* Promote toggle to public preview

* disable RTL locales

* update badge on prefs page to preview
2025-07-23 09:41:22 +00:00
Timur Olzhabayev
89c664dc05 Chore/label internal issues 2 (#108479)
* add PR author

* see if this way of getting org members is correct

* switch to env

* add check for repository

* cleanup logic a bit
2025-07-23 09:41:05 +00:00
Roberto Jiménez Sánchez
946358900c Provisioning: Add warning job status and different strictness (#108446)
* Add warning job status

* Different strictness for export than for pulling

* Fix some unit tests

* Fix unit tests

* Update frontend to display the warning status

* Fix status badge

* Add missing return statement

* Improve text in alert
2025-07-23 09:33:25 +00:00
Sonia Aguilar
3fe21f1cca Alerting: Add pagination for rules in a group in the rule list view v2 (#108436)
* add pagination for rules in a group, in the rule list view v2

* update translations

* remove gap in stack
2025-07-23 11:32:30 +02:00
renovate[bot]
937cdc3682 Update dependency cypress-recurse to v1.37.1 (#108498)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-23 10:31:57 +01:00
Ashley Harrison
f093b3d620 Chore: Ignore cypress updates (#108496)
ignore cypress updates for now
2025-07-23 10:03:34 +01:00
Josh Hunt
ba2804bcfe I18n: Use locale-aware date formatting in grafana-data (#108415)
* use intl locale-aware date formatting

* format range for time picker button

* comment

* fix test setup
2025-07-23 09:23:16 +01:00
Josh Hunt
b2688dd5ff I18n: Default regional format to Accept-Language header value (#108468)
* I18n: Default regional format to Accept-Language header value

* comment

* rejigger

* rejigger preferences
2025-07-23 09:23:05 +01:00
Sam Jewell
aedd7b6e34 [--Dashboard-- data source] Implement AdHoc filtering (#108011)
Behind a feature toggle: `dashboardDsAdHocFiltering`
2025-07-23 09:12:25 +01:00
Alex Khomenko
08a287e705 Browse dashboards: Hide checkboxes for items user cannot edit (#108427)
* Add test

* BrowseDashboards: Separate folder and dashboard permission checks

* Extract type

* Check for edit permissions

* Prettier

* Refactor test

* Update canEditItemType

* Update render check

* Update the check
2025-07-23 10:10:33 +03:00
grafana-pr-automation[bot]
408ac3086d I18n: Download translations from Crowdin (#108493)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-23 00:40:19 +00:00
Luminessa Starlight
5dac6731cb Docs: Add note for how to enable a feature toggle in development (#108404)
add note for how to enable a feature toggle in development
2025-07-22 14:12:32 -04:00
Josh Hunt
1bd9541507 FrontendService: Add tracing and logging middleware (#107956)
* FrontendService: Add tracing and logging middleware

* tests!

* middleware tests

* context middleware test

* revert http_server back to previous version

* fix lint

* fix test

* use http.NotFound instead of custom http handler

* use existing tracer for package

* use otel/trace.Tracer in request_tracing middleware

* tidy up tracing in contextMiddleware

* fix 404 test

* remove spans from contextMiddleware

* comment
2025-07-22 18:55:44 +01:00
caozhangni
92404d9579 Snapshots: Fix snapshot doc link error (#108477)
Fix: snapshot doc link error
2025-07-22 14:49:29 -03:00
Leon Sorokin
d43606cd3e XYChart: Fix hideFrom.tooltip (#108359) 2025-07-22 12:07:34 -05:00
Ashley Harrison
66323b2a19 Internationalisation: More markup in prometheus/grafana-data (#108378)
* mark up units

* remaining category markup

* prometheus translations...

* load prom resources in core

* more prom markup

* don't load prometheus resources directly in core

* isolate @grafana/data import in jest-setup to prevent side effects in tests

* directly use tz
2025-07-22 17:57:05 +01:00
Andreas Christou
a421f55cd5 Azure: Fix time management field (#107993)
* Fix mode setting

* Update selector

* Add tests

* Fix condition
2025-07-22 16:47:52 +01:00
Matheus Macabu
52f6104230 Dependencies: Bump Go to v1.24.5 (#108175) 2025-07-22 17:08:40 +02:00
Austin Pond
6222156c7c [Dashboard Schema Codegen] Move dashboard CUE codegen block back up into kind body (#108476)
[Dashboard Schema Codegen] Move dashboard CUE codegen block back up into kind body to make sure new versions have the same settings.
2025-07-22 14:45:06 +00:00
Yunwen Zheng
2c86460fe3 BulkDeleteProvisionedResource: Move progress bar into a second step (#108417)
* Move progress bar into a second step

---------

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2025-07-22 10:31:08 -04:00
Matheus Macabu
0dbede9ba5 Provisioning: Fix ImportAllPanelsFromLocalRepository test (#108441)
* Provisioning: Skip flaky test

* Fix flaky provisioning test

* Fix lint

---------

Co-authored-by: Roberto Jimenez Sanchez <roberto.jimenez@grafana.com>
2025-07-22 14:23:17 +00:00
Roberto Jiménez Sánchez
482872c3bf Provisioning: Fix bug in job progress recording (#108440)
Fix bug in job progress recording
2025-07-22 14:21:22 +00:00
Matheus Macabu
9402071d33 Secrets: Create more granular fixed roles for SecureValues (#108382) 2025-07-22 16:20:54 +02:00
Will Assis
71cb623cb7 improve logging and fail unified-storage migration with more than 0 errors (#108471)
improve logging and fail unified-storage migration with more than 0 errors
2025-07-22 13:44:04 +00:00
Ashley Harrison
85a1a35948 Chore: use satisfies and remove a load of anys (#108397)
use satisfies and remove a load of anys
2025-07-22 13:25:26 +01:00
Todd Treece
52a0485d5b App Installer: Authorizer support (#108419) 2025-07-22 06:45:01 -04:00
renovate[bot]
ec9da2678a Update dependency core-js to v3.44.0 (#108435)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-22 10:29:43 +00:00
renovate[bot]
1a879abd4e Update dependency @types/node to v22.16.5 (#108431)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-22 11:04:32 +01:00
Dominik Prokop
d72a70d246 Dashboards API: v2alpha2 missing pieces (#108293)
* Dashboards API: v2alpha2 missing pieces

* Fix issue with dashboard client scope for alpha versions

As we now have 2 different alpha versions for v2 we need to store the
clients separately.

* Improve debuggability of provisioning export test

- Add a helper function to print the tree structure.
- Be explicit about the expected file names expected in each case.

* Update pkg/registry/apis/dashboard/mutate.go

* Update pkg/services/authz/zanzana/server/server.go

Co-authored-by: Igor Suleymanov <radiohead@users.noreply.github.com>

* Review

* go lint

---------

Co-authored-by: Roberto Jimenez Sanchez <roberto.jimenez@grafana.com>
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
Co-authored-by: Igor Suleymanov <radiohead@users.noreply.github.com>
2025-07-22 11:44:05 +02:00
Mihai Doarna
eeb44c1d63 Docs: Remove LDAP debug view section (#108214)
remove LDAP debug view section from docs
2025-07-22 12:32:24 +03:00
Josh Hunt
dfea35f1c1 Lint: Ban string.localeCompare with betterer (#108375)
Ban string.localeCompare with betterer
2025-07-22 09:18:48 +00:00
renovate[bot]
79286515fe Update dependency @types/babel__preset-env to v7.10.0 (#108429)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-22 09:13:27 +00:00
Josh Hunt
c3243bd100 Context: Clean up contexthandler.Middleware spans (#108188)
* Context: Clean up contexthandler.Middleware spans

* seperate the middleware span from the rest of the request

* shuffle

* put of back

* span name

* Update pkg/services/contexthandler/contexthandler.go

Co-authored-by: Dave Henderson <dave.henderson@grafana.com>

---------

Co-authored-by: Dave Henderson <dave.henderson@grafana.com>
2025-07-22 08:53:28 +00:00
renovate[bot]
abd519899f Update dependency @testing-library/react to v16.3.0 (#108428)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-22 08:47:52 +00:00
Will Browne
7f065c94de Plugins: Remove pluginsCDNSyncLoader feature toggle (#108389)
* remove pluginsCDNSyncLoader feature toggle

* fix lint issues

* fix other linter issue
2025-07-22 09:33:23 +01:00
renovate[bot]
56f6030c5e Update dependency @pmmmwh/react-refresh-webpack-plugin to v0.6.1 (#108407)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-22 09:22:40 +01:00
Timur Olzhabayev
487c38da56 Chore: auto label internal issues (#108013)
* add PR author

* catch all for internal issues

* ubuntu latest

* no need to add label here anymore
2025-07-22 10:01:18 +02:00
Will Assis
34f1be796d unified-storage: expose ring replication factor config (#106345)
* config ring replication factor

* change default

* rename

* fix test

* fix
2025-07-22 09:32:22 +02:00
Victor Marin
b9997d833f DataSourceAPI: Rename getApplicableFilters to getFiltersApplicability (#107775)
* refactor getApplicableFilters to getFiltersApplicability

* add origin property as well

* add comments
2025-07-22 10:14:57 +03:00
grafana-pr-automation[bot]
2cb61cfb38 I18n: Download translations from Crowdin (#108420)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-22 00:40:41 +00:00
Todd Treece
e5d2f92384 K8s: Add App SDK installer (#107773) 2025-07-21 13:32:15 -04:00
Adela Almasan
548964f728 Chore: Fix console warning for Canvas (#108351) 2025-07-21 11:41:11 -05:00
renovate[bot]
ef81f93980 Update dependency @playwright/test to v1.54.1 (#108403)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-21 16:32:29 +00:00
Moustafa Baiou
71b5c1d997 Alerting: Update test data for exports which now contain http_configs for receivers (#108405)
This was introduced in https://github.com/grafana/grafana/pull/108190 and missed in the integration
2025-07-21 16:32:21 +00:00
Alex Khomenko
193471c6ae Provisioning: Skip sync step when it's not needed (#108309)
* Skip sync

* Remove onOptionSelect

* Format

* Create job if skipping sync

* Extract job sync into a hook

* i18n

* Cleanup + i18n

* Review comments

* Skip requests and update tests

* Fix sync error
2025-07-21 18:41:31 +03:00
Yunwen Zheng
20d6702e50 Git Sync: Bulk deletion (#107800)
* Git sync bulk delete
2025-07-21 11:41:21 -04:00
renovate[bot]
60a10be931 Update dependency @types/hoist-non-react-statics to v3.3.7 (#108395)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-21 16:19:33 +01:00
Ashley Harrison
5f3bceaff9 Chore: add minimumReleaseAge to renovate config (#108393)
* add minimumReleaseAge to renovate config

* add minimumReleaseAge to non-grafana packages
2025-07-21 16:18:51 +01:00
Matthew Jacobson
5489c814c0 Alerting: Fix Jira HCL export with fields & add export snapshots test (#108032)
* Alerting: Contact point export snapshot test

* Fix Jira.fields hcl export type to allow map[string]any

Since gohcl does not support this type, we marshal as a string instead
which will be handled in the TF provider.

* mapToJSONStringCodec encoder needed for
TestContactPointFromContactPointExports
2025-07-21 10:24:24 -04:00
Bruno
12a7e03e2f Secrets: encryptionStoreImpl produces metrics (#108390) 2025-07-21 11:00:59 -03:00
renovate[bot]
6ecbe1f61b Update dependency esbuild to v0.25.8 (#108385)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-21 14:57:34 +01:00
Bruno Abrantes
be79eb0ace fix: handle dashboards without version entries in unified storage migration (#108139)
* fix: handle dashboards without version entries in migration

Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com>

* fix: adds AllowFallback flag to enable COALESCE logic explicitly during migrations

Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com>

* fix: update dependencies

Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com>

* fix: maintain original behavior when not using AllowFallback option

Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com>

---------

Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com>
2025-07-21 15:32:24 +02:00
dependabot[bot]
73c09efd03 Bump golang.org/x/oauth2 from 0.26.0 to 0.27.0 in /.citools/src/cog (#108369)
Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.26.0 to 0.27.0.
- [Commits](https://github.com/golang/oauth2/compare/v0.26.0...v0.27.0)

---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
  dependency-version: 0.27.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-21 15:03:58 +02:00
Will Browne
cd87bbbdea Plugins: Remove externalCorePlugins feature toggle (#108386)
remove externalCorePlugins feature toggle
2025-07-21 13:55:30 +01:00
Stephanie Hingtgen
5ec3a2b758 K8s: Library panels: move to separate ff (#108384) 2025-07-21 12:53:46 +00:00
Marie Cruz
91825be1dd add data transformations learning journey to transform data docs (#108325)
* add data transformations learning journey to transform data docs

* add shortcode to typescript file instead
2025-07-21 13:43:33 +01:00
Bruno Abrantes
e5b6ab1b11 fix: do not migrate library panels to unified storage (#108380)
Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com>
2025-07-21 14:34:23 +02:00
renovate[bot]
9ff5a18d98 Update dependency monaco-promql to v1.8.0 (#108377)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-21 13:27:38 +01:00
Bill Franklin
b9746cd8d4 Tempo: Downcase OR to or in Loki LogQL query (#106012)
Downcase 'OR' to 'or'

Fixes: https://github.com/grafana/grafana/pull/93923\#issuecomment-2752216436

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
2025-07-21 14:17:16 +02:00
Bruno Abrantes
6c84461b7a fix: Always return searchWrapper to enable shadow traffic (#108373)
Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com>
2025-07-21 13:53:44 +02:00
Matias Chomicki
b70d1b0724 New Log Details: Support multiple log details displayed (#108327)
* LogLine: optionally highlight search based on syntax highlighting state

* Log Details: support multiple details open

* Translations

* Add test

* LogLine: allow to highlight frontend searches

* LogLine: improve hover vs details displayed colors

* LogLineDetails: add scroll to log line option and improve toggling behavior

* Translations

* LogLineDetails: prevent sidebar re-rendering

* LogLineDetails: more tests
2025-07-21 13:02:20 +02:00
Josh Hunt
ca63c8015d FS: Frontend redirect to /login (#108225)
* Add frontend redirect to login

* Make Login topnav link do a page transition to login page

* Force AppChromeState update when route changes to get new isChromeless state

* Add base url to SignInLink, and add tests

* wrap login page in <Page />

* comment, test

* fix loginPage test

* rejigger signin check, remove chrome from deps
2025-07-21 10:48:53 +00:00
renovate[bot]
fde2267387 Update dependency centrifuge to v5.4.0 (#108371)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-21 11:31:10 +01:00
Matheus Macabu
88acefbb65 CiTools: Install air (#108367) 2025-07-21 12:25:40 +02:00
Sven Grossmann
3c18add70b ExtensionSidebar: Make sure sidebar will not render more than max width (#108374)
ExtensionSidebar: Make sure sidebar will not render more than max
2025-07-21 10:24:26 +00:00
Sven Grossmann
b8c1c3c56b DashboardMacro: Fail soft if __dashboard macro exists (#108060) 2025-07-21 11:53:31 +02:00
Matheus Macabu
9e4f2cad47 Secrets: Re-export and map domain errors into K8s API errors in ST client (#108226) 2025-07-21 09:32:20 +00:00
renovate[bot]
2222f3f43c Update dependency downshift to v9.0.10 (#108368)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-21 10:20:40 +01:00
Joey
96429d7dd8 Tempo: Add time range to tags and tag value requests (#107872)
* Add time range to tags and tag value requests

* Prettier

* Change timeRangeForTags to number and dropdown with options

* Listen to changes and update docs

* Update docs

* Prettier

* Text updates

* Extract getOptionsV2 params to type

* Use this.tagsForTimeRange

* Docs and move section up

* Prettier

* Update docs
2025-07-21 10:14:44 +01:00
Matheus Macabu
f7e55f2c5d Secrets: Add authz checks for the single-tenant SecureValue client (#108216) 2025-07-21 11:09:07 +02:00
Matheus Macabu
47abf5f811 Secrets: Clean up unused code (#108366)
* Secrets: Remove unused tracectx pkg

* Secrets: Remove unused assert pkg

* Secrets: Remove unused encryption interface

* Secrets: Remove unused encryption file/ref
2025-07-21 11:08:49 +02:00
renovate[bot]
320491df51 Update dependency @grafana/plugin-e2e to v2.1.7 (#108338)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-21 08:40:01 +00:00
antonio
33316ddb03 add video to alerting tutorial pt2 (#108358)
* add video to alerting tutorial pt2

* removed spacing
2025-07-21 10:28:46 +02:00
Alex Khomenko
a090480260 Provisioning: Add new providers (#108173)
* Add new providers

* Extract utils

* Configurable workflow fields

* translate fields

* Add translations

* Update cards

* Add isGitProvider

* i18n

* Dynamic fields for ConfigForm

* Use git fields

* Remove type dropdown for edit

* Display proper type groups

* Display field errors

* Improve error handling

* Refactor data

* Check for repositoryLister

* Fix workflow

* use state var

* betterer

* Prettier

* Prettier[2]

* i18n

* Remove showDropdown

* i18n

* Update step validation

* Add test

* Update provider list

* Cleanup

* Add tokenUser field

* Provider-specific source code link

* Review comments

---------

Co-authored-by: Roberto Jimenez Sanchez <roberto.jimenez@grafana.com>
2025-07-21 08:29:41 +03:00
grafana-pr-automation[bot]
a4d4ee1bc5 I18n: Download translations from Crowdin (#108361)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-20 00:41:27 +00:00
Nathan Marrs
554e92c408 Invite User: Add invite user button to top nav for admins (#108159)
* reimplement original design

* update button with responsive design that matches other elements in top bar; add comprehensive unit tests

* add a basic call out in docs for new button

* remove doc changes
2025-07-18 18:21:23 -07:00
grafana-pr-automation[bot]
88ec253ad5 I18n: Download translations from Crowdin (#108355)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-19 00:39:49 +00:00
Yuri Tseretyan
5097dd5c7d Alerting: Send templates from extra configuration to remote Alertmanager (#107981)
* extract logging of MergedResult into method

* convert GetMergedTemplateDefinitions to return PostableApiTemplate

* update mergeExtracConfigs to return GrafanaAlertmanagerConfig

* pass by value, not pointer

* add template definition to payload

* update tests

* rename to Templates

* log merge results

* fix reference in workspace
2025-07-18 15:16:17 -04:00
Luminessa Starlight
17ba3ec321 Chore: Disable renovate automerge (#108344)
disable renovate automerge
2025-07-18 15:14:57 -04:00
Sarah Zinger
f34127c449 Query Service: Fix Time Bug (#108337) 2025-07-18 18:14:44 +00:00
Paul Marbach
7626508842 Table: Update e2e tests to support tableNextGen (#108184)
* Table: Force tableNextGen to be true for Playwright and false for Cypress

* RDG query for body text contains the headers too

* add some simple tests for row height

* dial in the row height test a little more

* more updates

* filters, pagination

* try this on CI

* more updates to the tests

* more tests

* wait for some sort stuff to flush

* replace class selectors for rdg

* target the click to the anchor in the header
2025-07-18 12:27:04 -04:00
renovate[bot]
4e6730fee6 Update dependency marked to v16.1.1 (#108334)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-18 16:25:45 +00:00
Ashley Harrison
2d1fb94f2d Playwright: Gate server start up with GRAFANA_URL env var (#108302)
* refactor so server is created unless GRAFANA_URL is provided

* update documentation

* don't swallow errors from the server process
2025-07-18 17:08:47 +01:00
Luminessa Starlight
a7a17c6929 Chore: remove no longer used webpack-dev-server package (#108332)
removed no longer used webpack-dev-server package
2025-07-18 11:38:48 -04:00
renovate[bot]
0148594c30 Update dependency @faker-js/faker to v9.9.0 (#108329)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-18 16:27:23 +01:00
renovate[bot]
c12fadd8d2 Update dependency @crowdin/crowdin-api-client to v1.46.0 (#108328)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-18 16:27:00 +01:00
Misi
4669b586e9 Security: Fixes for CVE-2025-6197 and CVE-2025-6023 (#108330)
apply security patch: main/439-202506251632.patch

(cherry picked from commit 7f3977c54548dc82d9b2c44c125b30b3dbc2069a)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-18 09:06:26 -06:00
Eric Leijonmarck
aa0f8caa35 Authorizer: rename and enforce only once for NewGrafanaAuthorizer (#108294)
* renaming of GrafanaAuthorizer to make it less confusing

* enforce only once by runtime

* comment only
2025-07-18 15:40:34 +01:00
Kevin Yu
f009c2dcdd CloudWatch: Handle log alerts queries where the time field is not the first field (#108277)
CloudWatch: handle log alerts queries where the time field is not the first field
2025-07-18 07:29:39 -07:00
Johnny Kartheiser
a49b35a7ec Update _index.md (#108192) 2025-07-18 15:10:16 +01:00
maicon
4b440cf45d Remove timeout info from logs when shadow request to search succeeds (#108324)
Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-07-18 14:03:42 +00:00
renovate[bot]
b6653d4bb6 Update babel monorepo (#108320)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-18 14:58:47 +01:00
renovate[bot]
1edc8e5a73 Update dependency webpack-manifest-plugin to v5.0.1 (#108319)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-18 13:36:21 +00:00
Alexa Vargas
a30c0aaaae Dashboard: SchemaV2 - Inline Library Panel during Export (#107201)
* Basic implementation of inline library panel

* modify the warning message, we support the export partially by converting regular panels the library panels

* Improve message around the conversion, keep it concise

* Fix linting

* Refactor conversion, extract existing logic into new funcition and reuse it

* remove unnecesary comment

* show error notification when library panel does not load

* Apply PR feedback, remove unnecesary try catch and return json with error, don't throw

* Add unit tests

* Fix monitoring report, add case when v2 is loaded originally or when transformed from v1

* Add unit tests for detect libraryPanels, relevant for ensure monitoring is correct
2025-07-18 15:06:55 +02:00
Josh Hunt
5905e93c63 Fix yarn start:noLint not working since the predev check (#108313) 2025-07-18 13:55:37 +01:00
renovate[bot]
6222117365 Update dependency @grafana/lezer-traceql to v0.0.23 (#108311)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-18 13:53:48 +01:00
maicon
2dba473015 Feature/unified storage search dual reader (#108291)
* Add UnifiedStorageSearchDualReaderEnabled feature flag

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

* Refactor UniSearch Dual Reader

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

* Run make gen-feature-toggles

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

* fix: unit tests search_client

Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com>

* feat: cancels shadow search requests after 500ms

Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com>

---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com>
Co-authored-by: Will Assis <william@williamassis.com>
Co-authored-by: Bruno Abrantes <bruno@brunoabrantes.com>
2025-07-18 14:43:56 +02:00
renovate[bot]
0b451117ee Update dependency webpack-dev-server to v5.2.2 (#108312)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-18 12:29:05 +00:00
linoman
b4f7c692f5 SCIM: add non ga banner (#108301)
* Add warning banner to Authentication List Page

* i18n update
2025-07-18 14:01:05 +02:00
Alex Bikfalvi
28109ee192 Tempo: New features for TraceQL grammar (#107000)
Support the following features in the TraceQL syntax grammar:

* New instrinsic field: `span:parentID`
* `with(most_recent=true)`

Fixes: https://github.com/grafana/grafana/issues/106978
Fixes: https://github.com/grafana/grafana/issues/104159

Signed-off-by: Alex Bikfalvi <alex.bikfalvi@grafana.com>
2025-07-18 13:47:53 +02:00
renovate[bot]
8eec858054 Update dependency terser-webpack-plugin to v5.3.14 (#108307)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-18 11:29:25 +00:00
renovate[bot]
ddb034b4a0 Update dependency sass-loader to v16.0.5 (#108306)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-18 11:27:42 +00:00
Roberto Jiménez Sánchez
4847882ee7 Provisioning: handle .git extension more gracefully (#108213)
* Move .git to repository packages

* Bump nanogit 2025-07-17

This version handles `.git` extension internally so that the client
doesn't have to worry about it

* Put back mutation for Github

* Mutate also git URL for clarity
2025-07-18 13:25:21 +02:00
Roberto Jiménez Sánchez
446054a61d Provisioning: fix race condition in usage metrics collection (#108289)
* Register usage stats after lister is created

For enterprise where metrics are collected more frequently and in
different ways the collection was happening before the listing was
initialized.

* Move usage to separate package
2025-07-18 13:24:58 +02:00
Matias Chomicki
046134db22 New Logs Panel: Add events for Panel and Details (#108272)
* New Logs Panel: Add events for Panel and Details

* Logs Panel: add noInteractions property

* New Logs Panel: conditionally report interactions

* Test
2025-07-18 13:13:51 +02:00
renovate[bot]
f7a1398cd4 Update dependency rollup-plugin-node-externals to v8.0.1 (#108304)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-18 11:03:08 +00:00
Misi
0cb6e3fe93 Docs: Add custom fields to Azure/Entra Terraform example (#108222)
Add custom fields to Azure/Entra TF example
2025-07-18 13:00:31 +02:00
renovate[bot]
5b9cb1f568 Update dependency rollup-plugin-esbuild to v6.2.1 (#108303)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-18 11:44:47 +01:00
Roberto Jiménez Sánchez
e3422c415f Provisioning: fix hack-introduced bug on repository updates (#108298)
* Add log line to see which secret service we are using
* Add hack to make test and create endpoint work until we have InLineSecureValues
2025-07-18 10:18:07 +00:00
renovate[bot]
1a09c13770 Update dependency @types/node-forge to v1.3.13 (#108299)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-18 10:17:45 +00:00
renovate[bot]
eed6e4b62b Update dependency vis-network to v10 (#108295)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-18 11:17:42 +01:00
Andres Martinez Gotor
579e412d19 Advisor: Document how to alert based on checks (#108176) 2025-07-18 12:02:13 +02:00
renovate[bot]
25d06e8d78 Update dependency @types/lodash to v4.17.20 (#108297)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-18 09:49:44 +00:00
Misi
d5f47d2a6b IAM: Comment out DualWriter setup for Users (#108241)
* Try 1

* Comment out DW setup for users
2025-07-18 09:29:09 +00:00
Andre Pereira
52c91254cc Tempo: Fix exemplar data links when streaming TraceQL metrics (#108078)
* Fix exemplars when streaming metrics

* Fix type
2025-07-18 10:28:01 +01:00
renovate[bot]
a4cf41de4a Update dependency vis-data to v8 (#108263)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-18 10:17:15 +01:00
Ashley Harrison
4fb464ccdc Playwright: Increase timeout when waiting for app pages (#108296)
increase timeout when waiting for app pages
2025-07-18 10:16:49 +01:00
ismail simsek
35884fa9a4 Chore: Avoid floating point numbers for maxDataPoints (#108292)
* avoid floating point numbers

* prettier
2025-07-18 11:12:08 +02:00
renovate[bot]
960b0e770b Update dependency marked to v16.1.0 (#108262)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-18 09:41:47 +01:00
Ashley Harrison
43280a6dab Internationalisation: More markup following manual review (#108232)
* mark up NestedFolderPiker root item

* mark up fieldsbyframerefid

* mark up time picker options

* mark up field types
2025-07-18 09:40:57 +01:00
Roberto Jiménez Sánchez
5cf48294f7 Provisioning: fix authorized github client initialization (#108290)
* Add logging

* Fix the condition for the github token

* Revert "Add logging"

This reverts commit 71cbc675f6.

* Fix condition
2025-07-18 10:23:55 +02:00
Tom Ratcliffe
ca1ecf0764 Chore: Bump ESLint to 9.28.0 (#106264)
Bump eslint to 9.28.0
2025-07-18 09:04:17 +01:00
grafana-pr-automation[bot]
bf4940f677 I18n: Download translations from Crowdin (#108285)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-18 00:39:17 +00:00
Sarah Zinger
3fad863fd1 Query Service: Combine SSE handling in single tenant and multi tenant paths (#108041)
* parse via sse

I need to figure out how to handle the pipeline.execute with our own
client. I think this is important for MT reasons, just like using our
own cache (via legacy) is important.

parsing is done though!

* WIP nonsense

* horrible code but i think it works

* Add support for sql expressions config settings

* Cleanup:
- remove spew from nodes.go
- uncomment out plugin context and use in single tenant flow
- make code more readable and add comments

* Cleanup:
- create separate file for mt ds client builder
- ensure error handling is the same for both expressions and regular queries
- other cleanup

* not working but good thoughts

* WIP, vector not working for non sse

* super hacky but i think vectors work now

* delete delete delete

* Comments for future ref

* break out query handling and start test

* add prom debugger

* clean up: remove comments and commented out bits

* fix query_test

* add prom debugger

* create table-driven tests with testsdata files

* Fix test

* Add test

* go mod??

* idk

* Remove comment

* go enterprise issue maybe

* Fix codeowners

* Delete

* Remove test data

* Clean up

* logger

* Remove go changes hopefully

* idk go man

* sad

* idk i ran go mod tidy and this is what it wants

* Fix readme, with much help from adam

* some linting and testing errors

* lint

* fix lint

* fix lint register.go

* another lint

* address lint in test

* fix dead code and linters for query_test

* Go mod?

* Struggling with go mod

* Fix test

* Fix another test

* Revert headers change

* Its difficult to test this in OSS as it depends on functionality defined in enterprise, let's bring these tests back in some form in enterprise

* Fix codeowners

---------

Co-authored-by: Adam Simpson <adam@adamsimpson.net>
2025-07-17 17:22:55 -04:00
github-actions[bot]
8acdc7e37b Release: update changelog for main (#108238)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2025-07-17 19:49:43 +00:00
Leon Sorokin
4b1558b3ea TableNG: Use same hover behavior for one and multiple AutoCell links (#108194) 2025-07-17 19:13:42 +00:00
colin-stuart
08afd73c0c SCIM: Add successful SCIM-provisioned user login usage stat (#108273)
* SCIM: add usage stat boolean for successful login

* revert unrelated change

* rename scimSuccessfulLogins

* clean up
2025-07-17 13:43:30 -05:00
Josh Hunt
6089780b73 E2E: Use while/curl loop for waiting for the server to come up (#108259)
* E2E: Use while/curl loop for waiting for the server to come up

* add 60s timeout
2025-07-17 18:18:29 +01:00
renovate[bot]
ed1b6af28d Update dependency swagger-ui-react to v5.27.0 (#108229)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-17 17:52:11 +01:00
Ashley Harrison
d3ee5f3cda E2E: don't leave a $/ dir hanging around (#108256)
don't leave a $/ dir hanging around
2025-07-17 17:51:32 +01:00
renovate[bot]
0e01fc1437 Update dependency @reduxjs/toolkit to v2.8.2 (#105944)
* Update dependency @reduxjs/toolkit to v2.8.2

* update types to work with new rtk-query version

* kick CI

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-07-17 17:51:11 +01:00
Charandas
d9e099d480 Feature-Flag service: signing middleware for cloud usecase (#107745) 2025-07-17 09:50:25 -07:00
Johnny Kartheiser
08e8a71ad6 alerting docs: activate active timing time (#107928)
* alerting docs: activate active timing time

rough draft: documentation for active timing feature.

* purdier

* more tweaks

* edits via yuri advice

* prettier
2025-07-17 10:56:25 -05:00
Will Browne
f6ed9e6ff0 Plugins: Introduce plugin asset provider (#108063)
* introduce plugin asset provider

* simply with PR feedback

* fix linter
2025-07-17 16:20:35 +01:00
Santiago
8548530dc4 Alertmanager: Add MergeState method (#108242)
* Alertmanager: Add MergeState method

* remove RemoteState in favor of ExternalState

* fix tests
2025-07-17 16:47:14 +02:00
Vadim Stepanov
bccc980b90 Alerting: Notifiication history (#107644)
* Add unified_alerting.notification_history to ini files

* Parse notification history settings

* Move Loki client to a separate package

* Loki client: add params for metrics and traces

* add NotificationHistorian

* rm writeDuration

* remove RangeQuery stuff

* wip

* wip

* wip

* wip

* pass notification historian in tests

* unify loki settings

* unify loki settings

* add test

* update grafana/alerting

* make update-workspace

* add feature toggle

* fix configureNotificationHistorian

* Revert "add feature toggle"

This reverts commit de7af8f7

* add feature toggle

* more tests

* RuleUID

* fix metrics test

* met.Info.Set(0)
2025-07-17 14:26:26 +01:00
Roberto Jiménez Sánchez
810868c156 Provisioning: use new secure value client (#108227)
* Use provider in Webhooks registration

* First stab at using the new client

* Simplify mock

* Able to generate graph in OSS

* Remove line already ensured by provider

* Handle the K8s not found error as well

* Commit regenerated wire file

* Add the hack also for deletion

* Fix secrets test util

* Format file
2025-07-17 15:17:14 +02:00
Andrej Ocenas
58eb0ec954 Analytics: Fix depth calculation when reporting new folder creation (#108231)
Fix depth calculation
2025-07-17 15:07:56 +02:00
Jev Forsberg
1c8a24c489 Chore: Update supported versions doc (#108230)
baldm0mma/ update sup versions
2025-07-17 12:55:45 +00:00
Jack Westbrook
b95c00a80f Frontend: Decouple unit tests for decoupled plugins from core (#107942)
* test(frontend): ignore azuremonitor tests in root jest config

* test(loki): increase waitfor in monacofieldwrapper test

* feat(plugin-configs): introduce jest config

* feat(azuremonitor): add jest config and test scripts

* ci(pr-frontend-unit-tests): introduce separate decoupled plugin test job

* ci(pr-frontend-unit-tests): run decoupled-plugin tests regardless of fork

* Wip

* test(decoupled-plugins): decouple tests in all plugins except loki and mssql

* test(frontend): ignore decoupled plugins that run their own tests

* test(stackdriver): update snapshot due to reactinlinesvg mock difference

* chore(yarn): update lock file

* chore(plugin-configs): remove create-plugin comments

* ci(frontend-unit-tests): make them run on pr or merge to main

* chore(decoupled-plugins): add plugin:test:ci command for locally running all tests

* ci(frontend-unit-tests): run test:ci instead of calling nx directly

* chore(decoupled-plugins): fix jest-dom types for loki and testdata
2025-07-17 14:47:52 +02:00
Gabriel MABILLE
4b217c601a AuthZ: Scope resolution (#107948)
* AuthZ: Scope resolution

* Account for PR feedback

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2025-07-17 14:34:10 +02:00
renovate[bot]
c6ebefdfb6 Update dependency @prometheus-io/lezer-promql to v0.305.0 (#108220)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-17 13:59:05 +02:00
Josh Hunt
4e9c670a00 FrontendService: Fix backend.dockerfile (#108195)
* FrontendService: Fix backend.dockerfile

* comments

* Fix backends rebuilding image instead of just restarting when assets change

* route /logout to grafana backend

* fix script in dockerfile
2025-07-17 12:49:16 +01:00
Mihai Doarna
8dfb4cdfc9 SSO: Add prompt param to SSO settings (#107969)
* add prompt param to AzureAD oauth config

* yarn i18n-extract

* validate auth prompt value

* make login_prompt available for all SSO providers

* use base authCodeURL for azure and google

* add docs for the new field for azure and generic oauth

* fix typo

* fix frontend unit test

* add prompt parameter to docs for the other providers

* remove prompt from okta

* add unit tests for the other providers

* address feedback

* add back translations for prompt labels
2025-07-17 14:40:48 +03:00
linoman
807264428e SAML: Revert SAML assertion default names in documentation (#108212)
Revert SAML assertion default names in documentation
2025-07-17 13:11:48 +02:00
Joey
47ce658154 Trace view: Improved span details view (#108101)
* Details view improvents

* Update tests

* Label update

* Prettier

* Improve span tree offset
2025-07-17 11:33:27 +01:00
renovate[bot]
4b94009a10 Update dependency @opentelemetry/semantic-conventions to v1.36.0 (#108056)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-17 11:16:55 +01:00
Mariell Hoversholm
aa169a123e Actions(trufflehog): Fix for external PRs (#108215) 2025-07-17 10:16:19 +00:00
Matheus Macabu
f7891a27d2 Secrets: Add kms providers imports (#108210) 2025-07-17 12:04:59 +02:00
Misi
c6a6b9fdd2 IAM: Create and delete user from the legacy store (#107694)
* Add Create for User + DualWriter setup

* Add delete User

* Fix delete + access check

* Add tests for delete user

* Add tests for create user

* Fixes

* Use sqlx session to fix database locked issues

* wip authz checks

* legacyAccessClient

* Update legacyAccessClient, add tests for create user

* Close rows before running other queries

* Use ExecWithReturningId

* Verify deletion in the tests

* Add Validate and Mutate

* Other changes

* Address feedback

* Update tests

---------

Co-authored-by: Gabriel Mabille <gabriel.mabille@grafana.com>
2025-07-17 11:50:40 +02:00
dependabot[bot]
3e29ca786d Bump trufflesecurity/trufflehog from 3.88.29 to 3.90.0 (#108157)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-17 09:47:36 +00:00
Andres Martinez Gotor
8e663b50e9 Advisor: Allow to define enterprise checks (#108114) 2025-07-17 11:37:32 +02:00
grafana-pr-automation[bot]
3fb0e8cd2c I18n: Download translations from Crowdin (#108200)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-17 09:35:11 +00:00
Josh Hunt
d4fc2399d0 Dx: Add check for node version before yarn start (#108144)
* Dx: Add check for node version before yarn start

* .

* add IGNORE_NODE_VERSION_CHECK env var

* Update scripts/check-frontend-dev.sh

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* add check if nvmrc file exists

* fix lint

* codeowners

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-17 10:23:49 +01:00
Will Browne
54d6140e6d Plugins: Stub logger method for backend plugin test mock (#108211)
stub logger method for backend plugin test mock
2025-07-17 10:18:31 +01:00
dependabot[bot]
1f880c8857 Bump marocchino/sticky-pull-request-comment from 2.9.1 to 2.9.3 (#108091)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-17 10:17:28 +01:00
Hasith De Alwis
208df33e04 Trace View: Add span filters to URL (#107363)
* refactor(explore/spanFilters): move default filters and search props to shared folders

chore: ammend with refactor commit

chore: ammend, fix type errors

* feat(explore): add spanFilters to global state on explore

* feat(explore/spanFilters): sync span filters with global redux state

* feat(explore): sync spanFilters with URL state

* Moved span filters to panel state

* Fix types

* Fix tests in useSearch

* Fix TraceView tests

* Remove console.warn

* fix(test/trace-view-container): add span filter context to intial state

* refactor(traceview): use generic redux action

* fix(traceview): prune array objects correctly to preserve tag state in URL

---------

Co-authored-by: André Pereira <adrapereira@gmail.com>
2025-07-17 10:00:57 +01:00
Matias Chomicki
433a5fd464 Logs: refactor unescaped content (#108187) 2025-07-17 10:59:03 +02:00
Matheus Macabu
6c69ae244e Secrets: Add single tenant SecureValueClient (#108099)
* Secrets: Add single tenant SecureValueClient

* SecureValueClient: Rename file

* SecureValueClient: Move original type to contracts package and export it by aliasing
2025-07-17 10:56:49 +02:00
Jack Westbrook
a0873736aa Frontend: Filter assets-manifest to only include entrypoints (#94679)
build(webpack): filter assets-manifest to only entrypoints
2025-07-17 10:30:52 +02:00
Roberto Jiménez Sánchez
ae4dc181d1 Provisioning: Add user token to git and bitbucket repository specs (#108186)
* Add token user to git and bitbucket specs

* Use token user if available in git type
2025-07-17 10:25:02 +02:00
Matheus Macabu
0d1534e43c GHA: Add workspace check for wire changes (#108163) 2025-07-17 09:24:10 +02:00
Jack Westbrook
0d2657e2f0 Fix: Link path not recognised in CommandPalette link extensions (#108162)
* fix(extensions-ui): commandpalette links should work with urls / paths

* fix(commandpalette): block navigation if url exists before calling perform
2025-07-17 08:03:39 +02:00
Leon Sorokin
c7aa83f8d3 TableNG: Use Set for tracking expanded rows (#108198) 2025-07-16 19:11:28 -05:00
ismail simsek
6b266ebc50 Chore: Remove unused files in @grafana/prometheus (#108135)
* remove unused files

* lint

* resolve circular dependencies

* a bit more circular dependency cleaning

* move unit tests
2025-07-16 16:39:39 -04:00
Alyssa Joyner
1ee0690079 [InfluxDB]: Add max series and auto complete range fields to new design (#108193) 2025-07-16 19:48:41 +00:00
Misi
a94647d5cc Auth: Remove ssoSettingsSAML feature toggle (#108109)
* Remove ssoSettingsSAML feature toggle

* Remove from docs + align tests

* Update workspace

* revert go.mod go.sum change

* make update-workspace without enterprise linked
2025-07-16 21:13:31 +02:00
linoman
032ea5d5b8 Update SAML configuration options (#108178) 2025-07-16 20:39:28 +02:00
linoman
91a54d0e0e SCIM: doc upgrades (#108098)
* Add public preview warning

* Add migration strategy

* Add troubleshooting guide

* Improve description

* Improve docs

* Add versbosity

* Addresss PR comments
2025-07-16 20:39:09 +02:00
Matthew Jacobson
2444fb1caf Alerting: Update grafana/alerting to 8eef376f49f8 (#108190)
Update grafana/alerting to 8eef376f49f8

Includes support for OAuth2 in most notifiers but does not enable that support
yet in FE. Fixes tests related to the change.
2025-07-16 17:33:52 +00:00
Josh Hunt
7a88a64121 FrontendService: Local dev setup (#108082)
* wip

* docker compose dev setup

* commit new tilt stuff

* move files into own dir

* reset files back to main

* use just one nginx container for both gateway and cdn

* update proxy service name

* make it all work when in subdir

* rename more things

* reset more changes

* fix config

* add makefile command, fix ws upgrade

* add local check script

* tidy

* tidy up, comments, readyme

* codeowners

* change cdn host to localhost to avoid adding host.docker.internal to /etc/hosts

* route POST /login to backend

* Build nginx container with config baked in so it can be live_update-ed

* fix headers
2025-07-16 18:28:28 +01:00
Cory Forseth
a0085b6cab skip auth check when server is running in insecure mode (#107820)
* skip auth check when server is running in insecure mode

* add some useful logs

* lint
2025-07-16 13:06:47 -04:00
Sonia Aguilar
9c15662cf6 Alerting: Add AI buttons in some alerting workflows (#107754)
* Add alerting ai buttons for cloud

* add tracking for ai buttons usage

* Empty commit to trigger GitHub Actions

* add FrontendOnly in ff

* update analytics folder

* prettier

* revert ff being frontend only

* review comments

* address some review comments

* refactor

* revert change and remove comment

* prettier

* update betterer

* remove unused property

* prettier

* address review comments

* prettier

* update test

* fix linter errors

* add translations

* prettier

* update workspace

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2025-07-16 18:42:42 +02:00
Matias Chomicki
974103c6fa OTel: Add experimental formatting for OTel identified log lines (#108170)
* OTel: create formats service

* LogListContext: use OTel service to resolve the default displayed fields

* Create otelLogsFormatting feature flag

* LogListContext: conditionally use otel format based on feature flag

* OTel logs: reformat body and improve displayed fields

* formats: remove duplicated scope name

* Update formats.ts

* format: use regex rules to exclude fields

* Add tests

* Formatting

* LogsPanel: expose setDisplayedFields

* LogListContext: refactor otel displayed fields

* Prettier

* format: optimize identifyOTelLanguages
2025-07-16 17:42:14 +02:00
Yunwen Zheng
2202c99d70 BrowseActions: check selected items are provisioned or not (#107919)
* BrowseActions: check selected items are provisioned or not

---------

Co-authored-by: Clarity-89 <homes89@ukr.net>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2025-07-16 11:22:45 -04:00
TomasR
45d176a672 Tempo: Fix link to documentation for Tag limit (#107898) 2025-07-16 16:01:45 +01:00
Bruno
01692bc876 Secrets: remove unused SecureValueMetadataStorage.ReadForDecrypt method (#108181)
* Secrets: remove unused SecureValueMetadataStorage.ReadForDecrypt method

* remove unused struct: secureValueForDecrypt
2025-07-16 11:52:26 -03:00
Domas
602e327769 Table: fix crash when applying overrides to "frame" type field (#108179)
fix crash when applying overrides to partial nested frames
2025-07-16 14:37:55 +00:00
Isabel Matwawana
e40341ffe8 Docs: Remove references to DD feature toggle (#108142) 2025-07-16 10:07:14 -04:00
Tania
7186aa4bd7 OpenFeature: Fix bulk evaluation request postprocessing (#108155) 2025-07-16 15:54:36 +02:00
Alex Khomenko
6fd75ebc54 Provisioning: Skip requests if feature toggle is not enabled (#108165)
* Provisioning: Skip request if feature toggle is not enabled

* Add check to provisioning page
2025-07-16 16:21:14 +03:00
Ana Ivanov
6715369a78 chore: update limitPerPlugin for commandPalette links (#108174) 2025-07-16 16:01:41 +03:00
Levente Balogh
9db64b55be Plugin Extensions: Notify on core Grafana changes (#108005)
* feat: introduce a Github workflow that is notifying on extension related changes

* review: fix review notes

* review: remove broken heart

* fix: use a new version of the send-slack-message action
2025-07-16 14:27:15 +02:00
Dominik Prokop
b4738c57e4 Dashboards API: Add v2alpha2 (#108121)
* Dashboards API: Register v2alpha2 API

* Prepare conversion functions

* Fix test

* Move to the bottom the v2aplha2 until is ready

---------

Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
2025-07-16 12:22:50 +00:00
Sven Grossmann
2fcb86f031 Monaco: Fix hexdigits in monaco langs (#108153) 2025-07-16 13:51:08 +02:00
Todd Treece
10cbebf9c2 Data Plane Aggregator: Update README with more context (#108138) 2025-07-16 11:37:22 +00:00
Sven Grossmann
4588c6c11c ExtensionSidebar: Pass closeSidebar to plugin helpers (#108171)
* ExtensionSidebar: Add `CloseExtensionSidebarEvent`

* ExtensionSidebar: Use `CloseExtensionSidebarEvent` in provider

* ExtensionSidebar: Pass `closeSidebar` to plugin helpers
2025-07-16 11:35:15 +00:00
Roberto Jiménez Sánchez
b232ba5396 Provisioning: Move provisioning extras to OSS extensions (#108167)
* Move provisioning extensions to OSS

* Fix the wire stuff

* Move it to extras packages

* Add hack to assert test differently for enterprise
2025-07-16 13:24:24 +02:00
Ihor Yeromin
f657fc0236 Transformations: Allow count aggregation for groupBy field (#108079)
* feat(transformations): allow groupBy aggregation

* add some details to the documentation

* Update public/app/features/transformers/docs/content.ts

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

---------

Co-authored-by: Kristina Durivage <kristina.durivage@grafana.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2025-07-16 12:39:19 +02:00
Alexa Vargas
5b0ebb1693 Dashboard: Add Monitoring to v1 and v2 export flow (#107899)
* Dashboard: Add Monitoring to v1 and v2 export flow, including library panels interaction

* fix error with v2 transformed dashboard not having haslibraryPanels

* apply PR suggestions, extract as const and refactor for readability

* Add unit test for the new functions
2025-07-16 11:53:44 +02:00
antonio
d87f7ecfc1 docs/alerting:add missing step in tutorial (#108168)
* docs/alerting:add missing step in tutorial

* format
2025-07-16 09:20:14 +00:00
Matheus Macabu
2c4bbf8b1d Secrets: Reduce amount of feature toggle checks to only app entrypoint (#108110)
* Secrets: Reduce amount of feature toggle checks to only app entrypoint

* Wire: Fix merge conflict

* Wire: Fix merge conflict
2025-07-16 10:56:59 +02:00
Ida Štambuk
4cc4c6c666 CloudWatch: Set accountId to undefined if not monitoring account (#108112) 2025-07-16 10:19:40 +02:00
Matheus Macabu
3cda233468 Secrets: Remove temporary allowlist (#108118) 2025-07-16 09:39:33 +02:00
Roberto Jiménez Sánchez
56543db16a Provisioning: delete secrets on repository deletion (#108113)
- Add hooks to git, github and github webhooks to remove the. 
- Implement deletion in secrets package.
- Add `Mutator` interface and hooks so that we can register any mutator. 
- Add unit test coverage to those mutators. 
- Move provider specific mutation from the massive `register.go` to the respective packages (e.g. `git` , `github`, etc). 
- Add integration test for removal. 
- Change the decryption fallback to simply check for the repository prefix.
2025-07-16 07:38:42 +00:00
Mustafa Sencer Özcan
4a779c4ccb fix: unified resource server list queries order column (#108094) 2025-07-16 08:09:31 +02:00
Hugo Häggmark
5b82e05697 Plugins: replaces various plugin imports with pluginImporter (#108002)
* Plugins: renames plugin_loader

* Wip

* chore: adds pluginImporter

* chore: some small refactors

* chore: better typings

* chore: merge functions

* chore: create a generic plugin cache

* chore: adds comments

* chore: change to const

* chore: remove unused change

* chore: put everything behind feature toggle

* chore: rename test file and props

* chore: adds sync cache as well

* chore: fix the typings

* chore: fix broken unit test

* chore: small rename

* chore: adds tests

* chore: updates after PR feedback

* chore: updates after PR feedback
2025-07-16 06:42:28 +02:00
grafana-pr-automation[bot]
332601320c I18n: Download translations from Crowdin (#108158)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-16 00:40:20 +00:00
Drew Slobodnjak
1143cf130e Geomap: Upgrade Open Layers (#107598)
* Geomap: Upgrade Open Layers

* Fix TypeScript errors

* Fix possibly null errors

* Fix pointer events

* Simplify webgl implementation for markers

* Improve types

* Fix offset expression

* Improve layers types

* Improve types for tooltip

* Improve types for frameVectorSource

* For regular shapes convert size to radius

* Update import format for new version of ol

* Fix ESM syntax errors

* Fix more e2e stuff

* Fix tooltip test

* Simplify redundant keys
2025-07-15 17:04:41 -07:00
Nathan Marrs
b691b3288d Sharing: Export dashboard as image (#104207)
Co-authored-by: AgnesToulet <35176601+AgnesToulet@users.noreply.github.com>
2025-07-15 21:07:39 +00:00
Alyssa Joyner
a977aa9d03 [InfluxDb]: Fix DBRP mapping typo (#108152) 2025-07-15 20:22:21 +00:00
Leon Sorokin
e42c45c30f TableNG: Avoid render-time emotion calls for AutoCell (and colored cells) (#108048)
Co-authored-by: Paul Marbach <paul.marbach@grafana.com>
2025-07-15 14:42:06 -05:00
Adela Almasan
cd1f086d33 Docs: Update actions with variables (#108145) 2025-07-15 14:09:37 -05:00
Kevin Minehart
bf6b4c695e CI: Disable gzip encoding on upload (#108149)
* Use my fork for testing

* set gzip: false

* use push-to-gcs@main

* use my branch for testing

* use main for login and push to gcs?

* Use push-to-gcs/v0.2.1

* use main; set gzip to false

* use main instead of my branch
2025-07-15 19:04:58 +00:00
Bruno
6fa3c196d4 Secrets: add example based testing that tries to decrypt deleted secure value (#108140) 2025-07-15 15:40:52 -03:00
Michael Mandrus
ab51794bdb SecretsManager: Unify KMS across OSS and Enterprise (#108085)
* everything is compiling

* tests passing

* remove used object

* write a test for secret key upgrades

* misc cleanup

* clean up some wording

* lint issues

* fix a typo

* import hashicorp dependency explicitly

* simplify oss kmsprovider package structure

* consolidate current provider and available providers

* add a new manager configuration test

* fix hashivault import

* fix import issue

* fix unit tests

* Update go.mod

Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>

---------

Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
2025-07-15 14:39:20 -04:00
Martin Costello
469f94028f Docs: Update ISSUE_TRIAGE (#106839)
* Docs: Update ISSUE_TRIAGE

- Convert flowchart to a Mermaid diagram.
- Use native GitHub note.
- Fix GitHub casing.

* Docs: Fix lint error

Remove extra blank line.
2025-07-15 18:33:53 +00:00
Haris Rozajac
2f8ec01c6c Dashboard Migrations: V29 query variable refresh property and options (#108088)
* Dashboard Migrations: V31 LabelsToFields-Merge Migration

* Dashboard Migrations: V32 No-op migration

* simplify

* Refactor to reduce nesting

* Dashboard Migrations: V30 value mappings and tooltip options

* Do not automigrate since graph is migrated in v27

* Refactor to reduce nesting

* Add test case for invalid mapping

* migrate to v29

---------

Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
2025-07-15 17:27:04 +00:00
Ivan Ortega Alba
1200b684c6 Dashboard Migrations: V30 value mappings and tooltip options (#107970)
* Dashboard Migrations: V30 value mappings and tooltip options
2025-07-15 16:44:11 +00:00
Matias Chomicki
b839090de5 New logs Panel: Log details improvements + default details value update (#108065)
* LogLineDetails: prettify json field values

* processing: prettify json according to wrap status

* LogLineDetailsField: better column width for keys

* LogsPanel: let app have automatic details mode

* Fix prop name

* LogLineDetails: memoize

* LogLineDisplayedFields: add icons to organize

* Displayed fields: add cursor move

* LogLineDetailsFields: improve key columns

* Remove test

* Translations

* Formatting

* LogLineDetailsFields: minor refactor and fix

* LogLineDetails: remember inline scroll position

* LogLineDetails: test displayed fields reorg

* Update mock

* LogLineDetailsComponent: add missing disable actions

* Log details copy button: gap = 0

* LogLineDetailsDisplayedFields: use fixed size for inline fields
2025-07-15 16:17:20 +00:00
Ivan Ortega Alba
14cb6aea92 Dashboard Migrations: V32 no-op migration + V31 LabelsToFields-Merge Migration (#107947)
* Dashboard Migrations: V31 LabelsToFields-Merge Migration

* Dashboard Migrations: V32 No-op migration
2025-07-15 15:28:48 +00:00
Isabella Siu
da0f1d7b18 AWS Datasources: Update grafana assume role docs for GA (#107220)
Co-authored-by: Larissa Wandzura <126723338+lwandz13@users.noreply.github.com>
Co-authored-by: Kevin Yu <kevinwcyu@users.noreply.github.com>
2025-07-15 10:59:01 -04:00
Josh Hunt
5751b441e1 Docs: Fix format of quick_ranges (#107973) 2025-07-15 15:35:00 +01:00
Konrad Lalik
930c5a7024 fix(alerting): use alerting-admin as navId for settings (#108116) 2025-07-15 16:34:40 +02:00
Gilles De Mey
8cb6993fe6 Alerting: Improve new list view performance (#108115) 2025-07-15 14:34:21 +00:00
Bruno Abrantes
c06c1b1e8a fix: Makes created and updated by nullable strings for library panel migration (#108122)
Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com>
2025-07-15 16:30:31 +02:00
ismail simsek
d602e79e9a Chore: Remove unnecessary exports (#108124)
* no unnecessary exports

* needs exports

* put query builder types back

* put types back

* betterer
2025-07-15 16:20:09 +02:00
maicon
b017f42278 Unistore: Fix dualwriter mode 3 (#108092)
* Unistore: Fix dualwriter mode 3

Fallback to legacy if Unified is the main store and we get an error when
reading from it

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>


---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-07-15 11:16:26 -03:00
Stephanie Hingtgen
d39a47a89b Provisioning: Begin using secrets store (#108044)
- Provisioning: Begin using secrets store
- Refactor integration with secrets store
- Add back the legacy service
- Separate concerns for encrypt and decrypt
- Handle update within Encrypt function
- Add interface for secure value service
- Add feature flag for using secrets service
- Add the dual service for temporary solution.

* Add first integration tests for encrypted tokens
* Add integration test for app platform secrets
* Validate it has the name or not
* Create wire provider
* Always save to the secret if provided secret

---------

Co-authored-by: Roberto Jimenez Sanchez <roberto.jimenez@grafana.com>
Co-authored-by: Roberto Jiménez Sánchez <jszroberto@gmail.com>
2025-07-15 15:43:17 +02:00
Piotr Jamróz
68b9a5f57c Tempo: Add a feature toggle for Alerting (#106891)
* Add a feature toggle

* Disable alerting when the toggle is switched off

* Update tests

* Update tests

* Update tests

* Simplify ReadPluginJSON as it's used by enterprise

* Update test

* Update test

* Add the toggle check to loader.go

* Move the logic to plugins integration pipeline
2025-07-15 15:36:36 +02:00
ismail simsek
3d9228f296 Chore: Remove default export of promqlGrammar (#108120)
remove default export
2025-07-15 15:13:44 +02:00
ismail simsek
5b5cce3243 Chore: Remove unused parseSelector function (#108119)
remove unused parseSelector
2025-07-15 14:10:47 +01:00
Luminessa Starlight
8480862854 TimeRangePicker: Use consistent format in date-time input fields (#107117)
* when localeFormatPreference toggle is enabled, always use a common datetime format in TimeRangePicker

* fix lint issue
improve comment

* test printing datetime input format

* adds tests for entering dates in inputs to be parsed
adds will-be redundant tests to ensure system date format is or isn't respected when appropriate
2025-07-15 09:07:33 -04:00
Konrad Lalik
24ebb27ebe Alerting: Add forwardRef to MetaText component (#108107)
feat(alerting): Add forwardRef to MetaText component

This change introduces forwardRef to the MetaText component, allowing parent components to gain direct access to the underlying div element. This is particularly useful for scenarios where the parent needs to measure the component's dimensions, manage focus, or integrate with other libraries that require a DOM element reference.
2025-07-15 13:18:28 +02:00
Misi
92d098fdfd Auth: Make domain_hint configurable for the Azure AD/Entra ID connector (#108061)
* Make domain_hint configurable for Entra ID/Azure AD

* Add docs

* Fix + i18n gen

* Add validation to domain hint

* Remove unnecessary change
2025-07-15 12:53:19 +02:00
Matheus Macabu
4954822cbb Secrets: Add separate package for resource validation (#108097)
* Secrets: Add SecureValueService interface

* Secrets: Move resource validators to their own package/structs for reusing
2025-07-15 12:33:14 +02:00
Matheus Macabu
62fd3ba36f Secrets: Remove v0alpha1 spec, files and references (#108100) 2025-07-15 12:33:00 +02:00
Santiago
71a425f912 Remote Alertmanager: Fetch full state from Mimir (#107905)
* Remote Alertmanager: Add method to fetch the full state

* decode and parse the remote Alertmanager state string

* test
2025-07-15 11:38:38 +02:00
Sven Grossmann
ac6f65923d Extensions: Add missing description field for exposed functions (#107964) 2025-07-15 11:23:11 +02:00
Tobias Skarhed
683a27bf8b Scopes: Fix height pixels for recent scopes (#108103)
Recent scopes to pixel perfection
2025-07-15 08:47:41 +00:00
ismail simsek
db7087fdfc Fix: Showing raw prometheus table result (#107980)
Fix showing prometheus result
2025-07-15 08:39:40 +02:00
ismail simsek
67573d5513 Prometheus: Fix interpolating minStep for range queries when incremental querying enabled (#107715)
* return calculatedMinStep in first frame of the response

* update test files

* make the custom metadata as type of map[string]any

* append calculatedMinStep to custom metadata

* fix exemplar frame checking
2025-07-15 08:37:43 +02:00
Gábor Farkas
868791d751 ds-querier: handle response-headers explicitly (#107304) 2025-07-15 08:31:57 +02:00
grafana-pr-automation[bot]
2c0cfb0dc7 I18n: Download translations from Crowdin (#108089)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-15 00:38:35 +00:00
Paul Marbach
6c907fd955 Table: Ensure that SparklineCells honor configured mins and maxes (#107991)
* Table: ensure that FieldType.frame fields have mins and maxes applied

* update Sparklines gdev dashboard

* update gdev dashboards for table

* jsonnet spacing

* fix gdev dashboard ids and versions
2025-07-14 21:41:32 +00:00
Heather Cloward
58c990b2ca Adds cloud provider to fine-graned rbac list (#108042) 2025-07-14 17:45:56 +00:00
Paul Marbach
f19b2ef429 TableNG: Move useCallback up in TablePanel (#108080) 2025-07-14 13:08:50 -04:00
Josh Hunt
12f05a8553 Dashboards: Add join and customqueryparam template variable formatters (#107904)
* Update scenes lib

* update schema for customqueryparam formatter

* add docs for new formatters

* fix docs example

* sort alpha
2025-07-14 17:08:06 +01:00
Matheus Macabu
403d6380fa Secrets: Remove gating with experimental APIs feature toggle (#108058) 2025-07-14 17:46:17 +02:00
Michael Mandrus
015b2f6b0a Chore: Update gocloud.dev dependency to v0.42.0 (#108054)
* update dependency

* make update-workspace

* rerun with ge linked

* add codeowner

* rerun WITHOUT enterprise
2025-07-14 11:11:40 -04:00
Yunwen Zheng
7ad6358e40 DeleteProvisionedFolderForm: navigate user to dashboard page with open PR banner when push to branch (#107989)
* DeleteProvisionedFolderForm: navigate user to dashboard page with open PR banner when push to branch
2025-07-14 15:01:43 +00:00
Santiago
d4670b1cee Alertmanager: Add methods to merge nflog and silences (#108006) 2025-07-14 16:23:23 +02:00
Tania
e079cb3738 Simplify open feature setup (#107632)
* Simplify open feature setup

* Fix linter issues

* Apply review feedback

* Fix integration tests setup
2025-07-14 16:22:04 +02:00
Andres Martinez Gotor
d1f785c8bf New link extension point for DatasourceTestingStatus (#107571) 2025-07-14 15:51:19 +02:00
Domas
8eef17cb37 QueryVariable: Add static options input (#107514)
* static options for query variable

* add toggle

* fix and add tests

* run the hack codegen thing

* more test fixes

* make betterer happier

* also make typecheck happy

* make betterer happier

* fix i18n key

* tranalte static variables sort label

* gen translations

* update snapshot
2025-07-14 16:05:56 +03:00
Bruno
baa89f3eac Secrets: encryption encryption storage uses versioning (#108036)
* Secrets: delete unused FakeKeeper

* Secrets: encrypted value storage stores versions

* add version to span

* trigger build

* remove ineffectual assignment

* lint

* drop secret_encrypted_value.uid / add name and version columns
2025-07-14 09:28:07 -03:00
grafana-pr-automation[bot]
afe6cd8a6d I18n: Download translations from Crowdin (#108047)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-14 11:48:41 +00:00
Ihor Yeromin
32fecb9483 Geomap: DX improvements (#107588)
chore(geomap): dev experience improvements
2025-07-14 13:38:06 +02:00
Bogdan Matei
12ec94c325 Dashboard: Remove DTO cache and scene cache on dashboard delete (#107460) 2025-07-14 14:34:43 +03:00
Ashley Harrison
9f76564f51 VizColors: Use more named colors in the classic palette (#107714)
* use more named colors in the classic palette

* update unit tests
2025-07-14 12:22:24 +01:00
Mustafa Sencer Özcan
84a4ed612b fix: re-order db initialization logic for resource server (#108059) 2025-07-14 10:25:42 +00:00
Hugo Häggmark
4260dea554 Plugins: adds plugin version to mutation logs (#108057)
* Plugins: adds plugin version to mutation logs

* chore: updates after PR feedback
2025-07-14 11:52:48 +02:00
Levente Balogh
75a6aa7838 Plugin Extensions: Update extension-point ID validation (#107959)
* feat(extensions): don't allow core grafana extension point ids in plugins

* feat(extensions): log more specific errors if extension point id validation fails

* chore: move the ExtensionSidebar ext. point id to grafana-data

* review: remove type assertion
2025-07-14 10:18:21 +02:00
renovate[bot]
fe7cc4c9a7 Update dependency msw to v2.10.4 (#108055)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-14 06:26:51 +00:00
renovate[bot]
e22ace4031 Update dependency react-select to v5.10.2 (#108030)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-14 05:41:33 +00:00
dependabot[bot]
4c4abd72e7 Bump google-github-actions/setup-gcloud from 2.1.2 to 2.1.4 (#108022)
Bumps [google-github-actions/setup-gcloud](https://github.com/google-github-actions/setup-gcloud) from 2.1.2 to 2.1.4.
- [Release notes](https://github.com/google-github-actions/setup-gcloud/releases)
- [Changelog](https://github.com/google-github-actions/setup-gcloud/blob/main/CHANGELOG.md)
- [Commits](6189d56e40...77e7a554d4)

---
updated-dependencies:
- dependency-name: google-github-actions/setup-gcloud
  dependency-version: 2.1.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-14 06:17:18 +02:00
Matheus Macabu
e33a4b147b Air: Stop running make gen-go (#108001)
Experimenting removing the `make gen-go` step on every rebuild, which speeds up the reload loop, since the wire files are now committed.
2025-07-13 13:42:38 +01:00
Leon Sorokin
7344c1c555 TableNG: Simplify Pill cellType and reduce scope (#107934)
Co-authored-by: Paul Marbach <paul.marbach@grafana.com>
2025-07-11 21:28:06 -05:00
grafana-pr-automation[bot]
b0e85a637f I18n: Download translations from Crowdin (#108045)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-12 00:38:54 +00:00
Roberto Jiménez Sánchez
b49b103f42 Provisioning: Return available repository types in settings endpoint (#107977)
* Add types for other repositories

* Inject the types from extras

* Fix go-lint

* Fix typecheck

* Add it to the tests

---------

Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-07-11 22:07:04 +00:00
Jev Forsberg
eab8c1db07 Chore: Add comment about shallow clones/single-branch clones (#108043)
baldm0mma/ add comment about shallow clones/single-branch clones
2025-07-11 13:10:20 -08:00
Roberto Jimenez Sanchez
4b8e565a16 Fix innefectual assigment 2025-07-11 23:02:19 +02:00
Roberto Jimenez Sanchez
1912c4ccc3 Regenerate wire 2025-07-11 23:02:19 +02:00
Roberto Jimenez Sanchez
cff66e8b45 Remove TODOs 2025-07-11 23:02:19 +02:00
Roberto Jimenez Sanchez
acd6df6b89 Fix provisioning reporting 2025-07-11 23:02:19 +02:00
Roberto Jiménez Sánchez
05a2d26787 Provisioning: Add refs endpoint (#108014) 2025-07-11 13:58:39 -07:00
Tania
a33b634a9f OpenFeature: Inject eval ctx into req ctx (#108017)
* OpenFeature: Inject eval ctx into req ctx

* Remove stackId

* add unit test

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

---------

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
Co-authored-by: Dave Henderson <dave.henderson@grafana.com>
2025-07-11 21:26:44 +02:00
Tania
f9f04c2a55 OpenFeature: Fix ofrep path and stack id check (#107884)
* OpenFeature: Fix ofrep path and stack id check

* Use namespace instead of stackId in eval ctx

* Apply review feedback

* Update pkg/registry/apis/ofrep/register.go

Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>

* Update pkg/registry/apis/ofrep/register.go

Co-authored-by: Dave Henderson <dave.henderson@grafana.com>

---------

Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
Co-authored-by: Dave Henderson <dave.henderson@grafana.com>
2025-07-11 21:14:23 +02:00
mohammad-hamid
2cd0be3cbd Update authlib version (#107939)
* update authlib version

* add latest versions

* make update-workspace

* typo

* Trigger Build

* Trigger Build
2025-07-11 14:55:52 -04:00
Sarah Zinger
db3ab6a0a7 Fix typo in docs (#107976) 2025-07-11 18:46:31 +00:00
Jacob Valdez
c20067d70a docs: Clarifying the support level of SCIM (#108034) 2025-07-11 12:53:34 -05:00
Jev Forsberg
fd269ce041 Chore: Fix releaseFinder script perf (#108035)
* baldm0mma/ speed up branch loop

* baldm0mma/ rem unneeded comment

* baldm0mma/ update release output format

* baldm0mma/ refactor
2025-07-11 17:43:03 +00:00
Matheus Macabu
9c1b2fb792 Secrets: Bump API version to v1beta1 (#108026) 2025-07-11 19:14:05 +02:00
Ryan McKinley
9786389ae8 SecureValues: Support inline secure values in GrafanaMetaAccessor (#107996) 2025-07-11 16:47:54 +00:00
Kevin Minehart
180a901c7d CI: Change prerelease bucket path from {VERSION} to {VERSION}_{BUILD_ID} (#108031)
* CI: Change prerelease bucket path from {VERSION} to {VERSION}_{BUILD_ID}

* use run_id
2025-07-11 16:38:43 +00:00
Georges Chaudy
7002ab90ae unistore: save returns a writecloser (#107955)
* unistore: save returns a writecloser

* go-lint

* address comments
2025-07-11 18:25:48 +02:00
antonio
519e0449e7 add video to get started with grafana alerting 1 (#107952) 2025-07-11 17:45:31 +02:00
Adela Almasan
40da94cf74 Annotations: Allow target="_blank" (#106301)
Co-authored-by: Kristian Bremberg <kristian.bremberg@grafana.com>
2025-07-11 15:19:40 +00:00
Josh Hunt
98995922f9 Transformations: Import images with webpack (#107795)
* Transformations: Import images with webpack

* fix mock registry

* use mockTransformationsRegistry in more places
2025-07-11 15:48:27 +01:00
renovate[bot]
e4f78c462e Update dependency react-virtualized-auto-sizer to v1.0.26 (#105005)
* Update dependency react-virtualized-auto-sizer to v1.0.26

* fix unit tests

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-07-11 14:04:04 +00:00
Jean-Philippe Quéméner
602b7826c4 refactor(unified-storage): remove resource_server config option (#107649) 2025-07-11 15:33:51 +02:00
Paul Marbach
73ab088804 TableNG: Scrollbar width handling (#107994)
* TableNG: Scrollbar width handling

* slight cleanup

* fix types

* fixie

---------

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2025-07-11 08:50:25 -04:00
Bruno
9d0a23e1f5 Secrets: add crudl+decrypt state machine test (#107971)
* Secrets: add state machine test for CRUDL+decrpt operations

* make update-workspace

* make update-workspace

* make enterprise-dev

* make update-workspace

* fix go.mod

* make update-workspace

* fix gomod

* make update-workspace

---------

Co-authored-by: Matheus Macabu <macabu.matheus@gmail.com>
2025-07-11 09:40:50 -03:00
Jacob Valdez
39d7fbd66e Docs: Updating team sync admonition wording (#107990) 2025-07-11 07:25:43 -05:00
Yury Molodov
f94722e1e3 Tempo: Add Victoria Logs support for "traces to logs" (#105985)
* feat(trace-to-logs): add VictoriaLogs datasource support

Signed-off-by: Yury Molodov <yurymolodov@gmail.com>

* tempo: fix lint errors in createSpanLink.tsx

Signed-off-by: Yury Molodov <yurymolodov@gmail.com>

---------

Signed-off-by: Yury Molodov <yurymolodov@gmail.com>
2025-07-11 14:22:50 +02:00
maicon
ce73e5126a Folders/k8s: Enable all dualwriter modes on remaining integration tests (#107992)
Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-07-11 09:20:01 -03:00
Matheus Macabu
c9b2126c4a Secrets: Add v1beta1 schema with CUE + grafana-app-sdk (#107972)
* Secrets: Add v1beta1 API using CUE

* Secrets: Generate spec with app-sdk

* Secrets: Generate decrypt proto

* Secrets: Add manual files to help transition
2025-07-11 13:42:46 +02:00
Jean-Philippe Quéméner
c238016532 chore(folders): add correct CODEOWNERS entry (#108018) 2025-07-11 11:34:27 +00:00
Anna Urbiztondo
31a7f79efd [Advisor]: Tile text update (#108009)
Tile text update
2025-07-11 13:12:25 +02:00
Ashley Harrison
16183d794c E2E: fix storybook e2e playwright test (#108010)
* fix storybook e2e playwright test

* update action to run if test is modified
2025-07-11 10:50:00 +00:00
grafana-pr-automation[bot]
d6f52d5d9b I18n: Download translations from Crowdin (#107998)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-11 10:16:28 +00:00
Ashley Harrison
66b79fb221 Internationalisation: Mark up transformations (#107910)
* CalculateFieldTransformerEditor

* more CalculateFieldTransformer

* ConcatenateTransformerEditor

* ConfigFromQueryTransformerEditor

* mark up other transformations

* few things spotted manually
2025-07-11 11:13:35 +01:00
Kristian Bremberg
0a0d926531 BackendSrv: Validate newline and tabs in validatePath (#108008)
Validate newline and tabs in validatePath
2025-07-11 10:13:23 +00:00
Ashley Harrison
453a791db1 Internationalisation: More mark up following manual review (#107709)
* mark up variable types

* mark up annotation stuff

* mark up TagsInput placeholder

* mark up validation messages

* mark up required error

* Mark up metrics explorer modal
2025-07-11 10:34:24 +01:00
Ashley Harrison
b6580ccb10 E2E: migrate to playwright (#107241)
* separate playwright into its own folder

* better separation

* add login scenario, add tags

* remove ui option

* update CODEOWNERS

* add a panels suite test

* migrate queries test to playwright

* rename + add dashlist test

* add panelEdit_base

* add geomap map controls test

* add geomap-layer-types

* add geomap-spatial-operations tests

* add frontend-sandbox-panel tests

* add smoke-tests-suite

* add comment about adding datasource

* add dashboard-browse-nested

* add dashboard-browse

* add dashboard-export-json

* add dashboard-keybindings test

* remove @wip tag

* turn on screenshots and add comment for why this test fails

* add dashboard-links-without-slug test

* try adding permissions in the test as well

* add dashboard-live-streaming

* context in the test doesn't work - sad

* create dashboard-public-templating

* add dashboard-public-create and make live streaming more resilient

* add share externally test

* add dashboard-share-internally

* add share-snapshot-create test

* add dashboard-templating

* add timepicker tests

* add embedded-dashboard test

* add general_dashboards test

* add import-dashboard test

* add load-options-from-url test

* add new-constant-variable test

* add custom-variable test

* add new-datasource-variable test

* add new-interval-variable test

* add text-box-variable test

* add new-query-variable test

* add horizontal repeat test

* add panel-vertical-repeat test

* add empty-row-repeat test

* add set-options-from-ui test

* add snapshot-create test

* add templating test

* add textbox-variables test

* add cloud-plugins-suite

* add storybook verification tests

* add playwright storybook verification workflow

* add playwright browsers

* update CODEOWNERS

* test change to trigger storybook verification workflows

* try container instead

* get the version right...

* go back to installing - less chance of forgetting to update

* Basic Github Actions

Squashed commit of the following:

commit f84c650a71
Author: joshhunt <josh.hunt@grafana.com>
Date:   Tue Jul 1 13:23:46 2025 +0100

    add arg for sharding, but not using it yet

commit 7bcf0512c6
Author: joshhunt <josh.hunt@grafana.com>
Date:   Tue Jul 1 12:30:30 2025 +0100

    less newline

commit b643911882
Author: joshhunt <josh.hunt@grafana.com>
Date:   Tue Jul 1 12:24:31 2025 +0100

    less logs

commit 38f871e9c2
Author: joshhunt <josh.hunt@grafana.com>
Date:   Tue Jul 1 10:00:26 2025 +0100

    fix yaml

commit db9a773136
Author: joshhunt <josh.hunt@grafana.com>
Date:   Tue Jul 1 09:57:47 2025 +0100

    clean up files

commit c0525f41fa
Author: joshhunt <josh.hunt@grafana.com>
Date:   Tue Jul 1 09:44:56 2025 +0100

    gha workflow

commit 895bea7c52
Author: joshhunt <josh.hunt@grafana.com>
Date:   Mon Jun 30 19:33:08 2025 +0100

    working dagger

commit cea1f84437
Author: joshhunt <josh.hunt@grafana.com>
Date:   Mon Jun 30 16:17:46 2025 +0100

    wip

* shard gha

* some tidy up

* add flags for exporting results, and a gha step to merge runs

* fix shard gha

* add dashboard-duplicate-panel test

* add dashboard-outline test

* add dashboards-add-panel

* remove some commented out code

* add dashboards-title-description test

* add dashboards-remove-panel

* don't install cypress

* gha: check playwright results

* add dashboards-edit-adhoc-variables test

* fix check-jobs

* add dagger cloud token

* add dagger cloud token

* add edit-datasource-variable test

* update CODEOWNERS

* add dashboards-edit-group-by-variables (skipped for now)

* add dashboards-edit-panel-title-description test

* add dashboards-edit-transparent-bg test

* add dashboards-edit-query-variables test

* run with 8 shards

* add dashboards-edit-variables

* tidy up gha

* add dashboard-group-panels

* fix action

* try to cache the grafana build

* fix missing action becuase no checkout, use builtin continue-on-error instead

* fix missing id

* cat out.txt

* debug build cache

* fix debug build cache

* add dashboards-panel-layouts test

* tidy up

* no more debug

* fix grafana dir

* add dashboards-move-panel test

* skip some failing tests

* mark up plugins tests with @plugins tag, only run @plugins tests in drone

* Hackathon/Playwright Conversion - Various Suite (#107516)

* Playwright Migration: Various Suite tests

* skipping bad tests

* fix some tests that can fail

* fix uid

* separate user for the verify-i18n test

* build test plugins for grafana server

* properly blur input fields

* login manually

* get dashboardPage from goto

* ignore a couple of type assertions

* remove a couple of timeouts

* remove timeouts on dashboard-share-internally

* use toBeHidden

* make dashboard-share-internally more stable

* remove TEMP_DAGGER_TOKEN

* clean up visaulization-suggestions

* unskip gauge test

* unskip trace-view-scrolling

* attempt to make create variable utils stable

* unskip loki tests

* make go linter happy

* unskip edit-group-by-variables test

* unskip move panel tests

* isolate dashboard-timepicker tests with separate user

* create data source as part of smoke test

* make sure we're awaiting in dashboard-edit-adhoc-variables

* make dashboards-edit-variables test more robust

* Hackathon Playwright: Dashboards Search (#107580)

* Hackathon Playwright: Dashboards Search

* Feedback changes

* make trace-view-scrolling more stable

* add json report and bench step

* fix bench version

* move fail step to after the playwright report so we can report test failures

* fix output file name

* fix typo

* try wrap in expect.poll

* stability

* bit more tidy up

* fix dashboard-new-layouts tests

* move test-plugins to e2e-playwright

* fix go code for drone e2e run

* move loki plugin-e2e test

* make v2 dashboards work again

---------

Co-authored-by: joshhunt <josh.hunt@grafana.com>
Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
Co-authored-by: Collin Fingar <collin.fingar@grafana.com>
Co-authored-by: Jeff Levin <jeff@levinology.com>
2025-07-11 10:31:33 +01:00
Georges Chaudy
ea0ddb3fc9 unistore: refactor get to return a reader (#107951) 2025-07-11 11:10:19 +02:00
Santiago
a314b99589 Remote Alertmanager: Use the same struct for Grafana state and Mimir full state (#107791)
Remote Alertmanager: Use the same struct for Grafana stat and Mimir full state
2025-07-11 10:10:30 +02:00
Ryan McKinley
ac86126a57 Chore: Update auto-generated clients (#107986) 2025-07-11 09:49:41 +02:00
Robert Horvath
dcea36dffc Add Relyance github action (#107012)
* add relyance workflow

* add relyance config

* exclude folders and patterns from scanning

* add security as codeowner of relyance
2025-07-11 08:44:47 +02:00
Yunwen Zheng
b1c50d6354 Revert "KBARResults: Add Cmd+Enter/Ctrl+Enter to open links in new tab" (#107933)
Revert "KBARResults: Add Cmd+Enter/Ctrl+Enter to open links in new tab (#107537)"

This reverts commit a2a28b207c.
2025-07-11 08:48:50 +03:00
Kristina
a01b4c31a1 Transformations: Allow queries without dataframe results to be selectable as filters (#107152)
* Add mention of external type to correlations docs

* 🆗

* Merge request targets in with results

* Ensure we do not mutate result set
2025-07-10 18:47:18 -05:00
linoman
a1e4280603 SCIM: Add is provisioned field to update command (#107978)
* Remove noisy log line

* Add IsProvisioned field to UpdateUserCommand

* Update user store to include the new IsProvisioned field

* Update store tests to include the new IsProvisioned field
2025-07-10 23:49:45 +02:00
Blueswen
1cd6ef6b84 Docs: Align Jira documentation with contact point options (#105069)
Align with option names in contact point.

To avoid confusion, ensure that the documentation aligns with the option names used in the Jira contact point.
2025-07-10 21:15:04 +00:00
Adam Yeats
82e380ed90 InfluxDB: Handle STRING_VIEW datatype (#107812)
This PR fixes an error when reading STRING_VIEW columns by correctly mapping STRING_VIEW in the newField factory and by adding a dedicated test to validate copyData’s handling of both nullable and non‐nullable STRING_VIEW arrays. This enables the Distinct Value Cache feature of InfluxDB v3 Enterprise for use.
2025-07-10 21:41:57 +01:00
Mihai Turdean
a3af6023c3 Zanzana: Support more cache configuration options (#107155) 2025-07-10 19:51:02 +00:00
Ryan McKinley
06c00e4fa7 Chore: apimachinery types cleanup (#107988) 2025-07-10 12:45:16 -07:00
Stephanie Hingtgen
13a89d4ae3 Revert: Future-proofing query and data source model in Dashboard Sche… (#107985)
* Revert: Future-proofing query and data source model in Dashboard Schema v2

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2025-07-10 18:58:33 +00:00
maicon
18b5a9eb8d Run TestIntegrationFoldersApp for all dualwriter modes on sqlite only (#107818)
* Run TestIntegrationFoldersApp for all dualwriter modes on sqlite only

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-07-10 18:16:27 +00:00
Matias Chomicki
86aa70322b New Logs Panel: Parse JSON by default and show highlighted log in details (#107953)
* processing: sanitize highlighted log before highlighting

* processing: prettify json by default

* LogLineDetails: render prettified log

* processing: implement newlines truncation

* Remove log

* Linting issues

* Linting

* Update unit tests

* processing: use correct property

* Formatting

* processing: reflect updated collapse state

* processing: add test case

* processing: use lossless json to parse

* LogLine: receive logs for inline details stats

* Remove log

* LogListModel: specialize clone for loglinedetails
2025-07-10 18:07:27 +00:00
maicon
b1fcdb9c09 Folders: run integration tests only for SQLite (#107979)
Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-07-10 14:48:14 -03:00
Stephanie Hingtgen
2b8c5bea1a Revert "Schema V2: Simplify annotations v1<->v2 conversions" (#107984)
Revert "Schema V2: Simplify annotations v1<->v2 conversions (#107390)"

This reverts commit d5a1781fb6.
2025-07-10 17:29:15 +00:00
Nathan Vērzemnieks
15e59a0ca7 Prometheus: Use patched grafana-aws-sdk middleware for panic handling (#107982)
Prometheus: use patched grafana-aws-sdk middleware for panic handling
2025-07-10 19:21:16 +02:00
Collin Fingar
0c76b52e8b Share Button: Added ClipboardItem route after Safari issues (#107925)
* Share Button: Added ClipboardItem route after Safari issues

* Removed console log

* Feedback fixes

* Test feedback fix

* Removed export
2025-07-10 12:59:41 -04:00
Roberto Jiménez Sánchez
7e0848294e Provisioning: Use Nanogit for basic git operations in Github repository type (#107889) 2025-07-10 09:46:38 -07:00
alerting-team[bot]
9df15d120d Alerting: Update alerting module to c5c6f9c1653d816439184c5ec580d3035feca417 (#107931)
[create-pull-request] automated change

Co-authored-by: yuri-tceretian <25988953+yuri-tceretian@users.noreply.github.com>
2025-07-10 15:47:17 +00:00
Alex Spencer
a027575435 Transformations: Prototype search tags (#105797)
* feat: init

* chore: i18n + improve formatting/style generally

* fix: i18n syntax...

* chore: i18n extract

* chore: some cleanup

* chore: cleanup

* chore: i18n
2025-07-10 08:28:51 -07:00
Dominik Prokop
190b9e1b06 kubernetesDashboards: Fix dashboard export e2e test failing with v1 k8s API enabled (#107900)
Fix dashboard export e2e
2025-07-10 16:54:29 +02:00
Gareth
84ef5bc744 Remove jaegerBackendMigration feature toggle (#107702)
* remove feature toggle if statements

* remove unused impoerts

* remove unused private functions

* prettier

* official ft removal

* fix some failing tests in datasource.test.ts

* clean up test file

* update test names

* remove tests for testDatasource

* remove describe

* tests

* fix import order

* betterer
2025-07-10 15:54:16 +01:00
colin-stuart
ac7a411c53 SCIM: Update allow non-provisioned users dynamic config field (#107912)
SCIM: add dynamic non-provisioned users allowed setting
2025-07-10 09:18:30 -05:00
renovate[bot]
441f56f6ce fix(deps): update dependency micro-memoize to v4.1.3 (#107966)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-10 13:59:51 +00:00
Misi
1f3dc0533c Auth: Add tracing to auth clients and AuthToken service (#107878)
* Add tracing to auth clients + authtoken svc

* Fix span names

* Fix ext_jwt.go

* Fix idimpl/service

* Update wire_gen.go

* Add tracing to JWT client

* Lint
2025-07-10 15:41:00 +02:00
renovate[bot]
01269c5dd1 chore(deps): update dependency postcss to v8.5.6 (#107960)
Update dependency postcss to v8.5.6

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-10 13:34:38 +00:00
Matias Chomicki
d74aac3da5 virtualization: check for index (#107963)
* virtualization: check for index

* Add regression test
2025-07-10 13:18:02 +00:00
maicon
a8733f9a05 Fix TestIntegrationFoldersGetAPIEndpointK8S (#107924)
Run TestIntegrationFoldersGetAPIEndpointK8S only for SQLite

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-07-10 09:58:35 -03:00
renovate[bot]
ff8a9fa462 Update dependency lerna to v8.2.3 (#107957)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-10 12:23:07 +00:00
Peter Štibraný
8fd5739576 [unified-storage/search] Don't expire file-based indexes, check for resource stats when building index on-demand (#107886)
* Get ResourceStats before indexing
* Replaced localcache.CacheService to handle expiration faster (localcache.CacheService / gocache.Cache only expires values at specific interval, but we need to close index faster)
* singleflight getOrBuildIndex for the same key
* expire only in-memory indexes
* file-based indexes have new name on each rebuild
* Sanitize file path segments, verify that generated path is within the root dir.
* Add comment and test for cleanOldIndexes.
2025-07-10 11:54:10 +00:00
Mustafa Sencer Özcan
2e568ef672 test: reenable dashboard integration tests and restructure based on dual writer modes (#107941) 2025-07-10 13:52:58 +02:00
renovate[bot]
325863ba94 Update faro to v1.19.0 (#107946)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-10 12:47:02 +01:00
John-George Sample
c788b35dae chore: fix typo in FlameGraph docs (#107921) 2025-07-10 13:32:36 +02:00
Gábor Farkas
5ec1bd91df datasources: querier: log empty refids (#107111)
* datasources: querier: log empty refids

* improved logging
2025-07-10 13:28:45 +02:00
Mariell Hoversholm
956ae0b283 Actions: Run prettier on docs changes (#107949) 2025-07-10 12:58:13 +02:00
Roberto Jimenez Sanchez
106206ae93 Ignore delete error if not found 2025-07-10 12:45:35 +02:00
Roberto Jimenez Sanchez
b0df15c770 Fix issue with path in folder deletion
Folder path must not have a trailing slash in Nanogit
2025-07-10 12:45:35 +02:00
Stephanie Hingtgen
2484402f7a address PR comments 2025-07-10 12:45:35 +02:00
Stephanie Hingtgen
4386085aa9 fix linter 2025-07-10 12:45:35 +02:00
Stephanie Hingtgen
bd81243bbb Git sync: Implement folder deletion 2025-07-10 12:45:35 +02:00
Hugo Kiyodi Oshiro
b41b233d7d Plugins: Levitate workflow improvements on forks (#107832) 2025-07-10 12:12:12 +02:00
Georges Chaudy
b6dd08da2f unistore: fix delete and db closed in kv store (#107918)
* fix delete and db closed

* fix tests
2025-07-10 11:34:36 +02:00
renovate[bot]
befc947fee Update dependency glob to v11.0.3 (#107915)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-10 09:28:05 +00:00
Jay Clifford
fccda2440e ExtensionSidebar: Render multiple sidebar buttons in topnav (#107875)
* feat: modified toolbar item so buttons render invidually

* added icon for investigations

* Update public/app/core/components/AppChrome/ExtensionSidebar/ExtensionToolbarItem.tsx

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>

---------

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2025-07-10 09:16:47 +00:00
Matheus Macabu
b6c4788c2a Auth: Add functional option for static requester methods (#107581)
* Auth: Add functional option for static requester methods

Initially supporting WithServiceIdentityName to set a ServiceIdentity
inside the Claims.Rest object, so that Secrets Manager can parse
the service requesting secret decryption.

On Secret creation, the service will have to pass its identity
(which is a freeform string) to the SecureValues' Decrypters object.

This field gates which services are allowed to decrypt the SecureValue.

And upon decryption, the service should build a static identity with
that same service identity name when calling the decrypt service.

* StaticRequester: Put secret decrypt permission in access token claims

* StaticRequester: Inline getTokenPermissions function
2025-07-10 10:10:57 +02:00
Andres Martinez Gotor
e4650d3d8f Advisor: Update app-sdk and regenerate code (#107786) 2025-07-10 09:55:10 +02:00
Gabriel MABILLE
85a6a7b9c1 iam: add description field to roles (#107888)
* iam: add description field to roles

* Openapi gen

* Revert launch change
2025-07-10 09:24:30 +02:00
Ivana Huckova
5d0f519c0d Docs: Update min supported Loki version to v2.9+ (#107853) 2025-07-10 09:02:53 +02:00
Yunwen Zheng
38db533e6e NewProvisionedFolderForm: Preview folder name message (#107739)
* NewProvisionedFolderForm: pass in empty title for new folder form

* NewProvisionedFolderForm: preview folder name

* i18n, fix test

* Added test

* added todo

* PR comment

* i18n
2025-07-10 09:40:26 +03:00
grafana-pr-automation[bot]
0e53749906 I18n: Download translations from Crowdin (#107936)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-10 00:38:17 +00:00
Lucy Chen
58e0c05150 E2C: Add new error for alert rule quota (#107225)
* add new error for alert rule quota

* add alert rule group quota error

* make openapi3-gen

* revert message

* update translation

* prettier

* update text per review suggestion
2025-07-09 15:25:20 -04:00
Gilles De Mey
421352f251 Alerting: Support group view in breadcrumbs (#107901) 2025-07-09 20:59:33 +02:00
maicon
0012345a7e Folders/apiserver: Fix mutate method for folders (#107819)
Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-07-09 15:57:04 -03:00
Paul Marbach
a63a9357bb TableNG: Follow-up style fixes (#107274)
* open cell inspect in code mode for JSON panels

* increase opacity of TableCellActions background for legibility in overlap cases

* fix nested grid width calculation

* fix 'jumping' on hover overflow

* route transparency through (needs a scenes update)

* base row hover color on transparency

* update the colors for table

* remove console.log

* reinstate header toggle for nested row transformation

* fix #59474 - graceful handling when subtable has no rows

* fix i18n

* use TABLE.LINE_HEIGHT

* change nestedData back to const
2025-07-09 14:54:48 -04:00
Gilles De Mey
ebe494c7e6 lint CONTRIBUTING.md (#107923) 2025-07-09 18:31:14 +00:00
Josh Hunt
37bfea8685 FrontendService: Add tracing to frontend service (#107236)
* FrontendService: Add tracing to frontend service

* wire gen

* fix test
2025-07-09 19:21:31 +01:00
Paul Marbach
9aaaa87bcf TableNG: Fallback to AutoCell when cellType is unmapped (#107920) 2025-07-09 17:29:13 +00:00
fa1thw
5612edd8b5 Update CONTRIBUTING.md (#107587)
This update replaces outdated URLs and provides structural updates to the contribution guide.
2025-07-09 19:08:37 +02:00
Gilles De Mey
889cf57055 Alerting: Fix flakey test for group loader (#107909) 2025-07-09 19:00:45 +02:00
Josh Hunt
0cde9e4f3f UI: Disable tabular numbers toggle by default (#107911)
* UI: disable tabular numbers toggle

* gen
2025-07-09 16:57:16 +00:00
maicon
a7aed23d47 Disable TestIntegrationFoldersGetAPIEndpointK8S for all databases (#107913)
Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-07-09 16:55:15 +00:00
Matt Cowley
21f305c6a0 Plugin Configs: Fix Env types (#107908) 2025-07-09 17:54:00 +01:00
renovate[bot]
d9bf13e33f Update scenes to v6.27.2 (#107906)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-09 16:44:46 +00:00
Yuri Tseretyan
4bb6926eee Alerting: Separate configuration model for remote Alertmanager Mimir client (#107741)
* replace PostableUserConfig with GrafanaAlertmanagerConfig to decouple from internal Grafana models
* update alertmanager + tests
* calculate hash of the GrafanaAlertmanagerConfig
2025-07-09 12:42:10 -04:00
Ashley Harrison
0e253721b0 Internationalisation: don't load plugin translations in test environment (#107891)
* make sure we're awaiting initPluginTranslations

* don't load plugin translations in test environments
2025-07-09 17:17:33 +01:00
maicon
4228ed789b Folders: disable TestIntegrationFoldersGetAPIEndpointK8S (#107897)
* Folders: disable TestIntegrationFoldersGetAPIEndpointK8S

it's breaking the enteprise CI pipeline

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

* Run only against sqlite

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

* noop: force backend change

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-07-09 15:44:20 +00:00
Peter Štibraný
9d2eadcfd2 PoC: replace using testing.Short in storage/unified package with integration test skip method (#107887)
* PoC: check if testing.Short is called from integration tests only.

* Rename helper function.

* Fix logic.

* Remove skipping of integration tests from non-integration tests.

* Remove skipping of integration tests from non-integration tests.

* Fix import.
2025-07-09 15:32:10 +00:00
Matias Chomicki
5108225785 Logs Panel: Explose details mode and default to inline (#107902)
Logs Panel: Explose details mode
2025-07-09 17:31:10 +02:00
renovate[bot]
4ab519c825 Update dependency expose-loader to v5.0.1 (#107877)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-09 15:18:09 +00:00
Will Browne
1e0fd825eb Plugins: Simplify assetpath logic (#107876)
* simplify assetpath logic

* fix tests
2025-07-09 15:48:52 +01:00
Misi
1d252de1e9 Docs: Clean up ssoSettingsApi references from docs (#107896)
* Clean up ssoSettingsApi references from docs

* lint
2025-07-09 14:22:07 +00:00
Matias Chomicki
2e58ce7980 Log Line Details: Add inline mode for the Details component (#107718)
* LogLineContext: add sidebar mode

* LogLine: initial support for inline details

* LogLine: finally figure out field overflow

* LogLineDetails: support inline details in unwrapped mode

* LogLineDetails: fix borders in inline mode

* LogLineDetails: support unwrapped inline details

* LogLineDetails: fix inline unwrapped mode

* LogLineDetails: debug and translations

* Fix types

* LogLine: update test

* LogLineDetails: slightly taller

* LogListContext: fix NaN default width

* Remove console log

* LogList: add inline details test

* virtualization: update test

* Fix imports
2025-07-09 16:07:19 +02:00
Gilles De Mey
5d92f3eee5 Alerting: Fix silence / delete on new list view (#107885) 2025-07-09 13:44:44 +00:00
Bruno
8283d35e56 Secrets: make operations sync (#107732)
* Secrets: make operations sync

* k8s gen / update query to list secure values to include the version

* always store new version of a secret

* make update-workspace

* go mod tidy

* update queries

* update queries

* improve and use testutils in decrypt_store_test

* fix broken test

* make update-workspace

* ./hack/update-codegen.sh secret

* update Test_SecureValueMetadataStorage_CreateAndRead

* undo dependency changes

* linter: fix remaining errors

---------

Co-authored-by: Matheus Macabu <macabu.matheus@gmail.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
2025-07-09 10:43:34 -03:00
Gilles De Mey
ded7912ea3 Use Group Loader for the group detail view (#107780) 2025-07-09 15:41:20 +02:00
Nathan Vērzemnieks
f34a9fc0c2 CloudWatch: Fix http client handling + assume role bug (#107893) 2025-07-09 15:28:50 +02:00
Jack Westbrook
c5fbf6217c Frontend: Replace LogicMonitor logo (#107881)
* chore(frontend): replace 2.75mb logicmonitor logo with smaller svg

* chore(frontend): update logicmonitor logo to match previous dimensions
2025-07-09 14:12:58 +02:00
Roberto Jiménez Sánchez
b249942b61 Bump nanogit 2025-07-09 (#107871)
* Bump nanogit 2025-07-09

This version contains significant performance improvements in memory and
CPU thanks to optimizing buffers, using a faster zlib library and using
streaming instead of loading everything in memory.
2025-07-09 14:03:29 +02:00
Hugo Häggmark
0f3edd3b5f Plugins: renames snake cased plugin files (#107862)
* Plugins: renames plugin_loader

* test(pluginloader): fix mock paths to pluginLoader

* chore: rename sandbox files

* Trigger build

* Trigger build

---------

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2025-07-09 13:18:44 +02:00
Jack Westbrook
d786316766 Plugin Configs: Use nodes strip types for processing webpack configs (#105542)
* feat(plugin-configs): update configs to work with nodes strip-types feature

* build(parca): use nodes experimental-strip-types so build works with node 22 - 24

* build(decoupled-plugins): support nodes strip types feature for webpack builds

* build(e2e-test-plugins): update build scripts and config to work with node strip types

* style(plugin-configs): fix import/order lint errors

* refactor(plugins): use allowImportingTsExtensions in favour of ts-ignore comments

* refactor(plugin-configs): clean up ts-ignore and ts-expect-error comments in webpack.config

* refactor(plugin-configs): fix up changes for nodes strip-types flag

* chore(loki): fix up build command for node 24 support
2025-07-09 10:38:17 +00:00
renovate[bot]
99f3dc859d Update dependency eslint-plugin-react to v7.37.5 (#107873)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-09 10:32:05 +00:00
Konrad Lalik
89c09a14b8 Alerting: Extensible Settings module (#107831)
* Add extension points to the Settings page

* wip

* Update Settings page routing to catch unmatched routes and redirect to alertmanager

* Add settings page extension

* Refactor settings navigation

* Refactor settings navigation hook

* Update import paths

* Add Settings page tests for custom tabs

* Update translations

* Add a route explanation

---------

Co-authored-by: Sonia Aguilar <soniaaguilarpeiron@gmail.com>
2025-07-09 12:29:39 +02:00
Ashley Harrison
92121a1030 Cascader: Fix icon not showing (#107869)
* fix image path for angle-right

* use proper icon utils
2025-07-09 11:24:21 +01:00
renovate[bot]
07ca8ca3e7 Update dependency eslint-plugin-no-barrel-files to v1.2.1 (#107868)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-09 10:04:10 +00:00
renovate[bot]
ae7a3db917 Update dependency @grafana/google-sdk to v0.3.4 (#107865)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-09 09:38:46 +00:00
Ashley Harrison
ca73093573 i18n actions: only run in main repo (#107864)
* don't run download/upload in the security mirror

* better check
2025-07-09 09:18:33 +00:00
renovate[bot]
df3bb9fba4 Update dependency i18next to v25.3.2 (#107863)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-09 10:14:20 +01:00
Nathan Vērzemnieks
c3eeb1fcd9 CloudWatch: Fix proxy transport issue (#107807)
CloudWatch: fix proxy transport issue
2025-07-09 11:03:53 +02:00
Piotr Jamróz
e78411f17a Tempo: Fix showing dangling edges in NodeGraph (#107245)
* Tempo: Fix showing dangling edges in NodeGraph

* Remove comment
2025-07-09 10:53:31 +02:00
renovate[bot]
aa17dd8056 Update dependency esbuild to v0.25.6 (#107799)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-09 09:36:22 +01:00
Ryan McKinley
3f502f305d Chore: Update mocks with recent mockery (#107816) 2025-07-09 09:15:34 +02:00
Alex Khomenko
39904d7b9b Provisioning: Move dashboard from setting page (#107793)
* Provisioning: Move dashboard from the settings page

* Cleanup

* i18n

* Add noMargin

* Add test

* Use new pr param

* Cleanup

* Fix tests

* i18n

* betterer
2025-07-09 10:10:05 +03:00
Daniele Stefano Ferru
d7f7a19c56 Dashboard permissions: Update integration tests to take into account kubernetesDashboards flag value (#107706)
Dashboard permissions: Update integration tests to take into account  flag value
2025-07-09 08:46:27 +02:00
xavi
e4743a9092 IAM: Return 401 if identity type is not valid in GetUserPreferences (#107760)
fix(GetUserPreferences): Return 401 if identity type is not valid
2025-07-09 08:35:18 +02:00
Hugo Häggmark
20c700dd52 Chore: reduces barrel files part II (#107688)
* Chore: reduce barrel files

* chore: fixes unit test

* Chore: reduces barrel files part II

* chore: fix import sorting
2025-07-09 06:15:33 +02:00
grafana-pr-automation[bot]
5e1d7cbd2e I18n: Download translations from Crowdin (#107813)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-09 00:38:37 +00:00
Alyssa Joyner
6c20ad0013 [InfluxDB] Change default HTTP method to POST (#107787) 2025-07-08 15:19:22 -06:00
Alex Spencer
869094bb37 SQL Expressions: Reconfigure add expression button for improved UX (#106797)
* feat: reconfigure expression button for improved UX

* chore: fix broken test

* chore: refactor to use improved UX + combine another UI PR.

* chore: i18n

* chore: memoize options + add data test ids for tracking

* chore: common component for expression dropdown

* chore: streamline common component

* chore: add event tracking

* chore: put event tracking in its own PR
2025-07-08 14:11:54 -07:00
maicon
79ebe2dc10 Folders: Ensure all folder tests under /pkg/tests/apis/folders are handled as integrations tests (#107801)
Folders: ensure integration tests are executed in our CI pipeline

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-07-08 16:32:41 -03:00
Leon Sorokin
dd1fce5c8a Search: Use case-insensitive substring matching in fuzzySearch fallback (#107661) 2025-07-08 14:14:00 -05:00
Alex Spencer
efe46c8aad Limit: Invalidate field reducer calcs on applying limit transformation (#106723)
* fix: clear state calcs when limit transformation is applied

* chore: fix limit tests expected values
2025-07-08 11:37:54 -07:00
Leon Sorokin
68ee251c5c TableNG: Extract links and actions tooltip into cell root renderer (#107667)
* TableNG: Extract links and actions tooltip into cell root renderer

* make TS happy

* fixes & tweaks

* lint

* skip datalinks and actions tooltip on those cell types

* add todo

* withTooltip lookup

* fix

* optional getActions

* fix

* kill cursor: 'context-menu'

* stop event propagation from TableCellActions

* update tests to move tooltip tests up to TableNG

* remove safety assertion

* add value back to DataLinksActionsTooltip

---------

Co-authored-by: Paul Marbach <paul.marbach@grafana.com>
2025-07-08 14:24:03 -04:00
Yunwen Zheng
412415ab39 NewProvisionedFolderForm: pass in empty title for new folder form (#107733)
Co-authored-by: Clarity-89 <homes89@ukr.net>
2025-07-08 18:00:51 +00:00
renovate[bot]
0b28a53923 Update dependency @grafana/lezer-logql to v0.2.8 (#107797)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-08 16:53:35 +00:00
Kristina
fdc6a0d774 Transformations: For Convert Field Type, clone conversions as to not mutate defaultOptions (#107752)
Clone conversions as to not mutate defaultOptions
2025-07-08 11:29:14 -05:00
renovate[bot]
1eef358deb Update dependency css-minimizer-webpack-plugin to v7.0.2 (#107796)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-08 17:26:48 +01:00
Tim Levett
0fdcae4e26 Tables: Pills for Table Cells (#107485)
* v2 of pills for tables

* cleanup bettererrrrr

* cleanup pretty

* i18n changes

* add in the option for value mapping

* value mapping

* change to just use the value mapping from the table component

* tests fixed

* betterer all better now

* fix pretty

* i18n

* fix gen issue

* i18n

* fix merge issue

* Refactor pillcell to an interface for said pill, cleanup tests

* mind the space says prettier
2025-07-08 10:56:39 -05:00
renovate[bot]
0459382b25 Update dependency chrome-remote-interface to v0.33.3 (#107792)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-08 15:54:26 +00:00
renovate[bot]
56dcb6c08a Update dependency chance to v1.1.13 (#107790)
* Update dependency chance to v1.1.13

* use same version of chance everywhere

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: joshhunt <josh.hunt@grafana.com>
2025-07-08 15:13:54 +00:00
renovate[bot]
7728a51972 Update dependency chance to v1.1.13 (#107785)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-08 14:28:26 +00:00
maicon
53537148e1 Folders: reenable unit tests (#107751)
* Folders: reenable unit test TestFoldersCreateAPIEndpointK8S

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

* reenable unit test TestFoldersGetAPIEndpointK8S

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-07-08 11:26:45 -03:00
Bruno
0f23988132 JWT.Authenticate: remove err != nil check for error that has already been checked (#107727) 2025-07-08 11:19:39 -03:00
Alyssa Joyner
4830969305 Add influx DRBP mapping (#107744) 2025-07-08 14:14:47 +00:00
renovate[bot]
e920bd2d29 Update dependency autoprefixer to v10.4.21 (#107781)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-08 13:54:06 +00:00
Matt Cowley
dbbd9f23d1 Plugin Extensions: Expose PluginMeta generic in usePluginContext (#107577)
* Plugin Extensions: Expose PluginMeta generic in usePluginContext

* Plugin Extensions: Cast usePluginContext type on return

* Plugin Extensions: Fix PluginContext export
2025-07-08 15:51:30 +02:00
Jo
1e1fd3db38 OAuth: Add access token as third source for user info extraction (#107636)
* Add access token as third source for user info extraction

- Add extractFromAccessToken method to extract user info from JWT access tokens
- Mutualize code by creating parseUserInfoFromJSON helper method
- Rename methods for clarity: extractFromToken -> extractFromIDToken, retrieveRawIDToken -> retrieveRawJWTPayload
- Update test suite to include comprehensive access token retrieval scenarios
- Support three sources in priority order: ID token, API response, access token
- Maintain backward compatibility while adding new functionality

* Update Generic OAuth documentation to reflect access token support

- Add access token as a third source for user information extraction
- Update configuration sections to mention access tokens alongside ID tokens and UserInfo endpoint
- Document the priority order: ID token → UserInfo endpoint → access token
- Update configuration option descriptions to reflect new functionality
- Maintain consistency with implementation changes

* Refactor access token test cases to use parameter instead of hardcoded logic

- Add AccessToken field to test case struct for explicit access token specification
- Remove hardcoded string matching logic that determined access token based on test name
- Update all access token test cases to include the AccessToken field with appropriate JWT values
- Improve test maintainability and clarity by making access tokens explicit parameters
- Remove unused strings import that was only needed for the hardcoded logic

* fix doc lint

* reduce cyclomatic complexity
2025-07-08 15:38:11 +02:00
renovate[bot]
15967cb7ab Update dependency @types/webpack-env to v1.18.8 (#107777)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-08 14:26:25 +01:00
Alexa Vargas
2e3c2df6bf Dashboard: Add Alert icon in library panels (#107723)
* Use panel.id from the dashboard to filter alterts properly

* add unit test

* Fix linting

* add fix back

* fix betterer in test, use same pattern as DashboardDatasourceBehaviour
2025-07-08 15:08:01 +02:00
Alexa Vargas
e33047bdf1 Dashboard: Library Panels - Add ability to search by folder name (#106997)
* Dashboard: Add ability to search by folder name in library panels

* restore to main to fix linting issues

* restore from main to avoid go linting issues

* add logic to the writers.go that search by folder title if folder is not passed

* add missing left joing from the folder table

* Add extra logic to prevent folder searches without permission

* fix go linting issue about memory

* Add test when searching by folder name

* Refactor tests to include a bit more validation

* apply feedback and use SearchFolder from search folder service

* clean up comments

* Update pkg/services/libraryelements/database.go

Co-authored-by: Ezequiel Victorero <ezequiel.victorero@grafana.com>

* Fix logic of early return

* Extract into a function and remove the left join

* Apply feedback to be aligned with idiomatic go

* Apply suggestion from @evictorero

Co-authored-by: Ezequiel Victorero <ezequiel.victorero@grafana.com>

* fix liting

---------

Co-authored-by: Ezequiel Victorero <ezequiel.victorero@grafana.com>
2025-07-08 15:07:22 +02:00
Kevin Minehart
047349638d CI: Run lerna bump version before yarn build (#107731)
lerna bump version before yarn build

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2025-07-08 14:58:45 +02:00
renovate[bot]
35bf093201 Update dependency @types/systemjs to v6.15.3 (#107774)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-08 12:56:49 +00:00
Hugo Kiyodi Oshiro
6c1ff32501 Plugins: Improve levitate report on forks (#107252) 2025-07-08 14:52:02 +02:00
Dominik Prokop
d5a1781fb6 Schema V2: Simplify annotations v1<->v2 conversions (#107390)
* Initial migration pending to test

* Update tests

* apply feedback

* Remove unnecessary types

* Fix types

* Update tests

* fixing tests

* Default DS for transformer

* Update the default DS

* Update the generated sdk files

* Restore commented tests

* Update tests

* Updating snapshots

* fix

* Do not preserve empty datasource in panel spec

* update provisioning v2 sample dashboard

* Fix test

* Prettier

* Fix import e2e

* Prettier

* restore commented tests

* Update to support annotations

* Lint

* Make gen apps

* Make the build pass

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>

* Update grafana-app-sdk to 0.39.2

* Workspace update

* make gen-cue

* Runtime error fix

* Update dashboard spec

* Update go workspaces

* Schema V2: Simplify annotations v1<->v2 conversions

* Update public/app/features/dashboard-scene/serialization/transformSceneToSaveModelSchemaV2.ts

* Cleanup and some more tests

* test improvement

* Update public/app/features/dashboard-scene/serialization/transformSceneToSaveModelSchemaV2.ts

* Update go.sum

* make generate

* Update public/app/features/dashboard-scene/serialization/transformSceneToSaveModelSchemaV2.ts

Co-authored-by: Haris Rozajac <58232930+harisrozajac@users.noreply.github.com>

* ts

* make gen-apps

* Update response transformers to correctly handle v2->v1 annotations

* Update dashboards openapi snapshot

---------

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
Co-authored-by: alexandra vargas <alexa1866@gmail.com>
Co-authored-by: Haris Rozajac <haris.rozajac12@gmail.com>
Co-authored-by: Igor Suleymanov <igor.suleymanov@grafana.com>
Co-authored-by: spinillos <selenepinillos@gmail.com>
Co-authored-by: Haris Rozajac <58232930+harisrozajac@users.noreply.github.com>
2025-07-08 14:42:30 +02:00
Dominik Prokop
feedb5c0a6 PublicDashboardsBadge: Fix react warning (#107768) 2025-07-08 14:40:13 +02:00
Josh Hunt
a9e70d4a1d Storybook: Rearrange and tidy stories (#107270)
* Tidy up storybook a little bit

* change sort order, delete some stories

* More tidy up of actions

* More tidy up of actions

* tweak story sorting, again

* Make all internal stories public

* fix sort

* Add ESLint rule to enforce storybook titles

* update verify storybook test

* simplify glob
2025-07-08 12:37:09 +00:00
renovate[bot]
d27d8f02b6 Update dependency @types/node-forge to v1.3.12 (#107769)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-08 12:32:29 +00:00
renovate[bot]
2fabedc363 Update dependency @types/lodash to v4.17.20 (#107767)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-08 11:50:43 +00:00
Gilles De Mey
95d4909475 Alerting: Add oncall contact point type and narrow create hook function (#107711) 2025-07-08 13:35:09 +02:00
renovate[bot]
5d2bbfd3ee Update dependency @rollup/plugin-node-resolve to v16.0.1 (#107766)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-08 11:27:09 +00:00
Yunwen Zheng
2de7f424f5 BrowseDashboardsPage: added new pull request banner on new folder creation (#107596)
* BrowseDashboardsPage: added ProvisionedFolderPreviewBanner to display new provisioned folder on branch alert

* add comment

* fix test

* i18n

* Added test for PreviewBannerViewPR

* fix test, i18n fix
2025-07-08 14:24:16 +03:00
Dominik Prokop
365234c2fe PublicDashboards: Use API to render public dashboard badge (#107638)
* PublicDashboards: Use API to render public dashboard badge

* i18n

* Keine console bitte

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

* Update tests
2025-07-08 13:11:25 +02:00
renovate[bot]
285c69c487 Update dependency react-calendar to v6 (#107726)
* Update dependency react-calendar to v6

* add esmodules to jest config

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-07-08 10:53:50 +00:00
grafana-pr-automation[bot]
d22842b52b I18n: Download translations from Crowdin (#107750)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-08 10:03:08 +00:00
Matias Chomicki
89e8a03859 New Log Details: Add support to sort displayed fields (#107635)
* Create LogLineDetailsDisplayedFields

* Log labels: properly implement plurals

* Pluralize

* LogListContext: pass setDisplayedFields

* LogLineDetailsDisplayedFields: update displayed fields

* LogLineDetails: scroll to item after opening details

* LogListContext: serve logOptionsStorageKey

* Update test

* Missing translations

* LogLineDetailsDisplayedFields: update styles

* LogLineDetails: update text selectors

* Update tests

* Reorganize log details: improve discoverability

* Update test
2025-07-08 11:57:28 +02:00
Tobias Skarhed
509990ca89 Variables: Change vis library from visj-network to vis-network (#107712)
* Change from visj-network to vis-network

* Check that ref exists

* Remove vis-util as a direct dependency

* Update betterer

* Address PR feedback
2025-07-08 09:30:46 +00:00
Fayzal Ghantiwala
de50c5a497 Alerting: Fix crypto_test.go errors in CI (#107759)
Fix test
2025-07-08 11:03:26 +02:00
Levente Balogh
5b7f06c24e Extensions: Wrap extension components with a sandbox wrapper div (#103064)
* feat(sandbox): wrap extension components with sandbox wrapper div

* fix: remove circular dependency

This was caused by sandbox_plugin_loader_registry -> helpers -> backend_srv -> ... plugin_loader -> setup.

* fix: add dependency to react hook

* tests: add tests for extensions sandbox wrapper

* fix: only wrap modal content after plugin loading

* chore: remove unused code

* Wip

* review(actions.ts): extract logic to function

* test: remove testing app id

* tests: fix extension utils tests

* tests: remove unnecessary code
2025-07-08 07:10:19 +02:00
Jacob Valdez
6c2574848f Docs: Updating team sync availability (#107721) 2025-07-07 16:07:50 -05:00
Gabriel MABILLE
1244f5c53d AuthZ: Add CoreRoleStorageBackend to the extension set (#103912)
* Wiring

* Trigger CI

---------

Co-authored-by: mohammad-hamid <mohammad.hamid@grafana.com>
2025-07-07 20:08:44 +02:00
Kristina
0f2284d5e6 Transformations: Reduce > Reduce fields should not persist labels between reducers (#107590)
Reduce fields should not persist labels updates between reducers
2025-07-07 12:05:55 -05:00
Paul Marbach
7181f8d89d TableNG: Update description for wrapHeaderText (#107722) 2025-07-07 12:36:41 -04:00
renovate[bot]
34c7ea9c28 Update dependency marked to v16 (#107717)
* Update dependency marked to v16

* mark marked as esmodule for jest

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-07-07 16:18:37 +00:00
Yuri Tseretyan
c93fd3ee9e Alerting: idempotent decrypt\encrypt operations on extra configs (#107592)
* add prefix to encrypted string to distinguish between unencrypted and encrypted ones

---------

Co-authored-by: Alexander Akhmetov <me@alx.cx>
2025-07-07 12:17:41 -04:00
Yuri Tseretyan
d15e1ad8d0 Alerting: Fix route validation in provisioning service (#107550)
* introduce ExtraConfigsCrypto
* delete getLastConfiguration and move all code into method Get
* update legacy store to encrypt ExtraConfigs same way we do in MultiOrgAlertmanager
* update legacy store init
* delete PersistConfig
* remove unnecessary unmarshalling
* add better error

* add tests for legacy store

* add tests that cover extra config validation

* add integration test for conflicting routes

---------

Signed-off-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2025-07-07 12:16:31 -04:00
Ashley Harrison
757886c704 Chore: ignore /mocks/** from the betterer results (#107708)
ignore /mocks/** from the betterer results
2025-07-07 17:02:59 +01:00
renovate[bot]
381cd95932 Update dependency i18next to v25 (#107707)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-07 16:48:05 +01:00
Ashley Harrison
31b71f79dd Internationalisation: Manual mark up following review (#107625)
* mark up and add confirmText to lint rule

* mark up and add ariaLabel to lint rule

* add confirmText to propertiesToCheck

* mark up and add body to propsToCheck

* mark up latest

* mark up 'Dashboard saved'

* mark up filterbyvalue options

* mark up tooltip options

* mark up and add lint rules for noOptionsMessage/loadingMessage

* mark up 'Convert field type'

* mark up placeholderText/noOptionsMessage

* mark up run query

* mark up variable editor fields

* mark up week start options

* mark up dashboard link options

* mark up prom options

* mark up builder/code toggles

* make CI happy

* kick CI
2025-07-07 16:43:19 +01:00
Yunwen Zheng
a2a28b207c KBARResults: Add Cmd+Enter/Ctrl+Enter to open links in new tab (#107537)
* KBARResults:add command+enter to open selected link in new tab
2025-07-07 11:37:35 -04:00
Todd Treece
37c480def4 K8s: Add support for stored subresources in app runner (#105481) 2025-07-07 11:25:23 -04:00
renovate[bot]
14eaa3975b Update scenes to v6.27.1 (#107703)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-07 14:56:40 +00:00
renovate[bot]
14e98d740b Update dependency swagger-ui-react to v5.26.2 (#107699)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-07 14:28:17 +00:00
renovate[bot]
df2e1d7ef2 Update dependency diff to v8 (#107684)
* Update dependency diff to v8

* remove @types/diff

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-07-07 14:02:03 +00:00
Matheus Macabu
cc069d301e Secrets: Skip allowlist check when decrypting if the list is empty (#107693) 2025-07-07 15:32:39 +02:00
Ivan Ortega Alba
075770070e Future-proofing query and data source model in Dashboard Schema v2 (#104194)
---------

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
Co-authored-by: alexandra vargas <alexa1866@gmail.com>
Co-authored-by: Haris Rozajac <haris.rozajac12@gmail.com>
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: Igor Suleymanov <igor.suleymanov@grafana.com>
Co-authored-by: spinillos <selenepinillos@gmail.com>
2025-07-07 15:31:25 +02:00
Levente Balogh
cfa05a63c5 Plugin Loader: Don't load an app plugin multiple times (#107579)
* fix(plugin_loader): don't import an app plugin twice

* review: extract IIFE to a separate function (async part of plugin loading)

* fix: remove code for testing
2025-07-07 15:05:13 +02:00
Georges Chaudy
7787ff6b2e unistore: add more kvstore tests (#107692)
add more kvstore tests
2025-07-07 15:00:40 +02:00
Gilles De Mey
ddbba7b460 Alerting: Add support for "alerting.notifications.routes.conflictingMatchers" (#107687)
add support for "alerting.notifications.routes.conflictingMatchers"
2025-07-07 14:56:31 +02:00
Andres Martinez Gotor
28ef5672c4 Update Advisor docs (#107683)
* Update advisor docs

* Update _index.md

---------

Co-authored-by: Anna Urbiztondo <anna.urbiztondo@grafana.com>
2025-07-07 14:53:09 +02:00
Levente Balogh
77f84e494d Plugin Extensions: Add error boundaries (#107515)
* feat(grafana-data): expose PluginContext

This is aimed to be used in the `PluginErrorBoundary` (which is a class component, and cannot use the hook.)

* feat(PluginErrorBoundary): add an error boundary for plugins

* feat(ExtensionsErrorBoundary): add an error boundary for extensions)

* feat(Extensions/Utils): wrap components with error boundaries

* feat(Plugins): wrap root plugin page with an error boundary

* fix: Fallback component should always be visible for onClick() modals

* review: use object arguments instead of positional ones for `renderWithPluginContext()`

* review: update `wrapWithPluginContext()` to receive args as an object

* refactor(AppChromeExtensionPoint): remove the error boundary

We have an error boundary on the extensions-framework level now

* refactor(ExtensionSidebar): remove the ErrorBoundary from the extensions

This is handled on the extensions-framework level now.

* test(ExtensionSidebar): add tests

* chore: translation extraction

* chore: prettier formatting

* fix(PluginErrorBoundary): remove unnecessary type casting
2025-07-07 14:51:04 +02:00
Andres Torres
c2b7acae35 chore(datasources): Adding debug logging to datasource provisioning when resource is not found in SqlStore (#107652) 2025-07-07 12:23:51 +00:00
Yash Suresh Chandra
b9fba95849 Dashboard: Fix cache validation to prevent stale cache (#105918)
* compare dashboard updated at while fetching

* test added

* added created field in dashboard dto meta object for k8s api. fixed cache updation check

* code refactor

* code formatting with prettier

* added created at field in DashboardPageProxy.test.tsx
2025-07-07 14:06:01 +02:00
Gareth
5a39f29c74 Prometheus: display a warning when subquery is used (#106199)
* display warning when subquery used

* lint fix

* update tests to work with new return value

* prettier

* use object shorthand

* only warn agains x:x, ignore 2x:x

* update error message

* prettier

* fix tests

* add tests

* prettier

* Update packages/grafana-prometheus/src/components/monaco-query-field/monaco-completion-provider/validation.ts

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>

* prettier

---------

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2025-07-07 13:04:07 +01:00
Sriram
3b6784cfcf Postgres: Regroup config page for TLS related settings (#107686) 2025-07-07 12:30:19 +01:00
Ashley Harrison
6ce2fac2bb Internationalisation: Mark up geomap panel edit options (#107140)
mark up geomap panel edit options
2025-07-07 11:30:11 +01:00
Georges Chaudy
9b7e2aa5f3 unistore: add custom kv grpc (#107464)
add StorageTypeUnifiedKVGrpc
2025-07-07 09:57:08 +00:00
renovate[bot]
3387971cf2 Update dependency swagger-ui-react to v5.26.1 (#107681)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-07 09:42:38 +00:00
renovate[bot]
344658fd48 Update dependency react-i18next to v15.6.0 (#107680)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-07 10:18:40 +01:00
renovate[bot]
4698e194d3 Update dependency react-hook-form to v7.60.0 (#107677)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-07 08:53:49 +00:00
renovate[bot]
6d1d0a2167 Update dependency react-draggable to v4.5.0 (#107647)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-07 09:30:02 +01:00
xavi
2d8f751e6d Auth: make skipTokenRotationIfRecent feature flag enabled by default (#107676) 2025-07-07 10:24:36 +02:00
Bogdan Matei
524d6055c0 Dashboards: Fix persisting repeated panels resize after edit (#107386) 2025-07-07 10:30:33 +03:00
Hugo Häggmark
68cbd23916 Chore: reduces barrel files (#107512)
* Chore: reduce barrel files

* chore: fixes unit test

* chore: fix broken path
2025-07-07 09:23:27 +02:00
Konrad Lalik
3e6d620d2c Alerting: Remove ruler from alert list view2 (#106778)
* wip

* Add working actions for GMA rules based on Prom-only API

* Remove Ruler-loader related code for Grafana rules

Co-authored-by: Sonia Augilar <sonia.aguilar@grafana.com>

* Remove outdated tests

* add some comments

* remove commented code

* remove showLocation property

* Add missing mocks in tests

* Add showLocation to GrafanaRuleListItem, improve useAbilities, address PR feedback

* Enhance GrafanaGroupLoader tests: Add permission checks and More button functionality

- Introduced user permission grants for alerting actions in tests.
- Added tests for rendering the More button with action menu options.
- Verified that each rule has its own action buttons and handles permissions correctly.
- Ensured the edit button is not rendered when user lacks edit permissions.
- Confirmed the correct menu actions are displayed when the More button is clicked.

* Update translations

---------

Co-authored-by: Sonia Aguilar <soniaaguilarpeiron@gmail.com>
Co-authored-by: Sonia Augilar <sonia.aguilar@grafana.com>
2025-07-07 09:13:09 +02:00
Gábor Farkas
acdb0e151c datasources: remove empty if (#105314) 2025-07-07 08:58:48 +02:00
grafana-pr-automation[bot]
214fdc791d I18n: Download translations from Crowdin (#107659)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-05 00:36:53 +00:00
xavi
5b5d5fe675 Auth: fix role_attribute_path when using ID tokens in Gitlab OAuth (#107634) 2025-07-04 23:58:04 +02:00
Tobias Skarhed
ab676ce035 Loki: Add scope filters to queries on the frontend (#104638)
* Add scopes to queries in DataSourceWithBackend

* Remove Prometheus-specific solution

* Readd prometheus support

* move scopes reordering ti loki ds

* Add tests and logQLScope feature flag

* Move featureToggles to before/after each

* Remove irrelevant file change
2025-07-04 18:35:52 +02:00
Paulo Dias
5edbdb7c4f Loki: Fix label browser not sorted after selection of a label (#107394)
* Explore(Loki): fix label browser not sorted after selection of a label

Signed-off-by: Paulo Dias <paulodias.gm@gmail.com>

* fix: use collator instead of localCompares

Signed-off-by: Paulo Dias <paulodias.gm@gmail.com>

---------

Signed-off-by: Paulo Dias <paulodias.gm@gmail.com>
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2025-07-04 18:15:29 +02:00
renovate[bot]
fe3d06928f Update dependency msw to v2.10.3 (#107643)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-04 16:08:03 +00:00
Isabel Matwawana
9112d86c04 Doc: Remove dynamic dashboards section (#107642) 2025-07-04 16:05:30 +00:00
renovate[bot]
835691b46f Update dependency marked-mangle to v1.1.11 (#107640)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-04 15:29:11 +00:00
Matheus Macabu
59542bb95a Extensions: Undo removal of required enterprise dependencies (#107641) 2025-07-04 15:26:47 +00:00
Jean-Philippe Quéméner
3abe84121f feat(config): add config ensure_default_org_and_user (#107619) 2025-07-04 17:19:53 +02:00
renovate[bot]
cc2eac7f84 Update typescript-eslint monorepo to v8.35.1 (#107633)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-04 14:48:26 +00:00
Josh Hunt
443ea5924c Eslint: Allow 'unset' in no-border-radius-literal lint rule (#106619)
* allow border radius of 0

* Prefer unset or initial over 0

* readme

* add an autofix for 0 -> unset

* replace 0 with unset

* fix fixes tests

* fix snapshot

* Fix lint in SecretFormField

* fix unused cx
2025-07-04 15:43:48 +01:00
renovate[bot]
efbcf9d8f7 Update dependency @prometheus-io/lezer-promql to v0.304.2 (#107631)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-04 14:30:53 +00:00
Yunwen Zheng
107c7fd8df fix empty folder form on root folder level (#107630) 2025-07-04 14:13:15 +00:00
Ashley Harrison
1e3f7bfd67 Internationalisation: Enable automatic scheduling for translations (#107629)
enable schedule for crowdin task creation
2025-07-04 14:08:17 +00:00
renovate[bot]
81a20caf6b Update dependency @floating-ui/react to v0.27.13 (#107628)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-04 14:06:53 +00:00
renovate[bot]
17ecd4c051 Update dependency typescript to v5.8.3 (#101501)
* Update dependency typescript to v5.8.3

* get correct window type

* fix @grafana/data

* update lockfile

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-07-04 14:43:01 +01:00
Carl Bergquist
d0c474019a Go: exclude github.com/RoaringBitmap/real-roaring-datasets since it doesn't contain a LICENSE file. (#107609)
go.mod: exclude package without license file

Signed-off-by: bergquist <carl.bergquist@gmail.com>
2025-07-04 15:32:02 +02:00
Arati R.
650abfd2ff Unified Storage: Remove distributor todo comment (#107623)
Remove todo
2025-07-04 12:59:22 +00:00
Georges Chaudy
6bb74ff56a unistore: add key validation (#107622) 2025-07-04 12:52:24 +00:00
Dana Axinte
46c38fdbb7 SecretsManager: Introduce worker and secret async service (#107614)
SecretsManager: Introduce worker and secret aysnc service

Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
Co-authored-by: Michael Mandrus <michael.mandrus@grafana.com>
2025-07-04 13:13:48 +01:00
Josh Hunt
76a21fb2e2 Docs: Clarify that log level critical is just an alias for error (#107454)
Docs: Clarify that level = critical is just an alias for error
2025-07-04 13:09:19 +01:00
Matias Chomicki
3ba2457a70 Query splitting: Interpolate queries at the start of the process (#107534)
* Loki query splitting: interpolate queries before execution

* Update tests

* Prettier

* shardQuerySplitting: remove unnecessary call
2025-07-04 11:45:30 +00:00
Arati R.
dcb853d309 Unified Search: Remove resource-server-specific methods from distributor (#107607)
* Remove resource-server-specific methods from distributor
* Remove BlobStoreServer interface implementation from distributor
2025-07-04 12:48:27 +02:00
Josh Hunt
4d93380753 Storybook: Deploy PR previews (#107322)
* Create workflow to build storybook

* rename action, gate to non-forks

* fix my branch name

* add upload to gcs

* fix permissions

* login first

* try prod env

* remove login

* clean up GHA

* try to upload storybook to better path

* better cache node modules

* specify parent: false

* write summary

* fix summary url

* comment

* add comment

* fix commit hash

* add issue number to new comment

* remove comment stuff

* codeowners

* change deploy name preview

* fix
2025-07-04 11:35:52 +01:00
Bogdan Matei
47e5bd2316 TimeSeries/Trend: Fix infinite loop (#107615) 2025-07-04 09:26:43 +00:00
grafana-pr-automation[bot]
c02f76d89a I18n: Download translations from Crowdin (#107601)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-04 09:08:21 +00:00
Misi
713f6d1551 IAM: Move resource definitions to apps/iam step 1 (#107389)
* wip

* Use serviceaccount model from /apps/iam

* revert version update

* Add tembinding, userteam, other improvements

* Change serviceaccounttoken spec

* Revert the change of ServiceAccountToken

* Revert the change of UserTeam

* Clean up

* Remove files that are not needed for now

* Lint

* Update sql query's integration tests

* Fix tests

* update openapi spec

* Move LastSeenAt to the annotations

* Updte openapi_snapshots

* Change lastSeenAt annotation name
2025-07-04 11:07:48 +02:00
Hugo Kiyodi Oshiro
c7374b6910 Alerting: Add Synthetic and IRM link cards (#107538) 2025-07-04 10:52:43 +02:00
Dana Axinte
15e1aa8855 SecretsManager: Introduce decrypt store (#107586)
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
Co-authored-by: Michael Mandrus <michael.mandrus@grafana.com>
Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>
2025-07-04 09:22:10 +01:00
Tobias Skarhed
ea4f783ebe Dependencies: Add resolution for outdated transitive deps (#107559)
* Add resolution for jsonlint

* Update get-document and gitconfiglocal
2025-07-04 09:26:16 +02:00
Sven Grossmann
a1f1196352 Test Data Source: Allow inputs to render 0 values (#107578) 2025-07-04 08:33:33 +02:00
Leon Sorokin
f2ffdd39ca TableNG: Reduce how often we re-measure row height (#107604) 2025-07-04 02:46:03 +00:00
Matias Chomicki
41014f29ed New Log Details: Create initial component for Log Details (#107466)
* Log Details: fork and refactor as functional

* LogDetailsBody: refactor styles

* LogDetails: decouple from old panel

* LogDetails: extract and centralize styles

* LogDetailsRow: refactor as functional

* Fix unused

* Fix wrong label

* LogDetails: create new component

* LogLineDetails: process links and add sample sections

* LogLineDetails: create and use LogLineDetailsFields

* LogLineDetails: group labels by type

* LogLineDetails: render all fields

* Removed unused components

* Fix imports

* LogLineDetails: fix label

* LogLineDetailsFields: fix stats

* LogLinedetailsFields: add base styles

* LogLineDetails: store open state

* getLabelTypeFromRow: internationalize and add plural support

* LogLineDetails: get plural field types

* LogLineDetails: sticky header

* LogLineDetails: introduce log details header

* LogLineDetails: extract into submodules

* LogDetails: add more header options and store collapsed state

* LogDetails: add scroll for log line

* LogLineDetailsHeader: add log line toggle button

* LogLineDetailsFieldS: improve sizes

* LogLineDetails: add search handler

* LogLineDetailsFields: implement search

* LogLineDetailsFields: switch to fixed key width

* LogLineDetailsFields: refactor fields display

* Link: remove tooltip

* Fix translations

* Revert "Link: remove tooltip"

This reverts commit cd927302a7889b9430008ae3b81ace0aed343f5f.

* LogLineDetailsFields: switch to css grid

* Remap new translations

* LogLineDetails: implement disable actions

* LogLineDetailsFields: migrate links to css grid

* LogLineDetailsFields: migrate stats to css grid

* LogLabelStats: make functional

* LogLineDetailsHeader: refactor listener

* LogLineDetailsFields: decrease column minwidth

* Reuse current panel unit tests

* Translations

* Test search

* Update public/app/features/logs/components/panel/LogLineDetails.test.tsx

* LogLineDetailsHeader: fix zIndex

* Create LogLineDetailsDisplayedFields

* Revert "Create LogLineDetailsDisplayedFields"

This reverts commit 57d460d966483c3126738994e2705b6578aac120.

* LogList: recover unwrapped horizontal scroll

* LogLineDetails: apply styles suggestion

* LogLineDetailsComponent: fix group option name

* LogLineDetailsHeader: tweak styles

* LogLineDetailsComponent: remove margin of last collapsable
2025-07-03 22:57:14 +02:00
Paul Marbach
de370fb311 Chore: Upgrade scenes to 6.27.0 (#107594)
chore: upgrade scenes to 6.27.0
2025-07-03 15:42:09 -05:00
Carl Bergquist
115b639c54 Parca: upgrades to parca package to version that includes LICENSE file. (#107576)
deps: upgrade parc dep

Signed-off-by: bergquist <carl.bergquist@gmail.com>
2025-07-03 22:41:39 +02:00
Paul Marbach
dd6a231aad TableNG: Add option to wrap header text (#107338)
* TableNG: wrapped header text option

* reorganize variable names and code for easier reuse

* refine height math

* move empty string check to after null check

* add tests for useHeaderHeight

* maybe a bit faster

* cleanup to avoid creating fns and objects all the time, some tests

* fix unit test

* cell was using panel height

* add borders between header cells to make resizing more obvious

* fix tests

* changes from mob review

* jk

---------

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2025-07-03 14:21:58 -05:00
Ryan McKinley
20f30462ad DataSource: Support updating configs using UID (#107486) 2025-07-03 10:18:19 -07:00
Dana Axinte
a59ec345c2 SecretsManager: Introduce metrics and logs (#107582)
Co-authored-by: Michael Mandrus <michael.mandrus@grafana.com>
2025-07-03 17:32:18 +01:00
Nathan Vērzemnieks
66d9a33cc9 Datasources: Update grafana-aws-sdk for new sigv4 middleware and aws-sdk-go v1 removal (#107522)
Datasources: Update grafana-aws-sdk
2025-07-03 17:48:57 +02:00
Yunwen Zheng
4414b92e93 Git UI Sync Create Dashboard: Fix update dashboard path field when folder selection changes (#107482)
Git UI sync when update folder selection, path field doesnt get update in the edit form
2025-07-03 11:19:09 -04:00
Matheus Macabu
27741d9a0c Air: Send interrupt signal for graceful server shutdown (#107507)
* Air: Dont run make gen-jsonnet

* Air: Send interrupt signal for graceful shutdown and wait 500ms
2025-07-03 16:50:48 +02:00
Dana Axinte
cfd3b9f582 SecretsManager: outbox use message id (#107472)
* SecretsManager: outbox use message id

Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>

* Remove query timestamp

* Add missing query

---------

Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
Co-authored-by: Matheus Macabu <macabu.matheus@gmail.com>
2025-07-03 15:21:47 +01:00
ismail simsek
aa22cf9e1f Prometheus: Don't use empty matcher if there is no match parameter (#107569)
* don't use empty matcher

* nit updates
2025-07-03 14:16:23 +00:00
Andrej Ocenas
e76f470b44 NestedFolderPicker: Migrate to app platform API (#106926)
* Add /children endpoint

* Update folder client

* Add comment

* Add feature toggle

* Add new version of useFoldersQuery

* Error handling

* Format

* Rename feature toggle

* Remove options and move root folder constant

* Fix feature toggle merge

* Add feature toggle again

* Rename useFoldersQuery files

* Update API spec

* Fix test

* Add test

* Better typings

---------

Co-authored-by: Clarity-89 <homes89@ukr.net>
2025-07-03 16:15:23 +02:00
Gareth
185ce90a4b Jaeger: Enable jaegerBackendMigration feature toggle by default (#107526)
* Jaeger: Enable jaegerBackendMigration feature toggle by default

* fix test

* update old-arch test
2025-07-03 14:45:22 +01:00
Victor Cinaglia
4f66c4a2a1 iam: Refresh live connection when ID tokens expire (#107209)
* iam: refresh live connection when ID tokens expire

* add coverage for the handler functions

* reinstate inadvertently broken unit test
2025-07-03 10:16:24 -03:00
Georges Chaudy
8d8b824f73 unistore: skipping badger test failing atm (#107572)
skipping badger test failing atm
2025-07-03 12:31:07 +00:00
Dana Axinte
4d8678c7f2 SecretsManager: Add base encryption manager (#107562)
Co-authored-by: Michael Mandrus <michael.mandrus@grafana.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
2025-07-03 11:29:14 +01:00
Ivan Ortega Alba
93c14c52da Migrations: Compare backend and frontend outputs to ensure feature parity (#106851)
* wip: trying to understand how to get the ds info from migrator

* add datasource info provider

* Use DS service to fetch DS data

* add more tests cases to match with migrator cases

* Add snapshots

* Non-existing DS

* Add different DS for snapshots

* fix import

* Fix tests: guard against double initialization

* don't use full datasource package in test

* min version should be 35

* fix test

* fix conversion test

* Dashboards: Support schemaVersion v35 migration in backend

* Dashboards: Support schemaVersion v34 migration in backend

* Dashboards: Support schemaVersion v33 migration in backend

* Apply suggestions from code review

Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>

* Apply feedback

* Remove unused parameters

* Refactor to follow Go patterns

* Update logic

* Only write final migration result as output

* Compare backend and frontend results

* Improve snapshots to cover all possible use cases

* Linter

* wip make it consistent v33

* apply feedback

* Return default when the ref cannot be found

* Update apps/dashboard/pkg/migration/schemaversion/v33.go

Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>

* apply feedback

* Use same mocks backend/frontend

* restore migrations

* update snapshots

* Adapt migration tests to use min versions

* Ensure v40-v41 works

* Ensure v39-v40 works

* Simplify the naming of the files

* adjust jest to new input convention

* Ensure every migration v36-v41 works

* Improve v38 naming

* Ensure v36 migrates correctly

* Skip v36 refs migrations on rows

* Treat rows as frontend and ensure same results for v36

* Ensure v34 runs with the same logic than the frontend

* Leave empty stadistics as valid option

* ensure v33 is working as the frontend

* Update tests

* Undo frontend changes for legend handling

* Remove filtering by version in the frontend

* linter

* Clean up v33 input JSON

---------

Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>
Co-authored-by: Haris Rozajac <haris.rozajac12@gmail.com>
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-07-03 12:23:51 +02:00
Mustafa Sencer Özcan
b7153d4d20 fix: grpc resource delete error when qos enabled (#107560) 2025-07-03 12:02:05 +02:00
Peter Štibraný
041c343a86 Unified storage: Respect GF_DATABASE_URL override (#105331)
* Database for unified storage resources now reuses DB code that respects URL override.

Access instrument_queries via section getter.
2025-07-03 09:57:40 +00:00
Josh Hunt
9652f07e56 Storybook: Serve msw worker from relative path (#107561) 2025-07-03 10:51:11 +01:00
Dana Axinte
f51db112d4 SecretsManager: Add decrypt service (#107473)
* SecretsManager: Add decrypt service

Co-authored-by: Dana Axinte <53751979+dana-axinte@users.noreply.github.com>

* Missed space to sync files
2025-07-03 10:41:38 +01:00
Misi
a7bfd8e351 Auth: Remove ssoSettingsApi feature toggle (#107528)
* Remove ssoSettingsApi feature toggle

* Clean up

* lint

* Fix tests
2025-07-03 10:53:33 +02:00
Peter Štibraný
e076c74869 sqltemplate, dbimpl: Remove single-method function types (#107525)
* Remove dbProviderFunc function.

This removes one extra indirection that made the code bit more difficult to navigate.

* Remove indirection function types implementing single-method interfaces.

This streamlines the code and makes it bit easier to navigate.

* Update pkg/storage/unified/sql/sqltemplate/dialect_mysql.go

Co-authored-by: Mustafa Sencer Özcan <32759850+mustafasencer@users.noreply.github.com>

---------

Co-authored-by: Mustafa Sencer Özcan <32759850+mustafasencer@users.noreply.github.com>
2025-07-03 10:38:12 +02:00
Arati R.
a68f8107df Unified Storage/Large Object Support: Add test for dashboardv2 support (#107470)
* Add more unit tests to cover dashboardv2 and cross version unmarshalling

Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com>

* Change import name of meta v1

* Rename TestLargeDashboardSupport since there are tests for multiple versions

* Simplify TestLargeDashboardSupportV2

* Use v1 in TestLargeDashboardSupportCrossVersion, simplify original dash

* Marshal spec in TestLargeDashboardSupportCrossVersion

* Remove TestLargeDashboardSupportCrossVersion

---------

Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com>
Co-authored-by: Bruno Abrantes <bruno@brunoabrantes.com>
2025-07-03 07:13:56 +02:00
Ryan McKinley
acabe86153 APIServer: Exclude internal GroupVersionKind from openapi (#107551) 2025-07-02 19:32:01 -07:00
Alyssa (Bull) Joyner
41eb49ad03 [InfluxDB] Fix event tracking bug (#107548) 2025-07-02 16:38:01 -06:00
colin-stuart
b6eacc929a Auth: Check SCIM dynamic settings when syncing users (#107487)
* Auth: Check SCIM dynamic settings when syncing users

* remove enterprise package import

* add CODEOWNERS

* lint

* use default namespace & update tests

* add optional dynamic AllowNonProvisionedUsers setting

* update test case with allowNonProvisionedUsers
2025-07-02 15:23:06 -05:00
Pepe Cano
61efc8b609 docs(alerting): clarify usage of different Alertmanagers and fix misleading details (#107498)
* docs(alerting): clarify usage of different Alertmanagers and fix misleading details

* address review changes
2025-07-02 21:46:29 +02:00
Alexander Akhmetov
b483a04aec Alerting: Send merged configuration to the remote alertmanager (#107004) 2025-07-02 21:35:24 +02:00
Kevin Minehart
d57155a19b CI: Support large build IDs in artifact builds (#107533)
* CI: Support large build IDs in artifact builds

* Use run_id instead of run_number in prerelease builds
2025-07-02 18:43:59 +00:00
Moustafa Baiou
11ea1dfba8 Alerting: Fix notification policy conflicts originating from provenance mismatch (#107343)
* Alerting: Fix notification policy conflicts originating from provenance mismatch

Sometimes the provenance field on the notification policy route can mismatch with the actual provenance in the provenance store.

This leads to 409s when trying to update the notification policy via the k8s apis.

We avoid this by ignoring the provenance field when calculating the fingerprint.

Co-authored-by: Matt Jacobson <matthew.jacobson@grafana.com>

* fix tests which validate stability

---------

Co-authored-by: Matt Jacobson <matthew.jacobson@grafana.com>
2025-07-02 17:26:27 +00:00
Andreas Christou
d9a8253640 Azure: Update dashboards (#107481)
Update dashboard
2025-07-02 15:18:36 +01:00
Andreas Christou
a01b1536f9 Graphite: Fix date mutation (#107414)
* Fix date mutation

- Add unit test
- Improve types

* Add invalid test and minor cleanup

* Review
2025-07-02 15:11:32 +01:00
Andreas Christou
bae8d98a9f Graphite: Update dashboards (#107479) 2025-07-02 15:57:09 +02:00
Leon Sorokin
83396e2080 StateTimeline: Show error when Time type field has invalid values (#107491) 2025-07-02 08:51:20 -05:00
Alexander Zobnin
0e41f58db9 Zanzana: Add detailed instructions for running and instrumenting (#107237)
* Zanzana: Add detailed instructions for running and instrumenting

* Running Zanzana standalone server WIP

* Describe how to run zanzana server

* Fix readme link

* Update cli info

* update how to run postgres
2025-07-02 15:33:08 +02:00
Matheus Macabu
f32d944b23 Secrets: Add initial tracing instrumentation (#107513) 2025-07-02 14:43:36 +02:00
Matheus Macabu
b340b3fb7b Secrets: Add GetType for KeeperSpec and clean-up unused Envelope (#107511)
Co-authored-by: Michael Mandrus <michael.mandrus@grafana.com>
2025-07-02 14:33:23 +02:00
Matheus Macabu
7614089077 Secrets: Only register dependencies to start up (#107504) 2025-07-02 14:02:52 +02:00
Georges Chaudy
d55541735a unistore: use different ns for each test (#107509)
use different ns for each test
2025-07-02 13:50:30 +02:00
Georges Chaudy
696657bdd1 unistore: add kv based storage backend (#107305)
* Add datastore

* too many slashes

* lint

* add metadata store

* simplify meta

* Add eventstore

* golint

* lint

* Add datastore

* too many slashes

* lint

* pr comments

* extract ParseKey

* readcloser

* remove get prefix

* use dedicated keys

* parsekey

* sameresource

* unrelated

* name

* renmae tests

* add key validation

* fix tests

* refactor a bit

* lint

* allow empty ns

* get keys instead of list

* rename the functions

* refactor yield candidate

* update test

* unistore: add LastResourceVersion to datastore

* lint

* use map string

* missing err check

* fix

* Add storage backend

* remove hasmore

* fix tests

* small refactor

* pre-alloc

* extract the folder

* lint

* refactor

* handle context canceled in ListHistory to pass the tests

* fix the resource test

* unistore: provide generic tests for the kv interface (#107443)

unistore: move the kv tests to the testing package

* Update pkg/storage/unified/resource/storage_backend_test.go

Co-authored-by: Peter Štibraný <pstibrany@gmail.com>

* address comments

* comments

* comments

* comments

* normalise the names and add helper method

* events comments

* rename function

---------

Co-authored-by: Peter Štibraný <pstibrany@gmail.com>
2025-07-02 10:57:37 +00:00
Tobias Skarhed
f0a5829eb7 Annotations: Don't run disabled queries (#107463)
* Bump version

* Bump to released version
2025-07-02 10:08:57 +00:00
Ivana Huckova
5cd3ad76ee Loki: Remove lokiQueryHints feature toggle (#106620)
* Loki: Remove lokiQueryHints feature toggle

* Remove unused imports

* Fix tests
2025-07-02 12:08:22 +02:00
Mustafa Sencer Özcan
3674d952a6 fix: use database section for resource server db engine configuration (#107495) 2025-07-02 09:00:51 +00:00
Dana Axinte
01c844b69f SecretsManager: Revert adding data key tracer (#107499)
Remove data key tracer
2025-07-02 09:09:12 +01:00
Hugo Häggmark
bfd33467fb Tests: removes jest duplicate manual mock warning (#107459)
* Tests: removes jest duplicate manual mock warning

* Trigger build

* Trigger build
2025-07-02 09:25:25 +02:00
Mihai Doarna
8760d280f7 Docs: Fix links from supported providers in team sync page (#107468)
fix links from supported providers to team sync
2025-07-02 10:02:53 +03:00
grafana-pr-automation[bot]
76639ea958 I18n: Download translations from Crowdin (#107436)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-02 00:37:47 +00:00
alerting-team[bot]
68f68a5224 Alerting: Update alerting module to cea2d168394577afdb58105f79f47885febddf35 (#107484)
[create-pull-request] automated change

Co-authored-by: alexander-akhmetov <1875873+alexander-akhmetov@users.noreply.github.com>
2025-07-02 01:32:14 +02:00
Leon Sorokin
79c39e7907 TimeSeries/Trend: Fix sparse points rendering heuristic (#107279) 2025-07-01 15:03:53 -05:00
Will Assis
fe7ca61a51 unified-storage: Missing rename of index_server to search_server (#107469)
* rename
2025-07-01 14:35:46 -04:00
Yunwen Zheng
fdf4935e42 Git sync create folder flow refactor to use new hook (#107422)
* Git sync create folder flow refactor to use new hook

---------

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2025-07-01 12:19:48 -04:00
Ryan McKinley
8b9e57f2f6 OFREP: Enable with standard aggregation (#107349) 2025-07-01 09:17:36 -07:00
beejeebus
73e2ead04b Add checksums to SHA256 mismatch error message (#107461)
This should make it easier to debug this issue if we see it again.
2025-07-01 12:02:54 -04:00
Adela Almasan
1620f028b4 TableNG: Fix click events bubbling up (#107156) 2025-07-01 15:27:06 +00:00
Will Assis
f09e85c048 unified-storage: Distributor rename to better reflect that it'll be used for search (#107409)
* rename distributor/ring references to "storage-api" to "search-server"
2025-07-01 11:15:10 -04:00
Kristina
f460e02913 Transformations: GA the Regression transformation (#106074)
* First draft of removing flag, regenerating flags and content

* Add description to catalog entry

* fix gdev dashboard
2025-07-01 08:59:22 -05:00
Matias Chomicki
da7b83c1bb ControlledLogRows: pass filter levels (#107448) 2025-07-01 14:19:25 +02:00
Jean-Philippe Quéméner
9a92900ef3 fix(unified-storage): remove 's' in config parameter (#107457) 2025-07-01 14:06:21 +02:00
Matheus Macabu
d36225990e Server: Regenerate wire (#107451) 2025-07-01 13:52:28 +02:00
Jean-Philippe Quéméner
d76e55371a fix(unified-storage): use the provided connection config parameters (#107455)
* fix(unified-storage): use the provided connection config parameters

* extend tests

* make update-workspace
2025-07-01 11:25:16 +00:00
Agnès Toulet
03fff523b1 Docs: Update render service tracing (#106698)
Co-authored-by: jtvdez <jacob.valdez@grafana.com>
2025-07-01 12:10:58 +02:00
Serge Zaitsev
406923f912 Chore: Commit wire_gen.go (#107410)
* commit wire_gen.go

* do not generate code in ci
2025-07-01 11:56:27 +02:00
Matias Chomicki
855f133d1e New Logs Panel: fix unwrapped logs display (#107391)
* LogLine: remove new lines in unwrapped mode

* Displayed fields: fix displayed fields when the body is included

* LogLine: prevent overflows from extremely long lines with incorrect width measurement

* Update tests

* virtualization: test calculateFieldDimensions

* getGridTemplateColumns: consider displayed fields to set the grid sizes

* LogList: hide overflowing fields in unwrapped mode

* processing: extract regex

* LogLine: improve hover and selected state

* virtualization: strip ansi color codes for measurement

* Update tests

* LogLine: improve log line pre-resize state

* Revert "LogLine: improve log line pre-resize state"

This reverts commit a6b4ddded5.

* LogLine: improve hover/active color
2025-07-01 09:55:26 +00:00
Mustafa Sencer Özcan
974a2c47f9 feat(unified-storage): add qos support for the resource server (#105939) 2025-07-01 09:22:55 +00:00
Ivana Huckova
71a4f20770 Zipkin: Decouple backend (#107312)
* Zipkin: Decouple backend

* Update

* Remove core import
2025-07-01 08:58:00 +00:00
Andres Martinez Gotor
2294620b2e Advisor: Include optional more info in failures (#107244) 2025-07-01 10:49:16 +02:00
Ivana Huckova
08f3cfbbf7 Jaeger: Decouple backend (#107310)
* Jaeger: Decouple backend

* Update

* Remove core import
2025-07-01 10:36:35 +02:00
Misi
2f8c1a3c48 Auth: Enable improved session handling by default for OAuth and SAML (#107442)
Enable improved session handling by default
2025-07-01 10:33:10 +02:00
Hugo Häggmark
bd14061367 Plugin Extensions: adds source and id to mutation logs (#107385)
* Plugin Extensions: adds source and id to mutation logs

* chore: fix broken tests

* chore: updates after PR feedback
2025-07-01 09:58:44 +02:00
Dana Axinte
b46e305cb2 SecureValues: Remove actor prefix from decrypters (#107433)
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
2025-07-01 08:40:26 +01:00
Konrad Lalik
3a38832ff6 Alerting: Fix group interval override when adding new rules (#107324)
* Fix group interval override when adding new rules to existing groups

* Fix lint errors

* Update tests snapshots

* Update tests snapshots

* Fix GrafanaGroupLoader
2025-07-01 09:11:17 +02:00
Hugo Häggmark
24138bde70 Plugin Extension: improves mutation logs (#107370)
* Plugin Extension: improves  mutation logs

* chore: removes feature toggle

* chore: rename function
2025-07-01 06:10:57 +02:00
Leon Sorokin
38e1f900e7 TableNG: Specialize cell root and cell content renderers (#107427) 2025-07-01 02:38:26 +00:00
Larissa Wandzura
dec2df8379 Docs: Updated the Graphite data source docs (#105426)
* initial edits

* edits to config doc

* query editor updates

* ran prettier

* updates

* made more updates

* final edits

* ran prettier, updated some descriptions

* a few more quick edits

* one more definition
2025-06-30 21:37:49 +00:00
Dana Axinte
d28594d2f9 SecretsManager: Limit of 24kiB for raw input for secure value (#107403)
* SecureValues: Add limit of 24kiB for raw input

Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>

* Fix lint

---------

Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
2025-06-30 22:28:41 +01:00
Isabel Matwawana
0a90b7b5e9 Docs: Add Undo and redo to dynamic dashboards (#107206) 2025-06-30 14:43:45 -04:00
Isabel Matwawana
752105fcf9 Docs: Replace refs with full URLs in shared files (#107198) 2025-06-30 14:43:17 -04:00
Alex Spencer
3497c85593 ConvertFieldType: Handle undefined values in joinWith (#106712)
fix: escalation fix - groupBy with joinWith
2025-06-30 11:42:35 -07:00
Stephanie Hingtgen
b1d3155b60 K8s: Library Panels: Add rerouting for get (#107362) 2025-06-30 13:26:24 -05:00
Kristina
6cc26233fd Transformations: Add better unique frame naming for regression analysis (#107057)
* Add better unique naming for regressions

* dont capitalize model type if polynomial

* 🙈
2025-06-30 11:29:01 -05:00
Dana Axinte
0fccc01ebe SecretsManager: add data key store (#107396)
* SecretsManager: Add data key store

Co-authored-by: Michael Mandrus <michael.mandrus@grafana.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
Co-authored-by: Dana Axinte <53751979+dana-axinte@users.noreply.github.com>

* SecretsManager: Add wiring of data key store

Co-authored-by: Michael Mandrus <michael.mandrus@grafana.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
Co-authored-by: Dana Axinte <53751979+dana-axinte@users.noreply.github.com>

---------

Co-authored-by: Michael Mandrus <michael.mandrus@grafana.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
2025-06-30 17:17:07 +01:00
Drew Slobodnjak
2d634639a2 Geomap: Render one marker at duplicate coordinates (#106962)
* Geomap: Render one marker at duplicate coordinates

* Take into account all dims for uniqueness

* Simplify marker uniqueness key
2025-06-30 09:06:16 -07:00
Serge Zaitsev
64e10eb95f Chore: Make builds a bit less verbose (#107393)
* make builds a bit less verbose

* retrigger
2025-06-30 17:35:45 +02:00
Torkel Ödegaard
ceee0b9c12 UserAdmin: Inform about enterprise user features (#106632)
* UserAdmin: Inform about enterprise user features

* Update

* Update

* Update

* Update

* Update

* New design

* Update

* Update

* Update

* Update

* Update link

* fix import

* refactor to brand badge to component

* Update

* Update

* Update

* Update

* Update links
2025-06-30 17:23:11 +02:00
Gilles De Mey
5a8a04cb25 Enable remote write receiver by default for the prometheus devenv block (#107179) 2025-06-30 15:11:43 +00:00
Ivana Huckova
bc425a7993 Loki: Remove experimental lokiQuerySplittingConfig (#107298)
* Loki: Remove experimental lokiQuerySplittingConfig

* Remove unused imports
2025-06-30 16:41:00 +02:00
Isabel Matwawana
12d7b804eb Docs: Fix graph styles and axis options content (#107008)
Co-authored-by: Irene Rodríguez <irene.rodriguez@grafana.com>
2025-06-30 10:40:13 -04:00
Serge Zaitsev
1ce82abfa3 Chore: Prepare Wire to generate files that can be committed to the repo (#107382)
* add generated tags to wire

* add enterprise wire gen target to makefile

* make gen-go invoke enterprise

* change go:generate command

* handle empty genTags properly

* update golden files for wire

* use build tag for swagger generator

* fix comments
2025-06-30 16:39:21 +02:00
Jo
86543e0f91 Access: Disable role none option if advanced access control is not enabled (#107378)
* disable role none option if advanced access control is not enabled

* filter out None instead

* fix lint
2025-06-30 16:35:17 +02:00
Gilles De Mey
a7ff16bbbe Storybook: Bypass unmatched msw requests (#107395) 2025-06-30 14:29:14 +00:00
ismail simsek
c1a5e6bbf1 Prometheus: Preserve custom variables as function parameters after parsing the expression (#106661)
* preserve custom variables as function parameters after parsing the expression

* replaced variable check
2025-06-30 14:24:06 +00:00
Ivana Huckova
dd5c545df9 Loki: Remove lokiStructuredMetadata feature toggle (#107292)
Loki: Remove lokiStructuredMetadata feature toggle
2025-06-30 16:09:44 +02:00
Ivana Huckova
cc542f2b91 Loki: Remove experimental predefined operations (#107289)
* Loki: Remove experimental predefined operations

* Fix lint
2025-06-30 16:08:36 +02:00
Ivana Huckova
7f2aed42a0 Plugins: Fix and encode invalid gRPC header values (#107339)
* Plugins: Fix and encode invalid gRPC header values

* Rename the method

* Run sanitizeHTTPHeaderValueForGRPC only if string includes utf8

* Update test

* Simplify

* Update

* do not double encode encoded characters

* Update test

* Update

* Add test case based on review

* Update test
2025-06-30 15:58:05 +02:00
Georges Chaudy
46094a16c7 unistore: add LastResourceVersion to the datastore (#107303)
* Add datastore

* too many slashes

* lint

* add metadata store

* simplify meta

* Add eventstore

* golint

* lint

* Add datastore

* too many slashes

* lint

* pr comments

* extract ParseKey

* readcloser

* remove get prefix

* use dedicated keys

* parsekey

* sameresource

* unrelated

* name

* renmae tests

* add key validation

* fix tests

* refactor a bit

* lint

* allow empty ns

* get keys instead of list

* rename the functions

* refactor yield candidate

* update test

* unistore: add LastResourceVersion to datastore

* lint

* use map string

* missing err check

* fix
2025-06-30 15:49:26 +02:00
maicon
55e29d4405 Unistore: Reenable integration tests (#107340)
* Unistore: Reenable integration tests

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-06-30 10:32:12 -03:00
Will Assis
7aad041f70 unified-storage: Add integration tests for distributor (#105771)
* Add integration tests for distributor
2025-06-30 09:31:58 -04:00
Leon Sorokin
99782ae406 TableNG: Refactor to better take advantage of react-data-grid (#103755) 2025-06-30 07:18:23 -05:00
Jo
7940da4803 Fix organization deletion error messages (#107380)
* Fix organization deletion error messages

- Improve error message clarity when attempting to delete active organization
- Fix incorrect 'Failed to update organization' message to 'Failed to delete organization'
- Update comment to be more precise about the check being performed

Fixes #92792

* Improve error handling in organization deletion service

- Add contextual error message when dashboard deletion fails during org deletion
- Include organization ID in error message for better debugging
- Import fmt package for error formatting

This helps administrators understand which specific organization failed
during the deletion process when dashboard cleanup encounters issues.

* Fix typo in unified resource access error message

Change 'Namespace missmatch' to 'Namespace mismatch' for correct spelling.
2025-06-30 13:58:37 +02:00
Jean-Philippe Quéméner
7ebea688ef fix(unified-storage): return empty list instead of nil (#107384) 2025-06-30 13:53:58 +02:00
Steve Simpson
4d4fe4ad20 Library Elements: Fix side effects between integration tests (#107383) 2025-06-30 11:18:19 +00:00
alifeee
a4e3f16ff7 change grafana-server to grafana server (#107131) 2025-06-30 10:58:35 +00:00
Matheus Macabu
22fbcae11b Dependencies: Bump github.com/go-viper/mapstructure/v2 from 2.2.1 to 2.3.0 (#107379) 2025-06-30 11:56:31 +02:00
ismail simsek
bacad12b2a Prometheus: Fix populating label names in sum operation on query builder (#107376)
fix populating label names
2025-06-30 11:47:43 +02:00
Georges Chaudy
4a272fb61b unistore: add eventstore and notifier (#107182)
* Add datastore

* too many slashes

* lint

* add metadata store

* simplify meta

* Add eventstore

* golint

* lint

* Add datastore

* too many slashes

* lint

* pr comments

* extract ParseKey

* readcloser

* remove get prefix

* use dedicated keys

* parsekey

* sameresource

* unrelated

* name

* renmae tests

* add key validation

* fix tests

* refactor a bit

* lint

* allow empty ns

* get keys instead of list

* rename the functions

* refactor yield candidate

* update test

* lint

* missing err check

* address comments

* increase the timeout
2025-06-30 11:20:57 +02:00
Alexander Zobnin
57c59cf3cb Zanzana: Fix setting override with env variable (#107306) 2025-06-30 10:24:45 +02:00
Pepe Cano
f5b79fca55 docs(alerting): performance considerations minor clarifications (#107333) 2025-06-30 07:42:26 +00:00
Mariell Hoversholm
a4b066d6cf Actions: Detect code changes (#107326) 2025-06-30 08:56:56 +02:00
Hugo Häggmark
15293a2ceb Plugins: Adds AppChrome extension point (#106623)
* Plugins: adds basic PopupExtension point

* Simplify the extension point.

* Excluding the app chrome extension to be rendered on login/signup pages.

* Added feature toggle to be able to disable the app chrome extensions.

* Adding an error boundary around the extension point.

* Changed the way we use the feature toggle.

* moved to use the helper function instead of filtering.

* removed duplace info.

* chore: remove leftover useMemo

---------

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
2025-06-30 06:32:08 +02:00
Hugo Häggmark
470f3c1578 Plugin Extensions: Mutable props for extension components (#107290)
* Plugin Extensions: Mutable props for extension components

* chore: updates after PR feedback
2025-06-30 05:54:12 +02:00
Serge Zaitsev
f66a693438 Chore: Rename integration tests to follow the common convention (#105987)
* automatically rename integration tests to follow the common convention

* name tests differently

* alter column type to bigint

* update another column to bigint

* add another alter

* fix subquery for mysql
2025-06-29 16:56:24 +02:00
grafana-pr-automation[bot]
4374fe9137 I18n: Download translations from Crowdin (#107359)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-28 00:37:27 +00:00
Stephanie Hingtgen
5cdc19403a Grafana live: Remove experimental language around redis (#107217) 2025-06-27 16:40:13 -07:00
Ryan McKinley
0dd9417aa9 Chore: Organize go.mod (#107355) 2025-06-27 17:31:03 -06:00
Ryan McKinley
8685cdcee6 Chore: update feature toggle stats from git (#107352) 2025-06-27 17:30:49 -06:00
Alexander Akhmetov
f4b0e793aa Alerting: Document label sanitization in GRAFANA_ALERTS (#107285)
* Alerting: Document label sanitization in GRAFANA_ALERTS
2025-06-27 23:33:42 +02:00
Pepe Cano
2f1a6ae171 docs(alerting): Add Detect missing series in Prometheus section to the MissingData guide (#107329) 2025-06-27 21:13:13 +02:00
Zoltán Bedi
9273c603b3 Cloud Monitoring: Add support for service account impersonation (#107022) 2025-06-27 17:31:34 +00:00
Will Assis
930c9b3beb fix: double registration panic in auth fallback (#107330)
fix double registration panic in auth fallback
2025-06-27 19:22:16 +02:00
Andreas Christou
c48a1aba40 Azure: Support scope selection in Resource Graph queries (#105835)
* Add scope type

* Add scope selector field

* Update docs

* Use the right field component

* Trigger build

* Fix import and increase wait

* i8n
2025-06-27 18:08:55 +01:00
Tania
67a952c34e Implement OFREP compatible feature flag service (#105632)
* Add ofrep pkg

* api server: Use namespace from request in case user is not authenticated

* Add handlers to ofrep api builder

* Add NewOpenFeatureService to initialize mt apiserver

* allow specifying CA and insecure

* Compare namespace with eval ctx stackID

* Organize ofrep package

* Implement AllowedV0Alpha1Resources

* Revert folderimpl changes

* Handle default namespace

* Fix extracting stack id from eval ctx

* Add more logs

* Update pkg/registry/apis/ofrep/register.go

Co-authored-by: Dave Henderson <dave.henderson@grafana.com>

* Update pkg/registry/apis/ofrep/register.go

Co-authored-by: Dave Henderson <dave.henderson@grafana.com>

* Apply review feedback

* Replace contexthandler with types

* Fix identifying authed request

* Refactor checks in the handlers

* Remove anonymous from isAuthenticatedRequest check

---------

Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>
Co-authored-by: Gabriel Mabille <gabriel.mabille@grafana.com>
Co-authored-by: Charandas Batra <charandas.batra@grafana.com>
Co-authored-by: Dave Henderson <dave.henderson@grafana.com>
2025-06-27 18:30:38 +02:00
Ivan Ortega Alba
45dabd2862 ApiServerClient: Avoid special characters in generateName (#107331) 2025-06-27 16:24:13 +00:00
linoman
dbef739814 SCIM: Update authentication features table (#107299)
* Update authentication features table
2025-06-27 16:58:29 +02:00
Peter Štibraný
4f34a57ce2 Don't use prometheus.DefaultRegisterer in annotationsimpl/loki. (#107311)
* Don't use prometheus.DefaultRegisterer in annotationsimpl/loki.
2025-06-27 16:22:28 +02:00
Peter Štibraný
6f3b619f59 Remove use of prometheus.DefaultRegisterer from ProvideUnifiedStorageGrpcService. (#107315) 2025-06-27 15:58:00 +02:00
Peter Štibraný
cacb9b8eaf Clean up metrics usage in dual writer syncer (#107309)
Create DualWriterMetrics once, and pass them around. Don't use prometheus.DefaultRegisterer.
2025-06-27 15:48:44 +02:00
Will Browne
43d369b51a Plugins Remove failWrongDSUID feature toggle (#107308)
* remove failWrongDSUID FT

* undo go.mod changes
2025-06-27 14:43:58 +01:00
Paul Marbach
ee6cbd0efc BarChart/StateTimeline: Use noValue setting for error message when data is empty (#107147)
* fix: use fieldConfig.defaults.noValue in barchart and statetimeline

* change name of test

* remove todo comment

* lean on PanelDataErrorView in the case where no fields are present

* update StateTimeline and StatusHistory to use PanelDataErrorView

* fix test

* self-review cleanup
2025-06-27 08:28:13 -05:00
Ivana Huckova
f7eab21f9f Loki: Decouple data source plugin (#107242)
* WIP

* Update yarn.lock

* Align uuid dependency

* Add e2e test and update

* Update cue version

* Fix lint

* Update snapshot test

* Fix test that was importing from coupled module

* Fix lint

* Update public/app/plugins/datasource/loki/package.json

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>

---------

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2025-06-27 15:09:45 +02:00
Will Assis
f4ee58db50 unified-storage: split resource index client (#106297)
* split resource server and index server grpc connection if defined in config
2025-06-27 08:15:52 -04:00
Arati R.
0982cfd9a0 Unified Storage/Search: Add max count config for indexing (#107255)
* Add max count config for indexing
* Build empty index when max count is exceeded
* Address linting
* Refactor buildIndexes
* Add test for max count threshold
* Update test doc comments
* Refactor TestBuildIndexes_MaxCountThreshold to not use mock framework
* Rename mocks used in TestBuildIndexes_MaxCountThreshold

* Refactor mockResourceIndex

* Test setting of indexing threshold configs

* Tweak comments, log

* Fix logging in buildEmptyIndex

* Export and reuse TestDocumentBuilderSupplier

* Reuse MockResourceIndex
2025-06-27 14:00:39 +02:00
Will Browne
3020794b60 Plugins: Remove angularDeprecationUI feature toggle (#107300)
* remove angularDeprecationUI FT

* undo go.mod changes
2025-06-27 12:02:00 +01:00
alerting-team[bot]
a6b202e2bb Alerting: Update alerting module to dc5663fe02aa79ea08bb78aeabfb356855408844 (#107297)
* [create-pull-request] automated change

* Update prometheus-alertmanager

---------

Co-authored-by: alexander-akhmetov <1875873+alexander-akhmetov@users.noreply.github.com>
Co-authored-by: Alexander Akhmetov <me@alx.cx>
2025-06-27 12:23:57 +02:00
Hasith De Alwis
976746c05b PostgreSQL: Fix error on panel when toggling sqlDatasourceDatabaseSelection feature (#106965)
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2025-06-27 10:08:12 +00:00
Gareth
643dee6739 Prometheus: Refactoring in datasource.ts (#107208)
* start cleanup

* update vars

* prettier
2025-06-27 11:00:25 +01:00
Georges Chaudy
b2aaa9b3ce kvstore: ensure we return notFound on delete (#107288)
* kvstore: ensure we return notFound on delete

* fix tests
2025-06-27 12:00:03 +02:00
Torkel Ödegaard
f1a22a8ea9 Enterprise: Links that inform about enterprise auth options (#106627)
* Enterprise: Links that inform about enterprise auth options

* Update

* fix¨

* Update links

* brand color badge

* update language

* Update

* Update
2025-06-27 11:40:03 +02:00
linoman
0e89fec173 SCIM: Move feature flag to public preview (#107239)
* Move feature flag to public preview

* Auto-generate changes
2025-06-27 11:30:33 +02:00
Peter Štibraný
2e9559a376 Include resource name in the event. (#107185) 2025-06-27 09:29:49 +00:00
Georges Chaudy
53ec379af8 unistore: add metadata store (#107151)
* Add datastore

* too many slashes

* lint

* add metadata store

* simplify meta

* Add datastore

* too many slashes

* lint

* pr comments

* extract ParseKey

* readcloser

* remove get prefix

* use dedicated keys

* parsekey

* sameresource

* unrelated

* name

* renmae tests

* fix tests

* lint

* allow empty ns

* get keys instead of list

* rename the functions

* refactor yield candidate
2025-06-27 08:25:27 +00:00
Stephanie Hingtgen
bc231922af Library panels: Remove libraryPanelRBAC feature flag, and enable rbac by default (#107222) 2025-06-27 08:09:02 +00:00
Konrad Lalik
3cd29d2cdd Alerting: Improve simplified routing test (#107251)
Improve SimplifiedRuleEditor test performance
2025-06-27 09:56:42 +02:00
Alex Khomenko
ecb93ed7f7 Restore dashboards: Add filters and search (#106994)
* Restore dashboards: Enable search and filtering

* Remove sorting

* Configurable sort

* Move cache to a separate file

* Get tags

* Reset cache on delete

* Use store

* Add sort

* Use fuzzyFind for search

* Move fuzzy search to grafana/data

* Move @leeoniya/ufuzzy package

* Use the new util

* Improve sort

* Error handling
2025-06-27 08:59:10 +03:00
Adam Yeats
30e72ca774 InfluxDB: Config Page v2 - Update link for feedback form (#107273)
Update link for feedback form
2025-06-26 19:41:33 +00:00
Alyssa (Bull) Joyner
907e3efa55 InfluxDB: Add tracking events to v1 config page (#105911)
* Add tracking events to orginial influxdb config page

* Add tracking file

* Lint

* Remove unused import
2025-06-26 19:37:15 +00:00
Paul Marbach
c5c8c0e491 Revert "ToolTip: Fix flexbox bug with tooltip when maxWidth is set manually (#107145)"
This reverts commit cff743fcd5.
2025-06-26 15:34:47 -04:00
Pepe Cano
ff4d7d35c6 docs(alerting): add new guidelines to the missing data alerting guide (#107232) 2025-06-26 21:06:34 +02:00
Kevin Minehart
01c3f99e4a CI: Unconditionally dispatch to GE (#107271)
* CI: Unconditionally dispatch to GE

* only do release-build in the grafana repo
2025-06-26 18:28:42 +00:00
Ivan Ortega Alba
07f5a72842 Dashboard Migrations: V33 Replace string-based datasource by datasource ref (#106848)
---------
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-06-26 19:04:43 +02:00
Kevin Minehart
37be24899c CI: Prevent dispatch loop for building release artifacts (#107269) 2025-06-26 17:04:18 +00:00
ismail simsek
de0ce87fd4 Prometheus: Apply limit to metadata request (#107068)
* use limit when calling metadata endpoint

* request metadata with limit

* betterer
2025-06-26 17:04:04 +00:00
Will Assis
dc79e6f3dc unified-storage: fix auth handling in distributor (#106062)
* disable auth handling in the distributor
2025-06-26 12:32:59 -04:00
Isabel Matwawana
7d28f7eece Update CODEOWNERS for shared dashboards docs (#107266) 2025-06-26 16:17:36 +00:00
Eric Leijonmarck
0aefd99cff LBAC for data sources: Update feature states (#107260)
update feature states
2025-06-26 17:09:26 +01:00
Mustafa Sencer Özcan
c47fc53eee fix: set withHistory flag to true for non-interactive mode (#107263) 2025-06-26 16:08:30 +00:00
Michael Mandrus
3ec907bbe6 CloudMigrations: Add warnings for bugs with HA setups (#107265)
add warnings for HA bug
2025-06-26 12:03:50 -04:00
Mihai Turdean
918c93ee4e Fix Zanzana Error "user field is malformed" (#107227)
Fix Authentication: Add UID field to Identity in render service
2025-06-26 09:14:44 -06:00
Kevin Minehart
dd2ba2e816 CI: Add GOCACHEPROG to the backend builder if GOCACHEPROG is set on the host (#107256) 2025-06-26 14:16:58 +00:00
Burkov Egor
bca70ee809 Loki: Fix health check message (#107170)
Loki: fix typo in healthcheck message

Co-authored-by: ivanahuckova <ivana.huckova@gmail.com>
2025-06-26 16:10:21 +02:00
Nathan Vērzemnieks
a18ea34688 CloudWatch: Backport aws-sdk-go-v2 update from external plugin (#107136)
* CloudWatch: Backport aws-sdk-go-v2 update from external plugin

* Review feedback & cleaning up a couple typos
2025-06-26 15:56:50 +02:00
Mitch Seaman
069598c454 [Docs] Panel embedding not available in Cloud (#107253) 2025-06-26 13:51:43 +00:00
Andreas Christou
58a47ef1d6 Azure: Fix duplicated trace links (#105698)
* Add trace links to first field

* Review
2025-06-26 14:10:19 +01:00
Pepe Cano
5c1b263664 docs(alerting): simplify Intro to Grafana Alerting docs (#106944)
* docs(alerting): improve `Intro > Alert rule evaluation` docs

* Update Introduction to Grafana Alerting

* Simplify `Intro > Alert rules` and related docs

* minor copy change phrasing GMA and DS differences

* fix vale error
2025-06-26 12:25:32 +00:00
Stephanie Hingtgen
f8189eece9 Dashboard Imports: Fix creating new library panels (#107219) 2025-06-26 05:23:05 -06:00
renovate[bot]
88d113f37c Update scenes to v6.25.0 (#107238)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-26 14:19:21 +03:00
Alexander Akhmetov
b93cde0adb Alerting: Use default identifier for extra configs in Alertmanager API (#107049) 2025-06-26 12:44:49 +02:00
Alexander Akhmetov
abbae41f60 Alerting: Sanitize Prometheus state history labels before writing (#107181) 2025-06-26 12:40:37 +02:00
Alexander Akhmetov
894944dcb0 Alerting: Refactor remote alertmanager to use Crypto interface (#107228) 2025-06-26 12:39:06 +02:00
Victor Marin
8a0c484b74 DataSourceAPI: Expose new method for filter applicability check (#106756)
* wip

* wip non applicalbe filters

* refactor getApplicableFilter to return a string[]

* remove getApplicableFilters impl from prometheus
2025-06-26 13:26:11 +03:00
Ida Štambuk
2e9c4a76c4 Prometheus: Migrate remaining selectors to data-testid (#106564) 2025-06-26 10:22:42 +00:00
Georges Chaudy
2297417374 Unistore: Add datastore (#107137)
* Add datastore

* too many slashes

* lint

* pr comments

* extract ParseKey
2025-06-26 10:36:31 +02:00
Gabriel MABILLE
3d543a336f IAM: Register CoreRole apis (#106924)
* IAM: Register CoreRole apis

* one line store instantiation

* Small refactor for readability

* Add authorizer for CoreRole

* Nit

* Error strings should not end with punctiation

* Account for error

* Switch to use the local resource client

* error should not start with upper casing

* noopStorageErr should have a name starting with err

* Update workspace

* I don't know why I don't have the same output as the CI 🤷

* Dependency xOwnership

* imports

* Import order

* Rename alias to make it clear this is legacy
2025-06-26 10:11:28 +02:00
Matheus Macabu
6f8e33f360 GHA: Increase size of Ephemeral Instances runner (#107230) 2025-06-26 09:41:37 +02:00
Yulia Shanyrova
4e8802afff Plugins: Add repositoryUrl parameter to plugin details panel. (#107048)
add repositoryUrl parameter to plugin details
2025-06-26 08:59:46 +02:00
Torkel Ödegaard
2869590292 Scenes: Upgrade to 6.24 (#107196) 2025-06-26 08:06:09 +02:00
grafana-pr-automation[bot]
e5d73b0ca4 I18n: Download translations from Crowdin (#107224)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-26 00:38:14 +00:00
ismail simsek
0b5d1a0e51 Prometheus: Fix adding metric name to matcher (#107214)
check metric name before pushing
2025-06-26 02:16:07 +02:00
Cory Forseth
41a4841e57 Zanzana: add flag for running zanzana server insecurely (#107130)
* add flag for running zanzana server insecurely

* Only allow insecure connections in dev environment

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>

---------

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
2025-06-25 22:47:53 +00:00
Stephanie Hingtgen
79fe8a9902 Library Panels: Modify connection api endpoint to be compatible with unified storage (#107088) 2025-06-25 22:21:56 +00:00
Stephanie Hingtgen
3687767709 Workspace: Fix go workspace (#107221) 2025-06-25 21:59:45 +00:00
Andreas Christou
8288e947a8 InfluxDB: Add an optional time range filter for tag queries in the query panel autocompleteInflux tag filter (#107195)
* InfluxDB: Add an optional time range filter for tag queries in the query panel autocomplete

* Betterer updates

* Update test

---------

Co-authored-by: Nikolay Tsvetkov <nikolay.cvetkov@gmail.com>
2025-06-25 21:37:02 +00:00
Kevin Minehart
8be4fc6e9b CI: Provide token when dispatching downstream workflow (#107215) 2025-06-25 20:21:48 +00:00
Kevin Minehart
9f6e0070f1 CI: Ensure that build-id is treated as a string in release-build.yml (#107213)
Ensure that build-id is treated as a string
2025-06-25 14:49:44 -05:00
Ezequiel Victorero
d6a8470e67 Query Library: Promote query library to private preview (#107211) 2025-06-25 16:10:51 -03:00
Ezequiel Victorero
094d78c2dd Query Service: Remove unused files (#107190) 2025-06-25 14:36:09 -03:00
Joey
1f7cfda03c Tempo: Properly escape double quotes in TraceQL query (#106909)
* Properly escape double quotes

* Simplify regex
2025-06-25 17:59:35 +01:00
Adam Yeats
3503fc209e InfluxDB: Config page refresh (#103060) 2025-06-25 10:39:54 -06:00
Jacob Valdez
35f89a456c Docs: Fixing broken links in migration assistant docs (#107191)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2025-06-25 10:16:47 -05:00
Yunwen Zheng
d3bd3175af ProvisionedFolder: Delete folder drawer (#107089)
* ProvisionedFolder: delete flow set up

---------

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2025-06-25 11:13:42 -04:00
Kevin Minehart
51629f6d44 CI: Remove concurrency from release-build.yml (#107192)
* CI: Remove concurrency from release-build.yml

* CI: Remove concurrency from release-build.yml

* remove artifacts-list publish because it is already being published
2025-06-25 15:05:42 +00:00
Nathan Marrs
5abc5997ae Feature Toggles: Update ownership of feature toggles related to features being handed off to operator experience from sharing (#107162) 2025-06-25 14:57:09 +00:00
Konrad Lalik
ea1d3cc3ba Alerting: List V2 - Add labels popup (#107193)
* Display labels popup when hovering over labels count

* Remove unused imports
2025-06-25 16:24:32 +02:00
Levente Balogh
2bcc1d86fc PluginExtensions: fix setJsonData() race condition in EditDataSource extension point (#107102)
* fix: EditDataSource extension point - setJsonData()

* fix(EditDatasource): make it possible to call `setSecureJsonData()` first
2025-06-25 16:02:35 +02:00
Gilles De Mey
4400c370eb Alerting: Fix package types reference (#107183) 2025-06-25 13:50:49 +00:00
Ashley Harrison
1f97c0db8c Internationalisation: Use new shared verify-i18n workflow (#106928)
* use new shared verify-i18n workflow

* update CODEOWNERS

* add empty permissions block

* fix permissions

* commit translations

* rename workflow
2025-06-25 14:47:10 +01:00
Kevin Minehart
bbce735793 CI: Set service-account on 'push-to-gcs' as well as login (#107184)
* Set service-account on 'push-to-gcs' as well as login

* Update publish-artifact.yml
2025-06-25 13:25:24 +00:00
Alex Khomenko
38cc0e25c4 Provisioning: Improve job error handling (#107174) 2025-06-25 16:22:23 +03:00
Mariell Hoversholm
b85b2b157d Actions(swagger-gen): Don't clone Enterprise on forks (#107177) 2025-06-25 14:11:34 +02:00
Ivana Huckova
4738957360 Querying: Pass dashboard and panel title as headers (#107032)
* WIP dashboard titile

* Add tests

* Fix tests

* Fix tests

* Remove redundant imports
2025-06-25 13:51:23 +02:00
Alex Khomenko
3d1b820827 Grafana/data: Extract fuzzy search core (#107110)
* Move fuzzy search to grafana/data

* Move @leeoniya/ufuzzy package

* Cleanup

* Use exact version

* mark export as internal
2025-06-25 14:28:23 +03:00
Jack Westbrook
24884154dc Plugin Configs: Update webpack config (#107133)
feat(plugin-configs): use dynamic publicPath with decoupled plugins for cdn support
2025-06-25 13:00:54 +02:00
Gilles De Mey
092249b772 Alerting: Storybook integration (#107024) 2025-06-25 12:59:07 +02:00
Andres Martinez Gotor
0356e1302a Advisor: improve code readability (#107175) 2025-06-25 10:48:36 +00:00
Andrey Karpov
a7152174b6 ServiceAccounts: return 404 when deleting a non‑existent service account (#106618)
ServiceAccounts: return `404` when deleting a non‑existent service account
2025-06-25 11:20:10 +01:00
Andres Martinez Gotor
c5a6bb5ab1 Advisor: Address error logs (#107125) 2025-06-25 12:08:30 +02:00
Roberto Jiménez Sánchez
f621e2f507 Provisioning: Bump Nanogit version to include revelant bug fixes (#107172)
Bump Nanogit
This version includes multiple fixes:
- Properly parsing side-band errors.
- Handle multiple matches in GetRef .
- Properly sort tree entries with folders based on git specification.
2025-06-25 12:38:50 +03:00
Jack Westbrook
ff81910776 CI: fix levitate nvmrc paths (#107173)
* ci(levitate): fix nvmrc paths

* ci(levitate): trigger runs when the workflow or nvmrc files change
2025-06-25 09:34:49 +00:00
Ashley Harrison
2837f8fb58 internationalisation: Mark up canvas panel edit options (#107118)
mark up canvas panel
2025-06-25 10:06:37 +01:00
grafana-pr-automation[bot]
d872a74d1c I18n: Download translations from Crowdin (#107160)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-25 09:54:27 +01:00
Jack Westbrook
8179c87ebe CI: Use nvmrc in all github workflows (#107164)
feat(gh-workflows): use nvmrc file as single source of truth for projects node version
2025-06-25 10:41:16 +02:00
Domas
6e28464981 Prometheus: Reinstate variable interpolation for getTagKeys() and getTagValues() (#107171)
add interpolation to prom getTagKeys() and getTagValues()
2025-06-25 11:36:36 +03:00
Gábor Farkas
4e19bc515e Chore: bump grafana-plugin-sdk-go from v0.277.0 to v0.278.0 (#107165)
Chore: bump grafana-plugin-sdk-go
2025-06-25 10:16:14 +02:00
Peter Štibraný
eeb01126b3 grpc: wrapContext should not replace existing metadata, but append to it. (#107126)
* grpc: wrapContext should not replace existing metadata, but append to it.

* Add test for wrapContext if there's no previous metadata.

* Rename encodeIdentityInMetadata to encodeIdentityInMetadataPairs
2025-06-25 08:06:45 +00:00
Torkel Ödegaard
c63a52958d RowsLayout: Rethinking row repeats (#104312)
* Something is working

* Update

* Update

* working

* clear repeated rows

* Update

* Update

* Outline via function

* Update

* Update

* Update

* Progress

* Update

* Udpate sum

* Update

* Update public/app/features/dashboard-scene/scene/types/EditableDashboardElement.ts

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>

* Update public/app/features/dashboard-scene/edit-pane/DashboardOutline.tsx

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>

* Update public/app/features/dashboard-scene/edit-pane/DashboardOutline.tsx

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>

* Update public/app/features/dashboard-scene/scene/layout-auto-grid/AutoGridLayoutManager.tsx

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>

* Update public/app/features/dashboard-scene/scene/layout-default/DefaultGridLayoutManager.tsx

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>

* Update public/app/features/dashboard-scene/scene/layout-rows/RowsLayoutManagerRenderer.tsx

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>

* Update

* more tests

* Update

* Update

* Removed old behavior

* Update

* Update

* Update

* fix outline for default grid

* Update

---------

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2025-06-25 10:02:42 +02:00
Torkel Ödegaard
249be02010 Plugins: Improve the info box for enterprise plugins (#106630)
* Refine the enterprise plugin info box

* Update wording

* Update

* Remove white space before punctuation

* Update

* fix test

* Update
2025-06-25 09:48:30 +02:00
Ryan McKinley
580b410e8c DualWriter: Minor cleanup (#107028) 2025-06-25 07:41:51 +00:00
Alex Khomenko
e0eff97d94 Browse Dashboards: Reset cache when folder is changed during import (#107116)
* Browse Dashboards: Reset cache when folder is changed during import

* Fetch dashboard data

* Do not invalidate tags

* Handle fetch error
2025-06-25 10:27:31 +03:00
Mustafa Sencer Özcan
e7af803906 fix: migration cli exit on grpc errors when on non-interactive (#107163) 2025-06-25 08:50:53 +02:00
Sven Grossmann
478c1debe0 Plugin Loader: Wait for plugins to register their extensions (#106969)
* fix: mark apps as preloaded after being preloaded

* move marking as preloaded into `preload`

* add tests

* refactor: make it reuse promises of already loaded plugins

* fix: review notes

---------

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2025-06-25 06:49:25 +00:00
Mariell Hoversholm
694a58372e Config: Fix docs typo'd section name (#106982) 2025-06-25 08:04:32 +02:00
Kevin Minehart
9c7a2d1b88 CI: add service-account input to publish artifact workflow (#107154)
add service-account input to publish artifact
2025-06-24 21:14:33 +00:00
maicon
8a05378ef3 apiserver/folders: use exact match on GetFolderByTitle in legacy (#106867)
* apiserver/folders: use exact match on GetFolderByTitle in legacy

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>


---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-06-24 17:42:08 -03:00
Kevin Minehart
988d889ba7 CI: Don't cancel in-progress release builds (#107153)
Don't cancel in-progress release builds
2025-06-24 22:39:33 +02:00
Adela Almasan
182bff2555 StateTimeline: Add endTime to tooltip (#106582) 2025-06-24 19:57:46 +00:00
Georges Chaudy
5150ebfba8 unistore: index search references (#106954) 2025-06-24 14:54:07 -05:00
Mustafa Sencer Özcan
74ce09011e fix: migration cli pass in feature toggle management into unified client (#107141) 2025-06-24 21:43:43 +02:00
Kevin Minehart
8f1f447763 CI: use main, not my branch in release-build.yml (#107149)
use main, not my branch
2025-06-24 19:22:13 +00:00
Kevin Minehart
c15c7b1fbf CI: Add publish-artifact workflow (#107138)
* dispatch GE release build when this one is triggered

* Add publish-artifact workflow

* workflow_call is its own job

* add needs section in publish

* fix workflow reference

* fix permissions

* Use pattern arg instead of name

* fix artifacts path

* log in to docker hub in build job

* remove duplicate key

* bucket_path -> bucket-path

* remove 'parent' input

* PATH -> ARTIFACT_PATH

* use find instead of rsync

* set min/maxdepth

* use cp -r

* Add publish-artifact.yml to CODEOWNERS

* refer to the workflow on main specifically
2025-06-24 18:18:36 +00:00
Jesse David Peterson
cff743fcd5 ToolTip: Fix flexbox bug with tooltip when maxWidth is set manually (#107145)
Fix flexbox bug with tooltip when maxWidth is set manually.

fix for #105517

Co-authored-by: Jason <jdmarshall@users.noreply.github.com>
2025-06-24 14:08:27 -04:00
Matt Clegg
c80fe53620 Update _index.md (#105123)
* Update _index.md

FIX `other fields below`.

* Update _index.md

arranging entries to reflect their positioning in defaults.ini

---------

Co-authored-by: Jacob Valdez <jacob.valdez@grafana.com>
2025-06-24 18:38:37 +01:00
Josh Hunt
498ab849e4 Cue: Add 'Join' variable format (#107129)
Add Join variable format
2025-06-24 18:13:46 +01:00
Alexander Akhmetov
478f9bf597 Alerting: Emit metrics from prometheus state history backend (#107121)
Alerting: Emit metrics from prometheus historian backend
2025-06-24 18:27:52 +02:00
renovate[bot]
2578c7cdc7 Update dependency @hello-pangea/dnd to v18 (#107120)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-24 17:23:58 +01:00
Jesse David Peterson
dcfb079856 StateTimeline: Display false and empty string values (#107059)
* Support boolean false value mappings

* Support empty string value mapping
2025-06-24 12:07:13 -04:00
Georges Chaudy
53cb80e58c Unistore: save should use a Reader not ReadCloser (#107128)
* save should use a Reader not ReadCloser

* save should use a Reader not ReadCloser
2025-06-24 15:37:22 +00:00
Alexander Akhmetov
8d9dec6979 Alerting: Do not auto-populate target datasource if it's not selectable (#106912) 2025-06-24 16:41:26 +02:00
Andreas Christou
2afcb0e95b Data Sources: Fix namespace (#107124)
Fix namespace
2025-06-24 15:40:27 +01:00
Mihai Turdean
46363d305b Repo: Add .devcontainer/ folder to .gitignore (#106951)
Update .gitignore to ignore the .devcontainer/ folder
2025-06-24 14:39:58 +00:00
Jo
06278615fb Fix: Increase login_attempt.ip_address column length for IPv6 support (#107035)
* fix: increase login_attempt.ip_address column length for IPv6 support

- Expand ip_address column from VARCHAR(30) to VARCHAR(50) to accommodate IPv6 addresses
- Add database migration with support for PostgreSQL, MySQL, and SQLite
- Add comprehensive integration tests for various IPv6 address formats
- Resolves 500 errors when login fails over IPv6, now returns proper 401 errors

Fixes #106362

* test: add missing test skip to TestIntegrationIPv6AddressSupport

Skip integration test when running with -short flag to separate unit and integration tests

* Update pkg/services/sqlstore/migrations/login_attempt_mig.go

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

* fix missing bracket

* fix: resolve PostgreSQL timestamp overflow in IPv6 test

- Use controlled time mock instead of time.Now() to avoid timestamp conversion issues
- Follow existing test patterns with xormStore and mock time functions
- Add proper Since parameter to GetIPLoginAttemptCount query
- Fixes PostgreSQL error: 'pq: value "-62135596800" is out of range for type integer'

* fix: resolve PostgreSQL UTF-8 encoding error in IPv6 test

Replace string(rune(i)) with fmt.Sprintf to avoid null bytes (0x00)
when i=0, which caused 'invalid byte sequence for encoding UTF8' error

---------

Co-authored-by: Victor Cinaglia <victor@grafana.com>
2025-06-24 16:11:45 +02:00
Jack Baldry
10b6dd97f8 Allow the docs plugin to use the sidebar (#106905) 2025-06-24 15:10:28 +01:00
Georges Chaudy
27a5bab1c1 unistore: Add kvstore interface (#107094)
* Add kvstore interface

* add owner

* go lint

* remove comment

* update comment

* remove GetOptions

* add sortorder unspecified

* nit

* nit

* nit

* move txn

* use io.reader

* use io.reader

* change again the default order + comments

* change again the default order + comments

* use readcloser for Save
2025-06-24 15:50:57 +02:00
renovate[bot]
fdc93be129 Update Yarn to v4.9.2 (#107104)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-24 14:47:42 +01:00
Josh Hunt
8502e1f2ce CI: Fix pa11y check by running in docker-puppeteer image (#107084)
* Change pa11y dagger to run in docker-puppeteer image

* export json results

* re-enable pa11y ci check

* update gha workflow to new flags

* add no-threshold-fail, use single pa11y config

* fix codeowners

* readme

* fix drone config
2025-06-24 14:40:37 +01:00
Isabel Matwawana
e2438f338b Docs: Reporting redesign docs (#105078) 2025-06-24 13:38:50 +00:00
Paul Marbach
a39a354ff5 fix: percentage-based heights were not applied in updated scrollable iframe container 2025-06-24 09:20:42 -04:00
Matias Chomicki
781d8541d6 Codeowners: add @grafana/observability-logs to Loki frontend (#107115) 2025-06-24 13:18:24 +00:00
Chris Chang
16e5d8a6de Cloudwatch: Add missing AWS regions (#106304) 2025-06-24 13:14:15 +00:00
Tobias Skarhed
51c3883ac6 Scenes: Add support for scopes in annotation queries (#107113)
Bump scenes version for scopes annotations support
2025-06-24 15:02:22 +02:00
Gabriel MABILLE
aa3d09bd70 Docs: Updatebasic_grafana_admin role assignments (#107112)
RBAC: Update docs
2025-06-24 14:54:41 +02:00
Alexa Vargas
f7fafe70f4 Dashboard: FF dashboardNewLayouts Fix library panels non-editable when multiple added (#107052)
Dashboards: Fix library panels non-editable if multiple were added - dashboardNewLayouts
2025-06-24 14:15:44 +02:00
Ashley Harrison
38fc06a6ff Internationalisation: Mark up panel edit options (#107051)
* markup timeseries panel edit

* mark up matchers ui

* mark up bar chart

* mark up stat panel

* mark up gauge

* mark up bar gauge

* mark up table component

* mark up pie chart

* mark up state timeline

* mark up heatmap

* mark up status history

* mark up histogram

* mark up text panel

* mark up alert list

* mark up dashboard list

* mark up news panel

* mark up annolist

* mark up logs panel

* mark up node-graph

* mark up traces

* mark up trend

* mark up xychart

* fix build
2025-06-24 12:55:55 +01:00
Josh Hunt
bdb1891431 UI: Use tabular-numbers globally (#107036)
* UI: Use tabular-numbers globally with feature toggle

* Enable toggle by default
2025-06-24 11:52:03 +00:00
Gilles De Mey
7c914af56a Alerting: Prevent incorrect prefill params to crash the rule editor (#106395)
also introduces "zod" as dependency
2025-06-24 11:51:20 +00:00
Gilles De Mey
3c799b13e9 Alerting: Move data source error button (#106998) 2025-06-24 13:43:18 +02:00
Bogdan Matei
60fd684da0 E2E: Fix panels smoke tests in the old arch (#107101) 2025-06-24 14:17:16 +03:00
Gábor Farkas
8ba6487b15 datasources: querier: add unit tests (#107105) 2025-06-24 13:07:05 +02:00
renovate[bot]
a88e06a647 Update scenes to v6.22.0 (#107029)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-24 10:50:27 +01:00
Alexander Akhmetov
3b45f7daa5 Alerting: Fix flaky test (#107090) 2025-06-24 11:25:51 +02:00
Gilles De Mey
d3b86b2bd5 Alerting: Use Alerting package for contact point selection (#104772) 2025-06-24 11:08:27 +02:00
Josh Hunt
e1af2e15cb I18n: Import Scenes translations (#106852)
* wip

* use initScenesTranslations

* comment

* use just plain resource loaded from scenes lib

* update to the published scenes version

* rename loadPluginResources to loadNamespacedResources
2025-06-24 10:00:41 +01:00
Roberto Jiménez Sánchez
9a95430815 Provisioning: Increase timeout for flaky CreateGithubRepository integration test (#107091)
Increase timeout CreateGithubRepository test
2025-06-24 08:49:59 +00:00
Peter Štibraný
6e5056e1be Add tracing to bulk process. (#107047)
Add logging to bulk process.
2025-06-24 09:45:32 +01:00
Pepe Cano
f14492baf8 docs(alerting): prom backend to write ALERTS metric (#107006)
* docs(alerting): prom backend to write ALERTS metric

* add enterprise label

* Update docs/sources/alerting/set-up/configure-alert-state-history/index.md

Co-authored-by: Alexander Akhmetov <me@alx.cx>

* Update docs/sources/alerting/set-up/configure-alert-state-history/index.md

Co-authored-by: Alexander Akhmetov <me@alx.cx>

* Update docs/sources/alerting/set-up/configure-alert-state-history/index.md

Co-authored-by: Alexander Akhmetov <me@alx.cx>

* Update docs/sources/alerting/set-up/configure-alert-state-history/index.md

Co-authored-by: Alexander Akhmetov <me@alx.cx>

* Update docs/sources/alerting/set-up/configure-alert-state-history/index.md

Co-authored-by: Alexander Akhmetov <me@alx.cx>

* Update docs/sources/alerting/set-up/meta-monitoring.md

Co-authored-by: Alexander Akhmetov <me@alx.cx>

* Update docs/sources/alerting/set-up/meta-monitoring.md

Co-authored-by: Alexander Akhmetov <me@alx.cx>

* Update docs/sources/alerting/set-up/meta-monitoring.md

Co-authored-by: Alexander Akhmetov <me@alx.cx>

* Update docs/sources/alerting/set-up/meta-monitoring.md

Co-authored-by: Alexander Akhmetov <me@alx.cx>

* Update docs/sources/alerting/set-up/meta-monitoring.md

Co-authored-by: Alexander Akhmetov <me@alx.cx>

* Update docs/sources/alerting/set-up/configure-alert-state-history/index.md

Co-authored-by: Alexander Akhmetov <me@alx.cx>

* Update docs/sources/alerting/set-up/configure-alert-state-history/index.md

Co-authored-by: Alexander Akhmetov <me@alx.cx>

* Update docs/sources/alerting/set-up/meta-monitoring.md

Co-authored-by: Alexander Akhmetov <me@alx.cx>

* Update docs/sources/alerting/set-up/meta-monitoring.md

Co-authored-by: Alexander Akhmetov <me@alx.cx>

---------

Co-authored-by: Alexander Akhmetov <me@alx.cx>
2025-06-24 10:38:52 +02:00
Georges Chaudy
9062d88ea0 unistore: filter trash requests (#106767)
* deleted by user

* use the correct checker

* add tests

* refactor
2025-06-24 10:17:34 +02:00
Leon Sorokin
cf8e3bf7d4 XYChart: Add support for x=time (#106459)
* XYChart: Add support for x=time

* prettier

* Add time axis demo to provisioned dashboard for XY

* Add details about time fields to the documentation

---------

Co-authored-by: Kristina Durivage <kristina.durivage@grafana.com>
2025-06-23 18:13:28 -05:00
Kristina
17952d45e4 Correlations: Add mention of external type to docs (#107063)
* Add mention of external type to correlations docs
2025-06-23 20:14:00 +00:00
mohammad-hamid
55cc6c120a Zanzana: incorrect folder tree bug (#106478)
use pagination to get all folders
2025-06-23 11:07:16 -04:00
Matias Chomicki
51bd50142a Outline: Delegate log level filtering to the Logs panel (#106973)
* Content Outline: Depreacte log level filtering

* LogsVolumePanelList: refactor series visibility callback

* Logs Volume: sync filters with panel

* ExploreGraph: add toggleLegend support to remove overrides

* Explore: implement two way level filtering from Panel or Logs Volume

* Remove log

* ExploreGraph: remove buggy ref

* Update test
2025-06-23 11:29:30 +02:00
Stephanie Hingtgen
63bc65fa4c Dashboards: Fix history list for dashboard uids that end in - (#107073) 2025-06-22 06:56:45 -06:00
ismail simsek
e99e879fe1 Prometheus: Introduce series limit configuration (#107038)
* introduce series limit configuration

* add docs
2025-06-21 15:40:52 +02:00
Matias Chomicki
18757952eb New Logs Panel: Support multiple virtualization instances for different font sizes (#107023)
* LogList: memoize styles

* virtualization: refactor to support multiple instances

* LogList: refactor to support multiple virtualization instances

* Update tests

* LogLine: unfocus test

* virtualization: refactor class to use the provided font size

* LogLine: split component to reduce re-renders
2025-06-21 14:38:46 +02:00
alerting-team[bot]
c4c2510a04 Alerting: Update alerting module to 863b09716e600ae15235b0fe2f996a389becd850 (#107027)
* [create-pull-request] automated change

* Fix TestRemoveSecretsForContactPoint test

---------

Co-authored-by: alexander-akhmetov <1875873+alexander-akhmetov@users.noreply.github.com>
Co-authored-by: Alexander Akhmetov <me@alx.cx>
2025-06-21 00:01:12 +02:00
Stephanie Hingtgen
ef6e28b955 K8s: Make v0alpha1 opt-in (#107056) 2025-06-20 16:37:17 -05:00
Kristina
0e35c8bdb4 Transformations: Ignore value displayName for columns for matrix grouping (#106647)
* Ignore value displayName for columns for matrix grouping

* Fix spelling
2025-06-20 16:33:29 -05:00
ismail simsek
f27098a976 Chore: Remove limit as '0' (#107040)
remove limit as '0'
2025-06-20 16:34:59 +00:00
Alexander Akhmetov
a76057cedb Alerting: Use GRAFANA_ALERTS as the default state history metric name (#107050) 2025-06-20 18:14:36 +02:00
Matthew Jacobson
5520f48153 Alerting: Use new receiver models for encrypt/decrypt in remote AM (#107042)
Several niche bugs have surfaced as a result of the decrypt code Grafana uses in receivers API being different than what is used to decrypt secrets before sending to remote AM. Example:
- Dingding notifier not abiding by new Patching added to local AM, thus causing missing url errors.

* noop refactor to simplify decryptConfiguration

* Move compat function package

* Use new receiver models to encrypt/decrypt in remote AM
2025-06-20 11:45:01 -04:00
Mustafa Sencer Özcan
3a13c2db64 chore: add logging around migration cli (#107046) 2025-06-20 15:20:06 +00:00
Ashley Harrison
5d3a1f07c8 Theme: Make viz colors configurable by the theme input (#106974)
* make viz colors configurable when creating the theme

* fix bug with palette not showing last color

* attempt to constrain the types better

* better generics

* remove reverseMap

* ensure there's an empty options default
2025-06-20 16:13:24 +01:00
Kristina
ac2d2bb2b1 Transformations: Leave first time field out of sort for organize fields (#106862)
* Fix docs

* Remove first time field from sorting for consistent indexing, add margin to radio

* integrate in with sort

* find first

* Move lonely test to proper block, add test for logic change, refine logic

* bonus points
2025-06-20 13:45:07 +00:00
Alexa Vargas
3f0a76764d Chore: Change Library Panels CODEOWNERS and Auto Triage to sharing squad (#107025)
* Chore: Change Library Panels CODEOWNERS to sharing

* change auto triage for library panels to redirect to sharing squad

* move sharing squad to appropiate section
2025-06-20 15:39:32 +02:00
Alexander Akhmetov
ac832c157e Alerting: Maintain endsAt for missing alert instances that are not stale yet (#107011) 2025-06-20 14:31:21 +02:00
ismail simsek
18cb131a2a Chore: Refactor some of the prometheus data source types (#107031)
* refactor the types

* more refactoring

* fix import
2025-06-20 12:02:41 +00:00
Arati R.
0b7e2f5601 K8s/Dashboards: Add mode 1, 2 to dashboard TestIntegrationValidation (#107018)
* Add mode 1 to dashboard TestIntegrationValidation
* Reject update with version conflict also in mode 1
* Add integration testing for mode 2
2025-06-20 13:11:26 +02:00
Roberto Jiménez Sánchez
d1b4bb182d Provisioning: Bump nanogit library for performance improvemnents (#107026)
* Bump nanogit library

This version of nanogit will be optimized for performance, specially for
bulk writes. It will store packfiles in a temporary file if there are
too many and clean up after push or when the writer is removed.

* Format code in nanogit/git.go
2025-06-20 12:51:29 +02:00
Kristian Bremberg
b30f501bff backendsrv: Implement optional URL path fetch sanitize (#106540)
* feat: Implement optional URL path sanitization in BackendSrv methods

* add comment

* revert

* remove namespace import from backendsrv

* change method to validatePath, remove query params and fragments

* Moved validatePath call into fetch and make it throw an error instead

* update pluginSettings tests

* prettier

* Update public/app/features/plugins/pluginSettings.ts

Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>

* change name to validatePath

* fix other tests

* rename property in backend_srv tests

* rename to validatePath in backend_srv, add extra tests

* Move path validation into parseUrlFromOptions

* fix

* Add additional check

* Add test

---------

Co-authored-by: joshhunt <josh.hunt@grafana.com>
Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
2025-06-20 11:27:53 +01:00
ismail simsek
704d91f2be Prometheus: Fix utf8 label value handling (#106963)
* clean up

* fix tooltip

* adjust label values query for utf8 label names

* fix series call with utf8 label

* remove commented code

* fix test
2025-06-20 10:12:42 +00:00
renovate[bot]
d732e0fb31 Update faro to v1.18.2 (#107003)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-20 10:06:11 +00:00
Sergej-Vlasov
de59956db4 Undo/Redo: add support for variable repeat options (#106617)
* add undo support for panel repeat variable change

* add undo support for panel repeat direction and max per row

* i18n

* adjust actions naming
2025-06-20 09:28:52 +01:00
Ivana Huckova
f0fab90072 Loki: Remove lokiSendDashboardPanelNames toggle (#106991) 2025-06-20 10:06:15 +02:00
Ivan Ortega Alba
c5243c0908 E2E: Stabilize smoke tests for slow GH instances (#106995)
Test
2025-06-20 09:18:04 +02:00
Ieva
7dabc58833 RBAC: Extend folder tests for breadcrumbs (#107002)
extend folder tests for breadcrumbs
2025-06-20 09:07:54 +02:00
Domas
06f091c806 NavTree: Update Observability landing page description (#106971)
Update observability landing page description
2025-06-20 10:05:50 +03:00
Mustafa Sencer Özcan
f2bd367f61 fix: keep dual writer mode in sync with kv store (#106692) 2025-06-20 08:37:20 +02:00
Josh Hunt
a4232eb1b8 CI: Skip a11y checks for now (#107005) 2025-06-19 19:12:03 +01:00
Jack Baldry
244ffad99d Fix all the old usage of admonition syntax (#106984) 2025-06-19 17:31:13 +01:00
renovate[bot]
aecac275f5 Update dependency uuid to v11.1.0 (#106999)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-19 17:20:12 +01:00
J Stickler
1b59bc2b31 docs: update URLs to fix broken links (#106955) 2025-06-19 11:02:07 -04:00
renovate[bot]
db2301d58d Update dependency swagger-ui-react to v5.25.2 (#106990)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-19 14:57:01 +00:00
Peter Štibraný
156acd1744 Add tracing to live calls. (#106980)
* Add tracing to live calls.

Clients using /api/live/ws use long-running request and post various commands via the request. This PR adds tracing span to each client-initiated action like subscribing/unsubscribing to/from channel, RPC call, publishing an event.

Server-initiated messages are not included in the trace yet.
2025-06-19 16:38:12 +02:00
Andreas Christou
7135832fff Graphite: Fix recursion (#106983)
* Fix for repeated row variables

* Add unit tests

* Do not recursively replace queries that self-reference

---------

Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
2025-06-19 14:08:42 +00:00
Andreas Christou
f7667f44db Graphite: Fix nested variable interpolation for repeated rows (#106976)
* Fix for repeated row variables

* Add unit tests

---------

Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
2025-06-19 14:40:05 +01:00
renovate[bot]
b9fa641ff6 Update dependency react-zoom-pan-pinch to v3.7.0 (#106975)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-19 12:54:24 +00:00
Ivana Huckova
aea7bbfec8 Loki: Decouple some of backend dependencies on grafana (#106788)
* Remove backend dependencies on core

* Remove .golangci.yml changes

* make update-workspace
2025-06-19 14:18:23 +02:00
Juan Cabanas
7c9867a4dd Query Library: Change test helpers (#106775) 2025-06-19 11:45:59 +00:00
Josh Hunt
8e107fa3b7 E2E: Fix icons not loading consistently in e2e tests (#106946) 2025-06-19 11:47:51 +01:00
Matheus Macabu
f68c451b00 Build: Add experimental build+watch with Air (#106834)
* Build: Add experimental build+watch with Air

* Codeowners: Add owner for .air.toml

* Makefile: Add installation reference for Air
2025-06-19 12:36:37 +02:00
renovate[bot]
9b4afdc5b9 Update dependency react-i18next to v15.5.3 (#106947)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-19 10:53:17 +01:00
Will Browne
3d37f969e7 Plugins: Move discovery logic to plugin sources (#106911)
* move finder behaviour to source

* tidy

* undo go.mod changes

* fix comment

* tidy unsafe local source
2025-06-19 10:28:23 +01:00
Bogdan Matei
2b21bdf4e1 VizTooltip: Fix memory leak (#106907)
VizTooltip: Fix memory leak
2025-06-19 11:47:03 +03:00
Denis Vodopianov
041fadce06 Chore: Make base images in Dockerfile dependabot-friendly (#106792) 2025-06-19 10:45:34 +02:00
Ivan Ortega Alba
238cff5e8a Dashboard Migrations: V34 CloudWatch Multi-Statistics Migration (#106656)
* wip: trying to understand how to get the ds info from migrator

* add datasource info provider

* Use DS service to fetch DS data

* add more tests cases to match with migrator cases

* Add snapshots

* Non-existing DS

* Add different DS for snapshots

* fix import

* Fix tests: guard against double initialization

* don't use full datasource package in test

* min version should be 35

* fix test

* fix conversion test

* Dashboards: Support schemaVersion v35 migration in backend

* Dashboards: Support schemaVersion v34 migration in backend

* Apply suggestions from code review

Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>

* Apply feedback

* Remove unused parameters

---------

Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>
Co-authored-by: Haris Rozajac <haris.rozajac12@gmail.com>
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-06-19 07:03:14 +00:00
Mariell Hoversholm
1264b5a619 Actions: Introduce A11y test (#106806) 2025-06-19 08:20:03 +02:00
Jev Forsberg
bb03ed54d3 Chore: Remove migrated e2e tests from drone pipelines (#106960) 2025-06-19 06:00:18 +02:00
Alexander Akhmetov
700c9a857c Alerting: Return extra alertmanager config as a string for mimirtool (#106959) 2025-06-19 01:12:26 +02:00
Jean-Philippe Quéméner
a646043066 chore: update grafana/authlib (#106918) 2025-06-18 22:46:27 +02:00
Kevin Minehart
c75034bf09 CI: Remove test upload from backend unit tests (#106953)
Remove test upload from backend unit tests
2025-06-18 20:00:48 +00:00
Yunwen Zheng
fe4abf2221 Git Sync UI: Delete Provisioned Dashboard Flow (#106593)
* DeleteProvisionedDashboardDrawer: delete provisioned dashboard flow set up with drawer

* clean up

* add tests

* more test and clean up

* revert endpoint change

* adjust tests

* remove unuse codes

* fix type, fix test, add read only message

* small changes

* fix test, i18n fix

* comments

* Fix bug for file deletion using a branch

* PR comments update

* Use the provided ref for parser so that URLs work

* call useDeleteRepositoryFilesWithPathMutation in delete drawer component directly

* remove console log

* Update public/app/features/dashboard-scene/components/Provisioned/DashboardEditFormSharedFields.test.tsx

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

* PR comments

* use string for fields

* extract handle request logic from save form and delete form and put into one hook

* Add test for useProvisionedRequestHandler

* Update public/app/features/dashboard-scene/components/Provisioned/DashboardEditFormSharedFields.test.tsx

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

* Update public/app/features/dashboard-scene/components/Provisioned/DashboardEditFormSharedFields.test.tsx

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

* Update public/app/features/dashboard-scene/components/Provisioned/DashboardEditFormSharedFields.test.tsx

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

* Update public/app/features/dashboard-scene/components/Provisioned/DashboardEditFormSharedFields.test.tsx

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

* Update public/app/features/dashboard-scene/settings/DeleteProvisionedDashboardForm.test.tsx

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

* Update public/app/features/dashboard-scene/settings/DeleteProvisionedDashboardForm.tsx

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

* use drawer close in both save form and delete form

* Add back panelEditor onDiscard

* add panelEditor onDiscard to delete flow

* Update public/app/features/dashboard-scene/settings/DeleteProvisionedDashboardForm.tsx

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

---------

Co-authored-by: Roberto Jimenez Sanchez <roberto.jimenez@grafana.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2025-06-18 15:14:03 -04:00
Mariell Hoversholm
8598fa213a Drone: Delete migrated workflows (#106870)
* Drone: Remove verify_storybook pipeline

Already exists in GitHub Actions.

* Drone: Remove lint_backend pipeline

Already exists in GHA.

* Drone: Remove backend tests

These already exist in GitHub Actions.

* Drone: Remove shellcheck pipeline

* Drone: Remove unused images

* Drone: Remove lint_frontend pipeline

Already in GHA.

* Drone: Remove test_frontend pipeline

Already exists in GHA.

* Drone: Remove integration_benchmarks pipeline

This was last used in January. GHA does not have it, but it is relatively trivial to run locally.
2025-06-18 14:03:23 -05:00
ismail simsek
17ad7af3b8 Prometheus: Use new language provider methods for code completions and query hints (#106383)
* refactor language provider

* update tests

* more tests

* betterer and api endpoints

* copilot updates

* betterer

* remove default value

* prettier

* introduce new methods

* provide unit tests for labelValues

* update metadata fetch

* move all cache related stuff in caching.ts

* provide interface

* provide deprecation messages

* unit tests for new interface

* separation of concerns

* update tests

* fix unit test

* fix some types

* Revert "fix some types"

This reverts commit 7e64b93b5f.

* revert interface usage

* betterer

* use PrometheusLanguageProviderInterface in everywhere

* introduce resource clients

* unit tests

* act accordingly with the feature toggle

* some more unit tests

* add feature toggle

* Revert "add feature toggle"

This reverts commit 5c93ac324f.

* remove feature toggle

* update tests

* backward compatibility

* fix scope issues

* comment update

* stronger types

* prettier

* betterer

* use new methods in metrics browser and query field

* always return data

* Revert "always return data"

This reverts commit 38e493c189.

* Revert "Revert "always return data""

This reverts commit b5d3b5d2b0.

* handle error

* lint

* use new method in query builder

* fix metrics modal tests too

* use labelValues method while searching in combobox

* update metrics modal regex search

* lint

* fix unit test

* introduce resource clients and better refactoring

* prettier

* type fixes

* betterer

* no empty matcher for series calls

* better matchers

* add additional tests

* proper match string for series

* introduce series cache

* introduce series cache for series label values

* lint

* cache values too

* utf8 safe label values query with series endpoint

* fix unit tests

* caching for labels api client

* betterer

* support new language provider methods in variable editor

* use queries and adhoc filters to extract matchers

* filter out __name__

* improve match string in series query label value calls

* update unit tests

* betterer

* use new language provider methods in completions and query hints

* betterer
2025-06-18 20:57:16 +02:00
ismail simsek
f273c1c373 Prometheus: Use new language provider methods for variable handling (#106277)
* refactor language provider

* update tests

* more tests

* betterer and api endpoints

* copilot updates

* betterer

* remove default value

* prettier

* introduce new methods

* provide unit tests for labelValues

* update metadata fetch

* move all cache related stuff in caching.ts

* provide interface

* provide deprecation messages

* unit tests for new interface

* separation of concerns

* update tests

* fix unit test

* fix some types

* Revert "fix some types"

This reverts commit 7e64b93b5f.

* revert interface usage

* betterer

* use PrometheusLanguageProviderInterface in everywhere

* introduce resource clients

* unit tests

* act accordingly with the feature toggle

* some more unit tests

* add feature toggle

* Revert "add feature toggle"

This reverts commit 5c93ac324f.

* remove feature toggle

* update tests

* backward compatibility

* fix scope issues

* comment update

* stronger types

* prettier

* betterer

* use new methods in metrics browser and query field

* always return data

* Revert "always return data"

This reverts commit 38e493c189.

* Revert "Revert "always return data""

This reverts commit b5d3b5d2b0.

* handle error

* lint

* use new method in query builder

* fix metrics modal tests too

* use labelValues method while searching in combobox

* update metrics modal regex search

* lint

* fix unit test

* introduce resource clients and better refactoring

* prettier

* type fixes

* betterer

* no empty matcher for series calls

* better matchers

* add additional tests

* proper match string for series

* introduce series cache

* introduce series cache for series label values

* lint

* cache values too

* utf8 safe label values query with series endpoint

* fix unit tests

* caching for labels api client

* betterer

* support new language provider methods in variable editor

* use queries and adhoc filters to extract matchers

* filter out __name__

* improve match string in series query label value calls

* update unit tests

* betterer

* betterer
2025-06-18 20:36:13 +02:00
Ezequiel Victorero
dd7fbb7b64 Query Library: Add title param when creating a query (#106713)
* Query Library: Add title param when creating a query

* kick CI

---------

Co-authored-by: Collin Fingar <collin.fingar@grafana.com>
2025-06-18 14:00:17 -04:00
Gilles De Mey
b68166c437 Alerting: Improve group view loading button state (#106922) 2025-06-18 18:56:42 +01:00
renovate[bot]
2b960d15ae Update dependency react-hook-form to v7.58.1 (#106945)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-18 18:27:13 +01:00
Todd Treece
f3b545a903 K8s: Add cluster scope support in app runner (#106914) 2025-06-18 13:15:32 -04:00
ismail simsek
7e5122d580 Prometheus: Use new language provider methods in visual query builder (#106204)
* refactor language provider

* update tests

* more tests

* betterer and api endpoints

* copilot updates

* betterer

* remove default value

* prettier

* introduce new methods

* provide unit tests for labelValues

* update metadata fetch

* move all cache related stuff in caching.ts

* provide interface

* provide deprecation messages

* unit tests for new interface

* separation of concerns

* update tests

* fix unit test

* fix some types

* Revert "fix some types"

This reverts commit 7e64b93b5f.

* revert interface usage

* betterer

* use PrometheusLanguageProviderInterface in everywhere

* introduce resource clients

* unit tests

* act accordingly with the feature toggle

* some more unit tests

* add feature toggle

* Revert "add feature toggle"

This reverts commit 5c93ac324f.

* remove feature toggle

* update tests

* backward compatibility

* fix scope issues

* comment update

* stronger types

* prettier

* betterer

* use new methods in metrics browser and query field

* always return data

* Revert "always return data"

This reverts commit 38e493c189.

* Revert "Revert "always return data""

This reverts commit b5d3b5d2b0.

* handle error

* lint

* use new method in query builder

* fix metrics modal tests too

* use labelValues method while searching in combobox

* update metrics modal regex search

* lint

* fix unit test

* introduce resource clients and better refactoring

* prettier

* type fixes

* betterer

* no empty matcher for series calls

* better matchers

* add additional tests

* proper match string for series

* introduce series cache

* introduce series cache for series label values

* lint

* cache values too

* utf8 safe label values query with series endpoint

* fix unit tests

* caching for labels api client

* betterer

* fix errors
2025-06-18 19:05:16 +02:00
ismail simsek
4ba09df7dd Prometheus: Use new language provider methods in metrics browser and query field (#106163)
* refactor language provider

* update tests

* more tests

* betterer and api endpoints

* copilot updates

* betterer

* remove default value

* prettier

* introduce new methods

* provide unit tests for labelValues

* update metadata fetch

* move all cache related stuff in caching.ts

* provide interface

* provide deprecation messages

* unit tests for new interface

* separation of concerns

* update tests

* fix unit test

* fix some types

* Revert "fix some types"

This reverts commit 7e64b93b5f.

* revert interface usage

* betterer

* use PrometheusLanguageProviderInterface in everywhere

* introduce resource clients

* unit tests

* act accordingly with the feature toggle

* some more unit tests

* add feature toggle

* Revert "add feature toggle"

This reverts commit 5c93ac324f.

* remove feature toggle

* update tests

* backward compatibility

* fix scope issues

* comment update

* stronger types

* prettier

* betterer

* use new methods in metrics browser and query field

* always return data

* Revert "always return data"

This reverts commit 38e493c189.

* Revert "Revert "always return data""

This reverts commit b5d3b5d2b0.

* handle error

* lint

* introduce resource clients and better refactoring

* prettier

* type fixes

* betterer

* no empty matcher for series calls

* better matchers

* add additional tests

* proper match string for series

* introduce series cache

* introduce series cache for series label values

* lint

* cache values too

* utf8 safe label values query with series endpoint

* fix unit tests

* import fixes

* more import fixes

* fix unit tests
2025-06-18 18:24:55 +02:00
Andrew Hackmann
df33310530 Partner data sources: Remove horizontal groups (#106868)
* remove horizontal groups:

* remove space
2025-06-18 17:16:21 +01:00
renovate[bot]
484d52d8ed Update dependency re-resizable to v6.11.2 (#106943)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-18 16:57:43 +01:00
mohammad-hamid
936dd05eac ext jwt client: map k8s-style to rbac permissions (#106279)
* initial commit

* Proposal
Co-Authored-By: mohammad-hamid <mohammad.hamid@grafana.com>

* extend k8s-style mapper
- add tests

* address comments

* cleanup

* address comments

---------

Co-authored-by: Gabriel Mabille <gabriel.mabille@grafana.com>
2025-06-18 11:51:35 -04:00
Ivana Huckova
67f50478d9 Loki: Refactor getting of panel/dashboard title headers as part of decoupling (#106829)
* Loki: Refactor getting of panel/dashboard title headers as part of decoupling

* Add headers to be passed to api server

* Address review comments
2025-06-18 17:41:31 +02:00
Mariell Hoversholm
3f69249bc8 Actions: Join on test suites (#106930) 2025-06-18 17:39:16 +02:00
Will Browne
05b458741e DataSources: Add mutex to provisioning step (#106921)
add mutex to ds provisioning
2025-06-18 16:34:40 +01:00
renovate[bot]
c6ee26b459 Update dependency rc-picker to v4.11.3 (#106929)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-18 17:25:01 +02:00
Gilles De Mey
97e33b5da4 Alerting: Add rollup config for package (#106326) 2025-06-18 17:06:57 +02:00
Andreas Christou
6e45069cdd Graphite: Fix annotation queries (#106553)
* Add refid to annotation queries

* Fix errors
2025-06-18 16:03:25 +01:00
Andreas Christou
4020a3d96a Azure: Fix resource name determination in template variable queries (#105705)
* Correctly parse resource URIs

* Update test

* Update variable function
2025-06-18 16:02:40 +01:00
Alexander Akhmetov
4b46da9214 Alerting: Hide extra Prometheus configuration secrets (#106916) 2025-06-18 17:01:19 +02:00
Matheus Macabu
f6c4191a01 DevEnv: Add jaegeronly container (#106890)
(cherry picked from commit c687901cd3)
2025-06-18 17:00:10 +02:00
Alexa Vargas
a093381678 Dashboard: SchemaV2 - Fix stateless variable query with default datasource (#106850)
* Dashboard: SchemaV2 - Fix stateless variable query with default datasource

* Add warning for debugging purposes

* fix test add expected warning
2025-06-18 16:39:46 +02:00
Andreas Christou
629bd11c07 Azure: Fix legend formatting (#106504)
Fix inconsistent casing in resource URIs
2025-06-18 09:36:20 -05:00
Mariell Hoversholm
c0b977b9e3 Actions: Wait for all backend unit tests (#106927) 2025-06-18 16:32:26 +02:00
renovate[bot]
a9bc877b00 Update dependency rc-drawer to v7.3.0 (#106920)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-18 15:24:58 +01:00
ismail simsek
6d9475127c Prometheus: Use PrometheusLanguageProviderInterface instead of legacy PromQlLanguageProvider (#105988)
* refactor language provider

* update tests

* more tests

* betterer and api endpoints

* copilot updates

* betterer

* remove default value

* prettier

* introduce new methods

* provide unit tests for labelValues

* update metadata fetch

* move all cache related stuff in caching.ts

* provide interface

* provide deprecation messages

* unit tests for new interface

* separation of concerns

* update tests

* fix unit test

* fix some types

* Revert "fix some types"

This reverts commit 7e64b93b5f.

* revert interface usage

* betterer

* use PrometheusLanguageProviderInterface in everywhere

* introduce resource clients and better refactoring

* prettier

* type fixes

* betterer

* no empty matcher for series calls

* better matchers

* import fixes
2025-06-18 16:24:07 +02:00
Mariell Hoversholm
74e39dd996 Actions: Add Swagger verification (#106873) 2025-06-18 16:00:34 +02:00
Mariell Hoversholm
15931d3ac9 Provisioning: Update nanogit (#106908) 2025-06-18 15:55:15 +02:00
Collin Fingar
8b4b77c928 QueryLibrary: Analytics (#106740)
Query Library Analytic Changes
2025-06-18 09:54:52 -04:00
Gilles De Mey
13406336ce Alerting: Update error message for failed FetchError (#106846) 2025-06-18 15:51:25 +02:00
Mariell Hoversholm
24192745b6 Actions: set -euo pipefail on multi-cmd runs (#106906) 2025-06-18 15:50:30 +02:00
Oscar Kilhed
afee9e47f2 Dashboards: undo redo move tab (#106786)
* move tab

Fixed issue

* make i18

* always select the tab after moving it, select it after undo too
2025-06-18 15:48:40 +02:00
Alex Khomenko
8893b9a6eb Restore dashboards: Use k8s API (#105823)
* Add dashboardRestore toggle

* Restore the toggle on FE

* Add navtree item

* Add restore dashboard call

* Fix lint

* Add transformer

* Rename feature toggle

* Use the renamed toggle

* update API url

* List deleted dashboards from sql searcher

* Upd imports

* Remove permanently delete action

* Fix type assertions

* Add restore endpoints to the api

* Fix unified api

* Use db api in search

* Fix resource version

* Add tests

* Cleanup

* Extract getting db

* Add listDeletedDashboards

* Add listDeletedDashboards

* Enable restoring dashboards

* Restore to a folder

* Extract logic

* Remove type assertion

* betterer

* Cleanup

* i18n
2025-06-18 16:48:12 +03:00
Konrad Lalik
94fb519a2b Alerting: List V2 - Use backend filters for GMA rules (#106897)
* Use state, health and receiver_name query params for server-side filtering

* Remove Unknown option from state filters
2025-06-18 15:47:53 +02:00
ismail simsek
c7e338342a Prometheus: Introduce resource clients in language provider (#105818)
* refactor language provider

* update tests

* more tests

* betterer and api endpoints

* copilot updates

* betterer

* remove default value

* prettier

* introduce resource clients and better refactoring

* prettier

* type fixes

* betterer

* no empty matcher for series calls

* better matchers

* addressing the review feedback
2025-06-18 15:31:49 +02:00
renovate[bot]
e3cbe54b45 Update dependency rc-cascader to v3.34.0 (#106917)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-18 14:22:33 +01:00
Alexander Akhmetov
426c334973 Alerting: API to create extra Alertmanager configurations (#106904)
What is this feature?

Implements the POST endpoint for deleting imported Mimir Alertmanager configurations:

    POST /api/convert/api/v1/alerts

The API endpoint creates the extra Alertmanager configuration with the provided identifier and matchers.
2025-06-18 15:05:06 +02:00
Gilles De Mey
3ab54a5562 Alerting: Several list view fixes (#106902) 2025-06-18 15:02:30 +02:00
renovate[bot]
a7c65b4e0a Update dependency msw to v2.10.2 (#106913)
* Update dependency msw to v2.10.2

* add explicit type

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-06-18 13:53:03 +01:00
Andreas Christou
24d7d8c358 Influx: Update flightsql language definition ID (#106901)
fix: replace flightsql languageDefinition.id `flightsql` with `sql`

Co-authored-by: bherbruck <brennen.herbruck@gmail.com>
2025-06-18 13:34:51 +01:00
renovate[bot]
c463e3a6e4 Update dependency @grafana/plugin-ui to v0.10.7 (#106910)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-18 13:08:56 +01:00
Ashley Harrison
7070da073e Drawer: Include divider and close button when passing a custom title element (#106896)
* make drawer title behaviour more consistent

* fix linting errors
2025-06-18 12:52:32 +01:00
renovate[bot]
6b946cf40b Update dependency @grafana/google-sdk to v0.3.2 (#105813)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-18 12:44:21 +01:00
Joey
ecf793ea05 Tempo: Fix TraceQL Search escaping regex queries (#106693)
* Fix for TraceQL Search incorrectly escaping regex queries

* Update test

* Keep existing filter values when adding custom
2025-06-18 12:21:45 +01:00
Alexander Zobnin
0270152e35 Zanzana: Improve server side tracing (#106804) 2025-06-18 12:53:39 +02:00
Alexander Akhmetov
def5d889d0 Alerting: API to delete extra Alertmanager configurations (#106892) 2025-06-18 12:37:56 +02:00
renovate[bot]
02bdac447d Update dependency lru-cache to v11.1.0 (#106880)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-18 11:15:59 +01:00
Irene Rodríguez
6d7a593407 [docs] Create new page for Grafana Advisor (#106091)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: David Harris <david.harris@grafana.com>
Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>
2025-06-18 11:14:35 +02:00
Alexander Akhmetov
8c6df8b449 Alerting: Add support for retrieving imported Prometheus Alertmanager configurations (#106864) 2025-06-18 10:49:40 +02:00
renovate[bot]
4bfd7b6d7c Update dependency immutable to v5.1.3 (#106838)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-18 10:24:39 +02:00
Gabriel MABILLE
56c9dbf6e5 AuthZ: Add a feature toggle for the k8s apis (#106795) 2025-06-18 09:43:01 +02:00
Ryan McKinley
945bc53b4c DualWrite: Manage values from KV store (not file) (#106772) 2025-06-18 10:37:44 +03:00
Roberto Jiménez Sánchez
3cb62e370b Provisioning: Add pure git repository type (#106815)
* Add repository type git to spec
* Register git type
* Update test checks
2025-06-18 09:05:37 +02:00
Saya
806068b9de Drilldown: Fix js crash when using http (#105646)
Update AppWrapper.tsx
2025-06-18 08:57:28 +02:00
Sonia Aguilar
9905d3447c Alerting: Fix RefIds not being shown when creating or editing Grafana-managed recording rule (#106840)
* fix refids when creating grafana-managed recording rule

* fix refids when editing grafana-managed recording rule

* review comments
2025-06-18 06:48:13 +00:00
Alexander Akhmetov
78bec77ca1 Alerting: Fix NewDatasourceWriter initialization (#106869)
Fix NewDatasourceWriter initialization
2025-06-18 07:53:48 +02:00
Alexander Akhmetov
ad683f83ff Alerting: Add state history backend to write ALERTS metric (#104361)
**What is this feature?**

This PR implements a new Prometheus historian backend that allows Grafana alerting to write alert state history as Prometheus-compatible `ALERTS` metrics to remote Prometheus-compatible data sources.

The metric includes a few additional labels:

* `grafana_alertstate`: Grafana's full alert state, more granular than Prometheus.
* `grafana_rule_uid`: Grafana's alert rule UID.

Grafana states are included in the `grafana_alertstate` label also mapped to Prometheus-compatible `alertstate` values:

| Grafana alert state | `alertstate`          | `grafana_alertstate`  |
|---------------------|-----------------------|-----------------------|
| `Alerting`          | `firing`              | `alerting`            |
| `Recovering`        | `firing`              | `recovering`          |
| `Pending`           | `pending`             | `pending`             |
| `Error`             | `firing`              | `error`               |
| `NoData`            | `firing`              | `nodata`              |
| `Normal`            | _(no metric emitted)_ | _(no metric emitted)_ |
2025-06-18 07:17:57 +02:00
grafana-pr-automation[bot]
5448e8fb22 I18n: Download translations from Crowdin (#106866)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-18 02:32:30 +02:00
Kevin Minehart
0ff3ed0a64 Fix 12.0.2 changelog (#106863) 2025-06-17 22:04:28 +00:00
Alexander Akhmetov
5a78ce8a4b Alerting: Support saving extra Mimir configurations (#106721) 2025-06-17 23:33:16 +02:00
Moustafa Baiou
74e800e427 Alerting: Add provenance to Prometheus API (#106596)
This commit adds provenance information to the Prometheus API in the ngalert service to enable compatibility with the new alert list page.
2025-06-17 23:31:42 +02:00
Matias Chomicki
693bc51693 New Logs Panel: Read default font size from storage + add missing unescaped content check + fix mutation (#106755)
* Logs Panel: remove default value to it's taken from local storage code

* processing: do not remove newlines, let truncation handle

* LogList: check and pass unescaped content to context

* LogLine: prevent mutation of searchWords

* grammar: use parseFlags

* grammar: escape regex
2025-06-17 23:10:34 +02:00
Pepe Cano
286a6638b8 docs(alerting): fix Grafana Play links due to provisioning (#106816) 2025-06-17 23:08:46 +02:00
Alexander Akhmetov
f6e330b3d7 Alerting: Allow disabling recording rules write for a data source in the UI (#106664)
Adds a new "Allow as recording rules target" toggle to Prometheus datasource configuration that controls whether the datasource can be selected as a target for writing recording rules.
---------

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
Co-authored-by: Konrad Lalik <konradlalik@gmail.com>
2025-06-17 22:55:45 +02:00
Brendan O'Handley
6cb2c701e6 Tempo: Enable native histograms for Tempo service graph (#105989)
* add native histogram dropdown to tempo config for service graph

* add docs for configuring native histograms

* add config native histogram options to types

* add native histogram metric to graph transform

* add native histogram to service map query for links

* add native histogram duration metric for duration queries

* use native histogram for duration queries

* export for tests

* add tests for native histogram links, queries and dataframes

* update tempo devenv to use native histograms

* use union for histogramType

* run prettier

* remove comment
2025-06-17 20:40:40 +00:00
github-actions[bot]
200f3a5f51 Release: update changelog for main (#106807)
* Update changelog

* Update changelog

* Update changelog

* Update changelog

* Update changelog

* Update changelog

* Update CHANGELOG.md

add cve fixes to changelog on main

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Jev Forsberg <46619047+baldm0mma@users.noreply.github.com>
2025-06-17 13:41:51 -06:00
Florian Verdonck
45bd08baf5 ElasticSearch: Remove frontend response parsing (#104148)
* chore: Remove ElasticReponse

* Ran betterer
2025-06-17 20:20:28 +01:00
Mariell Hoversholm
18fc0bc878 Actions: Introduce Shellcheck action (#106843) 2025-06-17 21:15:03 +02:00
Roberto Jiménez Sánchez
689cafc1fa App Platform Provisioning: Add experimental nanogit mode for Git Sync (#106763)
* Add nanogit package
* Add nanoGit feature flag
* Put logger into nanogit context
* Commit go mod and go sum updates
* Add more stuff around logging
* Nanogit also in extra one
* Add owner to dependency
2025-06-17 19:07:30 +02:00
Kristina
5e9bb9f506 Transformations: Add "Auto" mode to Organize Fields (#103055)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Paul Marbach <paul.marbach@grafana.com>
2025-06-17 11:29:11 -05:00
Mihai Doarna
96f1582c36 Docs: Remove api key references from docs (#106134)
remove api key references from docs
2025-06-17 18:20:08 +03:00
Kevin Minehart
7bae1d9d02 CI: Pin qemu binfmt image (#106847)
statically set qemu binfmt image
2025-06-17 17:18:14 +02:00
Moustafa Baiou
0e6c7f84c3 Alerting: Add filters for health and contact point in Prometheus Rules api (#106580)
This adds the ability to filter rules with the prometheus compatible api using:
1. `receiver_name` to filter by contact point name
2. `health` to filter by the health status of the rule (one of `ok`, `error`, `nodata`, or `unknown`)

This also ensures that groups with no rules (due to filters) are not returned.
2025-06-17 16:57:03 +02:00
Ashley Harrison
a302dad3c9 Chore: Allow package translations (#106820)
allow package translations
2025-06-17 15:46:41 +01:00
Ashley Harrison
6fcfa5f9e4 Internationalisation: Scope package translation keys (#106844)
* fix grafana-prometheus markup

* fix grafana-sql package translations

* Revert "fix grafana-sql package translations"

This reverts commit 3a85160deb.

* fix grafana-sql translations
2025-06-17 15:43:32 +01:00
Mustafa Sencer Özcan
b48337a7c8 feat: introduce ttl cache for bleve indices (#106842) 2025-06-17 16:28:51 +02:00
Josh Hunt
1dfbd215cd I18n: Add rollup plugin to handle dynamic imports in prom package (#106837)
I81n: Add rollup plugin to handle dynamic imports in prom package
2025-06-17 15:06:53 +01:00
kay delaney
2aae202f92 Library Panels: Mark library panel RBAC as GA & enable by default (#106833) 2025-06-17 14:50:34 +01:00
kay delaney
f71c9c6ebf Dashboards: Add undo/redo support for adding/removing template variables (#106643)
* Dashboards: Add undo/redo support for adding/removing template variables

* Remove unnecessary ObjectRemovedFromCanvasEvent
2025-06-17 14:50:11 +01:00
Kyle Brandt
8b6329a224 SQL Expressions: Fixes for Prometheus Metric Instrumentation (#106722)
* capture errors on metrics
* rename seconds to sql_command_duration_milliseconds to match unit that has been captured, and update buckets
* rename sql_command_errors_total to sql_command_count
2025-06-17 09:23:56 -04:00
Costa Alexoglou
9ce207b472 docs: k8s backend contrib docs minor fixes (#106174)
* docs: minor k8s inspired doc changes

* docs: revert to v1 as recommended first major

* Update contribute/architecture/k8s-inspired-backend-arch.md

Co-authored-by: Igor Suleymanov <radiohead@users.noreply.github.com>

---------

Co-authored-by: Igor Suleymanov <radiohead@users.noreply.github.com>
2025-06-17 15:12:49 +02:00
renovate[bot]
94013a341c Update dependency i18next-browser-languagedetector to v8.2.0 (#106835)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-17 13:54:10 +01:00
renovate[bot]
91491d6147 Update dependency croner to v9.1.0 (#106817)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-17 13:29:01 +01:00
dependabot[bot]
a5aab2edca Bump github.com/cloudflare/circl from 1.6.0 to 1.6.1 (#106510)
Bumps [github.com/cloudflare/circl](https://github.com/cloudflare/circl) from 1.6.0 to 1.6.1.
- [Release notes](https://github.com/cloudflare/circl/releases)
- [Commits](https://github.com/cloudflare/circl/compare/v1.6.0...v1.6.1)

---
updated-dependencies:
- dependency-name: github.com/cloudflare/circl
  dependency-version: 1.6.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-17 14:24:30 +02:00
Nick Richmond
c65ef07635 Prometheus: Facilitate tree shaking with exports and bundler mode (#105575)
* feat: bundler mode

* refactor: simplify singleton modeller

* refactor: isolate state

* refactor: decouple query rendering from modeller

* fix: remove unused var

* build: configure declaration files

* refactor!: configure exports

* fix: remove unused file

* fix: use shared utils only

* refactor: avoid confusing singleton

* fix: avoid ReDoS

see https://github.com/grafana/grafana/security/code-scanning/2883 for details

* fix: avoid catastrophic backtracking

see https://github.com/grafana/grafana/security/code-scanning/2884 for details

* fix: circular dep

* fix: make rollup happy by restoring declarationDir

* fix: import

* fix: circular dep

* chore: remove superfluous file

* fix: remove duplicate modeller code

* chore: remove superfluous comment

* fix: handle subpaths in exports

* fix: add missing ignore

* fix: correctly ignore assertion

* refactor: improve clarity

* refactor: promote clarity, be explicit

* refactor: more sensible filter

* fix: add missing devDep

* fix: circular import

* refactor: avoid type assertions where possible

* fix: linting

* chore: remove subpath exports for now

* chore: prefer forthcoming solution for arbitrary exports

* chore: undo erroneous change after merge

* refactor: prefer snake_case

* fix: linting

* refactor: simplify
2025-06-17 07:40:43 -04:00
Oscar Kilhed
e90134bb6f Dashboards: Prefer the library panel title instead of panel title set in the dashboard. (#106810)
* prefer library panel title

* Add .

* add tests
2025-06-17 13:21:21 +02:00
Andres Martinez Gotor
a125c17e79 Update grafanaAdvisor FF stage to private preview (#106819) 2025-06-17 12:50:00 +02:00
renovate[bot]
dda1d551cf Update dependency ol-ext to v4.0.33 (#106813)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-17 10:17:43 +00:00
Josh Hunt
e49c73533b I18n: Allow pseudo-locale to be enabled in production builds (#106738)
* I18n: Allow pseudo-locale to be enabled in production builds

* fix tests now that pseudo is around

* remove psuedo locale from i18n package

* load en-us from plugin resources for pseudo

* fix tests + remove 'hidden' option

---------

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-06-17 10:55:15 +01:00
Alexander Akhmetov
e92baba748 Alerting: Support PDC in Grafana-managed recording rules (#106677) 2025-06-17 11:46:34 +02:00
renovate[bot]
80df9fab4d Update dependency @grafana/llm to v0.22.1 (#106812)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-17 10:43:32 +01:00
renovate[bot]
f2f2098c73 Update dependency esbuild-plugin-browserslist to v1 (#106717)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-17 10:20:05 +01:00
Piotr Jamróz
cb9526af2b Tempo: Do not wrap tick labels (#106771) 2025-06-17 10:52:07 +02:00
Pepe Cano
51b05b1b3d docs(alerting): specify that the PUT request of the rule group endpoint can create a new rule group (#106727) 2025-06-17 10:40:57 +02:00
Ivan Ortega Alba
09bbdfe8ab Dashboard Migrations: V35 ensures X-axis visibility in timeseries (#106633)
* Add datasource info provider

* Dashboards: Support schemaVersion v35 migration in backend

* update go mods

---------

Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>
Co-authored-by: Haris Rozajac <haris.rozajac12@gmail.com>
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-06-17 10:38:48 +02:00
Eric Leijonmarck
25fe2b54fb LBAC for data sources: Enable teamHttpHeadersMimir by default (#106636)
feat: enable mimir lbac by default
2025-06-17 09:19:02 +01:00
Mariell Hoversholm
141e0f8e52 Codeowners: Handover Sharing elements to Enterprise (#106757) 2025-06-17 10:04:00 +02:00
Josh Hunt
eb4de388c3 Chore: Bump brace-expansion (#106694)
Bump brace-expansion
2025-06-16 23:57:03 +02:00
Kevin Minehart
8b370bb6a5 CI: Build pre-release artifacts in GhA on merge to release branches and main. (#106779)
* Add grafana-build action and workflow

* Fix the --verify flag stalling on tar.gz builds

* Add event sources for main / release branches

* Update CODEOWNERS
2025-06-16 22:54:50 +02:00
Luminessa Starlight
09e8484bac i18n: rename locale to regionalFormat (#106585)
* locale -> regionalFormat, mirroring #102233

* set up regionalFormat to replace locale entirely

* replace locale with regionalFormat

* update reportInteraction arguments
2025-06-16 21:53:55 +02:00
Kristina
c00caa2fb2 Transformations: Add time filtering to filter by value (#101591)
* WIP - time filtering

* Replace variable test

* Change tests

* Validator is already tested

* Change test to match evaluation

* Add line to docs

* Revert "Add line to docs"

This reverts commit 783f247c33.

* Put transformations docs update in the right place, cannot build without an update, WIP

* Run build

* Use regex test and rewind

* Does this help

* make config optional
2025-06-16 14:27:34 -05:00
Matt Cowley
fc97b0e6b4 Home: restrict Getting Started Guide link to admins (#106742) 2025-06-16 14:56:52 -04:00
Jacob Valdez
7cdd4470c6 Docs: Adding info on allowlisting IPs for the Cloud Migration Assistant (#106447)
* Docs: Adding info on allowlisting IPs for the Cloud Migration Assistant

* adjusting the wording
2025-06-16 13:13:53 -05:00
Ryan McKinley
d02b62e874 Chore: Update app-sdk to v39 (#106785) 2025-06-16 19:11:30 +02:00
Mathias Petermann
19a65a4865 Docs: Document remote_cache is only used if a remote database is used (#104779)
* Document `remote_cache` is only used if a remote database is used

* Update _index.md

---------

Co-authored-by: Jacob Valdez <jacob.valdez@grafana.com>
2025-06-16 11:38:02 -05:00
Matheus Macabu
db845ed8de CloudMigrations: Add Mute Timings as dependency for Notification Policies (#106751) 2025-06-16 18:08:18 +02:00
linoman
3f2d2ec38c SAML catalog: Set default values for SAML assertion - docs (#106773)
Update documnetation references
2025-06-16 17:50:29 +02:00
Kristina
f4725588ba Transformations: Add tests for getFieldTypeForReducer (#102144)
* Reorganize test file, add tests for getFieldTypeForReducer

* Add back delta tests accidently removed

* Remove skip
2025-06-16 10:38:17 -05:00
kay delaney
9a17e9abd6 Chore: Bump node to v22.16.0 (#106758) 2025-06-16 17:29:07 +02:00
Juan Cabanas
c481c979f9 Reporting: Change FF to public preview (#106748) 2025-06-16 17:28:17 +02:00
brauhaus-grafana
679a0a7a42 Update index.md (#106782) 2025-06-16 17:13:02 +02:00
Matthew Jacobson
24805685bc Alerting: Fix contact points tab visibility when user can only create (#106735)
Contact points tab was not being displayed for users with only
`alert.notifications.receivers:create` and
not `alert.notifications.receivers:read`
2025-06-16 11:05:27 -04:00
Matheus Macabu
8d27f12428 Dependencies: Fix enterprise imports (#106764) 2025-06-16 16:50:19 +02:00
Scott Lepper
ab023ec5fa Annotations: Remove prometheus from legacy runner (#106737)
Annotations: remove prometheus from legacy runner
2025-06-16 16:45:59 +02:00
Ivan Ortega Alba
59c2f15433 Dashboard V0->V1 Migration: Schema migration v36 (#100757)
---------

Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>
Co-authored-by: Haris Rozajac <haris.rozajac12@gmail.com>
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-06-16 15:53:41 +02:00
Ivana Huckova
6767adb4a6 Loki: Implement error source (#106766)
* Loki: Implement error source

* Add tests
2025-06-16 15:52:35 +02:00
Dana Axinte
dbe815ee68 SecretsManager: keepers with secure values credentials (#106761)
* SecretsManager: keepers with secure values

Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
Co-authored-by: Dana Axinte <53751979+dana-axinte@users.noreply.github.com>

* Keepers: Refactor extract secure values remove extra helper functions

Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>

---------

Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
2025-06-16 14:37:36 +01:00
renovate[bot]
c28523decf Update scenes to v6.20.2 (#106774)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-16 15:23:28 +02:00
Ezequiel Victorero
b89d52329b Dashboard: Add missing translations save drawer (#106736) 2025-06-16 09:47:11 -03:00
Andrej Ocenas
31903c7abc Command palette: Add tests for scope actions (#106660)
* Don't show result from other parents

* Use global search hook for scopes even inside scopes category

* Remove console.log

* Move code to separate files

* Add tests

* Renamed utils file
2025-06-16 14:38:27 +02:00
Oscar Kilhed
61430f027f Dynamic dashboards: Undo redo for remove row, add tab, remove tab (#106614)
* Undo redo for remove row, add tab, remove tab

* Undoing remove tab and row now adds them back in the correct place

* add tests

* fix lint issue
2025-06-16 14:20:45 +02:00
Gábor Farkas
5d54289509 datasources: querier: more robust error handling, and report no errors for single-tenant (#106288)
* datasources: querier: more robust error handling, and report no error for st

* do not leak error details out

* apply the change to the real file, not just to the test
2025-06-16 14:12:37 +02:00
kay delaney
7273e4ca1c Dashboards: Add undo/redo support for dashboard description (#106718)
* Dashboards: Add undo/redo actions for changing dashboard title

* Run make i18n-extract

* Dashboards: Add undo/redo support for dashboard description

* fix typo

* Add tests for DashboardTitleInput & DashboardDescriptionInput
2025-06-16 12:56:05 +01:00
Roberto Jiménez Sánchez
0ae635974e App Platform Provisioning: Fix flaky test to assert dashboards deletion on repository deletion (#106753)
Use assert instead of require within eventually
2025-06-16 11:46:09 +02:00
Bryan Boreham
fca89d0d4c Docs: Typo: mediam->median (#106305) 2025-06-16 12:35:29 +03:00
Dana Axinte
6097841e67 SecretsManager: add secure value store (#106708)
* SecretsManager: add secure value model and sql templates

Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
Co-authored-by: Dana Axinte <53751979+dana-axinte@users.noreply.github.com>
Co-authored-by: Leandro Deveikis <leandro.deveikis@gmail.com>
Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>

* SecretsManager: secure value rest layer to use store

Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
Co-authored-by: Dana Axinte <53751979+dana-axinte@users.noreply.github.com>
Co-authored-by: Leandro Deveikis <leandro.deveikis@gmail.com>
Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>

* SecretsManager: temporary add actor prefix to decrypters

* Remove list securevalue by namefor now

---------

Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
Co-authored-by: Leandro Deveikis <leandro.deveikis@gmail.com>
Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>
2025-06-16 10:19:44 +01:00
Victor Marin
ffc16ee072 Schema: Change how origin filters are added to AdHocVariable (#106086)
* refactor origin filters schema

* add canary version

* update schema

* fix failing tests

* refactor

* remove autogenerated import

* tests

* maintain only dashboard originated filters

* refactor

* refactor

* Schema: Persist defaultValue for groupBy in schema (#106542)

* persist defaultValue for groupBy in schema

* fix

* type

* refactor

* refactor

* bump scenes
2025-06-16 11:15:00 +03:00
Bryan Huhta
f974cb12b5 FlameGraph: Add support for regex search patterns and multiple search terms (#106347)
* "or" search terms with commas

* Add regex support to search bar

* Don't try match empty search terms

* Fix lint error
2025-06-16 09:33:53 +02:00
Piotr Jamróz
4b9cf4eb35 Tempo: Map error message about the time range limit to more human-readable format (#106626) 2025-06-16 09:17:34 +02:00
Hugo Häggmark
31f7af0685 Plugins: adds read-only props to DataSourcePluginSettings (#105713) 2025-06-16 06:06:42 +02:00
Hugo Häggmark
a07f63fbef i18n: use @grafana/i18n within @grafana/ui (#106691) 2025-06-16 06:04:28 +02:00
maicon
fcb369e9a3 Unistore/datamigration: Take namespace from command line flag (#106724)
Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-06-15 19:45:42 +00:00
Josh Hunt
0034456e00 TimeRangePicker: Highlight range on hover (#106616)
* WIP for improved hover state for calendar range

* TimeRangePicker: Add hover state when selecting a date range

* reorder styles to reduce duplication

* oops that wasn't supposed to go in

* ignore border radius false positive
2025-06-13 22:51:09 +02:00
Stephanie Hingtgen
feeced9618 K8s: Dashboards /apis: Fix library element connections (#106734) 2025-06-13 21:40:39 +02:00
Stephanie Hingtgen
a8886ad5ec Annotations: Use dashboard uids instead of dashboard ids (#106676) 2025-06-13 13:59:24 -05:00
Leon Sorokin
47f3073ab8 Transformations: Speed up INNER JOIN by ~200x, OUTER by ~20x (#105592) 2025-06-13 20:47:30 +02:00
Ida Štambuk
08f274ba73 Features: Remove xrayApplicationSignals feature toggle (#106547)
Features: Remove xrayApplicationSignals toggle
2025-06-13 20:26:14 +02:00
Santiago
3fe73b8de9 Remote Alertmanager: Send SMTP config (#106337)
* (WIP) Remote Alertmanager: Send SMTP config

* send SMTP configs separately

* bring back deleted fields

* actually send stuff over

* remove redundant type, fix comments

* smtp -> smtpConfig

* also send SmtpFrom an StaticHeaders separately

* tests

* restore defaults.ini
2025-06-13 12:44:39 -03:00
renovate[bot]
edd179b4ef Update dependency @grafana/llm to v0.22.0 (#106714)
* Update dependency @grafana/llm to v0.22.0

* mark some packages as esm for jest

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-06-13 16:44:02 +01:00
Tania
1500fa5772 Extend OpenFeature service (#106707) 2025-06-13 17:30:53 +02:00
Sonia Aguilar
18b0eec0a3 Alerting: Filter out rules managed by integrations and add an info alert (#106602)
* Filter out rules managed by integrations and add an info alert

* address review comments
2025-06-13 17:21:47 +02:00
renovate[bot]
a3efa2e48d Update dependency browserslist to v4.25.0 (#106716)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-13 15:36:02 +01:00
Jacob Valdez
a8e0eef02b Docs: Adding a note that we are no longer publishing a dedicated breaking changes page (#106671)
* Docs: Adding a note that we are no longer publishing a dedicated breaking changes page

* fixing broken adminition shortcode
2025-06-13 09:35:38 -05:00
Yuri Tseretyan
b0ff51a903 Alerting: Support for Mimir configuration in Grafana Alertmanager (#106402) 2025-06-13 16:32:23 +02:00
kay delaney
3c0d087186 Dashboards: Add undo/redo actions for changing dashboard title (#106574)
* Dashboards: Add undo/redo actions for changing dashboard title

* Run make i18n-extract

* Prevent empty undo/redo actions
2025-06-13 15:05:27 +01:00
Jean-Philippe Quéméner
5f21f320f7 fix(unified-storage): use continue token containing both formats for dualwriter (#106525) 2025-06-13 15:59:46 +02:00
renovate[bot]
8504f7ea90 Update React Aria (#106685)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-13 13:59:19 +00:00
Kevin Minehart
910eb1dd9e Security: apply patch 428 (#106710)
* declare dingding url as secret

patch raw settings before parsing because DingDing's config parser does not know about secrets

* fix integration test

---------

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2025-06-13 15:56:26 +02:00
Matias Chomicki
5f3c04f537 New Logs Panel: Implement client-side text search (#106448)
* LogList: add key bindings hook

* LogListContext: add search support

* LogList: create and integrate LogListSearch

* useKeyBindings: close search with escape

* LogListSearch: implement go to results

* LogLine: support highlight in logs with ansi colors

* LogListSearchContext: extract from LogListContext

* LogListSearch: highlight matches in ansi logs

* LogListSearch: fix count

* LogListSearch: implement optional results filtering

* Translations

* LogListSearch: display within the panel and add tooltip

* Translations

* LogList: highlight search words and search matches

* LogListSearch: remove ufuzzy

Unfortunately we can't highlight ufuzzy matches

* LogListSearch: clean up removed ufuzzy implementation

* Prettier

* LogListSearch: search in displayed fields

* useKeyBindings: switch to native event listeners

* LogListSearch: fix effect loop

* LogListSearch: remove character so people don't think this text comes from AI

* LogLine: add text search test cases

* LogList: add integration test case

* LogListSearch: use uncontrolled input and react transitions

* LogListSearch: import t from i18n

* LogListControls: add search control

* LogListSearch: escape regexes
2025-06-13 14:50:03 +02:00
Stephanie Hingtgen
352aac162c Preferences: Use dashboard uid for the home dashboard (#106666) 2025-06-13 07:10:44 -05:00
Gilles De Mey
4c2bfe8263 Alerting: Add simplified routing metadata to the details tab (#106403) 2025-06-13 13:49:52 +02:00
Alex Khomenko
6a11d462cb API: Support versioned frontend clients (#106545)
* Update the generator to include version

* Add versioned APIs

* Update imports

* Prettier
2025-06-13 13:24:37 +03:00
Jean-Philippe Quéméner
3e3fa18118 Revert "fix(folders): only return continue token if more results" (#106700)
Revert "fix(folders): only return continue token if more results (#106667)"

This reverts commit 3fd8ad8476.
2025-06-13 12:07:27 +02:00
Pepe Cano
cdacfd6f79 ui(alerting): Add NeedHelp section for the Missing series evaluations to resolve setting (#105456)
* ui(alerting): Add NeedHelpInfo UI for `Missing series evaluations` setting

* Run `make i18n-extract`

* fix URL linke
2025-06-13 11:12:06 +02:00
Matheus Macabu
a65743e41d CloudMigrations: Skip default contact point from snapshot (#106600)
* CloudMigrations: Skip default contact point from snapshot

* Update cloud-migration-assistant.md

* Update cloud-migration-assistant.md

---------

Co-authored-by: Jacob Valdez <jacob.valdez@grafana.com>
2025-06-13 11:09:27 +02:00
Ivana Huckova
fba0d8ddb0 Loki: Ensure that streaming is behind feature toggle in backend (#106657)
* Loki: Ensure that streaming is behind feature toggle in backend

* Update getLiveStreamKey to include orgId and datasourceUIS
2025-06-13 10:49:55 +02:00
Natalia Bernarte Oses
61be88b9b3 Fix sql expressions label (#106575)
Fixes the sql expressions label
2025-06-13 10:43:13 +02:00
Pepe Cano
493e7ba75f docs(alerting): enhancements for MQTT docs (#106566)
* docs(alerting): enhancements for MQTT docs

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

Co-authored-by: Simon Prickett <simon@crudworks.org>

---------

Co-authored-by: Simon Prickett <simon@crudworks.org>
2025-06-13 10:27:08 +02:00
Pepe Cano
98ea0193e4 alerting(ui): update the descriptions of the MQTT Message settings (#106601)
alerting(ui): update the description of the MQTT Message settings
2025-06-13 10:12:11 +02:00
Jean-Philippe Quéméner
3fd8ad8476 fix(folders): only return continue token if more results (#106667) 2025-06-13 09:55:30 +02:00
Josh Hunt
129ec01cd0 FE: Specify public_cdn_path in new index.html (#106662) 2025-06-13 08:28:53 +02:00
github-actions[bot]
d205d27f9d Release: update changelog for main (#106684)
* Update changelog

* Update changelog

* Update changelog

* Update CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2025-06-13 04:08:10 +00:00
github-actions[bot]
dc48abebb4 Release: update changelog for main (#106628)
* Update changelog

* Update changelog

* Update changelog

* Update changelog

* Update changelog

* Update changelog

* Update CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2025-06-13 03:11:45 +00:00
renovate[bot]
19c8d69419 Update dependency ol-ext to v4.0.32 (#106682)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-13 03:03:48 +00:00
Kevin Minehart
c3d791a5c5 CI: Add placeholder target input to release-pr (#106681)
Add placeholder target input to release-pr
2025-06-13 04:27:22 +02:00
Matthew Jacobson
0016b57486 Alerting: Add OAuth2 Support for Webhook Receiver (#106302)
* Add to available channels

* Export

* Fix bug in deeply nested secrets

BE: Slice re-use bug when traversing deeply.

FE: Only at most one level of nesting was being taken into account
when determining secureFields keys. This change adds a new field on
NotificationChannelOption: secureFieldKey. This is populated on API GET via
transform. This change gives us the option to hardcode secureFieldKey in the
backend and no longer calculate the key via settings topology.

* Update grafana/alerting to 3e20fda3b872

* Prettier

* Linting

* Fix IntegrationConfig test to catch secure field mismatch
2025-06-12 23:00:09 +02:00
Stephanie Hingtgen
5135d5c87d Unified storage: Reconstruct index in the background every 24h (#106422) 2025-06-12 14:34:48 -05:00
Paul Marbach
1e41c07920 StateTimeline: Support NaN and null value mappings (#105638)
* fix(#92944): add StateTimeline Null+NaN handling

* chore: remove console.warns from debugging

* test: initialize a couple of simple tests

* test: more tests for hasMappedNaN and hasMappedNull

* chore: revert some of the let-const syntax cleanup for a later PR

* chore: rename should draw method

* chore: fix comment typo

* refactor(timeline-chart-utils): un-nest hasSpecialMappedValue() helper

* test(timeline-chart-utils): unit test hasSpecialMappedValue() helper

* chore: fix code comment typos in changed files

* refactor(timeline-chart): reduce helper DRY-ness for better performance

* fix(timeline-chart): check Y value for truthiness, not if it is finite

* test(state-timeline): additional gdev test panels with null + NN values

* fix(timeline-chart): allow Y value of zero in checks

---------

Co-authored-by: Jesse David Peterson <jesdavpet@users.noreply.github.com>
Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
2025-06-12 15:13:25 -04:00
Matias Chomicki
7b70271ce6 New Logs Panel: add syntax highlighting option (#106611) 2025-06-12 20:43:13 +02:00
Fayzal Ghantiwala
85df859589 Alerting: Correctly persist FiredAt in SyncRuleStatePersister (#106658)
Correctly persist FiredAt
2025-06-12 18:07:16 +01:00
Chris Hodges
e0d27dc0d7 Dashboard: Add configurable quick ranges for the time picker (#102254)
* Dashboard: Add configurable quick ranges for the time picker

* fix test and linter errors

* update from array to TimeOption

* Switching to grafana-scenes (Part 1 - remove grafana-ui changes

* Update SceneTimePicker initialization

* betterer

* remove hallucinated argument

* Revert "Bump scenes and fix types (#105167)"

This reverts commit c6428dfc74.

* make gen-go

* reset files

* Shorten documentation to increase maintainability

* Update _index.md

* the

---------

Co-authored-by: joshhunt <josh.hunt@grafana.com>
Co-authored-by: Jacob Valdez <jacob.valdez@grafana.com>
2025-06-12 17:51:46 +02:00
Jacob Valdez
f02ad33fd2 Docs: adding information on adjusting short link expiration time in Grafana cloud (#106112)
* Docs: adding information on adjusting short link expiration time in Grafana cloud

* changing admonition and adding info on changing config for cloud

* adjusting wording

* fixing typo

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

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

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2025-06-12 15:47:13 +00:00
Andreas Christou
45b92f2a98 Partner: Add PRs to project (#106641)
Add PRs to project
2025-06-12 16:43:48 +01:00
Andres Martinez Gotor
a3e85d8319 Advisor: Fix issues (#106612) 2025-06-12 15:37:07 +00:00
Isabel Matwawana
8e815159b1 Docs: Update experimental note to include feature flag (#106634) 2025-06-12 10:56:36 -04:00
Christopher Moyer
a756a555d3 docs/adds shortcode used in learning journey (#106586) 2025-06-12 10:11:55 -04:00
Stephanie Hingtgen
f4e4ba6f19 Library elements: Remove ability to set as "library variable" (#106594) 2025-06-12 08:41:18 -05:00
Matheus Macabu
a1f2693fd8 CloudMigrations: Omit autoincremented id for alert snapshots (#106598)
If you tried to migrate alerts from two differente sources/on-prem instances,
the autoincremented numeric id would be the same, and since we were creating
the resource in cloud with that same id (the API accepts it), it would
return an error "conflicting alert rule found" because that id is the primary key on the table.

We simply omit the numeric id now and let the API for the cloud instance generate it.
2025-06-12 15:38:21 +02:00
Alexa Vargas
d041ae8e73 Dashboard: Formatting Currency - add new custom 'financial' currency format without abbreviations (#106604)
* Dashboard: ValueFormat - add custom 'financial' currency format without abbreviations

- Add fullCurrency formatter function that displays complete numeric values
- Apply performance suggestions from old PR
- Add unit tests
- Update documentation

* remove unnecesary `true` format support
2025-06-12 15:28:10 +02:00
Jack Westbrook
e33ef2885f Chore: Remove rollup-plugin-dts (#106442)
* chore(packages): remove rollup dts plugin

* build(packages): add rollup copy plugin settings to copy ts declarations to esm and cjs builds

* build(packages): remove copy settings as result doesnt pass attw cli checks

* build(packages): use single types output in dist/types directory

* ci(packages): update prepare and validate scripts for single type builds

* fix(grafana-schema): copy raw types to dist/esm directory for grafana/scenes support
2025-06-12 15:25:16 +02:00
Will Browne
cf31954f2a Plugins: Add integration test for provisioned plugin dashboard import (#105681)
* add test

* make it fail

* get test work reliably

* get or create db section

* remove unnecessary code

* move test to first

* add comment

* apply PR feedback
2025-06-12 14:24:47 +01:00
Alex Khomenko
f9fb9d268f Restore dashboards: Add API client endpoints (#106435)
* Dashboards: Add restore endpoints to the API

* Fix unified api

* Fix resource version

* Add tests

* Update api

* Update type guards

* Update comments

* Add missing type

* Cleanup

* Move spec checking logic to v1 client

* Handle mixed versions in deleted dbs list

* Update tests

* comment

* type
2025-06-12 15:49:55 +03:00
Christian Simon
6156e9c2d8 FlameGraph: Fix bug for function names that conflict with JavaScript object prototype properties (#106338)
* grafana-flamegraph: Fix bug for function names that conflict with JavaScript object prototype properties

The bug occurs in the flamegraph data transformation logic where function names from profiling data are used as object
keys without proper prototype pollution protection.

Fixes #106232 #101551

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

* Fix top table calculations

---------

Co-authored-by: vinayteki95 <vinayteki95@users.noreply.github.com>
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
2025-06-12 14:41:33 +02:00
Dana Axinte
de28231f2f SecretsManager: Add outbox store (#106613)
SecretsManager: add outbox store

Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
2025-06-12 13:31:48 +01:00
Matias Chomicki
5a34447ad9 Kinds: check for entries length (#104231) 2025-06-12 14:10:57 +02:00
Hugo Häggmark
3c6da3f241 i18n: removes useTranslate from ESLint rules (#106597)
* i18n: removes useTranslate from eslint rules

* chore: remove some more useTranslate
2025-06-12 13:30:54 +02:00
Alexander Akhmetov
e1ce9ceac1 Alerting: Simplify alert rule unique constraint violation errors (#106608)
Alerting: Simplify alert rule storage unique constraint violation errors
2025-06-12 13:27:08 +02:00
Dana Axinte
c22b4845bb SecretsManager: Add encrypted value store (#106607)
* SecretsManager: add encrypted value store

Co-authored-by: Dana Axinte <53751979+dana-axinte@users.noreply.github.com>
Co-authored-by: Leandro Deveikis <leandro.deveikis@gmail.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>

* SecretsManager: wiring of encrypted value store

---------

Co-authored-by: Leandro Deveikis <leandro.deveikis@gmail.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>
2025-06-12 11:52:01 +01:00
Ashley Harrison
0879479c15 Internationalisation: Mark up @grafana/prometheus package (#105861)
* scaffolding for grafana-prometheus i18n

* markup

* extract translations

* fix tests

* add loadResources + fix object properties

* fix typo + prettier

* remove useTranslate

* update workflow to trigger on changes to grafana-sql/grafana-prometheus packages
2025-06-12 11:29:33 +01:00
Andrej Ocenas
d284cceb67 Command palette: Don't show dashboard search result from different parent (#106536)
* Don't show result from other parents

* Use global search hook for scopes even inside scopes category

* Remove console.log

* Don't show non leaf scopes in global search
2025-06-12 11:53:04 +02:00
Ashley Harrison
84eafb9a56 Internationalisation: Mark up @grafana/sql package (#105842)
* scaffolding for package

* crowdin scaffolding

* markup

* add translations

* fix locale location

* fix tsconfig?

* undo bundler change

* object tranlsations, expose loadResources and call in mssql

* prettier

* remove useTranslate

* extract translations

* last couple of fixes

* remove deleted files
2025-06-12 10:52:04 +01:00
Tobias Skarhed
c42c89d5e4 Scopes: Add support for annotation queries (#106527)
* Add scenes canary

* Bump scenes version

* bump scenes-react

* Add caret to scenes version
2025-06-12 11:49:11 +02:00
Hugo Häggmark
2b8c74de2e i18n: removes useTranslate hook (#106556)
* i18n: removes useTranslate hook

* chore: fix duplicate imports

* chore: fix import sorting and hook dependencies
2025-06-12 11:03:52 +02:00
Andres Martinez Gotor
e73530da09 Advisor: Add a check for pinned instances (#106059) 2025-06-12 10:15:40 +02:00
Leon Sorokin
44e7be134d TimeSeries: Fix rendering of sparse points with null gaps at outer edges (#106507) 2025-06-11 15:43:54 -05:00
Stephanie Hingtgen
7864c1660f K8s: Get trash fixes (#106411) 2025-06-11 13:54:38 -05:00
Christian Simon
8fdf86e56f Profiles: Stop passing response headers for Grafana-Pyroscope and parca datasources (#106577)
* Revert "pkgs/tsdb/[grafana-pyroscope-datasource|parca]: Fix use of request headers in responses"

This reverts commit 8bac68e906.

* Profiles: Stop passing request/response headers to the backend
2025-06-11 18:34:21 +01:00
mihaelmiklec
4f127c6dff Docs: Fix missing link for OTEL in Grafana's about page (#106324)
Co-authored-by: Irene Rodriguez <irene.rodriguez@grafana.com>
2025-06-11 14:54:20 +00:00
Kyle Brandt
1be9e60667 SQL Expressions: Exclude CTEs from required Tables (#106479)
Fixes #105030

---------

Co-authored-by: Sam Jewell <2903904+samjewell@users.noreply.github.com>
2025-06-11 10:36:28 -04:00
Ivana Huckova
c0e7701ad4 Loki: Fix issue where step parameter using a template variable was marked as invalid (#106541)
* Loki: Step with template variable should be valid

* Fix lint
2025-06-11 16:36:14 +02:00
Josh Hunt
fe5e69f731 EchoSrv: Use inline Rudderstack types (#106558)
Use inline Rudderstack types
2025-06-11 15:28:06 +01:00
Ieva
4a520fb221 RBAC: Extend the docs (#106397)
* extend the docs

* Account for CI warning

in

the

Linting

---------

Co-authored-by: Gabriel Mabille <gabriel.mabille@grafana.com>
2025-06-11 16:06:31 +02:00
Jacob Valdez
3c6146fd95 Docs: Adding clarification for resetting admin password (#106108)
* Docs: Adding clarification for resetting adming password with CLI with external DB

* adjusting bulleted points

* Cutting unneeded wording

* adjusting wording to avoid Grafana being possessive

* Changing Postgres to PostgreSPQL
2025-06-11 09:00:59 -05:00
Ashley Harrison
0d695bba92 Internationalisation: Always initialise a default i18n instance (#106552)
always initialise a default i18n instance
2025-06-11 14:44:06 +01:00
Shubham Nainwal
5d62ec901d VQB: Add selected columns to GROUP BY dropdown (#106349) (#106391)
* feat: add selected columns support to GROUP BY dropdown

* feat(vqb): allow selecting columns in GROUP BY dropdown #106349
2025-06-11 15:04:48 +02:00
Juan Cabanas
a26de69058 QueryLibrary: Change codeowner (#106550) 2025-06-11 14:57:09 +02:00
Yunwen Zheng
e05e4b9ea5 DatePicker: Add cursor not-allowed style and hover background color (#106451)
* DatePicker add cusor not-allowed style and hover background color
2025-06-11 08:55:47 -04:00
Sergej-Vlasov
bc076f27ff DashboardsE2E: Add E2E tests for Auto grid (#106171)
* add auto grid e2e tests

* remove unnecessary clean up in grouping tests

* refaactor repeated code

* Refactor some repeated blocks

---------

Co-authored-by: kay delaney <kay@grafana.com>
2025-06-11 13:36:12 +01:00
Matheus Macabu
5c268c1734 Dependencies: Bump Go to v1.24.4 (#106533) 2025-06-11 14:25:48 +02:00
kay delaney
b4e27fb333 Dashboards: Add e2e test for Dashboard Outline (#106491) 2025-06-11 14:18:37 +02:00
grafana-pr-automation[bot]
7e88d8a7c5 I18n: Download translations from Crowdin (#106539)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-11 07:04:52 -05:00
Piotr Jamróz
7adb116852 Tempo: Add a warning message about TraceQL metrics being an experimental feature (#106537)
Add a warning message to the query editor when used with alerting
2025-06-11 14:02:24 +02:00
Yaelle Chaudy
3814882166 Chore: updated codeowners following Grafana Frontend reorg (#106055)
* added new sno team

* Update scopes owners

---------

Co-authored-by: Clarity-89 <homes89@ukr.net>
2025-06-11 13:58:41 +02:00
kay delaney
66f79e53e5 Dashboards: Pass id prop to Switch component for bool inputs (#106438) 2025-06-11 12:45:14 +01:00
Alexander Akhmetov
eaac4a69fb Alerting: Empty endpoints to manage alertmanager configurations (#106546) 2025-06-11 13:45:02 +02:00
Isabel Matwawana
c611021d7d Docs: Update experimental note (#106489) 2025-06-11 06:58:34 -04:00
kay delaney
291f33541d Dashboards: Add ids to auto grid inputs for improved a11y (#106430) 2025-06-11 11:53:30 +01:00
Tito Lins
7688089a57 alerting: stop using rule group idx to calculate alert fingerprint (#106407) 2025-06-11 11:49:45 +02:00
Alexa Vargas
6af09ed763 Dashboard: Schema V2 - Auto-transform V2 dashboards in V1Resource export mode (#105997)
* experiment v2 to v1 in exporting

* refactor code to export to v1 resource

* Add unit test and fix linting

* fix typescript

* fix linting

* handle error gracefully when is not possible to convert to v1
2025-06-11 11:28:13 +02:00
Tania
21297b90fa Chore: Fix feature flags template for docs gen (#106531) 2025-06-11 11:25:35 +02:00
Jack Westbrook
279bdc2636 CI: Use publint to validate npm packages (#106521)
* ci(packages): use publint to validate npm packages are good to publish

* style(validate-npm-packages): remove extra line
2025-06-11 11:05:42 +02:00
Mariell Hoversholm
8d0f911cfe Actions: Propagate exit code in unit tests (#106528) 2025-06-11 10:31:07 +02:00
Victor Ubahakwe
f71a2062eb VQB: Allow custom table names in TableSelector (#106420)
* feat(sql): allow custom table names in TableSelector

Restores the ability to enter custom table names not present in the database
by adding `allowCustomValue` to the Select component. This matches previous
functionality where users could manually specify table names not returned
by db.tables().

fixes: #106348

* empty line 45
2025-06-11 10:29:37 +02:00
Konrad Lalik
95efe7a388 Alerting: List V2 - Grouped view filters (#106400)
* Add group and namespace filtering for GMA rules

* Add group and namespace filtering for DMA rules

* Fix view mode handling

* Preserve group and namespace filters when switching views

* update "no rules" logic for Grafana managed rules

* use groupFilter function for filter logic

* Add populateCache docs, tidy up api consts

* Fix imports in tests

* Fix failing import tests

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2025-06-11 09:51:53 +02:00
Timur Olzhabayev
3fe25d2f1b Chore: Add PR author to slack notifications (#106501)
add PR author
2025-06-11 09:13:58 +02:00
Mihai Doarna
90c80d6738 Teams: Add support for updating externalId field (#106406)
* add support for updating externalId field in teams

* return external_uid in GetTeam()
2025-06-11 10:02:20 +03:00
Mariell Hoversholm
185d1a1530 E2E: Rework the runner (#105712) 2025-06-11 08:43:06 +02:00
Hugo Häggmark
fd7b6091a2 i18n: removes unused include in tsconfig.json (#106431) 2025-06-11 06:07:18 +02:00
Andrew Hackmann
826a6a4a79 Prometheus: Deprecation message for Azure auth (#106490)
Add deprecation notice for azure auth in core prom
2025-06-11 00:10:15 +02:00
Jacob Valdez
e9b5ed6d4f Docs: Remove the Feature Toggles administration docs page (#106455)
* Docs: Remove the Feature Toggles administration page

* adding alias to remaining feature toggle page to redirect from deleted page
2025-06-10 13:37:28 -05:00
Jev Forsberg
82d271051a Chore: Also add +security branches on release-comms PR (#105689)
* baldm0mma/ add create-security-branch.yml and update release-comms

* baldm0mma/ update target repo

* baldm0mma/ add enterprise

* baldm0mma/ update naming

* baldm0mma/ update descriptions

* baldm0mma/ use go action

* baldm0mma/ add dispatch

* baldm0mma/ update codwowners

* baldm0mma/ remove old oush step

* baldm0mma/ update to pass branch, not version

* baldm0mma/ add create-security-branch script

* baldm0mma/ move script

* baldm0mma/ update codeowners

* Revert "baldm0mma/ update codeowners"

This reverts commit a68531c62e.

* baldm0mma/ add script to codeowners

* baldm0mma/ alphabetize workflows and templates

* baldm0mma/ update script path

* baldm0mma/ add push conditions

* baldm0mma/ remove trigger

* baldm0mma/ update codeowners
2025-06-10 11:45:45 -06:00
Alexa Vargas
4519d79406 Dashboard: Schema V2 - Improve warning when saving v1 dashboard to v2 dashboard (#106492)
* Dashboard: Improve warning when saving v1 to v2 dashboard

* Extract i18n
2025-06-10 19:04:32 +02:00
Sonia Aguilar
a4ef05b52b Alerting: Fix ImportToGMARules flaky test (#106495)
* fix ImportToGMARules flacky test

* skip test
2025-06-10 18:42:30 +02:00
Pepe Cano
79ff67268f docs(alerting): Add Tutorials directory page under Best Practices (#106159)
* docs(alerting): Add Tutorials directoy page under Best Practices

* run prettier

* Include latest tutorials

* fix tutorial list
2025-06-10 16:10:20 +00:00
Pepe Cano
f76e4f8fda docs(alerting): Import to Grafana-managed rules (#106384)
* docs(alerting): Import to Grafana-managed rules

* apply latest evaluation changes

* Add additional conversion details to How it works section

* fix ref link

* fix Data source input name

* more details about the `Target data source` input
2025-06-10 17:22:48 +02:00
kay delaney
1c6e08fa24 RepeatRowSelect2: Use Combobox instead of deprecated Select component (#106170)
* RepeatRowSelect: Use Combobox instead of deprecated Select component

* Add test (broken)

* Don't disable combobox if repeat is set

* Run i18n-extract

* add mockGetBoundingClientRect to combobox test

---------

Co-authored-by: Sergej-Vlasov <sergej.s.vlasov@gmail.com>
2025-06-10 16:11:20 +01:00
Andres Martinez Gotor
34ef571542 Advisor: Better handling of context cancel (#106470) 2025-06-10 16:53:51 +02:00
Thomas Decaux
1dd3dd24a2 Alerting: Fix eval time unit in list view (#106488)
promRule.evaluationTime is in milliseconds already.
2025-06-10 16:43:41 +02:00
Jean-Philippe Quéméner
1196d66c5e feat(unified-storage): log continue token on error (#106475) 2025-06-10 16:41:39 +02:00
Alexander Akhmetov
1a75787e74 Alerting: Send notifications immediately on Error|NoData -> Normal transitions (#106421) 2025-06-10 16:36:30 +02:00
Josh Hunt
cbb828202a FolderPicker: Remove old folder picker (#105374)
* Remove newFolderPicker toggle

* Remove usage of the old folder picker

* fix some tests

* remove old test
2025-06-10 16:01:48 +02:00
Jack Westbrook
7e6eefc8cd Grafana UI: Replace barrel files with explicit exports (#106168)
* refactor(grafana-ui): move all exports from components barrel file to entry point

* refactor(grafana-ui): move all exports from types barrel file to entry point

* refactor(grafana-ui): explict exports for utils

* refactor(grafana-ui): move themes to explicit exports

* refactor(grafana-ui): use explicit exports for options, slate-plugins and schema

* fix(grafana-ui): put back missing components

* chore(grafana-ui): delete first level barrel files

* refactor(grafana-ui): update all internal barrel file imports

* refactor(grafana-ui): start fixing storybook mdx files

* style(grafana-ui): fix linting issues, update betterer result

* chore(grafana-ui): delete nested component barrel files

* refactor(grafana-ui): update imports to use non-barrel files

* refactor(grafana-ui): update imports to non-barrel files for story and test

* fix(grafana-ui): put back missing FileListItem component and types

* refactor(grafana-ui): update mdx to use direct imports

* fix(grafana-ui): align exports with grafana 12
2025-06-10 15:51:53 +02:00
Ashley Harrison
0bdcb4d080 Internationalisation: Properly expose i18n lint rule (#106436)
* properlty expose lint rule

* don't need types

* use rollup plugin copy

* fix dist path
2025-06-10 14:45:34 +01:00
Jean-Philippe Quéméner
1a216a8fff feat(unified-storage): use logger from context for dualwriter (#106473) 2025-06-10 15:33:14 +02:00
Matheus Macabu
ed1da3456c Docs: Remove public preview card from cloud migration audit logging section (#106472) 2025-06-10 15:00:25 +02:00
Mariell Hoversholm
b823437958 Crypto: Use crypto/pbkdf2 instead of x (#106474) 2025-06-10 14:48:44 +02:00
alerting-team[bot]
aace7c5c38 Alerting: Update alerting module to 02235095d0180efe31070f8d8dccabcad5c7f874 (#106425)
[create-pull-request] automated change

Co-authored-by: alexander-akhmetov <1875873+alexander-akhmetov@users.noreply.github.com>
2025-06-10 14:38:50 +02:00
Ashley Harrison
47db35fd49 Internationalisation: Use the reusable workflows from grafana-github-actions (#106465)
use the reusable workflows from grafana-github-actions
2025-06-10 13:33:54 +01:00
Sonia Aguilar
8c54bba8d3 Alerting: Add details to the payload when tracking import to GMA (#106404)
add details to the payload when tracking import to GMA
2025-06-10 14:28:10 +02:00
Stephanie Hingtgen
ed5104a6c6 K8s: Only register internal kind once (#106239) 2025-06-10 05:09:12 -06:00
ismail simsek
1afaa4b929 Update datasource/Loki label addToProject command (#106467) 2025-06-10 13:05:12 +02:00
kay delaney
2c977bb77d Dashboards: Add hover effect to outline splitter drag handle (#106443) 2025-06-10 11:36:07 +01:00
Ashley Harrison
9655dc6ab6 Carousel: Always center image (#106468)
always center image
2025-06-10 11:29:39 +01:00
xavi
010fd4240f [IAM] Docs: Add permission behaviour when user belongs to multiple teams (#106429) 2025-06-10 12:17:05 +02:00
Torkel Ödegaard
1564e1bac9 URLParams: Stringify true values as key=true always (fixes issues with variables with true value) (#106440)
* Restore prev fix

* added one more test

* Fix linkUrl issue
2025-06-10 12:08:08 +02:00
Matias Chomicki
db83b4ef17 New Logs Panel: font size selector and Log Details size improvments (#106376)
* LogList: create font size option

* LogList: prevent option fontSize bouncing

* LogListContext: fix stored container size bigger than container

* LogList: render smaller font size

* virtualization: adjust to variable font size

* virtualization: strip white characters of at the start successive long lines

* LogList: add font size to log size cache

* LogList: use getters instead of fixed constants

* LogLine: prevent unnecessary overflow calls

* virtualization: strip ansi color codes before measuring

* LogListDetails: adjust size on resize and give logs panel a min width

* LogsPanel: add showControls as a dashboard option

* virtualization: update test

* virtualization: add small test case

* processing: update font size

* LogListControls: update test

* Extract translations

* Logs Panel: enable controls by default

* LogListContext: update mock

* ControlledLogRows: add missing prop

* LogLine: remove height ref

* LogList: dont touch the debounced function on successive calls

* LogLine: update test

* LogsPanel: make controls default to false again

* LogsPanel: make controls default to false again

* LogLineDetails: fix height resizing and make close button sticky

* LogLine: memo log component

* LogLineDetails: fix close button position

* New Logs Panel: Add Popover Menu support (#106394)

* LogList: add popover menu support

* LogList: test popover menu

* Chore: remove unnecessary optional chain op

* LogLinedDetails: fix close button position with and without scroll
2025-06-10 09:59:01 +00:00
Alexander Akhmetov
7c3f7b9e8b Alerting: Use default_datasource_uid as the default target for recording rules in UI (#106415)
* Alerting: Use default_datasource_uid as the default target for recording rules

* Add tests

---------

Co-authored-by: Konrad Lalik <konradlalik@gmail.com>
2025-06-10 11:58:42 +02:00
kay delaney
a29e24c5b4 Dashboards: Add ids to DataLinkEditor inputs (#106433) 2025-06-10 10:49:14 +01:00
Alexander Akhmetov
a4fa8ab891 Alerting: Empty endpoint to load alertmanager config with mimirtool (#106266) 2025-06-10 11:35:57 +02:00
grafana-pr-automation[bot]
0da0fb5af1 I18n: Download translations from Crowdin (#106460)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-10 11:12:49 +02:00
Alexander Akhmetov
f14ed750f5 Alerting: Add feature toggle for Alertmanager import config API (#106424) 2025-06-10 10:32:50 +02:00
Andrej Ocenas
1aaf8adee4 Scopes: Global scopes search in command palette (#105597)
* Add pills in search bar for context

* Add scope actions

* Add selection functionality

* Show selected scope on secondary row

* Fix selected scope titles

* Add some basic tests

* Test for toggle by name

* Remove unnecessary mocking

* Small cleanups

* Lint fixes

* Fix test

* Update public/app/features/scopes/selector/ScopesSelectorService.ts

Co-authored-by: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com>

* Bump input and breadcrumbs test

* Change breadcrumbs color

* Makes the breacrumb spacing consistent

* Add basic global search

* Change scope selector data structures

* Fix scope selector functionality

* Fix errors in selector and cmdk actions

* Fix cmdk actions

* Fix global search in cmdk

* Fix some merge edits

* merge diffs

* Small merge fixes

* Fix ScopesSelectorService.test.ts

* Fix tests

* Remove unrelated lint fixes

* Move ScopesTreeItemList.tsx into separate file

* Simplify if condition

* Use node.title in the scopesRow

* Use better dependency array for actions

* Make recentScopes more robust

* Fix beterrer

* Update betterer file

* Add test for changeScopes early return

* Fix input tooltip title access

---------

Co-authored-by: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com>
2025-06-10 10:21:43 +02:00
Ivana Huckova
6c9fd45837 Update CODEOWNERS of Loki data source to @grafana/oss-big-tent (#106444)
Update CODEOWNERS
2025-06-10 10:14:58 +02:00
Sven Grossmann
33a9a9313d DashboardLayout: Only use edit actions with dashboardNewLayouts feature toggle (#106445) 2025-06-10 09:22:06 +02:00
Adela Almasan
ff5d06734a Docs: Update actions with variables (#106269) 2025-06-09 21:01:15 +00:00
Christopher Moyer
704743200b Docs: adds LJ shortcode (#106450)
adds LJ shortcode
2025-06-09 14:42:55 -05:00
Scott Lepper
729ce0e2ba Dashboards - E2E - remove unnecessary steps (#106439) 2025-06-09 15:10:52 -04:00
Matias Chomicki
7ee6b24872 KeybindingSet: fix missing item type (#106428)
* KeybindingSet: fix missing item type

* KeybindingSet: pass default value to bind call
2025-06-09 19:08:52 +02:00
Scott Lepper
08168a33e9 Group by variable e2e (#106176)
Dashboards - E2E - Group By Variable in Edit Pane
2025-06-09 12:28:30 -04:00
Yunwen Zheng
1da8c9bd18 ProvisioningWizard: Refactor step status management into context provider (#106110)
* ProvisioningWizard: move stepper info to context propvider
2025-06-09 11:35:14 -04:00
Kevin Minehart
7ebb5bea87 CI: Add zizmore ignore for grafana vale image (#106437)
Add zizmore ignore for grafana vale image
2025-06-09 15:09:21 +02:00
kay delaney
ec0926eabb Dashboards: Tweak DashboardEditableElement settings button (#106329)
Adds ability to specify icon placement on Button component
2025-06-09 12:27:37 +01:00
kay delaney
d59f9599b6 UI: Add id to splitter primaryProps (#106408) 2025-06-09 10:12:38 +00:00
Vadim Stepanov
1df888c517 Alerting: Provisioning API returns 403 on quota exceeded for rule group PUT (#106409) 2025-06-09 11:12:22 +01:00
kay delaney
5a13fccd62 UI/Combobox: Remove unnecessary div wrapper (#106323) 2025-06-09 11:11:42 +01:00
antonio
1016612729 Part 3 update (#106427)
* alerting: grouping tuturial --update

* prettyfied

* typo

* typo
2025-06-09 10:00:56 +00:00
Christian Simon
549511597c Datasource: grafana-pyroscope-datasource/parca: Fix the passing of response headers (#106293)
pkgs/tsdb/[grafana-pyroscope-datasource|parca]: Fix use of request headers in responses

In the parca and the grafana-pyroscope-datasource we were wrongly using the request headers instead of the response
header when communication the results to the backend.

This PR fixes this bug.

Was reported by an user via community slack, who faced issues, with a request header of `content-length: 0` being
inserted by a intermediate proxy.
2025-06-09 09:43:34 +00:00
Matheus Macabu
90c4868c8c CloudMigrations: Add test case for invalid permissions to fetch contact points (#106143) 2025-06-09 09:49:46 +02:00
Alexander Akhmetov
3bb4c92028 Alerting: Fix resolved notifications for same-label Error to Normal transitions (#106210)
What is this feature?

Ensures that resolved notifications are sent when alert states transition from Error to Normal after the configured number of evaluation intervals: Missing series evaluations to resolve.

Why do we need this feature?

Before this change, when an alert was transitioning from Error to Normal, in case when the labels on the new Normal alert instance are the same, Grafana would not send resolved notifications for the Error alert state. The alert would be resolved after a few evaluation intervals automatically in the alertmanager, following the endsAt.

With this change the resolved notification is sent after the configured number of evaluation intervals: Missing series evaluations to resolve.
2025-06-07 14:03:11 +02:00
grafana-pr-automation[bot]
a7368e004b I18n: Download translations from Crowdin (#106416)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-07 02:35:45 +02:00
Pepe Cano
0d0aa35ba7 docs(alerting): add a short new guideline for handling NoData scenarios. (#106412)
docs(alerting): add consideration for handling NoData scenarios
2025-06-06 21:19:21 +02:00
Chris Marchbanks
84fa79f8fd Alerting: Fix incorrect "not" wording for active timings (#106355)
The help text for active timings on an alert was confusing, indicating that the time range would cause the alert not to
notify, when it actually works as the only time the alert would notify.
2025-06-06 16:33:13 +02:00
colin-stuart
34b6d51016 SCIM: Update Provisioned User's Role using SAML Assertion (#106374)
* SCIM: fix provisioned user role assignment from SAML assertion

* revert org_sync_test changes

* clean up tests

* skip user lookup during org sync

* sanitize log output

* only log non-sensitive fields
2025-06-06 10:09:51 -04:00
alerting-team[bot]
db21e9e4bc Alerting: Update alerting module to 6bf6277b5b8d080f5b400b87b2fbce6c9d66cfe4 (#106373)
* [create-pull-request] automated change
* update prometheus alertmanager to 20250604130045-92c8f6389b36

---------

Co-authored-by: yuri-tceretian <25988953+yuri-tceretian@users.noreply.github.com>
Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2025-06-06 09:48:08 -04:00
kay delaney
1d69c8558d grafana-data: Fix error when field values are null (#106375)
* grafana-data: Fix error when field values are null

* Slightly terser

* update frame test to have falsy value that should be kept
remove null string output from null value test

* handle falsy frame values as non-null

---------

Co-authored-by: samsch <git@samsch.org>
2025-06-06 14:41:09 +01:00
Steve Simpson
f81031f945 Alerting: Add placeholder feature toggle for enrichment. (#106399) 2025-06-06 14:16:07 +02:00
Sonia Aguilar
32336d5249 Alerting: Filter out synthetic datasource-managed rules when importing to GMA (#106358)
* filter out synthetic datasource-managed rules when importing to GMA through the UI

* address pr feedback
2025-06-06 12:33:45 +02:00
Alexander Akhmetov
f7a52bc04e Alerting: Fix group-level labels and query_offset in the import API (#106379)
What is this feature?

Fixes a bug when group-level query_offset and labels parameters are ignored and not saved

Why do we need this feature?

In the import API Prometheus YAML rule definitions are supported:

groups:
  - name: group-1
    interval: 1m
    query_offset: 10m
    labels:
      severity: "warning"
    rules:
      - alert: Alert 0 > 0
        expr: vector(0) > 0

But applying group-level labels and query_offset is broken and they are not saved right now because during the conversion of the API model to PrometheusRuleGroup they aren't saved to the new structure.
2025-06-06 11:21:39 +02:00
Sonia Aguilar
10fb03f97a Alerting: Add need more info for import ui datasource field (#106364)
* add need more info for import ui datasource field

* fix test and update translations
2025-06-06 10:01:55 +02:00
Christian Simon
30dc3a3ce4 Datasource/grafana-pyroscope: Do healthcheck on a window without data (#106312)
This will makes the healthcheck cheaper to anwser, as we would not expect data at this time window.

Fixes #106311
2025-06-06 08:29:31 +01:00
grafana-pr-automation[bot]
98e4ec2e9e I18n: Download translations from Crowdin (#106387)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-06 02:34:22 +02:00
Alexander Zobnin
aa92dc860b Zanzana: Improve server side error handling (#106378)
* Zanzana: Split client and server logs

* Zanzana: Improve error handling and logging

* log internal error at the server side

* refactor

* improve errors for list request

* update go modules

* handle errors for read and write

* refactor

* reset go.mod changes
2025-06-05 22:11:26 +02:00
Gilles De Mey
3d9989a04a Alerting: Update test timeout (#106377)
update test timeout
2025-06-05 15:46:31 +00:00
Mariell Hoversholm
5fda907c67 Actions: Enterprise owns Ephemeral Instances (#106367) 2025-06-05 17:32:21 +02:00
Sven Grossmann
3bf68422fa Chore: Remove id-token: write from workflow level (#106359) 2025-06-05 17:31:49 +02:00
renovate[bot]
1992f8d955 Update dependency webpack-dev-server to v5.2.1 [SECURITY] (#106372)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-05 15:08:18 +00:00
kay delaney
c30765bbea Dashboards: A11y improvements for edit experience (#106321)
* Dashboards: A11y improvements for edit experience

* Pass descriptor to render function
2025-06-05 16:15:31 +02:00
Vadim Stepanov
5137995830 Alerting: Add support for Redis Sentinel for Alerting HA (#106322)
* Alerting: Add support for Redis Sentinel

* docs

* docs

* Use minisentinel in test

* Apply suggestions from code review

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>
Co-authored-by: Fayzal Ghantiwala <114010985+fayzal-g@users.noreply.github.com>

* "address(es)" -> "address or addresses"

* make update-workspace

* make lint-go-diff

---------

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>
Co-authored-by: Fayzal Ghantiwala <114010985+fayzal-g@users.noreply.github.com>
2025-06-05 15:02:40 +01:00
Moustafa Baiou
941162ca79 Alerting: Optimize prometheus api permission checks (#106299)
* Alerting: Optimize prometheus api permission checks

This improves the performance of the Prometheus API by performing the permission checks for rule read permission in a folder upfront, rather than checking permissions for each rule group individually. This reduces the number of permission checks and should speed up the API response time.

* refactor vars

---------

Co-authored-by: Konrad Lalik <konradlalik@gmail.com>
2025-06-05 09:43:06 -04:00
kay delaney
6fd66dd690 VersionHistoryTable: Fix overflow issue with long notes (#106284) 2025-06-05 14:41:43 +01:00
Alexander Akhmetov
82549ea8b3 Alerting: Add state label to prometheus_imported_rules metric (#106365) 2025-06-05 14:24:48 +02:00
Mihai Doarna
7e0ec00905 Auth: Remove apikeys related components from frontend (#106061)
* remove apikeys related pages from frontend

* remove translations

* remove navBar titles

* revert translations for non-english files
2025-06-05 15:17:19 +03:00
Torkel Ödegaard
e7103dc1f5 Dashboard: Fixes issue with dashboard links that include all variables (#106356)
Revert "URLParams: Stringify true values as key=true always (#97346)"

This reverts commit 437f3ff936.
2025-06-05 14:11:14 +02:00
antonio
1bbb751bcf Alerting pt6 update (#106318)
* update alerting tutorial part 6

* allprettynopity

* applied suggestions
2025-06-05 10:11:45 +00:00
Alexander Akhmetov
da88e5912f Alerting: Evaluate all imported from Prometheus rules sequentially (#106295)
What is this feature?

Makes all alert rules imported from a Prometheus YAML or Prometheus-compatible data source evaluate sequentially.

Why do we need this feature?

Currently only alert rules [imported via the API](https://grafana.com/docs/grafana-cloud/alerting-and-irm/alerting/alerting-rules/alerting-migration/migration-api/) are evaluated sequentially, because only they have the original alert rule definition in YAML. But alert rules can be imported [in the UI, and from a YAML file](https://grafana.com/docs/grafana-cloud/alerting-and-irm/alerting/alerting-rules/alerting-migration/), and they won't be evaluated sequentially which can lead to issues with recording rules.
2025-06-05 12:08:44 +02:00
Andreas Christou
e4c9d10bfb Azure: Improved identification of Application Insights resouces (#106281)
Compare namespace to lowercase URL
2025-06-05 11:03:34 +01:00
kay delaney
e47e04a1ca TimePickerFooter: Fix background (#106209) 2025-06-05 10:44:42 +01:00
kay delaney
e8d6b94120 Dashboards: Tweak undo/redo tooltips for a11y clarity (#106325) 2025-06-05 11:32:28 +02:00
Ieva
d7a4f497bc Folders: Correctly resolve nested folder breadcrumbs (#106344)
correctly use UID scope instead of ID based scope
2025-06-05 10:02:07 +01:00
linoman
9717d04039 SCIM: Add IDP specific SAML configuration (#106327)
* Add assertion_attrbiute_external_uid definition

* Add Okta specific configuration

* Add Azure AD configuration

* Expand definition and reference idp specific configuration
2025-06-05 10:50:28 +02:00
grafana-pr-automation[bot]
1c2bec7bd7 I18n: Download translations from Crowdin (#106354)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-05 02:34:18 +02:00
Pepe Cano
afdf1441f7 docs(alerting): Migration API format enhancements (#106317)
* docs(alerting): Migration API format enhancements

* fix canonical URL

* small command change

* More changes
2025-06-05 00:55:31 +02:00
Pepe Cano
be8d153dc3 docs(alerting): updates Missing series evaluations to resolve option (#106319)
docs(alerting): correct detailed process of the missingSeriesToEval option
2025-06-05 00:05:22 +02:00
Yuri Tseretyan
33298550b4 Update Alerting module (#106272)
* set kind in TemplateDefinition
2025-06-04 16:05:05 -04:00
renovate[bot]
184d0ef72f Update dependency @prometheus-io/lezer-promql to v0.304.1 (#106332)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-04 20:55:52 +02:00
Gilles De Mey
8dcb8ba4ec Alerting: Remove unused file (#106320) 2025-06-04 17:34:20 +02:00
renovate[bot]
4e3e774dad Update dependency @floating-ui/react to v0.27.12 (#106307)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-04 10:25:23 -04:00
Mihai Doarna
d57d184d20 Auth: Remove api key endpoints (#106019)
* remove api key endpoints

* generate openapi specs

* remove methods from mock service

* remove ApiKeyDTO

* generate openapi specs

* remove apikey migration endpoints

* remove unused function
2025-06-04 17:03:06 +03:00
Sonia Aguilar
e78da0cc39 Alerting: Add loading spinner for loading groups state (#106289)
Add loading spinner for loading groups state
2025-06-04 15:51:11 +02:00
renovate[bot]
7f63b18e82 Update scenes to v6.18.1 (#106316)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-04 11:39:02 +00:00
Konrad Lalik
7d5a26a4e7 Alerting: List V2 - Improve error handling (#106282)
* Add error badge to the DataSourceSection component

* Fix lint

* Update translations

* Fix error propagation from featureDiscoveryApi

* Pass errors to GMA loader
2025-06-04 13:36:28 +02:00
Gilles De Mey
1837f32d76 Alerting: Fix insights regression with latest TableNG (#106020) 2025-06-04 13:10:38 +02:00
Carl Bergquist
f46514c77b license check: add exceptions for grafanas own workspaces (#106291)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2025-06-04 12:25:40 +02:00
Moustafa Baiou
0ce086bd2e Alerting: Ensure errors cleared when Alerting after error (#105246)
When a rule configured with `ExecErrState` state of `Alerting`, has an instance which is Alerting then has a data source error, then successfully evaluates and continues to be Alerting, the cached instance keeps the error cached until it is no longer firing.

This is unexpected and leads to misleading results.
2025-06-04 12:16:14 +02:00
Kevin Minehart
5bfcbc1f47 CI: Temporarily disable --verify in nightly release (#106313)
Temporarily disable --verify in nightly release
2025-06-04 12:04:59 +02:00
kay delaney
edf5f9fc7c Dashboards: Improve a11y for dashboard title/description inputs (#106294) 2025-06-04 10:58:11 +01:00
Torkel Ödegaard
1b9d062583 DashboardReload: Refactor / move state diffing out of DashboardPageStateManager and into reload behavior, simplify (#106039)
* DashboardReload refactor

* Update

* revert accidental commit

* fix

* merge fix

* fix cache issue

* Update scenes

* Update

* Update

* revert debug

* Update scenes

* Update tests

* add back reload on activation, fix infinite reload bug

* Update prevState

* Remove time range subscription

* restore iso time format

* Update scenes

* Mock console for reload tests (for now)

* Only update scopes from URL when scopes in URL change

* fix equality check inside ScopesSelectorService

* branch fix drone

* Update

* revert drone verbosity

* Update scenes

---------

Co-authored-by: Victor Marin <victor.marin@grafana.com>
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2025-06-04 11:29:25 +02:00
Misi
f34d372bd3 Auth: Enable ssoSettingsLDAP by default (#106310) 2025-06-04 10:47:47 +02:00
Kevin Minehart
a2b0e20a8e CI: Use sh in daggerbuild scripts instead of bash (#106306)
Use sh in daggerbuild scripts
2025-06-04 10:15:37 +02:00
Edvard Falkskär
a0c55e92ee LogsView: Resource attributes links extension point (#105943)
* LogsView: Resource attributes links extension point

* Mocking usePluginLinks in tests

* Update link button styling

* LogListModel: sync with LogRowModel changes

* Fix import

---------

Co-authored-by: Matias Chomicki <matyax@gmail.com>
2025-06-04 09:55:08 +02:00
andrewthomas92
219461a58d Removes Feature Management Section (#105766)
Update _index.md

Feature Toggles page has been removed. 

Recommending to remove this from our docs
2025-06-04 02:38:08 -05:00
grafana-pr-automation[bot]
d12afe4daa I18n: Download translations from Crowdin (#106303)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-04 02:30:56 +02:00
Tiffany Hrabusa
a09df33522 [docs] Update broken links in SCIM provisioning documentation (#106298)
Update broken links

Signed-off-by: Tiffany Hrabusa <tiffany.hrabusa@grafana.com>
2025-06-03 12:51:39 -07:00
Cory Forseth
40164cb09e Authorization: Fix/provisioned permission display (#106179)
* add isProvisioned flag to permission DTO

* handle provisioned permissions explicitly

* lint

* swagger

* simplify logic to always show non-managed permissions first; remove unnecessary isProvisioned

* fix docs

* oops

* actually just generate the docs
2025-06-03 11:21:42 -05:00
Pepe Cano
f36d5c5206 docs(alerting): new notification template example: link to a dashboard with time range (#106254)
* docs(alerting): new notification template example: link to a dashboard with time range

* remind configuring the `MyDashboardURL` annotation

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

Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>

---------

Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
2025-06-03 17:16:43 +02:00
Carl Bergquist
9a8555dead Build: Adds a license check task in the makefile (#106285)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2025-06-03 16:55:29 +02:00
Matt Cowley
7957a9605c GrafanaUI: expose story for ClipboardButton (#106216) 2025-06-03 10:34:07 -04:00
kay delaney
d9ccd879ec DashboardOutline: Improve markup semantics (#106008) 2025-06-03 15:23:18 +01:00
Pepe Cano
cce28ec351 docs(alerting): updates link to outdated tutorial (#106178)
* docs(alerting): remove admonition to an outdated tutorial

* amended note and link to new tutorial

* link

* minor copy changes

* run prettier

* update copy

---------

Co-authored-by: tonypowa <tonypowa@gmail.com>
2025-06-03 14:20:24 +00:00
Johnny Kartheiser
de0c639417 Alerting docs: document Prometheus YAML import tool update (#106219)
* Alerting docs: document ability to import rules to GMA from Prometheus YAML

documentation for prom YAML import feature.
- took out reference that said users can't import prometheus rules in the tool.
- added the More > Import alert rules UI path to the tool
- added a step for the YAML file upload button.

* 💅prettier

* Update _index.md
2025-06-03 09:20:02 -05:00
beejeebus
6a0cf22b53 Revert "Postgres: Switch the datasource plugin from lib/pq to pgx (#103961)" (#106270)
This reverts commit 1e383b0c1e.
2025-06-03 08:45:07 -04:00
Sonia Aguilar
5386b8ab09 Alerting: Add export folder action to the new list view (#106256)
* Add export folder action to the new list view

* merge folder actions in one more button

* fix checking permissions

* remove commented code

* early return when no bulkactions are allowed

* fix css width

* address review comments

* move BulkActions component outside the parent component

* remove unnecessary check

* bring back accidentally removed code

* remove duplicated modal
2025-06-03 14:43:01 +02:00
Scott Lepper
8b262046e0 legacy annotation query - handle undefined scenarios without crashing (#106275)
legacy annotation query - handle undefined scenario
2025-06-03 08:33:36 -04:00
Scott Lepper
7e271796c1 Adhoc variable export (#106274)
templatize adhoc variables when exporting externally
2025-06-03 08:30:01 -04:00
Torkel Ödegaard
3c6a9da3cb DashboardScene: Edit actions , undo/redo and repeat change detection (#104160)
* AutoGrid: Panel editor editingCompleted call

* editing started as well

* DashboardScene: Quick poc for undo/redo and repeat change detection

* undo redo working

* Update

* Update

* Update

* update

* Update

* Update

* Update

* Update

* Update

* Update

* Add panel title and description support

* Add comment

* Update

* review updates

* Update

* Update

* Update

* Update translations

* Update

* fix

* Update

* fix test that is pretty bad/broken

* Fix translation keys
2025-06-03 14:13:17 +02:00
antonio
3cad6cf880 docs/tutorials:alerting-tutorial-pt6 (#106155)
* docs/tutorials:alerting-tutorial-pt1

* vale

* vale2

* vale3

* final review

* meta

* refactor

* refactor2

* meta

* vale

* all pretty no pity

* all done

* added note on dash url

* note on url template

* note on url template2

* pretty
2025-06-03 11:12:50 +02:00
Konrad Lalik
157ddd467a Alerting: Fix history tab visibility condition (#106262)
* Improve rule type discovery in the RuleViewer component

* Fix lint errors
2025-06-03 09:44:08 +02:00
xavi
86f2bf2940 IAM: Skip token rotation if it has been rotated recently (#106075) 2025-06-03 08:59:40 +02:00
xavi
439b8c01b3 Remove Python CodeQL check (#106259) 2025-06-02 20:17:20 +02:00
Alexander Zobnin
cb05eb3cd6 RBAC: Return bad request when header is malformed (#105448) 2025-06-02 16:31:15 +02:00
Edvard Falkskär
0e4f06d452 TraceView: Resource attributes links extension point (#104680)
* TraceView: Resource attributes links extension point

* Add data source info to context

* Remove console log

* Removing unused linkGetters and more

* More tests

* Fixing last todos

* Fixing

* Fixing

* Change link style

* Rename extension context

* Fix lint error
2025-06-02 16:38:25 +03:00
Jeroen Op 't Eynde
eff86c6684 docs: remove deprecation notice on Grafonnet (#106257) 2025-06-02 14:39:15 +02:00
Alexander Akhmetov
6ff67722b8 Alerting: Include rules imported in the UI into prometheus_imported_rules metric (#106229) 2025-06-02 12:47:09 +02:00
xavi
31a9ddc47a IAM: Run user creation inside transaction (#106113) 2025-06-02 11:29:57 +02:00
linoman
374bd5bec7 SCIM: Change SCIM hook registration (#106200)
* Add function to skip provisioning hook

* Rework provisioning hook to PostLoginHook

* Revert back to PostAuthHook and remove unused tests

* Fix tests
2025-06-02 11:04:14 +02:00
Alexander Akhmetov
e256f2d5e2 Alerting: Enable recording rules by default (#105603) 2025-06-02 10:56:05 +02:00
Alexander Akhmetov
4cde79e802 Alerting: Clean up join errors code (#106243) 2025-06-02 10:30:04 +02:00
Denis Vodopianov
5fb6025dde Chore: Batch update changelog.md in main branch (#106051) 2025-06-02 09:23:27 +02:00
Tobias Skarhed
f3d725f400 Devenv: Add requirements.txt and versions + hashes to collectd Dockerfile (#106175)
* Add requirements.txt and version+hashes

* Update docker image
2025-06-02 09:07:18 +02:00
Tobias Skarhed
c25b0f053c Devenv: Remove graphite 0.9 (#106167)
* Add trailing slash

* Remove graphite09 from devenv

* Remove directory from codeowners and modify CodeQL workflow

* Fix shell script
2025-06-02 09:06:48 +02:00
Mihai Doarna
6ab9c8bf57 Auth: Remove code for authenticating API keys (#105998)
* remove auth for plain API keys

* move condition to validateApiKey()

* fix typo

* remove GetApiKeyById() method
2025-06-02 09:54:10 +03:00
Matias Chomicki
b3596e8c72 New Logs Panel: Render new panel using the current visualization (#105968)
* LogsPanel: integrate new panel via feature flag

* Log Line: move sampled/errors/deduplication count outside of log line body

* LogList: increase overscan count

* Logs Panel: enable deduplication for infinite scrolling

* Logs Panel: remove margin overflowing drilldown

* Logs Panel: add missing dependency to effect

* Logs Panel: pass missing callback

* Remove console log

* LogLine: show cursor pointer only when interactable

* LogLineDetails: make resize handler more obvious

* LogsPanel: add missing props to from panel

* LogLineMenu: add support for custom items

* LogsPanel: pass custom menu items to LogList

* Fix imports

* Chore: comments and missing argument

* LogLineMenu: pass log to event listener

* LogListContext: filter log details when no longer present in the new response

* chore: log

* LogsPanel: conditionally show options per feature flag status

* LogLine: align logs when some of them are sampled or with errors

* Chore: update tests

* LogLineMenu: test custom options

* LogsSamplePanel: show controls

* LogsPanel: move return after hooks to prevent bugs
2025-06-01 14:29:49 +02:00
Ieva
5b4d188638 RBAC: Clear up the basic role definitions (#106214)
clear up the basic role definitions
2025-05-30 10:41:11 +01:00
maicon
6fb0ed9886 Bump tempo to 20250529124718-87c2dc380cec (#106220)
* Bump tempo to 20250529124718-87c2dc380cec

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

* Add owners to pkg/build

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

* update workspace

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

* update pkg/build/go.sum

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

* update pkg/build/go.sum

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-05-29 23:43:13 -05:00
grafana-pr-automation[bot]
91f6336840 I18n: Download translations from Crowdin (#106230)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-30 02:30:37 +02:00
Adam Simpson
729f0a6ba5 ds-querier: handle downstream 500s (#105890)
* ds-querier: add new metric for the total request

Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>

* fix logger and trace

Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>

* ds-querier: rewrite downstream 500s to 400

---------

Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>
2025-05-29 17:30:45 -04:00
Alexander Akhmetov
eae77aa695 Alerting: Resend alerts for states that are missing in the eval results (#105965)
What is this feature?

This PR fixes the MissingSeriesEvalsToResolve behavior when it's set to more than 4 evaluation intervals.

Why do we need this feature?

The MissingSeriesEvalsToResolve setting was not working correctly due to alerts being auto-resolved by Alertmanager after 4 evaluation intervals (via the endsAt field).

Before we had deleteStaleStatesFromCache method that was returning only stale states that had to be resolved. Non-stale states for which the current evaluation does not have a series never had endsAt updated and were never resend to the Alertmanager, so they were automatically resolved after 4 evaluations regardless of the setting.

The new processMissingSeriesStates returns state for each missing series on every evaluation, and resolves the stale ones. This guarantees that alerts without series still alert for the configured number of evaluations.
2025-05-29 23:22:35 +02:00
Drew Slobodnjak
0a104cc0ed Geomap: Add HiDPI support to CARTO basemap (#81195) (#106211)
Co-authored-by: Cledwyn Lew <me@trangle.top>
2025-05-29 12:09:41 -07:00
Ashley Harrison
4ac248a512 Internationalisation: Mark up panel plugins for translations (#106068)
* config for panel plugin translations

* markup

* tweaks

* prettier

* use data-testid

* rename disable rule now it's been moved

* final markup
2025-05-29 18:13:25 +01:00
Pepe Cano
e1400e67d3 docs(alerting): document Keep firing for in Alert rule evaluation intro (#106139) 2025-05-29 18:24:26 +02:00
Pepe Cano
b2d317cc23 docs(alerting): add notes for Redis HA setup (#106144)
* docs(alerting): add note for Redis HA setup

* run prettier
2025-05-29 11:21:32 -05:00
David Kim (DK)
939f2c9828 Navigation: Add the new badge to the SLO reports nav item (#105707)
* attempt to add slo reports badge

* fix build

* add new badge for reports for subitem in grafana-slo-app
2025-05-29 16:37:14 +01:00
Sarah Zinger
020780f5ac DS-querier: define func to fetch instance config settings (#106172)
DS-querier: define func to fetch instance config settings to be passed into executing query
2025-05-29 11:07:40 -04:00
Eric Leijonmarck
69653ea3dc Zanzana: Adds running migrations from openfga w. RunMigrations() (#105691) 2025-05-29 15:54:12 +01:00
kay delaney
8dcd66e0e6 Layouts: Ensure layout action buttons aren't greyed out when using keyboard nav (#106203)
* Layouts: Ensure layout action buttons aren't greyed out when using keyboard nav

* Lint
2025-05-29 15:45:42 +01:00
Tom Ratcliffe
abb885c585 I18n: Move eslint rule to package (#105860) 2025-05-29 16:11:59 +02:00
Scott Lepper
1de0cd5d68 Dashboard group by variable edit pane (#106104)
* Dashboards: Group By Variable in edit pane
2025-05-29 09:44:37 -04:00
Sonia Aguilar
80c47a64b1 Alerting: Add ability to import rules to GMA from Prometheus YAML (#105807)
* re-organize folders regarding import feature

* Revert folder changes

* Add Yaml import input fields

* Set recording rules target if empty

* wip

* Convert YAML content to RulerRulesConfigDTO and use this for the import payload

* fixing some issues

* wip

* add tracking

* use yaml filename for namespace in case is not specified in the yaml content

* refactor

* add alertingImportYAMLUI ff check for yaml option

* Add test for parseYamlToRulerRulesConfigDTO

* move import feature to the More menu at the top

* add test for filterRulerRulesConfig, and fix the function

* extract parseYamlToRulerRulesConfigDTO to a separate file

* Add permission check for the import button

* Change data flow in import form, add basic tests for the import form

* remove commented code

* Add yaml import form test

* Add more tests

* Tidy up, remove type assertions in yaml converter

* Improve yaml file validation in the form

* Fix lint issues

* Fix lint

* use only Admin role for checking if the feature is available for the user

* Fix parsing recording rules

* Fix file re-selection in YAML import

* prettier

* refactor

* Remove FileReader, add more explanation to file upload reset

---------

Co-authored-by: Konrad Lalik <konradlalik@gmail.com>
2025-05-29 15:12:24 +02:00
kay delaney
3b78078ea4 DashboardLayoutOrchestrator: Refine drag drop logic (#106079) 2025-05-29 13:48:25 +01:00
Collin Fingar
c23ee1e116 QueryLibrary: Adding Tags as new set field to queries (#105702) 2025-05-29 08:47:30 -04:00
Andres Martinez Gotor
301d78bf96 User Storage: Expose functionality for frontend-only datasources (#106165) 2025-05-29 14:44:00 +02:00
Mykhailo Zahlada
fc988c8771 Auth: Add Azure/Entra workload identity support (#104807)
* fixes/adds azure workload identity authentication. Issue #78249

* Updates default values. Adds `workload_identity_token_file` defaults

* Updates example config. Adds `workload_identity_token_file`

* Updates docummentation: adds Federated credentials for Workload Identity

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

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

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

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

* Docs: add link to official documentation. Clarifies example.

* 1. Add workload_identity_enabled and workload_identity_token_file settings to [auth.azuread] for workload identity support.

2. Extend OAuthInfo struct to include workload identity fields.
3. Update OAuth authentication logic to handle Azure AD workload identity using federated token as client assertion.
4. Update sample configuration and documentation for new settings.

* ensure environment variable overrides are respected for OAuth SSO settings

- Ensure that settings loaded in pkg/services/ssosettings/strategies/oauth_strategy.go correctly reflect environment variable overrides, matching Grafana's config behavior.
- Align config loading logic with main config loader to prevent issues where INI values would override environment variables.

* updates documentation

* test: add workload identity configuration tests for Azure AD OAuth strategy. Add test coverage for workload_identity_enabled and workload_identity_token_file settings

* feat: add workload identity support to Azure AD SSO configuration UI

* updates documentation

* Simplify OAuth flow by removing unnecessary switch-case structure

* Small changes

* Lint + i18n gen

* refactor: remove redundant workload_identity_enabled setting as auth method gets defined by client_authentication

* update documentation

* refactor: remove redundant workload_identity_enabled setting as auth method gets defined by client_authentication

* updates documentation - configuration options table: adds `client_authentication`, `workload_identity_token_file`, and `federated_credential_audience`

* Small changes, lint, i18n

---------

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
2025-05-29 14:09:18 +02:00
Kyle Brandt
601676b98e TestData: Adds Frame Type to "Predictable" Scenarios to enable SQL expressions (#106177) 2025-05-29 07:22:51 -04:00
Andres Martinez Gotor
e2e8de29ba Advisor: Check plugin signature (#106044) 2025-05-29 11:33:19 +02:00
Josh Hunt
27ab895eef Chore: Fix lefthook not running (#106196)
Chore: Fix lefthook.rc
2025-05-29 11:06:33 +02:00
grafana-pr-automation[bot]
087934fab0 I18n: Download translations from Crowdin (#106192)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-29 09:49:32 +01:00
Zach Day
de07edfa24 Fixing links and removing duplicate content (#105837) 2025-05-29 09:23:13 +02:00
song2park
e572af4562 docs: fix keycloak signout_redirect_url (#106191) 2025-05-29 07:00:50 +00:00
Stephanie Hingtgen
5303a1cc7e Org: Fix org deletion (#106193) 2025-05-29 09:40:06 +03:00
Stephanie Hingtgen
ab99211b40 Dashboard Provisioning: Reduce db load (#106114) 2025-05-29 09:39:07 +03:00
Ezequiel Victorero
3de80ec3d7 Feature Toggles: remove useRawTimeRange FF (#106154) 2025-05-28 15:44:48 -07:00
Jean-Philippe Quéméner
4519ef8d21 chore(unified-storage): increase background request timeout (#106186) 2025-05-28 22:59:28 +02:00
Tom Ratcliffe
7bfa78c6e6 I18n: Update eslint rule to catch some untranslated object properties (#105072) 2025-05-28 21:14:43 +01:00
Victor Marin
57ec71a7a0 Chore: Fix workflow that adds dashboards label to issues (#106173)
fix workflow
2025-05-28 12:45:38 -04:00
Paul Marbach
f151efd3cc fix #103209: fix access for tables with nullable data (#106094) 2025-05-28 12:07:51 -04:00
Kyle Brandt
7f1a286ffb SQL Expressions: Always convert on type first (#106083)
fixes #103124
2025-05-28 12:00:37 -04:00
Ezequiel Victorero
64f321e430 Shortcuts: Update panel shortcuts modal (#106161) 2025-05-28 12:39:41 -03:00
Victor Marin
c5def67722 Chore: Fix workflow that adds dashboards label to issues (#106169)
fix workflow
2025-05-28 17:36:34 +02:00
Victor Marin
eb1d532a9b Chore: Fix workflow that adds dashboards label to issues (#106166)
fix issueNumber
2025-05-28 17:14:24 +02:00
Hugo Häggmark
b5b02e2c08 i18n: adds loading of translations from packages (#106141)
* I18n: Translate npm packages

(cherry picked from commit 5e1e640b940dd7b7cc9b3f74b9d166ff75c74836)

* chore: updates

* i18n: adds loading of translations from packages

* chore: adds tests

---------

Co-authored-by: joshhunt <josh.hunt@grafana.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-05-28 15:51:59 +01:00
Kevin Adam
98d1821948 Extension sidebar: Fix incorrect rendering of menu buttons (#106145)
* fix(ui): use component render instead of usecallback to render button

* add and fix component tests
2025-05-28 16:39:23 +02:00
kay delaney
827419d32e Dashboards: Make scrollbar gutter stable (#106157) 2025-05-28 15:37:07 +01:00
Victor Marin
09565cdd24 Chore: Fix workflow that adds dashboards label to issues (#106158)
* fix workflow

* fix workflow
2025-05-28 16:30:49 +02:00
renovate[bot]
d04c8f2e81 Update scenes to v6.16.0 (#106152)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-28 14:22:37 +00:00
Paul Marbach
fb825cd38f update TableNG to use the grafana fork of react-data-grid, which supports React 18 (#105970)
* update TableNG to use the grafana fork of react-data-grid, which supports React 18

* react-data-grid got rid of their CJS

* fix jest.config formatting
2025-05-28 10:04:14 -04:00
kay delaney
5b29949071 LiveConnectionWarning: Tidy markup and fix 'blocking' issue (#106151) 2025-05-28 15:57:04 +02:00
Paul Marbach
840afe448f update TableNG to use the grafana fork of react-data-grid, which supports React 18 (#105970) 2025-05-28 09:50:15 -04:00
Mariell Hoversholm
312fcb4a54 Build: Use absolute paths when passed relatives (#106122) 2025-05-28 15:35:24 +02:00
Kevin Minehart
8a11a9bd6d CI: mirror some CI dependencies (#106148)
* mirror some CI dependencies
* remove -v from go build
2025-05-28 15:34:59 +02:00
Jacob Valdez
959ccb8ec2 Docs: Adding info on configuring CORS via reverse proxy (#104203)
* Docs: Adding info on configuring cors via reverse proxy

* Adding info regarding grafana.ini CORS configuration

* some clarification and typo fixes

* expanding the instructions

* run prettier

* fixing indentation

* adjusting an admonition

* adjusting information based on review
2025-05-28 08:18:21 -05:00
Andrej Ocenas
bd22c854b2 Scopes: Add wrapping to selected scopes in command palette (#105828)
Add wrapping to selected scopes
2025-05-28 14:55:54 +02:00
Tobias Skarhed
18216a9a15 Select: Set min width for the current selected item when width=auto (#106131)
* Set min width when width=auto

* add prop types for ValueContainer

* Update betterer

---------

Co-authored-by: joshhunt <josh.hunt@grafana.com>
2025-05-28 14:17:59 +02:00
Dana Axinte
b4cd51810b SecretsManager: Various utils for usage insights, outbox and secretkeeper (#106010)
* SecretsManager: utils for usage insights on ST mode

Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>

* SecretsManager: add assert

Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>

* SecretsManager: Remove encryption scope option

Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>

* SecretsManager: add fake keeper

Co-authored-by: Dana Axinte <53751979+dana-axinte@users.noreply.github.com>
Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>

---------

Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>
2025-05-28 12:46:54 +01:00
kay delaney
45c361e307 Dashboards/E2E: Remove unnecessary e2e.pages.Dashboards.visit() invocations (#106070) 2025-05-28 12:10:28 +01:00
Will Browne
edb0865caa Chore: Ensure we save correct default admin user in integration test DB setup (#105752)
* fix helper + amend tests

* fix import + remove unused var

* remove more users

* remove unused code

* update test comment
2025-05-28 11:25:01 +01:00
Ryan McKinley
10f2b76156 Chore: Update apps codegen to v0.38.2 (#106111) 2025-05-28 12:35:44 +03:00
Pepe Cano
82b58a2396 docs(alerting): clarify provenance requirements when provisioning alert rules (#106105)
* docs(alerting): clarify provenance requirements when provisioning alert rules

* run prettier
2025-05-28 11:11:56 +02:00
Pepe Cano
8de013c7e6 docs(alerting): OpsGenie instructions for other alertmanagers (#106049)
* docs(alerting): OpsGenie instructions for other alertmanagers

* run prettier
2025-05-28 10:59:05 +02:00
Hugo Häggmark
7235765998 @grafana/ui: fixes missing getAvailableIcons export (#106125)
grafana-ui: fixes missing getAvailableIcons export
2025-05-28 10:51:29 +02:00
Aleksandar Petrov
0b8252fd7c Pyroscope: Annotation support for series queries (#104130)
* Pyroscope: Add annotations frame to series response

* Adapt to API change, add tests

* Run make lint-go

* Fix conflicts after rebase

* Add annotation via a separate data frame

* Process annotations fully at the datasource

* Add mod owner for go-humanize

* Pyroscope: Annotations in Query Response can be optional

---------

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
2025-05-28 10:42:19 +02:00
Tom Ratcliffe
ea0e49a6e6 Chore: Restrict imports of test files to avoid test pollution (#106057) 2025-05-28 10:37:15 +02:00
Tobias Skarhed
f6b72a9c96 Betterer: Change message for localStorage usage (#105310)
* Change message

* Add message for packages
2025-05-28 10:23:54 +02:00
Alexander Akhmetov
b51d70aad9 Alerting: Fix swagger generation (#106106) 2025-05-28 10:15:11 +02:00
Mariell Hoversholm
6f3b0e95b4 Build: Include .git (#106124) 2025-05-28 10:03:19 +02:00
Tobias Skarhed
d41f3e4de0 Select: Replace dropdown indicator with loading icon (#105739)
* Replace the dropdown icon with loading to reduce jankiness

* Rmove theme usage

* Remove unused  import

* Fix margin issue

* Update snapshot
2025-05-28 09:54:14 +02:00
Alex Khomenko
09882bb07b Provisioning: Fix missing migration (#106005)
* Provisioning: Fix migration

* Add tests

* Fix queries

* Betterer

* Betterer

* Fix showing history checkbox
2025-05-28 06:46:37 +02:00
Ryan McKinley
d4c446f42c Chore: Update k8s.io to v0.33.1 (#105307) 2025-05-28 00:13:18 +03:00
Isabella Siu
b11be2f37d CloudWatch: Improve instance attribute variable query editor (#105206) 2025-05-27 16:35:29 -04:00
Andrii Chubatiuk
84ddf7b320 Public Dashboard: Updated list of plugins that support public dashboard (#104910) 2025-05-27 17:19:28 -03:00
Nathan Marrs
0178de3109 Feature Toggles: Remove two AB test feature toggles (#106100) 2025-05-27 21:18:23 +02:00
Mustafa Sencer Özcan
4ba378603d feat(unified-storage): round robin queue and scheduler package (#105544) 2025-05-27 21:15:03 +02:00
Alexander Akhmetov
faeddf334a Alerting: Fix $value type when single data source is queried (#106080) 2025-05-27 21:04:07 +02:00
Yunwen Zheng
8b6103fc67 TimePickerWithHistory: Improve type handling when reading history from localStorage (#105859)
* TimePickerWithHistory: Improve migrateHistory type safety handling and validation
2025-05-27 14:00:47 -04:00
Pepe Cano
c84388f550 docs(alerting): Examples of dynamic labels and dynamic thresholds (#105776)
* docs(alerting): Add dynamic thresholds example

* update intro

* docs(alerting): Example of dynamic labels

* fix template example

* Update docs/sources/alerting/best-practices/dynamic-labels.md

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>

* Update docs/sources/alerting/best-practices/dynamic-labels.md

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>

* Update docs/sources/alerting/best-practices/dynamic-labels.md

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>

* Update docs/sources/alerting/best-practices/dynamic-labels.md

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>

* Update docs/sources/alerting/best-practices/dynamic-labels.md

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>

* Update docs/sources/alerting/best-practices/dynamic-thresholds.md

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>

* Update docs/sources/alerting/best-practices/dynamic-thresholds.md

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>

* Update docs/sources/alerting/best-practices/dynamic-thresholds.md

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>

* Update docs/sources/alerting/best-practices/dynamic-labels.md

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>

* Update docs/sources/alerting/best-practices/dynamic-labels.md

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>

* Update docs/sources/alerting/best-practices/dynamic-labels.md

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>

* Update docs/sources/alerting/best-practices/dynamic-labels.md

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>

* Update docs/sources/alerting/best-practices/dynamic-labels.md

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>

* Update docs/sources/alerting/best-practices/dynamic-labels.md

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>

* Update docs/sources/alerting/best-practices/dynamic-labels.md

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>

* fix typo

* fix typo

* Add section `CSV data with Infinity` in Table data example

* Link dynamic threshold example to tabular data requirements

* minor copy changes

* minor heading fix

* Add links (admonition) to Grafana Play examples

* Use `Caveat` instead of `Gotcha`

* Dynamic thresholds: caution message when Math operates on missing series

* Exampleof latency threshold based on traffic

---------

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>
2025-05-27 17:36:32 +02:00
antonio
7661aa8b95 alerting tutorials update (#106018)
* first

* second

* third"

* 4th

* format

* typo

* $labels

* all pretty no pity

* order

* order2

* typo

* order4

* link renamign

* titles

* test without title heading

* test with colon in h1

* removed H1s
2025-05-27 15:02:26 +00:00
Sergej-Vlasov
077f262877 DashboardE2E: Wait for viz to load before proceeding with e2e (#106063)
* wait for viz to load before proceeding

* trig ci
2025-05-27 15:44:24 +01:00
Matheus Macabu
c4c4faff1e Dependencies: Bump github.com/openfga/openfga to v1.8.13 to address CVE-2025-48371 (#106064) 2025-05-27 16:30:23 +02:00
Jean-Philippe Quéméner
9a565ff46e chore(authz): contextualize the authz logger (#106078) 2025-05-27 16:28:58 +02:00
Scott Lepper
f511b313e6 Dashboard e2e datasource options edit pane (#105896)
Dashboards - E2E - datasource variable edit pane
2025-05-27 10:08:54 -04:00
Domas
d5bb055593 NavTree: Group APM and Infra plugins under "Observability" section (#104192)
* put o11y department apps under Observability menu section

* fix tests

* change url for observability grouping

* add routing for /observability
2025-05-27 17:05:28 +03:00
joshhunt-alt
ccfde5a915 Update backport instructions in contributing docs (#106060)
* Update backport instructions in contributing docs

* Update merge-pull-request.md
2025-05-27 14:49:25 +01:00
Kyle Brandt
005f390df4 SSE: Update execution order to move DS queries first (#105686)
This is part of getting SSE more consistent when run from the query service vs part of grafana-server. 
fixes #105680
2025-05-27 09:34:40 -04:00
Syerikjan Kh
b6c9ecf7fe fix: preinstall sync plugins have priority over preinstall_async plugin (#106016) 2025-05-27 08:32:02 -04:00
Alexander Zobnin
ef14992f00 Zanzana: Fix reconciling role with empty UID (#106045) 2025-05-27 14:23:29 +02:00
Josh Hunt
c0bb72cdb5 Chore: Use workflow_run dance for backports (#105821)
* Chore: Use workflow_run dance for backports

* remove action input

* fix issues

* remove default permissions

* codeowners

* remove permissions from backport-trigger

* fix repo name

* action lint

* use dev workflow
2025-05-27 12:10:54 +01:00
Jev Forsberg
5963be6f31 Security: Add fix for CVE-2025-3580 (#105976)
baldm0mma/ add main/404-202504151210.patch to main
2025-05-27 11:21:55 +01:00
renovate[bot]
41926dcfd5 Update dependency @floating-ui/react to v0.27.9 (#106048)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-27 12:55:38 +03:00
Joanna
901ce2a00d Pagination: Add role="navigation" to improve a11y (#106027)
feat: add role to the pagination
Improves a11y by maintaining proper navigation landmarks
2025-05-27 10:44:31 +01:00
Fayzal Ghantiwala
589046bcdc Alerting: Persist alert instance FiredAt field (#105927)
* Persist alert instance fired at

* Update protos and tests
2025-05-27 10:04:26 +01:00
renovate[bot]
e3326713f6 Update dependency @grafana/aws-sdk to v0.7.1 (#105947)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-27 12:00:38 +03:00
Jean-Philippe Quéméner
9ba031364b fix(unified-storage): use batching for index creation (#106034) 2025-05-27 09:48:39 +02:00
Ryan McKinley
e368558ffa Chore: Update references to internal go modules (#106042) 2025-05-27 10:24:38 +03:00
Dominik Prokop
28a31ed325 DashboardScenePage: Reset state manager to default when unmounting. (#106017)
* DashboardScenePage: Reset state manager to default when unmounting.

* Update test
2025-05-27 08:58:58 +02:00
Ryan McKinley
326081cdb7 Chore: Remove unified storage go modules (#106035) 2025-05-27 09:49:21 +03:00
Jean-Philippe Quéméner
814707152d chore(unified-storage): contextualize the index build logger (#106025) 2025-05-26 21:33:51 +02:00
Dana Axinte
5401175562 SecretsManager: Conditionally lock DB before migrations using config setting (#106003)
Secrets: Conditionally lock DB before migrations using config setting (#105949)

Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
2025-05-26 18:28:53 +01:00
Alex Khomenko
74b291d03b Provisioning: Use theme colors in TokenPermissionsInfo (#106014) 2025-05-26 19:44:39 +03:00
Gilles De Mey
5656d3015f Alerting: Hide labels section if we only have private labels (#105996) 2025-05-26 19:21:30 +03:00
Konrad Lalik
c834a6e601 Alerting: Fix timeout error in consistency check (#106009)
* Add proper timeout removal in Prom consistency check

* Remove console error
2025-05-26 16:50:16 +02:00
Oscar Kilhed
4f18ad30c9 SchemaV2: Remove legacy rows from schema v2. (#105238)
* save transparent setting

* make sure we test both transparent and non transparent

* no more legacy rows

* schema changes

* Add testing, fix first row offset

* Remove legacy row from transform test

* Remove panel that's not present in layout

* Remove expects after removing the row, fix lint issues

* Remove unused commit

* update codegen

* update openapi snapshot

* Fix snapshot

* add missing default prop

* Fix repeating, fix first row, fix not flushing last row

* Use correct repeater

* fix lint, remove unused empty check

* update codegen

* update openapi test snapshot
2025-05-26 14:33:30 +02:00
Sergej-Vlasov
970dceab8c LayoutRestorer: Remove layout restorer usage (#105963)
* remove layout restorer usage

* remove layout restorer code
2025-05-26 10:12:25 +01:00
Andres Martinez Gotor
701297aa3f Advisor: Documentation and config check (#105929) 2025-05-26 11:11:29 +02:00
Denis Vodopianov
88355cc2b9 Chore: fix prev version detection in the update changelog action (#105964) 2025-05-26 11:55:58 +03:00
Mohamad Fadhil
ae2556b204 Fix: typo in doc (#105981)
Co-authored-by: Irene Rodríguez <irene.rodriguez@grafana.com>
2025-05-26 08:03:52 +00:00
Zoltán Bedi
1e383b0c1e Postgres: Switch the datasource plugin from lib/pq to pgx (#103961)
* Create libpqToPGX feature toggle

* Refactor PostgreSQL datasource to support PGX with feature toggle

- Updated `ProvideService` to accept feature toggles for enabling PGX.
- Modified integration tests to use the new PGX connection method.
- Introduced new functions for handling PGX connections and queries.
- Enhanced TLS configuration handling for PostgreSQL connections.
- Updated existing tests to ensure compatibility with PGX and new connection methods.

* Update PostgreSQL datasource to enhance connection pooling and error handling

- Increased `MaxOpenConns` to 10 in integration tests for improved connection management.
- Refactored connection handling in `newPostgresPGX` to return a connection pool instead of a single connection.
- Updated health check error handling to utilize context and feature toggles for better error reporting.
- Adjusted `DisposePGX` method to close the connection pool properly.
- Enhanced query execution to acquire connections from the pool, ensuring efficient resource usage.

* Cleanup

* Revert postgres_test unnecessary changes

* Rename feature toggle from `libpqToPGX` to `postgresDSUsePGX`

* Add null check to dispose method

* Fix lint issues

* Refactor connection string generation

* Address comment in health check file

* Rename p to pool

* Refactor executeQueryPGX and split into multiple functions

* Fix lint issues

* The returning error message from PGX is enough no need to separate the error code.

* Move TLS handling to newPostgresPGX function

* Disable ssl for integration tests

* Use MaxIdleConns option

* Remove old feature toggle

* Rename`generateConnectionConfigPGX` to `generateConnectionStringPGX`

* Add back part of the error messages

* Don't show max idle connections option when PGX enabled

* Address comments from Sriram

* Add back Sriram's changes

* PostgreSQL: Rework tls manager to use temporary files instead (#105330)

* Rework tls manager to use temporary files instead

* Lint and test fixes

* Update pkg/tsdb/grafana-postgresql-datasource/postgres.go

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

* Update betterer

---------

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

---------

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2025-05-26 08:54:18 +02:00
Stephanie Hingtgen
745eda2848 Dashboard Provisioning: Fix re-provisioning on each run (#105979)
Dashboard Provisioning: Fix reprovisioning on startup
2025-05-25 13:18:49 +03:00
Stephanie Hingtgen
5c0194955e Dashboards: Fix FindDashboards when kubernetesClientDashboardsFolders is disabled (#105974)
Dashboards: fix legacy FindDashboards
2025-05-24 07:06:30 -06:00
grafana-pr-automation[bot]
a8fd34cec4 I18n: Download translations from Crowdin (#105978)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-24 03:30:02 +03:00
Drew Slobodnjak
16a6d61ca7 Geomap: Require layer to have data for legend (#105580) 2025-05-23 14:28:16 -07:00
Valerii Sidorenko
ff23cb1293 GrafanaUI: Fix Combobox ignoring loading prop (#105584)
fix(Combobox): show loading state when loading prop is true

Closes #105294
2025-05-23 14:29:28 -04:00
Torkel Ödegaard
f65380db0e Dashboard: Data source variable editing in edit pane (#104153) 2025-05-23 18:49:01 +02:00
Victor Marin
f9d9d2f93e Dashboards: Refactor URL state preservation functionality when reloading on params change (#105952)
Revert "Revert "Dashboards: Refactor URL state preservation functionality whe…"

This reverts commit 968bb08703.
2025-05-23 17:55:45 +03:00
Andres Martinez Gotor
109dc4dc56 Advisor: Update some wording (#105935) 2025-05-23 16:38:50 +02:00
Alex Khomenko
0cb6f9584b Restore dashboards: Re-enable FE feature toggle (#105820)
* Add dashboardRestore toggle

* Restore the toggle on FE

* Add navtree item

* Fix lint

* Rename feature toggle

* Use the renamed toggle
2025-05-23 17:35:54 +03:00
Jacob Hands
8734b54f90 Docs: document required return type for org_attribute_path (#105946)
Co-authored-by: linoman <2051016+linoman@users.noreply.github.com>
Co-authored-by: Irene Rodríguez <irene.rodriguez@grafana.com>
2025-05-23 13:48:10 +00:00
kay delaney
7cdeab4353 DashboardOutline: Allow scrolling to unactivated panels (#105954) 2025-05-23 14:23:28 +01:00
kay delaney
bedd054409 Dashboards/E2E: Validate custom var deletion (#105941) 2025-05-23 14:22:57 +01:00
ismail simsek
b1636c3f9d Docs: Add some jsdoc style comments to prometheus utf8 support for better clarity (#105862)
* add some jsdoc style comments for better clarity

* Update utf8_support.ts
2025-05-23 16:18:08 +03:00
Irene Rodríguez
fa98a96e5d Fix broken links (#105936) 2025-05-23 13:11:27 +00:00
Georges Chaudy
04d39cbbc6 unistore: split ListIterator and ListHistory in StorageBackend (#105654)
split listIterator from ListHistory
2025-05-23 15:00:18 +02:00
Jean-Philippe Quéméner
392c1a71c9 Storage: Take migration_locking setting into account (#105938) 2025-05-23 14:11:21 +02:00
renovate[bot]
1a9e948830 Update dependency @prometheus-io/lezer-promql to v0.304.0 (#105940)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-23 13:53:54 +02:00
renovate[bot]
08c75ba5af Update dependency @opentelemetry/semantic-conventions to v1.34.0 (#105937)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-23 14:40:03 +03:00
renovate[bot]
931f4cad72 Update dependency @grafana/llm to v0.19.2 (#105924)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-23 13:59:06 +03:00
Victor Marin
968bb08703 Revert "Dashboards: Refactor URL state preservation functionality when reloading on params change" (#105931)
Revert "Dashboards: Refactor URL state preservation functionality when reload…"

This reverts commit 10628e8741.
2025-05-23 13:39:11 +03:00
renovate[bot]
b02a375338 Update dependency @monaco-editor/react to v4.7.0 (#105930)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-23 11:34:15 +01:00
Alex Khomenko
6ffccf825f Provisioning: Fix save form for readOnly repository (#105849)
* Provisioning: Fix save form for readOnly repository

* betterer
2025-05-23 12:44:23 +03:00
renovate[bot]
667e1080c2 Update dependency ml-regression-polynomial to v3.0.2 (#105923)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-23 09:36:20 +00:00
Peter Štibraný
c4d3eb1cd0 Remove support for Google Spanner database. (#105846)
* Remove support for Google Spanner database.
2025-05-23 11:35:59 +02:00
Ashley Harrison
9769871a88 Internationalisation: Disable automatic task creation (for now) (#105926)
comment out automatic task creation
2025-05-23 12:34:01 +03:00
Jean-Philippe Quéméner
eb8f3bc071 fix(unified-storage): wait for result to be available (#105922) 2025-05-23 11:03:01 +02:00
renovate[bot]
9bda7b9293 Update dependency @grafana/aws-sdk to v0.7.0 (#105811)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-23 09:50:26 +01:00
Hugo Häggmark
c7cd06d5f5 i18n: exports TFunction from @grafana/i18n package (#105921) 2025-05-23 10:34:35 +02:00
renovate[bot]
c35803d992 Update dependency @bsull/augurs to ^0.10.0 (#105810)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-23 09:22:22 +01:00
Jean-Philippe Quéméner
e57be36936 fix(unified-storage): race in resource server watch (#105786) 2025-05-23 09:19:20 +02:00
Sven Grossmann
04de9c2740 Plugins: Support suffix in grafanaDependency (#105916)
Plugins: Support appendix in `grafanaDependency`
2025-05-23 09:16:13 +02:00
Kristina
86a366126a Transformations: Transpose should respect renamed field names (#105893)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2025-05-22 21:38:32 -05:00
grafana-pr-automation[bot]
b6c1f84685 I18n: Download translations from Crowdin (#105913)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-23 03:33:06 +03:00
Kevin Minehart
0a49849cb3 CI: Fix calling 'move_packages' in wrong directory (#105912)
move_packages is in pkg now
2025-05-22 16:52:03 -07:00
Victor Marin
5cee301e75 GroupByVariable: Add support for default values in schema (#105518)
* update schema

* update schema

* refactor property to singular naming

* bump scenes

* leave scenes to caret version

* add defaultValue to groupBy model

* typo
2025-05-23 01:13:52 +03:00
Kevin Minehart
7e1c5a37e5 CI: temporarily remove verify pipeline (#105910)
temporarily remove verify pipeline
2025-05-23 01:13:16 +03:00
github-actions[bot]
43275fb6f2 Release: update changelog for 12.0.1 (#105891)
* Update changelog

* update changelog

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Kevin Yu <kevinwcyu@users.noreply.github.com>
2025-05-22 14:10:51 -07:00
Kevin Minehart
8124980e1b CI: use -C when go-mod-dir is provided (#105851)
* use -C when go-mod-dir is provided

* remove unused target variable

* use my branch for testing

* fix syntax?

* use condition in bash instead

* dagger-for-github doesn't support multiline command

* just skip using the composite action

* update setup-go

* add missing space

* grafana-main -> .grafana-main

* use 'patch' as version

* use generated token for cloning / pushing

* colons in wrong place

* update generate-token action

* reduce permissions needed

* add org prefix to repositories list

* ok the repo names did not work like that

* pull-request -> pull_request

* add workflows: write permission

* push branch on dry_run

* Add missing DRY_RUN flag

* initialize LATEST_FLAG as array

* use RELEASE_BRANCH as the base branch

* use workflow in main

* done testing; use main
2025-05-22 23:58:30 +03:00
Jacob Valdez
73e971eedc Docs: Clarifying information about using the API for license renewal (#105879)
Docs: Clarifying information about using the API for licnese renewal
2025-05-22 15:46:18 -05:00
Matheus Macabu
98ee83bf3f Extensions: Add direct dependencies used by Enterprise build (#105832) 2025-05-22 13:17:00 -07:00
github-actions[bot]
bc10c4ee7b Release: update changelog for 11.6.2 (#105889)
* Update changelog

* update changelog

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Kevin Yu <kevinwcyu@users.noreply.github.com>
2025-05-22 19:39:57 +00:00
github-actions[bot]
a54b0e384b Release: update changelog for 11.5.5 (#105888)
* Update changelog

* update changelog

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Kevin Yu <kevinwcyu@users.noreply.github.com>
2025-05-22 12:20:53 -07:00
Cory Forseth
249e2f3d34 Authorization: add toggle for LBAC filtering for Tempo datasources (#105688)
add toggle for LBAC filtering for Tempo datasources
2025-05-22 20:13:31 +01:00
github-actions[bot]
2e64bd8dbf Release: update changelog for 11.4.5 (#105886)
* Update changelog

* update changelog

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Kevin Yu <kevinwcyu@users.noreply.github.com>
2025-05-22 18:57:10 +00:00
github-actions[bot]
4b03edda44 Release: update changelog for 11.3.7 (#105882)
* Update changelog

* update changelog

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Kevin Yu <kevinwcyu@users.noreply.github.com>
2025-05-22 18:36:37 +00:00
Matias Chomicki
a676fd620a New Logs Panel: follow up improvements and fixes (#105767)
* LogList: add version with no scroll

* LogList: fix support for permalinked and pinned logs

* LogLineDetails: improve resizable

* LogList: improve height adjustment when details are open

* LogList: let the people select text

* Revert "LogList: add version with no scroll"

This reverts commit f26cdce696.

* LogList: update test

* New Logs Panel: rename permalinkedRowId to permalinkedLogId

* LogListContext: update mock

* ControlledLogRows: implement custom scrollIntoView

* Logs Panel: fix re-render regression

* LogLine: tweak hover and expanded colors
2025-05-22 21:12:06 +03:00
Fayzal Ghantiwala
67d28465de Alerting: Fix debug log line in External Alertmanager sender (#105855)
Fix log line
2025-05-22 21:07:12 +03:00
github-actions[bot]
dff2473410 Release: update changelog for 11.2.10 (#105845)
* Update changelog

* baldm0mma/ add CVE fixes to changelog

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Kevin Yu <kevinwcyu@users.noreply.github.com>
Co-authored-by: jev forsberg <jev.forsberg@grafana.com>
2025-05-22 12:04:26 -06:00
Tom Ratcliffe
71a60e2734 i18n: Add shortcut/command palette item to toggle pseudo locale (#105826) 2025-05-22 19:12:17 +03:00
Smit Patel
e389407907 Grafana-[data,sql,ui]: Use named imports (#105734)
grafana-[data,sql,ui]: use named imports
2025-05-22 17:08:46 +01:00
Kevin Minehart
e433af003f CI: dagger run missing go run (#105778)
* dagger run missing go run

* Add missing build ID arg
2025-05-22 19:01:39 +03:00
github-actions[bot]
08fdc95635 Release: update changelog for 10.4.19 (#105840)
* Update changelog

* empty commit

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: idastambuk <ida.stambuk@grafana.com>
2025-05-22 08:21:57 -07:00
Jean-Philippe Quéméner
95eabcf03d refactor(unified-storage): rename cache to avoid import conflicts (#105831) 2025-05-22 17:12:31 +02:00
Kevin Minehart
a37953bb6f CI: remove go-version flag (#105844)
remove go-version flag
2025-05-22 17:49:38 +03:00
Kristina
bc3679957b Transformations: Add documentation around new behavior of Calculate field (#104429)
* Docs changes

* remove generated placeholder for binary ops with variables

* Update public/app/features/transformers/docs/content.ts

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

* Update public/app/features/transformers/docs/content.ts

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

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2025-05-22 09:43:35 -05:00
Irene Rodríguez
c98792d924 add new sentence about GH enterprise (#105816) 2025-05-22 16:37:50 +02:00
Kevin Minehart
b3fac7a2db Chore: Update changelog (#105794)
* Update changelog

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-22 09:35:52 -05:00
Isabel Matwawana
f984c4cbe7 Docs: Fixed broken links (#105796) 2025-05-22 10:34:58 -04:00
Haris Rozajac
c6ada816c2 Dashboards: Disable saving in the UI for provisioned k8s dashboards (#105429)
* disable editing in UI for k8s dashboards

* lint

* use AnnoKeyManagerAllowsEdits; clean up

* fix

* add tests; update the logic

* clean up
2025-05-22 08:18:48 -06:00
mohammad-hamid
0166b6bcc6 Update API docs for team groups search (#105512)
* Update API docs for team groups search

* update team sync doc

* remove param block

---------

Co-authored-by: Gabriel Mabille <gabriel.mabille@grafana.com>
2025-05-22 09:58:58 -04:00
Andreas Christou
844c854d75 Azure: Fix Application Insights metadata requests (#105614)
* Fix App insights metadata requests

- Correctly handle error responses

* Fix linting and always log the error message

* More lint
2025-05-22 14:35:41 +01:00
Dana Axinte
7f2923d4ed SecretsManager: Introduce keeper store (#105557)
* SecretsManager: Introduce secret database wrapper

Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>
Co-authored-by: Leandro Deveikis <leandro.deveikis@gmail.com>
Co-authored-by: Dana Axinte <53751979+dana-axinte@users.noreply.github.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>

* SecretsManager: Introduce db migrator with keeper table

Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>
Co-authored-by: Leandro Deveikis <leandro.deveikis@gmail.com>
Co-authored-by: Dana Axinte <53751979+dana-axinte@users.noreply.github.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>

* SecretsManager: Introduce keeper store

Co-authored-by: Leandro Deveikis <leandro.deveikis@gmail.com>
Co-authored-by: Dana Axinte <53751979+dana-axinte@users.noreply.github.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>

* new line

* without query listByNameSecureValue

* remove unused extractSecureValues for now

* SecretsManager: Add keeper integration tests

Co-authored-by: Leandro Deveikis <leandro.deveikis@gmail.com>
Co-authored-by: Dana Axinte <53751979+dana-axinte@users.noreply.github.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>

---------

Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>
Co-authored-by: Leandro Deveikis <leandro.deveikis@gmail.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
2025-05-22 14:26:47 +01:00
Nathan Vērzemnieks
c5de567c8c Chore: update triage project for Elasticsearch (#105825) 2025-05-22 15:09:24 +02:00
Victor Marin
e56f196c2e Revert "Remove scope dependency" (#105830)
Revert "Remove scope dependency (#105768)"

This reverts commit 75d983ccc8.
2025-05-22 16:05:31 +03:00
Sarah Zinger
ec3f467666 ds-querier: small renames (#105701) 2025-05-22 09:04:02 -04:00
Syerikjan Kh
e05ccb822a feat: map GF_INSTALL_PLUGINS to use preinstall plugins feature (#105145)
* feat: map GF_INSTALL_PLUGINS to use preinstall plugins feature

* ref: process GF_INSTALL_PLUGINS as sync install

* fix: check GF_INSTALL_PLUGINS_FORCE in the docker run

* ref: use preinstall_sync for GF_INSTALL_PLUGINS

* ref: logs and deprecation msg for GF_INSTALL_PLUGINS

* chore: deprecated log formatting
2025-05-22 08:23:33 -04:00
Adela Almasan
267e3ffb7c Actions: Add support for custom variables (#105639)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2025-05-22 06:07:24 -05:00
Matt Cowley
2ce1c67d92 Home: update setup guide link/title to Getting Started Guide (#105692)
* Home: update setup guide link/title to Getting Started Guide

* Home: check plugin presence to show getting started guide

* Home: remove now unused homeSetupGuide feature toggle

* Home: use sentence case for Getting started guide item
2025-05-22 14:06:50 +03:00
kay delaney
9729c4cf60 Dashboards/E2E: Add test validating panel duplication (#105663)
* Dashboards/E2E: Add test validating panel duplication

* Validate duplicates remain after save/reload
2025-05-22 13:39:52 +03:00
Gilles De Mey
30398b6591 Alerting: Make rules clickable in rule group detail view (#105622) 2025-05-22 10:09:40 +00:00
Denis Vodopianov
ca0ac05b39 Chore: add missing build-id to the rgm-promotion step (#105814)
add missing build-id to the rgm-promotion step
2025-05-22 12:55:35 +03:00
renovate[bot]
e841674745 Update dependency react-select to v5.10.1 (#104907)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-22 09:06:46 +00:00
Alex Khomenko
eec109d500 Provisioning: Skip settings request if the feature toggle not set (#105800) 2025-05-22 12:04:09 +03:00
Alex Khomenko
ec48b0dfcb grafana/ui: Add noMargin prop to Card (#105604)
grafana/ui: Add noMargin to Card
2025-05-22 12:03:58 +03:00
grafana-pr-automation[bot]
5299602211 I18n: Download translations from Crowdin (#105798)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-22 11:48:02 +03:00
renovate[bot]
69c40bb4e3 Update React Aria (#105763)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-22 09:37:02 +01:00
renovate[bot]
12d103a425 Update dependency semver to v7.7.2 (#105753)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-22 09:36:36 +01:00
Sriram
a8e87fc674 Postgres: Config diagnostics / logging update (#105666)
* config diagnostics update

* update tests

* fix typo
2025-05-22 08:27:36 +01:00
Mariell Hoversholm
d692bce405 Drone: Dagger needs to use go run (#105803) 2025-05-22 10:14:44 +03:00
Adela Almasan
cab652c4d1 TableNG: Data links and actions tooltip (#101015) 2025-05-21 17:09:32 -05:00
Collin Fingar
b16f34fb93 QueryLibrary: Added IsLocked field (#105634)
* QueryLibrary: Added IsLocked field

* Updated openapi

* Update backend field description
2025-05-21 15:11:21 -04:00
Kristina
b77ab8a685 Developer Guide: Add blurb about vs code debugger error (#105772)
Add blurb about vs code debugger error in developer guide
2025-05-21 21:59:30 +03:00
Kevin Minehart
616bbfd4fd CI: fix daggerbuild scripts so that they go run in the right place (#105697)
fix scripts so that they go run in the right place
2025-05-21 13:50:10 -05:00
Sofia Papagiannaki
c7a690348d Apply security patch security-patch-202505051005.patch (#105754)
* Fix static handler redirect logic to ensure proper clean up URLs before redirection.

(cherry picked from commit f50ec8e0d10c24fd79f6c454974a2fc6e9694ef2)
2025-05-21 21:34:05 +03:00
Ryan McKinley
1dd59ca599 DualWriter: remove RV+UID for secondary update (#105543) 2025-05-21 18:25:40 +00:00
Victor Marin
75d983ccc8 Remove scope dependency (#105768) 2025-05-21 20:58:51 +03:00
Yunwen Zheng
60983906dd TimeRangePicker: Show local browser time info on hover (#105643)
* TimeRangePicker add timezone description when hover
2025-05-21 12:55:11 -04:00
Sonia Aguilar
fc5472615f Alerting: Add alertingImportYAMLUI feature flag (#105742)
Add alertingImportYAMLUI ff
2025-05-21 17:59:41 +02:00
Andre Pereira
b0feaed582 Drilldown: Remove New badge from drilldown menu (#105746)
Remove isNew flag from drilldown menu
2025-05-21 18:40:43 +03:00
renovate[bot]
b1f4a7d380 Update dependency semver to v7.7.2 (#105757)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-21 15:38:05 +00:00
Gilles De Mey
cb94043b41 Alerting: Add group interval metadata to new list view (#105737) 2025-05-21 17:10:43 +02:00
renovate[bot]
d8812388cf Update dependency papaparse to v5.5.3 (#105750)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-21 15:09:32 +00:00
Luminessa Starlight
43e2bf5e38 NestedFolderPicker: Fix scroll jumps back to top (#105567)
refactor selector to output a stable value
2025-05-21 11:02:42 -04:00
Josh Hunt
5bac2639c7 Chore: Update internationalization docs (#105748) 2025-05-21 16:00:10 +01:00
renovate[bot]
ed99813efa Update dependency marked to v15.0.12 (#105744)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-21 14:59:57 +00:00
Sofia Papagiannaki
69e657b296 SQLStore: Add index on is_service_account and last_seen_at columns in user table. (#105727)
Add index on is_service_account and last_seen_at columns in user table.
2025-05-21 17:44:44 +03:00
renovate[bot]
a3c6b7c28d Update dependency rxjs to v7.8.2 (#105351)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-21 14:34:29 +00:00
renovate[bot]
0904dbab3b Update dependency dompurify to v3.2.6 (#105720)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-21 14:25:32 +00:00
Ashley Harrison
0682ffa0ab Chore: Remove cleanup step in Crowdin (#105728)
* remove cleanup step as it's not necessary

* fix CODEOWNERS
2025-05-21 15:14:59 +01:00
Yuri Tseretyan
d019b4ff1b Alerting: Change logging in Alertmanager (#105704)
* change logger to ngalert.notifier and use component label
* update alerting module

---------

Signed-off-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2025-05-21 10:13:18 -04:00
Dana Axinte
6e5e133f7d SecretsManager: Introduce db migrator with keeper table (#105538)
Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>
Co-authored-by: Leandro Deveikis <leandro.deveikis@gmail.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
2025-05-21 15:02:51 +01:00
Josh Hunt
06206ced68 Actions: Update backport action to commit using grafana-delivery-bot (#105735)
(cherry picked from commit 6872f154ec34425388de3b6548b8d22dc3d06a90)
2025-05-21 14:55:34 +01:00
Haris Rozajac
d11d8ec111 Dashboards: Make serializer a single source of truth for passing k8s props on save (#105576)
* make serializer a single source of truth for passing k8s props on save

* remove resourceVersion when updating

* don't pass result.version to resourceVersion

* remove k8s update on saveCompleted from dash scene
2025-05-21 07:24:41 -06:00
Andres Martinez Gotor
269226cb50 Advisor: Add human readable name to check types (#105717) 2025-05-21 15:23:08 +02:00
Gabriel MABILLE
c012480fd6 Authz: Define app resources (#105050)
* Authz: Define app resources

* Add coreroles and cluster roles

* Restore CODEOWNERS from main

* ManagedPermissions -> ResourcePermissions

* Rework changes

* Update apps/authz/kinds/v0alpha1/rolebindingspec.cue

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>

* Update apps/authz/kinds/v0alpha1/rolespec.cue

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>

* Make

* WIP first set of comments

* typox

* Copy folder Makefile

* Remove uid

* Rename authz -> iam

* Rename to iam

* Dockerfile

* Remove name

* Mv up

* Try with postprocess

* linting

* Use same version

* apimachinery v0.32.3

* update-workspace

---------

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
2025-05-21 14:47:44 +02:00
Gabriel MABILLE
cb3cd021b7 AuthZ-Service: Add traces to cache (#105718) 2025-05-21 14:35:43 +02:00
Mariell Hoversholm
8caa62ede0 CI: Select all packages in sharded tests (#105725) 2025-05-21 14:25:48 +02:00
renovate[bot]
10b097efa4 Update dependency @react-awesome-query-builder/ui to v6.6.15 (#105716)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-21 10:55:43 +00:00
Gilles De Mey
777d2e8e4a Alerting: mocking and testing of Alerting package (#105342) 2025-05-21 12:47:31 +02:00
Konrad Lalik
e2cd5c870f Alerting: Limit GMA alerts on the new list page (#105657) 2025-05-21 12:26:23 +02:00
renovate[bot]
7361537253 Update dependency @grafana/plugin-ui to v0.10.6 (#105715)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-21 11:53:11 +02:00
Denis Vodopianov
cefd2dab7a Chore: Detaching go tools from the main Grafana workspace (#104861)
* add script for tooling

* add to make

* not to forget

* reworked go tools

* add tool installation script

* adding readme

* updating readme

* updating readme

* cleanup install.sh and makefile

* update the readme file

* cleanup scripts

* switch variables.mk to lazy evaluation

* add tools ache to gitignore

* get rid of absolute path in hte Variables.mk file

* switch to reusable function for path generation

* add debug statements

* add create cache tool dir

* add debuig statements to make file

* drop tool cache

* fix race condition n ci

* fix race condition n ci

* cleanup workspace

* add lefthook.rc to codeowners

* copy .citools folder to docker image

* switch back to main branch of grafana-build

* Add .citools to the drone builder

* fix wording in generate.sh and README.md
2025-05-21 11:22:24 +02:00
Alexa V
b1b9151cd7 Chore: Fix Flaky test DashboardDatasourceBehaviour (#105682)
Add spy to prevent flaky test
2025-05-21 10:55:46 +02:00
renovate[bot]
be037e77dc Update dependency react-dropzone to v14.3.8 (#104869)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-21 08:52:03 +00:00
Konrad Lalik
0c9ca20bc5 Alerting: List v2 empty states (#105616)
* Add empty state handling for GMA rules

* Add handing empty states for Grafana and Datasource rules

* Update translations, fix lint errors

* Add empty state translation

* WIP layout update

* implement hover styles

* update pagination

* fix list item indent

* clean up actions part 1

* only apply text fill to v2 list view

* add missing returnTo for rule viewer

* fix list styles for list view

* i18n

* update bulk actions to regular folder actions for list v2

* fix a few tests

* simplify paginated loaders for new list view

* i18n

* more UI feedback

* fix test

* comment

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2025-05-21 10:23:48 +02:00
Ashley Harrison
e38e07ec60 Chore: Fix crowdin task cleanup (#105690)
* fix cleanup of project tasks

* fix task cleanup
2025-05-21 09:11:17 +01:00
Mariell Hoversholm
1956a17f61 Codeowners: Move workflows to DES (#105613) 2025-05-21 10:05:26 +02:00
Jean-Philippe Quéméner
a13fe75de8 refactor(unified-storage): set the GUID in the resource server (#105683) 2025-05-21 09:49:49 +02:00
Joey
fe704843a9 Tempo: Support alerting and recorded rules in TraceQL metrics (#105094)
* Tempo: Support alerting and recorded rules

* Remove step and hide in options

* Update query type shown in alerting

* Remove labelKeys

* Update test
2025-05-21 07:55:08 +01:00
jackyin
437f3ff936 URLParams: Stringify true values as key=true always (#97346) 2025-05-21 07:57:33 +03:00
grafana-pr-automation[bot]
1671a6ee59 I18n: Download translations from Crowdin (#105709)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-21 03:34:01 +03:00
Scott Lepper
f47ab7ab2f Dashboards E2E - edit pane - query variable (#105635)
* Dashboards E2E - edit pane - query variable
* update test to use gdev cloudwatch; remove duplicate label and mocks
* wait for the api call to fetch the editor options
2025-05-20 15:31:06 -04:00
Scott Lepper
ab86c5017b Dashboard E2E - edit pane - ad hoc variable (#105641)
* Dashboard E2E - edit pane - ad hoc variable
2025-05-20 15:30:11 -04:00
William Wernert
0208231ed6 Alerting: Handle connection errors in remote writer as expected (i.e. user) errors (#105687) 2025-05-20 15:14:39 -04:00
Kim Nylander
d0d941fe8d [DOC] Make notes consistent in Git Sync docs (#105695) 2025-05-20 18:27:55 +00:00
maicon
1435eedbc4 Provisioning: Move OSS provisioning to Run step (#105428)
* Provisioning: Move OSS provisioning to Run step

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>


---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-05-20 14:06:06 -04:00
Matias Chomicki
9308f86d63 New Logs Panel: Add Log Details support (#105609)
* Log list: add onclick listener

* LogListContext: add basic details support

* LogLineDetails: create component

* Address lint issues

* Log Details: make resizable and store size

* LogListModel: add sampled and error support

* LogDetails: pass more required props

* LogLineContext: add interactive callbacks support

* LogLineDetails: pass interactive callbacks

* LogList: pass displayedFields callbacks

* LogLine: move click listener

* LogLineMenu: support showing details

* LogLine: move onclick listener

* LogListContext: remove displayedFields intermediation

* i18n

* LogListContext: abstract details shown function

* LogLine: visually show expanded lines

* LogDetails: remove min width for labels

* LogLineDetails: add close button

* LogList: add extra wrapper to get width

* LogLineDetails: update logs size on resize

* virtualization: update to new width reference

* LogLine: check overflow on every re-render

* LogList: debug virtualization when resizing

* LogLineDetails: make it scrollable

* LogListContext: make detailsWidth not undefined

* Update tests with new attributes

* LogLine: update collapsed state with container changes

* LogLine: move cursor property to clickable styles

* LogList: fix height recalculation when display options change

* Logs: fix feature toggles support

* Logs: more feature toggles adjustments

* Lint

* LogLine: support duplicates, hasError, and isSampled

* Logs: debug feature flag combinations

* i18n

* Prettier

* New Logs Panel: generate storage key for dashboards

* Explore Logs: fix filtered levels

* Logs Sample: integrate new panel

* LogLine: fix unwrapped logs

* Fix test

* Update test

* Logs panel: update test

* Prettier

* LogLine: update tests

* LogLineMenu: update test

* LogList: update unit test

* processing: update test

* virtualization: update unit test
2025-05-20 20:28:35 +03:00
Alex Spencer
ce3f485593 TableNG: Fix filtering bug (#105334)
fix: tableNG filtering
2025-05-20 11:10:49 -06:00
Gilles De Mey
082b46067c Alerting: New list view layout update (#105489) 2025-05-20 19:03:07 +03:00
Alexa V
b1a6860f52 Dashboards: Schema V2 - Rename Annotations 'options' to 'legacyOptions' and Fix stale props (#105266)
* Rename Annotations 'Options' to 'legacyOptions'

* use new legacyOptions in StandardAnnotationQueryEditor

* use new legacyOptions in transformSaveModelSchemaToScene

* use legacyOptions in transformSceneToSaveModelSchemaV2

* Fix bug with ds query editors not taking the latest state

* update snapshot
2025-05-20 17:55:30 +02:00
Kevin Minehart
13f4cf162e CI: move grafana-build into pkg/build (#105640)
* move grafana-build into pkg/build
2025-05-20 10:48:00 -05:00
Josh Hunt
759933d3e2 Actions: Remove pr trigger from Skye workflow, change to use JSON (#105684)
* Actions: Remove pr trigger from Skye workflow, change to use JSON

* remove mentions of PRs
2025-05-20 16:34:43 +01:00
Mustafa Sencer Özcan
f70edbb6f2 fix(unified-storage): bump unified storage folder list limit (#105685) 2025-05-20 17:29:31 +02:00
Ashley Harrison
b727bd1c8d Chore: Move ml app to root (#105677)
* move ml app to root

* update translation

* translate subtitle as well

* fix casing
2025-05-20 16:24:21 +01:00
Vardan Torosyan
fbf87a9fc1 Docs: Fix SCIM availability note about Grafana Cloud (#105649)
* Docs: Fix SCIM availability note about Grafana Cloud

* SCIM and Team Sync are available in Pro
2025-05-20 17:11:57 +02:00
Matheus Macabu
a1e71fc85f SecretsManager: Update decrypt authorization with service identity (#105668)
(cherry picked from commit 9aea342be1)
2025-05-20 16:24:51 +02:00
lean.dev
06223868b9 Chore: rename licensing action (#105143) 2025-05-20 15:24:06 +01:00
Scott Lepper
902073ead7 e2e - debug / slomo fix (#105554)
e2e - slomo fix
2025-05-20 09:48:11 -04:00
Ashley Harrison
b1c1d080e2 Internationalisation: Mark up MSSQL (#105532)
* scaffolding

* markup

* fix typos + extract translations

* update crowdin.yml

* uppercase Grafana
2025-05-20 14:39:41 +01:00
Collin Fingar
ea9040bbf7 TimeRangePicker: Added prop to allow side move buttons w/ relative range (#105422)
* TimeRangePicker: Added prop to allow side move buttons w/ relative range

* Remove prop for displaying the errors

* lint fix
2025-05-20 09:31:38 -04:00
Matheus Macabu
38de0cac3a Chore: Replace usages of golang.org/x/net/context with stdlib context package (#105676) 2025-05-20 14:59:40 +02:00
Matheus Macabu
36c31ce841 NGAlert: Revert change to use math/rand/v2 in tests (#105661) 2025-05-20 14:47:57 +02:00
Edvard Falkskär
761f008884 NodeGraph: Fix view traces query for edges (#105324)
* NodeGraph: Fix view traces query for edges

* Updating tests
2025-05-20 14:39:42 +02:00
Hugo Häggmark
81ad16f25f i18n: cleans up exports and imports (#105669) 2025-05-20 15:31:53 +03:00
Hugo Häggmark
7108f82cc4 Prometheus: removes props mutation (#105650) 2025-05-20 14:01:17 +02:00
Ana Ivanov
dbd88033f0 Add Cloud provider logo (#105274)
* Add Cloud provider logo

* remove color

* remove other svg props
2025-05-20 14:55:22 +03:00
Will Assis
3d1eac754b unified-storage: distributor instructions and fix race condition (#105630)
* update unified storage README with instructions on how to run the distributor locally and fix race condition causing the server to crash on startup randomly
2025-05-20 14:46:33 +03:00
Sergej-Vlasov
03f1bb950b DashboardSchemaV2: add missing allowCustomValue property in variables (#105416)
* add missing allowCustomValue property to variables in schema V2

* fix K8s Codegen Check

* updade snapshots for backend tests
2025-05-20 11:50:46 +01:00
Dana Axinte
a7922912fe SecretsManager: Introduce secrets database wrapper (#105472)
SecretsManager: Introduce secret database wrapper

Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>
Co-authored-by: Leandro Deveikis <leandro.deveikis@gmail.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
2025-05-20 11:48:47 +01:00
Michael Hoffmann
32bd9e22ee prometheus: use getSeriesValues in metrics selector (#105361)
When we have labels selected and want to refresh the list of metrics that match this grafana would use an expensive
/api/v1/series call instead of /api/v1/label/__name__/values with matchers, even if the datasource is configured to be
ble to use matchers in label values calls.

Signed-off-by: Michael Hoffmann <mhoffmann@cloudflare.com>
2025-05-20 12:09:08 +02:00
Ashley Harrison
546f0c2675 Chore: Remove extraThemes feature toggle (#105623)
remove extraThemes feature toggle
2025-05-20 09:18:08 +01:00
Tito Lins
15aa879acb Alerting: ignore multiple org ids on prom writer (#105652) 2025-05-20 10:15:25 +02:00
Alexander Zobnin
cfba630f5c RBAC: Don't additionally cache all users permissions (#105607)
* RBAC: Don't additionally cache all users permissions

* remove unused tests
2025-05-20 09:28:46 +02:00
Yuri Tseretyan
7dc13d63b9 Alerting: Refactor Grafana Alertmanager (#105568)
* update alerting module

* use NotificationsConfiguration
* update to use opts and configure new fields
* use TenantID instead of orgId
2025-05-20 04:40:51 +03:00
grafana-pr-automation[bot]
2d71edbc52 I18n: Download translations from Crowdin (#105644)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-20 03:31:57 +03:00
ismail simsek
d80cfce798 Revert "Prometheus: Remove series endpoint call from Metrics Explorer" (#105104)
Revert "Prometheus: Remove series endpoint call from Metrics Explorer (#104263)"

This reverts commit 89198bb749.
2025-05-19 23:06:39 +02:00
Michael Mandrus
b4fc33ff6b Chore: Fix cloud migration test when running against postgres (#105636)
make postgres integration tests happy
2025-05-19 22:59:31 +02:00
Mustafa Sencer Özcan
91882cf50e chore(unified-storage): add tracing for unified storage folder implementation (#105601) 2025-05-19 23:25:08 +03:00
Alexander Akhmetov
d57ce72969 Alerting: Document X-Grafana-Alerting-Notification-Settings header (#105300) 2025-05-19 22:01:13 +02:00
Adam Simpson
5faa5f87ba ds-querier: return 400 when no code is present (#105633) 2025-05-19 22:23:51 +03:00
Alexander Akhmetov
04f7f2451d Alerting: Add custom headers support for recording rules custom datasource writer (#105618)
Alerting: Add custom headers support for recording rules datasource writer
2025-05-19 19:42:22 +02:00
Laura Fernández
1c99ace68d i18n: Change verify-i18n.spec.ts to test translations using language label (#105629) 2025-05-19 19:41:27 +02:00
Andreas Christou
4a7a3f9e2a ElasticSearch: Fallback parse total hits as int (#105615)
* Attempt int parsing

* Update total hits logic

- Do not allow the error to fail the request
- Add some comments

* Mark log as debug
2025-05-19 18:08:38 +01:00
Alexander Akhmetov
d5a8401499 Alerting: Mention recording rules setup in the import API documentation (#105565)
* Alerting: Update recording rules mentions in the import API documentation

* Apply suggestions from code review

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>

---------

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>
2025-05-19 19:01:46 +02:00
Drew Slobodnjak
c03957d805 Geomap: Update CARTO attribution (#105578) 2025-05-19 09:28:15 -07:00
Sergej-Vlasov
8456801a51 DashboardE2E: Add more cases to grouping E2E (#105598)
* add more row grouping e2e

* refactor dashboard create with dashboard import to speed up tests

* add more tests for tabs layout

* adjust flaky test
2025-05-19 16:48:12 +01:00
Gabriel MABILLE
80898c14d0 AuthZ-Service: Add debug logs with the function execution duration (#105621)
AuthZ-Service: Add simple logs with the execution duration
2025-05-19 17:47:01 +02:00
kay delaney
0b0f16de65 Dashboards/E2E: Add test validating transparent bg toggle behavior (#105619)
* Dashboards/E2E: Add test validating transparent bg toggle behavior

* fix test name
2025-05-19 18:43:26 +03:00
Michael Mandrus
6205e126cc CloudMigrations: Fix issues with snapshot resource limits (#105425)
* fix bulk inserts

* commit progress so cursor doesn't sabotage me

* add more tests

* get everything working

* rename variable

* update comment

* regen mocks, fix k8s list method maybe

* fix bug with duplicate entries

* lint

* Snapshots: Use slices.Chunk for batching inserts

* remove extra linebreak

---------

Co-authored-by: Matheus Macabu <macabu.matheus@gmail.com>
2025-05-19 11:37:22 -04:00
Torkel Ödegaard
8ee1f2c1fc Scopes: Replace scopes bridge with scopes variable (#105399) 2025-05-19 16:31:37 +02:00
Scott Lepper
cfe340da05 Dashboards: E2E - Edit Pane - Interval Variable (#105570) 2025-05-19 10:10:55 -04:00
Tom Ratcliffe
c2ebb9cbbf i18n: Update lint rule suggested import location to @grafana/i18n (#105091) 2025-05-19 15:00:15 +01:00
kay delaney
b3a73a5282 Dashboards/E2E: Add test validating panel title and description modification (#105561)
* Dashboards/E2E: Add test validating panel title and description modification

* Use component selector for headerContainer

* Add flows for changing panel title and description
2025-05-19 14:58:23 +01:00
Andres Martinez Gotor
4d0124af7a Advisor: Fix retry behavior for missing item (#105608) 2025-05-19 15:15:20 +02:00
Josh Hunt
8bfff4185c Preferences: PATCH when just changing theme (#105610) 2025-05-19 13:23:36 +01:00
Will Assis
bdae4424e8 unified-storage: setup distributor module option A (#104737)
* setup distributor module

* move lifecycler into resource server provider

* remove ring/client pool setup from distributor module and use the same ring/client pool between storage server module and distributor module

* implement resourcestore server methods

* make healthcheck fail if ring is not running
2025-05-19 07:46:03 -04:00
Ashley Harrison
98c9bc5028 Preferences: Disable the save button whilst saving preferences (#105605)
* disable the save button whilst saving preferences

* use .finally to always reset state of submit button

* fix unit tests
2025-05-19 12:42:44 +01:00
Ashley Harrison
808b371225 Themes: Prevent duplicated API call in drawer (#105602)
refactor to separate component, stop propagating radio button event + unit test
2025-05-19 12:42:36 +01:00
Hugo Kiyodi Oshiro
3fe31e19b2 Plugins: Change versions tab column name (#105596) 2025-05-19 13:37:00 +02:00
Laura Fernández
23ecb9d904 i18n: Use grafana/i18n to init the locale and manage the regionalFormat (#105281) 2025-05-19 13:24:33 +02:00
grafana-pr-automation[bot]
8b78b604ca I18n: Download translations from Crowdin (#105606)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-19 14:18:27 +03:00
Jean-Philippe Quéméner
5d8f2e0ec3 refactor(unified-storage): extract list iterator and add tests (#105600) 2025-05-19 13:05:49 +02:00
Ashley Harrison
fbf12126f8 Internationalisation: Fix crowdin download action (#105531)
* fix filesChanged command

* try this instead

* try again...

* try again...

* AGAIN

* maybe?

* maybe?

* just trying this up, im pretty sure this is what it was originally

* Revert "just trying this up, im pretty sure this is what it was originally"

This reverts commit a036cbb32f.

* directly use crowdin-download output

---------

Co-authored-by: joshhunt <josh.hunt@grafana.com>
2025-05-19 11:56:23 +01:00
Santiago
180b67ca6c Remote Alertmanager: Make timeout configurable in alert senders (#105599) 2025-05-19 12:52:12 +02:00
Alex Khomenko
15c903fa5c Provisioning: Refactor createOnCacheEntryAdded (#105228)
* Provisioning: Refactor createOnCacheEntryAdded

* Use custom list resource type

* add generated types and transformers

* Switch to type guards

* Do not create new array
2025-05-19 13:23:23 +03:00
Alexander Akhmetov
c58ac15031 Alerting: Remove grafanaManagedRecordingRules feature flag (#105569) 2025-05-19 12:15:49 +02:00
Alex Khomenko
f83fb35bfb Betterer: Add noMargin prop check (#105409)
* Chore: Add a betterer rule for noMargin prop

* Use existing file selector

* Check for grafana/ui import

* Update results

* Update results
2025-05-19 12:34:13 +03:00
Fiona Liao
b674c31579 Fix typo in traceql editor (#103476)
Drildown -> Drilldown
2025-05-19 10:29:27 +03:00
Ieva
2cddaf0781 RBAC: Remove dashboard and folder guardians (#104646)
* replace usage of folder guardians with access control evaluators

* remove NewByFolderUID guardian

* bring up to date

* fix test

* more test fixes, and don't fetch the folder before evaluating lib element access

* change what error is returned

* fix alerting test

* try to fix linter errors

* replace the use of newByFolder guardian with direct access control evaluator checks

* remove newByFolder guardian

* get rid of dashboard and folder guardians

* undo unwanted change

* undo unwanted change

* undo unwanted change

* update code owners
2025-05-19 09:48:16 +03:00
Johnny Kartheiser
bf87c6f774 docs: edits for alerting learning content (#105500)
* docs: edits for alerting learning content

edits for alerting learning content

* vale'd

* left nav change

* final adjustments

link fixes and the like

* Update _index.md
2025-05-18 22:08:52 -05:00
David Harris
a3952ff85a docs: remove transformation content for legacy graph panel (#105534)
docs: remove content for legacy graph panel

Given the legacy panel is not compatible with G12 - our current docs should not cover it and we can remove from the page
2025-05-17 13:57:14 +01:00
Kevin Minehart
d0637bba5b CI: Update patch check event to use workflow_call (#105478)
* add pr-patch-check-event workflow_call

* remove unneded permission

* sender -> sender_login

* Add my branch as a target for testing

* fix branch name

* use pull_request event

* fix repo in list

* maybe repositories not prefixedby org?

* fix permissions

* remove my branch

* Missing @

* Add missing CODEOWNER entry

* call workflow from my branch and add oidc debugger

* add my branch to list for testing

* remove my branch; use workflow from main; remove oidc debug

* retrigger CI
2025-05-16 18:39:17 -06:00
Ieva
feaaf96269 RBAC: Remove folder guardians part 2 (#104645)
* replace usage of folder guardians with access control evaluators

* remove NewByFolderUID guardian

* bring up to date

* fix test

* more test fixes, and don't fetch the folder before evaluating lib element access

* change what error is returned

* fix alerting test

* try to fix linter errors

* replace the use of newByFolder guardian with direct access control evaluator checks

* remove newByFolder guardian

* remove unintentional changes

* remove unintentional changes

* undo unwanted change
2025-05-17 00:25:07 +03:00
David Allen
c457a0c750 Updates SECURITY.md to align with current security & bug bounty guidance (#105572)
Update SECURITY.md

update with links to current guidance and bug bounty program
2025-05-16 17:19:09 -04:00
alerting-team[bot]
44c3c5a29d Alerting: Update alerting module to 2484dbaf55cfe9236e296e113ddbc35136f2feb3 (#105350)
* [create-pull-request] automated change

* populate Image ID

Signed-off-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>

---------

Signed-off-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
Co-authored-by: yuri-tceretian <25988953+yuri-tceretian@users.noreply.github.com>
Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2025-05-16 23:39:32 +03:00
Adam Simpson
4eadb0fec8 ds-querier: handle execute errors better (#105496)
* ds-querier: handle execute errors better

* fix: change how GetResponseCode works to return 418 if rsp is nil

418 is a bit of an easter egg which in this case works since we don't
have an rsp but we do know something went wrong, so a 200 won't work.

Also changed this to return the code in the frame, not sure why we
weren't.

* tests: fix GetResponseCode tests

* log no rsp case

* bring back og error log
2025-05-16 21:41:32 +03:00
Scott Lepper
e0836a02f6 Dashboards - E2E test - New layout - textbox variable (#105493)
Dashboards - E2E - new layout - textbox variable
2025-05-16 12:33:13 -04:00
Alex Khomenko
48c5b55cdb Chore: Move rtk-client generator to scripts (#105548)
* Chore: Move rtk-client generator to scripts

* Fix path

* Update codeowners
2025-05-16 17:58:04 +03:00
Isabel Matwawana
14d8c5796a Docs: Improve raw format description and examples (#105410) 2025-05-16 10:48:36 -04:00
Syerikjan Kh
b38662e985 Plugins: Add preinstall_sync config - allow plugins to be preinstalled synchronously (#105292)
* feat: preinstall_sync config - process and installation logic

* ref: add preinstall_sync list to preinstalled plugins of frontendsettings

* fix: conf blank line for sections

* ref: remove plugins async flag, and rename PreinstallPlugins

* docs: default installed plugin list
2025-05-16 10:45:50 -04:00
Irene Rodríguez
7e038b67a5 Fix typo (#105547) 2025-05-16 09:23:55 -05:00
Yuri Tseretyan
f647faba5f Alerting: Prom Writer to handle 401 and 403 errors (#105498)
* handle 401 and 403 errors + try to extract information from underlying error.

---------

Signed-off-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2025-05-16 17:11:05 +03:00
Kevin Minehart
9e08471858 CI: Fix release-comms workflow (#104968)
* pass around github_token
2025-05-16 16:49:53 +03:00
Navid Mafi
77e1acaf3f docs: fix grammar on set-up-grafana-live.md (#105545) 2025-05-16 08:48:41 -05:00
Sergej-Vlasov
48948ef48c RowItemRenderer: Fix row jumping when entering edit mode (#105453)
fix row jumping when entering edit mode
2025-05-16 14:20:43 +01:00
Victor Marin
10628e8741 Dashboards: Refactor URL state preservation functionality when reloading on params change (#104780)
* move preserve to scenePage level, fix issues with restoring variables and failing to reload dd

* refactor and fix preserve/reload url state

* cleanup

* lint

* lint

* reference this PR in comment
2025-05-16 16:16:30 +03:00
kay delaney
73e973f5f6 Dashboards/E2E: Validate editing of dashboard title & description (#105473) 2025-05-16 13:32:07 +01:00
Ryan McKinley
d896f31c43 Dashboards: report valid folder count (#105484) 2025-05-16 14:51:04 +03:00
Jean-Philippe Quéméner
648e0bc660 fix(util): flaky debouncer test (#105541) 2025-05-16 13:47:09 +02:00
Andreas Christou
b886093fe6 Azure Monitor: Support request timeout configuration (#105487)
Support request timeout configuration
2025-05-16 11:53:13 +01:00
Sriram
fcb1e9c9e5 Postgres: Improve invalid port specifier error during health check (#105536)
normalize error message in postgres invalid port specifier error
2025-05-16 11:51:12 +01:00
Irene Rodríguez
778563223b Add link to form for Git Sync early acess (#105535)
Co-authored-by: Richard Hartmann <RichiH@users.noreply.github.com>
2025-05-16 10:45:53 +00:00
Ieva
aecfc576be RBAC: Mark some role fields as required for schema (#105328)
mark some role fields as required for schema
2025-05-16 13:09:01 +03:00
Peter Štibraný
1ffe653156 Revert change of order of checks when setting up resource DB (#105514)
* Revert change of order in newResourceDBProvider

* Ignore error in provisioningSecrets when working with wrong DB.

* Update workspace.

* Add owner.
2025-05-16 11:35:36 +03:00
Matheus Macabu
8dda9da035 Dependencies: Bump authlib to support service identity in claims (#105513) 2025-05-16 10:52:30 +03:00
Mihai Doarna
1099422050 Docs: Update the page on configuring SCIM with AzureAD (#105477)
* update the docs on configuring SCIM with AzureAD

* run prettier

* fix note block

* fix typo
2025-05-16 10:02:22 +03:00
Haris Rozajac
8cb9f0a36c Dashboard: Use metadata.generation for dash version in v1 (#105499) 2025-05-16 10:00:34 +03:00
Sven Grossmann
6343a9caf8 Extension Sidebar: Set max width to 2/3 of page width (#105497) 2025-05-16 08:31:20 +02:00
Jean-Philippe Quéméner
002f46736a refactor(unified-storage): move generated protos to own pkg (#105356) 2025-05-15 21:36:52 +02:00
Charandas
aa2cf8e398 Remove kube-aggregator from OSS (#103659)
* feat: remove kube-aggregator for OSS and provide injection points with runner iface

* upgrade authlib to support expiresIn

* new FT

* new FT again

* update go.mod

* get rid of the slice implementation

* reconcile conflicts

* gracefully handle enterprise not being linked situation with kubeAggregator FT true

* allow dataplane agg and kube agg to both be added to delegate chain

* make update-workspace

* address feedback

* revert go.mod changes

* go.mod updates

* elaborate on why and how of skipping the Ready channel handling

* after rebase and make run
2025-05-15 11:14:23 -07:00
Ashley Harrison
da36279312 Chore: Modify i18n-download action to work with mulitple sources (#105492)
modify i18n-download action to work with multiple sources
2025-05-15 17:12:39 +00:00
Dana Axinte
581d153604 SecretsManager: Introduce DecryptAuthorizer (#105459)
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
2025-05-15 17:52:14 +01:00
Mustafa Sencer Özcan
167b201525 fix(unified-storage): add pagination support for folder list (#105444) 2025-05-15 18:43:44 +02:00
Ashley Harrison
d4d1514ecb Internationalisation: Move some config to crowdin.yml to upload multiple files (#105480)
* move some config to crowdin.yml to upload multiple files

* explicitly add the type

* different dest for plugins

* better dest
2025-05-15 17:19:29 +01:00
Ryan McKinley
da24ad06bd Provisioning: Hide full path for classic provisioing resources (#105440) 2025-05-15 16:01:12 +00:00
Alex Spencer
0041c7e9b7 Table: Fix nested table bug (#105133)
chore: remove expandedKey index for key rerendering
2025-05-15 08:50:54 -07:00
David Harris
a32b379177 chore: correct links for jaeger data source (#105475)
* chore: correct links for jaeger data source

* Update plugin.json

* test fix attempt
2025-05-15 16:44:36 +01:00
Andres Martinez Gotor
b2387c1a31 Advisor: Allow to skip a step (#104454) 2025-05-15 16:58:45 +02:00
Ieva
6f1382a0c8 RBAC: Remove folder guardians part 1 (#104449)
* replace usage of folder guardians with access control evaluators

* remove NewByFolderUID guardian

* bring up to date

* fix test

* more test fixes, and don't fetch the folder before evaluating lib element access

* change what error is returned

* fix alerting test

* try to fix linter errors

* we don't assign general folder write permissions, reverting to the previous logic for general folders
2025-05-15 17:55:19 +03:00
Peter Štibraný
7d0f73058b api/admin: Reenable AdminApiReencrypt tests, fix enterprise version of the test. (#105462)
* Reenable tests. Fix access to "key" column when using mysql.
2025-05-15 16:25:30 +02:00
Alex Spencer
b77bf98890 ConvertFieldType: Update "join with" to work on array of strings (#105074)
* fix: update join with to work on array of strings

* chore: simplify

* chore: cleanup

* chore: add tests!

* fix: more robust check
2025-05-15 07:17:57 -07:00
Sonia Aguilar
f7cad3a2fe Alerting: Update docs rules bulk actions (#105442)
* enable pause/unpause bulk actions

* Update docs for pause/resume rules evaluations within a folder
2025-05-15 16:06:15 +02:00
Ashley Harrison
aa0842a1e7 Internationalisation: Mark up azure monitor plugin (#105262)
* start marking up azuremonitor

* more markup

* finish mark up

* add package and correct imports

* convert to functional component + use correct t import

* fix duplicate key + typo

* add extract config + fake french translations to test

* run prettier and fix unit tests

* use nx

* enable i18n lint rules for azure monitor

* remove fake french translations

* await initPluginTranslations

* top level await breaks unit tests

* leave as class component for now
2025-05-15 13:31:49 +00:00
Matheus Macabu
d7715c4220 Dependencies: Bump packages in modules with incorrect dependencies or outside of workspace (#105455)
* Dependencies: Bump github.com/getkin/kin-openapi from v0.131.0 to v0.132.0

* Dependencies: Bump github.com/openfga/openfga from v1.8.6 to v1.8.12

* Dependencies: Bump golang.org/x to latest
2025-05-15 13:09:49 +00:00
Simon Podlipsky
2d779373c4 chore(dx): constrain node.js to <23 (#105436) 2025-05-15 14:05:56 +01:00
Andres Martinez Gotor
76d4953879 Advisor: Include deprecated and filter by plugin slug (#105383) 2025-05-15 14:53:49 +02:00
Taewoo K.
634fa9a67d update logicmonitor logo (#105423) 2025-05-15 08:43:22 -04:00
Mariell Hoversholm
467b88eec5 Test: Make timeout 1ns to minimise flakiness (#105437) 2025-05-15 14:18:09 +02:00
Mustafa Sencer Özcan
a776556ae8 feat(unified-storage): build full path internally when getting folders (#105316) 2025-05-15 15:14:59 +03:00
Dominik Prokop
28d2ed495c Schema v2: Remove redundant util (#105382)
* Schema v2: Remove redundant util

* FIx lint
2025-05-15 14:00:25 +02:00
Dominik Prokop
30c2a11a06 Dashboards V2 API: Ignore conversion status when the /dto response is V2 spec (#105381)
* Dashboards V2 API: Ignore conversion status when the /dto response is V2 spec

* fix lint
2025-05-15 14:00:07 +02:00
Sergej-Vlasov
09bed3721d TabsLayoutManagerRendere: Fix custom grid not rendering inside a tab (#105452)
fix custom grid not rendering inside a tab
2025-05-15 12:58:32 +01:00
Peter Štibraný
ba111e612b Skip TestIntegration_AdminApiReencrypt. (#105454)
* Skip TestIntegration_AdminApiReencrypt and TestIntegration_AdminApiReencrypt_Enterprise.
2025-05-15 11:38:42 +00:00
Pepe Cano
bb04b9c55b docs(alerting): MissingSeriesEvalsToResolve and New Stale alert instances docs page (#105415)
* docs(alerting): New `Stale alert instances` docs page and document the `Missing series evaluations to resolve` option.

* update meta description
2025-05-15 13:36:59 +02:00
Igor Suleymanov
d75a930548 Update grafanactl installation instructions (#104616) 2025-05-15 08:54:32 +00:00
Dana Axinte
61ceaec0d6 SecretsManager: Move actor/auth filtering layer to rest storage (#105414)
Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
2025-05-15 09:48:16 +01:00
grafana-pr-automation[bot]
7e942c87c4 I18n: Download translations from Crowdin (#105430)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-15 09:26:56 +01:00
Natalia Bernarte Oses
1846f3ea60 update commands to inclue datapro labels (#105345) 2025-05-15 10:19:21 +02:00
Natalia Bernarte Oses
d7a410ddcb Update codeowners to include datapro (#105344)
update codeowners to include datapro
2025-05-15 10:18:16 +02:00
Peter Štibraný
7268d6c1bc admin api: Fix reencryption of private_key in signing_key table, introduce test for reencryption (#105010)
* Add integration test for reencrypting secrets.
Rotate keys before reencryption.
Test for setting table from enterprise repo.
2025-05-15 09:51:25 +02:00
Artur Wierzbicki
3b1008b7c9 Git Sync: wording around cloud availability (#105427) 2025-05-15 09:43:05 +02:00
Hugo Häggmark
119d5897ea i18n: imports use @grafana/i18n (#105177)
* i18n: everything should target @grafana/i18n

* wip

* chore: updates after PR feedback

* Trigger build

* Trigger build

* Trigger build

* chore: skip flaky tests

* chore: skip flaky tests

* chore: skip flaky tests

* chore: skip flaky tests

* chore: skip flaky tests

* chore: skip flaky tests

* chore: revert all flaky tests

* chore: some incorrect usages of useTranslate
2025-05-15 09:17:14 +02:00
Alexander Akhmetov
d8dd2facdd Alerting: Enable alertingMigrationUI feature flag by default (#105419) 2025-05-15 08:44:13 +02:00
Kevin Minehart
06e8b5a2f8 CI: Upload test result reports on PRs as well as pushes to protected branches (#105431)
Always upload test result report
2025-05-14 21:18:34 -05:00
Scott Lepper
3175a04f45 Dashboards: Edit Pane - Ad Hoc Filter Variables (#105304)
Dashboards: Edit Pane - Ad Hoc Filter Variables
2025-05-14 20:31:49 -04:00
Sarah Zinger
db828d0f00 DS-Querier: Add additional logs (#104841) 2025-05-14 15:07:08 -04:00
Haris Rozajac
6e3d8eb118 Dashboard Import: Support import for resources (#105127)
support import for resources
2025-05-14 12:41:51 -06:00
Tom Ratcliffe
16668b993f Alerting: Enable alerting eslint overrides for package (#104678) 2025-05-14 20:30:52 +02:00
Andreas Christou
404eff947c Azure: Update E2E image (#105420)
Update image and trigger build
2025-05-14 18:57:43 +01:00
Jack Baldry
39e7804557 Add comments explaining what pages the aliases redirect and fix broken aliases (#105408) 2025-05-14 19:45:35 +03:00
Sonia Aguilar
5beb0d626d Alerting: Enable pause and unpause bulk actions in the alert list view (#105363) 2025-05-14 17:56:28 +02:00
Pepe Cano
4ae91715df docs(alerting): Add two common examples in Learn section (#105325)
* docs(alerting): Add two common examples in `Learn` section

* Update docs/sources/alerting/learn/examples/multi-dimensional-alerts.md

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>

* Update docs/sources/alerting/learn/examples/multi-dimensional-alerts.md

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>

* mention `summary` annotation in multi-dimensional alerts example

* Remove note about alert grouping

* minor edits to section: `Differences with time series`

* minor grammar change

---------

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>
2025-05-14 17:10:32 +02:00
Lucy Chen
0c699d4a72 Bug: Fix Shared Dashboard hide header logo (#105348)
fix header
2025-05-14 11:01:08 -04:00
Kevin Minehart
db1f7d494c CI: Upload go unit test reports on pushes to main (#105280)
* generate junit reports in backend unit tests

* add quotes

* add my branch for testing

* Fix results file

* add missing quote

* remove my branch
2025-05-14 09:29:38 -05:00
Dana Axinte
8c64078965 SecretsManager: Keeper and secure value contracts, secretkeeper changes (#105379)
Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
2025-05-14 15:24:25 +01:00
Alex Khomenko
137639e0de Provisioning: Block resource edit operations (#104767) 2025-05-14 17:23:41 +03:00
Tom Ratcliffe
edfe690ea2 Chore: Move Mock API into separate package (#104644) 2025-05-14 16:50:34 +03:00
Irene Rodríguez
acbc7b54ed Fix broken links (#105341) 2025-05-14 17:26:46 +04:00
Mihai Doarna
039b1765a0 Docs: Update the guide on how to configure SCIM with okta (#105377)
* update docs on how to configure SCIM with okta

* fix enterprise link

* add introductory paragraph under "Configure provisioning settings"

This paragraph has been added to avoid stacked headings that break the flow of the documentation and hurt SEO

* split SCIM connector base URL config for cloud and onprem

---------

Co-authored-by: Irene Rodríguez <irene.rodriguez@grafana.com>
2025-05-14 16:13:49 +03:00
Matias Chomicki
815d17bd5c Logs: Fixed prettify JSON behavior with unescaped content (#105390)
* LogRowMessage: unescape after prettifying

* Add unit tests
2025-05-14 15:06:19 +02:00
Hugo Häggmark
d614d4f7d5 Chore: adds grafana/i18n to CODEOWNERS (#105360)
Chore: Update CODEOWNERS
2025-05-14 15:05:08 +02:00
Tobias Skarhed
9a98dfc826 Scopes: Fix highlighting of current active dashboard. (#105333)
* Do not match current link based on startsWith

* Add test and take query params into account

* Extract dashboard path handling

* Expand comment
2025-05-14 14:18:24 +02:00
Sonia Aguilar
550e60fe48 Alerting: Check permissions for showing create recording rules button (#105256) 2025-05-14 13:35:33 +02:00
Ryan McKinley
441fa18590 Chore: Update golang.org/x/ and do not omitempty Items (#105371)
* deps and omitempty Items

* update apis
2025-05-14 14:31:45 +03:00
Jack Westbrook
99c9a47a7a Chore: Bump plugin-e2e to latest (#104435)
* chore(e2e): update plugin-e2e to canary version for testing

* chore(e2e): bump playwright/test to 1.52.0

* empty commit

* chore: bump to major version

* Trigger build

---------

Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
2025-05-14 12:52:36 +02:00
Ryan McKinley
4da4482ec5 Provisioning: Avoid writing 1970 date (#104912) 2025-05-14 13:24:15 +03:00
Andreas Christou
e60ece3389 Graphite: Ensure template variables are interpolated correctly (#105354) 2025-05-14 11:14:54 +01:00
Ivan Ortega Alba
aa72d800a1 FilterByValueTransformer: Suggest variable regex formatter (#105272)
---------

Co-authored-by: Sam Jewell <sam.jewell@grafana.com>
2025-05-14 11:44:43 +02:00
Hugo Häggmark
a30b1c4bee i18n: Fix for translations from plugin settings (#105358) 2025-05-14 10:45:28 +02:00
Matheus Macabu
4b426238bd Dependencies: Bump github.com/openfga/openfga from v1.8.6 to v1.8.12 (#105193)
* Dependencies: Bump github.com/openfga/openfga from v1.8.6 to v1.8.12

* Linter: Replace x/exp/rand with math/rand/v2

* NGAlert: Fix test after linter fixes
2025-05-14 11:09:00 +03:00
Irene Rodríguez
ed4680495a fix broken links (#105343) 2025-05-14 10:06:31 +02:00
Pepe Cano
b53f68ea5e docs(alerting): Correct gotcha when using dynamic labels (#105347) 2025-05-14 10:00:30 +02:00
Mariell Hoversholm
e8482e166e Actions: Introduce a Trufflehog action (#105359) 2025-05-14 08:33:25 +02:00
Alex Khomenko
f18727b3c1 Grafana/ui: Add noMargin prop to Card and Field (#105223)
* Card: Add noMargin prop to remove the bottom margin

* Add noMargin to Field
2025-05-14 07:58:15 +03:00
Ryan McKinley
f0d6375b3b Codegen: format golang code from cue (#105352) 2025-05-14 06:56:27 +03:00
Johnny Kartheiser
a26d907dae docs: bulk delete alert rule group (#105087)
* docs: bulk delete alert rule group

first draft

* icon name fix

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

Co-authored-by: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>

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

Co-authored-by: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>

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

Co-authored-by: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>

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

Co-authored-by: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>

* prettier

* prettiest

---------

Co-authored-by: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>
2025-05-13 16:32:15 -05:00
Taewoo K.
2a3aa4bc12 add LogicMonitor datasource (#105200)
* add LogicMonitor datasource

* update plugin name

* import image

* update file name

* fix import order
2025-05-13 17:27:08 -04:00
kay delaney
3d5689cd07 Dashboards/E2E: Add tests for drag and drop (#105066) 2025-05-13 20:27:40 +01:00
Kyle Brandt
5e056c2a3f SQL Expressions: Add sql expression specific timeout and output limit (#104834)
Adds settings for SQL expressions:
 sql_expression_cell_output_limit

Set the maximum number of cells that can be returned from a SQL expression. Default is 100000.

sql_expression_timeout

The duration a SQL expression will run before being cancelled. The default is 10s.
2025-05-13 15:22:20 -04:00
beejeebus
02d977e1af InfluxDB: Fix variable interpolation on adhoc filters (#104931)
Grafana frontend code sends adhoc filters to the backend in both the
`tags` and `adhocFilters` params.

The values in `tags` have dashboard variables interpolated, while those
in `adhocFilters` don't. This PR updates the frontend code to
also interpolate variables into the `adhocFilters` param.

The duplicated values are left as they are in `tags`, in case some other
spooky code at a distance relies on that.
2025-05-13 15:06:11 -04:00
renovate[bot]
f44bd32698 Update dependency centrifuge to v5.3.5 (#105349)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-13 18:57:53 +00:00
renovate[bot]
2562f28cb1 Update dependency @reduxjs/toolkit to v2.8.1 (#105339)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-13 19:04:27 +01:00
renovate[bot]
2302c8ad6c Update dependency react-dropzone to v14.3.8 (#104854)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-13 15:54:08 +00:00
Dana Axinte
5158dce936 SecretsManager: Changes to specs as ref, description, system keeper (#105319)
* SecretsManager: Changes to specs as ref, description, system keeper

Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>
Co-authored-by: Dana Axinte <53751979+dana-axinte@users.noreply.github.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>

* SecretsManager: Changes to rest storage for spec ref, description, system keeper

Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>
Co-authored-by: Dana Axinte <53751979+dana-axinte@users.noreply.github.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>

* SecretsManager: Changes to rest storage for spec description

Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>
Co-authored-by: Dana Axinte <53751979+dana-axinte@users.noreply.github.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>

* SecretsManager: Changes to rest storage for spec description

Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>
Co-authored-by: Dana Axinte <53751979+dana-axinte@users.noreply.github.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>

---------

Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
2025-05-13 16:40:17 +01:00
Leon Sorokin
9d6ce37f68 Table: Avoid creating links in cells when data links have empty href (#103666)
* Table: Avoid creating links in cells when data links have empty href

* Copy logic to TableNG

* Do not add non-clickable links to context menu

* Don’t pass if undefined

* Add tests to cover datalink logic changes

* Trigger Build

---------

Co-authored-by: Kristina Durivage <kristina.durivage@grafana.com>
Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
2025-05-13 10:14:12 -05:00
Collin Fingar
56d67f9ffc GrafanaUI: Added Unit Tests to Components (#105302)
* GrafanaUI: Added Unit Tests to Components

* Updates per feedback / lint fix
2025-05-13 11:11:29 -04:00
Alexander Akhmetov
9fe523b9e6 Alerting: API to pause all alert rules in a folder (#104674) 2025-05-13 17:04:01 +02:00
Natalia Bernarte Oses
81d72bcfc7 Update tableNextGen stage (#105231)
* Update tableNextGen stage

Update tableNextGen toggle to public preview

* add missing comma

* added generated files
2025-05-13 17:00:29 +02:00
Tom Ratcliffe
1af3acf0c5 Chore: Fix prettier missing extensions files (#105321)
* Ignore locales files more generically

* Use `ignore-path` for prettier

If we don't specify this, it will use `.gitignore` as well, which will ignore enterprise files.

This means that the code in enterprise will drift and easily ends up with prettier issues
2025-05-13 13:34:24 +00:00
Mariell Hoversholm
cc7accf0e7 Actions: Add a workflow to add pr/external labels (#105326) 2025-05-13 15:00:01 +02:00
Sergej-Vlasov
012bfa29be Dashboards/E2E: Add tests for grouping and ungrouping into rows and tabs (#105315)
* add e2e for grouping into tabs and rows

* enable kubernetesDashboards feature toggle for e2e tests

* remove unnecessary kubernetesDashboard feature flag enablement
2025-05-13 13:58:09 +01:00
ismail simsek
7da1c9073e Prometheus: Mectircs browser refreshes metrics when series limit changes (#104101)
* refetch when series limit is changed

* when series limit is empty use the default series limit

* tests for timerange handling

* attempt to reduce the test file size

* remove ineffective memory tests

* update test

* clearer tests

* update help text

* update limit tooltip
2025-05-13 14:32:13 +02:00
Javier Ruiz
b79c8b2a94 Add width to select components to not span the whole width (#105323) 2025-05-13 12:59:46 +01:00
Santiago
6c3d89f390 Remote Alertmanager: Add timeouts to the HTTP client (#105279)
* Remote Alertmanage: Add timeouts to the HTTP client

* code review suggestions
2025-05-13 13:25:56 +02:00
Mariell Hoversholm
08c55b60ab Actions: Shard test suite (#105166) 2025-05-13 13:08:19 +02:00
Ariana
00749b27e4 Docs: Make role evaluation more transparent (#101377) 2025-05-13 10:09:24 +00:00
Ryan McKinley
8738bab8b2 Chore: Update grpc to v1.72.0 (#105311) 2025-05-13 12:49:42 +03:00
Alexander Akhmetov
29128f7ae4 Alerting: Copy alertmanager configuration before decrypting (#105271) 2025-05-13 11:46:17 +02:00
Josh Hunt
91d9cac157 FEMT: Call /bootdata and render grafana (#105176)
* rename /mtfe route to /femt to match project name

* set correct navTree JSON property name

* call GetWebAssets in the request handler to prevent stale assets during development

* Call /bootdata and render grafana

* set nonce on script

* write csp header in index handler

* write report-only csp as well

* debug stuff

* more debug logging

* move importing app into a seperate, async-loaded module

* Clean up comments

* make /femt redirect to / in the frontend

* remove console.log

* remove stale commented code

* call __grafana_load_failed if bootstrap fails

* comment for __grafana_boot_data_promise

* remove console.log

* remove blank newline

* codeowners
2025-05-13 09:58:46 +01:00
Torkel Ödegaard
621414ea6f RowsLayout: Fixes issue with custom grid not showing (#104640)
* RowsLayout: Fixes issue with custom grid not showing

* Update
2025-05-13 10:42:30 +02:00
Ida Štambuk
1e13f48172 Prometheus library: Replace data-test-id with data-testid (#105269)
Add data-testid
2025-05-13 10:38:26 +02:00
Ryan McKinley
8866f2cfc1 Provisioning: Split progress on \r (#105268) 2025-05-13 10:59:08 +03:00
Alexander Akhmetov
cf53100f1d Alerting: Mark grafanaManagedRecordingRulesDatasources feature toggle as generally available (#105226) 2025-05-13 09:54:43 +02:00
Roberto Jiménez Sánchez
047499a363 Provisioning: introduce concept of provisioning extras (#104981)
* Spike: Extras

* Attempt to wire it up

* Hack

* Fix issue with jobs

* Wire more things up

* Fix more wiring stuff

* Remove webhook secret key from main registration

* Move secret encryption also outside register

* Add TODOs in code

* Add more explanations

* Move connectors to different package

* Move pull request job into webhooks

* Separate registration

* Remove duplicate files

* Fix missing function

* Extract webhook repository logic out of the core github repository

* Use status patcher in webhook connector

* Fix change in go mod

* Change hooks signature

* Remove TODOs

* Remove Webhook methos from go-git

* Remove leftover

* Fix mistake in OpenAPI spec

* Fix some tests

* Fix some issues

* Fix linting
2025-05-13 09:50:43 +02:00
Gábor Farkas
98df41235d datasources: query-service url fix (#105178) 2025-05-13 09:36:20 +02:00
Ryan McKinley
242cb8edbd Dashboards: Use string for AnnoKeyDashboardIsSnapshot (#105306) 2025-05-13 10:09:34 +03:00
Victor Marin
c6428dfc74 Bump scenes and fix types (#105167)
* bump scenes and fix types

* bump scenes

* refactor

* refactor + test

* naming
2025-05-13 09:29:02 +03:00
Mariell Hoversholm
c92ff0ca75 Actions: Introduce actionlint (#105224) 2025-05-13 08:23:59 +02:00
Mariell Hoversholm
99273f15eb Actions: Reject GH secrets (#105289) 2025-05-13 08:13:28 +02:00
Mariell Hoversholm
65ac0ed3e9 Actions(pr-commands): use GITHUB_TOKEN (#105283) 2025-05-13 07:28:47 +02:00
grafana-pr-automation[bot]
c9b2ab3aff I18n: Download translations from Crowdin (#105305)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-13 03:33:44 +03:00
Alexander Akhmetov
50d1b2e786 Alerting: Document grafanaManagedRecordingRulesDatasources feature flag (#105227) 2025-05-12 23:34:06 +02:00
Alexander Akhmetov
c17b019ab1 Alerting: Support simplified routing receivers in Prometheus conversion API (#105135)
Adds ability to set notifications settings using the Prometheus conversion API.

The API now supports a new optional header: X-Grafana-Alerting-Notification-Settings which can be used to specify notification settings.

The value of the header is the AlertRuleNotificationSettings structure in JSON:
mimirtool rules load alerts.yaml --extra-headers 'X-Grafana-Alerting-Notification-Settings: {"receiver": "my-webhook", "group_by": ["cluster", "pod"]}'
2025-05-12 22:07:02 +02:00
Alexander Akhmetov
e965b85e19 Alerting: Fix link in the migration docs (#105295) 2025-05-12 14:59:27 -05:00
Artur Wierzbicki
9c2f7212f7 Git Sync: remove grafanaAPIServerEnsureKubectlAccess from required toggles (#105296)
remove grafanaAPIServerEnsureKubectlAccess
2025-05-12 17:44:12 +00:00
Tom Ratcliffe
54f6c4ffba Grafana-UI: Fix storybook icons (#105276) 2025-05-12 19:47:28 +03:00
Pepe Cano
20d48674fc docs(alerting): clarify types of query data and tabular data example (#105168) 2025-05-12 17:59:52 +02:00
Haris Rozajac
82f0a58490 Dashboard: Improve diffing by handling the Infinity value (#105037)
* convert infinity values to 0

* convert infinity in V1 transformer

* update test
2025-05-12 08:06:02 -06:00
Gilles De Mey
cc4d151487 Alerting: Set folder permissions to "view" for nested folder selectors (#105258)
set folder permissions to "view"

alerts are allowed to be created in folders where the user only has the
"read" permission, "write" permissions is not required and is only used
to allow creating new folders.
2025-05-12 15:59:30 +02:00
Alexander Akhmetov
a643abd92a Alerting: Fix mentions of Prometheus in the import data source alerts documentation (#105234) 2025-05-12 15:49:59 +02:00
AlecIsaacson
b7ca728578 Update set-up-for-high-availability.md (#105270) 2025-05-12 13:13:23 +00:00
Juan Cabanas
c8231c7ee9 Reporting: Remove reportingApi skeleton (#105201) 2025-05-12 10:05:32 -03:00
Matheus Macabu
afc0fd39ac Dependencies: Unpin and bump github.com/getkin/kin-openapi from v0.126.0 to v0.132.0 (#105185) 2025-05-12 14:59:51 +02:00
Mariell Hoversholm
0a83cccc11 Coverage: Remove codecov collection (#105264) 2025-05-12 14:59:25 +02:00
Scott Lepper
b2a6174b2c Dashboard edit pane interval variable (#105202)
* add interval variable
* remove label from query variable button
2025-05-12 08:45:24 -04:00
Santiago
15be9861d0 Remote Alertmanager: Remove code for remote only mode (#105184) 2025-05-12 14:25:43 +02:00
Torkel Ödegaard
e8b9f0ecf6 RowsLayout: Remove unused code / logic (#104759) 2025-05-12 14:16:25 +02:00
Robby Milo
84c354c3bb Update whats-new posts (#105242)
update whats-new posts
2025-05-12 12:08:00 +00:00
Santiago
b434925adc Remote Alertmanager: Add tracing to the HTTP client used for POSTing alerts and the readiness check (#105235) 2025-05-12 14:57:42 +03:00
Irene Rodríguez
3a601e0a3d Fix broken links (#105250)
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2025-05-12 14:49:48 +03:00
Sven Grossmann
46f437db06 Extension Sidebar: Change aiassistant-app to assistant-app (#105239) 2025-05-12 14:23:32 +03:00
Tito Lins
638972c787 Alerting: fix tests (#105240) 2025-05-12 14:00:12 +03:00
Alex Khomenko
a9b6d098e9 Chore: Add eslint no-restricted-globals rule (#104519)
* Chore: Add no-restricted-globals eslint rule

* Fix eslint warnings

* Revert some changes

* Update

* Feedback
2025-05-12 12:38:26 +03:00
Tom Ratcliffe
8f17f607fa FEMT: Add no-restricted-img-srcs rule (#105006) 2025-05-12 10:34:17 +01:00
Torkel Ödegaard
56cfeb8616 TabsLayout: Fixes issue with fill screen rows or auto grids (#104669) 2025-05-12 10:43:43 +02:00
Santiago
51d7aa2bef Remote Alertmanager: Configure SMTP From address (#104925)
* Remote Alertmanager: Configure SMTP From address

* include smtp from address in config comparison

* updte tests

* trigger build

* make linter happy

* trigger build

* fix test
2025-05-12 10:37:27 +02:00
Santiago
7edace5e88 Remote Alertmanager: Remove comparison before sending the state (#104930)
* Remote Alertmanager: Remove comparison before sending the state

* fix test

* fix test
2025-05-12 10:34:06 +02:00
Ben McCain
539b7f0d72 Documentation: Typo Correction to fix feature toggle (#105203) 2025-05-12 10:23:50 +02:00
Andres Martinez Gotor
0d4884cb3b Advisor: Avoid one GCOM request per plugin (#105180) 2025-05-12 09:45:56 +02:00
Mustafa Sencer Özcan
cb28213f1d chore(unified-storage): add dual writer metric to track instance modes (#105144) 2025-05-12 09:18:06 +02:00
Ryan McKinley
719b5fe9cc Dashboards: Remove numeric folder id from annotation metadata (#105225) 2025-05-12 10:11:55 +03:00
Georges Chaudy
e162c69c34 search: fix document missing at startup (#105198)
* fix document missing at startup

* go-lint

* fix tests

* fix tests

* fix integration tests now that we are storing real values
2025-05-12 07:56:25 +02:00
Artur Wierzbicki
d91e4b0582 Live: bump centrifuge (#105214)
* bump centrifuge

* make update-workspace
2025-05-11 22:50:31 +04:00
grafana-pr-automation[bot]
e9b5492124 I18n: Download translations from Crowdin (#105207)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-10 03:31:24 +03:00
Artur Wierzbicki
9f4d489d7b Feature flags: fix ownership for some flags (#104864)
* fixup flag ownership

* regen

* readd backend group

* individualCookiePreferences back to backend

* test fix
2025-05-10 02:02:16 +03:00
Juan Cabanas
c2a54cd997 Reporting: Add tags in reportApi (#105142) 2025-05-09 16:13:36 -03:00
Pepe Cano
a1b1de584c docs(alerting): fix broken links due to using shared md files (#105195)
* docs(alerting): fix broken links due to using shared md files

* fix prettier errors

* fix aliased links
2025-05-09 21:03:38 +02:00
Kyle Brandt
6a6ba723a9 SQL Expressions: Add internal GMS traces (#104836)
get trace from inside GMS
2025-05-09 14:48:47 -04:00
Drew Slobodnjak
feb1ac5ba7 Geomap: Fix marker layer for line string features (#103937)
* Geomap: Fix marker layer for line string features

* Update layer stack to handle line strings
2025-05-09 21:20:14 +03:00
xiyu95
4067341544 chore: add variant prop to Counter (#105141)
* chore: add className prop to counter

* chore: make className optional

* chore: wrap in cx

* chore: add variant to counter

* chore: run prettier fix
2025-05-09 10:47:50 -07:00
beejeebus
8f79e4882f Replace usage of http.DefaultClient and http.DefaultTransport (#104135)
Remove usage of http.DefaultClient and http.DefaultTransport

Part of grafana/data-sources#484
2025-05-09 13:26:39 -04:00
beejeebus
8f4b2bbece InfluxDB: Fix regex for finding regexes in frontend code (#105194)
When interpolating variables in the frontend, we want to be sure to
escape special characters if the variable is used in a regex.

We used a regex to find regexes in raw queries, which contained a bug.
The regex treated any `/` character as the start of a regex. However,
InfluxQL (and most sql dialects) support using `/` as a division
operator.

This PR adds a check for `=~` or `!~` immediately preceding `/` as the
beginning of a regex, as per the InfluxQL spec for regexes:

https://docs.influxdata.com/influxdb/v2/reference/syntax/influxql/spec/#regular-expressions

Fixes https://github.com/grafana/support-escalations/issues/16219
2025-05-09 13:04:53 -04:00
cristian-caloghera
0e7e0b5f29 Prometheus: Add example field for setting the scrape interval in provisioning docs (#105186)
provision Prometheus: added example field how to set the scrape interval

When using Prometheus as a datasource Grafana can optionally know the scrape interval of Prometheus. In the GUI it is easy to spot, however when provisioning the datasource the example was lacking this information.

This commit adds this missing field as an example.
2025-05-09 18:48:35 +02:00
Collin Fingar
6ebf49a383 QueryLibrary: Added IsVisibility property to Query data (#104579)
* QueryLibrary: Added IsVisibility property to Query data

* Added asserts for unit test

* generated openapi changes
2025-05-09 12:46:19 -04:00
Tom Ratcliffe
e2cb3e74f3 Chore: Apply testing-library rules to grafana-ui package tests (#105140)
* Apply testing-library rules to grafana-ui package tests

* Apply auto fixes

* Fix eslint test issues in grafana-ui package

* Fix prettier issues

* Address review feedback
2025-05-09 17:45:33 +01:00
Matthew Jacobson
5795ba34f9 Alerting: Update grafana/alerting from de176b4a0309 to 83b6de6b0a35 (#105157)
* Update grafana alerting from de176b4a0309 to 83b6de6b0a35

Includes:
- https://github.com/grafana/alerting/pull/319
- https://github.com/grafana/alerting/pull/317

* Remove unused SendWebhook method from sender struct

grafana/alerting hasn't used the grafana webhook sender for a while now,
so this method is no longer used anywhere.

- Removed SendWebhook from the sender struct and rename it to emailSender
so that its use is clearer.
- Also, for similar reasons, the Webhook method on Grafana's
webhook sender `sendWebRequestSync` should not call grafana/alerting code for
NewTLSClient. The previous grafana/alerting function is vendored into grafana.

* Use BuildReceiverIntegrations new func signature
2025-05-09 12:26:20 -04:00
Nick Moore
5e6c926b9c Build: Update codeql to scan Actions (#105136)
Modifies the repository's codeql configuration to include GitHub Actions in its scanning
2025-05-09 16:15:58 +01:00
Konrad Lalik
13ebcf1d2c Alerting: Optimize rules fetching on the folder's rules tab (#104777)
* Mark labels and annotations as optional in Grafana ruler DTO

* Refactor AlertsFolderView to use folder-specific endpoint for rules loading

* Improve tests for BrowserFolderAlertingPage

* Update translations

* Revert go changes

* update gen files

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2025-05-09 16:20:45 +02:00
Scott Lepper
a687c4a757 Dashboard: Edit pane - Query variable editor (#105038)
* query variable editor
* add regex, sort, refresh
* make the label and spacing consistent
* add test for changing datasource
* make the preview label consistent with all labels on the editor
2025-05-09 10:06:15 -04:00
Hugo Kiyodi Oshiro
43748e43bb Plugins: Add plugins auto update feature (#104112) 2025-05-09 15:58:04 +02:00
Alexander Akhmetov
42028a1b03 docs(alerting): Add a note about sequential evaluation (#104224)
* docs(alerting): Add a note about sequential evaluation

* Update docs
2025-05-09 15:43:17 +02:00
Georges Chaudy
15b3de5893 search: add index batching (#104163)
* add basic search backend integration tests

* add search backend benchmark

* add benchmark indexServer

* fix

* lint

* add more tests

* lint

* do not use the poller

* batch write

* refactor and add tests

* improvements

* improvements

* cleanup

* only observe index success

* add monitorIndexEvents method

* nit use switch instead of if

* make newIndexQueueProcessor private

* simplify runProcessor

* go lint
2025-05-09 15:36:21 +02:00
Sonia Aguilar
0ceea29787 Alerting: Remove alertingSimplifiedRouting feature toggle (#104980)
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2025-05-09 16:30:56 +03:00
Josh Hunt
7345ba35a1 TimeZonePicker: Replace underscores with space (#104891)
* TimeZonePicker: Replace underscores with space

* add name to search

* update e2e test
2025-05-09 13:58:16 +01:00
maicon
82bbbf1a98 Run Init Provisioners at Server Initialization (#105080)
* Run Init Provisioners at Server Initialization

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-05-09 09:21:36 -03:00
Andres Martinez Gotor
8ef8185379 Advisor: Ensure User-Agent header is set for checks (#105122) 2025-05-09 13:57:17 +02:00
Alex Khomenko
0978ec5e91 Chore: Skip flakey loki query editor e2e test (#105170) 2025-05-09 13:33:27 +03:00
Pepe Cano
8c8cc31746 docs(alerting): No Data/Error state enhancements (#105100)
* docs(alerting): `No Data/Error` state enhancements

* fix `behavior`(american english)
2025-05-09 12:01:37 +02:00
Jack Westbrook
a3cd68d47f Plugins: Fix unauthorized message on login screen (#105053)
fix(plugins): hide error alert for unauthed users
2025-05-09 09:05:07 +02:00
Hugo Häggmark
902658ef89 Plugins: updates plugin schema descriptions (#105160) 2025-05-09 05:56:37 +00:00
Hugo Häggmark
8a2af6166c i18n: adds @grafana/i18n package (#104603)
* i18n: adds grafana/i18n

* Trigger build

* chore: fix frontend lint

* chore: refactor

* chore: refactor

* chore: expose getI18nInstance in shared deps

* chore: refactors away second init

* Trigger build

* chore: updates after PR feedback

* chore: sync with enterprise

* chore: adds shouldUnescape

* Trigger build

* chore: makes functions internal

* Trigger build

* chore: fix for Pseudo locale

* chore: bumps package version

* chore: fix the version of i18n package
2025-05-09 05:45:20 +02:00
grafana-pr-automation[bot]
fcd0e56850 I18n: Download translations from Crowdin (#105158)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-09 03:32:10 +03:00
Fayzal Ghantiwala
0c47d96195 Alerting: Add debug log for alert timestamps before sending to external Alertmanager (#105156)
Add debug log for alert with timestamps
2025-05-09 01:25:05 +03:00
AlecIsaacson
f648590b74 Update set-up-for-high-availability.md (#105139)
Co-authored-by: Jacob Valdez <jacob.valdez@grafana.com>
2025-05-08 15:03:10 -05:00
Santiago
57640e40a2 Remote Alertmanager: Consider auto-gen routes when flagging a config as "default" (#105120)
* Remote Alertmanager: Consider auto-gen routes when flagging a config as 'default'

* remove always-nil error from isDefaultConfiguration

* remove unnecessary context.Background() in test

* pass orgID to autogenFn call during AM creation

* fix test

* make update-workspace
2025-05-08 21:04:30 +02:00
Matias Chomicki
d5235f52c5 LogListControls: make tooltip more obvious (#105138)
* LogListControls: make tooltip more obvious

* Update test
2025-05-08 20:30:19 +02:00
colin-stuart
a5708105df SCIM: validate external UID (#105046)
* SCIM: validate externalUID

* better tests

* add additional test cases

* add externalID as field in fromUserToUserSchema

* fix test case
2025-05-08 13:59:55 -04:00
Tom Ratcliffe
1716696175 Chore: Improve how mock API is enabled/disabled (#104675) 2025-05-08 20:03:51 +03:00
Drew Slobodnjak
3dc5742a75 Geomap: Add variable support for GeoJSON url (#104587)
* Geomap: Add variable support for GeoJSON url

* Add a check for variable dependency

* Add tests for hasVariableDependencies function

* Update docs

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

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

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2025-05-08 09:17:03 -07:00
Ashley Harrison
a049ddece7 Chore: Clean up completed tasks in CrowdIn (#105118)
* clean up tasks as part of action

* split into separate files/steps

* remove unnecessary comment

* update CODEOWNERS
2025-05-08 17:12:28 +01:00
Isabel Matwawana
543ebd27bf Docs: Fix broken links (#105131) 2025-05-08 15:36:08 +00:00
Matheus Macabu
fe9e96507a Chore: Run make update-workspace (#105126) 2025-05-08 18:30:20 +03:00
Josh Hunt
ded1aacdb6 Auth: Translate Auth provider form fields (#105059)
* first pass at translating all of auth config

* rename variables

* translate missing phrases

* add more
2025-05-08 15:42:30 +01:00
Ezequiel Victorero
310b234fbc Reporting: Update filter and docs to get reports by dashboard (#104560) 2025-05-08 11:35:43 -03:00
Tom Ratcliffe
eb57fb427d Chore: Attempt to fix flaky clipboard button test (#105105) 2025-05-08 17:35:01 +03:00
Konrad Lalik
620260fabc Alerting: Fix alert list V2 preview toggle (#105062)
* Use custom storage for previewing alerting features configuration

* Fix tests, add localStorage mock

* Use store singleton
2025-05-08 16:23:45 +02:00
Gilles De Mey
53b4112abe Alerting: Add versioning to the API client (#104944) 2025-05-08 16:17:28 +02:00
Collin Fingar
682943ed1a GrafanaUI: Added Unit Tests to Components (#105083)
* GrafanaUI: Added Unit Tests to Components

* Fixed typo
2025-05-08 09:53:11 -04:00
Matheus Macabu
9fb20efea9 Chore: Bump Go version to 1.24.3 (#105098) 2025-05-08 15:28:03 +02:00
Ashley Harrison
c1e408e3aa Combobox: Don't render a 0 in the input suffix when the value is 0 (#105107)
* don't render a 0 in the input suffix when the value is 0

* remove .only

* update unit test
2025-05-08 16:19:41 +03:00
keerthanamsys
e14c17ef69 TimeZonePicker: Fix incorrect country mapping for Asia/Singapore timezone (#105061)
* Fix incorrect country for Asia/Singapore timezone

* Add test

* link to gh issue

* skip test

---------

Co-authored-by: joshhunt <josh.hunt@grafana.com>
2025-05-08 14:16:18 +01:00
Ashley Harrison
0acfa001fd Profile page: Add horizontal scroll for teams table (#105111)
add horizontal scroll for teams table
2025-05-08 14:10:06 +01:00
Ashley Harrison
f0216431af TimePicker: Change timepicker calendar to use the correct background token (#105108)
change timepicker calendar to use the correct background token
2025-05-08 13:59:44 +01:00
Gilles De Mey
c78ae5cb76 Alerting: Move alerting codegen to --grouping=group (#105068) 2025-05-08 12:59:33 +00:00
ismail simsek
9156149960 Prometheus: Move to new annotation support as the old one is deprecated (#104578)
* remove deprecated annotation support and introduce the new one

* create annotations.test.ts

* convert the old annotations to new format

* don't override query if it has necessary fields

* a better implementation

* remove comment

* fix

* fix react errors

* unit tests for annotation query editor

* two more tests
2025-05-08 13:32:42 +02:00
Peter Štibraný
7042e73343 pkg/promlib: Fix go.mod (#105095)
make update-workspace
2025-05-08 12:18:32 +02:00
Josh Hunt
d91ff0b018 Admin: Rename White labeling to Custom branding (#104874)
* Admin: Rename White labeling to Custom branding

* c
2025-05-08 13:03:42 +03:00
a3exodus
36987338ea docs: Add missing RBAC Action Definitions Synthetic Monitoring (#102852)
* docs: RBAC permissions action definitions synthetic monitoring

* Prettier

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>
Co-authored-by: Irene Rodríguez <irene.rodriguez@grafana.com>
2025-05-08 10:28:00 +01:00
grafana-pr-automation[bot]
b215f5bf08 I18n: Download translations from Crowdin (#105089)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-08 09:12:45 +00:00
Andres Martinez Gotor
60670003b1 Advisor: Reduce and spread load (#105012) 2025-05-08 11:04:30 +02:00
Misi
1254fb9b68 Advisor: Return array of CheckReportFailures from checks (#104958)
* Return array from Run

* Change NewCheckReportFailure signature
2025-05-08 10:42:38 +02:00
Esteban Beltran
e88b3383bf Docs: Add page for customization plugin pages in the navigation bar (#105051)
* Docs: Add page for customization plugin pages in the navigation bar

Co-authored-by: Irene Rodriguez <irene.rodriguez@grafana.com>
2025-05-08 08:35:36 +00:00
Giuseppe Guerra
f8f21a08d6 Plugins repo: Ensure normalized versions are used to select compatible plugin versions (#105065) 2025-05-08 10:05:44 +02:00
Yuri Tseretyan
3e2296acd3 Alerting: Support for active time intervals in notification policies (#104252)
* add active_time_intervals to route model

* update k8s compat layer

* update notification policies service to validate active time intervals

* update integration tests

* update openapi

* add active time interval to model

* update route generator to include active time interval

* Update storage list and rename methods to handle active intervals

* update api model

* update provisioning and export models

* update ui to allow active timing config

* update i18n

* fix snapshots for ui tests

* run prettier

* Alerting: Active time intervals UI naming (#104402)

* update naming in UI

* update naming in the edit page title

* update translations

* update alerting module

---------

Signed-off-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
Co-authored-by: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>
Co-authored-by: Sonia Aguilar <soniaaguilarpeiron@gmail.com>
2025-05-07 19:19:33 -04:00
Jacob Valdez
a8dee54aa4 Docs: Adding what's new entry for Logs Drilldown JSON table viewer (#105085) 2025-05-07 21:35:58 +00:00
Artur Wierzbicki
38a298a502 Backend: doc explaining the shift to K8s-inspired architecture (#104385)
* draft docs

* Update contribute/architecture/k8s-inspired-backend-arch.md

* review

* https explanatino

* review

* review

* link to storage interface

* make prettier happy
2025-05-07 23:33:39 +03:00
Collin Fingar
aba4621344 Grafana UI: Adding Some Unit Tests (#104804)
* Grafana UI: Adding Some Unit Tests

* updates per feedback

* Updates per feedback
2025-05-07 15:32:43 -04:00
Artur Wierzbicki
c781b0922e Live: logging fix (#105054)
logg fix
2025-05-07 22:16:16 +04:00
Yusuf Ali Koyuncu
8b2e0d80d0 chore: add unit tests for admission handler (#104650)
* refactor: remove unused code in the function

* test: add unit tests for admission handler

* Revert "refactor: remove unused code in the function"

This reverts commit b8f48dbdbf.

* revert: added again due to incorrectly made test scenario

* test: add unit tests for admission handler
2025-05-07 20:06:54 +02:00
Jacob Valdez
8a94376c8e Docs: fixing weights of upgrade guide (#105070) 2025-05-07 11:07:29 -05:00
Sergej-Vlasov
d095cb4e04 AutoGridLayoutManager: Preserve variableName when switching between auto and custom grids (#104856)
preserve variableName when switching between auto and custom grids
2025-05-07 16:07:39 +01:00
Ashley Harrison
2a02fd7239 Chore: run i18n lint rules in enterprise as well (#105064)
run i18n lint rules in enterprise as well
2025-05-07 15:47:35 +01:00
Tom Ratcliffe
6f3200d4f0 Re-enable jsx-a11y recommended rules (#104637)
* Re-enable `jsx-a11y` recommended rules

* apply rule in correct place, couple of fixes

* fix up some a11y issues

* add ignore for keyboard a11y for now

* readd testid

* close carousel on backdrop click

* use type="button"

---------

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-05-07 15:43:48 +01:00
Sergej-Vlasov
60ea65ca69 DashboardNewLayouts: Add e2e workflow for dashboardNewLayouts (#104995)
* rename dashboard new layouts e2e path for clarity

* add workflow for dashboardNewLayouts e2e

* adjust workflow error

* remove forced fail from workflow

* formatting
2025-05-07 15:27:53 +01:00
Fahad Siddiqui
750b90e756 chore: Deprecate Layout components - Replace Horizontal/VerticalGroup with Stack (#86874) (#104227)
* chore: Deprecate Layout components - Replace Horizontal/VerticalGroup with Stack (#86874)

* chore: Deprecate Layout components - Replace Horizontal/VerticalGroup with Stack (#86874)

* Update public/app/features/explore/TraceView/components/TracePageHeader/SpanFilters/SpanFilters.tsx

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>

* Update public/app/features/explore/TraceView/components/TracePageHeader/SpanFilters/SpanFilters.tsx

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>

* Update public/app/plugins/datasource/jaeger/components/QueryEditor.tsx

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>

* Update public/app/features/explore/TraceView/components/TracePageHeader/SpanFilters/SpanFilters.tsx

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>

* Update public/app/plugins/datasource/tempo/QueryField.tsx

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>

* Update public/app/plugins/datasource/tempo/SearchTraceQLEditor/DurationInput.tsx

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>

* Update public/app/plugins/panel/nodeGraph/ViewControls.tsx

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>

* Update public/app/plugins/datasource/tempo/SearchTraceQLEditor/SearchField.tsx

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>

* Update public/app/plugins/datasource/tempo/SearchTraceQLEditor/TraceQLSearch.tsx

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>

* Update public/app/plugins/panel/nodeGraph/ViewControls.tsx

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>

* Update public/app/plugins/datasource/zipkin/QueryField.tsx

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>

* Fixed linting issue - spacing problem in different import groups.

* Updated betterer results with improved 1 test.

---------

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2025-05-07 17:14:10 +03:00
colin-stuart
d05b2862b6 SCIM: update docs with externalId field & correct endpoint (#105026)
* SCIM: update docs with externalId field

* better phrasing

* vale warning fix

* explain where mapping is configured

* clarify assertion_attribute_login

* better phrasing

* even better explanation

* remove confusing step

* remove confusing line

* linter fixes

* improve Integrating with SCIM Provisioning section

* bigger warning about scim/saml unique identifier mismatch

* lint

* vale fixes

* Add Integrating with SCIM Provisioning part

---------

Co-authored-by: Vardan Torosyan <vardants@gmail.com>
2025-05-07 09:45:11 -04:00
Cory Forseth
9c5e34f513 Authorization: Fix filtered role display (#104953)
* handle null or empty group and displayName properties on roles

* fix display name bug for fixed roles with a period
2025-05-07 16:35:50 +03:00
Adam Yeats
eb240aaa3c Elasticsearch: Update CODEOWNERS for Elasticsearch datasource (#104859)
Update CODEOWNERS for Elasticsearch datasource
2025-05-07 15:34:07 +03:00
Gabriel MABILLE
6b588f4c93 Migrations: Make sure users uid are set (#104996)
* Migrations: Make sure default admin has a uid

* Account for all users not only id 1

* Add spanner

* Wrong migration to add spanner

* Fix spanner mig
2025-05-07 13:40:32 +02:00
kay delaney
343ab96030 Dashboards/E2E: Add tests for removing panel(s) (#104998)
* Dashboards/E2E: Add tests for removing panel(s)
2025-05-07 14:31:53 +03:00
Tom Ratcliffe
ec478138a5 Chore: Fix import/ordering for image imports (#105055) 2025-05-07 13:41:56 +03:00
Gilles De Mey
125200c566 Remove double spinner (#105057) 2025-05-07 12:29:14 +02:00
Alexa V
c594faa64e Dashboard: Fix Panel Explore link subpath duplication (#104952)
* Stop appending subpath in onNavigateToExplore function old-arch
* we are using assureBaseUrl inside getExploreUrl function

* adjust test to ensure subPath is not added to the url

* fix linting
2025-05-07 11:29:37 +02:00
Konrad Lalik
e3d9c5d33e Alerting: Add support for unknown rule state (#105052)
Add support for unknown rule state
2025-05-07 11:25:44 +02:00
Sonia Aguilar
277d271476 Alerting: Add delete bulk action in the alert list view (#104611)
* Add pause/unpause bulk actions button in the alert list view

* add delete bulk action

* Add tracking and refactor FolderActionMenuItem

* update translations and text

* update text

* add finally

* use ability for delete action

* don't show bulk actions if no action is allowed

* invalidate tags for delete action

* revert invalidating and redirect to list page instead

* redirect when pausing/unpausing

* add pause/unpause endpoints

* add translations

* add folder name in delete modal

* address pr review

* disable pause/unpause

* update redirect

* remove unnecessary prop

* rename FolderActionMenuItem component to PauseUnpauseActionMenuItem

* address review comments

* fetch rules before redirecting in list view 1

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
Co-authored-by: Mariell Hoversholm <mariell.hoversholm@grafana.com>
2025-05-07 11:25:31 +02:00
Hugo Häggmark
3c904c701d Docs: Updates plugin.schema.json (#105047) 2025-05-07 11:10:16 +02:00
Sonia Aguilar
16005af4b7 Alerting: Add skipSubpath option when redirecting to details view page (#104994)
add skipSubpath option when redirecting to details view page
2025-05-07 10:39:00 +02:00
Gareth Dawson
977e923555 Jaeger: Migrate "search" query type to backend (#103399)
* jaeger backend migration

* move processing to JaegerClient.Search

* fix upload query error source type

* suggestions

* lint

* fix link to traceid query

* fix tests

* fix tests

* use consistent types

* add tests for TransformSearchResponse fn

* test search function

* fix filtering using tags

* suggestion

* remove unnecessary arguments

* use logfmt parser for tags

* test

* test

* use logfmt for query tags

* update

* go fmt

* run backend for all queryTypes

* run make update-workspace

* assign owner to logfmt pkg in go.mod

* apply suggestions

* update tests

* trigger workflows?
2025-05-07 09:34:04 +01:00
Tobias Skarhed
a4efb73774 Betterer: Add eslint rule for non-direct usage of localStorage (#104919)
* Add eslint betterer rule for non-direct usage of localStorage

* Fix linting
2025-05-07 10:28:32 +02:00
grafana-pr-automation[bot]
ce89900be4 I18n: Download translations from Crowdin (#105045)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-07 08:16:25 +00:00
Vardan Torosyan
08d7e75b5c Docs: SAML docs refactoring (#103450)
* Docs: SAML docs refactoring

* Cleanup the root page

* Update the root file

* Refactor Azure AD guide

* Change the order of the tree

* Remove the index file again, back from main

* SAML UI page review and editing

* Review and edit SAML config options page

* SAML signing and encryption edit/review

* Remaining pages and aliases

* Fix PR comments

* More fixes

* Update _index.md

* Update _index.md

* Update _index.md

* Apply suggestions from code review

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

* Handle PR comments

---------

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
2025-05-07 10:07:57 +02:00
Tom Ratcliffe
67214c0a56 Alerting: Tidy up some leftover logic from pre-alertingApiServer (#104776) 2025-05-07 10:32:23 +03:00
Tito Lins
a7fe77cdbf grafana-ruler: add new alert query fields (#104933) 2025-05-07 09:30:34 +02:00
Taylor C
8d0d48f2a8 DocsMetricsDrilldown: Removes outdated Metrics Drilldown content (#104972)
docs: Removes outdated Metrics Drilldown
2025-05-06 16:58:08 -07:00
Matias Chomicki
441e45d88a New Logs Panel: Handle long lines (#103171)
* LogLine: introduce truncation limit

* Processing: turn LogListModel into a class

* LogLine: introduce collapsed/expanded state and read from model

* Virtualization: correct extra line for controls in size

* LogLine: fix collapsed state initialization

* Add new criteria to define long lines to truncate

* Virtualization: better truncation limit

* Check collapsed state based on container size

* Update function name

* Extract translations

* LogLine: update unit test

* virtualization: add unit test

* processing: update unit test

* Fix focused test

* processing: process fields on demand

* Logs: consider loading state from explore

* LogList: improve resize and recalculation

* chore: build?
2025-05-07 01:26:54 +03:00
Jacob Valdez
9f3e894b8e Docs: updating video shortcode in what's new post (#105039) 2025-05-06 17:02:47 -05:00
Alex Spencer
2c1851e8c8 TableNG: Filter and sort sub tables (#104327)
* feat: filter and sort sub tables

* chore: extract row processing into it's own function for filtering and sorting

---------

Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
2025-05-06 15:45:26 -06:00
Serge Zaitsev
bf918976b2 Chore: Add snowflake xorm tag (#104300)
* add tag handler for snowflake ids

* add snowflake generator

* fill snowflake id back to the bean

* table driven test, mockable snowflake generator

* use math/rand/v2

* snowflake without time.sleep

* more explicit bitwise modulo

* rename snowflake to randomid
2025-05-06 21:12:11 +02:00
Kevin Minehart
1877b671cb CI: use push event instead of pull_request_target in pr-patch-check.yml (#105011)
* use push event instead of pull_request_target

* pull request sha -> push sha

* remove PR specific stuff from pr-patch-check

* use my branch for testing

* use main now that it's working
2025-05-06 19:04:49 +00:00
Ed Welch
8379a7b441 Loki: re-add loki stream option for expiremental loki-live mode (#104928)
re-add loki stream option for expiremental loki-live mode
2025-05-06 11:37:55 -07:00
Galen Kistler
afbf312152 Logs: Fix table panel not rendering on initial load in Explore (#105023)
fix: table panel on initial load
2025-05-06 12:42:33 -05:00
Scott Lepper
68c513e190 Dashboard edit pane E2E - add constant variable test (#104877)
Dashboard edit pane - add constant variable test
2025-05-06 13:12:57 -04:00
Fayzal Ghantiwala
1e43043354 Update go.mod package versions (#104985)
Fix dashboard error during go mod tidy
2025-05-06 18:03:27 +01:00
Scott Lepper
5d5786afe2 Dashboard - edit pane textbox variable (#104893)
Dashboard - edit pane textbox variable
2025-05-06 13:01:20 -04:00
Scott Lepper
dff7a79071 Dashboard templating e2e - fix flaky timezone (#104906)
Dashboard templating e2e - fix flaky timezone
2025-05-06 12:58:56 -04:00
Alexander Zobnin
dde613bbe8 Settings: Exclude zanzana client token value from output (#105018)
* Settings: Exclude zanzana client token value from output

* add test

* fix tests
2025-05-06 18:54:48 +02:00
Isabel Matwawana
de60959b2b Docs: Change codeowners for sql expressions page (#105021) 2025-05-06 12:09:12 -04:00
Will Browne
9c2846c4fb Plugins: Separate pluginv2 interfaces from ProtoClient interface (#104795)
split interfaces
2025-05-06 17:02:32 +01:00
Larissa Wandzura
59cb0176bc Docs: removed backslashes in SQL code in SQL expressions doc (#105009)
* removed backslashes in SQL code

* fixed SQL
2025-05-06 10:41:20 -05:00
Kim Nylander
02042c1ac0 Add landing page for Obs as Code doc (#105015) 2025-05-06 16:59:08 +02:00
Juan Cabanas
3204942a86 ShareDrawer: Add onDismiss prop (#104658) 2025-05-06 11:31:59 -03:00
Mustafa Sencer Özcan
dc63f8003c fix(unified-storage): make full path setting optional on get folders (#104757) 2025-05-06 16:20:49 +02:00
Larissa Wandzura
fa93b3b74c DOCS: Prometheus data sources documentation overhaul (#104427)
* initial updates

* additional updates - index and config dos

* made edits, renamed the index files.

* Close unclosed shortcode

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

* updated main and config docs

* edits to query editor and templates

* final edits to landing page

* added updates

* made a few additional edits

* edits

* final edits and changes per dev feedback

* reviewed titles and headings; ran prettier

* added ref URIs

* Update docs/sources/datasources/prometheus/template-variables/_index.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update docs/sources/datasources/prometheus/configure/_index.md

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>

* Update docs/sources/datasources/prometheus/template-variables/_index.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* updates based on feedback

* ran prettier

* updates due to feedback

---------

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2025-05-06 14:02:52 +00:00
Jack Westbrook
b78044511f Extension Sidebar: Prevent plugin errors from breaking Grafana (#104983)
feat(extensionsidebar): add an errorboundary to prevent crashing entire app if plugin goes pop
2025-05-06 15:45:44 +02:00
Yuri Tseretyan
c8d92ee06a Alerting: Refactor applyConfig in Alertmanager (#104970)
* refactor: remove applyAndMarkConfig

---------

Signed-off-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2025-05-06 09:36:22 -04:00
Luminessa Starlight
228fbcd495 GrafanaUI: feature toggle access in Grafana UI (#104500)
* add set/get feature toggles functions to grafana/ui

* configure grafana/ui feature toggle localeFormatPreference in app init

* revert more complex approach and use contained access to global
2025-05-06 08:53:13 -04:00
Misi
691c1bb0f2 Chore: Update labels on OAuth config UIs (#104960)
* Update lables on OAuth config UIs

* Extract i18n data

* Small fixes
2025-05-06 14:17:55 +02:00
Konrad Lalik
f79f6efdcb Alerting: Use Prometheus endpoint as a primary source of data on the new list page (#104538)
* Bring back contact points filter

* Use GMA Prometheus endpoint as main source of truth on the list page

* refactor: improve error handling in GrafanaRuleLoader
2025-05-06 14:09:29 +02:00
Konrad Lalik
f2b9830fda Alerting: Improve secret fields handling in contact points (#104386)
* Refactor ChannelOptions and related components for improved secure field handling

- Updated ChannelOptions to utilize integrationPrefix for path management.
- Introduced getOptionMeta for dynamic option metadata handling.
- Enhanced ChannelSubForm to manage secure fields and subform deletions.
- Refactored OptionField and SubformField to support new secure field logic.
- Adjusted types for better clarity and integration with the form context.

* Fix Combobox sizing

* Refactor ChannelSubForm and ChannelOptions for improved field handling

- Updated ChannelOptions to enhance secure field management.
- Refactored ChannelSubForm to replace Select with Combobox for better user experience.
- Adjusted type options handling in ChannelSubForm to align with new Combobox implementation.
- Cleaned up unused code and improved overall readability.

* Refactor contact point components for improved secure field handling and remove obsolete secure settings field

- Removed secureSettings from various components and tests to streamline the receiver configuration.
- Updated GrafanaReceiverForm to manage secure fields more effectively.
- Enhanced test cases for Slack contact points to ensure proper field behavior based on user input.
- Introduced a factory for creating mock Grafana contact points and receiver configurations for better test coverage.

* Improve conversion from form values to grafana receivers

* Revert Combobox migration and bring back Select for contact point type selector

* Update Grafana OnCall to Grafana IRM in notifier settings and enhance test coverage for SNS contact points

- Renamed notifier settings from 'Grafana OnCall' to 'Grafana IRM' in mockGrafanaNotifiers.
- Updated test cases in GrafanaReceiverForm to handle SNS contact points, including secure field management.
- Improved test assertions and added new tests for SNS integration to ensure correct behavior and state management.
- Refactored related components for better clarity and maintainability.

* Add secret fiels removal tests

* Fix mocks, remove Combobox changes

* Update snapshots

* Remove obsolete snapshot
2025-05-06 14:07:49 +02:00
Andres Martinez Gotor
9b17cd44dc Advisor: Use contextual logger (#104979) 2025-05-06 13:58:29 +02:00
Ashley Harrison
c36d84376b Chore: ignore react package upgrades for now (#105001)
ignore react package upgrades for now
2025-05-06 12:54:39 +01:00
Irene Rodríguez
e5c2309ad3 remove cascade: noindex (#104997) 2025-05-06 11:29:52 +00:00
Will Browne
a5649b6e1d Plugins: Fix issue with propagating ID token downstream for RunStream requests (#104833)
fix issue
2025-05-06 11:41:32 +01:00
Irene Rodríguez
5526443007 fix broken links in "get started with observability as code" (#104956) 2025-05-06 09:38:33 +00:00
jackyin
7a2fc797fb TestData: Fix json unmarshal error in simulation scenario (#104612)
* fix simulation json error

* Trigger build
2025-05-06 07:29:06 +02:00
Stephanie Hingtgen
f5fd7a15b6 K8s: GetFolders to return default limit (#104976) 2025-05-06 08:09:18 +03:00
Levente Balogh
bcb2a7e36f Plugin Extensions: Read-only props for extension components (#102079)
* feat: pass read-only props to extension components

This initial commit is used to verify that things are broken in case
the datasource object is not cloned before passed in as a prop.

* chore: update tests

---------

Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
2025-05-06 06:55:23 +02:00
grafana-pr-automation[bot]
61a8495485 I18n: Download translations from Crowdin (#104974)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-06 03:33:27 +03:00
github-actions[bot]
b39797bb4f Release: update changelog for 12.0.0 (#104959)
* Update changelog

* Empty commit to unblock GHA

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: jev forsberg <jev.forsberg@grafana.com>
2025-05-05 22:23:32 +00:00
Alex Spencer
36dde3401c TableNG: Align sparkline value correctly (#104909)
fix: align sparkline value correctly

Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
2025-05-05 16:03:12 -06:00
Sven Grossmann
2f41c7c289 Extension Sidebar: Fix not opening the stored component (#104649)
* Extension Sidebar: Fix not opening the stored component

* empty
2025-05-06 00:25:02 +03:00
Jacob Valdez
d5e3be1b02 Docs: What's new, Upgrade guide, and breaking changes v12.0 (#102748)
Co-authored-by: Jacob Valdez <jacob.valdez@grafana.com>
Co-authored-by: Timur Olzhabayev <timur.olzhabayev@grafana.com>
2025-05-05 16:12:25 -05:00
Alex Spencer
44447c0ca0 Dashboards testing: Update failing test (#104966)
fix: update dashboards test
2025-05-05 15:58:45 -05:00
Alex Spencer
cab241fbb6 TableNG: Always use correct original row index (#104561)
* fix: change row index

* chore: remove unused param
2025-05-05 13:16:05 -06:00
Victor Marin
b9cb445148 DashboardDatasource: Debounce results slightly to avoid flickering on zoom (#102887)
Debounce all results slightly to avoid false positive DONE flickering
2025-05-05 20:20:31 +03:00
Victor Marin
2f397516e6 DashboardDS: Clone series to not mutate original frames (#104518)
* DashboardDS: Clone series to not mutate original frames

* rename test
2025-05-05 20:18:12 +03:00
Alex Spencer
72932e10b2 TableNG: Fix sparkline sorting + column key config (#104008)
* fix: sorting sparkline cells

* fix: prevent same cell name issues

* chore: clean

* chore: bring back nuked sparkline fix

* chore: mob feedback

* chore: use getDisplayName function

* chore: missed two!!

* chore: improved betterer results

---------

Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
2025-05-05 10:46:07 -06:00
Larissa Wandzura
eafba2b023 Docs: New SQL expressions doc (#104908)
* reorged content

* made several edits

* some final cleanup

* vale linter changes

* linter change

* ran prettier

---------

Co-authored-by: Irene Rodríguez <irene.rodriguez@grafana.com>
2025-05-05 16:45:53 +00:00
Laura Fernández
bff75e1561 CVE: upgrade undici version (#104927) 2025-05-05 17:34:16 +02:00
Kim Nylander
fe5188b5b0 [DOC] Add landing page and focus for Obs as Code docs (#104832)
Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>
Co-authored-by: Kim Nylander <kim.nylander@grafana.com>
Co-authored-by: Artur Wierzbicki <artur.wierzbicki@grafana.com>
2025-05-05 16:19:22 +02:00
Kim Nylander
bad3d7c2db [DOC] Make Obs as Code docs public (#104843)
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
2025-05-05 16:19:17 +02:00
Matheus Macabu
c90e2e8e5e SecretsManager: Add (en/de)cryption packages (#104923)
Merging the code as-is from the feature branch: secret-service/feature-branch

Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>
Co-authored-by: Dana Axinte <53751979+dana-axinte@users.noreply.github.com>
Co-authored-by: Leandro Deveikis <leandro.deveikis@gmail.com>
Co-authored-by: Mariell Hoversholm <mariell.hoversholm@grafana.com>
Co-authored-by: Michael Mandrus <michael.mandrus@grafana.com>
2025-05-05 15:26:52 +02:00
Matheus Macabu
7900a53e05 Docs: Fix extra whitespace in Prometheus configs on Grafana Monitoring setup (#104916)
Co-authored-by: danielkenlee <115471695+danielkenlee@users.noreply.github.com>
2025-05-05 15:25:06 +02:00
Andres Martinez Gotor
0d50efe198 Preinstall: Avoid overwriting development versions (#104781) 2025-05-05 14:51:35 +02:00
Andrej Ocenas
8435eb2876 Scopes: Command Palette (#103720)
* Add pills in search bar for context

* Add scope actions

* Add selection functionality

* Show selected scope on secondary row

* Fix selected scope titles

* Add some basic tests

* Test for toggle by name

* Remove unnecessary mocking

* Small cleanups

* Lint fixes

* Fix test

* Update public/app/features/scopes/selector/ScopesSelectorService.ts

Co-authored-by: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com>

* Bump input and breadcrumbs test

* Change breadcrumbs color

* Makes the breacrumb spacing consistent

---------

Co-authored-by: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com>
2025-05-05 14:00:20 +02:00
Piotr Jamróz
d4fd3aa7c7 FlameGraph: Use named imports (#104042)
* FlameGraph: Use named imports

* Fix test imports
2025-05-05 13:20:01 +02:00
Jack Westbrook
1058a1a3f1 CI: Fix json parsing in levitate workflows (#104853)
* ci(levitate): remove backticks and escaping to fix json parsing

* ci(levitate): use code tag over escaping backticks - HTML FTW

* chore(prometheus-package): dummy commit to test levitate changes

* ci(levitate): use actions/github-script@v7 everywhere
2025-05-05 13:05:03 +02:00
Misi
7d1eda2e5e Advisor: Add checks for list validation for SSO Settings service (#104520)
* Add format validation for allowed_organizations and allowed_groups

* Refactor, introduce ListFormatValidation

* Add tests

* Update apps/advisor/pkg/app/checks/authchecks/list_format_validation.go

Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>

* Update apps/advisor/pkg/app/checks/authchecks/list_format_validation.go

Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>

* Use one step instead of multiple separate ones

---------

Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>
2025-05-05 12:10:49 +02:00
Ida Štambuk
ddf33bcb66 CloudWatch: Fix variable interpolation for Logs queries (#104041) 2025-05-05 11:25:12 +02:00
Irene Rodríguez
c7f55ea5c6 Create Foundation SDK docs (#104684)
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Tom Glenn <tom.glenn@grafana.com>
2025-05-05 11:16:46 +02:00
Sonia Aguilar
fd65b83a53 Alerting: Remove alertingInsights feature toggle (#104918)
remove alertingInsights feature toggle
2025-05-05 11:55:06 +03:00
Mariell Hoversholm
fba0b10881 Actions(ephemeral-instances): Clone the ephemeral repo (#104920) 2025-05-05 11:52:18 +03:00
Mariell Hoversholm
6bb4879b39 Actions(ephemeral-instances): Migrate to Vault (#104848) 2025-05-05 10:18:45 +02:00
Gabriel MABILLE
ef91e627d1 .gitignore: devenv for spanner (#104668) 2025-05-05 09:59:28 +02:00
Jack Westbrook
90f628abff Prometheus: Fix semver import path (#104756)
chore(prometheus): import from semver so consumers builds dont break with esm
2025-05-05 10:47:19 +03:00
Matias Chomicki
84dd26a2da Log Controls: Add dividers and increase max height of the panel (#104477)
* Logs panel: increase max height

* LogListControls: add divider
2025-05-05 04:33:18 +03:00
Kristina
8a4d215914 Transformations: Add percentage to unary operations (#97358)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2025-05-03 09:03:27 -05:00
Leon Sorokin
50d183e50c TableNG: Only cache field names on data changes (#104190) 2025-05-02 18:26:44 -05:00
Leon Sorokin
a00ef79f5a Transformations: Prevent auto-naming of fields with alias in Calculate field (#104895) 2025-05-03 01:40:25 +03:00
Leon Sorokin
c8384cf503 Transformations: Fix duplicate field names when joinBy follows groupBy (#104206) 2025-05-02 17:08:07 -05:00
Johnny Kartheiser
4aba287bbe docs: recorded queries migration documentation (#104505)
* docs: recorded queries migration documentation

draft

* vale'd

* Update index.md
2025-05-02 16:06:00 -05:00
renovate[bot]
f13dbb32bb Update dependency downshift to v9.0.9 (#103777)
* Update dependency downshift to v9.0.9

* change conditional typing to error on the onChange property with an easier to read error instead of on the component
add workaround for type script not being able to infer when onChange can accept null
add type test

* better Combobox types!

* remove unused import

* make type changes more backwards compatible

* improve comment

* even better comments

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: samsch <git@samsch.org>
2025-05-02 16:36:44 -04:00
Kevin Minehart
ec35e861e0 CI: move grafana-delivery-bot path in Drone (#104886)
* move delivery bot creds to vault

* format-drone
2025-05-02 11:55:23 -05:00
Ashley Harrison
0f93e02ae6 Storybook: Add viz hues to theme demo (#104889)
* add viz hues to theme demo in storybook

* don't need ThemeVizColor
2025-05-02 19:42:02 +03:00
Josh Hunt
033dc19b48 CI: Remove zizmor workflow in favor of org workflow (#104879)
* CI: Remove zizmor workflow in favor of org workflow

* Update CODEOWNERS
2025-05-02 11:33:29 -05:00
Kim Nylander
6043c8aed8 Update GitSync docs for delete dashboard (#104700) 2025-05-02 16:24:56 +00:00
Irene Rodríguez
09153c25be Add schema v2 new files (#104858)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
2025-05-02 16:21:03 +00:00
Alex Spencer
a8c4c824b9 TableNG: Use correct row index for background colour calculation (#104426)
* chore: row index is source index so just use that

* chore: fix better cause why not

---------

Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
Co-authored-by: Sven Grossmann <svennergr@gmail.com>
2025-05-02 08:39:03 -07:00
kay delaney
4812cdf1a7 Dashboards/E2E: Add e2e test for adding and configuring a new panel (#104857) 2025-05-02 16:23:49 +01:00
Isabel Matwawana
6727f797f5 Docs: Add hidden dynamic dashboards page (#104483) 2025-05-02 15:21:29 +00:00
Luminessa Starlight
ded775b4e0 Docs: Move corepack instructions to where you can run them (#104729)
* move corepack instructions out from under macOS header

* move corepack instructions to new heading after downloading repo
2025-05-02 11:21:11 -04:00
Tom Ratcliffe
a1b294e39f i18n: Fix incorrect interpolation in query group options (#104873) 2025-05-02 16:20:16 +01:00
Serge Zaitsev
694b9dfe50 Chore: Replace xorm.io/xorm imports (#104458)
* replace xorm.io/xorm imports

* replace xorm from other go.mod files

* clean up workspace

* nolint does not make sense anymore as it is not a module

* try if nolint directive helps

* use nolint:all for xorm

* add more nolints

* try to skip xorm in linter config

* exclude xorm differently

* retrigger ci
2025-05-02 17:13:01 +02:00
Juan Cabanas
847b07dee2 Reporting: Add API skeleton 2025-05-02 10:05:46 -03:00
renovate[bot]
d8ffe6170e Update dependency rc-tree to v5.13.1 (#104624)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-02 12:50:35 +00:00
Sergej-Vlasov
83cbe5f428 DashboardEditPane: Fix source viz panel selection (#104686)
* revert ae86746

* extract source viz panel for edit pane select
2025-05-02 13:38:37 +01:00
Mustafa Sencer Özcan
3f2ad925fb chore(unified-storage): remove debug logging for poller (#104862) 2025-05-02 15:02:17 +03:00
Ashley Harrison
d8fb1e8e4e Chore: Harden action permissions (#104820)
* harden action permissions

* Update .github/workflows/ephemeral-instances-pr-comment.yml

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

* update documentation-ci

---------

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2025-05-02 12:13:05 +01:00
renovate[bot]
9a7d85c85f Update dependency ol-ext to v4.0.31 (#104623)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-02 10:19:04 +00:00
Sergej-Vlasov
8766daa3c0 E2E: Align on how to use feature toggles in cypress tests (#104831)
align on how to use feature toggles in cypress tests
2025-05-02 09:32:28 +01:00
Peter Štibraný
e85acf047a Remove use of dialect.LikeStr (#104460)
* Fix TestIntegrationUpdatingProvisionionedDashboards* tests when running on Spanner by fixing case-insensitive search for dashboard title.

* Fix use of case-insensitive LIKE when running on Spanner.

* Fix use of LikeStr in anonstore.

* Fix use of LikeStr in ngalert/store and org/orgimpl.

* Fix use of LikeStr in queryhistory search.

* Fix use of LikeStr in serviceaccounts.

* Fix use of LikeStr in serviceaccounts.

* Fix use of LikeStr in services/team.

* Remove LikeStr method.
2025-05-02 11:23:57 +03:00
grafana-pr-automation[bot]
d7ebaafa94 I18n: Download translations from Crowdin (#104846)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-02 03:32:01 +03:00
Scott Lepper
a9960ed4d2 add constant variable type to editor (#104662)
add constant variable type to editor
2025-05-01 15:37:13 -04:00
Isabella Siu
2d398af7fb Cloudwatch: Update grafana-aws-sdk to fix temp credentials single tenant (#104838)
Cloudwatch: update so that temp credentials work both multi and single tenant
2025-05-01 15:18:36 -04:00
Scott Lepper
d30b39f350 Dashboard edit panel e2e (#104775)
setup suite for edit panel;  start adding test for custom variable edit
2025-05-01 15:14:36 -04:00
Dominik Prokop
1114d33936 Dashboard export: Allow exports by resource and in YAML format (#104149)
* Dashboard export: Allow YAML export

* use js-yaml to fix ci errors

* add yaml transformation in the "Copy to cilpboard"

* simplify

* new ui for resource exports

* simplify

* Don't show export mode for v2 dashboard

* Add metadata, apiVersion, add logic for export type resources

* i18n; switch title to as code

* update export as file button

* Remove managedFields from metadata export

* Remove metadata fields that are not needed for sharing externally

* Copy

* fix legacy mode

* address bugs

* Update public/app/features/dashboard-scene/sharing/ExportButton/ExportMenu.tsx

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

* i18n

* improve classic mode; rename

* Update public/app/features/dashboard-scene/sharing/ShareExportTab.tsx

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

* change order

---------

Co-authored-by: Haris Rozajac <haris.rozajac12@gmail.com>
Co-authored-by: Haris Rozajac <58232930+harisrozajac@users.noreply.github.com>
Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
2025-05-01 09:06:07 -06:00
Scott Lepper
ca2ae82e80 allow setting multiple feature toggles in run-suite (#104821)
* allow setting multiple feature toggles in  run-suite
2025-05-01 11:00:04 -04:00
Kevin Minehart
fd4afdbd2c CI: Use docker creds from ci/common (#104827)
Use docker creds from ci/common
2025-05-01 09:32:35 -05:00
Stephanie Hingtgen
6244b4d501 Dashboards: Fix cleanup job (#104822) 2025-05-01 17:27:13 +03:00
Ashley Harrison
75f1ed6d31 Internationalisation: add workflow to automatically create tasks in Crowdin (#104405)
* convert to ts

* fix path

* add yarn install step

* revert to commonjs for now

* weird syntax...

* test task creation

* just use workflow step id

* update workflow

* get workflow step id from crowdin

* testing...

* final test

* tidy up

* typescript with type assertion until upstream is fixed

* fix CODEOWNERS
2025-05-01 15:17:47 +01:00
Christopher Moyer
575a13e19d Docs: incorporates learning journey feedback (#104735)
incorporates learning journey feedback

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2025-05-01 09:03:56 -05:00
Alexa V
26ce124208 Dashboard: SchemaV2 - Fix Import showing grafana datasources (#104461)
* Fix: do not map when identifying default grafana ds

* add also datasource type

* Refactor code, add unit test

* Fix types references and linting

* Update public/app/features/manage-dashboards/state/actions.test.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-05-01 15:47:04 +02:00
Esteban Beltran
065be6117e Chore: remove misc stats secret for issue commands (#104819)
remove cehck for misc stats
2025-05-01 15:23:18 +03:00
Yulia Shanyrova
700f208b6e Plugins: Add sponsorship link to plugin details panel (#104687)
Add sponsorship link to plugin details panel
2025-05-01 13:39:50 +02:00
Joey
3773429d10 Tempo: Add support for structural operators (#104400)
Add support for structural operators
2025-05-01 12:34:30 +01:00
Esteban Beltran
ba6d0f59ff Chore: Issue triager, update vault paths (#104814)
* Chore: Issue triager, update vault paths

* Empty commit

* update commands tasjk
2025-05-01 14:31:59 +03:00
grafana-pr-automation[bot]
af29132fc0 I18n: Download translations from Crowdin (#104817)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-01 13:52:25 +03:00
Ashley Harrison
b8ac9fd866 Chore: i18n action - get secrets stuff from vault (#104816)
get PR_AUTOMATION stuff from vault
2025-05-01 11:33:36 +01:00
Ashley Harrison
162fed84b5 Chore: No fail-fast on e2e tests (#104812)
no fail-fast on e2e tests
2025-05-01 11:31:43 +01:00
Josh Hunt
035ecc15b2 CI: Fix Skye and E2E GHA workflows (#104811)
* CI: Use pr_automation_app in skye workflow

* CI: Fix e2e workflow artifact name

(cherry picked from commit e9fe1dedf7)

* remove old-arch check

(cherry picked from commit 960e2d057b)
2025-05-01 11:10:52 +01:00
Ashley Harrison
195dedf0fe Chore: Fix crowdin download action (#104809)
fix crowdin download action
2025-05-01 11:02:28 +01:00
Oscar Kilhed
b8c5ca0632 E2E: Fix failing old arch test. (#104793)
* Wait for all queries

* wait for the item to become a button instead
2025-05-01 09:26:58 +00:00
Pepe Cano
3bb5a13275 docs(alerting): add new guides for handling missing data and connectivity errors (#104765)
* New `Learn` section and Handling connectivity errors guide

* guide: connectivity errors

* update metadata

* edit `Learn` page
2025-04-30 21:51:08 +02:00
Kevin Minehart
1faf52cd07 CI: update permissions for external workflows (#104800)
update permissions
2025-04-30 22:31:14 +03:00
Kevin Minehart
e36d774d0c CI: update permissions on workflows which get external secrets (#104792)
update permissions
2025-04-30 17:32:44 +00:00
Artur Wierzbicki
36b810e1cc Dashboard API: Update dashboard version docs (#104565) 2025-04-30 16:38:14 +00:00
Ryan McKinley
2df2b169cc Provisioning: Require author name (#104789) 2025-04-30 19:33:21 +03:00
Ashley Harrison
821b44182e Chore: don't persist creds when checking out in actions (#104778)
* don't persist creds when checking out in actions

* kick CI

* kick CI

* actually commit the merge...

* don't need

* don't need
2025-04-30 17:20:57 +01:00
Esteban Beltran
ecd1f5ba92 Chore: Fix remaining levitate zizmur issues and move to use vault (#104782)
* Chore: Fix remaining levitate zizmur issues and move to use vault

* Levitate CI: Remove secrets usage for WIF identity provider and SA (#104783)

---------

Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com>
2025-04-30 18:39:26 +03:00
Ryan McKinley
d0644d081f StateTimeline: Improve auto migration from discrete panel (#104671) 2025-04-30 17:56:48 +03:00
Jev Forsberg
cd5fa7943e Chore: Use Vault secrets in release-comms.yml (#104727)
* baldm0mma/ update to use vault

* baldm0mma/ update permissions
2025-04-30 17:43:58 +03:00
Adela Almasan
d7463556c2 Actions: Add button style customization (#104126) 2025-04-30 17:43:06 +03:00
Jev Forsberg
53321b56d8 Chore: Use Vault secrets in changelog.yml (#104721)
* baldm0mma/ update to use vault

* Update .github/workflows/changelog.yml

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

* Update .github/workflows/changelog.yml

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

---------

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2025-04-30 17:42:49 +03:00
Adela Almasan
6c0250dde2 TableNG: Fix interpolation for actions (#104577) 2025-04-30 17:42:15 +03:00
Yuri Tseretyan
85344e30c0 Alerting: Migrate notifications API to app-platform SDK application (#104424)
* introduce alerting notification app
* move code as is and remove from old registry
* update api server registration
* update make file and remove unnecessary args, copy some useful make commands from dashboards
* update codeowners

* move constants inside module and remove dependency from grafana
* add support for selectors to the app builder
2025-04-30 10:23:56 -04:00
Ashley Harrison
454e260207 Internationalisation: Use new shared Crowdin token from vault (#104764)
* use new shared token now available in vault

* remove )

* use the token

* make changes for create-tasks as well
2025-04-30 14:56:21 +01:00
Jev Forsberg
c7f97060a0 Chore: Use Vault secrets in github-release.yml (#104707)
baldm0mma/ update to use vault
2025-04-30 13:46:18 +00:00
Jev Forsberg
693b373e68 Chore: Migrate to Vault Secrets (#104701)
* baldm0mma/ use valut secrets

* baldm0mma/ rem zizmor annos
2025-04-30 13:45:18 +00:00
Will Assis
ecea6a9366 unified-storage: expose memberlist cluster label config (#104643)
* tweak ringKey/ringName for consistency and allow us to configure memberlist cluster label config

* allow setting memberlist cluster label verification disabled field

---------

Co-authored-by: Peter Štibraný <pstibrany@gmail.com>
2025-04-30 09:43:09 -04:00
Ashley Harrison
1c5545da04 Internationalisation: Check and mark up tooltip content prop (#104536)
* make lint rule check for "content"

* undo unnecessary translation
2025-04-30 14:40:15 +01:00
Ryan McKinley
439df585e0 TestData: Support a steps scenario (#104736) 2025-04-30 16:22:59 +03:00
Alexander Zobnin
da32b9e16f Zanzana: Fix health check endpoint (#104670) 2025-04-30 16:05:39 +03:00
Juan Cabanas
9ed5b4efa2 Grafana UI: Update CollapsableSection to be controlled (#104642) 2025-04-30 16:04:31 +03:00
Ashley Harrison
b56a4a5295 Border radius: Improve rule and fix remaining violations (#104569)
* improve rule and fix remaining borderRadius violations

* prettier

* Add test case for nested classes

* Fix unnecessary string wrapping

---------

Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
2025-04-30 14:03:54 +01:00
Tom Ratcliffe
77a2b34b02 Alerting: Make receiver optional in routing preview and handle fallback case (#104639) 2025-04-30 13:51:38 +01:00
Alex Khomenko
f413721435 Provisioning: Update graphic (#104770) 2025-04-30 15:36:28 +03:00
Roberto Jiménez Sánchez
3b3c2e225c Provisioning: cover most cases in go-git clone (#104513)
* Add some clone tests

* Add case to create ref if it doesn't not exist

* Add unit tests for context cancellation

* Bare repository not needed

* Make tests work without git command
2025-04-30 14:05:19 +02:00
Gilles De Mey
7c66ab1b9b update betterer results file after merge conflict introduced in #103744 (#104685) 2025-04-30 14:48:46 +03:00
Jean-Philippe Quéméner
188a02723f fix(unified-storage): only fetch from history table if rv changed (#104740) 2025-04-30 12:29:09 +02:00
Tobias Skarhed
3732ec74e7 Scopes: Highlight current active item/dashboard (#104403)
* Highlight current active item

* Add error boundary for scopes selector

* Expand containing folder of active item

* Add tests
2025-04-30 12:25:12 +02:00
Santiago
5a589bb51a Alerting: Enable the remote Alertmanager feature using only feature toggles (#101410)
* Alerting: Enable the remote Alertmanager feature using only feature toggles

* Trigger build
2025-04-30 12:18:47 +02:00
linoman
afa97a5970 SCIM: Rename assertion_attribute_external_uid (#104613)
Rename `assertion_attribute_external_uid`
2025-04-30 12:33:26 +03:00
Pepe Cano
971f92e45d docs(alerting): add recommendation to reduce duplicated DatasourceError alerts (#104679)
docs(alerting): add recommendation to reduce `DatasourceError` alerts
2025-04-30 11:15:51 +02:00
Ryan McKinley
3a8575ea1b Provisioning: Show in NavTree based on org role, not access control (#104599) 2025-04-30 10:06:44 +03:00
Kevin Minehart
645af8df33 CI: Backport action can't combine with and working-directory (#104754)
* Can't combine with and working-directory

* add missing uses:
2025-04-29 21:30:52 -05:00
Stephanie Hingtgen
7430a18bd3 Dashboards: Fix missing folder info in /search for dashboards (#104666)
Dashboards: add missing folder info to /search
2025-04-30 05:23:52 +03:00
Kevin Minehart
be729ea562 CI: cd grafana in backport action (#104753)
cd grafana
2025-04-29 21:17:05 -05:00
Kevin Minehart
24351851c9 CI: cd grafana after clone in backport action (#104752)
cd grafana after clone
2025-04-29 21:01:09 -05:00
Kristina
d739481c9a Transformations: Use field name matcher for finding group by fields (#104664)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2025-04-30 05:00:43 +03:00
Kevin Minehart
6d1f918150 CI: manually git clone for backport action (#104751)
* manually clone for backport

* fix syntax error
2025-04-29 20:56:29 -05:00
Kevin Minehart
bb9c56c9d5 CI: use shallow clone with backport action (#104750)
use shallow clone with backport action
2025-04-29 20:19:36 -05:00
Kristina
75a226c4c7 Transformation: Allow boolean for calculate field (#104659) 2025-04-30 03:58:08 +03:00
Leon Sorokin
fa17fd108f Transformations: Omit showing base field names when field.name is unique (#104660) 2025-04-30 03:39:46 +03:00
Jev Forsberg
7089b5978e Chore: Use Vault secrets in create-next-release-branch.yml (#104730)
* baldm0mma/ update to use vault

* Update .github/workflows/create-next-release-branch.yml

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

* Update .github/workflows/create-next-release-branch.yml

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

---------

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2025-04-30 03:28:39 +03:00
Jev Forsberg
403f938a66 Chore: Use Vault secrets in migrate-prs.yml (#104714)
* baldm0mma/ update to use vault

* baldm0mma/ rem zizmor comm

* Update .github/workflows/migrate-prs.yml

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

* Update .github/workflows/migrate-prs.yml

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

---------

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2025-04-30 03:28:15 +03:00
Jev Forsberg
32ad884379 Chore: Use Vault secrets in release-pr.yml (#104723)
* baldm0mma/ update to use vault

* Update .github/workflows/release-pr.yml

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

* Update .github/workflows/release-pr.yml

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

---------

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2025-04-30 03:27:16 +03:00
Jev Forsberg
f7fe8b7f7e Chore: Use Vault secrets in pr-patch-check-event.yml (#104725)
* baldm0mma/ update to use vault

* Update .github/workflows/pr-patch-check-event.yml

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

* Update .github/workflows/pr-patch-check-event.yml

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

---------

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2025-04-30 03:26:54 +03:00
Jev Forsberg
f0686a61ce Chore: Use Vault secrets in sync-mirror-event.yml (#104705)
* baldm0mma/ update to using vault secrets

* Update .github/workflows/sync-mirror-event.yml

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

* Update .github/workflows/sync-mirror-event.yml

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

---------

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2025-04-30 03:17:38 +03:00
Stephanie Hingtgen
9edf2f6356 Folders and Dashboards: Version check fixes (#104663)
Folders: Fix version mismatch errors
2025-04-30 03:04:30 +03:00
Stephanie Hingtgen
129e8bb1e4 Dashboards: Fix moving to general folder (#104655) 2025-04-30 03:03:57 +03:00
Stephanie Hingtgen
9968576acf Folders & Dashboards: Cleanup timestamps and error codes (#104665)
K8s: Fix timestamps and error codes
2025-04-30 03:03:21 +03:00
Georges Chaudy
a4f6953f27 spanner: skip dasbhoard RBAC e2e tests for spanner (#104043)
* skip dasbhoard RBAC e2e for spanner

* annotations also relying on dashboard find
2025-04-29 15:50:45 -05:00
Alex Bikfalvi
4d7a4eba54 docs: Trace correlations (#104309)
Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>
2025-04-29 16:19:32 -04:00
Kevin Minehart
2436b4e097 CI: move workflows/actions to actions (#104711)
* move workflows/actions to actions

* rerun actions

* fix setup-go v5

* unpinned unnecessary pins

* update CODEOWONERS

* update CODEOWONERS

* remove remove-milestone from codeowners

* remove bad key
2025-04-29 14:24:55 -05:00
Kevin Minehart
97d10b5095 CI: remove unused worklow; use GITHUB_TOKEN where possible (#104657)
* remove unused worklow; use GITHUB_TOKEN where possible

* pin usages of checkout and setup-go

* Fix zizmor errors

* add zizmor.yml

* fix `changelog.yml`

* fix `core-plugins-build-and-release.yml`

* fix `release-comms.yml`

* update release-pr.yml and run-e2e-suite.yml

* Fix errors in files outside of .github/workflows

* Remove path filter on zizmor.yml

---------

Co-authored-by: Sven Grossmann <svennergr@gmail.com>
Co-authored-by: joshhunt <josh.hunt@grafana.com>
2025-04-29 10:09:23 -05:00
Gilles De Mey
97a1614cde Alerting: Rework rule editor layout (#103744) 2025-04-29 15:45:45 +02:00
Sven Grossmann
8f922bf76d CI: Add zizmor action (#104676) 2025-04-29 12:02:18 +01:00
Sven Grossmann
2088df2f87 CI: Pin more actions and fix zizmor findings (#104651)
* ci: fix unpinned actions

* ci: more pinned actions
2025-04-28 14:20:21 -05:00
Torkel Ödegaard
90e1f24510 Dashboard: Style change to hover and selected nodes in outline (#104462)
* Dashboard: Style change to hover and selected nodes in outline

* Update

* Update
2025-04-28 17:20:12 +02:00
Sven Grossmann
d3038c6e9a ci: add permissions to pr-patch-check-event (#104635) 2025-04-28 15:17:23 +01:00
Sven Grossmann
1c70d8cc18 ci: move variables into env in issue/issue_comment workflows (#104636)
ci: move variables into `env` in `issue` wf
2025-04-28 15:15:17 +01:00
Florian Verdonck
2c7c2088d9 Logs panel: Add meta field to show total hits; add total hits to ElasticSearch plugin response (#104117)
* feat: Show total amount of hits in Elastic Search query

* Add test with multiple series.
2025-04-28 08:32:28 -05:00
Sven Grossmann
ab25b911ac ci: move branch name to env var (#104633)
* ci: move branch name to env var

* quoting
2025-04-28 14:11:49 +01:00
Sven Grossmann
a8ea72012b ci: remove unused workflow (#104615)
Delete epic-add-to-platform-ux-parent-project.yml

This is an old workflow which is no longer used.

Co-authored-by: Mihaela Maior <mihaela.maior@grafana.com>
2025-04-28 12:00:29 +01:00
Josh Hunt
60b03a5a10 CI: Update actions to use environment variables, pin actions (#104610)
* CI: use env var in backport.yml

* pin actions

* pin actions
2025-04-28 11:30:26 +01:00
Sven Grossmann
d19f86a736 ci: move variables to env (#104605)
* ci: move variables to `env`

* ci: move sha to `env`

* ci: import `SHA` and `PRE_COMMIT_SHA`
2025-04-28 11:22:46 +01:00
Piotr Jamróz
e2ac229bc5 chore: Remove unused dependency (#104457) 2025-04-28 10:51:11 +02:00
Pepe Cano
d6d5771aff alerting: update UI text to clarify recovery threshold for pending state (#102788)
* alerting: update UI text to clarify recovery threshold for pending state

* Update recent translation
2025-04-28 10:42:37 +02:00
Stephanie Hingtgen
cf453b46d4 K8s: App Plugins: Fix dashboard updater (#104583) 2025-04-25 22:51:38 +01:00
Josh Hunt
759aa12d2b Revert "Build swagger ui in seperate webpack build" (#104580)
Revert "Build swagger ui in seperate webpack build (#102046)"

This reverts commit 314e337d76.
2025-04-25 22:07:43 +01:00
renovate[bot]
fe62a7a708 Update dependency marked to v15.0.11 (#104570)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-25 21:02:50 +00:00
Kevin Minehart
13eaba98d5 CI: Use pull_request_target for PR patch check (#104567)
Use pull_request_target for PR patch check
2025-04-25 12:52:52 -05:00
alerting-team[bot]
af33ffd383 Alerting: Update alerting module to be11a2ae18bb786b6c35a6b99a6a876fada9fd6d (#104563)
[create-pull-request] automated change

Co-authored-by: yuri-tceretian <25988953+yuri-tceretian@users.noreply.github.com>
2025-04-25 13:22:19 -04:00
Kevin Minehart
a2a13763a4 CI: Remove bad caching from integration tests (#104546) 2025-04-25 18:18:20 +01:00
Will Assis
4adebd6058 unified-storage: setup ring to shard requests (#103783)
* Updates the instrumentation_server service to use mux instead of the builtin router, and have it store the router in the module server: this is so we can register the /ring endpoint to check the status of the ring
* Create a new Ring service that depends on the instrumentation server and declares it as a dependency for the storage server
* Create standalone MemberlistKV service for Ring service to use
* Update the storage server Search and GetStats handler to distribute requests if applicable
2025-04-25 13:08:44 -04:00
renovate[bot]
ff7b923d33 Update dependency @formatjs/intl-durationformat to v0.7.4 (#104547)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-25 18:00:25 +01:00
Todd Treece
24caaa7442 Dashboards: Set provisioning concurrency limit (#104507) 2025-04-25 12:43:29 -04:00
Stephanie Hingtgen
72ea92f275 Provisioning: Remove warnings for valid usage (#104555) 2025-04-25 16:50:47 +01:00
Irene Rodríguez
9f048b5127 Rename grafana cli to grafana server cli (#104087) 2025-04-25 15:46:38 +00:00
renovate[bot]
be15e85434 Update dependency @floating-ui/react to v0.27.8 (#104373)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-25 15:55:42 +01:00
Irene Rodríguez
01afde24f5 Style fixes in grafanactl docs (#104550)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-04-25 14:15:57 +00:00
Sven Grossmann
b6b493c851 Extension Sidebar: Add feature tracking for opened/closed extensions (#104209)
Extension Sidebar: Add feature tracking to track opened/closed extensions
2025-04-25 15:05:55 +01:00
renovate[bot]
cdfd3caba8 Update dependency cypress to v14 (#99916)
* Update dependency cypress to v14

* update drone image

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-04-25 14:49:50 +01:00
Josh Hunt
3ba112673f Docker: Remove pkg/apis/folder from COPY (#104524) 2025-04-25 14:25:10 +01:00
Jev Forsberg
fe9254b333 Chore: Update release strategy docs (#104488)
* baldm0mma/ update release docs

* baldm0mma/ run prettier

* baldm0mma/ change back apostrophies

* baldm0mma/ update to or

* baldm0mma/ revert characters
2025-04-25 07:24:07 -06:00
Josh Hunt
314e337d76 Build swagger ui in seperate webpack build (#102046)
* Build swagger ui in seperate webpack build

* render grafana and swagger

* include light theme

* merge main

* update webassets usage

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2025-04-25 14:22:57 +01:00
Victor Marin
6b44b38c10 DashboardReload: Do not preserve or restore URL state if dashboard version invalid (#104375)
do not preserve or restore url state if dashboard version invalid
2025-04-25 16:19:08 +03:00
Igor Suleymanov
f5ff6e38a3 Update grafanactl install instructions in docs (#104539) 2025-04-25 13:09:59 +00:00
Juan Cabanas
52b120cb67 Grafana UI: Add ref to DatePickerWithInput (#104346)
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-04-25 09:48:32 -03:00
Misi
06343fcda9 Advisor: Recover correctly when step.Run panics (#104521)
* wip

* Add test case for it
2025-04-25 14:14:44 +02:00
Irene Rodríguez
b145deb5a0 Add new grafanactl content (#104448) 2025-04-25 11:58:07 +00:00
Stephanie Hingtgen
b5281c923f K8s: Dashboards: Fix provisioned dashboard cleanup (#104504) 2025-04-25 05:55:50 -06:00
Mustafa Sencer Özcan
ebf3a8d205 fix: make data syncer run configurable on mode (2->3) change (#104401) 2025-04-25 13:43:35 +02:00
Stephanie Hingtgen
43d0053c80 K8s: Dashboards: Fix transformation between v1 and v2 (#104502) 2025-04-25 05:06:49 -06:00
Stephanie Hingtgen
40799d1f57 Docs: Add dashboard and folder apis docs (#101754) 2025-04-25 05:06:12 -06:00
Andreas Christou
3b036f0e78 Graphite: Fix Graphite series interpolation (#104471)
* Fix graphite series interpolation

* Trigger build
2025-04-25 10:51:18 +01:00
Ryan McKinley
73c018b298 Bootdata: Expose grafanaBootData under /bootdata URL (#104258) 2025-04-25 10:50:03 +01:00
Michael Anderson
eed048fc09 Navigation: Moving Machine-Learning out of IRM and into the top-level of the Navigation (#103822)
* adding ml items to main navigation if plugin is installed

* undoing testing change

* updating based on feedback and fixing role to be specific to access to ml plugin

* cleanup unneeded constants

* cleanup diff

* updateing GetOrgID call

* adding greyscale ml logo and using that for consistency

* use currentColor

---------

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-04-25 10:33:03 +01:00
Ryan McKinley
7b492d7e16 FEMT: Add feature toggle and expose the service in regular grafana (#104428) 2025-04-25 12:24:25 +03:00
Matthew Thorning
29b3738bc8 Navigation: Remove the "New" badge from the IRM menu item (#104512)
remove the "New" badge from the IRM menu item
2025-04-25 09:49:32 +01:00
grafana-pr-automation[bot]
72ebf1789e I18n: Download translations from Crowdin (#104506)
* New Crowdin translations by GitHub Action

* kick CI

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-04-25 09:45:47 +01:00
Ashley Harrison
ee93dbd2bd Chore: Run fronted unit tests + linting/typecheck against enterprise (#104479)
* run unit tests + linting/typecheck against enterprise

* update permissions

* kick CI

* keep job names the same
2025-04-25 09:22:02 +01:00
Alex Khomenko
618ffd0275 API clients: Add generator (#104093)
* Add API client generator

* Extract config entry template

* Fix index file

* Fix message and file pattern

* Fix generate-rtk template

* Match generated-api

* Format

* Split helpers

* Cleanup

* Remove unused helpers

* Simplify group name handling

* Run generate-apis

* Prettier

* Format + lint

* improve lint/format

* Optional filterEndpoints

* Format

* Update readme

* More updates

* Move the helpers out

* Switch to TS

* Cleanup types

* Add support for Enterprise

* Add comments

* Refactor endpoint handling and update README

* Simplify checks

* Do not register reducers and middleware for enterprise

* More docs updates

* Remove redundant sections

* Format gitignored files

* Add limitations

* Simplify types

* Simplify path logic

* Do not format OSS paths for enterprise

* dedupe

* format

* Simplify instructions

* Update lockfile

* Add comments

* Remove custom types
2025-04-25 09:42:37 +03:00
Scott Lepper
7ed17cacbf Scenes: validate time zone (#104481)
* Scenes: validate time zone
2025-04-24 17:35:35 -04:00
Yuri Tseretyan
14f4620835 Alerting: Optimize clean up rule versions (#102561)
* improve removal of old versions

Signed-off-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>

* Apply suggestions from code review

Co-authored-by: Alexander Akhmetov <me@alx.cx>

---------

Signed-off-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
Co-authored-by: Alexander Akhmetov <me@alx.cx>
2025-04-24 15:59:50 -04:00
Yuri Tseretyan
1f707d16ed Apply security patch 357-202503311017.patch (#104490)
* Sanitize paths before evaluating access to route

* use util.CleanRelativePath

---------

Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>
2025-04-24 20:15:17 +01:00
Leon Sorokin
a6735721bf XYChart: Coerce threshold steps to numbers (#104485) 2025-04-24 20:01:00 +01:00
Ashley Harrison
5a10e3b43e Select: Fix minor layout shift when opening/closing the menu (#104476)
fix width of magnifying glass causing layout shift
2025-04-24 17:36:12 +01:00
Alexander Akhmetov
040a82c815 Alerting: Add an internal label to rules converted from Prometheus (#104475) 2025-04-24 18:33:09 +02:00
Gilles De Mey
109267ab03 Alerting: Remove feature toggle for custom recovery threshold (#104455) 2025-04-24 11:58:17 -04:00
Sonia Aguilar
674fdd1d32 Alerting: Add alertingBulkActionsInUI feature toggle (#104470)
Add alertingBulkActionsInUI feature toggle
2025-04-24 15:49:59 +01:00
Kevin Minehart
f7216db6bc Chore: bump version to 12.1.0-pre (#104468)
bump version to 12.1.0-pre
2025-04-24 15:47:14 +01:00
Juan Cabanas
20b50e5f16 Grafana UI: Make DashboardPicker focusable (#104242) 2025-04-24 11:27:04 -03:00
Peter Štibraný
08205d64d1 libraryelements: Spanner compability (#103881)
* libraryelements: fix compatibility with Spanner

* Log errors leading to status code 500.

* Rename tests to make them integration tests.
2025-04-24 14:10:03 +00:00
Agnès Toulet
e7b800f35a Rendering: Add support for rate limiter (#103987)
* Rendering: Add support for rate limiter

* remove unnecessary golint exception

* add lint exception back
2025-04-24 15:31:19 +02:00
Andres Martinez Gotor
f0c841b9bc Advisor: Allow to disable backend (#104445) 2025-04-24 15:27:13 +02:00
Ryan McKinley
2e51096eb4 Provisioning: Export dashboards with conversion errors (#104369) 2025-04-24 14:16:25 +01:00
Ieva
e385237daf Access control: Make sure that user permission cache is cleared after new dashboard and folder creation (#104193)
* make sure that user permission cache is cleared after new dashboard and folder creation

* more test fixes

* Update pkg/services/dashboards/service/dashboard_service.go

* check identity type in SetDefaultPermissionsAfterCreate, set default permissions for service accounts

* set SA permissions for folders as well

* fix tests
2025-04-24 16:02:39 +03:00
Torkel Ödegaard
4fc112f927 RowsLayout: Fixes min height issue (#104444) 2025-04-24 14:43:44 +02:00
Ryan McKinley
7fd4c1b41d StateTimeline: Auto-migrate from natel-discrete-panel (#104191) 2025-04-24 15:42:32 +03:00
Eric Leijonmarck
15bddb3712 IAM: Add datasources:query support for using the authlib/authzservice (#104107)
* feat(add): datasources:query support for using the authlib/authzservice

* added test for datasources

* refactor to create the translation right away

* Update pkg/services/authz/rbac/mapper.go

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

* fix tests

---------

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2025-04-24 13:39:31 +01:00
Andreas Christou
35145801a2 Data Sources: Add gauge for response size (#104394) 2025-04-24 13:26:28 +01:00
Josh Hunt
a8aa6b74a8 FEMT: Basic frontend-service implementation (#104229)
* create the most basic frontend-server module

* expose prom metrics??

* add todo list

* move frontend-service to its own folder in services

* check error from writer.Write

* reword comment, add launch config
2025-04-24 13:14:21 +01:00
Oscar Kilhed
8e6b8fad01 SchemaV2: Fix saving of transparent setting of vizPanel (#104443)
* save transparent setting

* make sure we test both transparent and non transparent
2025-04-24 14:13:18 +02:00
Gilles De Mey
1ffd64ff79 Alerting: Package 📦 (#102899) 2025-04-24 13:47:24 +02:00
Tom Ratcliffe
b487096460 Alerting: Fix empty state for mute timings (#104453) 2025-04-24 13:42:52 +02:00
Fayzal Ghantiwala
d94a59cd08 Alerting: Fix flaky test (#104450)
Fix flaky test
2025-04-24 12:28:28 +01:00
Andres Martinez Gotor
edeff68645 Advisor: Allow to retry checks for a single element (#104279) 2025-04-24 12:00:32 +02:00
Laura Fernández
10df5d6f23 i18n: unify locale codes to match language structure (#104415) 2025-04-24 11:08:57 +02:00
Alexander Zobnin
1584349b99 Zanzana: Use authz client (#104037)
* Zanzana: use client from authzlib

* update go.sum

* use user UID for debugging

* Remove unused function
2025-04-24 10:57:24 +02:00
Tom Ratcliffe
356c979328 Chore: Enable no-constant-condition eslint rule (#104298) 2025-04-24 09:50:29 +01:00
Gábor Farkas
067d7b4146 feature-toggles: change ownership (#104440) 2025-04-24 09:42:11 +01:00
grafana-pr-automation[bot]
496eafdc6f I18n: Download translations from Crowdin (#104430)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-04-24 09:26:05 +01:00
Ryan McKinley
bfcb0af93a UnifiedStorage: enable unifiedStorageHistoryPruner by default (#104437) 2025-04-24 11:14:57 +03:00
Victor Marin
faa33e30a9 Schema: Add origin property to AdHocFilterWithLabels (#104320)
* add origin to AdHocFilterWithLabels

* typo

* fix

* use singular for FilterOrigin

* run ./hack/update-codegen.sh

* add canary scenes to verify typechecks

* update dashboard schema json snapshot

* fix

* fix

* update canaries

* fix

* bump scenes version
2025-04-24 11:13:17 +03:00
Ryan McKinley
e6414a6690 Provisioning: Fix the save version in dashboard scenes (#104433)
fix save (correct v1beta1)
2025-04-24 10:29:49 +03:00
Alex Khomenko
82c291675b Provisioning: Fix requires migration condition (#104434)
* Provisioning: Fix requires migration condition

* Better error messaging
2025-04-24 09:29:41 +03:00
Alex Khomenko
8a5b77432c Grafana-icons: Remove package (#104290)
* Remove grafana-icons package

* Cleanup
2025-04-24 09:06:16 +03:00
Moustafa Baiou
9f07e49cdd Alerting: Add extended definition to prometheus alert rules api (#103320)
* Alerting: Add extended definition to prometheus alert rules api

This adds `isPaused` and `notificationSettings` to the paginated rules api to enable the paginated view of GMA rules.

refactor: make alert rule status and state retrieval extensible

This lets us get status from other sources than the local ruler.

* update swagger spec

* add safety checks in test
2025-04-23 21:14:09 +01:00
Ryan McKinley
b09d79b21c K8s/Dashboard: Promote from alpha1 to beta1 (#104009) 2025-04-23 20:54:35 +03:00
grafana-delivery-bot[bot]
a6866176cd Release: update changelog for 11.6.1 (#104416)
* Update changelog

* Update CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Jev Forsberg <46619047+baldm0mma@users.noreply.github.com>
2025-04-23 17:34:58 +00:00
ismail simsek
7a9fdf8609 Chore: Move getOriginalMetricName to the place where it's used (#104379)
remove getOriginalMetricName from datasource as it's used only in metric_find_query
2025-04-23 18:57:02 +02:00
Tom Ratcliffe
345e81b9b7 Alerting: Render duration in <code> block for better presentation for translated values (#104409) 2025-04-23 17:27:54 +01:00
Josh Hunt
656d730eb2 I18n: Remove 'now' translations (#104414) 2025-04-23 17:25:16 +01:00
Tania
b8eeea0fe0 Remove flag disableSecretsCompatibility (#103135)
Remove flag disableSecretsCompatibility
2025-04-23 16:21:13 +00:00
grafana-delivery-bot[bot]
2e52553a39 Release: update changelog for 11.5.4 (#104408)
* Update changelog

* Update CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Jev Forsberg <46619047+baldm0mma@users.noreply.github.com>
2025-04-23 15:36:00 +00:00
ismail simsek
0d400c3413 Chore: Remove alignRange function from prometheus frontend as it was moved to backend (#104378)
remove alignRange as it was moved to backend
2025-04-23 17:16:40 +02:00
Collin Fingar
ee840b7d1f QueryLibrary: Update add to lib spec method (#103751)
QueryLibrary: Update add to lib method
2025-04-23 11:16:14 -04:00
grafana-delivery-bot[bot]
5959dd3d18 Release: update changelog for 11.4.4 (#104365)
* Update changelog

* Update CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Jev Forsberg <46619047+baldm0mma@users.noreply.github.com>
2025-04-23 14:37:58 +00:00
Sven Grossmann
c20cd9874c Extension Sidebar: Enable conditional rendering of component (#104177)
* Extension Sidebar: Add `links` extension point to conditional render component

* Extension Sidebar: Add tests

* Extension Sidebar: Fix tests
2025-04-23 16:25:50 +02:00
Alexa V
ab7e18feda Dashboard: Schema V2 - Fix built-in annotations not present (#104313)
* Add grafana Built-in annonation to the serialization

* Add unit tests
2025-04-23 16:24:21 +02:00
Torkel Ödegaard
c8fb66dd48 Dashboard: Fixes issue with row repeats and first row (#104265)
* working

* Update

* Add test

* Update
2025-04-23 16:18:56 +02:00
Kim Nylander
90ddab7461 Fix link in Use git sync doc (#104396) 2025-04-23 10:04:04 -04:00
Matias Chomicki
592c7a0b3c Log Controls: Allow plugins to use Log Controls (#104237)
* Logs Panel: add showControls option

* Make showControls optional

* Logs Panel: expose storage option

* Controlled log rows: allow table props to be possibly undefined

* Logs panel: expose controlled options change callback

* Logs panel: pass new callback

* Logs Panel: pass the correct field callbacks

* LogListControls: disallow unique labels in apps

* LogListControls: allow to filter by unknown level

* LogListControls: fix wrong aria-pressed state

* LogListControls: hide overflow

* ControlledLogRows: make scroll auto

* Controlled Logs Panel: forward scroll ref

* chore: generalize isCoreApp

* Formatting

* LogListControls: update test

* Logs Panel: make sure tests pass with and without controls

* formatting

* Losg Panel: add comments for the new options

* Log list controls: Add comment
2025-04-23 15:01:49 +01:00
Ashley Harrison
5c44ad2763 Chore: Initial scaffolding for crowdin action (#104393)
* start to scaffold github action

* test script

* simplify

* right path (maybe)

* clean up

* CONSTANT_CASE

* add CODEOWNERS

* kick CI
2025-04-23 14:30:35 +01:00
Scott Lepper
b7c0e8bd33 Scenes: add support for sourcemaps when linking (#104328)
Scenes: add support for sourcemaps when linking
2025-04-23 09:17:47 -04:00
Pepe Cano
cf1b964829 docs(alerting): clarify transition to Recovering state when using recovery thresholds (#104381) 2025-04-23 15:15:12 +02:00
Roberto Jiménez Sánchez
9e9e971ab3 Provisioning: unit test and bug fixes go-git repository (#104390)
* Add unit test for unimplemented methods

* Add unit test for GoGitRepo_Read

* Add tests for Delete

* Add more tests

* Add unit test for GoGitRepo_Push

* Add unit test for ReadTree
2025-04-23 15:59:03 +03:00
Roberto Jiménez Sánchez
c8981d91c7 Provisioning: remaining unit test coverage github repository (#104382)
* Add test for GitHubRepository_LatestRef

* Add test for GitHubRepository_LatestRef

* Add test for GitHubRepository_CommentPullRequest

* Add remaining tests for GitHubRepository

* Add remaining tests for GitHubRepository

* Fix linting
2025-04-23 13:29:21 +01:00
Michael Mandrus
67ac54fb0e Chore: Rename file containing SQLStore migrations per repo conventions (#104354)
rename per conventions
2025-04-23 08:26:45 -04:00
Juan Cabanas
ed27d76d7f Grafana UI: Add ref to TagsInput (#104344) 2025-04-23 09:13:58 -03:00
Alexander Akhmetov
0743689d42 Alerting: Add recovering state to the grafana_alerting_alerts metric (#104380) 2025-04-23 13:58:57 +02:00
Alexander Zobnin
9b325438f7 Chore: Upgrade authlib (use UIDs for authz checks) (#104307) 2025-04-23 12:51:37 +01:00
Tom Ratcliffe
cd8556026e Chore: Fix re-exported skipToken from dashboards API (#104387) 2025-04-23 12:38:10 +01:00
Tom Ratcliffe
a47a155a89 Alerting: Only show DMA button when query datasource supports it (#104158) 2025-04-23 12:14:27 +01:00
Tom Ratcliffe
f9d2199b12 Alerting: Enable no-nested-ternary ESLint rule (#104085) 2025-04-23 11:00:40 +00:00
Torkel Ödegaard
dc0501e376 Alerting: Simplify actions (#103494) 2025-04-23 12:45:28 +02:00
Ryan McKinley
3923538ba4 Provisioning: Delete from repository, not the resource client on rename (#104291)
Co-authored-by: Roberto Jimenez Sanchez <roberto.jimenez@grafana.com>
2025-04-23 12:30:30 +02:00
Ihor Yeromin
8cee546d67 DataLinks: Long link title wrapping (#104169)
chore(data-links): link text wrap
2025-04-23 12:27:09 +02:00
Ryan McKinley
7e192e319c Devenv: Avoid explicit uid for testdata in dashboards (#104338) 2025-04-23 12:46:34 +03:00
Sven Grossmann
4b48121464 Investigations: Allow everyone with datasources:explore permissions to use investigations (#104280)
* Investigations: Authorize everyone to create investigations

* fix test
2025-04-23 11:30:59 +02:00
Tom Ratcliffe
f9fb6f3b88 Chore: Update eslint configs to ignore /spec/ files when necessary (#104377) 2025-04-23 10:24:26 +01:00
Sonia Aguilar
9a7cb96eb0 Alerting: Allow clearing namespace and group filter (#104376)
allow clearing namespace and group filter
2025-04-23 10:17:09 +01:00
marybelvargas
5a50c76f58 [Docs - RBAC] Update docs to reflect new fixed role granted to the Viewer basic role (#104353)
Co-authored-by: Irene Rodriguez <irene.rodriguez@grafana.com>
2025-04-23 09:15:06 +00:00
Torkel Ödegaard
85a0a47efc Dashboard: Fixes outline for repeated rows (#104283)
* Dashboard: Fixes outline for repeated rows

* Update

* make i18n-extract

---------

Co-authored-by: oscarkilhed <oscar.kilhed@grafana.com>
2025-04-23 10:10:09 +01:00
Ivana Huckova
f932bf7f36 Jaeger: Run traceID queries through backend when node graph is enabled (#104029)
* Refactor current solution

* Run traceid queries with enabled node graph through backend

* Update test

* Fix lint

* Uodate based on feedback, don't spread
2025-04-23 11:01:40 +02:00
sarah-spang
1d3d13c0cd Docs: RBAC - Fix incorrect role name (#104244)
Docs: Fix incorrect role name

Doc references fixed:licensing:viewer, however, this role does not exist. It should be fixed:licensing:reader
2025-04-23 10:41:19 +02:00
renovate[bot]
d0d1fb2de2 Update dependency i18next-browser-languagedetector to v8.0.5 (#104294)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-23 07:40:29 +00:00
Stephanie Hingtgen
ee4d59b547 Linter: fix conflict (#104370)
Linter: fix enterprise conflict
2025-04-23 07:00:32 +01:00
Stephanie Hingtgen
b887e8aa05 K8s: Dashboards: Add fine grained access control checks to /apis (#104347)
---------

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
Co-authored-by: Gabriel MABILLE <gabriel.mabille@grafana.com>
Co-authored-by: Marco de Abreu <marco.deabreu@grafana.com>
Co-authored-by: Georges Chaudy <chaudyg@gmail.com>
2025-04-23 03:29:05 +01:00
grafana-pr-automation[bot]
410c5ebfb7 I18n: Download translations from Crowdin (#104364)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-04-23 01:36:28 +01:00
grafana-delivery-bot[bot]
028a3aaafa Release: update changelog for 11.3.6 (#104358)
* Update changelog

* Update CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Jev Forsberg <46619047+baldm0mma@users.noreply.github.com>
2025-04-22 17:39:52 -06:00
grafana-delivery-bot[bot]
d03b938d2b Release: update changelog for 11.2.9 (#104357)
* Update changelog

* baldm0mma/ add cves

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: jev forsberg <jev.forsberg@grafana.com>
Co-authored-by: Jev Forsberg <46619047+baldm0mma@users.noreply.github.com>
2025-04-22 22:23:50 +00:00
grafana-delivery-bot[bot]
092727e8f7 Release: update changelog for 10.4.18 (#104355)
* Update changelog

* baldm0mma/ add cve

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: jev forsberg <jev.forsberg@grafana.com>
2025-04-22 16:00:46 -06:00
Kevin Minehart
6e4e256778 Chore: update changelog for 11.6.0.1 (#104351)
* update changelog for 11.6.0.1

* baldm0mma/ add cve

---------

Co-authored-by: jev forsberg <jev.forsberg@grafana.com>
Co-authored-by: Jev Forsberg <46619047+baldm0mma@users.noreply.github.com>
2025-04-22 21:03:19 +00:00
Pepe Cano
6abe6499c4 docs(alerting): clarify how Math expressions operate on multiple series (#104316) 2025-04-22 22:56:56 +02:00
Pepe Cano
d0154e8e77 docs(alerting): admonition for webhook features that are not GA in GC (#104331)
* docs(alerting): admonition for webhook features that are not GA in GC

* fix plural

* minor copy change
2025-04-22 22:45:48 +02:00
grafana-delivery-bot[bot]
69f68cb73e Release: update changelog for 11.5.3+security-01 (#104340)
* Update changelog

* baldm0mma/ update changelog

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: jev forsberg <jev.forsberg@grafana.com>
2025-04-22 20:33:38 +00:00
Pepe Cano
50e24d6634 docs(alerting): clarify that webhook extra headers can override the Content-Type header (#104324) 2025-04-22 22:19:28 +02:00
Pepe Cano
54fb34f59b docs(alerting): specify sequential evaluation for imported DS rules (#104234) 2025-04-22 22:17:45 +02:00
Pepe Cano
7c0cb1b7bb docs(alerting): replace outdated alert state diagram with updated image (#104232) 2025-04-22 22:15:07 +02:00
Pepe Cano
9e4980320a docs(alerting): add JSON payload example to template examples list (#104282) 2025-04-22 22:14:50 +02:00
grafana-delivery-bot[bot]
0d0981ac57 Release: update changelog for 11.4.3+security-01 (#104337)
* Update changelog

* baldm0mma/ update cves in changelog

* baldm0mma/ fix cve number

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: jev forsberg <jev.forsberg@grafana.com>
2025-04-22 19:59:55 +00:00
grafana-delivery-bot[bot]
43f7e8a7df Release: update changelog for 11.2.8+security-01 (#104317)
* Update changelog

* baldm0mma/ add cves

* baldm0mma/ fix syntax

* baldm0mma/ fix cve number

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: jev forsberg <jev.forsberg@grafana.com>
2025-04-22 19:59:25 +00:00
grafana-delivery-bot[bot]
d80d030490 Release: update changelog for 11.3.5+security-01 (#104323)
* Update changelog

* baldm0mma/ add cves

* baldm0mma/ fix syntax

* baldm0mma/ fix cve number

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: jev forsberg <jev.forsberg@grafana.com>
2025-04-22 19:36:02 +00:00
Jev Forsberg
e8f5200a32 Chore: Update 10.4.17-sec changelog with cves (#104333)
baldm0mma/update 10.4.17-sec changelog with cves
2025-04-22 19:31:06 +00:00
Marie Cruz
8dd5dbbe5c Dashboard: remove broken play dashboard on the annotate visualizations page (#104288)
remove broken play dashboard
2025-04-22 20:26:34 +01:00
Adam Simpson
2eab7cb63b ds-querier: improve instant vector support (#103954) 2025-04-22 15:20:45 -04:00
Moustafa Baiou
5ddcac8678 Alerting: Add back time interval items to the API spec (#104306) 2025-04-22 14:57:04 -04:00
Ryan McKinley
82332819ef DataSourceSrv: include alias in type filter (#104308) 2025-04-22 21:34:56 +03:00
ismail simsek
4b1fa81394 Chore: Better builtin variable check during parsing the code (#103952)
* replace and return the builtin variables

* don't parse the expression twice

* improve the replacement logic

* better code with more tests

* lint

* betterer

* rename the test suite
2025-04-22 19:57:01 +02:00
Eric Leijonmarck
4bf32f3651 Zanzana: Adds readme with configuration for openfga cli (#104276) 2025-04-22 17:36:47 +00:00
ismail simsek
89198bb749 Prometheus: Remove series endpoint call from Metrics Explorer (#104263)
* Remove series endpoint call

* lint
2025-04-22 19:23:10 +02:00
Jacob Valdez
9c125b812d Docs: Making some slight adjustments to migration assistant (#104180) 2025-04-22 12:21:15 -05:00
Roberto Jiménez Sánchez
a438b192d3 Provisioning: unit test repository/github package (#104310)
* Add unit tests IsAuthenticated

* Add unit tests RepoExists

* Add unit tests GetContents

* Add initial unit tests GetTree

* Add unit tests for CreateFile

* Add unit test UpdateFile

* Add unit tests DeleteFile

* Add unit tests for Commits

* Add unit tests for helpers

* Add unit test CompareCommits

* Add GetBranch tests

* Add unit tests BranchExists and CreateBranch

* Add unit tests Webhooks

* Remove unused code

* Add unit tests CommentPullRequest

* Add more cases for GetTree

* Complete coverage

* Fix linting
2025-04-22 18:20:29 +01:00
ismail simsek
8ef8471b23 Chore: Remove prometheusUsesCombobox feature toggle (#103940)
* remove prometheusUsesCombobox feature toggle

* betterer

* fix the unit test

* create MetricsLabelsSection unit tests

* fix unit tests

* fix unit tests in PromQueryBuilder.test.tsx

* prettier

* remove timeouts

* Revert "remove timeouts"

This reverts commit 84af1fd46b.
2025-04-22 18:54:10 +02:00
Jack Baldry
576bf66e03 Add Observability as Code documentation (#104301)
Co-authored-by: Kim Nylander <kim.nylander@grafana.com>
Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>
2025-04-22 16:53:41 +00:00
Ashley Harrison
e42cca9527 Chore: fix translations missing keys (#104314)
fix translations missing keys
2025-04-22 17:51:32 +01:00
grafana-delivery-bot[bot]
b8b7d7c205 Release: update changelog for 10.4.17+security-01 (#104304)
Update changelog

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-04-22 10:35:27 -06:00
Ryan McKinley
cd0ba68002 Provisioning: Update driver logic (#104233) 2025-04-22 16:42:33 +02:00
Ashley Harrison
fbb0bef368 Internationalisation: Ignore enterprise files for now (#104293)
ignore enterprise files for now
2025-04-22 11:40:06 -03:00
Sonia Aguilar
2514944d3c Alerting: Fix wrong conditional showing errors all the time (#104297)
fix wrong conditional showing errors all the timne
2025-04-22 14:39:45 +00:00
Roberto Jiménez Sánchez
c5f8b4475f Provisioning: add some unit test coverage for Github repository (#104284)
* Test validate

* Complete tests for validate

* Add tests for validate

* Add unit tests Read

* Add unit tests ReadTree

* Add unit tests Create

* More specific on apierrors

* Improve coverage

* Add unit tests for Update

* Add unit tests for Write

* Add tests for deletion

* Add test for recursion error

* Add unit tests History

* Add basic scenarios webhook method

* Add cases for push

* Add unit tests for pull request event

* Remove addressed FIXME

* Meta import

* Use sha256

* Fix linting error use of As
2025-04-22 15:31:00 +01:00
Alex Spencer
680874e0d5 TableNG: Fix sub table styles + expand/collapse (#104015)
* fix: sub table expand/collapse + styles

* chore: pass in datagrid styles differently

* chore: fix test lint

* chore: fix cell hover flicker

* chore: fix sub table height issue

* chore: fix background color hover issue

* chore: revert hover changes - separate PR incoming

* chore: fix sub table width + alignment

---------

Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
2025-04-22 08:15:48 -06:00
Ashley Harrison
ba05a1e5d2 Theme: Expose Drawer padding as part of theme.components (#104273)
* expose drawer padding as part of theme.components

* add default
2025-04-22 15:01:41 +01:00
Alexander Akhmetov
12c8e54990 Alerting: Upgrade alerting module (#104266) 2025-04-22 14:43:06 +01:00
Joey
d1bbebcc7b Tempo: Copy full trace id on imported trace (#104264)
* Ensure all of trace id is copied

* Update tests
2025-04-22 14:37:40 +01:00
Alexander Zobnin
073e6dc98c Zanzana: Fix OpenFGA HTTP server (#104088)
Zanzana: Fix OpenFGA grpc server
2025-04-22 15:18:59 +02:00
Alex Khomenko
b6e5b5d20f Provisioning: Add onboarding page graphic (#104162)
* Provisioning: Add onboarding page graphic

* Update translations
2025-04-22 16:13:03 +03:00
Ashley Harrison
b052b28a88 Internationalisation: Enable i18n eslint rules (#104277)
* enable i18n rules by default

* commit translation changes
2025-04-22 13:56:25 +01:00
Alexa V
94e24f44b9 Dashboard: SchemaV2 Fix Import mapping datasource (#104200)
* Dashboard: SchemaV2 Fix mapping ds for variables and annotations

* process annotations and vars ds inputs so they can be selected

* clean up so async works

* Add basic unit test for v2 dashboards mapping

* clean up tests

* linting

---------

Co-authored-by: Haris Rozajac <haris.rozajac12@gmail.com>
2025-04-22 14:47:10 +02:00
Peter Holmberg
fab0bdd634 Navigation: add service center as a standalone nav item (#102897)
add service center as a standalone nav item
2025-04-22 14:20:36 +02:00
Andreas Christou
66c56cdb83 Graphite: Support backend queries with different time ranges (#103984)
* Refactor to handle queries with various time ranges

* Lint

* Remove comment
2025-04-22 13:14:24 +01:00
Fayzal Ghantiwala
3a054d5e00 Alerting: Add FiredAt field to State (#104046)
* Add FiredAt field to the State

* Update featuretoggle files

* Fix lint errors

* Fix test compilation

* Remove random print line + formatting

* Address PR comments
2025-04-22 12:16:38 +01:00
Ashley Harrison
9ed3c9ee8a Internationalisation: Final mark up of strings (#104165)
* some more markup

* more markup

* more markup

* almost there...

* more markup

* more markup

* last markup!

* fix unit tests
2025-04-22 11:02:01 +01:00
Ryan McKinley
3310149964 Chore: Update internal go.mod references (#104262) 2025-04-22 10:42:39 +01:00
Fayzal Ghantiwala
f29941c335 Alerting: Use value of ha_redis_cluster_mode_enabled in redisPeer config (#104269)
fix assignment of redis cluster mode cfg
2025-04-22 10:40:48 +01:00
Serge Zaitsev
1d180c0611 Chore: Clean up unused parts of xorm/core (#104260)
* remove unused part of xorm

* remove onlytodb and onlyfromdb tags

* only keep snapemapper, since we always assumed it is the only one available in xorm
2025-04-22 11:37:07 +02:00
Matheus Macabu
fc9f32a9f6 SQLTemplates: Add helper to ensure all templates have a test-case (#103964)
* SQLTemplates: Add helper to ensure all templates have a test-case associated

* UnifiedStorage: Add missing sql template test case

* LegacyDashboards: Add sql templates fs to test cases for exhaustiveness check

* RBACStore: Add sql templates fs to test cases for exhaustiveness check

* LegacyIAM: Add missing sql template test cases
2025-04-22 11:21:51 +02:00
Konrad Lalik
512df0091a Alerting: Add a button to try out the new list page (#103855)
* Add user-facing feature toggle functionality for the new alerting list view

- Implemented `useFeatureToggle` hook to manage feature toggles using local storage.
- Added unit tests for `useFeatureToggle` to verify behavior for various toggle states.
- Updated `RuleList` components to utilize the new feature toggle for alerting list view.
- Introduced `RuleListPageTitle` component to handle toggling between list views with a badge indicator.

* Add tests

* Fix imports and remove unused code

* Add a new feature flag for list v2 preview button

* Hide v2 preview button behind the new feature flag

* Update list v2 feature toggle stage

* Alerting: List view feature toggle button PR review (#104161)

* Add test for undefined feature toggles case

* Tweak tests to use test utils and user

* Add i18n for toggle button and tweak props spreading

* Update translations

---------

Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
2025-04-22 10:50:34 +02:00
Ryan McKinley
17e4a3b386 Playlists: Remove kubernetesPlaylists flag (#104171) 2025-04-22 10:39:40 +02:00
Josh Hunt
64e9f9bf44 Shortcuts: Remove esc global keybinding clearing search parameter (#104196) 2025-04-22 09:24:56 +01:00
Matheus Macabu
7c8433fbb2 Unified: Replace user.SignedInUser with StaticRequester in apistore perm tests (#104257) 2025-04-22 10:47:09 +03:00
Matheus Macabu
ca36d77f5b Dependencies: Bump golang.org/x/net to v0.39.0 in apps/advisor (#104228) 2025-04-22 09:06:59 +02:00
Dominik Prokop
98e737cb5d Schema v2: Persist only relevant field config when transforming to save model (#104197) 2025-04-22 08:22:23 +02:00
Ryan McKinley
d6dbc0a421 Provisioning: Migrate use history only with github (#104219) 2025-04-21 21:10:37 +03:00
Pepe Cano
536ff2fc3d docs(alerting): clarify recovery threshold for pending state (#102780)
Alerting docs: clarify recovery threshold on pending state
2025-04-21 18:50:53 +02:00
Artur Wierzbicki
fd99b67205 Dashboards: Preserve schema version in /api (#104213)
---------

Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-04-21 10:51:28 -05:00
William Wernert
820c338414 Alerting: Ensure field validators return the proper type (#104050)
* Ensure field validators return the proper type

This ensures correct error propagation through services up to
the API layer.

* Move error wrapping up to call site
2025-04-21 16:15:09 +01:00
Roberto Jiménez Sánchez
3dda7ccc30 Provisioning: folder not found legacy migration (#104225) 2025-04-21 16:20:39 +03:00
Jo
afcb551562 TeamMember: Treat null permission as member (#104195) 2025-04-21 06:41:30 -05:00
Pepe Cano
a3d27c5912 docs(alerting): Add heartbeat monitoring docs for the IRM contact point (#103811)
* docs(alerting): Add heartbeat monitoring docs for the IRM contact point

* Use `After` instead of `Once`
2025-04-21 12:31:56 +02:00
Pepe Cano
f023fcc68a docs(alerting): New Alertmanager contact point docs (#103782) 2025-04-21 12:08:41 +02:00
Ryan McKinley
c8f65a0348 Provisionig: Add skipDryRun parameter to the /files/ resource (#104152) 2025-04-21 11:49:06 +03:00
Ryan McKinley
c09ef1189e K8s/Storage: remove github.com/grafana/grafana from go.mod (#104212) 2025-04-21 10:48:44 +03:00
grafana-pr-automation[bot]
f85e012e42 I18n: Download translations from Crowdin (#104210)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-04-20 01:32:56 +01:00
Sven Grossmann
ea450a92f9 Extension Sidebar: Close sidebar with toolbar button (#104208)
* Extension Sidebar: Improve closing behavior

* Extension Sidebar: Fix title
2025-04-19 22:38:58 +02:00
grafana-pr-automation[bot]
5ec8750875 I18n: Download translations from Crowdin (#104188)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-04-19 01:30:39 +01:00
Yuri Tseretyan
d1b2e669a7 Alerting: remove alertingApiServer flag (#104133) 2025-04-18 19:57:39 +00:00
Ryan McKinley
efd9334295 Provisioning: route provisioning storage to the provisioning client (#104082) 2025-04-18 21:47:37 +03:00
Yuri Tseretyan
689da86f81 Alerting: update alerting notifications module to the latest main (#104201) 2025-04-18 19:00:37 +01:00
Yuri Tseretyan
1bafd5c807 Docs: Remove mention of alertingApiServer flag from alerting documentation (#104131) 2025-04-18 11:51:38 -04:00
Stephanie Hingtgen
9f09e94fe8 Klog: Reduce verbosity and set as default (#104199) 2025-04-18 10:37:23 -05:00
Gilles De Mey
c174c855c3 Alerting: Update alerting cue definitions (#104053)
Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2025-04-18 15:14:52 +01:00
Kevin Minehart
8d883ecda1 CI: remove old patch checks (#104184)
* remove old patch checks

* remove from CODEOWNERS

* rerun CI
2025-04-17 23:13:06 +01:00
Kristina
57fd67436e Transformations: Remove deprecated ui element and wrap pills (#104143)
* Remove deprecated ui element and wrap pills

* Fix for labels to fields too

* Update betterer
2025-04-17 16:23:06 -05:00
Luminessa Starlight
8b28c84017 TextPanel: Allow markdown to-do checkboxes in TextPanel (#104136)
TextPanel: Allow markdown to-do checkboxes
Fixes #95054
2025-04-17 12:56:09 -04:00
Haris Rozajac
82184686dc Dashboard: Support TemplateSrv.containsTemplate in scenes context (#104072) 2025-04-17 10:55:03 -06:00
Tobias Skarhed
8021dee6f1 Scopes: Add recent scopes selectors (#103534)
* Add recent scopes to command palette

* Remove parent action

* Support updating select set of scopes

* Filter out currently selected scope

* Add recent scopes to drawer

* Add expandable section

* Add recent scopes component

* Only show recommended for leaf nodes

* Small style fixes

* Always write to recent after fetching new scopes

* Add feature toggle check for command palette

* Use i18n

* Remove unused prop

* Add test cases for recent scopes in selector

* Add more test cases

* Add clear test action

* Remove unused imports
2025-04-17 17:00:10 +02:00
Roberto Jiménez Sánchez
6bdf161865 Provisioning: unit test local repository in repository package (#104108) 2025-04-17 15:27:54 +01:00
Ashley Harrison
77f844a319 Playlists: Don't show page header action during empty state + update docs (#104100)
don't show page header action when empty state is visible + update docs
2025-04-17 13:59:33 +01:00
Darren Janeczek
df0cb43228 fix: prevent border & background showing for transparent switch components (#104080)
* fix: prevent border & background showing for transparent switch components

---------

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2025-04-17 12:56:08 +00:00
Roberto Jiménez Sánchez
d38cd9d6c4 Provisioning: unit test pull request job (#104058) 2025-04-17 15:33:32 +03:00
Josh Hunt
2cf67806d9 Chore: Fix number variable in skye github action (#104123)
* Chore: Fix number variable in skye github action

* try other syntax

* use fromJSON

* skip the set_number step

* comments

* newline
2025-04-17 13:24:24 +01:00
Hugo Häggmark
0c646fa520 Chore: skips flaky e2e test (#104167) 2025-04-17 13:01:26 +01:00
Jean-Philippe Quéméner
3380ea441a feat(unified-storage): return guid, group and resource on read/list (#104121) 2025-04-17 12:58:58 +02:00
Ryan McKinley
a02ff218df Geomap: skip flakey e2e tests (#104155) 2025-04-17 13:07:18 +03:00
grafana-pr-automation[bot]
eac2df7fed I18n: Download translations from Crowdin (#104142)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-04-17 10:35:35 +01:00
Alex Khomenko
5877a70d1f [release-12.0.0] Provisioning: Add banner with more feature info (#104147)
* Provisioning: Add experimental feature banner

* translations
2025-04-17 10:04:10 +01:00
Tom Ratcliffe
079923443b Alerting: Hide GMA/DMA switch if no appropriate data sources are configured (#104038) 2025-04-17 09:50:46 +01:00
Ryan McKinley
dc8acf8e05 K8s: Fix kubectl access for apiserver resources (#103958) 2025-04-17 10:30:35 +03:00
Alex Khomenko
d85d730d9c Provisioning: Add banner with more feature info (#104111)
* Provisioning: Add experimental feature banner

* translations
2025-04-17 06:17:30 +01:00
Marco de Abreu
18a870d7ca GitHub Actions: Use PR commit SHA for reporting status (#104141)
Use correct SHA for reporting status checks

Co-authored-by: Marco de Abreu <18629099+marcoabreu@users.noreply.github.com>
2025-04-17 02:44:11 +01:00
Nathan Vērzemnieks
af59c4eb3e Chore: bump grafana-plugin-sdk-go from v0.275.0 to v0.277.0 (#103971)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2025-04-17 00:32:25 +03:00
Jacob Valdez
cf76777170 Docs: Updating cloud migration docs ahead of G12 (#103835)
Co-authored-by: Michael Mandrus <41969079+mmandrus@users.noreply.github.com>
2025-04-16 14:51:31 -05:00
Isabella Siu
3bbc4c0024 Cloudwatch: Update grafana-aws-sdk (#104119)
Cloudwatch: update grafana-aws-sdk
2025-04-16 15:39:04 -04:00
Ryan McKinley
a3c71accf5 Chore: go mod tidy... with current imports (#104127) 2025-04-16 19:35:10 +01:00
Ihor Yeromin
ec17e0e4ce TableNG: Prevent unnecessary table cell re-renders on hover (#104032)
* fix(table-ng): on hover cell re-render
2025-04-16 19:37:22 +02:00
Tom Ratcliffe
0860867b84 i18n: Fix all remaining alerting translation markup (#104103)
* alerting markup

* fix typo

* Fix remaining Alerting issues 🎉

* Enable no-untranslated-strings rule for alerting

* Fix i18n eslint rule for "fixed" areas of code

* Remove auto fixing

* kick CI

---------

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-04-16 17:45:12 +01:00
Josh Hunt
fd830759ab Chore: Fix missing permissions in sky-add-to-project action (#104106)
* Chore: Fix missing permissions in sky-add-to-project action

* fix missing issue number
2025-04-16 17:33:54 +01:00
Torkel Ödegaard
c1291e3031 AutoGrid: Tweak height of short row height (#104115)
AutoGrid: Tweak auto short height
2025-04-16 18:24:00 +02:00
Drew Slobodnjak
b694857e00 Geomap: Tooltip for multiple features same coord (#103163)
* Geomap: Tooltip for multiple features same coord

* Add basic test coverage

* Be explicit with sorting to avoid truthiness error

* Add sorting to tests and clean up

* Check again for duplicates
2025-04-16 08:07:57 -07:00
Kevin Minehart
15a50310bc CI: cancel concurrent test runs in prs but not main (#104110)
cancel concurrent builds in prs but not main
2025-04-16 09:43:26 -05:00
Andrew Hackmann
9eb311c037 Graphite: Fix queries with series refs not updating in alerts (#104019)
* use targetFull to see if query has changes for nested series

* prettier
2025-04-16 09:07:17 -05:00
Torkel Ödegaard
e5b8796a18 Dashboard: Adding variables and selecting type (#103956)
* Dashboard: Adding variables and selecting type

* Make i18n-extract

---------

Co-authored-by: oscarkilhed <oscar.kilhed@grafana.com>
2025-04-16 16:01:55 +02:00
Josh Hunt
2208a24c72 Chore: Action to add issues to Skye project board (#104102)
* Chore: Action to add issues to Skye project board

* codeowners
2025-04-16 14:48:34 +01:00
Ashley Harrison
45092261ab Playlist: Move to generated api client (#103083)
* create playlist api client

* add more api client methods

* integrate new client. TODO: tests, integrate remaining util functions

* add error handling

* fix unit tests

* refactor to remove PlaylistUI type

* cleaner PlaylistStartPage

* handle generateName

* Fix startmodal name

* create generic error handling util

* prettier

* keep migration code for now

* better syntax
2025-04-16 13:27:52 +01:00
Hugo Kiyodi Oshiro
c947732e0d Plugins: Add feature toggle for plugins auto-update (#103993) 2025-04-16 13:44:39 +02:00
Andreas Christou
519b75bd1e InfluxDB: Fix nested variable interpolation (#104067)
Validate query type
2025-04-16 11:54:45 +01:00
Roberto Jiménez Sánchez
55a2b77386 Provisioning: refactor commit signature logic (#104055)
* WIP: Separate signature package

* Add some unit tests

* Test factory

* Finish unit test coverage signature package

* Fix register

* Add FIXME

* Add more coverage

* Add more coverage

* Fix migrate tests

* Fix unit tests
2025-04-16 10:04:19 +01:00
Ashley Harrison
61cd19c540 Chore: More internationalisation markup (#104051)
* More markup

* fix some ternaries

* more alerting markup

* fix unit tests
2025-04-16 09:25:18 +01:00
Laura Fernández
68c6e4b1e7 i18n: Move locale code behind the feature toggle in internationalization/dates.ts (#103981) 2025-04-16 09:54:10 +02:00
Artur Wierzbicki
73307a6f8f Provisioning: allow whitespace in remote paths (#103427) 2025-04-16 08:45:12 +01:00
Serge Zaitsev
047f5edae9 Chore: Add xorm.io/core into xorm (#103700)
* add xorm.io/core into xorm

* update workspace

* format imports

* update workspace
2025-04-16 08:58:50 +02:00
ismail simsek
10eb8aeeee Prometheus: Remove /series endpoint usage from Metrics Browser (#101705)
* convert it to functional component

* useReducer

* usePromQueryFieldEffects

* clean up the code

* remove localStorage provider

* introduce usePromQueryFieldEffects.test.ts

* simpler state management

* remove mocks

* linting + betterer

* Split PrometheusMetricsBrowser into small functional components

* remove /series endpoint usages for Metrics Browser

* add time ranges

* remove unused file

* fix unit test

* use limit

* re-fetch labels when a label value is selected

* reset the label keys when selector is empty

* select multiple labelValue

* fix unit tests

* add comments

* don't show unpresented labelKeys

* don't clear out selected label keys that are in local storage

* show values properly

* fix clearing

* don't discard already selected label values when a new label value selected

* remove unnecessary unit test

* clear all selections

* if metrics list is empty remove all label keys too

* re-populate values when all label selections are removed

* safety

* more comments

* updating the whole fetching mechanism

* buildSafeSelector

* loadSelectedLabelsFromStorage

* fetchMetrics

* fetchLabelKeys

* fetchLabelValues

* more unit test and comment

* timeRange changes will trigger re-fetch

* some more comments

* fix the unit test

* lint

* fix unit tests

* fix timerange causing problem

* remove fethcing message

* proper initialization

* fix value fetching during metric selection

* fix value fetching

* fix unit tests

* fix a bug

* comments

* some precaution

* fix the test

* fetch metrics when metric selection is changed

* trigger initialize when seriesLimit is change

* Revert "trigger initialize when seriesLimit is change"

This reverts commit c6cbbc1386.

* remove redundant comments
2025-04-16 08:36:23 +02:00
Hugo Häggmark
74487726fc e2e: improves flakiness and speed (#103533)
* e2e: improves flakiness

* Chore: refactor flaky test

* e2e: more refactor

* e2e: do not keep successfull test run videos

* e2e: do not log selectors

* chore: updates after pr feedback

* chore: updates after pr feedback

* chore: adds retries to flaky e2e test

* e2e: skip flaky tests

* e2e: skip flaky tests

* e2e: revert back to timeout

* chore: removes all the skips
2025-04-16 05:21:06 +01:00
Marco de Abreu
5d65063987 GitHub Actions: Explicitly pass github username and commit sha (#104079)
Explicitly pass github username and commit sha

Co-authored-by: Marco de Abreu <18629099+marcoabreu@users.noreply.github.com>
2025-04-15 20:01:40 -05:00
grafana-pr-automation[bot]
1b7207f3e6 I18n: Download translations from Crowdin (#104078)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-04-16 01:32:11 +01:00
Marco de Abreu
5094bc29c3 GitHub Action: Fix syntax error (#104074)
Fix syntax error

Co-authored-by: Marco de Abreu <18629099+marcoabreu@users.noreply.github.com>
2025-04-15 21:47:44 +00:00
Marco de Abreu
d57fa1291f Dashboards: Disallow List with RV filter on legacy & align RV format (#104003)
Throw errors when trying to call List in legacy with an RV specified
Change ResourceVersion to microseconds

Co-authored-by: Marco de Abreu <18629099+marcoabreu@users.noreply.github.com>
2025-04-15 22:08:54 +01:00
Gilles De Mey
71b06e9845 Alerting: Return an empty array for contact points with no integrations (#104063)
Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
2025-04-15 21:52:56 +01:00
Marco de Abreu
4e33702ea2 GitHub: Add workflows for jobs in private repo (#104052)
Add workflows for jobs in private repo

Co-authored-by: Marco de Abreu <18629099+marcoabreu@users.noreply.github.com>
2025-04-15 21:46:31 +01:00
Marco de Abreu
2a61763703 Dashboards: Don't run cleanup job when backed by legacy storage (#104001)
Don't run dashboard cleanup job when backed by legacy storage

Co-authored-by: Marco de Abreu <18629099+marcoabreu@users.noreply.github.com>
2025-04-15 13:43:05 -07:00
Marco de Abreu
163a8d5f0c NGAlert: Fix flaky test (#104070)
Fix flaky test

Co-authored-by: Marco de Abreu <18629099+marcoabreu@users.noreply.github.com>
2025-04-15 20:56:42 +01:00
wuweng
3320dc116e skip trace for '/api/health' endpoint (#103430)
* skip trace for '/api/health' endpoint

* fix formatting

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

---------

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
Co-authored-by: Dave Henderson <dave.henderson@grafana.com>
2025-04-15 15:47:58 -04:00
Marco de Abreu
f421c71373 Provisioning: Fix flaky test CreatingGitHubRepository (#104068)
Fix flaky CreatingGitHubRepository

Co-authored-by: Marco de Abreu <18629099+marcoabreu@users.noreply.github.com>
2025-04-15 15:44:27 -04:00
Nick Richmond
b671c69eb1 MetricsDrilldown: Restore link to Metrics Drilldown from Explore (#104069)
fix: add missing entry in list of queryless apps
2025-04-15 20:41:40 +01:00
Moustafa Baiou
b604fdf6f8 Alerting: Update docs for RBAC (#104005)
* Alerting: Update docs for RBAC

This updates the documentation for RBAC to match the changes from 032299011a

* add note about RBAC permissions with datasource permissions

* writers toolkit update
2025-04-15 15:34:19 -04:00
Matias Chomicki
b2847f3b4d Loki Query Editor: Interpolate query before evaluating type and add variables support to ranged aggregation (#104035)
* LokiQueryBuilderOptions: interpolate query before evaluating

* Query builder: parse variables in vector aggregation

* Fix imports

* Update public/app/plugins/datasource/loki/querybuilder/components/LokiQueryBuilderOptions.tsx

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>

* Add comment

---------

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2025-04-15 20:20:40 +01:00
Marco de Abreu
b3b92e2471 Storage: Change timeout for flaky test (#104065)
Change timeout for flaky test

Co-authored-by: Marco de Abreu <18629099+marcoabreu@users.noreply.github.com>
2025-04-15 19:28:27 +01:00
Kevin Minehart
79eb1b0033 CI: remove go test cache write/delete (#104064)
remove go test cache write/save/delete
2025-04-15 19:07:36 +01:00
Edvard Falkskär
e45f2d0a18 Logs: Add labels as variable for use in correlations/links (#103605) 2025-04-15 16:08:29 +02:00
Roberto Jiménez Sánchez
08316103b5 Provisioning: refactor and test migrate job (#103976)
* Rename and make folder migrator public

* Move skipRepo out of tree

* Move folder logic out of worker

* Use wrapper function for clone

* Introduce storage swapper

* Use RepositoryResources interface

* Add TODO

* Signature with option

* Use plural for folders

* Split more logic out of worker

* Refactor further

* Remove todo

* Refactor further

* Test worker

* Add test for unified storage

* Add mock for bulk store

* Clean line

* Test more about storage

* Happy path storage test

* Finish storage tests

* Add more interfaces

* Add some tests legacy

* Complete test coverage legacy

* Complete coverage legacy

* Fix compilation

* Add initial folders tests

* Finish coverage for folders

* Test namespace cleaner

* Fix typo

* Add some tests for resources

* Finish coverage migrate package

* Update tests

* Fix jobs tests

* Unit test users

* Convert user tests to table tests

* Fix linting in tests

* Fix typo

* Use PreloadAllUserInfo

* Add FIXME
2025-04-15 15:02:19 +01:00
Andres Martinez Gotor
e93fc9c003 UserStorage: Improve error handling (#104025) 2025-04-15 15:32:46 +02:00
Sonia Aguilar
aacac86811 Alerting: Add additional text for creating a new label in labels subform (#104022) 2025-04-15 15:25:35 +02:00
Tom Ratcliffe
8161e52061 i18n: Improve how ternary cases are captured as untranslated text (#104034) 2025-04-15 14:07:23 +01:00
Gábor Farkas
66a04babe1 datasources: querier: handle the grafana-ds (#103980)
* datasources: querier: handle the grafana-ds

* updated dependencies
2025-04-15 14:55:39 +02:00
Tom Ratcliffe
eac312753f Internationalization: Update translation rule to catch ternary cases (#104027) 2025-04-15 12:25:41 +01:00
Esteban Beltran
7b4eb22242 Chore: Remove code for feature flag frontendSandboxMonitorOnly (#103982)
* Chore: Remove code for feature flag frontendSandboxMonitorOnly

* Fix lint issues
2025-04-15 12:52:14 +02:00
Sam Jewell
5c418196f9 SQL Expressions: Add STDDEV(), VARIANCE() and aliases (#103851)
* SQL Expressions: Bump GMS for STDDEV(), VARIANCE()

Bump Go MySQL Server to the latest version, to get support for STDDEV()
and VARIANCE() functions, and their aliases.

See https://github.com/dolthub/go-mysql-server/pull/2928

* Update app-code to comply with latest GMS version

* Run `go mod tidy`

* Update test which had depended on STDDEV being missing

* Run `make update-workspace`
2025-04-15 10:48:19 +01:00
Alexander Zobnin
4ea56b2cfb Zanzana: Fix reconciliation for roles (#103889)
* Zanzana: Fix reconciliation for roles

* update go workspaces

* update go.sum
2025-04-15 11:33:40 +02:00
Sam Jewell
3bdcbc5d37 TestData DS: Make Random Walk queries compatible with Data Plane (#103966)
* DataData DS: Add Frame type to Random Walk queries

* Time column should not be nullable

Conversion for the SQL (server-side) expression was failing with:
`failed to convert data frames to long format for sql: missing time field`

Because we weren't seeing a match at:
`if f.Type() == data.FieldTypeTime {`]
here:
acb0e6b609/pkg/expr/convert_to_full_long.go (L155)

The DataPlane docs (https://grafana.com/developers/dataplane/timeseries)
state that:
> - The Time field(s):
>    - Should have no null values

So making the fix here
2025-04-15 10:25:33 +01:00
Andres Martinez Gotor
19e77db4e7 Advisor: Avoid redirect if app is not installed (#103988) 2025-04-15 11:21:41 +02:00
Matias Chomicki
91687735b8 getLogRowStyles: fix typo (#103998) 2025-04-15 10:07:13 +01:00
Ashley Harrison
a2b06e2ec9 Internationalisation: More markup (#103970)
* more markup!

* fix tests

* use times symbol
2025-04-15 10:05:03 +01:00
Andrej Ocenas
9748b16ee8 Frontend instrumentation: Fix bug, where allInstrumentationsEnabled=false resulted in all instrumentation being active (#103979)
Fix allInstrumentationsEnabled flag
2025-04-15 10:58:13 +02:00
Torkel Ödegaard
daa5a48ef1 Variable options edit pane (#103852)
* Variable options in edit pane

* Variable options in edit pane

* Progress

* Variables, fixes blur events

* Update

* Update

* Update

* Progress

* Update

* Update
2025-04-15 10:38:24 +02:00
renovate[bot]
8e63782e5b Update faro to v1.16.0 (#103860)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-15 09:27:07 +01:00
Alex Khomenko
146c3120a7 Folders: Switch to use v1beta1 API version (#104020) 2025-04-15 10:21:47 +03:00
Moustafa Baiou
54d4b7842b Alerting: Fix flaky tests (#104017)
Alerting: fix flaky tests

Some test conditions introduced in #103403 are flaky because they rely on random behavior of the generator.

Sometimes rules are generated with an updated by (which warrants the lookup of the users). This makes it so those tests which are checking the user lookup always have rules with updated by.
2025-04-15 08:15:29 +03:00
Juan Cabanas
84ffe27f71 Invite User: Add invite user button in quick add dropdown menu (#104004) 2025-04-14 20:08:49 -07:00
grafana-pr-automation[bot]
59d03cd617 I18n: Download translations from Crowdin (#104018)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-04-15 01:31:47 +01:00
colin-stuart
7b8b88adad SCIM: Add group sync config option to test infra (#104007)
SCIM: Add group sync flag to test infra
2025-04-14 17:22:36 -04:00
Sam Jewell
4aa7d67edd Server-side expressions: Improve error message (#103968)
This error message is more correct
2025-04-14 21:14:03 +00:00
Ryan McKinley
0283c98e30 K8s/Folders: Use v1beta1 and app-sdk based spec (#103975) 2025-04-14 23:20:10 +03:00
Alexander Akhmetov
acfd998fa6 Alerting: Send resolved notifications immediately for state deleted states (#103996)
What is this feature?

Send resolved notifications not only when an alert state becomes stale (series is missing) and transitions from Alerting to Normal, but also from Error, NoData and Recovering.

Why do we need this feature?

Previously, when an alert state became stale or was deleted, it would transition to Normal but wouldn't trigger resolved notifications to the Alertmanager. This meant we relied on the Alertmanager to send resolved notifications when the alert expires. However, if the Alertmanager state is lost, these resolved notifications would never be sent, leaving users with firing alerts in their notification channels. This PR ensures that any transition from a firing state (Alerting, Error, NoData, Recovering) to Normal triggers a resolved notification.
2025-04-14 21:40:44 +02:00
Kristina
6fb8028abf Transformations / Reducers: Remove setting delta at value (#103742)
* Remove setting delta at value

* Add more tests for delta calculation
2025-04-14 12:42:06 -05:00
Georges Chaudy
e69052a417 unistore: add check when update the folder of a resource (#102699)
* Add check for move folder

* make the server test generic

* address comment
2025-04-14 16:57:40 +02:00
Ida Štambuk
27795ff7bf ElasticSearch: Improve index pattern error messaging and docs (#103899) 2025-04-14 15:55:33 +02:00
Sonia Aguilar
4cdffbe5c6 Alerting: Fix Simple condition threshold inputs with negative values. (#102976) 2025-04-14 13:47:22 +00:00
Andres Martinez Gotor
048d164a3c Advisor: Add redirection notice in data sources and plugins pages (#103894) 2025-04-14 15:40:16 +02:00
Tom Ratcliffe
754c0e1534 Internationalisation: Check if strings are entirely non-alphanumeric before reporting as issues (#103900) 2025-04-14 13:24:47 +00:00
beejeebus
b0ecc90329 InfluxDB: capture more downstream errors (#103978)
This adds more checks on the type of errors returned from InfluxDB
fsql datasource queries. The Grpc error code `Unavailable` is mapped
to a downstream error source.
2025-04-14 09:21:09 -04:00
Sven Grossmann
722cd25da1 Extension Sidebar: Add openExtensionSidebar helper to plugin extensions (#103962)
* Extension Sidebar: add `openExtensionSidebar` helper

* Extension Sidebar: Change var to `props`

* Extension Sidebar: Fix comment

* Extension Sidebar: Destructure `props`

* Extension Sidebar: Remove `@alpha` and rename `context` to `props` as `any`

* Extension Sidebar: Improve docs

* Extension Sidebar: Rename `openExtensionSidebar` to `openSidebar`

* Extension Sidebar: Use `Record<string, unknown>` as type

* Extension Sidebar: Use `Record<string, unknown>` as type

* Extension Sidebar: Add tests for event based opening

* Extension Sidebar: Lint

* Extension Sidebar: Fix toolbar button tests
2025-04-14 14:59:35 +02:00
Ryan McKinley
1d4d7cec41 Chore: update feature toggle stats from git (#103960) 2025-04-14 15:57:41 +03:00
Bogdan Matei
4434b40ca4 Dynamic Dashboards: Instantiate DashboardLayoutOrchestrator even without ff (#103957) 2025-04-14 15:26:45 +03:00
Tom Ratcliffe
d2b8994d80 Chore: Make sure we run prettier on cjs files (#103903) 2025-04-14 13:24:45 +01:00
Esteban Beltran
20d8223b6e Chore: Clean up code from pluginsAPIMetrics feature toggle (#103965) 2025-04-14 13:15:06 +01:00
Cory Forseth
2b279efe15 Use team uid for team group actions (#103415)
* use team uid for team group actions

* add constructor for tests; rename vars for clarity

* github told me to do this
2025-04-14 06:40:55 -05:00
Alex Khomenko
578fc13796 Provisioning: update form submission handling in ProvisioningWizard (#103967) 2025-04-14 11:09:16 +01:00
github-actions[bot]
2575ebe1fb Update make docs procedure (#103574)
Co-authored-by: grafanabot <bot@grafana.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2025-04-14 10:47:10 +01:00
Ryan McKinley
f4dbbbac0c Chore: update golang.org/x/sys+net+text+tools+crypto (#103963) 2025-04-14 10:01:19 +01:00
Ivana Huckova
242ac6bfa7 Jaeger: Run dependency graph queries through backend behind the feature toggle (#103768)
* Start with dependency graph

* Update and add tests

* Fix lint and ordering in test
2025-04-14 10:54:40 +02:00
Jack Baldry
7aa028122b Revert "Update sharing markers to use the new format" (#103681) 2025-04-14 09:53:24 +01:00
Carl Bergquist
ed65c99e54 Scopes: Adds feature toggle used by grafana-enterprise (#103870)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2025-04-14 09:42:16 +02:00
Dave Henderson
1125f36f4f fix(test): Attempt to make TestPollingNotifier/notify_returns_channel_and_starts_polling less flaky (#103947)
Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2025-04-14 09:41:09 +02:00
Domas
90f82cf1af Tempo: Fix span metrics query when filtered by prefixed service graph labels (#103773)
fix span metrics queries for sevice graph explore when filtered with client_ or server_ prefix
2025-04-14 09:47:24 +03:00
Gábor Farkas
9aca2606c7 upgrade plugin-sdk-go from v0.274.0 to v0.275.0 (#103863)
* upgrade plugin-sdk-go from v0.274.0 to v0.275.0

* ignore deprecated warning
2025-04-14 08:29:58 +02:00
grafana-pr-automation[bot]
87e69e1349 I18n: Download translations from Crowdin (#103949)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-04-12 01:31:11 +01:00
ismail simsek
3013332e41 Prometheus: Remove prometheusRunQueriesInParallel feature toggle (#103824)
* remove prometheusRunQueriesInParallel feature toggle

* fix the unit test
2025-04-11 23:11:19 +01:00
Juan Cabanas
5661cf244a Invite User: Add invite user button in mega menu and command palette (#103934) 2025-04-11 19:00:06 -03:00
William Wernert
a5288db624 Alerting: Remove the POST endpoint for the internal Grafana Alertmanager config (#103819)
* Remove POST config for Grafana Alertmanager

* Delete auth + test for removed path

* Alerting: Remove check for `alertingApiServer` toggle in UI (#103805)

* Remove check for alertingApiServer in UI

* Update tests to no longer care about alertingApiServer

* Add contact points handlers now that we use alertingApiServer all the time

* Fix test broken from removing camelCase for UIDs

---------

Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
2025-04-11 17:38:53 -04:00
Marco de Abreu
c47ab101d1 Dashboards: Add Dashboard Schema validation (2) (#103844)
* Activate schema validation and align underlying systems

* update to save as v0 if not the right schema version

* Resolve merge conflicts

* Move RequireApiErrorStatus to tests package

* Add mutation tests

* Fix lint

* Only do min version check if dashboard is v1

* Fix lint and disable provisioning test

* Revert provisioning changes

* Revert more tests and add schema test

* Reran gen

* SQL Dashboard save

* Adjust APIVERSION

* Fixed mutation test

* Add logging on downgrade

---------

Co-authored-by: Marco de Abreu <18629099+marcoabreu@users.noreply.github.com>
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-04-11 23:05:41 +02:00
Nick Richmond
07a225649d MetricsDrilldown: Remove legacy Metrics Drilldown code paths (#103845)
* chore: remove feature toggles

* chore: update labels

* chore: remove `public/app/features/trails` code

* fix: typo

* chore: update betterer results

* chore: update i18n
2025-04-11 16:45:14 -04:00
Dave Henderson
a58837f6db Feature Toggles: Stop documenting experimental toggles (#103841)
Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2025-04-11 16:42:35 -04:00
Ryan McKinley
b39eaac69e Unistore: Keep apiVersion from the legacy SQL table (#103939)
keep apiversion
2025-04-11 22:49:45 +03:00
Haris Rozajac
5011907dae Dashboard Schema V2: Export dashboard JSON (#101180)
* wip

* fix the async bug

* Fix tests

* support library panels

* Update comment

* clean up

* refactor, use multi resource kind

* uncomment

* return only the spec

* simplify templateizing logic

* update dashboardkind

* revert imprtable requirements to use the current interface

* tests and fixes

* add panel configs to required; more tests;

* everything in elements should be processed

* clean up

* clean up

* rename for clarity; clean up tests

* export resource v spec

* i18n

* clean unused

* fix library panels

* revert comments

* revert lefthook.rc

* don't support lib panels

* another lefhook revert

* remove lib panel in test

* Remove library panels on external export; show warning if dash contains library panels

* fix tests

* Support old export mode

* clean up

* rely on dash shape vs feature toggle, add spacing to alert, update message

* lint

* typo fix

* make makeExportable part of dashboard serializer; clean up old exporter

* clean up

* more cleanup

* gem file cleanup

* remove unused function

* remove unused selector

* don't remove ds refs that use ds template variable

* clean up
2025-04-11 13:35:39 -06:00
Stephanie Hingtgen
bba85c1128 K8s: Dashboards: Fix error handling (#103929) 2025-04-11 13:31:41 -06:00
Michael Mandrus
652c374c4c CloudMigrations: Make table sort case insensitive (#103898)
* case insensitive sort

* fix for all db types

* add comment

* add unit test

* add a TODO to fix later
2025-04-11 20:29:07 +01:00
Drew Slobodnjak
5efb620f1b Canvas: Fix layout calcs for scale mode (#103408) 2025-04-11 11:28:14 -07:00
Haris Rozajac
6933829ce2 Dashboard Schema V2: Import Dashboard (#102375)
* WIP: Working import

* wip

* remove model

* wip

* working

* remove console.logs

* fix

* remove

* remove uid field as v2 spec doesn't have uid

* clean up reducer

* revert arrow func

* support upload
2025-04-11 12:18:48 -06:00
Johnny Kartheiser
17fbeb09f1 docs: alert migration tool draft (#103752)
* docs: alert migration tool draft

roughest of rough drafts, homies.

* prettier + edit

* Update migration-api.md

* Update migration-api.md

* edits per sonia and alex

* Update migration-api.md

* fresh edits

edits from some alex wisdom

* Update migration-api.md

* Update migration-api.md

* Update migration-api.md

* Update docs/sources/alerting/alerting-rules/alerting-migration/_index.md

Co-authored-by: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>

* Update docs/sources/alerting/alerting-rules/alerting-migration/migration-api.md

Co-authored-by: Alexander Akhmetov <me@alx.cx>

* edits

feature flag info added to docs as well as another edit

---------

Co-authored-by: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>
Co-authored-by: Alexander Akhmetov <me@alx.cx>
2025-04-11 20:11:33 +02:00
Alex Spencer
1a867b1908 TableNG: Fix cell type logic (#103919)
* fix: cell type logic

* chore: geo => json

* chore: need to handle multiple types of json cells for preview

* chore: revert changes

* Add GeoCell to TableNG

* Update cell inspect to handle FieldType.geo

---------

Co-authored-by: drew08t <drew08@gmail.com>
2025-04-11 11:07:57 -07:00
Johnny Kartheiser
878e239f16 docs: recorded queries depreciation (#103838)
* docs: recorded queries depreciation

added a depreciation warning and a link to the alerting docs

* Update index.md

caps caps caps fix

* purdier

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

Co-authored-by: Brendan O'Handley <brendan.ohandley@grafana.com>

---------

Co-authored-by: Brendan O'Handley <brendan.ohandley@grafana.com>
2025-04-11 13:06:48 -05:00
Jean-Philippe Quéméner
6c45cc9e2d fix(util): don't use wall clock time for testing (#103924) 2025-04-11 20:01:26 +02:00
Alex Spencer
383f043be8 TableNG: Use numeric sorting for string fields (not strictly lexicographic) (#103794) 2025-04-11 12:58:34 -05:00
Alexander Akhmetov
a913c5426d Alerting: Fix flaky TestIntegrationPrometheusRules test (#103886) 2025-04-11 19:50:46 +02:00
Steven Shaw
25c84044f9 Live: Updated note on Live redis sentinel support (#103834)
* Update note on Live redis sentinel support

* Add ha_engine_password and update address parameters

* style admonition

* add code inside admonition

* run prettier

---------

Co-authored-by: Irene Rodríguez <irene.rodriguez@grafana.com>
2025-04-11 19:29:46 +02:00
Marco de Abreu
95f04c79cd Dashboards: Add Dashboard Schema validation (1) (#103662) 2025-04-11 16:52:46 +00:00
Alexa V
920c7b1de5 Dashboards: SchemaV2 - Fix stateless queries for mixed ds (#103885)
* Dashboards: SchemaV2 - Fix stateless queries for mixed ds

* Add uni test for new utils function

* Add extra condition to validate we have datasources configured in the grafanaBootData

* Refactor code

* remove unnecessary test
2025-04-11 16:30:50 +00:00
Tom Ratcliffe
e71acd9ec3 Alerting: Stop allowing manual editing/restore of internal AM config via settings (#103884) 2025-04-11 16:23:28 +00:00
Matthew Jacobson
9e933882ed Alerting: Webhook Improvements - Templateable Payloads (#103818)
* Template editor syntax highlighting when preview is json-like

* Add new template editor language examples, snippets, and functions

* Use updated NewTemplate function

* Add new fields to webhook notifier

- CustomPayload
- ExtraHeaders

* Documentation

* Update grafana/alerting to in-progress PR (needs updating after merge)

* Fix integration test

* Remove docs reference to .Extra template context

No longer exists, was part of a previous iteration

* make update-workspace

* Update grafana/alerting to actual merged commit
2025-04-11 12:22:51 -04:00
Johnny Kartheiser
c5760eb147 docs: add documentation for keep_firing_for and Recovering state (#103412)
* docs: add documentation for keep_firing_for and Recovering state

add documentation for keep_firing_for and Recovering state

* updated image, added procedure step, added new state info

updated image, added procedure step, added new state info

* vale'd

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

Co-authored-by: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>

* edits with gratitude to pepe

* impage update

image

---------

Co-authored-by: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>
2025-04-11 16:06:38 +00:00
Ryan McKinley
ac7edd3032 Provisioning: Skip validation when writing v1 dashbaords (#103893) 2025-04-11 16:04:00 +00:00
Dominik Prokop
40127072e5 Git sync / Schema v2: Make preview work with v2 dashboards (#103709)
* Git sync / Schema v2: Make preview work with v2 dashboards

* Refactor

* Add tests

* Clean!

* Clean more!

* Update public/app/features/dashboard-scene/pages/DashboardScenePageStateManager.ts

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>

* Add basic v2 dashboard sample

* Refactor to be instance independent

* Remove commented out code

---------

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
2025-04-11 17:54:45 +02:00
Andrew Hackmann
710a5d29e9 Azure Prometheus: Add Azure prom to Azure forward auth setting (#103910)
add azure prom to the azure auth forward setting
2025-04-11 10:51:40 -05:00
Alex Khomenko
af373569b5 Provisioning: Move nav section under admin (#103911) 2025-04-11 15:43:49 +00:00
Isabel Matwawana
15c9916706 Docs: annotations list visualization refactor (#103836) 2025-04-11 11:29:49 -04:00
Josh Hunt
57a275f1cf Combobox: Fix an issue where custom values would accumulate as typed (#103891) 2025-04-11 16:27:37 +01:00
Roberto Jiménez Sánchez
4c21e7f8c2 Provisioning: small pending refactoring of pull request job (#103876)
* WIP: Refactor into evaluator and commenter

* Add mocks

* Fix existing tests comment

* Fix existing changes tests

* Use the extracted config

* Fix linting

* Remove trailing line
2025-04-11 15:18:41 +00:00
Kevin Minehart
07807a0bd2 CI: run e2e tests as a matrix (#103382)
* run e2e tests as a matrix

* add old-suite/

* remove old-arch input

* run without quotes

* Update codeowners

* remove e2e-suite-various from codeowners

* ?
2025-04-11 10:17:19 -05:00
Isabel Matwawana
1e8edd5880 Docs: news visualization refactor (#103895) 2025-04-11 11:08:41 -04:00
Ryan McKinley
664e5255fe Provisioning: Use role based access when the target does not yet exist (#103862)
* role based fallback

* disable permissions cache with provisioning

* fallback to role based

* test with editor (not admin)

* test with editor (not admin)

* fix imports

* lint

* editor can create folders
2025-04-11 17:47:26 +03:00
Peter Štibraný
be696dd70c unified storage: check for iterator errors after each call to iter.Next. (#102804)
* unified storage: check for iterator errors after each call to iter.Next.
* Extracted test to separate method, add 500 events before listing.
2025-04-11 16:25:40 +02:00
Oscar Kilhed
782fa5b45a Dynamic dashboards: Fix issue where tab content is not visible (#103890)
* only wrap in edit mode

* fix icon
2025-04-11 16:13:16 +02:00
Isabel Matwawana
eede2b78b4 Docs: datagrid visualization refactor (#103832) 2025-04-11 10:13:03 -04:00
Alexander Akhmetov
babea87ebd Chore: make update-workspace (#103888) 2025-04-11 16:06:54 +02:00
Ivan Ortega Alba
eb70d23e44 Dashboards: Create dashboard with the correct apiVersion (#103839) 2025-04-11 14:03:24 +00:00
Vardan Torosyan
2a6736aae3 Docs: Clarify how authNZ works when SCIM is enabled (#103857)
* Docs: Clarify how authNZ works when SCIM is enabled

* Use Grafana Cloud instead of grafana.com
2025-04-11 13:54:52 +00:00
Johnny Kartheiser
e9643366b3 alerting docs: update alert rules history limit documentation (#102838)
* alerting docs: update alert rules history limit documentation

the documentation for the alert rules version history has been updatedto specify that the rules apply to enterprise/OSS customers.
the rules should also be explicated for cloud documentation.

* Update view-alert-rules.md
2025-04-11 08:43:46 -05:00
Tom Ratcliffe
23f97697a3 Alerting: Remove comment references to angular in tests (#103878) 2025-04-11 15:43:11 +02:00
Peter Štibraný
b8691c4797 spanner: Fix use of in-memory sequence generator (#103767) 2025-04-11 15:42:58 +02:00
Agnès Toulet
d7c554c25e Renderer: Fix regression on callback URL in plugin mode (#103787)
* Renderer: Fix regression on callback URL in plugin mode

* cleanup

* refactor to not mutate cfg object

* apply review feedback
2025-04-11 15:34:10 +02:00
Johnny Kartheiser
f1625d9e56 docs: docs for "Permanently delete" feature for alert rules (#103409)
* documentation on permanently deleting alert rules

document the new Delete permanently feature.

* Update create-grafana-managed-rule.md

uuid detail

* Update create-grafana-managed-rule.md

* Update create-grafana-managed-rule.md

vale

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

thanks pepe

Co-authored-by: Pepe Cano <825430+ppcano@users.noreply.github.com>

---------

Co-authored-by: Pepe Cano <825430+ppcano@users.noreply.github.com>
2025-04-11 08:29:27 -05:00
Sergej-Vlasov
ae867469a5 DashboardEditPane: Get original panel id for repeated panel edit pane (#103877)
get original panel id for repeated panel edit pane
2025-04-11 14:28:54 +01:00
Matthew Jacobson
9f9c4b3da3 Alerting: Template preview enhancements (#103817)
API Changes:

- Fixes validation in template CRUD API to be closer to how the running 
  alertmanager will use the template. Should remove some incorrect 
  validation errors.

- Adds some missing default placeholder labels to receiver testing that 
  are used during template testing but missing during receiver testing


Template Preview:

- Replaced basic preview with a readonly CodeEditor for better whitespace 
  and alignment clarity (also adds support for future syntax highlighting 
  in template previews for upcoming webhook payload templates)

Template Selector (Receiver Form):

- Refactored to use same components as Template editor for preview.
- Fixed preview to work with multi-definition templates
- Fixed copy to correctly copy the template contents instead of 
  {{ template "<name>" . }}.

Template Editor:

- Fixed detection of when to display functions vs snippets in multi-line 
  expressions
2025-04-11 09:27:19 -04:00
Ryan McKinley
2c3422fc5c Provisioning: return field paths in test error messages (#103850)
* Provisioning: Do not block connect step on error

* Display field errors

* Cleanup

* return field errors

* fix test

* convert errros to an array

* Fix history display

* Add getFormErrors

* metav1 issues

* lint

* Proper field names

* Fix notification

* Remove unused component

---------

Co-authored-by: Clarity-89 <homes89@ukr.net>
2025-04-11 14:26:42 +01:00
Tom Ratcliffe
ed9a7e8d9f Alerting: Make nested folders work in Alert List Panel (#103550) 2025-04-11 14:24:53 +01:00
Sven Grossmann
e7b32d6229 Extension Sidebar Button: Prevent button to have stretched background (#103882) 2025-04-11 14:18:46 +01:00
Stephanie Hingtgen
88391b173e K8s: Enable kubernetesClientDashboardsFolders by default (#103843) 2025-04-11 07:56:05 -05:00
Alex Khomenko
1291b60bbe Checkbox: Add z-index to description (#103847)
* Checkbox: Add z-index to description

* Add comment
2025-04-11 15:32:02 +03:00
Stephanie Hingtgen
f5ad1ef69b K8s: Folders: Add v1 api (#103842) 2025-04-11 13:09:52 +01:00
Oscar Kilhed
50499fa749 Dashboards: Add a config setting that limits the number of series that will be displayed in a panel. Users can opt in to render all series. (#103405)
* Limit series in panels in dashboards

* fix mangled comment
2025-04-11 13:56:58 +02:00
Alex Spencer
906004c7ae TableNg: Fix a few bugs found in K8s land (#103829)
* fix: a few bugs found in K8s land

* fix: column width buggy behavior

* fix: column width try again
2025-04-11 05:47:40 -06:00
ismail simsek
962232c31c Prometheus: Add ability to clear metric name in PromQL query builder (#103821)
is clearable true
2025-04-11 13:39:11 +02:00
Bogdan Matei
35e78feffa Dynamic Dashboards: Add repeats for tabs (#103348) 2025-04-11 13:50:44 +03:00
Sergej-Vlasov
9b6021c490 AutoGridLayoutManager: Fix viz panel key duplication in auto and custom layouts (#103727)
* fix  viz panel key duplication in auto and custom layouts

* clean up
2025-04-11 11:17:32 +01:00
Andres Martinez Gotor
335a55047b Advisor: Move the missing plugin check to its own step (#103861) 2025-04-11 12:11:05 +02:00
Ryan McKinley
0d20680695 Provisioning: Improve PR feedback (#103537)
* fix ref

* dryRun before save

* reuse code for create vs update

* update comments

* can update PRs

* return useful errors

* update preview links

* lint fix

* update some wording

* update mocks

* fixed

* Update pkg/registry/apis/provisioning/resources/dualwriter.go

Co-authored-by: Roberto Jiménez Sánchez <roberto.jimenez@grafana.com>

* more updates

* fix link

* error string

* dry run

* refactor galore

* with template test

* very basic tests

* more test cases

* remove generator

* more tests

* fix lint

* multiple files now

* merge main

* merge main

* fix snapshots

* fix snapshots

* slugify title

---------

Co-authored-by: Roberto Jiménez Sánchez <roberto.jimenez@grafana.com>
2025-04-11 11:06:16 +01:00
Alexa V
00dcf482cf Dashboard -Schema V2 Stateless annotations (dsRef independent) (#102949)
* Implement basic behavior of stateless annotation

* Fix ds defined getting lost

* Fix linter

* adjust test to be aligned with datasources not automatically being assigned to the model

* Add  unit test for annotations

---------

Co-authored-by: Haris Rozajac <58232930+harisrozajac@users.noreply.github.com>
Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
2025-04-11 11:42:48 +02:00
Andres Martinez Gotor
8ebce76535 UserStorage: multiple improvements (#103779) 2025-04-11 11:32:31 +02:00
Laura Fernández
3607356f65 i18n: Update internationalization/dates.ts to use locale (#103731) 2025-04-11 11:24:40 +02:00
grafana-pr-automation[bot]
c303cd3a8b I18n: Download translations from Crowdin (#103840)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-04-11 09:55:12 +01:00
Peter Štibraný
b0b4b31765 publicdashboards: Don't format timestamp before passing it to database. (#103463)
Don't format timestamp before passing it to database.
2025-04-11 10:31:10 +02:00
Peter Štibraný
54b8dde1e1 services/user: Fix userimpl tests when running on Spanner. (#103715)
Fix userimpl tests when running on Spanner.
2025-04-11 10:28:21 +02:00
Sergej-Vlasov
4648ba396b DashboardScenePage: Correct slug in self referencing data links (#100048)
* switch to useLayoutEffect so queries run after url correction

* add comment

* suparate useEffects to avoid update on slug change

* add url correction for missing slug

* account for slug change during dashboard rename

* simplify fix

* add e2e test for data link without slug

* remove old comment

* remove newly added path from useEffect dependencies
2025-04-11 09:25:21 +01:00
Ashley Harrison
79400018a4 Preferences: Allow setting lang and theme from URL (#103587)
* allow setting theme/language via url

* set in backend instead

* add locale as well
2025-04-11 09:21:06 +01:00
Jean-Philippe Quéméner
50fcc053c2 feat(unified-storage): provide delete function for bucket (#103825) 2025-04-11 10:10:13 +02:00
Gabriel MABILLE
45d6bfe7cf AuthZ: Make cache ttl configurable (#103769)
* AuthZ: Configure cache ttl

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

* Client side conf

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>

* 0 -> No caching

* Make it possible to disable cache on the remote client as well

* Comment

* Move ttl parsing up for in-proc to have it

---------

Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2025-04-11 10:09:47 +02:00
Konrad Lalik
0a8dccc19a Alerting: New alert list filter improvements (#103107)
* Move filtering code to generators for performance reasons

Discarding rules and groups early in the iterable chain limits the number of promises we need to wait for which improves performance significantly

* Add error handling for generators

* Add support for data source filter for GMA rules

* search WIP fix

* Fix datasource filter

* Move filtering back to filtered rules hook, use paged groups for improved performance

* Add queriedDatasources field to grafana managed rules and update filtering logic to rely on it

- Introduced a new field `queriedDatasources` in the AlertingRule struct to track data sources used in rules.
- Updated the Prometheus API to populate `queriedDatasources` when creating alerting rules.
- Modified filtering logic in the ruleFilter function to utilize the new `queriedDatasources` field for improved data source matching.
- Adjusted related tests to reflect changes in rule structure and filtering behavior.

* Add FilterView performance logging

* Improve GMA Prometheus types, rename queried datasources property

* Use custom generator helpers for flattening and filtering rule groups

* Fix lint errors, add missing translations

* Revert test condition

* Refactor api prom changes

* Fix lint errors

* Update backend tests

* Refactor rule list components to improve error handling and data source management

- Enhanced error handling in FilterViewResults by logging errors before returning an empty iterable.
- Simplified conditional rendering in GrafanaRuleLoader for better readability.
- Updated data source handling in PaginatedDataSourceLoader and PaginatedGrafanaLoader to use new individual rule group generator.
- Renamed toPageless function to toIndividualRuleGroups for clarity in prometheusGroupsGenerator.
- Improved filtering logic in useFilteredRulesIterator to utilize a dedicated function for data source type validation.
- Added isRulesDataSourceType utility function for better data source type checks.
- Removed commented-out code in PromRuleDTOBase for cleaner interface definition.

* Fix abort controller on FilterView

* Improve generators filtering

* fix abort controller

* refactor cancelSearch

* make states exclusive

* Load full page in one loadResultPage call

* Update tests, update translations

* Refactor filter status into separate component

* hoist hook

* Use the new function for supported rules source type

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2025-04-11 10:02:34 +02:00
Torkel Ödegaard
1e669cbb45 AppChrome: Sidebar extensions button update (#103791)
* AppChrome: Sidebar app icon button update

* Update

* remove unused files

* Update public/app/core/components/AppChrome/ExtensionSidebar/ExtensionToolbarItem.tsx

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>

* update

---------

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2025-04-11 09:25:09 +02:00
Alex Khomenko
04fae8bd46 Provisioning: Update ConfigForm (#103846)
* Provisioning: Fix token permissions alignment

* Update config form

* Extract getDefaultValues
2025-04-11 08:33:11 +03:00
Andreas Christou
7aa8628971 AzureMonitor: Only fetch table plans in the builder (#103833)
* Only fetch table plans in the builder

* Appropriately set schema
2025-04-11 01:31:45 +01:00
Moustafa Baiou
032299011a Alerting: Relax permissions for access a rule (#103664)
This makes it so that it is:
- No longer required to have datasource permissions to delete a rule.
- No longer required to have datasource permissions to update non-query related fields of a rule.
2025-04-11 00:58:37 +01:00
Andreas Christou
3a71a48a88 AzureMonitor: Improve selection of Basic Logs tables in the query builder (#103820)
* Add function for retrieving logs table plan

- Add URL builder method
- Add types

* Add auto-switching for basic logs tables

* Set dashboardTime property

* Ensure useEffect doesn't run on every query change

* Fix basicLogs property

* Add isLoading for schema
2025-04-10 14:11:00 -06:00
Sven Grossmann
05338838b0 Sidecar: Remove experimental Sidecar implementation (#103786)
* Sidecar: remove `appSidecar` feature toggle

* Sidecar: Remove sidecar implementation

* lint
2025-04-10 22:04:12 +02:00
Alex Khomenko
0bad0526f5 Provisioning: Simplify component logic (#103816) 2025-04-10 22:54:56 +03:00
Nick Richmond
73ba19a98e Dashboards: Fix panel link to Grafana Metrics Drilldown (#103759)
* fix: panel link to Grafana Metrics Drilldown

* test: handling of plugin links
2025-04-10 21:50:10 +02:00
Kevin Yu
fd6fd91115 Prometheus: Add support for cloud partners Prometheus data sources (#103482)
* wip

* Add prom flavor support for data source variables and export/import dashboards (#103321)

* add dashboard and data source var selection

* use match plugin id instead

* use updated matchpluginid

* formatting

* cleanup

* regex anchor

* update error msg

* Alerting: Clean up prometheus-flavored types and functions (#103703)

* clean up types and utility functions for dealing with
prometheus-flavored data sources

* Refactor alerting datasource types to use constants as source of truth

* Alerting: Clean up prometheus-flavored types and functions on the bac… (#103716)

Alerting: Clean up prometheus-flavored types and functions on the backend

* add matchPluginId tests

* Update matchPluginId func to bidirectional (#103746)

* update matchpluginid func to bidirectional

* lint

* formatting

* use actual isSupportedExternalRulesSourceType in test

* add tests in datasource_srv

* betterer

* remove type assertion

* remove unnecessary case

* use satisifies to not have to convert tuple to an array of string

* add prometheus_flavor test

---------

Co-authored-by: Andrew Hackmann <5140848+bossinc@users.noreply.github.com>
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
Co-authored-by: Alexander Akhmetov <me@alx.cx>
2025-04-10 12:49:11 -07:00
Sven Grossmann
22a9e1b5ff Scopes: Fix translation key of scopes.dashboards.toggle.expand (#102515) 2025-04-10 20:37:59 +01:00
Ryan McKinley
02b090574d Unified: use server access client for bulk operations (#103828) 2025-04-10 20:29:59 +01:00
Dana Axinte
190f5a234f Cloud migrations: Update links to docs in cloud stack page (#103789)
* modify links

* new tab links

* remove line
2025-04-10 20:08:00 +01:00
Piotr Jamróz
3551e6074c TraceView: Handle External correlation links correctly (#103594)
* TraceView: Handle External correlation links correctly

* Improve handling URLs
2025-04-10 20:07:49 +01:00
Sarah Zinger
acd843303e SQL Expression: Add instrumentation for sql expressions (#103758) 2025-04-10 19:51:44 +01:00
Matias Chomicki
778d0b2da4 Logs: Clean up Explore meta information (#103801)
* LogLabels: add displayMax property

* MetaInfoText: prevent label wrapping

* LogsMetaRow: remove unescaped content and max characters

* LogsMetaRow: use font weight normal

* LogLabels: add button to collapse back

* LogsMetaRow: set line height

* LogsMetaRow: save common logs state

* LogsMetaRow: update unit tests

* LogLabels: update unit test

* LogListContext: add forceEscape option

* LogListContext: move forceEscape and hasUnescapedContents

* LogListControls: move forceEscape to controls

* LogList: read forceEscape from context

* i18n

* LogListControls: test new control

* Update betterer

* logsModel: update test

* LogLabels: replace characters with icons

* Prettier

* LogLabels: add aria labels

* i18n

* Update tests

* Update test
2025-04-10 19:47:17 +01:00
Sergej-Vlasov
828cd05f18 ConditionalRendering: Adjust naming and delete button alignment (#103677)
adjust naming and delete button alignment
2025-04-10 19:27:31 +01:00
Roberto Jiménez Sánchez
2eaeff8ea7 Provisioning: Fix issue with double prefix for github repository (#103781) 2025-04-10 20:57:42 +03:00
Stephanie Hingtgen
45a55234e1 Library panels: Fix search query (#103812) 2025-04-10 18:52:16 +01:00
Mihai Doarna
f8fc3d2db2 Chore: Fix lint error in accesscontrol API endpoints (#103792)
fix lint error
2025-04-10 12:29:04 -05:00
Torkel Ödegaard
532e443017 DashboardOutline: Support renaming by double click (#103785)
* Outline rename

* Outline rename and validation working

* Update

* Restore valid name onBlur
2025-04-10 19:23:36 +02:00
Ashley Harrison
c83c486c9b Internationalisation: Lint rule improvement (#103788)
* improve autofix so it can fix foo={"bar"}

* apply fixes

* fix type checks + betterer

* tweak to make types happy
2025-04-10 16:22:52 +01:00
Kyle Brandt
4753c3f735 SQL Expressions: Set feature to private preview (#103734) 2025-04-10 10:46:48 -04:00
Isabel Matwawana
fa2738a828 Docs: trend visualization refactor (#103754) 2025-04-10 10:44:10 -04:00
Ashley Harrison
6712a0331c Themes: Enable new (experimental) themes by default (#103790)
enable new (experimental) themes by default in g12
2025-04-10 15:44:00 +01:00
Isabel Matwawana
9d025eeee1 Docs: flame graph visualization refactor (#103748) 2025-04-10 10:43:51 -04:00
Matias Chomicki
52eaf3f16d PreviewLogRow: add missing preview styles (#103542) 2025-04-10 14:30:13 +00:00
Mihai Doarna
42dd2336b9 Team: Add validation for provisioned teams in setUserPermission endpoint (#103623)
* removed provisioned team validation from team permissions

* validate team in setUserPermission
2025-04-10 17:28:31 +03:00
Sonia Aguilar
b4442b4f22 Alerting: Detect target folder rules and show warning (#103673)
* detect target folder rules and show warning

* show detected rules in target folder in a collapsed section

* fix detecting rules that might be overwritten

* refactor

* remove undefined

* fix text
2025-04-10 16:18:20 +02:00
Galen Kistler
e6c945b535 Logs Panel: Explore - Condense line limit copy (#103739)
* chore: condense line limit copy, fix forward search calculation
2025-04-10 09:02:17 -05:00
Will Browne
a1b792b1f5 Plugins: Remove plugin dependency version (#103728)
remove plugin dependency version
2025-04-10 15:02:05 +01:00
mohammad-hamid
a255ae6b0b Read in cert file path from env vars (#103643)
use cert file path
2025-04-10 09:56:41 -04:00
Dana Axinte
e86df64657 CloudMigrations: Change onPremToCloudMigrations feature toggle to GA (#103212)
* feature to ga

* change description
2025-04-10 14:53:22 +01:00
Oscar Kilhed
7c605f024f Dynamic dashboards: Add paste panel back, change paste icon (#103780)
* Add paste panel back, change paste icon

* make i18n-extract
2025-04-10 14:59:20 +02:00
Ida Štambuk
ee6c3b6255 ElasticSearch: Make script field input a text area (#103708) 2025-04-10 14:56:13 +02:00
Roberto Jiménez Sánchez
47664a7d51 Provisioning: unit test sync job (#103636)
* Split in multiple files

* Refactor sync even further

* Move more things between RepositoryResources

* Add status patcher

* Interface for sync functions

* Interface for compare function

* Add syncer back

* Move interfaces

* Move execute complete

* Return currentRef in syncer

* Add repository status test

* Add initial sync tests

* Fix a couple of spots

* Make initial sync tests work

* Fix register.go

* Add initial tests for sync worker

* Finish tests for sync

* Add incremental tests

* Add TODO

* Finish incremental tests

* Move folder creation to full sync

* Move interfaces

* Add initial full sync tests

* Update tests

* Reshape things

* Add changes test

* Fix register

* Add some tests

* Add more tests

* Add test

* WIP

* WIP: delete test

* Add more full test

* More tests

* Add tests for folder creation

* Add folder tests full sync

* Full coverage full sync

* Clean up tests

* Add more tests for changes function

* Enhance tests for Changes function to cover error scenarios and empty paths

- Added test cases for handling empty file paths and folder resources.
- Updated error message formatting in the Compare function for clarity.

* Add unit tests

* Failed initial patch

* Add tests failed repository resources

* Add test failed getting client

* Test for successful and unsuccessful syncs

* Add final tests for worker

* Fix existing tests

* Add missing test

* Fix spelling mistake

* Fix flake in changes test
2025-04-10 13:55:49 +01:00
Ashley Harrison
8df9c57045 Internationalisation: More markup for translations (#103726)
* mark up variables/trails/transformers

* more markup

* fix unit tests

* final unit test fix
2025-04-10 13:52:46 +01:00
Dana Axinte
6fde69c333 CloudMigrations: Make improvements to the text content (#103770)
* change copy configuration

* comma and this token after token creation

* securely migrate and you'll need token

* add caret and modify steps

* period after check failed resources

* learn about migrating v1

* building snapshot reduce text

* right caret connect to a cloud stack

* building snapshot reduce text v2

* make i18n-extract after merge
2025-04-10 13:50:37 +01:00
Mariell Hoversholm
757be6365a CI: Bump golangci-lint to 2.0.2 (#103572) 2025-04-10 14:42:23 +02:00
Matheus Macabu
b58b6e828e CloudMigrations: Enable high-level resource type selection (#103011)
* CloudMigrations: Enable snapshot resource type configuration

* ConfigureSnapshot: Update resource type order

* ConfigureSnapshot: Add compile-time check for all resource types

* Fix trickier merge conflicts

* E2E: Fix intercept calls to get snapshot results to match new query params for sorting

* ConfigureSnapshot: Break text into newline

* ConfigureSnapshot: Add spacing on resources list

* Chore: Run betterer

* ConfigureSnapshot: Make secondary text bold

* ConfigureSnapshot: Update copy which resources to migrate

* ConfigureSnapshot: Add tooltip near build snapshot button with ETA
2025-04-10 14:14:13 +02:00
Matias Chomicki
f201fbc8d2 Logs: adjust logs panel feature toggles (#103776) 2025-04-10 14:08:26 +02:00
Sven Grossmann
c4a0eb396b Extension Sidebar: Make sidebar's width resizeable (#103526)
* Extension Sidebar: Make sidebar's width resizeable

* Extension Sidebar: Fix css

* Extension Sidebar: Remove `!important`

* Extension Sidebar: Add new drag handle classes without drag-pill

* Extension Sidebar: Use `top`/`bottom` and move scrollbar
2025-04-10 13:46:13 +02:00
Torkel Ödegaard
9e28886372 Dashboard: Variables in outline (#103712)
* Update

* Progress

* update

* fixes

* Fixed crash
2025-04-10 13:28:07 +02:00
Sven Grossmann
c3742fc506 Extension Sidebar: Allow AI assitant to be opened in sidebar (#103778) 2025-04-10 13:18:58 +02:00
Timur Olzhabayev
a836bc646d Chore: Removing new feature in 62 dashboard as it no longer reflects the old… (#103719)
* Removing new feature in 62 dashboard as it no longer reflects the old state

* running make gen-jsonnet
2025-04-10 11:51:01 +01:00
renovate[bot]
2276ba5e2a Update dependency dompurify to v3.2.5 (#103772)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-10 10:15:37 +00:00
renovate[bot]
1056467cf3 Update dependency @floating-ui/react to v0.27.7 (#103766)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-10 10:45:01 +01:00
xavi
5053aa576d [IAM] Prepend AppSubURL to redirectURI before validating it (#103475) 2025-04-10 11:15:19 +02:00
Tom Ratcliffe
ddf3e62b8d Alerting: Ignore mocks files from betterer checks (#103613) 2025-04-10 10:02:48 +01:00
Will Browne
53126eb307 Chore: Disable snapshot flag for plugins API test (#103733)
disable snapshot flag for test
2025-04-10 09:57:20 +01:00
Darren Janeczek
7471455493 fix: clarify adaptive telemetry extension context type for future import (#103660) 2025-04-10 10:53:20 +02:00
Stephanie Hingtgen
6eba5d74e1 Anonymous access: Allow setting org role in new authz service (#103669)
* Anonymous access: Allow setting org role in new authz service

* back out change that is not needed; rename struct

* cleanup

* Fix tests

---------

Co-authored-by: Gabriel Mabille <gabriel.mabille@grafana.com>
2025-04-10 09:51:10 +01:00
Andres Martinez Gotor
89c70fcdcf Chore: Advisor stats (#103711) 2025-04-10 10:51:00 +02:00
Gábor Farkas
3f3a4c1e8a datasources: querier: st: handle data-source-not-found (#103697) 2025-04-10 10:21:51 +02:00
renovate[bot]
fbfc943927 Update dependency @react-awesome-query-builder/ui to v6.6.14 (#103732)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-10 09:16:21 +01:00
Zoltán Bedi
8c2e3dc308 Chore: Change owner for sqlDatasourceDatabaseSelection FT (#103680)
* Chore: Change owner for sqlDatasourceDatabaseSelection FT

* Update toggles_gen
2025-04-10 10:16:02 +02:00
Ryan McKinley
236212aabb Provisioning: ignore the grafanaAPIServerWithExperimentalAPIs flag (#103761) 2025-04-10 10:55:19 +03:00
Oscar Kilhed
8167edc6e5 Dynamic dashboards: rename ResponsiveGrid files to AutoGrid (#103762)
* rename responsive-grid files to auto-grid

* fix import orders
2025-04-10 08:47:33 +01:00
Alex Khomenko
b58729dd65 Provisioning: Onboarding updates (#103722)
* Fix status badge URL

* Remove enhanced features from the overview page

* Update TokenPermissionsInfo.tsx

* Update ConnectionStep

* Update Bootstrap step

* Vertical stepper

* Show enhanced features

* Update step name

* Fix stale settings data

* Update steps

* Revert Field changes

* Do not require workflows

* Show disabled buttons

* Update final step's checkboxes

* Add translations

* Rename to RepositoryList

* Remove type select

* Merge pull and migrate steps

* Fix migration job

* Update text

* Update card text

* Fix repository link

* Update progress bar

* Refactor workflows into readOnly and prWorkflow

* Remove todos

* i18n

* Fix translation

* Update ConnectRepositoryButton.tsx

* Add form prompt

* Fix form prompt

* Fix GH-only fields

* Update copy

* Cleanup

* Add translations

* Update translations

* Update translations

* Fix title
2025-04-10 09:55:31 +03:00
Torkel Ödegaard
94ef0e976b Dashboard: Fixes issue leaving edit mode (#103760) 2025-04-10 08:31:24 +02:00
grafana-pr-automation[bot]
bd2d460ed9 I18n: Download translations from Crowdin (#103756)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-04-10 01:35:59 +01:00
Stephanie Hingtgen
68ed0feeff Unistore: Change to 404 rather than 403 if not found (#103743) 2025-04-09 19:14:39 -05:00
Steve Simpson
870d401f75 Alerting: Update grafana/alerting (#103607)
* Alerting: Update grafana/alerting

* Run make update-workspace
2025-04-10 00:12:02 +02:00
Gabriel MABILLE
86bccc3c93 gitignore: ignore mt-db devenv (#103371)
Devenv: ignore mt-db devenv
2025-04-09 21:38:40 +02:00
Andreas Christou
b975a982f8 Azure: Ensure basic logs queries are limited to a single resource (#103588)
Ensure basic logs queries are limited to a single resource
2025-04-09 20:16:10 +01:00
Kyle Brandt
fb763edc32 Google Cloud Montioring: Add Frame type to metric ts queries (#103723)
enables compatability with SQL expressions
2025-04-09 15:09:36 -04:00
Stephanie Hingtgen
a01d8a0871 K8s: Dashboards: Allow userID to not be set for quota check (#103745) 2025-04-09 19:53:43 +01:00
Matias Chomicki
b839be6086 Enable logsPanelControls by default (#103725) 2025-04-09 12:54:02 -05:00
Nick Richmond
ac0c1ece79 MetricsDrilldown: Advance exploreMetricsUseExternalAppPlugin to GA (#103653)
chore: advance `exploreMetricsUseExternalAppPlugin` to GA
2025-04-09 13:22:47 -04:00
Alexander Akhmetov
97897b796e Alerting: Do not export MissingSeriesEvalsToResolve if it is not set (#103736) 2025-04-09 19:14:28 +02:00
Oscar Kilhed
570a5b3943 Dyanamic dashboards: Show hidden overlay when editing tab hidden by conditional rendering (#103582)
* test disable metrics reporting

* Show overlay on hidden tabs

* Fix accidental inclusion

* hide overlay when not editing, this can happen if a user navigates to a hidden tab by url

* Fix lint
2025-04-09 19:01:57 +02:00
Oscar Kilhed
bc08e9cb4c Dynamic dashboards: Extra confirmation before deleting tab or row with content (#103589)
* Extra confirmation before deleting tab with content

* also confirm rows

* make i18n-extract

* remake how the confirm works

* reset panel menu behavior

* update i18n, fix missing event

* fix lint
2025-04-09 19:01:43 +02:00
Leon Sorokin
081d7dc3b2 PanelPlugin: Add shouldMigrate callback to setMigrationHandler() (#103710) 2025-04-09 11:52:34 -05:00
Alexa V
2f60d54648 Dashboard: Schema V2 - Fix annotations losing queries (#102951)
* Fix annotations losing queries when saving v1 with dynamic dashboards enabled

* Add extra options property to the DashboardAnnotationQuerySpec to catch all field datasource-specific properties

* Add options to the v2Alpha1 schema and run make gen-apps

* Add unit test and clean up console.logs

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
2025-04-09 18:51:51 +02:00
Ieva
d9dc93c4a6 AuthZService: improve authz caching (#103633)
* remove the use of client side cache for in-proc authz client

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

* add a permission denial cache, fetch perms if not in either of the caches

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

* Clean up tests

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

* Cache tests

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

* Add test to list + cache

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

* Add outdated cache test

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

* Re-organize metrics

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

---------

Co-authored-by: Gabriel MABILLE <gabriel.mabille@grafana.com>
2025-04-09 17:50:48 +01:00
Pepe Cano
e650fa7b20 docs(alerting): update integration choice for IRM setup (#103701) 2025-04-09 18:47:36 +02:00
Josh Hunt
c1dddeec97 Renovate: Deprioritise devDependencies, group faro deps (#103694) 2025-04-09 16:53:06 +01:00
Alex Spencer
b59a4fc5b8 TableNG: Fix some regressions after text wrap refactor (#103663)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2025-04-09 10:23:47 -05:00
Laura Fernández
4849f87e82 i18n: Add locale to SharedPreferences (#103133) 2025-04-09 17:15:44 +02:00
renovate[bot]
5e923bbab8 Update dependency @grafana/plugin-ui to v0.10.5 (#103690)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-09 15:50:36 +01:00
Ryan McKinley
3f9e01b371 Provisioning: Use AccessChecker to verify if request has access to the parsed object (#103646) 2025-04-09 15:48:58 +01:00
Ryan McKinley
5634ca44f7 Chore: remove lefthook.rc (#103713) 2025-04-09 15:08:04 +01:00
Jacob Valdez
8dfb0874a0 Docs: removing docs debt in install docs (#101750)
* Docs: removing docs debt in install docs

* cleaning up set up docs debt

* fixing some vale errors

* fixing broken admonition shortcode

* fixing broken shortcode

* fixing broken shortcode

* working to the grafana authentication config

* updating some more files

* editing down to ldap in the repo

* editing ldap doc except final section with link needed

* Finishing doc debt cleanup through configure authetication

* fixing shortcodes reverted by merge conflict fix

* fixing admonition

* fixing more broken shortcodes

* adjusting some wordings ot make vale happy

* updating feature toggle info
2025-04-09 09:02:51 -05:00
Ivan Ortega Alba
af6c536c22 Dashboards: Implement reloadDashboard for schema v2 (#103612) 2025-04-09 15:02:25 +01:00
Andres Martinez Gotor
890484ff6a Navigation: Allow apps to show IsNew badge in the navigation menu (#103608) 2025-04-09 15:32:34 +02:00
Moustafa Baiou
a7197d02ad PluginProxy: Fix nil pointer in OAuth forwarding (#103626) 2025-04-09 09:08:21 -04:00
Andre Pereira
ec2cd53b1a Tempo: Remove traceQLStreaming feature toggle (#103619)
Remove traceQLStreaming feature toggle and migration
2025-04-09 13:57:07 +01:00
Torkel Ödegaard
24474dcb9c AppChrome: Improved responsive use of vertical space (#103488)
* Progress

* Progress

* Update

* Update

* Update

* Update

* Responsive improvements

* Update

* Update

* Update

* Revert height change

* Update

* add missing testid

* update

* Fixes

* update

* Refactoring

* fix bug in app chrome service

* Fixed e2e tests

* fix

* fix

* Update

* Update

* fix bookmarks e2e

* Update

* improve responsiveness on small screens for breadcrumbs

* Always use two levels when menu is docked

* Adding kiosk toggle button to dashboards only

* update

* Update

* Update

* when menu is docked and no actions use 1 level

* removed formatting change that caused unnessary diff in PR

* remove extra separator line after merge with main

* Fix double separators

* Update

* remove temp change

* Update
2025-04-09 14:51:22 +02:00
Torkel Ödegaard
927ce79dcf Dashboard: Variable selection and editing (#103451)
* Variable selection

* Update

* fix

* Update

* Updates

* update

* Update
2025-04-09 14:27:35 +02:00
Kyle Brandt
5698159ee3 Cloudwatch: Add Frametype to Metrics response (#103617)
This should enable compatability with sql expressions
fixes #103196
2025-04-09 08:20:53 -04:00
Ivana Huckova
59f3ca09ab Jaeger: Run traceID query through backend with feature toggle enabled (#103472)
* Jaeger: Run traceID query through backend with feature toggle enabled

* Reorganize

* Update comments and test

* Fix snapshot test

* Only pass time params if enabled in cofig

* Rename applyVariables to applyTemplateVariables

* Rename transformResponse to transformTraceResponse

* Update comment
2025-04-09 14:13:46 +02:00
Pepe Cano
4eddeaec75 Alerting(ui-copy): update IRM contact point description when IRM is not installed (#103665) 2025-04-09 13:35:45 +02:00
Torkel Ödegaard
7f9e18282e Splitters: Support pixel mode for useSplitter and useSnappingSplitter (#103590)
* splitter pixels

* Progress

* Splitters working

* fixes

* Update edit pane width to 330

* update
2025-04-09 13:16:28 +02:00
Ryan McKinley
af8a70bbab K8s/Permissions: Enable a grant-permissions annotation action to set default permissions (#102527)
* create permissions

* add key

* lint

* structure as a delayed callback

* legacy API hook

* merge main

* wired up

* and folders

* watch repos

* missing return statement

* Set the correct permissions

* add TestAfterCreatePermissionCreator

* do not add perms on folder create

* fix tests

* add annotation on create

* lint

* lint

* ensure we set permissions when the FT is disabled

* remove custom folder_storage

* fix lint

* change default

* lint

* lint

* fix: annotation

* ensure permissions are added on folder legacy

* remove folderstorage again

* fix tests

* add FT

* undo change to folder

* dashboard on create

* remove annotation for folder

* fix tests

* fix prepare after rebase

* fix tests

* fix tests

* fix tests

* lint

* address comments

* add test for prepareObjectForStorage

* add again skipIfMode as per comment

---------

Co-authored-by: Georges Chaudy <chaudyg@gmail.com>
2025-04-09 13:05:37 +02:00
Piotr Jamróz
ceed824378 Profiles: add metrics from profiles feature toggle (#103453)
* Profiles: add metrics from profiles feature toggle

* Retrigger CI with new commit
2025-04-09 12:55:28 +02:00
Joey
792a2b1e01 Tempo: Add fixes for broken exemplars (#103298)
* Add fix for broken exemplars

* Update fix for frame length

* Remove blank line and fix merge issue?
2025-04-09 11:52:29 +01:00
linoman
acf85504fc SCIM: Rename allow_non_provisioned_users (#103684)
Rename `allow_non_provisioned_users`
2025-04-09 12:38:56 +02:00
renovate[bot]
1cdc6ad088 Update dependency @grafana/azure-sdk to v0.0.7 (#103624)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-09 11:32:42 +01:00
Ashley Harrison
a420e2f8f2 Internationalisation: More markup (#103634)
* some manual markup

* more markup

* update count names
2025-04-09 11:31:48 +01:00
Roberto Jiménez Sánchez
837f4864b1 Provisioning: unit test export job (#103620)
* Add repository resources interface for export worker

* Add mocks for repository resources

* Add unit tests for ExportWorker's IsSupported method

* Add unit tests for ExportWorker's Process method, covering scenarios for missing export settings, write permissions, branch restrictions, and client creation failures.

* Fix unit tests

* Single function

* Add more unit tests

* Add test for failed folder

* Fail export folder errors

* Add another test

* Positive folder export

* Too many folder export errors

* Too many errors on folder export

* Partial folder errors

* Add test for nested folder

* Add test dashboard export

* More cases

* Ignore existing dashboards

* Fix folder tests

* Fix clonable test

* Add clone failure test

* Add test clean up without push

* Working tests

* Use mock clonable

* Add unit tests for IsWriteAllowed

* Add behaviour to cover ref equal to configured branch

* Fix worker test

* Fix linting

* Split clone and push

* Wrapper for clone and push

* Separate methods for resources export

* Separate folder export

* Simplify single signature

* Refactor a bit more

* Separate folder export function

* Split it into different files

* Add FIXME

* Export function mock

* Export Resources tests

* Add test for cannot find client

* Check for branch

* Fix registry

* Move folder export tests

* Pass wrapper function

* Add worker tests

* Fail if branch is passed for clonable repositories

* Fix merge issues
2025-04-09 12:14:43 +02:00
Bogdan Matei
dd45c04463 Dynamic Dashboards: Don't show add controls for repeated tabs and rows (#103674) 2025-04-09 13:02:11 +03:00
Sergej-Vlasov
53d5a57a2d LayoutRestorer: Adjust panels are unchanged check (#103679)
adjust panels are unchanged check
2025-04-09 11:01:48 +01:00
Ryan McKinley
6df04f3949 Provisioning: Hold recent jobs in memory (#103678) 2025-04-09 12:46:01 +03:00
Galen Kistler
0fd6144969 Logs Panel: panel options only tabbable after going through every log line (#103645)
fix: options only tabbable after going through every log line
2025-04-09 10:47:50 +02:00
Alexander Akhmetov
babe188e31 Alerting: Fix path for cortex-style Prometheus namespaces conversion endpoint (#103655) 2025-04-09 10:40:22 +02:00
Levente Balogh
39dcff23f9 Plugin Extensions: Clean up the deprecated APIs (#102102)
* PanelMenuBehaviour: stop using the deprecated `getPluginLinkExtensions()` API

* Wip

* grafana-runtime: remove deprecated APIs `usePluginExtensions()`, `usePluginLinkExtensions()` and `usePluginComponentExtensions()`

* Wip

* Wip

* wip

* wip

* Chore: removed PluginExtensionLinkConfig

* Chore: removed PluginExtensionComponentConfig

* Chore: fixed grafana-pyroscope-datasource QueryEditor test

* Chore: fixed PublicDashboardScenePage.test.tsx

* Chore: fix PanelDataQueriesTab test

* Chore: fix PanelMenuBehavior test

* Chore: fix transformSceneToSaveModel test

* Chore: fix last type errors

* Chore: fix alerting/unified/testSetup/plugins.ts

* Chore: break out types to separate file

* feat(Extensions): expose an observable API for added links and components

* chore: prettier fixes

* Revert "chore: prettier fixes"

This reverts commit 53aa767664.

* Revert "feat(Extensions): expose an observable API for added links and components"

This reverts commit bdc588250e.

---------

Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
2025-04-09 10:24:29 +02:00
Ryan McKinley
c1cadc7d6f K8s/Client: Ignore validation from dashboards frontend v1 (#103641) 2025-04-09 11:08:33 +03:00
Ryan McKinley
410bb1cf74 Provisioning: Fix URL sanitization errors (#103640) 2025-04-09 10:33:55 +03:00
Stephanie Hingtgen
9ba5606c3f K8s: Dashboards V1: Run migrations in mutation hook (#103670) 2025-04-09 01:48:09 -05:00
Torkel Ödegaard
d74b75f744 Dashboard: Fix lost selection state issue (#103611)
Dashboard: Fix lost selection state issue!
2025-04-09 06:42:23 +02:00
grafana-pr-automation[bot]
a9ddef1c3c I18n: Download translations from Crowdin (#103661)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-04-09 01:31:50 +01:00
Alex Spencer
365bd2b208 TableNG: Support custom cell renderer (#103560)
* chore: support custom cells

* chore: fix types
2025-04-08 15:17:49 -06:00
linoman
eeb4c045d3 SCIM: Add access control for non provisioned users (#103596)
* Add hook to validate access for users based on provisioning logic

* Wire the hook

* Add tests

* declare new variables for errors

* rework the authorization flow for provisioned users

* Add scim feature to testinfra opts

* Grant access if the identity doesn't have associated a user

* skip external uid check for subsequent calls

* Update tests
2025-04-08 22:50:39 +02:00
Josh Hunt
b631d904ae GrafanaUI: Remove unused blur component token (#103649) 2025-04-08 21:40:04 +01:00
Bill Sorensen
7343774a8c Docs: On-prem license management (#103648)
* -Customer editing of on-prem license docs

* -Vale fix

* -Add note about editing license name

* Update docs/sources/administration/enterprise-licensing/_index.md

Co-authored-by: Jacob Valdez <jacob.valdez@grafana.com>

* Update docs/sources/administration/enterprise-licensing/_index.md

Co-authored-by: Jacob Valdez <jacob.valdez@grafana.com>

* Update docs/sources/administration/enterprise-licensing/_index.md

Co-authored-by: Jacob Valdez <jacob.valdez@grafana.com>

* Update docs/sources/administration/enterprise-licensing/_index.md

Co-authored-by: Jacob Valdez <jacob.valdez@grafana.com>

---------

Co-authored-by: Jacob Valdez <jacob.valdez@grafana.com>
2025-04-08 15:38:03 -05:00
Ryan McKinley
e2475a2189 DataSourceSrv: Get datasource of type (#101495) 2025-04-08 13:51:21 -06:00
Isabella Siu
13534a7d98 Cloudwatch: Revert aws sdk go v2 (#103644)
* Revert "CloudWatch: Import new grafana-aws-sdk with PDC fix (#103249)"

This reverts commit f2b5b4e0c0.

* Revert "CloudWatch: Migrate to aws-sdk-go-v2 (#103106)"

This reverts commit a65cc0df93.

* make update-workspace
2025-04-08 15:40:15 -04:00
Isabel Matwawana
27e9422f24 Docs: xy chart visualization refactor (#103558)
* Added config options heading and bumped other heading levels

* Restructured xy options section

* Fixed links

* Formatted xy chart options using tabs

* Finalized structure of xy chart options section

* Corrected and restructured tooltip options

* Made to do note

* Added to do note

* Replaced screenshots

* Replaced axis options with shared file

* moved transform section

* Moved non-config sections and fixed heading level

* Removed incorrect options from xy chart and commented out image in shared axis file

* Wording edits

* Updated axis options

* Fixed wording

* Added Value mappings and thresholds and other minor edits

* Fixed table
2025-04-08 11:52:45 -04:00
Matheus Macabu
3fad6183aa CloudMigrations: Create resource dependency map to validate snapshot request (#102594)
* CloudMigrations: Create resource dependency map to validate snapshot request

* CloudMigrations: Validate resource types dependencies in create snapshot request

* CloudMigrations: Update service interface to pass parsed resource types for creation

* CloudMigrations: Conditionally append resource to snapshot if enabled

* CloudMigrations: Add /cloudmigration/resources/dependencies endpoint

* CloudMigrations: Properly filter dashboards and folders from snapshot
2025-04-08 17:46:25 +02:00
Alexa V
662b635ef9 Docs: Standard Datetime units limited to millisecond precision (#103610)
* Docs: Add information about timestamp format requirement in Date & time units

* Apply suggestions from code review

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

* Fix linting docs

* Fixed spacing

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2025-04-08 17:43:08 +02:00
Pepe Cano
6a358c7fd6 docs(alerting): Configure IRM for Alerting (OSS/Enterprise) (#103614) 2025-04-08 17:36:46 +02:00
Alex Spencer
a66db96fd9 TableNG: Text wrap enhancements (#102954)
* feat: text wrap table g12

* chore: remove stale comment

* tests: skipping - can't figure out how to test right now

* move text wrap stuff to table new

* chore: make table stuff untouched. only in table new

* wrap text stuff only in table-new

* unbreak RT wrapping

* skip tests for now

* cleanup

* fix bad merge

* revert some stuffs

* maybe

* tweaks

* uwrap 0.1.1

* fix: cell width fixes for overrides

* chore: fix column width

* fix: update hover logic

* fix: utils.test.ts

* chore: mock uWrap and remove tests for now

* chore: adjust width

* chore: clean

* chore: width passed to uwrap account for border

* chore: width changes

* adjust

* no descr

---------

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2025-04-08 09:34:41 -06:00
renovate[bot]
248728a2ef Update dependency @formatjs/intl-durationformat to v0.7.4 (#103615)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-08 16:28:31 +01:00
Mariell Hoversholm
9df94718ab [main] Go: Bump to 1.24.2 (#103521)
Go: Bump to 1.24.2

It is not likely we are actually affected by the CVEs, but updating proactively is not a bad idea nonetheless.

Fixes: CVE-2025-22871
Fixes: https://github.com/grafana/grafana-operator-experience-squad/issues/1311
2025-04-08 17:12:30 +02:00
Scott Lepper
aea8f27c59 Sql Expressions - remove references to poc database (#103618)
Sql Expressions - remove DuckDB references
2025-04-08 10:59:19 -04:00
Tom Ratcliffe
9d22414522 Chore: Fix alerting labelling of PRs (#103616)
Fix alerting labelling of PRs
2025-04-08 17:47:46 +03:00
Andres Martinez Gotor
12e3b86ebb Auto-generate cli for advisor.grafana.app (#103465) 2025-04-08 16:38:19 +02:00
Joey
fc37bb4355 Remove nodeGraphDotLayout feature toggle (#103541) 2025-04-08 15:37:17 +01:00
Peter Štibraný
4efdef9b9c Switch to using in-mem sequence generator only when explicitly configured in connection string. Move spanner-related functions to pkg/util/spanner. (#103363)
* Switch to using in-mem sequence generator only when explicitly configured in connection string.
Move spanner-related functions to pkg/util/spanner.
2025-04-08 16:36:37 +02:00
renovate[bot]
6e134ed974 Update dependency @floating-ui/react to v0.27.6 (#103604)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-08 15:24:21 +01:00
Timur Olzhabayev
188a7be494 Chore: Replace angular based dashboards related to testdata datasource (#103458)
* Updating streaming example dashboard

* migrating TestData - Demo Dashboard

* upgrading New Features in v6.2 dashboard

* fixing prettier lint
2025-04-08 16:19:17 +02:00
Cory Forseth
4caa9853cb Authorization: Add group to role DisplayName to make filtered list more clear (#102950)
* add group to role DisplayName to make searching easier

* clean up more role names; add filtered display text when fetching

* pass filter state into role menu to decide how to display role name

* prop name better describes what it does
2025-04-08 09:15:03 -05:00
Oscar Kilhed
a3c632b814 Dynamic dashboards: fix paste tab button looking weird when many tabs or small viewport (#103606)
fix paste tab button looking weird when many tabs or small viewport
2025-04-08 16:09:38 +02:00
Zoltán Bedi
7a513a5a6a Chore: Devenv MySQL fix authentication for data gen (#103598) 2025-04-08 17:05:13 +03:00
Galen Kistler
290d2aaa8a PanelChrome: move showMenuAlways prop to base types (#103553)
fix: move showMenuAlways prop to base types
2025-04-08 08:54:45 -05:00
Collin Fingar
1bbe970e59 QueryLibrary: Add From Library Icon Action (#103317)
* QueryLibrary: AddfromIcon init work

* Removed console log

* updated i18n

* Added unit tests for button

* Fixed linting

* Updates per feedback - new replace method

* Remove run query call when replace

* lint fixes

* Feedback + method renaming to 'replace'

* Fix await
2025-04-08 09:52:07 -04:00
William Wernert
a8f60de620 Alerting: Remove feature toggles relating to Loki Alert State History (#103540)
* Remove feature toggles relating to Loki Alert State History
2025-04-08 09:50:27 -04:00
Leonor Oliveira
a9ef8bcced Use logging from app sdk in the resource mod (#103281)
* Use logging from app sdk in the resource mod

* make update-workspace

* Use app-sdk logging in SQL backend

* Use grafana-app logging in tests

* make update-workspace

* make update-workspace

* make update-workspace

* Use default logging

* Remove dependency on grafana/grafana

* Fix imports
2025-04-08 15:35:11 +02:00
Sergej-Vlasov
d32f47847c ResponsiveGrid: Adjust auto grid options positioning (#103591)
* adjust auto grid options positioning

* adjust padding
2025-04-08 14:31:25 +01:00
Sonia Aguilar
1d5f51e383 Alerting: Skip rules that are managed by plugins when importing datasource-managed rules (#103573)
* skip rules that are managed by plugins when importing from data source rules to GMA

* update translations

* update text

* update translations

* handle no rules to import

* filter out rules instead of groups

* Reuse skipped rules alert

* update translations keys

* fix filter

---------

Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
2025-04-08 15:07:03 +02:00
Peter Štibraný
04ac3960de anonstore: Fix more test failures in anonstore package. (#103459)
Fix more test failures in anonstore package.
2025-04-08 14:57:59 +02:00
Torkel Ödegaard
6f0daae0d8 AppChrome: Move kiosk button into profile menu (#103600)
* Move kiosk button to profile menu

* translation key
2025-04-08 14:50:24 +02:00
Marco de Abreu
0c79a8927b Dashboards: Add validation tests for all dual writer modes (#103570)
* Add validation tests for mode 0 and 4

* Add mode 1, 2, 3, 5

---------

Co-authored-by: Marco de Abreu <18629099+marcoabreu@users.noreply.github.com>
2025-04-08 14:37:50 +02:00
renovate[bot]
7366ea946a Update dependency @cypress/webpack-preprocessor to v6.0.4 (#103515)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-08 13:17:06 +01:00
Michael Mandrus
0fd7dfeb2a CloudMigrations: Implement table sorting in the UI (#103061)
* implement sorting

* swagger gen

* minor fixes

* clean up param reading

* add todo

* add errors only prop

* codegen stuff

* fix copy paste error

* forgot the api gen

* implement sorting on the frontend

* remove unused enums

* cleanup

* remove tests that are obe

* fix merge

* change page length based on checked box

* cleanup

* fix test

* i18n-extract

* var name tweaks

* use switch and conditional rendering instead of checkbox

* i18n-extract

* use initial sort

* fix type

* fix layout

* fix bugs

* make betterer happy

* fix var names
2025-04-08 08:14:17 -04:00
Piotr Jamróz
eff8cf4144 TraceView: Fix clearing span filters (#103535)
* TraceView: Fix clearing span filters

* Do not run the hook when search changes

* Do not run the hook when search changes
2025-04-08 14:09:34 +02:00
Hugo Häggmark
45094bff65 e2e: fixes selector after translations (#103602) 2025-04-08 15:03:19 +03:00
Torkel Ödegaard
15bb2637f4 Dashboard: Fixes and tweaks provisioning badge (#103522)
* Dashboard: Fixes and tweaks provisioning badge

* Update

* Update

* Update

* Update
2025-04-08 13:51:16 +02:00
Ryan McKinley
d3e6e308a0 K8s/ManagedBy: Enforce who can CRUD provisioning resources (#103322) 2025-04-08 14:17:33 +03:00
Josh Hunt
577ea8f6a9 GrafanaUI: Remove blurred background from overlay backdrops to improve performance (#103563)
* default noBackdropBlur to enabled

* move blur from hacks to theme.components, tweak backdrop colour

* remove toggle completely

* fix unused import
2025-04-08 11:58:19 +01:00
Tobias Skarhed
7a1f1faca3 AppTitle: Fix overflowing text (#103583)
Don't wrap truncated text in a span
2025-04-08 12:56:11 +02:00
Piotr Jamróz
4790f28390 Tempo: Temporarily skip new proto fields (#103586) 2025-04-08 12:56:01 +02:00
Roberto Jiménez Sánchez
4f05b42275 Provisioning: initial unit tests push job (#103577)
* Add repository resources interface for export worker

* Add mocks for repository resources

* Add unit tests for ExportWorker's IsSupported method

* Add unit tests for ExportWorker's Process method, covering scenarios for missing export settings, write permissions, branch restrictions, and client creation failures.

* Fix unit tests

* Single function

* Add more unit tests

* Add test for failed folder

* Fail export folder errors

* Add another test

* Positive folder export

* Too many folder export errors

* Too many errors on folder export

* Partial folder errors

* Add test for nested folder

* Add test dashboard export

* More cases

* Ignore existing dashboards

* Fix folder tests

* Fix clonable test

* Add clone failure test

* Add test clean up without push

* Working tests

* Use mock clonable

* Add unit tests for IsWriteAllowed

* Add behaviour to cover ref equal to configured branch

* Fix worker test

* Fix linting

* Split clone and push

* Wrapper for clone and push
2025-04-08 12:44:11 +02:00
Marco de Abreu
c8c55621fb Dashboards: Fix dashboard UID inconsistency between creation and retrieval in legacy storage (#103568) 2025-04-08 12:25:32 +02:00
Ivan Ortega Alba
11bed7b25d ReloadDashboard: Unified manager should delegate to the right manager (#103329)
* ReloadDashboard: Unified manager should delegate to the right manager

* Throw only when dashboard version error is detected

---------

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2025-04-08 13:23:15 +03:00
Ashley Harrison
762315f181 Chore: Reenable cloud plugins suite (#103385)
reenable cloud plugins suite
2025-04-08 11:06:34 +01:00
Ryan McKinley
18a3913782 Provisioning: Fix updating a PR from the UI (#103571)
Co-authored-by: Clarity-89 <homes89@ukr.net>
2025-04-08 12:51:31 +03:00
Mustafa Sencer Özcan
56b4e5670d fix(unified-storage): fix graceful termination for grafana target servers (#103520) 2025-04-08 11:45:10 +02:00
Mihai Doarna
5c53d33c8e Chore: Fix lint errors from TeamList (#103584)
fix lint errors
2025-04-08 12:44:16 +03:00
Arati R.
df537d6f0f UniStore/Large Objects: Make threshold configurable (#101774)
* Make blob threshold configurable
* Test condition for deconstructing large objects
* Refactor blob threshold naming
2025-04-08 10:50:35 +02:00
Matheus Macabu
ba653c22c3 CloudMigrations: Update footer copy to reflect a wider range of resources can be migrated (#103544) 2025-04-08 10:49:13 +02:00
Hugo Häggmark
dd824fd5cb i18n: exports all language codes (#103580) 2025-04-08 04:40:18 -04:00
Mihai Doarna
64e005d12f Teams: Restrict provisioned teams from being updated and deleted (#103454)
* restrict provisioned teams from being updated and deleted

* check if team is provisioned before update and delete

* add function getTeamDTOByID()

* check if team is provisioned in access control

* fix TestDeleteTeamMembersAPIEndpoint

* add unit tests

* add function for validating a team
2025-04-08 11:27:30 +03:00
Alexander Zobnin
4bc9203cf6 Zanzana: Perform shadow requests (#103444)
* Zanzana: Execute checks in the background

* add metrics

* collect metrics

* cleanup

* shadow compile checker

* add time metrics for compiler

* run compile in parallel

* prevent deadlock
2025-04-08 10:03:35 +02:00
Tom Ratcliffe
54192e3308 Chore: Make alerting frontend codeowners of unified alerting types (#103551)
Make alerting frontend codeowners of unified alerting types
2025-04-08 06:48:21 +01:00
Pepe Cano
3cc2c1509b docs(alerting): fix annotation names for panel links in alerts (#103471) 2025-04-08 07:09:48 +02:00
grafana-pr-automation[bot]
a84e96fba2 I18n: Download translations from Crowdin (#103566)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-04-08 03:32:33 +03:00
Alexander Akhmetov
c4a2f99d8b Alerting: Allow importing Prometheus rules with keep_firing_for (#103557) 2025-04-07 22:33:07 +02:00
maicon
fa7ea6ee00 UniStore: Add non interactive mode for CLI migration (#103407)
Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-04-07 17:23:47 -03:00
Alexander Akhmetov
66006928b8 Alerting: Set ExecErrState to Normal for imported Prometheus rules (#103556) 2025-04-07 21:55:32 +02:00
Tom Ratcliffe
6d28544ef4 Alerting: Add area/alerting label to frontend code and add to project (#103517)
Add area/alerting to frontend code and add to project
2025-04-07 20:34:46 +01:00
Tom Ratcliffe
c2af05c328 Alerting: Add missing_series_evals_to_resolve option to alert rule form (#102808)
* Add missing_series_evals_to_resolve option to alert rule form

* Fix tests and undefined behaviour

* Update translations

* Update translations

* Update falsy logic

* Remove null type

* Update tests

* Update details tab

* Add default value

* Remove null

* Update description text, add placeholder, remove default
2025-04-07 19:49:45 +01:00
Sam Jewell
f8a72214cf SQL Expressions: Add more functions to the allowlist (#103546)
* SQL Expressions: Allow many more functions and nodes

* Also allow the `REGEXP_SUBSTR` function

* Add window functions

* add more JSON support, remove now and current time (for now)

---------

Co-authored-by: Kyle Brandt <kyle@grafana.com>
2025-04-07 21:23:39 +03:00
Pepe Cano
21fe9480a1 docs(alerting): Configure Grafana IRM (#103549)
* docs(alerting): Configure Grafana IRM

* update `PagerDuty`
2025-04-07 18:51:49 +02:00
Gareth Dawson
a494c5dd3d Prometheus: fix labels infinite loading state in aggregations (#103005)
* fix labels in aggregation

* use timerange from props

* fix tests and lint

* fix lint
2025-04-07 18:40:48 +02:00
Galen Kistler
369dc28ca2 Logs Table: Add new Controls component to Explore (#103467)
* Add logs options to Table

---------

Co-authored-by: Matias Chomicki <matyax@gmail.com>
2025-04-07 10:35:45 -05:00
Sonia Aguilar
71c66acb2d Alerting: Add keep_firing_for and Recovering state (#103248)
* add keep_firing_for and Recovering state

* prettier

* translations

* remove unused component/file

* fix tests

* fix test

* prettier

* fix tests

* revert changes in go.work.sum

* remove recovering from cloud rules filters

* prettier

* fix padding

* fix wrong move in import

* update text

* fix filtering states in alert list panel

* update translations

* betterer

* address feedback

* translations

* fix tests

* prettier and betterer

* update betterer.results

* update translations

* update snapshot

* add divider in the alert rule form

* address feedback

* Improve translations

* Update .betterer.results

---------

Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
2025-04-07 17:13:04 +02:00
Alexander Akhmetov
09a7f9ba1c Alerting: Update external alert manager notifier (#103530) 2025-04-07 17:09:23 +02:00
Torkel Ödegaard
b9bc069fb9 AppChrome/MegaMenu: Fixes issue with default state being initialised to undocked (#103507)
* AppChrome/MegaMenu: Fixes default mega menu docked state

* AppChrome/MegaMenu: Fixes default mega menu docked state

* Update thresholds

* Update

* pa11y fix

* remove unnessary css

* fixed pa11y config

* try fix pa11y config + unit tests

* just increase thresholds again...

---------

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-04-07 16:00:05 +01:00
Ryan McKinley
63af403897 Live: Remove queryOverLive and live-service-web-worker experimental feature flags (#103518) 2025-04-07 17:47:35 +03:00
Matias Chomicki
e2a6f9a849 Logs: Add new Controls component to Explore (#103401)
* ControlledLogRows: create component

* Fix imports

* ControlledLogRows: handle scroll events

* Rename storage key prop

* LogListControls: externally control syntax highlighting

* ControlledLogRows: add support for level filtering

* Logs: implement deduplication from controls

* Fix imports

* Create feature flag

* Use feature flag

* LogListControls: add download button

* LogsMetaRow: extract download function to logs utils

* Filter and download logs

* Update tests with new props

* LogList: pass logs and logs meta to context

* Remove prefix from downloaded file

* Update unit tests

* LogListControl: update unit tests

* Fix type assertion

* Fix imports

* Formatting

* i18n

* Fix test

* LogListControls: adjust scroll to top styles

* LogListContext: control legacy options

* LogListControls: add showUniqueLabels and prettifyJSON options

* LogListControls: test new controls

* Extract translations

* Hide old controls by feature flag

* LogListControls: update prettify json copy

* ControlledLogRows: disable preview

* Prettier

* LogListControls: Fix test
2025-04-07 16:38:55 +02:00
Leonor Oliveira
e9ed7223a6 Use authlib repo. Use otel (#103178)
* Use authlib repo. Use otel

* Use interceptors on the provider level

* Create a new wire set with otel

* Lint

* Fix test

* make update-workflow

* make update-workspace

* make update-workspace. Try to add authlib as enterprise imports

* make update-workspace
2025-04-07 15:47:40 +02:00
Torkel Ödegaard
46bf9e6551 Dashboard: Group layout and Grid layout categories and simplified radio toggle design (#103433)
* Group layout and more

* Change word

* Update

* changed names and added new translation keys

* Update

* Update

* revert color change

* update
2025-04-07 14:30:09 +02:00
Roberto Jiménez Sánchez
fc099e9f0d Provisioning: Run validation on config updates (#103265)
* Run validation on config updates

* Refactor code

* Add debug lines

* Remove test check on admission

* Organize imports

* Delegate events to the API client

* Extend error notification

* Deep copy default data

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Clarity-89 <homes89@ukr.net>
2025-04-07 14:48:28 +03:00
Ezequiel Victorero
e1ec9bddbd Grafana-UI: Support theme color in TagsInput (#102293)
* Grafana-UI: Support theme color in TagsInput

* improve variable names

* rename prop + rejigger styles

* reword comment

---------

Co-authored-by: joshhunt <josh.hunt@grafana.com>
2025-04-07 12:43:59 +01:00
Will Assis
9bc4fbe900 alerting: batch user service calls (#103403)
* update alerting endpoints to batch requests to the user service via ListByIdOrUID
2025-04-07 07:33:15 -04:00
Sonia Aguilar
a05b35a13c Alerting: Fix wrong interpolation in translation (#103514)
fix wrong interpolation in transalation
2025-04-07 13:41:04 +03:00
Alexander Akhmetov
cf5da1d366 Alerting: Fix swagger in pkg/services/ngalert/api/tooling (#103500) 2025-04-07 12:38:07 +02:00
Ashley Harrison
641031cfaf Chore: Type fixes (#103340)
* tidy tidy

* more fixes

* some TableNG fixes

* another TableNG test fix

* some more fixes

* betterer...
2025-04-07 11:29:30 +01:00
Peter Štibraný
68c6e88b00 Support creating temporary Spanner databases for integration tests. (#103347)
* Support creating temporary Spanner databases for integration tests.
2025-04-07 12:15:16 +02:00
Tom Ratcliffe
23fa739a13 Alerting: Link annotations label and inputs together (#103473) 2025-04-07 11:01:05 +01:00
renovate[bot]
494ca597aa Update babel monorepo (#103455)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-07 10:58:47 +01:00
Hugo Häggmark
3de09fe457 i18n: exposes languages in grafana/data (#102958)
* i18n: exposes languages in grafana/data

* Chore: updates after PR feedback
2025-04-07 11:53:04 +02:00
Leonor Oliveira
c63cfc11e2 [Chore] Mark CodeQL warning as safe (#101365)
* Mark CodeQL warning as safe

* Temporarily ignore file
2025-04-07 11:52:09 +02:00
Ryan McKinley
1824694c72 Provisioning: Show branch in save form (#103513) 2025-04-07 12:48:32 +03:00
Tito Lins
505c0cbbaf Alerting: upgrade alerting (#103333) 2025-04-07 11:39:38 +02:00
Ryan McKinley
1faa855ff1 Provisioning: Improve sample provisioning (#103508) 2025-04-07 12:37:18 +03:00
Piotr Jamróz
4db8d8530d Explore: Fix displaying Query Inspector (#103512) 2025-04-07 11:12:23 +02:00
Torkel Ödegaard
271868b4f1 Explore: Fix button sizes used in AppChrome toolbar (#103496) 2025-04-07 11:03:21 +02:00
Jack Baldry
8655862c8b Include rule for correct use of grafana.com (#103505)
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
2025-04-07 09:55:18 +01:00
Jack Baldry
bb2dfa1997 Remove doc-validator workflow (#103504)
The tool is unmaintained. Most useful rules have been ported to Vale.

The remaining rules often exhibit false positives.

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
2025-04-07 09:54:58 +01:00
Ashley Harrison
0fc4f53fab Internationalisation: More markup for translations (#103392)
* some more translations

* more markup

* more translations

* fix tests
2025-04-07 09:48:03 +01:00
Ivan Ortega Alba
3c3e5754b3 Dashboard: Enable JSON editor for Schema v2 (#102466)
Co-authored-by: Haris Rozajac <haris.rozajac12@gmail.com>
2025-04-07 10:46:43 +02:00
grafana-pr-automation[bot]
7ae86ee017 I18n: Download translations from Crowdin (#103485)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-04-07 09:32:37 +01:00
Mariell Hoversholm
38db7fad22 Build: Unpin bleve/v2 (#103506)
The commit we wanted[1] is now in v2.5.0 of bleve/v2. This means we no longer need a pin here and can update the library
instead.

[1]: af9e3111da
2025-04-07 10:21:33 +02:00
Ryan McKinley
8dbaeac9da Provisioning: Use repository view rather than raw config (#103449) 2025-04-07 09:39:31 +03:00
Stephanie Hingtgen
8cd6f837a5 Dashboards: Prevent saving to a non-existent folder (#103503) 2025-04-07 09:02:20 +03:00
Jack Baldry
ed9b649ed6 Update sharing markers to use the new format (#103470)
The new behavior is discussed in https://github.com/grafana/website/pull/25064.
The behavior lets writers include block elements like lists and continue the list in the including source.

I've removed the `panels` `ref` URI to fix the link in learning journeys.

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
2025-04-07 04:48:26 +01:00
Marco de Abreu
b2f80d4dca Dashboards: Add Dashboard API Validation tests and fix underlying issues (#103502) 2025-04-07 05:44:28 +03:00
Todd Treece
427715b070 Dashboards: Add k8s fallback client (#103404) 2025-04-06 16:38:06 -04:00
Ryan McKinley
b329b78ef6 Provisioning: Improve flakey test (#103498)
improve flakey test
2025-04-06 17:51:54 +02:00
Sven Grossmann
8eea0c9a3d Explore: Use fixed dates to prevent DST issues in tests (#103497)
* Explore: Use fixed dates to prevent DST issues in tests

* PanelQueryRunner: Use fixed dates to prevent DST issues in tests
2025-04-06 17:04:28 +02:00
Alexander Akhmetov
bdbe94abc8 Alerting: Remove alertingConversionAPI feature flag (#103380) 2025-04-05 09:27:02 +01:00
Oleg Yevik
ac7ad27867 Alertmanager: Add Role-Based Access Control via reqAction Field (#101543)
* Add reqAction for alert manager routes
* Add endpoints from Prometheus Alertmanager API
* use notifications reader for alertmanager/api/v2/status
* use viewer for GET api/v1/alerts
* add POST DELETE for api/v1/alerts
* duplicate paths to cover upstream Alertmanager
* add fallback rule to catch all GET
* Update reqAction for GET api/v1/alerts
* require Admin for all wildcard paths

---------

Signed-off-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2025-04-04 21:59:45 +03:00
ismail simsek
8fadade4b8 Chore: Split PrometheusMetricsBrowser into small functional components (#101703)
* convert it to functional component

* useReducer

* usePromQueryFieldEffects

* clean up the code

* remove localStorage provider

* introduce usePromQueryFieldEffects.test.ts

* simpler state management

* remove mocks

* linting + betterer

* Split PrometheusMetricsBrowser into small functional components

* prettier
2025-04-04 18:58:46 +02:00
ismail simsek
23e0f63790 Chore: Convert prometheus query field to a functional component (#101515)
* convert it to functional component

* useReducer

* usePromQueryFieldEffects

* clean up the code

* remove localStorage provider

* introduce usePromQueryFieldEffects.test.ts

* simpler state management

* remove mocks

* linting + betterer

* remove unnecessary check

* use range

* remove unused languageProvider

* prettier
2025-04-04 17:56:31 +02:00
Tom Ratcliffe
a93e618102 Internationalisation: Auto mark-up Alerting's strings (#103354)
* Internationalisation: Auto mark-up Alerting code strings

* Update .betterer.results

* Revert prometheus duration docs change

* Fix duplicated import

* Remove unneeded translation
2025-04-04 15:56:10 +01:00
Jack Westbrook
892ea3ad30 Chore: Bump @babel to latest 7.x.x releases (#103456)
chore(yarn): bump @babel to latest 7.x.x releases, dedupe lock file
2025-04-04 15:43:45 +01:00
Torkel Ödegaard
31f1ff92a6 Dashboard: Remove global add button (#103457)
* Dashboard: Remove global add button

* Push
2025-04-04 16:33:25 +02:00
Daniel Alvo
d16dbc5ac9 ColorPicker: Fixed height when switching tabs (#103304)
* ColorPicker: fixed height when switching tabs

Fixed the component's height by setting a consistent height and adding margin.
Also added a test to ensure the component heights remain nearly identical when switching tabs.

Fix #99675

* ColorPickerPopover: Fixed height for popover content and allowed overflow. #99675

* ColorPickerPopover : Fix formatting suggested by linter.

* ColorPickerPopover: Remove redundant height test when switching tabs

* ColorPickerPopover: Remove overflowY style from popover container

* ColorPicker: Remove unnecessary marginTop from SpectrumPalette styles
2025-04-04 17:19:08 +03:00
Kyle Brandt
b1490a10e8 SQL Expressions / Alerting: Do not allow duplicates (#103394) 2025-04-04 10:00:30 -04:00
Tom Ratcliffe
3766deed34 Alerting: Import UI - Add folder creation & add to new list view (#103417)
* Update styling of import warning

* Update logic for picking recording rule target datasource, and default to chosen DS

* Add CreateNewFolder component

* Reuse folder creation logic inside alert rule form

* Update betterer and tweak jsdoc

* Add translation to folder selector and tidy up imports

* Allow specifying data source UID in query param

* Add import button to new list view on appropriate data sources

* Fix CI failures

* Update translation keys
2025-04-04 14:44:59 +01:00
Konrad Lalik
9d82186885 Alerting: Improve displaying small numbers in query preview (#103439)
* Improve rendering of small numbers in the query preview

* Use getSeriesValue in Expression component
2025-04-04 15:30:24 +02:00
Matias Chomicki
06c83f7d4d New Logs Panel: Add LogListControl component (#102359)
* LogListNavigation: create component

* LogListNavigation: make it optional

* Refactor Navigation into Controls

* Explore Logs: hide old panel options

* LogListControls: add more controls and apply new styles

* LogListControls: update width

* Remove console log

* LogList: wrap component in context

* LogListContext: make it stateful

* LogListControls: connect with context

* LogListContext: sync displayed fields

* LogListContext: add syntax highlighting control

* LogLine: improve color with highlighting off

* LogListControls: improve button styles

* LogListControls: add sort order option

* LogListControls: add dedup strategy

* LogListContext: sync prop changes with state

* LogList: add option change callback

* LogListContext: sync external changes only when showControls is disabled

* LogListContext: unify sync effect

* LogListControls: improve buttons active css

* LogListContext: add optional storage support

* LogList: make syntaxHighlighting and read from store or default to true

* LogsPanel: add support for new options

* Generated file

* Update tests

* New Logs Panel: add showControls option

* LogList: make eventBus optional

* LogsPanel: expose syntaxHighlighting

* LogsPanel: expose grammar to plugins

* Remove incorrect legacy file

* LogListControls: allow options change with controls enabled in panel editor

* LogLine: apply no-highlighting class to ansi wrapper

* LogListControls: add frontend level filtering

* LogList: filter by filterLevels

* LogListControls: allow filterLevels in dashboards

* LogLine: update unit tests

* LogLineMenu: update unit test

* LogListControls: add unit test

* Revert

* LogList: add unit test

* LogList: add onLogRowHover support

* LogList: test hover events

* LogsPanel: add unit test

* LogLine: use theme color for errors

* LogLine: minor tweak to hover state

* Chore: fix test case name

* LogListControls: add border

* LogListControls: prevent default on wrap toggle click

* LogLine: switch info and debug colors

* ContentOutline + LogControls: sync displayed levels and minor outline improvements

* LogListContext: sync with external filterLevel changes

* Logs: work with arrays of LogLevel and not plain strings

* Fix type

* LogListControl: increase controls size
2025-04-04 14:53:12 +02:00
Roberto Jiménez Sánchez
364247e26b Provisioning: add most mocks to unit test provisioning jobs (#103446)
* Use interface for factories

* Add most mocks to unit test jobs

* Generate more mocks for main jobs package

* Interface for parser

* Use clients directly without parser

* Regenerate mock

* Eliminate resource clients from Parser

* Interface for folder tree
2025-04-04 15:42:20 +03:00
renovate[bot]
5465abd5a1 Update scenes to v6.6.3 (#103447)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-04 15:35:07 +03:00
Jack Westbrook
ea0f1eb30a Chore: Bump swaggers prismjs version (#103448)
chore(yarn): add resolution to force swagger-ui-react prismjs version ^1.27.0
2025-04-04 14:33:29 +02:00
Victor Marin
e2bc620466 PanelEdit: Adapt panel data error view CTAs to scenes (#102881)
adapt CTAs for scenes
2025-04-04 15:12:52 +03:00
renovate[bot]
1db267a6cd Update React Aria (#103440)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-04 13:11:26 +01:00
ismail simsek
1a988df143 Prometheus: Support new info function in code editor (#97850)
* first attempt to have info function

* unit test for query modeller

* enable info function in devenv

* fix unit test

* add unit test for info function

* throw error when trying to visualize the info function

* remove visual query support

* Update packages/grafana-prometheus/src/promql.ts

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

* Update packages/grafana-prometheus/src/querybuilder/parsing.test.ts

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

* update info function detail

---------

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2025-04-04 13:50:54 +02:00
Hugo Häggmark
2c0255a72e Nx: fixes caching issues (#103443) 2025-04-04 14:36:18 +03:00
Jack Westbrook
ef2705f189 Chore: Update undici to latest 6.x.x (#103445)
chore: update undici to latest 6.x.x release
2025-04-04 13:03:01 +02:00
Roberto Jiménez Sánchez
ea02e2e081 Provisioning: refactor dry-run and run logic to be stricter and more concise (#103357)
* Separate DryRun into separate method

* Fix linting

* Remove errors

* Remove checks in dualwriter

* Fix unit tests

* Add TODOs

* Dry Run as non-critical error

* Add TODOs

* Address TODO

* Fix tests

* Fix linting

* Deprecate dashboard name from path completely

* Use MissingName error also in parser

* Return 206 for non-critical errors

* Remove TODOs for previous dry-run
2025-04-04 13:31:48 +03:00
Ryan McKinley
02c8669ee8 Provisioning: Fix the referenced path and generate name (#103424) 2025-04-04 13:31:28 +03:00
Ashley Harrison
254286ecaa Lefthook: ensure we're adding the results file in betterer precommit (#103398)
* test to check it's committing

* undo test change

* only commit if betterer precommit succeeds
2025-04-04 11:29:28 +01:00
Alex Khomenko
5e02532073 Provisioning: Update onboarding page (#103436)
* Change feature name

* Update feature list

* Update connect button

* Update enhanced features

* Cleanup
2025-04-04 13:08:58 +03:00
Torkel Ödegaard
49ecd83b87 Dashboard: Ungroup action to remove row or tab (#103370)
* Dashboard: Ungroup action to remove row or tab

* Update
2025-04-04 12:07:58 +02:00
Torkel Ödegaard
5aa358c481 Dashboard: Variable controls via simple react component (#103442)
* Dashboard: Variable controls refactor

* Update tests

* Fix name

* fix lint
2025-04-04 11:49:04 +02:00
Will Browne
48877f9187 Alerting: Fix plugin not found error during condition validation (#102437)
improve error
2025-04-04 10:37:55 +01:00
Jack Westbrook
f96e4e9ad2 Frontend: Remove Angular (#99760)
* chore(angularsupport): delete feature toggle to disable angular

* feat(angular-support): remove config.angularSupportEnabled

* chore(jest): remove angular from setup file

* chore(angular): delete angular deprecation ui components

* refactor(angular): move migration featureflags into migration notice

* chore(dashboard): remove angular deprecation notices

* chore(annotations): remove angular editor loader

* feat(appwrapper): no more angular app loading

* feat(pluginscatalog): clean up angular plugin warnings and logic

* chore(angular): delete angular app and associated files

* feat(plugins): delete old angular graph plugin

* feat(plugins): delete old angular table panel

* feat(frontend): remove unused appEvent type

* feat(dashboards): clean up angular from panel options and menu

* feat(plugins): remove graph and table-old from built in plugins and delete sdk

* feat(frontend): remove angular related imports in routes and explore graph

* feat(theme): remove angular panel styles from global styles

* chore(i18n): run make i18n-extract

* test(api_plugins_test): refresh snapshot due to deleting old graph and table plugins

* chore(angulardeprecation): delete angular migration notice components and usage

* test(frontend): clean up tests that assert rendering angular deprecation notices

* chore(backend): remove autoMigrateOldPanels feature flag

* chore(config): remove angularSupportEnabled from config preventing loading angular plugins

* chore(graphpanel): remove autoMigrateGraphPanel from feature toggles

* chore(tablepanel): delete autoMigrateTablePanel feature flag

* chore(piechart): delete autoMigratePiechartPanel feature flag

* chore(worldmappanel): remove autoMigrateWorldmapPanel feature toggle

* chore(statpanel): remove autoMigrateStatPanel feature flag

* feat(dashboards): remove automigrate feature flags and always auto migrate angular panels

* test(pluginsintegration): fix failing loader test

* test(frontend): wip: fix failures and skip erroring migration tests

* chore(codeowners): remove deleted angular related files and directories

* test(graphite): remove angular mock from test file

* test(dashboards): skip failing exporter test, remove angularSupportEnabled flags

* test(dashbaord): skip another failing panel menu test

* Tests: fixes pkg/services/pluginsintegration/loader/loader_test.go (#100505)

* Tests: fixes pkg/services/pluginsintegration/plugins_integration_test.go

* Trigger Build

* chore(dashboards): remove angularComponent from getPanelMenu, update test

* feat(dashboards): remove all usage of AngularComponent and getAngularLoader

* chore(betterer): refresh results file

* feat(plugins): remove PluginAngularBadge component and usage

* feat(datasource_srv): remove usage of getLegacyAngularInjector

* feat(queryeditor): delete AngularQueryComponentScope type

* Chore: removes Angular from plugin_loader

* Chore: remove angular from getPlugin

* Chore: fix i18n

* Trigger Build

* Chore: remove more Angular from importPanelPlugin

* Chore: remove search options warning

* Chore: remove and deprecate Angular related

* chore(angular): remove angular dependencies from core and runtime

* chore(runtime): delete angular injector

* chore(data): delete angular scope from event bus

* chore(plugin-catalog): remove code pushing app plugins angular config page

* chore(yarn): refresh lock file

* chore(frontend): remove ng-loader from webpack configs, remove systemjs cjs plugin

* chore(navigation): remove tether-drop cleanup from GrafanaRouter, delete dependency

* chore(runtime): delete AngularLoader

* chore(betterer): refresh results file

* chore(betterer): fix out of sync results file

* feat(query): fix type and import errors in QueryEditorRow

* test(dashboards): delete skipped angular related tests

* Tests: add back tests and fix betterer

* Tests: fix broken test

* Trigger build

* chore(i18n): remove angular deprecation related strings

* test: clean up connections and plugins catalog tests

* chore(betterer): update results file

---------

Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
2025-04-04 11:31:35 +02:00
Peter Štibraný
b1198b92c6 authinfoimpl: Fix TestIntegrationAuthInfoStore when running on Spanner. (#103383)
Fix TestIntegrationAuthInfoStore when running on Spanner.
2025-04-04 11:20:48 +02:00
Mihai Doarna
a0bce1e12f Team: Fix createTeam API handler (#103441)
fix createTeam API handler
2025-04-04 12:02:33 +03:00
Torkel Ödegaard
357a296112 Themes: Gloom update (#103434)
* Themes: Gloom update

* Update

* Fix borders
2025-04-04 10:40:13 +02:00
renovate[bot]
b2e19d8797 Update dependency swagger-ui-react to v5.20.5 (#102306)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-04 09:39:42 +01:00
Peter Štibraný
1c631c17d4 Rename existing tests in pkg/services/serviceaccounts/database package to make them an integration tests. (#103373)
Rename existing tests in pkg/services/serviceaccounts/database package to make then an integration tests.
2025-04-04 11:12:02 +03:00
Mihai Doarna
10411361e7 Team: Add columns external_uid and is_provisioned to the team table (#103285)
* add columns external_id and is_provisioned to the team table

* generate openapi specs

* rename column to external_uid

* generate open api specs

* increase limit for external_uid to 256
2025-04-04 11:00:14 +03:00
grafana-pr-automation[bot]
f19e4f95d5 I18n: Download translations from Crowdin (#103428)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-04-03 21:21:27 -04:00
Adela Almasan
248db9a644 NoData: Fix panel error when Color scheme is set to "Classic palette (by series name)" (#103402)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2025-04-04 02:41:59 +03:00
Leon Sorokin
683660fa42 TableNG: Fix column hiding override (#103327)
* TableNG: Fix column hiding override

* Mark field custom config as optional

---------

Co-authored-by: drew08t <drew08@gmail.com>
2025-04-03 14:54:09 -07:00
Ryan McKinley
04fb9f534e Dashboards: Only expose LibraryPanels and search on v0 (not v1+v2) (#103335) 2025-04-03 20:24:12 +03:00
Tom Ratcliffe
224139e9d0 Plugins: Revert accidental change to plugins code from Alerting PR (#103400)
Revert accidental change to plugins code
2025-04-03 17:22:13 +00:00
Isabel Matwawana
31ecb5d0b5 Docs: candlestick visualization refactor (#103310)
* Added config options heading and bumped other heading levels

* Reordered headings and added missing ones

* Nested candlestick options under heading

* Added graph styles and axis content

* Added candlestick options to table

* Refactored and edited candlestick options section

* Replaced shared file with manual tooltip section

* Added missing intro sentences to candlestick options section

* Added a graph styles shared file

* Replaced body text with graph styles shared file in candlestick and time series files

* Added content from time series file to shared axis options file

* replaced shared file in candlestick file with axis content

* Updated option descriptions in axis options shared file

* Updated axis options section of candlestick

* Fixed typos

* Ran prettier

* Replaced some screenshots with higher res, up to date versions

* Wording edits

* Added contributor notes and a missing command

* Fixed typo

* Fixed typo

* Ran prettier

* Removed note from axis options all file

* Renamed axis options file

* Renamed shared file adn updated link in time series page

* Added axix options file and renamed another one, updated links in other files

* Ran prettier
2025-04-03 12:30:14 -04:00
Ryan McKinley
c5d76a8bba Provisioning: Require a name in the saved resource (#103309) 2025-04-03 18:58:05 +03:00
Matheus Macabu
c7754d7065 Scripts/Build: Remove unused CI folders (#103374)
* Scripts/Build: Remove ci-deploy

* Scripts/Build: Remove ci-e2e

* Scripts/Build: Remove ci-windows-test

* Scripts/Build: Remove ci-wix

* Scripts/Build: Remove ci-msi-build

* Dependabot: Remove unused folders from docker updates

* Chore: Run make update-workspace
2025-04-03 17:44:20 +02:00
Ed Poole
5c3769bc2d Fix subpixel rendering of NavToolbarSeparator (#103377) 2025-04-03 16:44:08 +01:00
Ashley Harrison
7603a92296 CI: Add betterer check to lint step (#103361)
* add betterer check to lint step

* fix regressions

* add translation
2025-04-03 18:31:36 +03:00
Kevin Minehart
5a2eedbae1 CI: Fix bug in post-release workflow (#103368)
version should be prefixed with a v
2025-04-03 10:21:40 -05:00
Alexa V
e9849d0b7c Dashboards: SchemaV2 fix stateless queries incorrectly applied (#103316)
Fix getDataQueryKind to properly detect datasource type from multiple sources

- Add unit tests for the improved function
- Fix typo in schema editor drawer subtitle
2025-04-03 09:19:40 -06:00
Kristina
72edbbba05 Correlations: Handle undefined field in logfmt (#103372) 2025-04-03 17:40:43 +03:00
Alex Khomenko
edefc80c2a Provisioning: Split active and finished jobs (#103351) 2025-04-03 17:38:12 +03:00
Alex Spencer
d6ec8ab8b1 TableNG [Bug Bash]: Cell inspect and filter on the field level (#103004)
* fix: cell inspect + filter at the field level, not defaults

* chore: defensive against missing custom config

* chore: reconfigure tests

* hide inspect block if nothing to show

---------

Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
Co-authored-by: Ihor Yeromin <yeryomin.igor@gmail.com>
2025-04-03 16:28:19 +02:00
Peter Štibraný
413378dd3a Retry aborted transactions on Spanner. (#103289)
* Retry aborted transactions on Spanner.
2025-04-03 16:26:09 +02:00
Torkel Ödegaard
f5beba1036 PanelEdit: Options pane design tweaks (#103331)
* PanelEdit: Options pane design tweaks

* Added translations

* Fixed

* Update
2025-04-03 16:21:26 +02:00
Levente Balogh
83dc1250bb Extensions: Fix a bug with the observable APIs (#103367)
tests(getPluginExtensions): add more tests for the observable apis
2025-04-03 17:13:32 +03:00
Kyle Brandt
4a0ec27e5d SQL Expressions: Query Service Support (#101955)
---------

Co-authored-by: Adam Simpson <adam@adamsimpson.net>
Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>
2025-04-03 09:36:02 -04:00
Oscar Kilhed
370f4c2bcd Dynamic dashboards: Use addNewRow and addNewTab when duplicating rows and tabs (#103362)
Use addNewRow and addNewTab when duplicating rows and tabs
2025-04-03 16:28:45 +03:00
Dominik Prokop
ae700e7632 Schema V2: Handle v2 custom home dashboard (#103332)
* Schema V2: Handle v2 custom home dashboard

* Clean interface

* Fix old arch
2025-04-03 15:24:19 +02:00
Ryan McKinley
3ce4025db6 Chore: Update lerna, NX, and @babel/runtime-corejs3 (#103344) 2025-04-03 16:05:21 +03:00
Sonia Aguilar
9b91dc7855 Alerting: Migration UI (#102010)
* add feature toggle alertingMigrationUI

* wip

* wip

* wip2

* add button to export in alert list and add target folder in the form

* update namings

* protext migration route with alertingMigrationUI feature toggle

* remove unused error style

* add namspace and group filter

* fix translations and prettier

* fix duplication

* use the new endpoint

* update right roles for the FE route

* refactor

* notify success

* address feedback

* fix translations

* Simplify migration UI for alert rules to GMA format

Extracts migration button component and reuses it in banner for better
code organization and consistency.

* Fix root folder check in import alert rules UI

Replace hardcoded empty string check with lodash isEmpty for folder UID
validation

* Add collapsible section for import rule options

* address feedback

* Split useAlertRuleSuggestions, one for labels, and other for namespaces

* refactor splited hooks

* Alerting: (PR review) Redesign slightly + use combobox (#102614)

Redesign slightly + use combobox

* udpate naming

* remove eslint-disable-next-line @grafana/no-untranslated-strings and add hasDataSourcesConfigured as a condition to render the banner

* use button instead of banner

* fix routes

* use new api

* update api

* remove query params

* update translations

* update ff files

* skip subpath when redirecting to the alert list view with filters

* prettier

* disable provenance

* prettier

* Don't send target forlder uid in the payload as undefined if it's not selected

* prettier

* add confirmation modal with a preview

* remove unnecessary export

* Add target datasource UID for recording rules

* Use skipToken

* Add recording rule datasource and update designs

* Use different hook to fetch rulerRules

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
2025-04-03 14:04:11 +01:00
Joey
9111a2839c Revert "Tempo: fix streaming with TLS without BasicAuth (#100546)" (#103358)
This reverts commit fa8dafec77.
2025-04-03 15:48:26 +03:00
Torkel Ödegaard
72a76721e1 ButtonGroup: Fixes button group for solid buttons (#103255)
* ButtonGroup: Fixes button group for solid buttons

* Update

* Fix
2025-04-03 14:47:15 +02:00
Bogdan Matei
80df736e27 Dynamic Dashboards: UI fixes (#103352) 2025-04-03 15:14:42 +03:00
Torkel Ödegaard
25508c620e Row: Fixes issue with row content going outside it's bounds (#103350)
* Row: Fixes issue with row grid going outside it's bounds

* updated fix
2025-04-03 14:56:28 +03:00
Roberto Jiménez Sánchez
800aa7827d Provisioning: Ensure path to file exists in Files endpoints (#103343)
* Create ensure folder path exists

* Fix issue with folder names generated in 2 different ways
2025-04-03 13:50:41 +02:00
Oscar Kilhed
17d075d81d Dynamic dashboards: Warn if row or tab title not unique (#103346)
* warn if row or tab title not unique

* Make i18n-extract

* minor copy

* minor copy update again
2025-04-03 13:31:07 +02:00
Sonia Aguilar
3450d243b9 Alerting: Delete permanently deleted alert rules. (#102960)
* add alertingDeletePermanently ff

* add delete permanently button in Recently deleted page

* use ff to protect delete permanent button column

* update transations and prettier

* invalidate tag and update transalations keys

* add test

* prettier

* refactor test

* restore wrong change in deleteRulerRuleGroupHandler

* update test

* linter

* Alerting: Permanent delete rules code review (#103288)

* Update feature toggle name and description

* Rename mutation endpoint

* Fix typo and update text to be "permanently delete"

* Update feature toggle and test

* Move delete button into actions column

* generate ff

* address feedback

---------

Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
2025-04-03 14:18:25 +03:00
Alex Spencer
50825a8299 TableNG [Bug Bash]: Add onCellFilterAdded buttons back (#103160)
chore: bring back onCellFilterAdded controls
2025-04-03 12:41:17 +02:00
Konrad Lalik
8855256638 Alerting: Fix days of month description and validation (#103341)
Improve days_of_month validator, fix misleading field description
2025-04-03 12:39:30 +02:00
Torkel Ödegaard
e0b15bb72d Dashboard: Hide canvas actions in old grid if dashboardNewLayouts is disabled (#103338) 2025-04-03 12:32:47 +02:00
Sven Grossmann
f277902682 Sidebar: Create a sidebar that can render an extension (#102626)
* Extension Sidebar: Add missing `web-section` icon

* Extension Sidebar: Add core extension sidebar components

* Extension Sidebar: Integrate extension sidebar into Grafana

* Extension Sidebar: Change extension point to alpha

* Extension Sidebar: Fix saved state of docked extensions

* Extension Sidebar: Delete from local storage if undocked

* Extension Sidebar: Move main scrollbar from body to pane

* Extension Sidebar: Expose `ExtensionInfo`

* Extension Sidebar: Move `useComponents` into ExtensionSidebar

* Extension Sidebar: Store selection in `localStorage`

* Extension Sidebar: Simplify return of extension point meta

* Extension Sidebar: Ensure `body` is scrollable when sidebar is closed

* Extension Sidebar: Add missing `GlobalStyles` change

* Extension Sidebar: Don't render `ExtensionSidebar` unless it should be open

* Extension Sidebar: Better toggle handling

* Extension Sidebar: Fix wrong header height

* Extension Sidebar: Change `getExtensionPointPluginMeta` to use `addedComponents` and add documentation

* Extension Sidebar: Add tests for `getExtensionPointPluginMeta`

* Extension Sidebar: Add tests for `ExtensionSidebarProvider`

* Extension Sidebar: Fix tests `ExtensionSidebarProvider`

* Extension Sidebar: Add tests `ExtensionToolbarItem`

* Extension Sidebar: Add `extensionSidebar` feature toggle

* Extension Sidebar: Put implementation behind `extensionSidebar` feature toggle

* update feature toggles

* fix lint

* Extension Sidebar: Only toggle if clicking the same button

* Extension Sidebar: Hide sidebar if chromeless

* Update feature toggles doc

* Sidebar: Add `isEnabled` to ExtensionSidebarProvider

* Extension Sidebar: Use conditional CSS classes

* Extension Sidebar: Move header height to GrafanaContext

* Sidebar: Adapt to feature toggle change

* Sidebar: Remove unused import

* Sidebar: Keep featuretoggles in ExtensionSidebar tests

* ProviderConfig: Keep `config` import in tests

* FeatureToggles: adapt to docs review

* fix typo
2025-04-03 12:16:35 +02:00
Stephanie Hingtgen
b97b1cc730 K8s: Revert change around full path (#103334) 2025-04-03 04:57:26 -05:00
Jean-Philippe Quéméner
f4ae8516bd chore(folders): add extended tracing to the folders service (#103007) 2025-04-03 11:54:47 +02:00
Torkel Ödegaard
4fffc3adaf OpionsPane: Minor padding fix (#103337) 2025-04-03 12:45:40 +03:00
Alex Khomenko
1ef4a1a4ab Provisioning: Centralise app notifications (#103290)
* Provisioning: Centralise app event notifications

* Remove test started notification

* Remove unused import
2025-04-03 12:34:38 +03:00
Leonor Oliveira
feed071815 Codeql: enable PR check (#101392)
* Enable running a CodeQL check whenever someone opens a PR (for Go code)

* Fetch main in the GHA so CodeQL can properly compare code changes

* Try to fetch more of main to see if CodeQL can compare changes

* Also trigger on push

* Rename GHA

* Use only one workflow for all languages that runs on each puch hook

* Rename GHA

* Removing owner from deleted GHA

* Temporarily mark this GHA as not required for a PR to get merged

* Always run the workflow

* Mark action as non blocking
2025-04-03 11:19:58 +02:00
Oscar Kilhed
d7771f7d21 Dynamic dashboards: Deduplicate titles of new rows and tabs (#103330)
Deduplicate titles of new rows and tabs
2025-04-03 10:44:09 +02:00
Alexander Akhmetov
b49c532999 Alerting: Fix state transition from Recovering back to Alerting (#103286)
What is this feature?

This PR fixes a state transition issue where alerts transitioning from the Recovering state back to the Alerting state incorrectly entered the Pending state first if the rule had a For duration configured.

Why do we need this feature?

When an alert goes from Alerting to Recovering (when using the Keep firing for) and then back to Alerting, the existing logic would incorrectly put the alert into Pending state while it should be alerting and still sending notifications to the Alertmanager.
2025-04-03 11:40:45 +03:00
Torkel Ödegaard
5bc053730b Dashboard: Scroll to panel for custom grid (#103270) 2025-04-03 10:35:34 +02:00
Matheus Macabu
7165bc553a CloudMigrations: Add Cypress happy path test case scenarios (#103250) 2025-04-03 10:34:32 +02:00
Ashley Harrison
0fbb51ab08 Internationalisation: More automatic markup (#103260)
* easy markup

* final tweaks, betterer + translations

* fix unit test
2025-04-03 09:26:24 +01:00
Torkel Ödegaard
a96f80312f DashboardOutline: Sync row collapse state with outline node collapse state (#103283)
DashboardOutline: Sync row expanded state with outline
2025-04-03 10:13:43 +02:00
Stephanie Hingtgen
4918d8720c Dashboard Restore: Remove experimental functionality under feature flag dashboardRestore for now - this will be reworked (#103204) 2025-04-03 02:52:54 -05:00
Will Assis
db1f1c5df9 search: add manager kind to bleve (#103305) 2025-04-03 10:02:02 +03:00
Ryan McKinley
5dad2b6c0f Provisioning: Write finished job to history before delete (#103328) 2025-04-03 10:00:44 +03:00
grafana-pr-automation[bot]
b41c38efe2 I18n: Download translations from Crowdin (#103324)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-04-03 03:33:16 +03:00
Drew Slobodnjak
240227c073 Table: Footer field selection fix (#103303) 2025-04-02 13:58:59 -07:00
Isabella Siu
6a699b69ba AWS: Add flag for multitenant temp credentials (#103307) 2025-04-02 16:25:50 -04:00
Yuri Tseretyan
dc0083d879 Alerting: Sequential evaluation of rules in group (#98829)
* introduce RulesGroupComparer

* extract runJob method

* implement sequential evaluation

* Make sequence building testable & add comments

* Also run callback in recording rules + add tests

* Improve tests

* Address PR comments

---------

Co-authored-by: William Wernert <william.wernert@grafana.com>
2025-04-02 23:10:32 +03:00
Todd Treece
ba5c38b078 K8s: Remove new context from client (#103069) 2025-04-02 14:59:54 -04:00
Alex Khomenko
147ae64136 Provisioning: Always show list page (#103246) 2025-04-02 21:51:14 +03:00
Kevin Minehart
88d54892bd CI: Move e2e test pipeline from Drone to GitHub Actions (#103134)
* Add e2e dagger pipeline

* various-suite not various suite

* upload videos dir

* produce e2e videos even on failure

* nil ref

* sync doesn't return container

* fix quotes

* try without flags first?

* try without quoting?

* use two dashes in flags

* update CODEOWNERS

* make update-workspace

* go work sync

* make update-workspace

* add newline
2025-04-02 13:31:47 -05:00
Bogdan Matei
0e1cb44ad9 Dynamic Dashboard: Redesign conditional rendering [2] (#103112) 2025-04-02 20:50:36 +03:00
Bogdan Matei
c372012abc Dynamic Dashboards: Replace add pane with add dropdown (#103301) 2025-04-02 19:18:16 +02:00
Leon Sorokin
c5264e3bfc LogsPanel: Speed up labels processing by 50x (#103296) 2025-04-02 12:15:27 -05:00
Andreas Christou
47ec51fda7 Influx: Support PDC for Influx SQL (#103032)
* Support PDC for Influx SQL

* Correctly set the gRPC transport creds dial option

* Logging and refactor

* Allow URLs with no scheme

* Use passthrough resolver for socks proxy

* Update comment

* Extract url parsing and add test

* Check err
2025-04-02 16:21:59 +01:00
renovate[bot]
4f19995bef Update scenes to v6.6.2 (#103280)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-02 18:02:45 +03:00
Joey
15330c3e66 NodeGraph: Add node graph algorithm layout option (#102760)
* Add layout buttons

* Add config for node graph panel

* Tests

* Update test

* Updates

* Move grid button and cache nodes

* Remove limit and add warning

* Update default
2025-04-02 15:56:22 +01:00
Vardan Torosyan
6901e21700 Docs: Grafana SCIM provisioning overview (#102183)
* Docs: Create a landing page for SCIM provisioning

* Fix docs warnings

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

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

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

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

* Apply suggestions from code review

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

* Address some of the feedback and simplify few parts

* Remove repetitive wording

* Don't use possessive form, again

* Address the feedback from PR

* Docs: Manage users and teams via SCIM (#102478)

* Docs: Manage users and teams via SCIM

* Docs: Manage users and teams via SCIM

* Refactor managing users parts

* Add team sync docs

* Update _index.md

* Apply suggestions from code review

Co-authored-by: linoman <2051016+linoman@users.noreply.github.com>

* Clarify how user identity linking is working

* Fix formatting

* Docs: Configure SCIM with Azure and Okta (#102582)

* Docs: Configure SCIM with Azure and Okta

* Apply suggestions from code review

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

---------

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

---------

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

* Add a warning about migration from team sync

* Remove the SAML setup instructions from SCIM docs

* Update _index.md

* Update _index.md

* Apply suggestions from code review

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Sarah Constant <sarahleejane@users.noreply.github.com>

* Address PR feedback

* Stop using possessive form

* Add a note mentioning that users/teams can not be manually deleted

* Update _index.md

* Docs: SCIM configuration options (#103085)

* Add a section to clarify how SCIM works with other IdPs

* Update _index.md

* Update _index.md

---------

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: linoman <2051016+linoman@users.noreply.github.com>
Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
Co-authored-by: Sarah Constant <sarahleejane@users.noreply.github.com>
2025-04-02 16:55:54 +02:00
Ryan McKinley
0a1dcfc1ce Chore: Update yarn.lock deps (#103277) 2025-04-02 17:51:11 +03:00
Piotr Jamróz
3fa60bd5a4 Tempo: Update lezer-traceql with new functions (#103282) 2025-04-02 14:26:53 +00:00
a3exodus
9d1c94eab5 docs: Add missing RBAC Action Definition Contact Point Receiver Test (#103273)
Update index.md
2025-04-02 17:23:57 +03:00
Dominik Prokop
17d089d38a Schema V2: Use App SDK generated types (#103100)
* Use App SDK generated types

* Move examples

* Merge fix

* PAth updates
2025-04-02 16:22:24 +02:00
Alyssa (Bull) Joyner
3b73ebb210 Azure Monitor: Add logs query builder (#99055) 2025-04-02 08:15:25 -06:00
Andrej Ocenas
44ca402116 Update codeowners for locale files (#103268)
Update codeowners
2025-04-02 16:03:33 +02:00
Bogdan Matei
b1c6121e78 Dynamic Dashboards: Add drag and drop for tabs and rows (#103216) 2025-04-02 16:52:53 +03:00
Sven Grossmann
a67cb174c7 Investigations: add fieldConfig and queries (#103276)
* Investigations: add `fieldConfig` and `queries`

* fix openAPI
2025-04-02 15:42:32 +02:00
Torkel Ödegaard
e725f865dc DashboardScene: Add library panel via canvas add panel action (#103254)
* Update

* It works now for auto grid as well
2025-04-02 15:42:11 +02:00
Kyle Brandt
c6e52c4766 SQL Expressions: Make SQL Expressions work with Alerting (#101820)
Initial support for alerting with SQL expressions

- When `format` is set to `alerting`, SQL expressions output in a format suitable for alerting evaluation.
- Outstanding TODOs:
  - Deduplicate output rows
  - Add more tests
  - Fix broken alerting UI rendering (likely due to shape change to undocumented full-long format)
- Basic usage:
  - SQL must return one numeric column and one or more string columns.
  - Each row may become an alert.
  - The alert fires if the numeric value is non-zero.
  - String columns are treated as labels.

---------

Co-authored-by: Konrad Lalik <konradlalik@gmail.com>
Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
Co-authored-by: Sam Jewell <sam.jewell@grafana.com>
2025-04-02 09:39:36 -04:00
mohammad-hamid
192d3783d5 Zanzana/enable TLS for client side gRPC (#103000)
* zanzana - add tls to the client

* remove todo

* gofmt

* adjust comment
2025-04-02 09:12:58 -04:00
beejeebus
360c57b3d7 InfluxDB: capture more downstream errors (#103274)
This adds more checks on the type of errors returned from InfluxDB fsql
datasource queries. Grpc errors with code `InvalidArgument`, `PermissionDenied`
and `NotFound` are mapped to downstream errors.
2025-04-02 08:47:47 -04:00
Ryan McKinley
c54496a3f9 Search: Avoid panic with missing title (#103257) 2025-04-02 15:43:08 +03:00
Alex Khomenko
3c8d6b4119 Provisioning: Fix getting finished job status (#103272)
* Provisioning: Improve finished job handling

* Misc

* Refactor
2025-04-02 15:41:21 +03:00
Oscar Kilhed
6ff3af7e83 Dynamic dashboards: Copy paste rows tabs and auto grid items (#103237)
* copy paste tab row works

* refactor to hook

* add buttons to canvas

* make i18n

* remove paste from add pane and refactor

* pasting auto grid panel works

* add paste for default grid

* set height/width and postion for auto grid items moving to default grid

* clean up
2025-04-02 14:35:51 +02:00
Yulia Shanyrova
332f041c91 Chore: Promote pluginsDetailsRightPanel to general availability (#103269)
Chore: Promote pluginsDetailsRightPanel to general availability and deafult
2025-04-02 14:34:18 +02:00
Will Assis
08042ae827 search: add legacy id for all resources in bleve (#103206)
* add legacy id for all resources in bleve
2025-04-02 08:20:23 -04:00
Oscar Kilhed
2afeebec28 Dynamic dashboards: Detect changes in rows, tabs and autogrid (#103080)
* Detect changes in rows tabs grid

* also add auto grid item

* fix lint issue
2025-04-02 14:19:08 +02:00
Kyle Brandt
856dcfd6fe SQL Expressions: Permit range conditions (between) in queries (#103238) 2025-04-02 15:13:17 +03:00
Ivan Ortega Alba
85ddf648dc Panel JSON inspect for schema v2 (#103191) 2025-04-02 15:00:39 +03:00
Levente Balogh
9ea1c203e6 Plugin Extensions: Move observable extension apis from the unstable entrypoint (#103271)
feat(grafana-runtime): move observable extension apis from /unstable to /
2025-04-02 14:42:28 +03:00
Vardan Torosyan
26eab9981a Return correct disabled status when looking up a user (#103182) 2025-04-02 13:38:10 +02:00
Alex Khomenko
1164230df6 Provisioning: Show badge for all manager kinds (#103263)
* Provisioning: Display badge for all manager kinds

* Show the badge for folders

* Fix switch / case syntax to display correct manager kind

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>

---------

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
Co-authored-by: Igor Suleymanov <igor.suleymanov@grafana.com>
2025-04-02 14:37:29 +03:00
Ivan Ortega Alba
cbf25e994a Transform: Minimum scene should not throw transformation errors (#103189)
* Transform: Minimum scene should not throw transformation errors
2025-04-02 13:36:42 +02:00
Roberto Jiménez Sánchez
aaa61d0919 Provisioning: Fix push to PR branch (#103262)
* Fix push to PR branch

* Fix original screenshot generation
2025-04-02 14:17:33 +03:00
Matheus Macabu
58a475cb03 CloudMigrations: Refactor and unify resource naming/icon resolution (#103258)
This is more in preparation for the snapshot configuration option,
to avoid having to duplicate the functions that would:
- Find an icon based on resource type
- Find a label based on resource type

Since we use those for other components, I figured we could just
make a helper function to reuse them.
2025-04-02 13:05:02 +02:00
Andres Martinez Gotor
f1e214261c Chore: Allow for an applink to set a subtitle (#103205) 2025-04-02 12:43:21 +02:00
Matheus Macabu
d5addcc822 Chore: Fix Go Workspace Check workflow and run make update-workspace (#103261)
* Chore: Fix Go Workspace Check workflow

* Chore: Run make update-workspace
2025-04-02 12:26:38 +02:00
Gábor Farkas
135fbf6258 data sources: feature toggle: route explore queries to the new query service (#103192)
* data sources: route explore queries to the new query service

* prettier fix

* easier to read logical statement
2025-04-02 12:00:33 +02:00
Eric Leijonmarck
1c07fd3d4f feat: add ft and add datasource:explore to viewers for viewers_can_edit (#103251)
* feat: add ft and add datasource:explore to viewers for viewers_can_edit

* removed the feature toggle

* remove file
2025-04-02 12:25:42 +03:00
Matheus Macabu
93009a4f5b Dependencies: Fix invalid version for pkg/apis/folder (#103256)
* Chore: Use correct version of pkg/apis/folder

* Chore: Clarify pinning for google/cel-go

* Remove replace directives

---------

Co-authored-by: leonorfmartins <leonorfmartins@gmail.com>
2025-04-02 11:23:59 +02:00
Andres Martinez Gotor
3777b765b9 Advisor: Define error if a datasource doesn't have its plugin installed (#103200) 2025-04-02 11:21:37 +02:00
Nathan Vērzemnieks
f2b5b4e0c0 CloudWatch: Import new grafana-aws-sdk with PDC fix (#103249)
CloudWatch: import new grafana-aws-sdk with PDC fix
2025-04-02 11:13:01 +02:00
Ashley Harrison
38aee2dfa2 Internationalisation: More automatic markup (#103203)
* easy changes

* couple of tweaks + translations

* update e2e tests

* kick CI
2025-04-02 10:03:12 +01:00
Sven Grossmann
d6b71f171d Loki: Hide __aggregated_metric__ label (#103233) 2025-04-02 11:01:48 +02:00
Ryan McKinley
34192e3ad0 Provisioning: Support migrate to local (#103247) 2025-04-02 11:25:06 +03:00
Ryan McKinley
6781612335 Provisioning: Enable search when provisioning is enabled (#103208) 2025-04-02 11:20:28 +03:00
Torkel Ödegaard
aea7f87732 Dashboard: Canvas add buttons to custom grid (#103181)
* Custom grid add actions

* find empty space

* Update

* Update

* Update

* Update
2025-04-02 10:18:28 +02:00
Roberto Jiménez Sánchez
0aeefedb0c Provisioning: Snapshot original dashboard (#103170)
Snapshot original dashboard
2025-04-02 10:12:42 +02:00
Leonor Oliveira
f21362ad48 Convert pkg/apis/folder to a module (#102975)
* Convert pkg/apis to a module

* Update apistore module to use apis go module

* Add module to dependabot

* Group go dependencies

* Add guidelines for adding a new gomod

* Prettier

* Only convert apis/folder to a module for now

* Add replace directive

* Add missing go mod
2025-04-02 10:10:04 +02:00
Roberto Jiménez Sánchez
04e152f326 Provisioning: webhook last event timestamp (#103180)
* Record webhook pinged event

* Add TODO for webhook creation updated

* Hack to wire client

* Revert accidental change in controller

* Wire the client

* Use factory method

* Remove omit empty

* Regenerate client

* Fix compilation

* Every 30 seconds if not pinged

* Move lines around

* Use different approach

* Added as part of the controller

* Exponential backoff for waiting for ping

* More stuff

* Revert changes in controller

* Add separate webhook section in overview

* Change order of translations

* Update ping within 1 minute

* Last event update

* Extract translation

* Display last event in frontend

* Refactor the logic around update

* Fix the type to marshal
2025-04-02 10:09:58 +02:00
maicon
d8c5c2d3b8 K8s: Folders: Modify GetChildren to return only Folder References (#103072)
* Return FolderReference instead of Folder on GetChildren

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-04-02 01:30:17 -03:00
grafana-pr-automation[bot]
654afbcfa2 I18n: Download translations from Crowdin (#103244)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-04-02 03:31:46 +03:00
Isabel Matwawana
d79f3a8793 Docs: experimental themes (#103024)
* Updated user preferences page

* Updated org preferences'

* Added feature flag name
2025-04-01 14:35:29 -04:00
Adela Almasan
4582a45b93 TableNG: Fix sorting (#103215)
* wip sorted rows

* Move rowIdx calculation to TableNG top level

* Remove old unused props

---------

Co-authored-by: drew08t <drew08@gmail.com>
2025-04-01 11:28:34 -07:00
Alexander Akhmetov
7347083f98 Alerting: Validate target datasource type only when importing recording rules (#103214) 2025-04-01 20:28:10 +02:00
Stephanie Hingtgen
5535447587 Folders: Change query to an inner join on dashboards rather than 2 gets (#103183) 2025-04-01 21:21:58 +03:00
Isabel Matwawana
ac39141021 Docs: dashboard list visualization refactor (#103211)
* Added configuration options heading and bumped other heading levels

* Moved dashboard list options into table

* Further restructured dashboard list options and made wording edits

* Added semantic line breaks

* Replaced screenshot with high res image

* Wording edits
2025-04-01 14:00:30 -04:00
Ryan McKinley
9c49c601f1 Unistore: Add generation column (#102222) 2025-04-01 20:38:23 +03:00
Sam Jewell
cd30742616 SQL Expressions: Mount front-end component right first time (#103087)
* Call onChange method once on render so we have access to the value on init

---------

Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
2025-04-01 11:49:39 -04:00
Gabriel MABILLE
2d89b16d7e Tracing: Add Insecure to NewOTLPTracingConfig (#103174) 2025-04-01 17:34:42 +02:00
Torkel Ödegaard
ae73dee220 Dashboard: Fixes open panel edit button (#103169)
* Dashboard: Fixes open panel edit button

* fix imports
2025-04-01 17:11:39 +02:00
Juan Cabanas
d04e14cf9e Grafana UI: Hide CollapsableSection children instead of unmounting based on unmountContentWhenClosed prop (#102937) 2025-04-01 12:10:30 -03:00
Isabel Matwawana
f85866f869 Docs: Update comments in tooltip-options shared files (#103151)
Updated comments in tooltip-options shared files
2025-04-01 10:50:58 -04:00
Johnny Kartheiser
1220bc7a5f alerting docs: alert rule recovery documentation (#102938)
* alerting docs: alert rule recovery documentation

document the alert rule recovery feature

* shared content edit

* prettiest

* restore content

* Update create-data-source-managed-rule.md
2025-04-01 09:49:37 -05:00
Ryan McKinley
f087d5f61b Provisioning: validate files we read (#103197) 2025-04-01 17:49:08 +03:00
Torkel Ödegaard
bfc6e07140 PanelChrome: Click inside also selects panel (#103168) 2025-04-01 16:46:21 +02:00
Isabella Siu
1aea65f6d5 X-Ray: Add toggle for application signals (#103054)
X-Ray: add toggle for application signals
2025-04-01 10:42:02 -04:00
Alex Khomenko
991b016d63 Provisioning: Clear dashboard editor state (#103190)
* Provisioning: Clear dashboard editor state

* Clear the changes after save

* Revert some changes

* Add dep

* Fix tests
2025-04-01 17:23:20 +03:00
Isabel Matwawana
bb68e21557 Docs: Update comments in data link options shared files (#103153)
Updated comments in data link options shared files
2025-04-01 10:02:02 -04:00
Timur Olzhabayev
5098015467 Chore: Enable external core plugins feature toggle by default (#102209)
* Turning externalCorePlugins on by default

* enable externalCorePlugins feature toggle by default

* fixing generated toggles ts
2025-04-01 17:00:44 +03:00
Torkel Ödegaard
c075d6111b GrafanaRoute: Recover from errors (#103166) 2025-04-01 15:44:19 +02:00
Kyle Brandt
9358a557ee Graphite: Add frame type to work with SQL expressions (#103019)
- Add frame type So SQL expressions knows how to convert it
- No FrameType version so how other expressions do not change how they handle it, and continue to catch the special graphite handling in SSE convert
2025-04-01 09:43:36 -04:00
Andres Martinez Gotor
8f0b2d9fd5 Chore: Enable Grafana version check when installing plugins (#103176) 2025-04-01 15:35:09 +02:00
Haris Rozajac
cf74aa1c70 Dashboards: Support view panel mode in search layout (#103146)
Support view panel mode in search layout
2025-04-01 07:24:38 -06:00
Timur Olzhabayev
03c894489c Chore: Enabling failWrongDSUID by default in Grafana 12 (#102192)
* enabling failWrongDSUID by default in Grafana 12

* making reviewdog happy

* generating feature toggle files
2025-04-01 14:59:32 +02:00
Alex Hunsaker
fa8dafec77 Tempo: fix streaming with TLS without BasicAuth (#100546)
Fixes #100545

Streaming queries/metrics do not work if TLS is enabled and basic auth is not.

"Save & test" while adding/editing a tempo datasource throw `e.data is undefined` in the ui.

Gafana server logs report:

> logger=grafana-apiserver t=2025-02-12T17:55:29.131036665Z level=info msg="[core] [Channel #42 SubChannel #43]grpc:
> addrConn.createTransport failed to connect to {Addr: \"tempo:3200\", ServerName: \"tempo:3200\", }. Err: connection
> error: desc = \"error reading server preface: read tcp 127.0.0.1:55432->127.0.0.1:3200: read: connection reset by
> peer\""

> logger=grafana-apiserver t=2025-02-12T17:55:36.835523455Z level=info msg="[core] [Channel #31 SubChannel #32]grpc:
> addrConn.createTransport failed to connect to {Addr: \"tempo:3200\", ServerName: > \"tempo:3200\", }. Err: connection
> error: desc = \"error reading server preface: EOF\""

Fix by using TLS when enabled regardless of basic auth settings.

Co-authored-by: André Pereira <adrapereira@gmail.com>
2025-04-01 13:41:22 +01:00
Joey
4689b7c0cd TraceView: Add scope attributes to span details (#103173)
* Add scope attributes to span details

* Tests
2025-04-01 13:26:16 +01:00
Collin Fingar
feadd37f27 NestedFolderList: Folder Expand & Inf Loader Causing Duplicates (#102944)
* NestedFoldeList: remove nested folder dupe during save

* Change solution for loading/pending check in useFoldersQuery

* moved pending string to constant

* Moved last page loading logic to proper func

* Updated comment to reflect func changes
2025-04-01 08:12:59 -04:00
Sam Jewell
af08a9fae2 SQL Expressions: Add JSON support (#103157)
- Support bi-directional mapping of frame JSON fields and GMS (go-mysql-server) columns 
- Permit GMS json functions

Co-authored-by: Kyle Brandt <kyle@grafana.com>
2025-04-01 07:45:01 -04:00
Ryan McKinley
6754781d7b Provisioning: Remove unnecessary flags from tests and instructinos (#103165) 2025-04-01 13:43:00 +03:00
Roberto Jiménez Sánchez
29f395e1dd Provisioning: introduce interface for git clones (#103175)
* Delegate clone to export in migrate from API server

* Clonable interface

* Root from register.go

* Call option push on write

* Fix linting
2025-04-01 13:42:52 +03:00
Roberto Jiménez Sánchez
f91f739ee2 Remove unused HACK for testing new configuration (#103172) 2025-04-01 12:37:35 +02:00
Ryan McKinley
ca35a89916 Provisioning: Manage repo jobs as single sub-resource (#103090) 2025-04-01 13:22:47 +03:00
Ryan McKinley
1ead18d856 Chore: Update git dependencies (#103159) 2025-04-01 13:10:50 +03:00
Torkel Ödegaard
6af5fbf3ff Dashboard: Fixes layout selector (#103066)
* Dashboard: Fixes layout selector

* remove unused import

* update

* Fix
2025-04-01 10:15:01 +02:00
Nathan Vērzemnieks
a65cc0df93 CloudWatch: Migrate to aws-sdk-go-v2 (#103106)
* Cloudwatch: Migrate to aws-sdk-go-v2 (#99643)
* CloudWatch: use PDC fix from new grafana-aws-sdk
2025-04-01 10:03:06 +02:00
Konrad Lalik
3e15459d20 Alerting: Enhance Ruler and Prometheus group synchronization (#99012)
* Add group actions menu

* Refactor modals to accept raw ruler group

* Use prometheus and ruler responses to dispaly GMA rules in the hierarchical view

* Add groups loader component for data source managed rules

* Improve rules matching algorithm for the search results

* Use plus and minus icons for reconciliation state

* loading spinner WIP for operations / transactions

* update comment

* Use ruler rules order when displaying a group, change rurler preload behaviour

* Add ruler-based ordering for GMA rules

* Refactor ruler API mocking

* Refactor rule components to accept ruler only rules

* Add tests for GrafanaGroupLoader

* Add tests for vanilla prom groups

* Unify data matching code, add tests for DS groups loader

* Fix errors after rebasing

* Improve handling of ruler group absence

* Fix cache key

* Add group action buttons for the new group pages

* Add new rule action buttons to the new list page

* Address PR feeback, component renaming, missing translations

* Unify groups and rules links and actions

* Fix new rule button

* Add rule list action buttons tests

* Fix lint errors

* Add redirect to rule details page on save

* Update FilterView tests

* Fix imports and remove unused code

* Improve type definitions, add pooling to Prom hooks, add inline docs

* Remove unused code of group modals

* Update translations

* Disable cache population for filter-view generators

* Add consistency check Alert to the RuleViewer when V2 list is enabled

* Disable UI errors in prom generator

* Improve missing datasouce handling

* Add missing translations

* Improve group loader tests, remove unused code

* Enhance Prometheus API query to include notification options

* Improve error handling, remove consistency check for vanilla prom data sources

* Address PR feedback, add new version of the useHasRuler hook

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2025-04-01 09:58:09 +02:00
Torkel Ödegaard
80fb267cd5 DashboardScene: Tweak row design (#103040) 2025-04-01 09:34:56 +02:00
Torkel Ödegaard
1a53e85bc5 DashboardSchemaV2: Fix crash in response transformer (#103041)
* DashboardSchemaV2: Fix crash in response transformer

* update test only test for the missing current prop

* restore warning
2025-04-01 09:13:11 +02:00
Levente Balogh
9eb5ed5db9 Extensions: Expose new observable APIs for accessing components and links (#103063)
* feat(Extensions): expose an observable API for added links and components

* refactor: make `getObservablePluginExtensions()` more RxJS style

* refactor(getPluginExtensions): remove unnecessary types

* fix(getPluginExtensions): remove unused imports

* Apply suggestions from code review

Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>

* refactor(getPluginExtensions): stop using `shareReply()`

* fix(grafana-runtime/extensions): typo in error messages

---------

Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
2025-04-01 10:07:44 +03:00
Alex Khomenko
40f6f3e6bd Provisioning: Add translations (#103111) 2025-04-01 10:00:13 +03:00
grafana-pr-automation[bot]
e9c78d6f5c I18n: Download translations from Crowdin (#103162)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-04-01 03:33:34 +03:00
linoman
d82d03a1d3 SCIM: Update authinfoquery (#103123)
* Rewrite mismatched externalUID error message

* Update AuhtInfo if user exists
2025-03-31 22:42:07 +02:00
Nick Richmond
5ef9533751 MetricsDrilldown: Mark exploreMetricsUseExternalAppPlugin as not frontend-only (#102942)
* fix: mark `exploreMetricsUseExternalAppPlugin` as not frontend-only

* docs: explicitly show feature toggle in docs

* Revert "docs: explicitly show feature toggle in docs"

This reverts commit 292ce7f7e8.
2025-03-31 15:16:04 -04:00
Roberto Jiménez Sánchez
ccb127cc79 Remote provisioning: preview only one in pull requests (#103119)
* Limit number of previews to 10

* Use variable to check too many

* Single resource preview
2025-03-31 20:13:04 +02:00
Will Assis
15c5b45724 dashboards: remove unused function from dashboard service (#103104)
remove unused function from dashboard service
2025-03-31 13:54:38 -04:00
Jev Forsberg
67c691ab90 Chore: Update release cadence doc with newer versions (#102941)
* baldm0mma/ udpate release cadennce doc with newer versions

* baldm0mma/ run prettier

* Fixed typo

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2025-03-31 10:00:12 -06:00
Josh Hunt
54fca9380b Combobox: Unify menu/list into ComboboxList component (#102677)
* tighten up, lots of multi select stuff still broken

* add 2px margin

* fix All

* put async error message back

* translations

* fix styling
2025-03-31 16:54:05 +01:00
Roberto Jiménez Sánchez
1ebcb3f604 Remote provisioning: fix webhook event processing (#103122)
Set the namespace in the context on Insert
2025-03-31 17:35:49 +02:00
Isabel Matwawana
4c2790c41b Docs: status history visualization refactor (#103027)
* Added config options section and bumped heading levels

* Added level offset

* Restructured Status history options and removed screenshot from Value mappings section

* Replaced screenshot and updated example text

* Fixed heading level in legend options 2 shared file
2025-03-31 11:23:12 -04:00
Tobias Skarhed
c321afdeb7 Scopes: Fetch ScopeNavigation and display them (#102385)
* Initial API client for ScopesNavigation

* Display scopes navigation items and group them

* Remove refactored component

* Fix link highlighting

* Underline on focus

* Set icons based un URL path

* Remove explicit icon names

* Add links to copy

* Map dashboardbinding to scopeNavigation in folder generation

* Consolidate dashboardbindings and scopenavigations to a single way of handling

* Let fetchDashboards handle all fetching

* Move endpoint types to core

* Remove comments

* Fix import

* Rename name to id

* Update translation

* Add feature toggle

* Fix tests

* Fix go.mod for some reason

---------

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2025-03-31 17:20:00 +02:00
Ashley Harrison
483c6ac70d CI: Don't fail fast on unit tests (#103109)
don't fail fast on unit tests
2025-03-31 16:14:05 +01:00
Yulia Shanyrova
5967b3321e Plugins: Show screenshot in the tab in plugin details (#102521)
* New Screenshot tab added to plugin details

* update translation file, update tests

* create Carousel component for grafana-ui

* fix the build

* remove PluginScreenshotCarousel component
2025-03-31 16:51:17 +02:00
Isabel Matwawana
608a2a7535 Docs: text visualization refactor (#102939)
* Added Config options section, bumped heading levels, added missing options, and restructured Text options section

* Moved variables content

* Replaced screenshot

* Moved sentence

* Used previous wording

* test commit

* Revert test commit

* Ran prettier
2025-03-31 10:17:52 -04:00
Laura Fernández
4ad0492d3d i18n: Add locale to backend (#102233) 2025-03-31 15:59:07 +02:00
Eric Leijonmarck
7808cc960d docs(add): update that we currently do not support cross tenant querying (#103105)
* docs(add): update that we currently do not support cross tenant querying

* update based on review

* fmt
2025-03-31 14:57:46 +01:00
Adam Simpson
99edeb6e83 fix: disable workspace cache (#102745) 2025-03-31 09:50:45 -04:00
Roberto Jiménez Sánchez
87aa2cba36 Remote provisioning: do not be that strict for history filepath (#103103)
Do not be that strict for history filepath
2025-03-31 16:50:19 +03:00
Stephanie Hingtgen
4cb756c5d1 K8s: Fix error conversion for provisioned dashboards (#103074) 2025-03-31 14:34:54 +01:00
Stephanie Hingtgen
19a52ba35e K8s: Dashboards: Fix multi-org quota (#103073) 2025-03-31 14:34:39 +01:00
Haris Rozajac
39c33d421b Dashboards: Fix time range bug when use_browser_locale is enabled 2 (#102750)
* revert

* make it work on initial load

* add integration test; cleanup

* fix test

* fix
2025-03-31 07:25:17 -06:00
Peter Štibraný
2439301515 datasources: Use fewer datasources in tests. (#103091) 2025-03-31 15:20:03 +02:00
Peter Štibraný
f7f28757f6 Skip noop migrations, instead of executing SELECT 0. (#103086)
* Skip noop migrations, instead of executing SELECT 0.
2025-03-31 15:19:32 +02:00
Mariell Hoversholm
f0a6327edc Unified Storage: Don't read before create (#102906)
* Unified Storage: Don't read before create

* test: use the existing test infra

* fix: support pq

We use pgx, but it seems to be wrapped in a pq driver shim, causing the errors to be remapped to pq's type. Weird
situation.

* feat: support CDK backend

* revert: there is a postgres_tests block

* fix(CDK): only check existence on ADDED updates

* fix(CDK): use ReadResource to deal with deleted files
2025-03-31 15:06:31 +02:00
Mariell Hoversholm
827d86a985 Provisioning: Show in nav tree without feature enabled (#102980) 2025-03-31 15:06:17 +02:00
Piotr Jamróz
ee70ccc1fe Traces: Preinstall Traces Drilldown app with Grafana (#102986)
Traces Drilldown: preinstall the app with Grafana

Fixes #96305
2025-03-31 14:06:05 +01:00
Leonor Oliveira
c3b039f3a2 Start using otel in storage/unified/resource (#102616)
* Start using otel storage/unified/resource

* make update-workspace

* Go mod build owners

* Make workspace-update

* Update pkg/storage/unified/resource/access.go

Co-authored-by: maicon <maiconscosta@gmail.com>

* Add introduced pkg/apis to dependabot file

* Revert "Update pkg/storage/unified/resource/access.go"

This reverts commit f50e29d0394e48d5cd5bfbab154cb83da0b2f8b2.

* Revert "Update pkg/storage/unified/resource/access.go"

This reverts commit f50e29d0394e48d5cd5bfbab154cb83da0b2f8b2.

* Use traceid only

---------

Co-authored-by: maicon <maiconscosta@gmail.com>
2025-03-31 09:58:01 -03:00
Peter Štibraný
f7af15eb33 Add 5 seconds timeout to queries in DashboardPermissionFilter tests. (#103094) 2025-03-31 14:45:51 +02:00
Sam Jewell
3366d74411 SQL Expressions: Improve placeholder SQL Query (#103092)
This gives the user more hints as to how to succeed with SQL Expressions
2025-03-31 13:29:12 +01:00
Roberto Jiménez Sánchez
bb344fcd83 Remote provisioning: consolidate resource operations (#102972)
* Move to new repository

* Rename it to dual writer

* Rename the function

* Rename the methods

* Rename to exportResource

* Clean up logic in migrate and add TODOs

* Add TODOs

* Use generic client for unprovisioned

* ForEachResource

* More consolidation

* Refactor more around client

* Consolidate constants

* ForEachFolder

* More use of constants

* Add FIXME notes

* Use more constant

* Remove Dashboard

* Pass tree to folder manager

* Replicate tree

* Reduce export complexity

* More refactoring

* Use the ForEach for loading users

* Limit in-memory folders

* Isolate the object

* Improve the export function

* Move resources to resources package

* Move delete operation

* Move more logic

* More consolidation

* More renaming

* Fix more issues

* Ensure path exists when created a resource

* Simply append error

* Fix receiver lint issue

* Fix cyclomatic complexity

* Fix linting

* Remove folder path creation
2025-03-31 14:27:46 +02:00
Kyle Brandt
5668ab9676 SQL Expressions: (Chore) Update GMS depdency (#103022)
fixes #102811
2025-03-31 07:28:19 -04:00
Bogdan Matei
ba16a9cc89 Dynamic Dashboard: Bring back missing ref (#103084) 2025-03-31 13:07:59 +03:00
Stephanie Hingtgen
dd628903f4 K8s: Enable integration tests on folders and dashboards (#103075)
K8s: Enable e2e tests on folders and dashboards
2025-03-31 04:02:19 -06:00
Ivana Huckova
54a51bd3e3 Data source plugin: Improve error message when plugin has connection issues (#102625)
* Improve data source error message when stackID

* Update comment

* Revert "Update comment"

This reverts commit 48922bc552.

* Revert "Improve data source error message when stackID"

This reverts commit 4bf0a2f7b7.

* Make public messagic configurable based on context

* Update, simplify

* Update

* Update getting stack

* Update pkg/plugins/errors.go

Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>

* Refactor test to test for when context has stack value

* Remove duplicated test

* Fix error checking logic

---------

Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>
2025-03-31 12:00:40 +02:00
Torkel Ödegaard
ffb6fb59a3 DashboardSchemeV2: Fixes crash with transformations (#103042) 2025-03-31 11:54:55 +02:00
Eric Leijonmarck
180f579f18 Revert "Anonymous: Enforce org role Viewer setting (#102070)" (#103043)
This reverts commit e216c2f29d.
2025-03-31 10:31:53 +01:00
Ashley Harrison
ae0bcbd006 Themes: Put experimental themes in an Experimental group (#102989)
put experimental themes in an Experimental group
2025-03-31 09:38:19 +01:00
Hugo Häggmark
18ae5d7f0c i18n: wires up translations for plugins (#102853)
* i18n: consolidate i18n types & runtime services

* Chore: updates after PR feedback

* Chore: updates after feedback

* Chore: updates after feedback

* Chore: adds feature toggle

* Chore: adds locale to backend

* Chore: adds locales to i18n instance

* Chore: fix missing path in CODEOWNERS

* Chore: fix go lint issues

* Chore: fix missing path in CODEOWNERS

* Chore: updates after PR feedback

* Trigger build

* Chore: updates after PR feedback

* Chore: use resolved language for lookup

* Chore: updates after PR feedback

* Update pkg/plugins/plugins.go

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>

* Chore: updates after PR feedback

* Chore: updates after PR feedback

---------

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2025-03-31 06:38:38 +02:00
Josh Hunt
7ea0fab606 Prometheus: Enable Combobox metric select by default (#101045)
* Prometheus: enable prometheusUsesCombobox toggle by default

* bold Combobox
2025-03-30 20:24:53 +03:00
Michael Mandrus
88e51d549c CloudMigrations: Add sorting and error filtering to Snapshot Results backend (#102753)
* implement sorting

* swagger gen

* minor fixes

* clean up param reading

* add todo

* add errors only prop

* codegen stuff

* fix copy paste error

* forgot the api gen

* cleanup

* remove tests that are obe

* fix test
2025-03-30 10:42:45 -04:00
Stephanie Hingtgen
f84654d162 Stats: Optimize getting folder stats (#103033) 2025-03-28 20:17:50 -05:00
grafana-pr-automation[bot]
28b142e951 I18n: Download translations from Crowdin (#103034)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-03-29 02:58:19 +02:00
Stephanie Hingtgen
b67b9e3c5e K8s: Folders: Reduce db calls with /api/folders (#103058) 2025-03-28 18:13:08 -05:00
Stephanie Hingtgen
290e5cbe83 Navtree: Add dashboard type to reduce query (#103057) 2025-03-29 00:22:24 +02:00
Stephanie Hingtgen
5fa9f2b425 K8s: Folders: Remove unneeded parent calls (#103036) 2025-03-28 07:36:47 -04:00
Stephanie Hingtgen
ac30bd432a Navtree: Fix flaky test (#103029) 2025-03-28 00:32:00 +02:00
Pepe Cano
37c6c519c8 docs(alerting): stale alert instance minor change (#103030)
docs(alerting): stale alert instance minor text change
2025-03-27 23:00:13 +01:00
Pepe Cano
740c47c33a docs(alerting): stale alert instances updates (#103014)
* docs(alerting): stale alert instances updates

* correct vale error
2025-03-27 22:14:28 +01:00
Pepe Cano
d44a9953d3 docs(alerting): add missing port setting for the HA k8s example (#103017) 2025-03-27 22:05:41 +01:00
Stephanie Hingtgen
12c5b81850 K8s: Dashboards: Reduce db calls to get users on list (#103020) 2025-03-27 22:57:49 +02:00
Kyle Brandt
e6480a050c SQL Expressions: Allow substring_index func (#103021) 2025-03-27 16:49:21 -04:00
Alex Spencer
98a1dfbad4 TableNG: Bugfixes (#102905)
* fixes: sort persistence, sort trigger panel dirty state, use field display names

* fix: for nested tables, use column.name for header text

* chore: fix location of cache display names
2025-03-27 14:02:57 -06:00
Will Assis
51825cfffe unified-storage: Reduce calls to the user service (#102934)
* Create ListByIdOrUID in user service

* create UnstructuredToLegacyFolderList 

* update GetFolders to use list parser

* update GetDescendants to use list parser

* update UnstructuredToLegacyFolder to also make a single call to the user service

---------

Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-03-27 22:01:07 +02:00
Leon Sorokin
7e3efb3df2 TableNG: Restructure panel implementation swapping (#102956) 2025-03-27 14:15:06 -05:00
Scott Lepper
488581fcc1 fix indent (#103018) 2025-03-27 14:44:57 -04:00
Stephanie Hingtgen
a262da532e Navtree: Switch to search (#103016) 2025-03-27 13:36:56 -05:00
Scott Lepper
671fd6e138 Search e2e - limit paths that will trigger (#103015)
* Search - e2e - set paths and fix push branch
2025-03-27 14:09:29 -04:00
Stephanie Hingtgen
da2743dbef Dashboards: Optimize get shared with me (#103013) 2025-03-27 19:52:31 +02:00
Mustafa Sencer Özcan
fe1a72e41b fix(unified-storage): unlist the deleted resource's versions (#102588) 2025-03-27 18:34:37 +01:00
Yuri Tseretyan
d10fdc0f02 Alerting: ListDeletedRules to return rules sorted by date (#102945)
---------

Signed-off-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2025-03-27 19:31:08 +02:00
Ihor Yeromin
a6edd1765d TableNG: Filter ui/ux improvements (#102985)
* feat(table-ng): filter ui/ux improvements
2025-03-27 18:27:58 +01:00
Torkel Ödegaard
4d61022c8c Dashbord: Adding elements via buttons in canvas v2 (#102806) 2025-03-27 18:20:42 +01:00
Scott Lepper
e921c133c5 Search e2e- round 2 (#103010)
* run async
2025-03-27 13:14:55 -04:00
Syerikjan Kh
15e7c3c439 Fix: Change secure_json_data column data type to medium text only MYSQL (#102557)
fix: change secure_json_data type to medium text only MYSQL
2025-03-27 12:59:07 -04:00
Emre Yazıcı
7aa71aa734 Tracing: chore make insecure option configurable (#99236)
* Tracing: chore: make insecure option configurable

In case of insecure set to false, default system cert pool will be used to create otlpgrpc client.

* test: add tracing/insecure config checks

This is to verify whether insecure configuration is properly parsed.

* chore: update configura Grafana docs with new setting

* chore: also update comment in the ini files

---------

Co-authored-by: Matheus Macabu <macabu.matheus@gmail.com>
2025-03-27 12:37:23 -04:00
Oscar Kilhed
38c96c4c7d Dynamic dashboards: Refactor serializing and deserializing layout managers to simplify (#103008)
Refactor serializing and deserializing layout managers to simplify
2025-03-27 17:25:53 +01:00
Mariell Hoversholm
69803300f1 Provisioning: Complete rename of jobs (#102979)
Fixes: https://github.com/grafana/git-ui-sync-project/issues/164
2025-03-27 17:06:44 +01:00
Peter Štibraný
57cc4f101d spanner: Fix insert or update in anon_device when running on Spanner. (#102991)
Fix insert or update in anon_device when running on Spanner.
2025-03-27 16:58:27 +01:00
Andreas Christou
157edf92a0 Azure: Mark Azure Prometheus exemplars as GA and enable by default (#100595)
* Mark Azure Prom exemplars as GA and enable by default

* make gen-feature-toggles
2025-03-27 10:54:39 -05:00
Torkel Ödegaard
5a916db4de Dashboard: Scroll element into view when selecting from outline (#102966)
* Dashboard: Scroll element into view when selecting from outline

* fix import

* Switch to tab when selected via outline

* Update

---------

Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
2025-03-27 16:48:05 +01:00
Vardan Torosyan
73e0db452b Docs: Add a section to clarify how sessions are handled with SSO (#102694)
* Docs: Add a section to clarify how sessions are handled with SSO

* Add a link to SAML SLO setup
2025-03-27 16:40:57 +01:00
Ezequiel Victorero
6c2794bf3a Docs: Update public dashboards limitations (#102999) 2025-03-27 12:40:18 -03:00
Fayzal Ghantiwala
68d8810ecb Alerting: API to convert submitted Prometheus rules to GMA (#102231)
* placeholder commit

* Complete function in api_convert_prometheus.go

* MVP before extensive testing

* Cleanup

* Updated tests

* cleanup

* Fix random logs and lint

* Remove comment

* Fix errors after rebase

* Update test

* Update swagger

* swagger

* Refactor to accept groups in body

* Fix auth tests and some cleanup

* Some cleanup before refactoring

* Remove unnecessary fields

* Also refactor RouteConvertPrometheusPostRuleGroup

* Remove unused code

* Rebase + cleanup

* Update authorization_test

* address comments

* Regen swagger files

* Remove namespace and group filters

* Final comments
2025-03-27 15:30:11 +00:00
Torkel Ödegaard
d7be68ab3c Dashboard: Only auto focus new objects (#102931)
* Dashboard: Only auto focus new objects

* fix outline issue

* Also set isNew when adding row below/above and tab before/after

---------

Co-authored-by: oscarkilhed <oscar.kilhed@grafana.com>
2025-03-27 16:16:30 +01:00
Zoltán Bedi
d3220fc44f Chore: Remove version specification from Docker Compose header in devenv (#102803) 2025-03-27 15:57:46 +01:00
Zoltán Bedi
b2ab99c10d SQL: Fix builder crashes when any in selected (#102871) 2025-03-27 15:56:58 +01:00
Mariell Hoversholm
d0d7078953 App Platform: Remove mutable globals (#102962)
* App Platform: Remove mutable globals

* chore: clarify why this exists

* fix: support multi-tenant mode

* refactor: call builder providers directly

* CI: Force re-build
2025-03-27 15:46:09 +01:00
Torkel Ödegaard
031a047565 OptionCategory: Use text.secondary for closed categories (#102925)
* OptionCategory: Design update

* Update
2025-03-27 15:41:16 +01:00
Sonia Aguilar
f9471ac10b Alerting: Recover deleted alert rules (#101869)
* add column guid to alert rule table and rule_guid to rule version table

+ populate the new field with UUID

* update storage and domain models

* patch GUID

* ignore GUID in fingerprint tests

* get alert rule versions by GUID

* update rule delete to reset uid in history instead of deleting rows

* add test

* Update delete rule to require UserUID, remove all versions and create "delete" version

that holds information about who and when deleted the rule

* update usages of the delete method

* add list deleted rules to store

* list api to support deleted query parameter

* add list deleted rules to store

^ Conflicts:
^	pkg/services/ngalert/store/alert_rule_test.go

* list api to support deleted query parameter

* Restore deleted rules

* fix recovering manually recording rules

* update role control for the trash route

* add alertingRuleRecoverDeleted feature toggle enabled by default

* fix access control for trash menu item in the navtree

* Add alertingRuleRecoverDeleted feature toggle,
add Delete permanently alert rule menu option

* hide remove permanently functionality in the UI until we have the api available for it

* discard wrong changes after merging

* Reverted changes in pkg/apis/dashboard_manifest.go after fixing conflicts

* Reverted changes in go.work.sum after fixing conflicts

* Reverted changes in pkg/apis/dashboard_manifest.go after fixing conflicts

* Reverted changes in pkg/services/ngalert/models/alert_rule.go after fixing conflicts

* Reverted changes in pkg/apis/dashboard_manifest.go after fixing conflicts

* restore delete permanently and add the queryparam for it

* update snapshots

* fix translations

* protect trash route by the feature toggles

* use the new rulerRuleType for checks

* revert ability to delete permanently and alert rule from the ui

* remove unnecessary update after reverting

* fix ff

* add tracking

* use recently deleted instead of trash

* create isRecoverDeletedRulesEnabled for checking ffs

* address pr feedback 1

* include alert rule uid in getRowId

* use RulerGrafanaRulesConfigDTO for deleted rules response

* use isLoading in the AlertingPageWrapper

* fix wrong check for recording rules type

* add test for restoring manually through the alert rule form

* add test for restoring deleted rule

* use importAlertingComponent

* udpate mock

* address pr feedback

* update translations

* address feedback

* address feedback 2

* address feedback 3

* address feedback 4

* move transformation of the response to the endpoint

* fix typo

* refactor grafanaRuleDtoToFormValues

* update translations

* use guid for identifying rows

* prettier

* use ONLY the guid for identifying rows

* Add provides/invalidates tags for deleted rules

---------

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
2025-03-27 16:39:26 +02:00
Scott Lepper
2489e423d0 Search e2e (#102827)
* search e2e
* add github action
* run test for every ini file in test folder
2025-03-27 10:38:03 -04:00
Josh Hunt
cd53070a00 Update some translation markup on feedback from translators (#102702) 2025-03-27 14:11:26 +00:00
Mariell Hoversholm
4cd1315700 App Platform(Provisioning): Listen to context cancel ASAP (#102957)
We should not write after the context is cancelled. This causes tests to fail as they are trying to clean up. To try to
accommodate this, we'll need to listen to the context in any loop where we don't immediately get other instructions from
e.g. trying to do an HTTP request.
2025-03-27 15:11:07 +01:00
Matej Kubinec
1a87f8e5bf Navigation: Fix bookmarks when Grafana is running under subpath (#102679)
* Navigation: Append subpath when searching for bookmarks menu item

* Navigation: Find bookmark item by id
2025-03-27 14:00:15 +00:00
Christopher Moyer
f43d39f8ad docs/adds grot guide link (#102635)
* adds grot guide link

* updates title and text

---------

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2025-03-27 08:54:20 -05:00
Bogdan Matei
83bf06d435 Dynamic Dashboard: Drag and drop between grids, rows and tabs (#102714) 2025-03-27 15:52:26 +02:00
Yulia Shanyrova
b06556914c Plugins: Change Updated at label to Latest release date at plugin details panel (#102965)
* change Updated at label to Latest release date

* fix the tests
2025-03-27 14:51:54 +01:00
Eric Leijonmarck
dce180acf3 LBAC for data sources: PublicPreview and self serve enablement (#102276)
* Publicpreview and self serve of lbac for mimir

* update from review
2025-03-27 15:44:29 +02:00
Josh Hunt
3a9370083f I18n: Add 13 new languages for translations (#102971)
I18n: Remove extraLanguages toggle
2025-03-27 12:58:52 +00:00
Hugo Kiyodi Oshiro
69d8419109 Plugins: Remove userStorageAPI feature toggle (#102915) 2025-03-27 13:40:00 +01:00
Galen Kistler
684b37556f Logs Panel: Add ISO8601 date to log download files (#102932)
* feat: add ISO8601 date to log download files
2025-03-27 07:11:16 -05:00
Andres Martinez Gotor
3121633eba Advisor: Mark unprocessed checks as errored (#102888) 2025-03-27 12:50:24 +01:00
Matheus Macabu
8c96c0372a Chore: Run yarn generate-apis (#102974) 2025-03-27 12:49:59 +01:00
Sam Jewell
c9e929e2e6 SQL Expressions: Allow more MySQL AST node-types (#102973)
* SQL Expressions: Add Null-literal node

* Retain some order in the code - put NullVal with BoolVal

* Add support for `IN` keyword

* Add GROUP_CONCAT keyword

* Add COLLATE keyword

From Claude:

The test case demonstrates a simple use of COLLATE with a string
literal, but in real MySQL queries, COLLATE is often used in more
complex scenarios like:

1. String comparisons:
   `SELECT * FROM table WHERE name COLLATE utf8mb4_bin = 'John'`
2. Sorting:
   `SELECT * FROM table ORDER BY name COLLATE utf8mb4_unicode_ci`
3. JOINs:
   `SELECT * FROM table1 JOIN table2 ON table1.name COLLATE utf8mb4_bin = table2.name`

The COLLATE clause is particularly useful when you need case-sensitive
comparisons (utf8mb4_bin) or specific language-aware sorting rules.
2025-03-27 11:32:48 +00:00
Mariell Hoversholm
e1e1d3fd9f Fix: Prints should always include new lines (#102795)
* CI: Allow Bench conversion to fail

We shouldn't mark PRs and commits as X if they fail to convert logs with Bench.

* Fix: Prints should always include new lines

* fix: remove unused import
2025-03-27 12:27:53 +01:00
Oscar Kilhed
9094c73e33 Chore: Rename responsive grid -> AutoGrid (#102959)
* Rename ResponsiveGrid -> AutoGrid in schema

* Rename responsive grid in code

* fix accidental removal of generation

* fix i18n

* fix backend conversion

* run ./hack/update-codegen.sh
2025-03-27 12:16:47 +01:00
Ashley Harrison
dc5badd9b2 Internationalisation: More automatic markup (#102792)
* more automatic i18n markup

* better labels

* little bit of tidy up

* fix unit tests
2025-03-27 10:12:25 +00:00
Roberto Jiménez Sánchez
b2d9b3abe6 Remote provisioning: use client discovery for sync job (#102885)
* Use client discovery for folders and dashboards synchronization

* Remove unused dashboards client

* Add folders import again
2025-03-27 11:07:06 +01:00
Eric Leijonmarck
e216c2f29d Anonymous: Enforce org role Viewer setting (#102070)
* Anon: Remove org role setting

* remove from ini

* remove setting from documentation
2025-03-27 09:10:30 +00:00
colin-stuart
9ca1d8bca7 Tests: Add delete user mock field to fake auth info service (#102947) 2025-03-27 09:45:31 +01:00
Jack Westbrook
6822805c32 Grafana Runtime: Use package.json exports for internal code (#102100)
* refactor(frontend): update runtime import paths for grafana/runtime/src -> grafana/runtime

* feat(runtime): introduce internal api entrypoint and exports property

* refactor(frontend): update runtime imports to use internal entrypoint

* chore(betterer): update results file

* refactor(bookmarks): update runtime/unstable import

* chore(betterer): update results file

* test(frontend): fix failing tests due to mocking nested runtime imports

* test(datasourcesrv): fix failing tests due to mocks

* chore(alerting): clean up redundant import

* fix(packages): fix default require export pointing to types declaration file

* docs(packages): update readme related to exports

* chore(internationalization): fix import paths

* chore(betterer): update results file
2025-03-27 08:59:57 +01:00
Ihor Yeromin
f005613db7 Table: Add inspect cell (#102927)
feat(table-ng): inspect cell
2025-03-27 07:06:32 +01:00
grafana-pr-automation[bot]
87cb440a9a I18n: Download translations from Crowdin (#102953)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-03-27 02:30:36 +02:00
Haris Rozajac
960c13c1e5 K8S Dashboards: Prevent duplicate dashboards when updating an existing dashboard (#102835)
* use metadata for k8s v1

* handle version and uid update in the api layer

* add test

* cleanup
2025-03-26 16:54:55 -06:00
Christopher Moyer
e5ff56ae7b docs/adds shared shortcode (#102946)
* adds shared shortcode

* makes prettier
2025-03-26 16:58:47 -05:00
Stephanie Hingtgen
0087d7bd58 Unistore: Skip label for getting full path (#102928) 2025-03-26 15:50:53 -05:00
Johnny Kartheiser
558773ed7f docs: add note about alert migration (#102741)
* docs: add note about alert migration

added note about alert migration in 11.6.0.

* docs: add note about alert migration

adding documentation about the migrations to the performance limitation docs

* title edit

<-- vale = NO -->
2025-03-26 15:39:32 -05:00
Collin Fingar
4539e007bb Combobox: Fix Group Label Styling - Option Groups + Top Border (#102749)
* Combobox: Fix Group Label Styling

* unified piece of logic with existing code

* Update: Sort ungrouped options based on occurence / docs
2025-03-26 15:43:36 -04:00
alerting-team[bot]
6df99a6224 Alerting: Update alerting module to 58ba6c617ff05eb1d6f65c59d369a6a16923dff6 (#102812)
* remove feature flag alertingAlertmanagerExtraDedupStage
* use most recent version of fork of alertmanager

---------

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2025-03-26 15:15:10 -04:00
Dominik Prokop
3d1497b56a Schema V2: Replace resourceVersion usage with generation (#100080)
* Schema V2: Replace resourceVersion usage with generation

* revert auto generated files

---------

Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
Co-authored-by: Haris Rozajac <haris.rozajac12@gmail.com>
2025-03-26 12:47:24 -06:00
William Wernert
88d23fe5be Alerting: Remove transitional notifications API endpoints (#102713)
* Remove transitional notifications API endpoints

* Fix openapi spec

* Fix path test

* Remove API tests related to removed endpoints
2025-03-26 12:26:50 -04:00
Oscar Kilhed
44c471d10c Dashboards: Limit panel title length (#102911)
Limit panel title length
2025-03-26 17:03:10 +01:00
Alexa V
80e58efd46 Dashboard - Schema V2 Stateless variables (ds ref independent) (#102571)
* Create basic logic for stateless variables

* Refactor function to get DS from queries and variables

* Simplify code, remove unnecessary wrappers

* Fix typo

* improve naming

* Add unit test for variables

* Fix tests

* Add extra logic to keep backwards compatibility, variables can be used without dashboard scene

* Adjust logic for variables ds

* Refactor code, pass dsReferenceMap
2025-03-26 09:59:34 -06:00
Ashley Harrison
9146ac2de1 Chore: Fix some links in our api generation docs (#102907)
fix some links in our api generation docs
2025-03-26 17:47:48 +02:00
Isabel Matwawana
383e38d87b Docs: histogram visualization refactor (#102832)
* Added Config options heading and bumped other heading levels

* Restructured Histogram options and fixed tooltip options level

* Created tooltip 3 shared file and updated tooltip 1 file

* Replaced shared file in 3 visualizations

* Wording fix

* Fixed wording
2025-03-26 11:37:33 -04:00
Artur Wierzbicki
0be91d9771 Docs: add orgId to folder/dashboard search api docs (#102898) 2025-03-26 10:15:05 -05:00
Alexander Zobnin
63a2ce7214 Zanzana: Support subresources for users and service accounts (#102874)
* Zanzana: Support subresources for users and service accounts

* rename relationsFolder

* fix linter error
2025-03-26 16:07:01 +01:00
Mustafa Sencer Özcan
a4e8bd16de fix: add index for resource history get with trash on (#102894) 2025-03-26 15:52:13 +01:00
Leonor Oliveira
51bbfa2d08 [Search] Fix CodeQL warnings (#101364)
* Fix CodeQL warnings

* Also validate if path is a file above the safe dir

* Lint

* [REVIEW] reduce possibility of exploits

* Comment

* Remove test scenario
2025-03-26 15:38:58 +01:00
Dan Snyder
3264067e63 FlameGraphPanel: Add units to standard options (#89815) (#102720)
* FlameGraph: Added units standard option (#89815)

* FlameGraph: Added decimals, and cleaned up module plugin configuration

* Added missing colon

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>

---------

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
2025-03-26 16:16:31 +02:00
Beverly Buchanan
d29d8d1c7c Docs: Update service account (#102502)
update content from support request
2025-03-26 10:06:44 -04:00
Mariell Hoversholm
f7b9f1ce69 Unified Storage: Return an already exists error (#102857)
* Unified Storage: Return an already exists error

When inserting a resource that already exists (i.e. race condition), we can safely catch UNIQUE constraint violations
and transform them into a `k8s.io/apimachinery/pkg/api/errors` error that stands the test of `errors.IsAlreadyExists`.

* feat: clarify existing conflict error

* chore: make update-workspace

* feat: make new package for backend error

* fix: assign dependency owner

* feat: use dialect for checking error type

* chore: go generate

* revert: to 5af369166d
2025-03-26 14:44:44 +01:00
Yuri Tseretyan
9f7df8b788 Adds alerting-team[bot] to exclude list for pr-external label (#102564) 2025-03-26 09:29:52 -04:00
Denis Vodopianov
845e540d50 Fix: Fixing typo in Dockerfile preventing successful build of the docker image (#102875) 2025-03-26 14:06:16 +01:00
Torkel Ödegaard
0240eb79b9 Dashboard: Fixes issue switching layouts (#102884) 2025-03-26 13:56:30 +01:00
Karl Persson
c236a22284 Authz: Include context in logs when using cache (#102810)
Include context in logs when using cache
2025-03-26 13:55:24 +01:00
Sam Jewell
08bc37cfa2 SQL Expressions: Bump go-mysql-server version (#102866)
To receive this bug-fix:

- https://github.com/dolthub/go-mysql-server/pull/2853

Which merged to main on Feb 17th 2025

I picked a commit on `main` from March 19th 2025:

```console
go get github.com/dolthub/go-mysql-server@8c915e51131f1e867ad873f8e827abf858d65dce/testdata
```

Then
```
make run
```
2025-03-26 12:50:20 +00:00
Oscar Kilhed
e95cd04b25 Dynamic dashboards: Add missing row props to schema (#102859)
* Add missing row props to schema

* Fix test, add tests

* Fix renaming that was done by auto refactoring
2025-03-26 14:49:28 +02:00
Ashley Harrison
0f0519eae5 Grafana UI: Add columnGap + rowGap to Stack/Grid (#102883)
add columnGap/rowGap to Stack/Grid
2025-03-26 12:46:24 +00:00
Roberto Jiménez Sánchez
eff2da96d0 Remote Provisioning: Fix empty folder synchronization (#102789)
* Add behavior for hidden

* Rename to IsFilePathSupported

* Modify sync

* Revert renaming

* Fix the tests

* Add more tests

* Maintain empty folders until next full pulling

* Fix wording

* Consider the file as ignored

* Handle folder creation in sync

* Record folder creation / update

* Fix in manual test

* Ensure / slash for folders

* Refactor the tests

* Keep safe path

* Fix some cases

* Remove log lines
2025-03-26 13:39:22 +01:00
Alexander Akhmetov
f49a88ab72 Alerting: Add MissingSeriesEvalsToResolve to the APIs (#102150)
What is this feature?

A follow-up for #101184, adds AlertRule.MissingSeriesEvalsToResolve to the APIs.

missing_series_evals_to_resolve must be specified too and it must be > 0.

POST /api/ruler/grafana/api/v1/rules/{folderUID} works in the following way:

    If missing_series_evals_to_resolve is not sent or null, the rule keeps its existing value
    If missing_series_evals_to_resolve > 0: updates to that value
    If missing_series_evals_to_resolve = 0: resets to default (nil).
    AlertRule.MissingSeriesEvalsToResolve can't be 0, so I used it to reset

In the Provisioning API, the value is just set if present and > 0. Otherwise it's reset:

PUT to /api/v1/provisioning/alert-rules/{UID}:

    If missing_series_evals_to_resolve is nil, it's reset to the default value
    If missing_series_evals_to_resolve > 0, it's updated
2025-03-26 13:34:53 +01:00
Torkel Ödegaard
f2fc1d8575 Dashboard: Add unconfigured panel state to new panels (#102719)
* Update

* Update

* Update new panel title

* Update
2025-03-26 13:34:37 +01:00
Ieva
ff6039567b RBAC: Return 404 instead of 403 if a dashboard cannot be found (#102815)
return 404 instead of 403 if a dashboard cannot be found
2025-03-26 12:26:14 +00:00
Peter Štibraný
fe1f5bc72b ssosettings: Don't update primary key in sso_setting table. (#102878)
Don't update primary key in sso_setting table.
2025-03-26 13:06:29 +01:00
beejeebus
709723927f Assign errorsource to InfluxDB Flux http errors (#102823)
InfluxDB Flux queries can return a http.Error type that we can use to
assign errorsource to.

This PR checks for that type of error, and uses our errorsource
machinery to assign an errorsource.

This is part of https://github.com/grafana/data-sources/issues/377
2025-03-26 08:00:06 -04:00
Jean-Philippe Quéméner
cc8b40585b feat(unified-storage): add traces for all the backend sub-paths (#102876) 2025-03-26 12:50:29 +01:00
Matias Chomicki
b63b4596a0 New Logs Panel: Log line tokenization and syntax highlighting (#101401)
* Logs: preprocess and highlight with Prism

* Processing: highlight logs on demand

* LogList: reset sizes when wrap changes

* Extend base grammar to support numbers, dates, strings, and fields

* Refactor grammar

* LogList: fix size recalculation after logs update

* LogLine: add ansi support

* Processing: Use raw instead of entry

* Capitalize level

* Remove colors from timestamps

* added highlight colors

* Fix oopsies

* LogLine: Remove repeated css attribute

* Log grammar: update log token string

* Formatting

* LogLine: fix underflow detection

* Grammar: fine tune, add durations

* LogLine: change rgba colors to theme colors

* Update tests

* Grammar: add uids

* LogLine: dont render empty logLevel when logs are wrapped

* Virtualization: fix calculation when level is unknown

* Remove console log

* Chore: fix log line message

* LogLine: remove opacity change on hover

* LogLine: tweak colors and highlight urls

* Tweak colors, remove numbers

* Remove unnecessary selector

* Fix imports

* Chore: move dimensions code to virtualization

* processing: add unit tests

* Revert change

* Grammar: add unit tests

* Remove stale assertion

* LogLine: define critical color

* Fix alpha dependency

---------

Co-authored-by: Joan <zizzpudding@gmail.com>
Co-authored-by: Joan Wortman <joanwortman@Joans-MacBook-Air-2.local>
2025-03-26 12:48:26 +01:00
Torkel Ödegaard
648e68387e Dashboard: Edit pane UI updates (#102663)
* First pass

* Update

* Outline tweaks

* Update

* Updates

* Minor fixes

* fix

* Fixes

* Fixes

* Collapse add element pane when selecting
2025-03-26 12:26:55 +01:00
Torkel Ödegaard
91baf78071 AutoGrid: Fixes issue with deserialize (#102864)
* ResponsiveGrid: Fixes issue with deserialize

* fix test
2025-03-26 11:56:46 +01:00
Hugo Häggmark
13ceec112e Plugins: fix for unstable/internal paths (#102854)
* Plugins: fix for unstable/internal paths

* Chore: fix missing path in CODEOWNERS

* Chore: fix missing path in CODEOWNERS

* Trigger build
2025-03-26 11:52:34 +01:00
Alexander Akhmetov
f7aa17f2e4 Alerting: Add default values to AlertRule.Data queries in Prometheus conversion (#102843)
What is this feature?

Prometheus conversion: ensures that AlertRule.Data queries always have default parameters set (intervalMs, maxDataPoints). Without this, updates of the same rule can cause version increments.

Why do we need this feature?

Currently, when converting Prometheus rules to Grafana alerts, some default parameters are not explicitly set in the query model. This creates a problem during rule updates:

When a user updates a rule that hasn't changed, we still detect differences in the AlertQuery.Model because the newly converted rules are missing the default fields, such as intervalMs and maxDataPoints. This causes unnecessary version increments of alert rules.
2025-03-26 11:46:49 +01:00
Piotr Jamróz
1a0478cd76 TraceView: Render all links in span details (#101881)
* Render all links in span details

* Fix empty links case

* Update betterer results

* Update devenv and add docs

* Update public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanDetail/SpanDetailLinkButtons.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanDetail/SpanDetailLinkButtons.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Fix e2e test

* Remove .only

* Post merge updates

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-03-26 11:39:45 +01:00
Hugo Kiyodi Oshiro
ea2a9ee395 Plugins: Remove sort by options from plugins catalog (#102862) 2025-03-26 11:28:38 +01:00
Peter Štibraný
d0dbd1d156 spanner: Fix star migration that fills NULL dashboard_uid and org_id fields from dashboard table. (#102768) 2025-03-26 11:15:00 +01:00
Peter Štibraný
0226d710a1 spanner: Store JSONB into string column. (#102731) 2025-03-26 10:58:06 +01:00
Peter Štibraný
5b5f433a26 spanner: Disable running alerting integration tests when using spanner. (#102730)
* Disable running alerting integration tests when using spanner.

* Disable tests for templategroup.
2025-03-26 10:57:55 +01:00
Alexander Akhmetov
c54da8f955 Alerting: Make $value return the query value in case when a single datasource is used (#102301)
What is this feature?

This PR changes the behavior of the $value and .Value variables in alerting templating to be more compatible with Prometheus templating. When a single datasource is used in the alerting rule, these variables will now return the numeric value from the query instead of the evaluation string.

Why do we need this feature?

It makes Grafana templating more compatible with Prometheus templates. In Prometheus, $value returns the numeric value of the query, but in Grafana it's the evaluation string: [ var='A' labels={instance=instance1} value=81.234 ]. This is because in Grafana multiple datasources can be used in the alert rule, and it's not always possible to get a single value.

This change makes Grafana's behavior consistent with Prometheus when a single datasource is used, and in case when multiple datasources are used in the query, it keeps the old behaviour.

Both $value and .Value are not recommended to use (documentation), and it's better to use .Values instead.
2025-03-26 10:31:38 +01:00
dependabot[bot]
2138706f7b Dependencies: Bump github.com/redis/go-redis/v9 from 9.7.0 to 9.7.3 (#102555)
* Bump github.com/redis/go-redis/v9 from 9.7.0 to 9.7.3

Bumps [github.com/redis/go-redis/v9](https://github.com/redis/go-redis) from 9.7.0 to 9.7.3.
- [Release notes](https://github.com/redis/go-redis/releases)
- [Changelog](https://github.com/redis/go-redis/blob/master/CHANGELOG.md)
- [Commits](https://github.com/redis/go-redis/compare/v9.7.0...v9.7.3)

---
updated-dependencies:
- dependency-name: github.com/redis/go-redis/v9
  dependency-type: direct:production
...

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

* Chore: Run make update-workspace

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matheus Macabu <macabu.matheus@gmail.com>
2025-03-26 10:06:04 +01:00
Sam Jewell
6be7829acf SQL Expressions: Allow IS keyword (#102841) 2025-03-26 09:05:42 +00:00
Tom Ratcliffe
01c7283a88 Alerting: Check recording rules are enabled as well as feature toggle (#102633)
* Add `recordingRulesEnabled` to grafanaBootData

* Check for recording rules being enabled, as well as feature toggle

* Remove unnecessary config line

* Move recording rules check to featureToggles file

* Update NoRulesCTA.tsx
2025-03-26 08:59:45 +00:00
Mariell Hoversholm
db50c3c5fb Codeowners: Fix path to moved file (#102858) 2025-03-26 09:52:07 +01:00
Igor Suleymanov
c68234f7e7 Add Makefile targets for generating dashboard app code and update it to SDK v0.35.0 (#102796)
* Update dashboard app to use app SDK v0.35.0

What

This change updates dashboard app to use app SDK v0.35.0 and adds new
Makefile target for running codegen for all apps, in opt-in manner.
Currently only dashboards app is opted in.

Additionally, this changes dashboard app Makefile to properly install
and update app SDK versions when generating code, with app SDK version
pinned in the Makefile itself.

Why

The upgrade addresses issues with `DeepCopy` methods, while the Makefile
targets ensure that codegen is easy to run and uses reproducible
environments.

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>

* Run make update-workspace

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>

* Fix deepcopy methods

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>

* Re-run CUE codegen to satisfy the CI

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>

* Run make update-workspace

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>

* Update to v0.35.1

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>

---------

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
2025-03-26 10:49:52 +02:00
Zoltán Bedi
c158b56eab Chore: Update Postgres version to 17.4-alpine3.21 in devenv (#102805) 2025-03-26 08:55:59 +01:00
renovate[bot]
736f94f09c Update dependency @grafana/plugin-ui to v0.10.4 (#101459)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-26 08:33:00 +01:00
Drew Slobodnjak
03d6d8f854 Table: Move library to react-data-grid (#102482)
* Changes galore

* Freedom 🗽

* Add feature flag

* Latest changes

* Basic auto cell type

* Partially working bar-gauge

* Brokenish but whatevs

* Include the toggle doc

* TableNG: Context menu (#94094)

* feat(table-ng): context menu init commit

* betterer

* feat(table-ng): re-use contextmenu component

* fix(table-ng): close context menu issue

* TableNG: Sorting columns (#94200)

feat(table-ng): sorting column

* fix feature toggle conflict

* TableNG: Sorting with custom table header (#95351)

* TableNG: Header Toggle (#95310)

* TableNG: Multi-column sorting (#95395)

feat(table-ng): multi-sorting

* TableNG: Column width options (#95426)

* feat(table-ng): column width

* mouse handle drag event

* move resizing task

* TableNG: Fix icon sorting direction (#95653)

fix(table-ng): sorting icon direction

* TableNG: Show table footer (#95313)

* TableNG: Show table footer

* Revert betterer

* Update betterer

* Incorporate reducer calculations into footer

* Update imports in FooterRow

* Use getFooterValue for summary cell render

* TableNG: Min column width (#95657)

* feat(table-ng): min column width

* feat(table-ng): set a min width constant

* TableNG: Column alignment (#95679)

* feat(table-ng): column alignment

* cleaning

* feat(table-ng): header cell alignment

* optimizations

* feat(table-ng): footer cell alignment

* calc counter

* TableNG: use compiled fn for columns -> records conversion (#95914)

* use compiled fn for columns -> records conversion

* TableNG: Move key rev and fix width overrides (#95921)

* meh

* add index to records

---------

Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>

* TableNG: Sparkline Cell Parity (#95690)

* sparkline value

* todo

* Remove unsued shallowField

* Pass justifyContent to sparkline

---------

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

* TableNG: BarGauge cell updates (#95521)

* fix bargauge cell

* merge and fix props

* cleanup imports

* TableNG: Text wrapping (#96041)

* feat(table-ng): fix long text cell width

* feat(table-ng): fix long text cell width 2

* comment out column rowHeight

* fix long text column width

* fix types

* fix types

* naming

* Check current header cell ref is defined for key

* cleaning

* make table re-render when data changed

* eslint

---------

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

* TableNG: Text overflow (#96641)

* feat(table-ng): text overflow

* cleaning

* TableNG: Fix footer for count (#96802)

* TableNG: Table column filter (#96767)

* feat(table-ng): add filter form

---------

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

* TableNG: On column resize trigger (#97004)

chore(table-ng): trigger on resize on text wrap only

* TableNG: Improve sort performance (#97767)

* TableNG: Improve sort performance

* clean a bit

* a bit more

* Remove const that was breaking sort

---------

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

* TableNG: Fix sorting (#98141)

fix(table-ng): sorting

* TableNG: fix multi sorting (#98668)

fix(table-ng): multi sorting

* TableNG: Column re-size handler (#98901)

* feat(table-ng): column re-size handler

* TableNG: Fix footer calcs with no reducer (#99347)

* TableNG: Update renderHeaderCell with filter dep (#99483)

* TableNG: Updated styles for demo (#99530)

* style proposal: table ng

* chore: revert gauge cell custom stuff

* TableNG: Cross-filter (#99459)

* feat(table-ng): cross-filter

* fix filter update issue

* fix filter reset issue

* Fix spacebar for filter input

---------

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

* TableNG: Filter perfomance optimization (#99620)

fix(table-ng): filter performance optimization

* TableNG: Refine styling closer to original table (#99625)

* TableNG: Support groupToNestedTableTransform (#97134)

* TableNG: Support groupToNestedTableTransform

* Fix merge issues

* Force refresh for now

* Remove log

* Fix some conflicts

* Fix more conflicts

* Help avoid clash with compiled frameToRecords keys

* Make subtable height unconstrained

* Support show field names in nested tables toggle

* TableNG: Fix footer + some other misc updates (#99846)

fix: footer fixes huzzah

* TableNG: Styling - Update styling for cells (#99851)

* fix(table-ng): bargauge inner width issue

* TableNG: Move header cell component (#99844)

* fix(table-ng): move header cell into separate file

* Fix sub table

---------

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

* TableNG: Auto cell feature parity (#100095)

* feat(table-ng): auto cell feature parity

* TableNG: JSON cell implementation + hover fixes (#100152)

* feat: tableNG json cell + auto fixes

* chore: add comment

* add justify content to json cell

---------

Co-authored-by: Ihor Yeromin <yeryomin.igor@gmail.com>

* TableNG: Fix cell hover issue (#100207)

* fix(table-ng): cell hover issue

* better commenting

* TableNG: Text color cell (#100120)

feat(table-ng): text color cell feature parity

* TableNG: Image cell implementation (#100132)

* feat: tableNG image cell

* fix: incorporate justify-content correctly

* chore: pass down cell options from fieldConfig

---------

Co-authored-by: Ihor Yeromin <yeryomin.igor@gmail.com>

* TableNG: Cell height performance improvement (#100544)

* chore: perf improvement

* chore: minor fix

* Update packages/grafana-ui/src/components/Table/TableNG/TableNG.tsx

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

* chore: fix betterer

---------

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

* TableNG: Add pagination (#100165)

* TableNG: Add pagination

* TableNG: Get collapsed icon state correct + update `rowHeight` (#100556)

* fix: get collapsed icon state correct + update condition for calculating row height

* chore: some cleanup!

* chore: naming to avoid confusion with local state name

* TableNG: Add support for `DataLinksCell` (#100459)

* TableNG: Improve sub table styling (#100772)

* Move files temporarily to fix conflicts

* Fix feature flag conflicts

* Move files back to cell dir

* TableNG: Update inner height of bar gauge cell (#100996)

* fix: change inner height of bar gauge cell

* chore: move function to utils, cleanup

* Remove testing line

* TableNG: Add bottom border to column headers + fix footer styling (#101016)

* feat: add bottom border to column headers for table parity

* feat: summary row style fix

* chore: remove redundant style

---------

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

* TableNG: Add support for `ActionsCell` (#101024)

* TableNG: Cell hover styles + header resize handler indicator (#100770)

* fix: tableNG styles

* chore: clean up comments

* chore: remove column header stuffz for now

* fix: refactor to transform/translate + resize handler hover styling

* chore: re-think approach - change a lot of things

* chore: most recent iteration

* chore: wait i like this better

* chore: hoist into colors function + clean it up!

* moar better

* chore: define constants for clarity

* chore: calculate rbga to rgb values given background color

---------

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

* TableNG: Fix scoll hover jumpy behavior (#101085)

* fix(table-ng): hover scroll jumping

* Account for panel padding during pagination

---------

Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
Co-authored-by: drew08t <drew08@gmail.com>

* TableNG: Fix imports (#101059)

* fix(table-ng): clean imports

Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>

* TableNG: Sorted rows dependent upon filtered rows (#100985)

TableNG: Improve multi-sort performance

* TableNG: Fix sparkline width (#101164)

fix(table-ng): sparkline width

* TableNG: Type TableNG (#101257)

* feat: type tableNG

* chore: push betterer

* chore: fix linter + why can't I have inline if statements... GRR!

* fix: linter - props name got changed at some point...

* feedback: data links prop consistency + json cell robustness

* chore: remove unused rowIndex prop

---------

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

* TableNG: Add support for datalinks (#100769)

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

* Chore: Remove unused import (#102064)

remove unused import

* Update betterer

* BarGauge: Remove z-index (#102220)

fix(bargauge): remove z-index

* TableNG: Refactor + testing (#102045)

* feat: type tableNG

* chore: push betterer

* chore: fix linter + why can't I have inline if statements... GRR!

* fix: linter - props name got changed at some point...

* feedback: data links prop consistency + json cell robustness

* feat: refactor + tests

* chore: fix import lint errors

* betterer

* chore: fix image cell

* chore: revert width function

* add test

* betterer

* chore: fix sorting + add tests

* chore: pr feedback

---------

Co-authored-by: Ihor Yeromin <yeryomin.igor@gmail.com>
Co-authored-by: drew08t <drew08@gmail.com>

* TableNG: Fix table suggestion (#102497)

fix: defensively guard against missing cellOptions

* TableNG: Footer fields calc fix (#102487)

* fix: respect footer fields calc selection

* chore: add test

* TableNG: Image cell hover fix (#102489)

fix: image cell hover

* TableNG: Persist scrollbars during re render (#102559)

* TableNG: Persist scrollbars during re render

* Update improved betterer

* TableNG: Fix column width override (#102474)

* fix(table): column width override

* TableNG: Add support for crosshair share (#102410)

* TableNG: Add support for crosshair share

* Add tests

* TableNG: Fix table ng tests (#102645)

fix: cellType causing tests to fail

* Remove empty file

* TableNG: Update util tests (#102646)

* TableNG: Add column type icon (#102686)

* chore(table-ng): add column type icon

* chore(table-ng): clean styling

* Use core internationalization outside grafana ui

* Import popover directly

* Add count to grafana-ui locales

* TableNG: Change feature flag to tableNextGen (#102814)

Change feature flag to tableNextGen

* TableNG: Add row colors (#102706)

* chore(table-ng): add row colors

* clean up

* fix params

* fix(table-ng): cell color background indexing

---------

Co-authored-by: Kyle Cunningham <kyle@codeincarnate.com>
Co-authored-by: Ihor Yeromin <yeryomin.igor@gmail.com>
Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
Co-authored-by: Adela Almasan <88068998+adela-almasan@users.noreply.github.com>
Co-authored-by: Alex Spencer <52186778+alexjonspencer1@users.noreply.github.com>
2025-03-25 20:57:57 -07:00
Stephanie Hingtgen
0ce28c8dd8 K8s: Reduce folder get calls in modes 0-2 (#102831) 2025-03-26 05:44:10 +02:00
Stephanie Hingtgen
9e10a7f9ce Tests: Fix failing integration test (#102847) 2025-03-25 21:17:56 -05:00
grafana-pr-automation[bot]
1f45bec1ff I18n: Download translations from Crowdin (#102846)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-03-26 02:31:18 +02:00
grafana-delivery-bot[bot]
f9f51a5218 Release: update changelog for 11.6.0 (#102834)
Update changelog

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2025-03-25 18:00:39 -05:00
grafana-delivery-bot[bot]
acbaf4da1a Release: update changelog for 11.5.3 (#102784)
Update changelog

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2025-03-25 17:42:20 -05:00
grafana-delivery-bot[bot]
7c11a266c7 Release: update changelog for 11.4.3 (#102783)
Update changelog

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2025-03-25 16:32:31 -05:00
grafana-delivery-bot[bot]
536fc254eb Release: update changelog for 11.3.5 (#102781)
Update changelog

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2025-03-25 21:08:51 +00:00
grafana-delivery-bot[bot]
077640bfcc Release: update changelog for 11.2.8 (#102774)
Update changelog

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2025-03-25 15:59:09 -05:00
grafana-delivery-bot[bot]
f95f4bdf27 Release: update changelog for 11.1.13 (#102773)
Update changelog

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2025-03-25 15:36:52 -05:00
grafana-delivery-bot[bot]
8722a8e8f8 Release: update changelog for 10.4.17 (#102769)
Update changelog

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-03-25 15:23:57 -05:00
Jacob Valdez
4dccc03fa2 Docs: updating admonition shortcodes in plugin management (#102817) 2025-03-25 13:37:26 -05:00
Stephanie Hingtgen
7c2890384a K8s: Dashboards: Set v1alpha1 as priority (#102729) 2025-03-25 10:32:49 -06:00
Kyle Brandt
0f6aff2057 SQL Expressions: allow ParenSelect in queries (#102807)
sql_expressions: allow ParenSelect
2025-03-25 16:19:52 +00:00
Isabel Matwawana
13058d2715 Docs: bar gauge visualization refactor (#102747)
* Added Config options heading and bumped heading levels

* Added empty Text size options section and updated Value options

* Updated bar gauge section

* Added missing options and removed screenshot

* Fixed Bar gauge options

* Added descriptions for Text size section

* Added links to text size section

* Fixed text size section
2025-03-25 12:15:15 -04:00
Torkel Ödegaard
dc922717dc Dashboard: Auto grid options (#102374)
* Dashboard: Auto grid options

* Update

* Fix

* update trans

* Update cue

* Fix persisting auto grid options (#102744)

* Fix persisting auto grid options

* Update i18n

* fix serializer test

* update schema

* reset dashboard_object_gen.go files, run update-codegen.sh

* rename in code

* rename height fill in schema

* rename heightFill fillScreen in code

* fix test

---------

Co-authored-by: oscarkilhed <oscar.kilhed@grafana.com>
2025-03-25 16:40:28 +01:00
Peter Štibraný
ca14ca70de xorm: Move for loop that finds inserted columns outside of iteration over all values. (#102700)
* Move for loop that finds inserted columns outside of iteration over all values.
2025-03-25 16:22:34 +01:00
Kevin Minehart
91226fcb1e CI: add yarn run lint to workflow (#102798)
* add yarn run lint to workflow

* rename

* Fix lint errors

* Fix lint errors
2025-03-25 10:20:11 -05:00
renovate[bot]
cbadf9faad Update dependency @react-awesome-query-builder/ui to v6.6.13 (#98723)
* Update dependency @react-awesome-query-builder/ui to v6.6.13

* Fix api changes

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2025-03-25 16:02:27 +01:00
Mustafa Sencer Özcan
65d474bfa4 chore(unified-storage): update default pruner history limit (#102799) 2025-03-25 17:00:12 +02:00
Marco de Abreu
d3468105d7 Storage: Fix resource history sorting and pagination in Spanner backend (#102777)
* Align spanner ListHistory implementation with sql one

* Move migration logic

* Move migration code

---------

Co-authored-by: Marco de Abreu <18629099+marcoabreu@users.noreply.github.com>
2025-03-25 15:28:24 +01:00
Matheus Macabu
99e49a0548 Chore: Update remaining gomod and containers to use Go 1.24.1 (#102794) 2025-03-25 15:23:29 +01:00
Eric Leijonmarck
169b0eb5f5 Config: Removes setting viewers_can_edit (#102275)
Revert "Revert "Config: Removes setting `viewers_can_edit` (#101767)" (#102191)"

This reverts commit 56c896fa72.
2025-03-25 13:55:59 +00:00
Stephanie Hingtgen
b792c31edd Dashboard versions: disable show more when last page (#102655)
---------

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2025-03-25 08:53:13 -05:00
Mariell Hoversholm
df8c69bdba CI: Allow Bench conversion to fail (#102791)
We shouldn't mark PRs and commits as X if they fail to convert logs with Bench.
2025-03-25 15:48:39 +02:00
Yulia Shanyrova
f607f68920 Plugins: Filter out raise issue link from custom links in plugin details (#102591)
add raise issue link to be filtered from custom links for plugin details
2025-03-25 14:34:04 +01:00
Peter Štibraný
f641ca9284 spanner: use emulator by default when running integration tests with Spanner (#102757)
* spanner: when using GRAFANA_TEST_DB=spanner and no SPANNER_DB, use emulator by default.
2025-03-25 14:08:16 +01:00
Dominik Prokop
2570a29540 DashboardModel: Make sure uid is initialised correctly for k8s dashboards (#102764)
DashboardModel: Make sure uid is initialised correctly
2025-03-25 13:18:16 +01:00
Roberto Jiménez Sánchez
8dab99e1d4 [Remote Provisioning] Remove resource and file delete buttons (#102767)
* Remove delete file button in files tab

* Remove delete resource button in resources tab
2025-03-25 12:59:50 +01:00
Mariell Hoversholm
75ce8db0e2 Provisioning: Align frontend more with designs (#102687)
* feat: align frontend more with designs

* feat: remove unnecessary fields

* chore: remove imports

* chore: move imports

* fix: make label not spit out undefined

* feat: update title of nav item

* chore: make update-workspace

* fix: don't wrap text with span unless required

---------

Co-authored-by: Roberto Jimenez Sanchez <roberto.jimenez@grafana.com>
2025-03-25 12:59:42 +01:00
Andre Pereira
f73f88e0f3 Tempo: Fix undefined access to error message (#102771)
Nullish check when getting error
2025-03-25 11:53:38 +00:00
Steve Simpson
0ffb7518cd Alerting: Ignore external alert sending errors when shutting down. (#102705) 2025-03-25 13:50:23 +02:00
Alexander Zobnin
c34394f385 Zanzana: Support subresources for typed resources (#102470)
* Zanzana: Support subresources for folders

* refactor

* fix subresource requests

* implement listing for folders subresources

* teams subresources PoC

* re-enable tests

* use team resource def from iam

* fix tests

* remove unused code

* refactor: rename to subresource

* split resource schema

* update workspaces

* rename folder relation to subresource

* refactor: rename folder resources to subresources

* update readme

* fix listing

* rename params in subresource filter
2025-03-25 12:31:06 +01:00
Tom Ratcliffe
a13d90db45 Alerting: Fix display of Normal (Updated) in alert history (#102476)
* Fix display of `Normal (Updated)` in alert history

* Update useRuleHistoryRecords.test.tsx

* Update regex
2025-03-25 12:59:18 +02:00
Ashley Harrison
3776a0baed Chore: auto mark up some areas for translations (#102711)
* auto markup users/variables/visualization features

* mark up transformers feature

* betterer + translations

* markup trails

* mark up service accounts + translations + betterer

* undo ServiceAccountProfileRow change for now

* dedupe a little
2025-03-25 10:44:05 +00:00
Jack Westbrook
0b5a0d0f66 Frontend: Fix failing test (#102765)
test(paneloptionspane): fix broken import path
2025-03-25 12:14:54 +02:00
Mariell Hoversholm
cc0c86b286 Provisioning: Fix migration: Go-git should pretend the Path is the repo root (#102755)
* fix: go git migration should pretend the path is the repo root

The migration was broken due to its having the path already in the repository, then adding it once more. This now
pretends the path is the repository root as intended.

* chore: remove test log

* fix: reduce permissions of directory

* chore: make update-workspace
2025-03-25 11:09:24 +01:00
Jack Westbrook
1ca9910736 Grafana Data: Use package.json exports for internal code (#102696)
* refactor(frontend): rename all @grafana/data/src imports to @grafana/data

* feat(grafana-data): introduce internal entrypoint for sharing code only with grafana

* feat(grafana-data): add test entrypoint for data test utils usage in core

* refactor(frontend): update import paths to use grafana/data exports entrypoints

* docs(grafana-data): update comment in internal/index.ts

* refactor(frontend): prefer public namespaced exports over re-exporting via internal

* chore(frontend): fix a couple more weird paths that typescript complains about
2025-03-25 10:48:36 +01:00
Mariell Hoversholm
0536aa2d52 Provisioning: Gracefully handle AlreadyExists errors (#102758)
* Provisioning: Gracefully handle AlreadyExists errors

When this occurs, the job is already in the store. The vast majority of use-cases (which currently is all of them!) will
be fine with just accepting that as an OK.

* chore: make update-workspace

* fix: return error, but expect it in tests
2025-03-25 10:41:38 +01:00
Mariell Hoversholm
3aa3371f58 Chore: update workspace (#102759)
* Chore: update workspace

* fix: ignore deprecation warnings
2025-03-25 11:20:23 +02:00
Mihai Doarna
9dbcb3a066 Team: Add user_uid in TeamMemberDTO (#102524)
* add user_uid in TeamMemberDTO

* rewrite sql select string with Sprintf()
2025-03-25 11:18:40 +02:00
linoman
874e98a488 SCIM: Add a distinctive label for externally provisioned users (#102701)
* Add json mapping for user.isProvisioned

* Retrieve the isProvisioned value from database

* Add a Provisioned label to pages that list users

* Update swagger definitions

* Add changes to User Admin pages
2025-03-25 10:06:45 +01:00
Mariell Hoversholm
77fa2271be AppPlatform: Introduce experimental Github integration for dashboard configuration management (#96329)
* [Provisioning] Pay back some technical debt (#100720)

* Handle pagination in github client

* Add some unit test coverage

* Remove unknown repository

* Remove unknown leftover

* Revert "Add some unit test coverage"

This reverts commit 420c9674d2.

* Revert "Revert "Add some unit test coverage""

This reverts commit f7eca41957.

* Revert unit tests in github package

* Remove S3 case as it's now deprecated

* [Provisioning] Consolidate job status report in JobProgressRecorder (#100718)

* Log also successful operation

* Consolidate stop logic under TooManyErrors

* Use error for TooManyErrors

* Pass the progress recorder

* Define JobProgressRecorder interface

* Do not expect workers to return status

* Remove scenarios due to pointers

* Use recorder to manage the entire state

* Provisioning: Support rotating secrets (#100705)

* Provisioning: Refactor webhook to another interface (#100733)

* POC/Provisioning: Remove S3 references (#100734)

* Remove unused script

* Remove s3 references

* Provisioning: Keep the existing k8s name if it is specified in metadata (#100672)

* keep name

* keep name

* Revert "keep name"

This reverts commit 29f87bcaeb.

* Commit stale go.mod

* Keep name also for sync deletions

---------

Co-authored-by: Roberto Jimenez Sanchez <roberto.jimenez@grafana.com>

* Update preview banner copy

* Query Library: Move backend to enterprise (#100371)

* Fix wire

* Fix jobs table re-renders

* Provisioning: Refactor history to its own interface (#100735)

* Provisioning: Refactor history to its own interface

* refactor: use VersionedRepository

* Update API

* Provisioning: Test the GitHub client directly (#100808)

* Provisioning: Test the GitHub client directly

Instead of mocking the abstracted client, test it as well by mocking the underlying GitHub client. This also lets us
remove the mock for the abstracted client.

* refactor: move out helpers

* chore: set dependency owner

* Provisioning: Better clone/push error support (#100854)

* Provisioning: Replace searcher with one that knows about modes (#100857)

* Provisioning: Start in "mode5" when nothing exists in legacy (#100862)

* [Provisioning] Fix duplicate sync jobs triggered in controller (#100870)

* Improve logging on reasons why the controller triggered

* Fix messaging for sync job

* fix lint

* Provisioning: Move legacy export/import into a single migrate job (#100865)

* [Provisioning] Miscellanenous bug fixes and improvements (#100976)

* Error if found duplicate ID

* Fix issue with manual test button

* Fix issue with health errors not going away

* Display status in sync overview

* Use patch operations instead

* Trigger sync job after status update

* Convert Export Tab into modal

* Remove unused FieldSet import

* Only last 8 jobs

* Remove Links card

* Use button for Github Source Code

* Add actions to resources page

* Add resource column to Repository Resources

* Display Job Spec in RecentJobs

* Display dates in history page

* Display Avatar if available

* Improve styling of the avatar

* Update betterer

* Remove duplicate history header in history

* Commit betterer

* Address code styling issues

* update flags

* github v69

* v69

* POC/Provisioning: Add wizard (#100596)

* Chore: make update-workspace

* Chore: Fix lints (#101039)

* Provisioning: Workflows as write access (#101031)

* workflow as write access

* workflow as write access

* workflow as write access

* Update pkg/registry/apis/provisioning/repository/test.go

Co-authored-by: Mariell Hoversholm <mariell.hoversholm@grafana.com>

* POC/Provisioning: Add wizard (#100596)

* update refs

* update refs

* lint fix

* lint fix

* lint fix

* default everythign to read only

* reuse form components

* remove main

---------

Co-authored-by: Mariell Hoversholm <mariell.hoversholm@grafana.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* merge main

* Fix workflow types

* Betterer

* [Provisioning] Fix webhook and finalizer issues (#101052)

Fix webhook and finalizer issue

The maximum number of webhooks per repository is 20

* [Provisioning] Fix issue with last ref (#101056)

* Fix issue with last ref

* Update frontend code

* Fix the local tmp test

* Use lastRef

* POC/Provisioning: Simplify connect step (#101064)

* Fix sending workflows

* Use write for local

* Move connect action to the next step

* Remove wizard props

* Typo

* Redirect to wizard

* Show repo link after successful export

* Provisioning: Avoid starting sync jobs when using legacy storage (#101114)

* avoid starting sync jobs on legacy

* newlines

* Provisioning: Onboarding landing page (#101112)

* add landing page before wizard

* Update onboarding page

* Update URL

* Remove unused

* Add deleteAll button

* Improved text

* betterer

---------

Co-authored-by: Clarity-89 <homes89@ukr.net>

* Provisioning: use the sync job to finish the migrate job (#101107)

* Provisioning: Show progress more often (#101128)

* show progress bar earlier

* show progress bar earlier

* update wording to be less specific

* POC/Provisioning: Enable sync (#101131)

* update preview banner

* actualy remove and don't crash without provisioning flag

* Update db banner

* Provisioning: Export oldest items first (#101189)

* Provisioning: better branch handling (#101188)

* add missing file

* Provisioning: Fix tests (#101197)

* Provisioning: Refactor tests to be multiple functions

* Provisioning: Fix tests

* fix: make github-example sync

* fix misspell

* Provisioning: avoid migration wizard if things are already in unified storage (#101204)

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

* more lint

* POC/Provisioning: Handle connect step errors (#101192)

* Provisioning: Unify status handling in repository and migrate steps

* Refactor: Move WorkflowsField outside RepositoryStep and use proper type

* Refactor: Improve repository verification error handling and UI

* Refactor: Simplify repository verification error handling

* Refactor: Simplify RepositoryStep component structure

* Refactor: Improve error handling in RepositoryStep

* Refactor: Remove redundant repository creation logic from ProvisioningWizard

* Refactor: Simplify RequestErrorAlert component

* show github error

* now will verify

* test .git

* recover from bad config

* Update error handling

* Remove unused prop

* merge upstream

* Show migration summary

* Update text

* Improve text

* Betterer

* [Provisioning] Review controller changes (#101216)

* Review health check conditions

* Move down the logic to set up the sync status

* Skip if it's only a health check rerun

* Fix health check conditions

* Preserve last ref

* Format code

* Rename to shouldSkipSync

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Roberto Jiménez Sánchez <roberto.jimenez@grafana.com>

* fix promotion step

* In the promotion pipeline, publish should depend on build

* fix promotion pipeline

* [Provisioning] Use smaller methods to process repository events (#101240)

* update codegen

* merge main

* Provisioning: Avoid localhost error loop (#101253)

* Provisioning: Update the recent jobs formatting (#101250)

format history

* [Provisioning] Refactor Pull Request & Lint worker (#101273)

* Refactor the code

* Refactor into separate files

* Consolidate linter flag in one spot

* Use global feature flags

* Commit betterer

* Remove from JSON the intermidiate flag

* Use again spec

* Clean up

* Revert changes in test

* POC/Provisioning: Remove sync confirm modal (#101281)

* [Provisioning] Remove linting from MVP (#101286)

* Remove Linting backend

* Re-generate client

* POC/Provisioning: Unify tags (#101218)

* Unify tags

* add both tags

* add tag types

* Check for the redirect only once

* Add fetch settings with delay hook

* Refetch settings

* Split hooks into separate files

* Cleanup

* Prettier

* Prettier

* Remove lint code

* Betterer

---------

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

* Provisioning: Update token instructions (#101280)

* Provisioning: Use blob storage rather than local file system to save images (#101298)

* [Provisioning] Add more explicit setup warnings if webhook integration and image rendering are disabled (#101304)

* Setup warnings if renders or webhooks are not possible

* Improve display

* Use a single Alert

* Make design more compact

* Only display local config is missing critical feature toggles

* Improve styling of required flags

* Add file name to the custom ini itself

* Add copy button

* Add FeatureSection Component

* Commit betterer

* Use an interactive table

* Use a modal for instructions

* Use the same modal for example config

* Improve setup steps

* Improve stepper

* Copy code ctrl + c

* Make it more compact

* Select feature to enable

* Improve the height of alerts

* Separate components

* Better warnings

* Improve the page

* Improve the cards

* Improve cards even more

* Improve cards

* Improve cards

* Optional copy in code block

* Add side bar with steps

* Improve styling

* Style modal

* Clean up Code

* Remove index file

* Simplify Step Component

* Commit betterer

* Simplify components

* Use CodeEditor and Clipboard components

* Do not show scrollback on minimum size

* Fix positioning of footer

* Separate Component for Feature

* Use different styling

* Commit betterer

* Use more Grafana components in the FeatureCard

* Separate sidebar into own components

* Simplify sidebar code

* Commit betterer

* Remove connector

* Simplify styling further

* Use cards

* Improve code

* Use more grafana component in InstructionsModal

* Further simplify

* Simplify the code

* Simplify style

* Clean up

* Simplify the Wizard

* Use little icons

* Improve feature cards

* Improve cards

* Commit betterer

* Add description to feature setup

* Improve instructions for snapshot preview

* Move all files into Setup folder

* Commit betterer

* Clean up the warnings code

* Improve coding

* Move sidebar item to separate fiel

* Rename components

* Fix issues

* Use stack instead

* Improve style

* Don't show setup button if configured already

* Simplify again CSS

* Use secondary actions

* Style a bit more

* Improve wording

* Update warning

* Refer to docs in Image Renderer

* More clean up

* Revert changes in generated client

* Fix typos and imports

* Fix lint errors

* Provisioning: better error support (#101490)

* update openapi snapshot

* fix build

* Provisioning: Only show setup page when feature toggles are missing (#101502)

* form fixing

* form fixing

* always send UID

* Same onboarding page regarless of migration (#101557)

* backend building... frontend still broken

* rename sync with main

* Provisioning: Update dashboard badge (#101599)

* Rename to push / pull everything user-facing (#101577)

* Rename to push / pull all everything user-facing

* Use automatic pulling wording

* Provisioning: Migrate when using unified storage (#101572)

* migrate when not unified

* Update pkg/registry/apis/provisioning/register.go

Co-authored-by: Roberto Jiménez Sánchez <roberto.jimenez@grafana.com>

* variables

* merge main

---------

Co-authored-by: Roberto Jiménez Sánchez <roberto.jimenez@grafana.com>

* Add tabs and features tab to listing page (#101570)

* List features in onboarding page (#101558)

* merge main

* POC/Provisioning: Check if the instance is provisioned (#101601)

* Check if the instance is provisioned

* Fix lints

* Fix getting config for new dashboard

* Fixes after merge

* More fixes

* Show success message

* Fix default value

* Add test

* Fix lints

* Provisioning: Include URLs in ResourceWrapper response (#101511)

* Convert Migrate wizard into a Connection Wizard (#101575)

* Convert Migrate wizard into a Connection Wizard

* Remove duplicate empty state

* Allow users to select target in the first step

* Remove file created by merge

* Select target based on existing connections

* Default option for targets and explainatory alert

* Do not display connect button if single connection

* Display target as tag in repository card

* Add Pull Step

* Fix linting

* User decides if migrate or connect

* Improve style based based on review

* Provisioning: Return upsert resource when writing (#101574)

* [Provisioning] Getting Started Page and Tab (#101701)

* merge main

* fix go.mod

* Provisioning: Redirect to the new URL after save (#101757)

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

* POC/Provisioning: create folder (#101619)

* Add NewProvisionedFolderForm

* Cleanup

* Add folder api

* Register API

* Do not show provisioned badge for instances

* Enable saving

* Show saved alert

* Fixes

* Fix deps

* Cleanup

* Add test

* Add test

* Updates

* Fix test

* Fix import

* [Provisioning] Display instance connection directly in home (#101720)

* Show tabs directly in home page for instance sync

* Display actions also in the home page

* Add delete button to actions

* Fix issue with files tab

* Display tabs also in instant sync

* Generate connection name for instance sync

* Fix issues when no repositories

* Set active tab

* Remove leftover

* Rename component for listing folder repository

* Fix linting issues

* Fix merge error

* Rename to HomePage

* Split folder list into separate component

* Create own component for repository card

* Improve RepositoryCard readability

* Improve RepositoryCard styling

* Make view primary button

* Fix syntax

* Fix generateName

* merge main

* Provisioning: Move folder management into its own helper (#101864)

* folder

* update folder links

* Fix test

* update

* cleanup

---------

Co-authored-by: Clarity-89 <homes89@ukr.net>

* fixed folder issue

* POC/Provisioning: Create folder from root (#101921)

* Enable creating folder at the root

* Fix test

* Add interceptor

* Provisioning: Expose stats (#101927)

* [Provisioning] Unified onboarding wizard (#101952)

* Spike the solution

* More work

* Add more situations

* Attempt to display count of dashboards and folders

* Attempt with file count

* Do not display options if not possible

* Improve styling resources

* Use another API

* Fix issue with selection

* Style a bit

* Fix more issues

* Make the sync step work

* Improve links

* Use LinkButton

* Start pull automatically

* Start migration automatically

* Fix issue with options

* Fix issues

* Fix loading error

* Improve more things

* Improve styling

* Improve messaging

* Set the autofocus

* Fix some issues

* Fix issue with disabled options

* Only resources

* Finish settings depending on configuration

* Move title to wizard

* Fix title

* Improve styling

* Badge

* Explain on hover

* Improve styling

* Disabled at the bottom

* History & identifiers

* Improve wording

* Add padding left and right disable options

* Delete repository

* Improve buttons

* Give index time to catch up

* Improve buttons

* Handle steps with only forms

* Fix issue with initial migrate or pull

* Commit betterer

* Error messages

* Use memo

* Revampt that a bit

* Attempt to simplify the state and components

* Improve the component for Migrate

* Commit betterer

* Fix issue in next button

* Clean up more

* Start for boostrap step

* Fix issue with running status

* Fix issue with loading bootstrapping

* Improve loading

* Improve more the loading

* Fix issue with loading

* Empty tree

* Handle error

* Fix issue with looping

* Remove commented out lines

* Add comment

* Remove accidental file

* Fix imports

* Improve MigrateStep and PullStep

* Use hook for step status

* JobStep component

* Refactor data fetching

* Validate with Github

* Fix issue with failed error

* Fix next on success

* Address small comments

* Separate file for WizardContent

* Fix linting

* Use step approach also for bootstrap

* Make the logic for moving between steps clearer

* Fix navigation issue

* Clean up some logic

* Use useAsync for JobStep steps

* Revert "Use useAsync for JobStep steps"

This reverts commit 242a275cc9.

* Provisioning: use service to get counts (#101972)

counts

* must migrate when using legacy storage

* Revert "Revert "Use useAsync for JobStep steps""

This reverts commit a420d0ac36.

* Fix async conditions

* Organize imports

* Separate component for BootstrapOptionCard

* BootstrapOptionsList

* Remove duplicate definitions

---------

Co-authored-by: Clarity-89 <homes89@ukr.net>
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>

* Merge

* Fix utils

* POC/Provisioning: Fix folder path for dashboard (#101997)

* Provisioning: Fix folder path for dashboards

* Fix isNew

* Update test

* Fix any error

* Betterer

* [Provisioning] Improve progress recording and updates (#102035)

* do not validate on delete

* Provisioning: Implement authorizer for remaining resources (#101945)

* feat: implement authorizer for remaining resources

* fix: don't allow viewers to write files

* security: harden blob id fetching

* add integration test for admin vs viewer

* feat: only Get is a valid verb for reads in our subresources

Co-Authored-By: Ryan McKinley <ryantxu@gmail.com>

* feat: allow render for all requests

* refactor: use guards

Not changing code that goes `if a { } else if b { } else { }` as the semantic meaning of the different branches is
easier to parse.

---------

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

* POC/Provisioning: Improve wizard setup (#102066)

* wizard actions

* workign better

* remove more memo

* show polling interval

* cleanup

* finalizers

* Update public/app/features/provisioning/Wizard/BootstrapStep.tsx

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

* Update public/app/features/provisioning/Wizard/BootstrapStep.tsx

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

* Update public/app/features/provisioning/Wizard/BootstrapStep.tsx

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

* Update public/app/features/provisioning/Wizard/BootstrapStep.tsx

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

* Update public/app/features/provisioning/Wizard/BootstrapStep.tsx

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

* Update public/app/features/provisioning/Wizard/WizardContent.tsx

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

* Update public/app/features/provisioning/Wizard/WizardContent.tsx

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

* Update public/app/features/provisioning/Wizard/BootstrapStep.tsx

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

* updates from alex

* updates from alex

* Simplify actions

* Extract props

* history supported form legacy only (for now)

* More refactor

* change order

* Fix cleanup finalizer

* show kinds

* fix lint

---------

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
Co-authored-by: Clarity-89 <homes89@ukr.net>
Co-authored-by: Roberto Jimenez Sanchez <roberto.jimenez@grafana.com>

* Fix resource condition (#102086)

* Fix job summary stats issue (#102084)

* merge main

* Repository link should point to configured branch (#102092)

* Add getRepoHref

* Fix random string generation

* Redirect to Home on repository deletion (#102096)

* Fix extra commas in pull request comment (#102108)

* Fix image rendering endpoint (#102107)

* POC/Provisioning: Support migrate... when starting with unified storage (#102097)

* use same clone

* now using upsert

* Fix lint

---------

Co-authored-by: Roberto Jimenez Sanchez <roberto.jimenez@grafana.com>

* Clean up unprovisioned resources after unified storage migration (#102126)

* Clean up unprovisioned resources after migrate

* Clean up unprovisioned resources after migrate

* Update pkg/registry/apis/provisioning/jobs/migrate/resources.go

* Reset summary between export and pull (#102101)

* Reset summary between export and pull

* Add reset results to unified storage migration

* Provisioning: always dirty (#102151)

* fix test version

* log the watch line

* POC/Provisioning: Disable repository list watch (#102169)

* Disable watch for repo list endpoint

* Add comment

* Remove another watch

* Provisioning: Avoid calling test on every update (#102161)

test less often

* Provisioning: Support prefixes in GitHub repositories (#101969)

* feat: add a Prefix property to GitHub repo spec

* feat: make nested folders work properly

* feat: use subdir for go-git export

* fix: placeholder for prefix should be grafana/

* feat: rename prefix to path

* fix: json name should be path, too

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

* chore: regen apis

* fix: copy 'path'

---------

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

* Merge

* Fix duplicate type

* Provisioning: Test export functionality (#101336)

* Provisioning: Test export functionality

* fix: use context.Background

* test: add more cases for local repo path resolving

* test: rework test inputs

* test: try to make github test work

* fix: clear global state

* Update api client imports

* Fix import

* Fix test

* Update codegen

* Provisioning: Make it green (#102271)

* chore: remove unused functions

* chore: update betterer results

* chore: update openapi spec

* chore: yarn generate-apis

* fix: specify default false if undefined

* Use AnnoKeyManagerIdentity

* Add manager kind

* POC/Provisioning: Update component structure (#102297)

* Update project structure

* Update imports

* Remove unused components

* Copy fixes

* Typo

* More copy fixes

* Betterer

* Update test

* merge main

* Provisioning: Replace hardcoded clients with discovery client (#101918)

* disco client

* discovery client

* merge main

* merge main

* keep factory

* keep factory

* find preffered version for delete factory

* use same folders request

* merge main

* with integration test

* POC/Provisioning: Compare spec in test rather than raw JSON (#102352)

* compare spec not json

* compare spec not json

* [Provisioning] Add in-code TODOs in API Server area (#102360)

* Add TODOs for files endpoint

* Add TODO history endpoint

* Add TODO to move files logic to resource package

* Add TODO to not use private fields directly

* Remove unnecessary checks in list connector

* Add pagination TODO in lister

* Add TODO to rename resources

* Add todo about cloning too early

* Add TODO to propose to merge sync and migrate endpoints

* Add TODOs in register

* Add more TODOs in connectors & routes

* Add TODOs about prefix

* Change it to remove

* Update pkg/registry/apis/provisioning/test.go

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

---------

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

* POC/Provisioning: Switch folders to use managedBy (#102362)

* Folders: Switch to managedBy

* Fix create folder

* Fix tests

* Do not allow changing folder from dashboard settings

* Update imports

* Update provisioned meta

* Do not show provisioned badge for child folders

* Fix folder title

* Update folder actions

* Update new provisioned folder form

* Remove unused code

* Fix condition

* Reset default values on change

* Remove duplicate nav item

* Add managedBy to DashboardQueryResult

* Provisioning: support watch over live (in feature branch) (#102408)

* Provisioning: watch cleanup (#102424)

* fix lint

* Provisioning: Add basic usage stats (#102405)

* [Provisioning] Add limitations to Github Repository (#102451)

* Put limits to Github

* File is too large

* Move constants

* Embed ListOptions again

* Remove TODO

* Provisioning: Pick a better default title (#102516)

better title

* Provisioning: sanitize pull request urls (#102517)

* [Provisioning] Clean up clone after export and migrate (#102467)

* Remove clone directory on clone failure

* Defer remove clones

* Log error if removal fails

---------

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

* [Provisioning] Limit path length and depth in APIs (#102472)

* Limit filepath length in files API calls

* Add common utility to deal with paths

* Use the existing function

* Fix import

* Update pkg/registry/apis/provisioning/safepath/limit.go

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

* Fix issue after website commit

* Fix linting issue in test

---------

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

* Add timeout, JSON check and max body size to endpoints (#102443)

* Add timeout, JSON check and max body size to endpoints

* Use http.MaxBytesReader instead

* Use MaxBytesReader also for reading the entire body

* Add empty line

* Add unit tests

* Fix integration tests

* Update pkg/registry/apis/provisioning/render.go

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

* Do not use utils :)

* Fix comment on unmarshalJSON

* 25MB for webhook events

* Remove content type check for files write

---------

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

* fix imports

* Provisioning: Remove export option from the UI (#102511)

* [Provisioning] Remove unused checkout method in go-git (#102460)

* [Provisioning] Limit max number of repositories to 10 (#102542)

* Limit to maximum 10 repositories in backend

* Change messaging

* Do not display connect button if more than 10

* Only fetch settings once

* watch repos

---------

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

* [Provisioning] Limit size and time to git clone and push in go-git (#102458)

* Limit git clone and push time and size

* Fix linting

* Use transport instead to limit

* Remove not supported

* Add TODO to make timeout configurable

* chore: make update-workspace

* Provisioning: Implement a new job queue (#102446)

* feat: implement a new job queue

Outstanding problems:

  * Status isn't saved.
  * Progress updates don't work (due to status not being saved probably?).

* feat: properly save status

* chore: document label

* chore: assumptions do hold

* fix: support multi-tenant job drivers

* fix: use namespace=*

* fix: set resource back to pointer when updating job progress

If we don't do this, we start rejecting job progress updates as the version falls out of sync.

* feat: make job APIs read-only

* fix: complete job when worker returns

* fix: set namespace on requests from controller

* test: check historic jobs

* chore: regen apis

* feat: start augmenting frontend

* feat: add jobs to authorizer

* feat: use watch from input

* fix: make frontend subscribe to historic jobs

* fix: lint

* chore: yarn prettier:write

* fix: frontend lints

* test: allow for empty state in historicjobs

* test: set content type for export request

* fix: always set job name on insert

* fix: import

* fix: use dashes not colons

* fix: job status should expect a historic job transition

* fix: allow PR jobs from multiple PRs

* feat: same name for sync and migrate jobs

* feat: generate a job name in the store

* refactor: rename to persistentStore

* feat: remove status subresources on jobs

* feat: join jobs into one card

* chore: regen openapi snapshot

---------

Co-authored-by: Roberto Jimenez Sanchez <roberto.jimenez@grafana.com>

* Provisioning: Use a complete storage for jobs (#102605)

* feat: add a complete strategy to apiserver

* feat: use the complete storage strategy for jobs

* test: behaviour changed in main

* [Provisioning] Consolidate file path handling (#102617)

* Add more cases for validation

* Call the method dir

* Clean files endpoint

* Simplify further

* Fix issues with folder

* Add Dir function

* Use walk function in folders

* Move things from ID

* Fix some tests

* Add tree

* Sync worker and changes

* Add more TODOs

* Add normal join

* Remove things in local

* Consolidate single Join

* Call it safe

* Add new IsPathSupported action

* Move the depth to resources

* Add more cases

* Improve trie implementation

* Add tests trie

* Fix trie tests

* Improve trie tests

* Add tests for walk

* Fix linting

* Add unit tests filepath

* Remove TODO

* Remove another TODO

* Unsupported file extension error

* Add documentation for IsPathSupported

* Filepath unit tests

* Use safepath to validate github path

* Remove TODO in wrapper

* Use trailing slash in folder internal object

* Fix changes test

* Include dot

* Add TODO to explore own type for path

* Fix frontend lint

* Fix unit tests

* Fix provisioning integration tests

---------

Co-authored-by: Roberto Jiménez Sánchez <roberto.jimenez@grafana.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Clarity-89 <homes89@ukr.net>
Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
Co-authored-by: Kevin Minehart <kmineh0151@gmail.com>
2025-03-25 08:59:03 +01:00
Torkel Ödegaard
e48ec7d6b6 PanelEdit: Fixes suggestions not applying options or field config (#102675) 2025-03-25 07:25:09 +01:00
grafana-pr-automation[bot]
52312a11b8 I18n: Download translations from Crowdin (#102751)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-03-25 02:33:42 +02:00
Kyle Brandt
f4849eabc7 SQL Expressions: Change metric conversion to full long (#102728)
When querying metric data (non-table data) with SQL Expressions, we need to convert the data to table format. This is alternative format which does not have the same issues with sparse data.

There is now a __metric_name__ column and one __value__ column. Also a __display_name__ column if there is DisplayNameFromDS metadata.

---------

Co-authored-by: Adam Simpson <adam@adamsimpson.net>
2025-03-24 22:04:43 +02:00
Stephanie Hingtgen
5dd0aa2c73 Revert "Cloudwatch: Migrate to aws-sdk-go-v2" (#102738)
Revert "Cloudwatch: Migrate to aws-sdk-go-v2 (#99643)"

This reverts commit 5bb1d5f2c3.
2025-03-24 19:11:04 +00:00
Jev Forsberg
53d355813e Chore: Migrate main-lint-backend drone pipeline to GHAs (#102494)
* baldm0mma/ adjust triggers to run on push to main

* baldm0mma/ rename and update codeowners
2025-03-24 13:09:59 -06:00
Jev Forsberg
8359474a1c Chore: Add pushes to main in the storybook-verification workflow (#102496)
baldm0mma/ add pushes to main
2025-03-24 12:35:24 -06:00
Stephanie Hingtgen
1e4555c79b K8s: Folders: fix error conversion (#102737) 2025-03-24 19:59:26 +02:00
Ida Štambuk
c8881c272f Prometheus: Add back @lezer/highlight to dev dependency (#102632) 2025-03-24 17:59:48 +01:00
Josh Hunt
41cc82b8d0 Combobox: Refactor sortByGroup for performance (#102664)
* first pass at improving perf of sortByGroup

* polish up
2025-03-24 15:57:00 +00:00
Jev Forsberg
1adcee17ca Chore: Add push to main trigger to lint-build-docs workflow (#102653)
* baldm0mma/ add push to main trigger for docs lint and build

* baldm0mma/ update naming
2025-03-24 09:56:47 -06:00
Stephanie Hingtgen
c76a681a43 Dashboards: Prevent version restore to same data (#102665) 2025-03-24 10:48:46 -05:00
Karl Persson
55f2812466 Annotations: Fix annotations scope resolver (#102612)
* Fix annotations scope resolver
2025-03-24 16:00:07 +01:00
Alex Bikfalvi
bef5df2476 feat(datasource/Tempo): Report timerange to Rudderstack (#102218)
* feat(datasource/Tempo): Report timerange to Rudderstack

This adds another parameter to the Rudderstack instrumentation,
reporting the query time range in seconds.

Signed-off-by: Alex Bikfalvi <alex.bikfalvi@grafana.com>

* Update public/app/plugins/datasource/tempo/datasource.ts

Co-authored-by: Andre Pereira <adrapereira@gmail.com>

* Update public/app/plugins/datasource/tempo/datasource.ts

---------

Signed-off-by: Alex Bikfalvi <alex.bikfalvi@grafana.com>
Co-authored-by: Andre Pereira <adrapereira@gmail.com>
2025-03-24 14:24:10 +00:00
Mariell Hoversholm
e862fb3cd7 Security: Update JWT library (CVE-2025-30204) (#102715)
* Security: Update JWT library

* Security: Update JWT v5 library
2025-03-24 15:22:53 +01:00
Alexander Akhmetov
dcaa40312f Alerting: Fix typo in the recording_rules ini section (#102707) 2025-03-24 15:14:41 +01:00
Jacob Valdez
b0fda33d06 Docs: What's new & Upgrade guide v11.6 (#101479)
* Docs: What's new & Upgrade guide v11.6

* Adding alerting entries

* adding new entries

* updating entries and initial text from website PR

* Reorder changelog entries

* adjusting front matter spacing for product labels

* adding missing space

---------

Co-authored-by: Mitch Seaman <mjseaman@users.noreply.github.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2025-03-24 08:58:32 -05:00
Ashley Harrison
030893ac23 ScrollIndicators: Tweak to be more subtle (#102539)
* tweak scroll indicators to be more subtle

* remove extra bracket
2025-03-24 13:50:50 +00:00
Alexander Akhmetov
b4758d06a3 Alerting: Support JSON Content-Type in the Prometheus conversion API (#102627)
Alerting: Support content-type: json in conversion API
2025-03-24 14:15:25 +01:00
Piotr Jamróz
82ea562b75 Tempo: Add support for ad-hoc filters (#102448)
* Add support for ad-hoc filters

* Handle enum tags when using ad hoc filters
2025-03-24 13:56:51 +01:00
Torkel Ödegaard
f0db0c4f0d Dashboards: Rows layout polish and fixes (#102666) 2025-03-24 13:51:21 +01:00
Torkel Ödegaard
c20de2b753 Tabs: Support for nested url sync (#102670) 2025-03-24 13:50:37 +01:00
Hugo Häggmark
6f2a9abc03 i18n: consolidate i18n types & runtime services (#102535)
* i18n: consolidate i18n types & runtime services

* Chore: updates after PR feedback

* Chore: updates after feedback

* Chore: updates after feedback

* Chore: updates after PR feedback

* Chore: fix i18n

* Chore: updates after PR feedback
2025-03-24 13:20:00 +01:00
Ashley Harrison
9e9eb7a4f8 Chore: add new theme event, modify preference type in drawer (#102523)
* add new theme event, modify preference type in drawer

* update to theme_drawer
2025-03-24 11:57:37 +00:00
Ashley Harrison
0bedd57812 Chore: Auto mark up some more areas for translations (#102479)
* markup api-keys

* markup auth-config

* auto markup connections

* markup explore

* translation extractions

* fix unit tests
2025-03-24 11:41:45 +00:00
11329 changed files with 983100 additions and 354121 deletions

25
.air.toml Normal file
View File

@@ -0,0 +1,25 @@
[build]
bin = "./bin/grafana"
args_bin = ["server", "-profile", "-profile-addr=127.0.0.1", "-profile-port=6000", "-profile-block-rate=1", "-profile-mutex-rate=5", "-packaging=dev", "cfg:app_mode=development"]
cmd = "make GO_BUILD_DEV=1 build-backend"
exclude_regex = ["_test.go", "_gen.go"]
exclude_unchanged = true
follow_symlink = true
include_dir = ["apps", "conf", "devenv/dev-dashboards", "pkg", "public/views"]
include_ext = ["go", "ini", "toml", "html", "json"]
stop_on_error = false
send_interrupt = true
kill_delay = 500
[log]
time = true
[misc]
clean_on_exit = false
[proxy]
enabled = false
[screen]
clear_on_rebuild = false
keep_scroll = true

View File

@@ -1,128 +0,0 @@
// @ts-check
const emotionPlugin = require('@emotion/eslint-plugin');
const importPlugin = require('eslint-plugin-import');
const jestPlugin = require('eslint-plugin-jest');
const jsxA11yPlugin = require('eslint-plugin-jsx-a11y');
const lodashPlugin = require('eslint-plugin-lodash');
const barrelPlugin = require('eslint-plugin-no-barrel-files');
const reactPlugin = require('eslint-plugin-react');
const testingLibraryPlugin = require('eslint-plugin-testing-library');
const grafanaConfig = require('@grafana/eslint-config/flat');
const grafanaPlugin = require('@grafana/eslint-plugin');
// Include the Grafana config and remove the rules,
// as we just want to pull in all of the necessary configuration but not run the rules
// (this should only be concerned with checking rules that we want to improve,
// so there's no need to try and run the rules that will be linted properly anyway)
const { rules, ...baseConfig } = grafanaConfig;
/**
* @type {Array<import('eslint').Linter.Config>}
*/
module.exports = [
{
name: 'grafana/betterer-ignores',
ignores: [
'.github',
'.yarn',
'**/.*',
'**/*.gen.ts',
'**/build/',
'**/compiled/',
'**/dist/',
'data/',
'deployment_tools_config.json',
'devenv',
'e2e/test-plugins',
'e2e/tmp',
'packages/grafana-ui/src/components/Icon/iconBundle.ts',
'pkg',
'playwright-report',
'public/lib/monaco/',
'public/locales/_build',
'public/locales/**/*.js',
'public/vendor/',
'scripts/grafana-server/tmp',
'!.betterer.eslint.config.js',
],
},
{
name: 'react/jsx-runtime',
// @ts-ignore - not sure why but flat config is typed as a maybe?
...reactPlugin.configs.flat['jsx-runtime'],
},
{
files: ['**/*.{ts,tsx,js}'],
...baseConfig,
plugins: {
...baseConfig.plugins,
'@emotion': emotionPlugin,
lodash: lodashPlugin,
jest: jestPlugin,
import: importPlugin,
'jsx-a11y': jsxA11yPlugin,
'no-barrel-files': barrelPlugin,
'@grafana': grafanaPlugin,
'testing-library': testingLibraryPlugin,
},
linterOptions: {
// This reports unused disable directives that we can clean up but
// it also conflicts with the betterer eslint rules so disabled
reportUnusedDisableDirectives: false,
},
},
{
files: ['**/*.{js,jsx,ts,tsx}'],
rules: {
'@typescript-eslint/no-explicit-any': 'error',
'@grafana/no-aria-label-selectors': 'error',
'no-restricted-imports': [
'error',
{
patterns: [
{
group: ['@grafana/ui*', '*/Layout/*'],
importNames: ['Layout', 'HorizontalGroup', 'VerticalGroup'],
message: 'Use Stack component instead.',
},
{
group: ['@grafana/ui/src/*', '@grafana/runtime/src/*', '@grafana/data/src/*'],
message: 'Import from the public export instead.',
},
],
},
],
},
},
{
files: ['**/*.{ts,tsx}'],
ignores: ['**/*.{test,spec}.{ts,tsx}', '**/__mocks__/**', '**/public/test/**'],
rules: {
'@typescript-eslint/consistent-type-assertions': ['error', { assertionStyle: 'never' }],
},
},
{
files: ['public/app/**/*.{ts,tsx}'],
rules: {
'no-barrel-files/no-barrel-files': 'error',
},
},
{
files: ['public/**/*.tsx', 'packages/grafana-ui/**/*.tsx'],
ignores: ['public/app/plugins/**', '**/*.story.tsx', '**/*.{test,spec}.{ts,tsx}', '**/__mocks__/', 'public/test'],
rules: {
'@grafana/no-untranslated-strings': [
'error',
{
forceFix: [
// Add paths here that are happy to be auto fixed by this rule,
// for example
// 'public/app/features/alerting'
],
},
],
'@grafana/no-translation-top-level': 'error',
},
},
];

File diff suppressed because it is too large Load Diff

View File

@@ -1,97 +0,0 @@
import { BettererFileTest } from '@betterer/betterer';
import { ESLint } from 'eslint';
import { promises as fs } from 'fs';
// Why are we ignoring these?
// They're all deprecated/being removed so doesn't make sense to fix types
const eslintPathsToIgnore = [
'packages/grafana-ui/src/graveyard', // will be removed alongside angular in Grafana 12
'public/app/angular', // will be removed in Grafana 12
'public/app/plugins/panel/graph', // will be removed alongside angular in Grafana 12
'public/app/plugins/panel/table-old', // will be removed alongside angular in Grafana 12
];
// Avoid using functions that report the position of the issues, as this causes a lot of merge conflicts
export default {
'better eslint': () =>
countEslintErrors()
.include('**/*.{ts,tsx}')
.exclude(new RegExp(eslintPathsToIgnore.join('|'))),
'no undocumented stories': () => countUndocumentedStories().include('**/!(*.internal).story.tsx'),
'no gf-form usage': () =>
regexp(/gf-form/gm, 'gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.')
.include('**/*.{ts,tsx,html}')
.exclude(new RegExp('packages/grafana-ui/src/themes/GlobalStyles')),
};
function countUndocumentedStories() {
return new BettererFileTest(async (filePaths, fileTestResult) => {
await Promise.all(
filePaths.map(async (filePath) => {
// look for .mdx import in the story file
const mdxImportRegex = new RegExp("^import.*\\.mdx';$", 'gm');
// Looks for the "autodocs" string in the file
const autodocsStringRegex = /autodocs/;
const fileText = await fs.readFile(filePath, 'utf8');
const hasMdxImport = mdxImportRegex.test(fileText);
const hasAutodocsString = autodocsStringRegex.test(fileText);
// If both .mdx import and autodocs string are missing, add an issue
if (!hasMdxImport && !hasAutodocsString) {
// In this case the file contents don't matter:
const file = fileTestResult.addFile(filePath, '');
// Add the issue to the first character of the file:
file.addIssue(0, 0, 'No undocumented stories are allowed, please add an .mdx file with some documentation');
}
})
);
});
}
/**
* Generic regexp pattern matcher, similar to @betterer/regexp.
* The only difference is that the positions of the errors are not reported, as this may cause a lot of merge conflicts.
*/
function regexp(pattern: RegExp, issueMessage: string) {
return new BettererFileTest(async (filePaths, fileTestResult) => {
await Promise.all(
filePaths.map(async (filePath) => {
const fileText = await fs.readFile(filePath, 'utf8');
const matches = fileText.match(pattern);
if (matches) {
// File contents doesn't matter, since we're not reporting the position
const file = fileTestResult.addFile(filePath, '');
matches.forEach(() => {
file.addIssue(0, 0, issueMessage);
});
}
})
);
});
}
function countEslintErrors() {
return new BettererFileTest(async (filePaths, fileTestResult) => {
// Just bail early if there's no files to test. Prevents trying to get the base config from failing
if (filePaths.length === 0) {
return;
}
const runner = new ESLint({
overrideConfigFile: './.betterer.eslint.config.js',
warnIgnored: false,
});
const lintResults = await runner.lintFiles(Array.from(filePaths));
lintResults.forEach(({ messages, filePath }) => {
const file = fileTestResult.addFile(filePath, '');
messages
.sort((a, b) => (a.message > b.message ? 1 : -1))
.forEach((message, index) => {
file.addIssue(0, 0, message.message, `${index}`);
});
});
});
}

13
.bingo/.gitignore vendored
View File

@@ -1,13 +0,0 @@
# Ignore everything
*
# But not these files:
!.gitignore
!*.mod
!*.sum
!README.md
!Variables.mk
!variables.env
*tmp.mod

View File

@@ -1,14 +0,0 @@
# Project Development Dependencies.
This is directory which stores Go modules with pinned buildable package that is used within this repository, managed by https://github.com/bwplotka/bingo.
* Run `bingo get` to install all tools having each own module file in this directory.
* Run `bingo get <tool>` to install <tool> that have own module file in this directory.
* For Makefile: Make sure to put `include .bingo/Variables.mk` in your Makefile, then use $(<upper case tool name>) variable where <tool> is the .bingo/<tool>.mod.
* For shell: Run `source .bingo/variables.env` to source all environment variable for each tool.
* For go: Import `.bingo/variables.go` to for variable names.
* See https://github.com/bwplotka/bingo or -h on how to add, remove or change binaries dependencies.
## Requirements
* Go 1.14+

View File

@@ -1,25 +0,0 @@
# Auto generated binary variables helper managed by https://github.com/bwplotka/bingo v0.9. DO NOT EDIT.
# All tools are designed to be build inside $GOBIN.
BINGO_DIR := $(dir $(lastword $(MAKEFILE_LIST)))
GOPATH ?= $(shell go env GOPATH)
GOBIN ?= $(firstword $(subst :, ,${GOPATH}))/bin
GO ?= $(shell which go)
# Below generated variables ensure that every time a tool under each variable is invoked, the correct version
# will be used; reinstalling only if needed.
# For example for drone variable:
#
# In your main Makefile (for non array binaries):
#
#include .bingo/Variables.mk # Assuming -dir was set to .bingo .
#
#command: $(DRONE)
# @echo "Running drone"
# @$(DRONE) <flags/args..>
#
DRONE := $(GOBIN)/drone-v1.5.0
$(DRONE): $(BINGO_DIR)/drone.mod
@# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies.
@echo "(re)installing $(GOBIN)/drone-v1.5.0"
@cd $(BINGO_DIR) && GOWORK=off CGO_ENABLED=0 $(GO) build -mod=mod -modfile=drone.mod -o=$(GOBIN)/drone-v1.5.0 "github.com/drone/drone-cli/drone"

View File

@@ -1,7 +0,0 @@
module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT
go 1.17
replace github.com/docker/docker => github.com/docker/engine v17.12.0-ce-rc1.0.20200309214505-aa6a9891b09c+incompatible
require github.com/drone/drone-cli v1.5.0 // drone CGO_ENABLED=0

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
module _ // Fake go.mod auto-created by 'bingo' for go -moddir compatibility with non-Go projects. Commit this file, together with other .mod files.

View File

@@ -1,12 +0,0 @@
# Auto generated binary variables helper managed by https://github.com/bwplotka/bingo v0.9. DO NOT EDIT.
# All tools are designed to be build inside $GOBIN.
# Those variables will work only until 'bingo get' was invoked, or if tools were installed via Makefile's Variables.mk.
GOBIN=${GOBIN:=$(go env GOBIN)}
if [ -z "$GOBIN" ]; then
GOBIN="$(go env GOPATH)/bin"
fi
DRONE="${GOBIN}/drone-v1.5.0"

View File

@@ -234,7 +234,6 @@ Grunt & Watch tasks:
- binary to `/usr/sbin/grafana-server`
- init.d script improvements, renamed to `/etc/init.d/grafana-server`
- added default file with environment variables,
- `/etc/default/grafana-server` (deb/ubuntu)
- `/etc/sysconfig/grafana-server` (centos/redhat)

41
.citools/README.md Normal file
View File

@@ -0,0 +1,41 @@
## API
### Adding and Upgrading Tools
To add a new tool, execute the installation script:
```bash
install.sh <tool>
```
#### Example
The following command will add `lefthook` to the tracked tools if it is not already installed, or update its version:
```bash
install.sh github.com/evilmartians/lefthook@v1.11.10
```
Behind the scenes, the script performs a few simple steps:
- Creates a Go module under the `.citools/src/<toolname>` directory to track the tool version and its dependencies.
- Creates a reference to the tool binary in the `.citools/Variables.mk` file.
### Using Tools in the Makefile
Our Makefile imports `.citools/Variables.mk`, so you can call a tool binary using standard Make syntax.
#### Example
```make
run:
$(bra) run
```
### Using Tracked Tools Without the Makefile
If you want to use a tool outside of the Makefile, you can locate the tool binary by executing the following command:
```bash
GOWORK=off go tool -n -modfile=<path_to_modfile> <toolname>
```

37
.citools/Variables.mk Normal file
View File

@@ -0,0 +1,37 @@
# Generated tool paths
tools_dir := $(shell cd $(dir $(lastword $(MAKEFILE_LIST))) && pwd)
src_dir := $(tools_dir)/src
# Due to a race condition, after initial call to `go tool` golang may report a wrong binary location pointing to the invalid `/tmp/go-buildXXX` directory
define compile_tool
$(shell \
(cd $(src_dir)/$(1) \
&& GOWORK=off go tool -n $(2) > /dev/null \
&& GOWORK=off go tool -n $(2)) | sed 's/^[[:space:]]*//g'; \
)
endef
# Tool: "air"
air = "$(call compile_tool,air,github.com/air-verse/air)"
# Tool: "bra"
bra = "$(call compile_tool,bra,github.com/unknwon/bra)"
# Tool: "cog"
cog = "$(call compile_tool,cog,github.com/grafana/cog/cmd/cli)"
# Tool: "cue"
cue = "$(call compile_tool,cue,cuelang.org/go/cmd/cue)"
# Tool: "golangci-lint"
golangci-lint = "$(call compile_tool,golangci-lint,github.com/golangci/golangci-lint/v2/cmd/golangci-lint)"
# Tool: "jb"
jb = "$(call compile_tool,jb,github.com/jsonnet-bundler/jsonnet-bundler/cmd/jb)"
# Tool: "lefthook"
lefthook = "$(call compile_tool,lefthook,github.com/evilmartians/lefthook)"
# Tool: "swagger"
swagger = "$(call compile_tool,swagger,github.com/go-swagger/go-swagger/cmd/swagger)"

View File

@@ -1,22 +0,0 @@
module bra
go 1.24.1
tool github.com/unknwon/bra
require (
github.com/BurntSushi/toml v1.4.1-0.20240526193622-a339e1f7089c // indirect
github.com/cpuguy83/go-md2man/v2 v2.0.6 // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/fsnotify/fsnotify v1.8.0 // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
github.com/russross/blackfriday/v2 v2.1.0 // indirect
github.com/smartystreets/goconvey v1.6.4 // indirect
github.com/stretchr/testify v1.10.0 // indirect
github.com/unknwon/bra v0.0.0-20200517080246-1e3013ecaff8 // indirect
github.com/unknwon/com v1.0.1 // indirect
github.com/unknwon/log v0.0.0-20200308114134-929b1006e34a // indirect
github.com/urfave/cli v1.22.16 // indirect
golang.org/x/sys v0.30.0 // indirect
gopkg.in/fsnotify/fsnotify.v1 v1.4.7 // indirect
)

View File

@@ -1,70 +0,0 @@
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/BurntSushi/toml v1.4.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho=
github.com/BurntSushi/toml v1.4.1-0.20240526193622-a339e1f7089c h1:pxW6RcqyfI9/kWtOwnv/G+AzdKuy2ZrqINhenH4HyNs=
github.com/BurntSushi/toml v1.4.1-0.20240526193622-a339e1f7089c/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho=
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
github.com/cpuguy83/go-md2man/v2 v2.0.5/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
github.com/cpuguy83/go-md2man/v2 v2.0.6 h1:XJtiaUW6dEEqVuZiMTn1ldk455QWwEIsMIJlo5vtkx0=
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/8M=
github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
github.com/gopherjs/gopherjs v0.0.0-20181103185306-d547d1d9531e h1:JKmoR8x90Iww1ks85zJ1lfDGgIiMDuIptTOhJq+zKyg=
github.com/gopherjs/gopherjs v0.0.0-20181103185306-d547d1d9531e/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
github.com/jtolds/gls v4.2.1+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo=
github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
github.com/smartystreets/assertions v0.0.0-20190116191733-b6c0e53d7304 h1:Jpy1PXuP99tXNrhbq2BaPz9B+jNAvH1JPQQpG/9GCXY=
github.com/smartystreets/assertions v0.0.0-20190116191733-b6c0e53d7304/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
github.com/smartystreets/goconvey v0.0.0-20181108003508-044398e4856c/go.mod h1:XDJAKZRPZ1CvBcN2aX5YOUTYGHki24fSF0Iv48Ibg0s=
github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s=
github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/unknwon/bra v0.0.0-20200517080246-1e3013ecaff8 h1:aVGB3YnaS/JNfOW3tiHIlmNmTDg618va+eT0mVomgyI=
github.com/unknwon/bra v0.0.0-20200517080246-1e3013ecaff8/go.mod h1:fVle4kNr08ydeohzYafr20oZzbAkhQT39gKK/pFQ5M4=
github.com/unknwon/com v1.0.1 h1:3d1LTxD+Lnf3soQiD4Cp/0BRB+Rsa/+RTvz8GMMzIXs=
github.com/unknwon/com v1.0.1/go.mod h1:tOOxU81rwgoCLoOVVPHb6T/wt8HZygqH5id+GNnlCXM=
github.com/unknwon/log v0.0.0-20150304194804-e617c87089d3/go.mod h1:1xEUf2abjfP92w2GZTV+GgaRxXErwRXcClbUwrNJffU=
github.com/unknwon/log v0.0.0-20200308114134-929b1006e34a h1:vcrhXnj9g9PIE+cmZgaPSwOyJ8MAQTRmsgGrB0x5rF4=
github.com/unknwon/log v0.0.0-20200308114134-929b1006e34a/go.mod h1:1xEUf2abjfP92w2GZTV+GgaRxXErwRXcClbUwrNJffU=
github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
github.com/urfave/cli v1.22.16 h1:MH0k6uJxdwdeWQTwhSO42Pwr4YLrNLwBtg1MRgTqPdQ=
github.com/urfave/cli v1.22.16/go.mod h1:EeJR6BKodywf4zciqrdw6hpCPk68JO9z5LazXZMn5Po=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20191020152052-9984515f0562/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc=
golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/fsnotify/fsnotify.v1 v1.4.7 h1:XNNYLJHt73EyYiCZi6+xjupS9CpvmiDgjPTAjrBlQbo=
gopkg.in/fsnotify/fsnotify.v1 v1.4.7/go.mod h1:Fyux9zXlo4rWoMSIzpn9fDAYjalPqJ/K1qJ27s+7ltE=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
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

@@ -1,50 +0,0 @@
module cog
go 1.24.1
tool github.com/grafana/cog/cmd/cli
require (
cuelabs.dev/go/oci/ociregistry v0.0.0-20240906074133-82eb438dd565 // indirect
cuelang.org/go v0.11.1 // indirect
github.com/cockroachdb/apd/v3 v3.2.1 // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/emicklei/proto v1.13.2 // indirect
github.com/expr-lang/expr v1.17.0 // indirect
github.com/getkin/kin-openapi v0.129.0 // indirect
github.com/go-openapi/jsonpointer v0.21.0 // indirect
github.com/go-openapi/swag v0.23.0 // indirect
github.com/google/go-cmp v0.7.0 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/grafana/codejen v0.0.4-0.20230321061741-77f656893a3d // indirect
github.com/grafana/cog v0.0.27 // indirect
github.com/hashicorp/errwrap v1.1.0 // indirect
github.com/hashicorp/go-multierror v1.1.1 // indirect
github.com/huandu/xstrings v1.5.0 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/josharian/intern v1.0.0 // indirect
github.com/lib/pq v1.10.9 // indirect
github.com/mailru/easyjson v0.7.7 // indirect
github.com/mitchellh/go-wordwrap v1.0.1 // indirect
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 // indirect
github.com/oasdiff/yaml v0.0.0-20241210131133-6b86fb107d80 // indirect
github.com/oasdiff/yaml3 v0.0.0-20241210130736-a94c01f36349 // indirect
github.com/opencontainers/go-digest v1.0.0 // indirect
github.com/opencontainers/image-spec v1.1.0 // indirect
github.com/pelletier/go-toml/v2 v2.2.3 // indirect
github.com/perimeterx/marshmallow v1.1.5 // indirect
github.com/protocolbuffers/txtpbfmt v0.0.0-20241112170944-20d2c9ebc01d // indirect
github.com/rogpeppe/go-internal v1.13.1 // indirect
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 // indirect
github.com/spf13/cobra v1.9.1 // indirect
github.com/spf13/pflag v1.0.6 // indirect
github.com/ugorji/go/codec v1.2.11 // indirect
github.com/yalue/merged_fs v1.3.0 // indirect
golang.org/x/mod v0.23.0 // indirect
golang.org/x/net v0.36.0 // indirect
golang.org/x/oauth2 v0.24.0 // indirect
golang.org/x/sync v0.11.0 // indirect
golang.org/x/text v0.22.0 // indirect
golang.org/x/tools v0.30.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)

View File

@@ -1,106 +0,0 @@
cuelabs.dev/go/oci/ociregistry v0.0.0-20240906074133-82eb438dd565 h1:R5wwEcbEZSBmeyg91MJZTxfd7WpBo2jPof3AYjRbxwY=
cuelabs.dev/go/oci/ociregistry v0.0.0-20240906074133-82eb438dd565/go.mod h1:5A4xfTzHTXfeVJBU6RAUf+QrlfTCW+017q/QiW+sMLg=
cuelang.org/go v0.11.1 h1:pV+49MX1mmvDm8Qh3Za3M786cty8VKPWzQ1Ho4gZRP0=
cuelang.org/go v0.11.1/go.mod h1:PBY6XvPUswPPJ2inpvUozP9mebDVTXaeehQikhZPBz0=
github.com/cockroachdb/apd/v3 v3.2.1 h1:U+8j7t0axsIgvQUqthuNm82HIrYXodOV2iWLWtEaIwg=
github.com/cockroachdb/apd/v3 v3.2.1/go.mod h1:klXJcjp+FffLTHlhIG69tezTDvdP065naDsHzKhYSqc=
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/emicklei/proto v1.13.2 h1:z/etSFO3uyXeuEsVPzfl56WNgzcvIr42aQazXaQmFZY=
github.com/emicklei/proto v1.13.2/go.mod h1:rn1FgRS/FANiZdD2djyH7TMA9jdRDcYQ9IEN9yvjX0A=
github.com/expr-lang/expr v1.17.0 h1:+vpszOyzKLQXC9VF+wA8cVA0tlA984/Wabc/1hF9Whg=
github.com/expr-lang/expr v1.17.0/go.mod h1:8/vRC7+7HBzESEqt5kKpYXxrxkr31SaO8r40VO/1IT4=
github.com/getkin/kin-openapi v0.129.0 h1:QGYTNcmyP5X0AtFQ2Dkou9DGBJsUETeLH9rFrJXZh30=
github.com/getkin/kin-openapi v0.129.0/go.mod h1:gmWI+b/J45xqpyK5wJmRRZse5wefA5H0RDMK46kLUtI=
github.com/go-openapi/jsonpointer v0.21.0 h1:YgdVicSA9vH5RiHs9TZW5oyafXZFc6+2Vc1rr/O9oNQ=
github.com/go-openapi/jsonpointer v0.21.0/go.mod h1:IUyH9l/+uyhIYQ/PXVA41Rexl+kOkAPDdXEYns6fzUY=
github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+GrE=
github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ=
github.com/go-quicktest/qt v1.101.0 h1:O1K29Txy5P2OK0dGo59b7b0LR6wKfIhttaAhHUyn7eI=
github.com/go-quicktest/qt v1.101.0/go.mod h1:14Bz/f7NwaXPtdYEgzsx46kqSxVwTbzVZsDC26tQJow=
github.com/go-test/deep v1.0.8 h1:TDsG77qcSprGbC6vTN8OuXp5g+J+b5Pcguhf7Zt61VM=
github.com/go-test/deep v1.0.8/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/grafana/codejen v0.0.4-0.20230321061741-77f656893a3d h1:hrXbGJ5jgp6yNITzs5o+zXq0V5yT3siNJ+uM8LGwWKk=
github.com/grafana/codejen v0.0.4-0.20230321061741-77f656893a3d/go.mod h1:zmwwM/DRyQB7pfuBjTWII3CWtxcXh8LTwAYGfDfpR6s=
github.com/grafana/cog v0.0.27 h1:ZKipAtp6KuB08R16nZbqEjnje3e2r1O1bzOp1CetDEo=
github.com/grafana/cog v0.0.27/go.mod h1:JB5lhdn4Hqc0ztYCaNOTKZXoojzJvydBxMkMCGWS6+Q=
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I=
github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo=
github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM=
github.com/huandu/xstrings v1.5.0 h1:2ag3IFq9ZDANvthTwTiqSSZLjDc+BedvHPAp5tJy2TI=
github.com/huandu/xstrings v1.5.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
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.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw=
github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0=
github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0=
github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0=
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 h1:RWengNIwukTxcDr9M+97sNutRR1RKhG96O6jWumTTnw=
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8=
github.com/oasdiff/yaml v0.0.0-20241210131133-6b86fb107d80 h1:nZspmSkneBbtxU9TopEAE0CY+SBJLxO8LPUlw2vG4pU=
github.com/oasdiff/yaml v0.0.0-20241210131133-6b86fb107d80/go.mod h1:7tFDb+Y51LcDpn26GccuUgQXUk6t0CXZsivKjyimYX8=
github.com/oasdiff/yaml3 v0.0.0-20241210130736-a94c01f36349 h1:t05Ww3DxZutOqbMN+7OIuqDwXbhl32HiZGpLy26BAPc=
github.com/oasdiff/yaml3 v0.0.0-20241210130736-a94c01f36349/go.mod h1:y5+oSEHCPT/DGrS++Wc/479ERge0zTFxaF8PbGKcg2o=
github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
github.com/opencontainers/image-spec v1.1.0 h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQb2IpWsCzug=
github.com/opencontainers/image-spec v1.1.0/go.mod h1:W4s4sFTMaBeK1BQLXbG4AdM2szdn85PY75RI83NrTrM=
github.com/pelletier/go-toml/v2 v2.2.3 h1:YmeHyLY8mFWbdkNWwpr+qIL2bEqT0o95WSdkNHvL12M=
github.com/pelletier/go-toml/v2 v2.2.3/go.mod h1:MfCQTFTvCcUyyvvwm1+G6H/jORL20Xlb6rzQu9GuUkc=
github.com/perimeterx/marshmallow v1.1.5 h1:a2LALqQ1BlHM8PZblsDdidgv1mWi1DgC2UmX50IvK2s=
github.com/perimeterx/marshmallow v1.1.5/go.mod h1:dsXbUu8CRzfYP5a87xpp0xq9S3u0Vchtcl8we9tYaXw=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/protocolbuffers/txtpbfmt v0.0.0-20241112170944-20d2c9ebc01d h1:HWfigq7lB31IeJL8iy7jkUmU/PG1Sr8jVGhS749dbUA=
github.com/protocolbuffers/txtpbfmt v0.0.0-20241112170944-20d2c9ebc01d/go.mod h1:jgxiZysxFPM+iWKwQwPR+y+Jvo54ARd4EisXxKYpB5c=
github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII=
github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 h1:lZUw3E0/J3roVtGQ+SCrUrg3ON6NgVqpn3+iol9aGu4=
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1/go.mod h1:uToXkOrWAZ6/Oc07xWQrPOhJotwFIyu2bBVN41fcDUY=
github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo=
github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0=
github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/ugorji/go/codec v1.2.11 h1:BMaWp1Bb6fHwEtbplGBGJ498wD+LKlNSl25MjdZY4dU=
github.com/ugorji/go/codec v1.2.11/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg=
github.com/yalue/merged_fs v1.3.0 h1:qCeh9tMPNy/i8cwDsQTJ5bLr6IRxbs6meakNE5O+wyY=
github.com/yalue/merged_fs v1.3.0/go.mod h1:WqqchfVYQyclV2tnR7wtRhBddzBvLVR83Cjw9BKQw0M=
golang.org/x/mod v0.23.0 h1:Zb7khfcRGKk+kqfxFaP5tZqCnDZMjC5VtUBs87Hr6QM=
golang.org/x/mod v0.23.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY=
golang.org/x/net v0.36.0 h1:vWF2fRbw4qslQsQzgFqZff+BItCvGFQqKzKIzx1rmoA=
golang.org/x/net v0.36.0/go.mod h1:bFmbeoIPfrw4sMHNhb4J9f6+tPziuGjq7Jk/38fxi1I=
golang.org/x/oauth2 v0.24.0 h1:KTBBxWqUa0ykRPLtV69rRto9TLXcqYkeswu48x/gvNE=
golang.org/x/oauth2 v0.24.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
golang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w=
golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc=
golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM=
golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY=
golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY=
golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
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

@@ -1,37 +0,0 @@
module cue
go 1.24.1
tool cuelang.org/go/cmd/cue
require (
cuelabs.dev/go/oci/ociregistry v0.0.0-20240906074133-82eb438dd565 // indirect
cuelang.org/go v0.11.1 // indirect
github.com/cockroachdb/apd/v3 v3.2.1 // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/emicklei/proto v1.13.2 // indirect
github.com/google/go-cmp v0.7.0 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/lib/pq v1.10.9 // indirect
github.com/mitchellh/go-wordwrap v1.0.1 // indirect
github.com/opencontainers/go-digest v1.0.0 // indirect
github.com/opencontainers/image-spec v1.1.0 // indirect
github.com/pelletier/go-toml/v2 v2.2.3 // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
github.com/protocolbuffers/txtpbfmt v0.0.0-20241112170944-20d2c9ebc01d // indirect
github.com/rogpeppe/go-internal v1.13.1 // indirect
github.com/spf13/cobra v1.9.1 // indirect
github.com/spf13/pflag v1.0.6 // indirect
github.com/stretchr/testify v1.10.0 // indirect
github.com/tetratelabs/wazero v1.6.0 // indirect
golang.org/x/mod v0.23.0 // indirect
golang.org/x/net v0.36.0 // indirect
golang.org/x/oauth2 v0.24.0 // indirect
golang.org/x/sync v0.11.0 // indirect
golang.org/x/sys v0.30.0 // indirect
golang.org/x/text v0.22.0 // indirect
golang.org/x/tools v0.30.0 // indirect
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)

View File

@@ -1,74 +0,0 @@
cuelabs.dev/go/oci/ociregistry v0.0.0-20240906074133-82eb438dd565 h1:R5wwEcbEZSBmeyg91MJZTxfd7WpBo2jPof3AYjRbxwY=
cuelabs.dev/go/oci/ociregistry v0.0.0-20240906074133-82eb438dd565/go.mod h1:5A4xfTzHTXfeVJBU6RAUf+QrlfTCW+017q/QiW+sMLg=
cuelang.org/go v0.11.1 h1:pV+49MX1mmvDm8Qh3Za3M786cty8VKPWzQ1Ho4gZRP0=
cuelang.org/go v0.11.1/go.mod h1:PBY6XvPUswPPJ2inpvUozP9mebDVTXaeehQikhZPBz0=
github.com/cockroachdb/apd/v3 v3.2.1 h1:U+8j7t0axsIgvQUqthuNm82HIrYXodOV2iWLWtEaIwg=
github.com/cockroachdb/apd/v3 v3.2.1/go.mod h1:klXJcjp+FffLTHlhIG69tezTDvdP065naDsHzKhYSqc=
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/emicklei/proto v1.13.2 h1:z/etSFO3uyXeuEsVPzfl56WNgzcvIr42aQazXaQmFZY=
github.com/emicklei/proto v1.13.2/go.mod h1:rn1FgRS/FANiZdD2djyH7TMA9jdRDcYQ9IEN9yvjX0A=
github.com/go-quicktest/qt v1.101.0 h1:O1K29Txy5P2OK0dGo59b7b0LR6wKfIhttaAhHUyn7eI=
github.com/go-quicktest/qt v1.101.0/go.mod h1:14Bz/f7NwaXPtdYEgzsx46kqSxVwTbzVZsDC26tQJow=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4=
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw=
github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0=
github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0=
github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
github.com/opencontainers/image-spec v1.1.0 h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQb2IpWsCzug=
github.com/opencontainers/image-spec v1.1.0/go.mod h1:W4s4sFTMaBeK1BQLXbG4AdM2szdn85PY75RI83NrTrM=
github.com/pelletier/go-toml/v2 v2.2.3 h1:YmeHyLY8mFWbdkNWwpr+qIL2bEqT0o95WSdkNHvL12M=
github.com/pelletier/go-toml/v2 v2.2.3/go.mod h1:MfCQTFTvCcUyyvvwm1+G6H/jORL20Xlb6rzQu9GuUkc=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/protocolbuffers/txtpbfmt v0.0.0-20241112170944-20d2c9ebc01d h1:HWfigq7lB31IeJL8iy7jkUmU/PG1Sr8jVGhS749dbUA=
github.com/protocolbuffers/txtpbfmt v0.0.0-20241112170944-20d2c9ebc01d/go.mod h1:jgxiZysxFPM+iWKwQwPR+y+Jvo54ARd4EisXxKYpB5c=
github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII=
github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo=
github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0=
github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/tetratelabs/wazero v1.6.0 h1:z0H1iikCdP8t+q341xqepY4EWvHEw8Es7tlqiVzlP3g=
github.com/tetratelabs/wazero v1.6.0/go.mod h1:0U0G41+ochRKoPKCJlh0jMg1CHkyfK8kDqiirMmKY8A=
golang.org/x/mod v0.23.0 h1:Zb7khfcRGKk+kqfxFaP5tZqCnDZMjC5VtUBs87Hr6QM=
golang.org/x/mod v0.23.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY=
golang.org/x/net v0.36.0 h1:vWF2fRbw4qslQsQzgFqZff+BItCvGFQqKzKIzx1rmoA=
golang.org/x/net v0.36.0/go.mod h1:bFmbeoIPfrw4sMHNhb4J9f6+tPziuGjq7Jk/38fxi1I=
golang.org/x/oauth2 v0.24.0 h1:KTBBxWqUa0ykRPLtV69rRto9TLXcqYkeswu48x/gvNE=
golang.org/x/oauth2 v0.24.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
golang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w=
golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc=
golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM=
golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY=
golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY=
golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

36
.citools/generate.sh Executable file
View File

@@ -0,0 +1,36 @@
#!/bin/bash
set -euo pipefail
TOOLS_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
TOOLS_SRC_DIR="$TOOLS_DIR/src"
TOOLS_MK="$TOOLS_DIR/Variables.mk"
echo "# Generated tool paths" > "$TOOLS_MK"
cat <<'EOL' >> "$TOOLS_MK"
tools_dir := $(shell cd $(dir $(lastword $(MAKEFILE_LIST))) && pwd)
src_dir := $(tools_dir)/src
# Due to a race condition, after initial call to `go tool` golang may report a wrong binary location pointing to the invalid `/tmp/go-buildXXX` directory
define compile_tool
$(shell \
(cd $(src_dir)/$(1) \
&& GOWORK=off go tool -n $(2) > /dev/null \
&& GOWORK=off go tool -n $(2)) | sed 's/^[[:space:]]*//g'; \
)
endef
EOL
for tooldir in "$TOOLS_SRC_DIR"/*; do
[ -d "$tooldir" ] || continue
tool=$(basename "$tooldir")
fqtn=$(awk '/^tool / { print $2 }' "$tooldir/go.mod")
cat <<EOL >> "$TOOLS_MK"
# Tool: "$tool"
${tool} = "\$(call compile_tool,${tool},${fqtn})"
EOL
done

View File

@@ -1,195 +0,0 @@
module golangci-lint
go 1.24.1
tool github.com/golangci/golangci-lint/cmd/golangci-lint
require (
4d63.com/gocheckcompilerdirectives v1.2.1 // indirect
4d63.com/gochecknoglobals v0.2.1 // indirect
github.com/4meepo/tagalign v1.3.4 // indirect
github.com/Abirdcfly/dupword v0.1.3 // indirect
github.com/Antonboom/errname v1.0.0 // indirect
github.com/Antonboom/nilnil v1.0.0 // indirect
github.com/Antonboom/testifylint v1.5.0 // indirect
github.com/BurntSushi/toml v1.4.1-0.20240526193622-a339e1f7089c // indirect
github.com/Crocmagnon/fatcontext v0.5.2 // indirect
github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 // indirect
github.com/GaijinEntertainment/go-exhaustruct/v3 v3.3.0 // indirect
github.com/Masterminds/semver/v3 v3.3.0 // indirect
github.com/OpenPeeDeeP/depguard/v2 v2.2.0 // indirect
github.com/alecthomas/go-check-sumtype v0.2.0 // indirect
github.com/alexkohler/nakedret/v2 v2.0.5 // indirect
github.com/alexkohler/prealloc v1.0.0 // indirect
github.com/alingse/asasalint v0.0.11 // indirect
github.com/ashanbrown/forbidigo v1.6.0 // indirect
github.com/ashanbrown/makezero v1.1.1 // indirect
github.com/beorn7/perks v1.0.1 // indirect
github.com/bkielbasa/cyclop v1.2.3 // indirect
github.com/blizzy78/varnamelen v0.8.0 // indirect
github.com/bombsimon/wsl/v4 v4.4.1 // indirect
github.com/breml/bidichk v0.3.2 // indirect
github.com/breml/errchkjson v0.4.0 // indirect
github.com/butuzov/ireturn v0.3.0 // indirect
github.com/butuzov/mirror v1.2.0 // indirect
github.com/catenacyber/perfsprint v0.7.1 // indirect
github.com/ccojocar/zxcvbn-go v1.0.2 // indirect
github.com/cespare/xxhash/v2 v2.3.0 // indirect
github.com/charithe/durationcheck v0.0.10 // indirect
github.com/chavacava/garif v0.1.0 // indirect
github.com/ckaznocha/intrange v0.2.1 // indirect
github.com/curioswitch/go-reassign v0.2.0 // indirect
github.com/daixiang0/gci v0.13.5 // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/denis-tingaikin/go-header v0.5.0 // indirect
github.com/ettle/strcase v0.2.0 // indirect
github.com/fatih/color v1.18.0 // indirect
github.com/fatih/structtag v1.2.0 // indirect
github.com/firefart/nonamedreturns v1.0.5 // indirect
github.com/fsnotify/fsnotify v1.8.0 // indirect
github.com/fzipp/gocyclo v0.6.0 // indirect
github.com/ghostiam/protogetter v0.3.8 // indirect
github.com/go-critic/go-critic v0.11.5 // indirect
github.com/go-toolsmith/astcast v1.1.0 // indirect
github.com/go-toolsmith/astcopy v1.1.0 // indirect
github.com/go-toolsmith/astequal v1.2.0 // indirect
github.com/go-toolsmith/astfmt v1.1.0 // indirect
github.com/go-toolsmith/astp v1.1.0 // indirect
github.com/go-toolsmith/strparse v1.1.0 // indirect
github.com/go-toolsmith/typep v1.1.0 // indirect
github.com/go-viper/mapstructure/v2 v2.2.1 // indirect
github.com/go-xmlfmt/xmlfmt v1.1.2 // indirect
github.com/gobwas/glob v0.2.3 // indirect
github.com/gofrs/flock v0.12.1 // indirect
github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a // indirect
github.com/golangci/go-printf-func-name v0.1.0 // indirect
github.com/golangci/gofmt v0.0.0-20240816233607-d8596aa466a9 // indirect
github.com/golangci/golangci-lint v1.62.0 // indirect
github.com/golangci/misspell v0.6.0 // indirect
github.com/golangci/modinfo v0.3.4 // indirect
github.com/golangci/plugin-module-register v0.1.1 // indirect
github.com/golangci/revgrep v0.5.3 // indirect
github.com/golangci/unconvert v0.0.0-20240309020433-c5143eacb3ed // indirect
github.com/google/go-cmp v0.7.0 // indirect
github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad // indirect
github.com/gordonklaus/ineffassign v0.1.0 // indirect
github.com/gostaticanalysis/analysisutil v0.7.1 // indirect
github.com/gostaticanalysis/comment v1.4.2 // indirect
github.com/gostaticanalysis/forcetypeassert v0.1.0 // indirect
github.com/gostaticanalysis/nilerr v0.1.1 // indirect
github.com/hashicorp/go-version v1.7.0 // indirect
github.com/hashicorp/hcl v1.0.0 // indirect
github.com/hexops/gotextdiff v1.0.3 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/jgautheron/goconst v1.7.1 // indirect
github.com/jingyugao/rowserrcheck v1.1.1 // indirect
github.com/jjti/go-spancheck v0.6.2 // indirect
github.com/julz/importas v0.1.0 // indirect
github.com/karamaru-alpha/copyloopvar v1.1.0 // indirect
github.com/kisielk/errcheck v1.8.0 // indirect
github.com/kkHAIKE/contextcheck v1.1.5 // indirect
github.com/kulti/thelper v0.6.3 // indirect
github.com/kunwardeep/paralleltest v1.0.10 // indirect
github.com/kyoh86/exportloopref v0.1.11 // indirect
github.com/lasiar/canonicalheader v1.1.2 // indirect
github.com/ldez/gomoddirectives v0.2.4 // indirect
github.com/ldez/tagliatelle v0.5.0 // indirect
github.com/leonklingele/grouper v1.1.2 // indirect
github.com/macabu/inamedparam v0.1.3 // indirect
github.com/magiconair/properties v1.8.7 // indirect
github.com/maratori/testableexamples v1.0.0 // indirect
github.com/maratori/testpackage v1.1.1 // indirect
github.com/matoous/godox v0.0.0-20230222163458-006bad1f9d26 // indirect
github.com/matryer/is v1.4.1 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
github.com/mattn/go-runewidth v0.0.16 // indirect
github.com/mgechev/revive v1.5.0 // indirect
github.com/mitchellh/go-homedir v1.1.0 // indirect
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c // indirect
github.com/moricho/tparallel v0.3.2 // indirect
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
github.com/nakabonne/nestif v0.3.1 // indirect
github.com/nishanths/exhaustive v0.12.0 // indirect
github.com/nishanths/predeclared v0.2.2 // indirect
github.com/nunnatsa/ginkgolinter v0.18.0 // indirect
github.com/olekukonko/tablewriter v0.0.5 // indirect
github.com/onsi/ginkgo/v2 v2.22.0 // indirect
github.com/onsi/gomega v1.36.1 // indirect
github.com/pelletier/go-toml/v2 v2.2.3 // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
github.com/polyfloyd/go-errorlint v1.6.0 // indirect
github.com/prometheus/client_golang v1.21.0 // indirect
github.com/prometheus/client_model v0.6.1 // indirect
github.com/prometheus/common v0.62.0 // indirect
github.com/prometheus/procfs v0.15.1 // indirect
github.com/quasilyte/go-ruleguard v0.4.3-0.20240823090925-0fe6f58b47b1 // indirect
github.com/quasilyte/go-ruleguard/dsl v0.3.22 // indirect
github.com/quasilyte/gogrep v0.5.0 // indirect
github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727 // indirect
github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 // indirect
github.com/raeperd/recvcheck v0.1.2 // indirect
github.com/rivo/uniseg v0.4.7 // indirect
github.com/rogpeppe/go-internal v1.13.1 // indirect
github.com/ryancurrah/gomodguard v1.3.5 // indirect
github.com/ryanrolds/sqlclosecheck v0.5.1 // indirect
github.com/sagikazarmark/locafero v0.4.0 // indirect
github.com/sagikazarmark/slog-shim v0.1.0 // indirect
github.com/sanposhiho/wastedassign/v2 v2.0.7 // indirect
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 // indirect
github.com/sashamelentyev/interfacebloat v1.1.0 // indirect
github.com/sashamelentyev/usestdlibvars v1.27.0 // indirect
github.com/securego/gosec/v2 v2.21.4 // indirect
github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c // indirect
github.com/sirupsen/logrus v1.9.3 // indirect
github.com/sivchari/containedctx v1.0.3 // indirect
github.com/sivchari/tenv v1.12.1 // indirect
github.com/sonatard/noctx v0.1.0 // indirect
github.com/sourcegraph/conc v0.3.0 // indirect
github.com/sourcegraph/go-diff v0.7.0 // indirect
github.com/spf13/afero v1.11.0 // indirect
github.com/spf13/cast v1.7.0 // indirect
github.com/spf13/cobra v1.9.1 // indirect
github.com/spf13/pflag v1.0.6 // indirect
github.com/spf13/viper v1.19.0 // indirect
github.com/ssgreg/nlreturn/v2 v2.2.1 // indirect
github.com/stbenjam/no-sprintf-host-port v0.1.1 // indirect
github.com/stretchr/objx v0.5.2 // indirect
github.com/stretchr/testify v1.10.0 // indirect
github.com/subosito/gotenv v1.6.0 // indirect
github.com/tdakkota/asciicheck v0.2.0 // indirect
github.com/tetafro/godot v1.4.18 // indirect
github.com/timakin/bodyclose v0.0.0-20230421092635-574207250966 // indirect
github.com/timonwong/loggercheck v0.10.1 // indirect
github.com/tomarrell/wrapcheck/v2 v2.9.0 // indirect
github.com/tommy-muehle/go-mnd/v2 v2.5.1 // indirect
github.com/ultraware/funlen v0.1.0 // indirect
github.com/ultraware/whitespace v0.1.1 // indirect
github.com/uudashr/gocognit v1.1.3 // indirect
github.com/uudashr/iface v1.2.0 // indirect
github.com/xen0n/gosmopolitan v1.2.2 // indirect
github.com/yagipy/maintidx v1.0.0 // indirect
github.com/yeya24/promlinter v0.3.0 // indirect
github.com/ykadowak/zerologlint v0.1.5 // indirect
gitlab.com/bosi/decorder v0.4.2 // indirect
go-simpler.org/musttag v0.13.0 // indirect
go-simpler.org/sloglint v0.7.2 // indirect
go.uber.org/automaxprocs v1.6.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
go.uber.org/zap v1.27.0 // indirect
golang.org/x/exp v0.0.0-20240909161429-701f63a606c0 // indirect
golang.org/x/exp/typeparams v0.0.0-20240909161429-701f63a606c0 // indirect
golang.org/x/mod v0.23.0 // indirect
golang.org/x/net v0.36.0 // indirect
golang.org/x/sync v0.11.0 // indirect
golang.org/x/sys v0.30.0 // indirect
golang.org/x/text v0.22.0 // indirect
golang.org/x/tools v0.30.0 // indirect
google.golang.org/protobuf v1.36.5 // indirect
gopkg.in/ini.v1 v1.67.0 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
honnef.co/go/tools v0.5.1 // indirect
mvdan.cc/gofumpt v0.7.0 // indirect
mvdan.cc/unparam v0.0.0-20240528143540-8a5130ca722f // indirect
)

View File

@@ -1,556 +0,0 @@
4d63.com/gocheckcompilerdirectives v1.2.1 h1:AHcMYuw56NPjq/2y615IGg2kYkBdTvOaojYCBcRE7MA=
4d63.com/gocheckcompilerdirectives v1.2.1/go.mod h1:yjDJSxmDTtIHHCqX0ufRYZDL6vQtMG7tJdKVeWwsqvs=
4d63.com/gochecknoglobals v0.2.1 h1:1eiorGsgHOFOuoOiJDy2psSrQbRdIHrlge0IJIkUgDc=
4d63.com/gochecknoglobals v0.2.1/go.mod h1:KRE8wtJB3CXCsb1xy421JfTHIIbmT3U5ruxw2Qu8fSU=
github.com/4meepo/tagalign v1.3.4 h1:P51VcvBnf04YkHzjfclN6BbsopfJR5rxs1n+5zHt+w8=
github.com/4meepo/tagalign v1.3.4/go.mod h1:M+pnkHH2vG8+qhE5bVc/zeP7HS/j910Fwa9TUSyZVI0=
github.com/Abirdcfly/dupword v0.1.3 h1:9Pa1NuAsZvpFPi9Pqkd93I7LIYRURj+A//dFd5tgBeE=
github.com/Abirdcfly/dupword v0.1.3/go.mod h1:8VbB2t7e10KRNdwTVoxdBaxla6avbhGzb8sCTygUMhw=
github.com/Antonboom/errname v1.0.0 h1:oJOOWR07vS1kRusl6YRSlat7HFnb3mSfMl6sDMRoTBA=
github.com/Antonboom/errname v1.0.0/go.mod h1:gMOBFzK/vrTiXN9Oh+HFs+e6Ndl0eTFbtsRTSRdXyGI=
github.com/Antonboom/nilnil v1.0.0 h1:n+v+B12dsE5tbAqRODXmEKfZv9j2KcTBrp+LkoM4HZk=
github.com/Antonboom/nilnil v1.0.0/go.mod h1:fDJ1FSFoLN6yoG65ANb1WihItf6qt9PJVTn/s2IrcII=
github.com/Antonboom/testifylint v1.5.0 h1:dlUIsDMtCrZWUnvkaCz3quJCoIjaGi41GzjPBGkkJ8A=
github.com/Antonboom/testifylint v1.5.0/go.mod h1:wqaJbu0Blb5Wag2wv7Z5xt+CIV+eVLxtGZrlK13z3AE=
github.com/BurntSushi/toml v1.4.1-0.20240526193622-a339e1f7089c h1:pxW6RcqyfI9/kWtOwnv/G+AzdKuy2ZrqINhenH4HyNs=
github.com/BurntSushi/toml v1.4.1-0.20240526193622-a339e1f7089c/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho=
github.com/Crocmagnon/fatcontext v0.5.2 h1:vhSEg8Gqng8awhPju2w7MKHqMlg4/NI+gSDHtR3xgwA=
github.com/Crocmagnon/fatcontext v0.5.2/go.mod h1:87XhRMaInHP44Q7Tlc7jkgKKB7kZAOPiDkFMdKCC+74=
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=
github.com/GaijinEntertainment/go-exhaustruct/v3 v3.3.0 h1:/fTUt5vmbkAcMBt4YQiuC23cV0kEsN1MVMNqeOW43cU=
github.com/GaijinEntertainment/go-exhaustruct/v3 v3.3.0/go.mod h1:ONJg5sxcbsdQQ4pOW8TGdTidT2TMAUy/2Xhr8mrYaao=
github.com/Masterminds/semver/v3 v3.3.0 h1:B8LGeaivUe71a5qox1ICM/JLl0NqZSW5CHyL+hmvYS0=
github.com/Masterminds/semver/v3 v3.3.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM=
github.com/OpenPeeDeeP/depguard/v2 v2.2.0 h1:vDfG60vDtIuf0MEOhmLlLLSzqaRM8EMcgJPdp74zmpA=
github.com/OpenPeeDeeP/depguard/v2 v2.2.0/go.mod h1:CIzddKRvLBC4Au5aYP/i3nyaWQ+ClszLIuVocRiCYFQ=
github.com/alecthomas/assert/v2 v2.2.2 h1:Z/iVC0xZfWTaFNE6bA3z07T86hd45Xe2eLt6WVy2bbk=
github.com/alecthomas/assert/v2 v2.2.2/go.mod h1:pXcQ2Asjp247dahGEmsZ6ru0UVwnkhktn7S0bBDLxvQ=
github.com/alecthomas/go-check-sumtype v0.2.0 h1:Bo+e4DFf3rs7ME9w/0SU/g6nmzJaphduP8Cjiz0gbwY=
github.com/alecthomas/go-check-sumtype v0.2.0/go.mod h1:WyYPfhfkdhyrdaligV6svFopZV8Lqdzn5pyVBaV6jhQ=
github.com/alecthomas/repr v0.2.0 h1:HAzS41CIzNW5syS8Mf9UwXhNH1J9aix/BvDRf1Ml2Yk=
github.com/alecthomas/repr v0.2.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4=
github.com/alexkohler/nakedret/v2 v2.0.5 h1:fP5qLgtwbx9EJE8dGEERT02YwS8En4r9nnZ71RK+EVU=
github.com/alexkohler/nakedret/v2 v2.0.5/go.mod h1:bF5i0zF2Wo2o4X4USt9ntUWve6JbFv02Ff4vlkmS/VU=
github.com/alexkohler/prealloc v1.0.0 h1:Hbq0/3fJPQhNkN0dR95AVrr6R7tou91y0uHG5pOcUuw=
github.com/alexkohler/prealloc v1.0.0/go.mod h1:VetnK3dIgFBBKmg0YnD9F9x6Icjd+9cvfHR56wJVlKE=
github.com/alingse/asasalint v0.0.11 h1:SFwnQXJ49Kx/1GghOFz1XGqHYKp21Kq1nHad/0WQRnw=
github.com/alingse/asasalint v0.0.11/go.mod h1:nCaoMhw7a9kSJObvQyVzNTPBDbNpdocqrSP7t/cW5+I=
github.com/ashanbrown/forbidigo v1.6.0 h1:D3aewfM37Yb3pxHujIPSpTf6oQk9sc9WZi8gerOIVIY=
github.com/ashanbrown/forbidigo v1.6.0/go.mod h1:Y8j9jy9ZYAEHXdu723cUlraTqbzjKF1MUyfOKL+AjcU=
github.com/ashanbrown/makezero v1.1.1 h1:iCQ87C0V0vSyO+M9E/FZYbu65auqH0lnsOkf5FcB28s=
github.com/ashanbrown/makezero v1.1.1/go.mod h1:i1bJLCRSCHOcOa9Y6MyF2FTfMZMFdHvxKHxgO5Z1axI=
github.com/beorn7/perks 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.3 h1:faIVMIGDIANuGPWH031CZJTi2ymOQBULs9H21HSMa5w=
github.com/bkielbasa/cyclop v1.2.3/go.mod h1:kHTwA9Q0uZqOADdupvcFJQtp/ksSnytRMe8ztxG8Fuo=
github.com/blizzy78/varnamelen v0.8.0 h1:oqSblyuQvFsW1hbBHh1zfwrKe3kcSj0rnXkKzsQ089M=
github.com/blizzy78/varnamelen v0.8.0/go.mod h1:V9TzQZ4fLJ1DSrjVDfl89H7aMnTvKkApdHeyESmyR7k=
github.com/bombsimon/wsl/v4 v4.4.1 h1:jfUaCkN+aUpobrMO24zwyAMwMAV5eSziCkOKEauOLdw=
github.com/bombsimon/wsl/v4 v4.4.1/go.mod h1:Xu/kDxGZTofQcDGCtQe9KCzhHphIe0fDuyWTxER9Feo=
github.com/breml/bidichk v0.3.2 h1:xV4flJ9V5xWTqxL+/PMFF6dtJPvZLPsyixAoPe8BGJs=
github.com/breml/bidichk v0.3.2/go.mod h1:VzFLBxuYtT23z5+iVkamXO386OB+/sVwZOpIj6zXGos=
github.com/breml/errchkjson v0.4.0 h1:gftf6uWZMtIa/Is3XJgibewBm2ksAQSY/kABDNFTAdk=
github.com/breml/errchkjson v0.4.0/go.mod h1:AuBOSTHyLSaaAFlWsRSuRBIroCh3eh7ZHh5YeelDIk8=
github.com/butuzov/ireturn v0.3.0 h1:hTjMqWw3y5JC3kpnC5vXmFJAWI/m31jaCYQqzkS6PL0=
github.com/butuzov/ireturn v0.3.0/go.mod h1:A09nIiwiqzN/IoVo9ogpa0Hzi9fex1kd9PSD6edP5ZA=
github.com/butuzov/mirror v1.2.0 h1:9YVK1qIjNspaqWutSv8gsge2e/Xpq1eqEkslEUHy5cs=
github.com/butuzov/mirror v1.2.0/go.mod h1:DqZZDtzm42wIAIyHXeN8W/qb1EPlb9Qn/if9icBOpdQ=
github.com/catenacyber/perfsprint v0.7.1 h1:PGW5G/Kxn+YrN04cRAZKC+ZuvlVwolYMrIyyTJ/rMmc=
github.com/catenacyber/perfsprint v0.7.1/go.mod h1:/wclWYompEyjUD2FuIIDVKNkqz7IgBIWXIH3V0Zol50=
github.com/ccojocar/zxcvbn-go v1.0.2 h1:na/czXU8RrhXO4EZme6eQJLR4PzcGsahsBOAwU6I3Vg=
github.com/ccojocar/zxcvbn-go v1.0.2/go.mod h1:g1qkXtUSvHP8lhHp5GrSmTz6uWALGRMQdw6Qnz/hi60=
github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
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.1.0 h1:2JHa3hbYf5D9dsgseMKAmc/MZ109otzgNFk5s87H9Pc=
github.com/chavacava/garif v0.1.0/go.mod h1:XMyYCkEL58DF0oyW4qDjjnPWONs2HBqYKI+UIPD+Gww=
github.com/ckaznocha/intrange v0.2.1 h1:M07spnNEQoALOJhwrImSrJLaxwuiQK+hA2DeajBlwYk=
github.com/ckaznocha/intrange v0.2.1/go.mod h1:7NEhVyf8fzZO5Ds7CRaqPEm52Ut83hsTiL5zbER/HYk=
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
github.com/curioswitch/go-reassign v0.2.0 h1:G9UZyOcpk/d7Gd6mqYgd8XYWFMw/znxwGDUstnC9DIo=
github.com/curioswitch/go-reassign v0.2.0/go.mod h1:x6OpXuWvgfQaMGks2BZybTngWjT84hqJfKoO8Tt/Roc=
github.com/daixiang0/gci v0.13.5 h1:kThgmH1yBmZSBCh1EJVxQ7JsHpm5Oms0AMed/0LaH4c=
github.com/daixiang0/gci v0.13.5/go.mod h1:12etP2OniiIdP4q+kjUGrC/rUagga7ODbqsom5Eo5Yk=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/denis-tingaikin/go-header v0.5.0 h1:SRdnP5ZKvcO9KKRP1KJrhFR3RrlGuD+42t4429eC9k8=
github.com/denis-tingaikin/go-header v0.5.0/go.mod h1:mMenU5bWrok6Wl2UsZjy+1okegmwQ3UgWl4V1D8gjlY=
github.com/ettle/strcase v0.2.0 h1:fGNiVF21fHXpX1niBgk0aROov1LagYsOwV/xqKDKR/Q=
github.com/ettle/strcase v0.2.0/go.mod h1:DajmHElDSaX76ITe3/VHVyMin4LWSJN5Z909Wp+ED1A=
github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM=
github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU=
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.5 h1:tM+Me2ZaXs8tfdDw3X6DOX++wMCOqzYUho6tUTYIdRA=
github.com/firefart/nonamedreturns v1.0.5/go.mod h1:gHJjDqhGM4WyPt639SOZs+G89Ko7QKH5R5BhnO6xJhw=
github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/8M=
github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=
github.com/fzipp/gocyclo v0.6.0 h1:lsblElZG7d3ALtGMx9fmxeTKZaLLpU8mET09yN4BBLo=
github.com/fzipp/gocyclo v0.6.0/go.mod h1:rXPyn8fnlpa0R2csP/31uerbiVBugk5whMdlyaLkLoA=
github.com/ghostiam/protogetter v0.3.8 h1:LYcXbYvybUyTIxN2Mj9h6rHrDZBDwZloPoKctWrFyJY=
github.com/ghostiam/protogetter v0.3.8/go.mod h1:WZ0nw9pfzsgxuRsPOFQomgDVSWtDLJRfQJEhsGbmQMA=
github.com/go-critic/go-critic v0.11.5 h1:TkDTOn5v7EEngMxu8KbuFqFR43USaaH8XRJLz1jhVYA=
github.com/go-critic/go-critic v0.11.5/go.mod h1:wu6U7ny9PiaHaZHcvMDmdysMqvDem162Rh3zWTrqk8M=
github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY=
github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
github.com/go-quicktest/qt v1.101.0 h1:O1K29Txy5P2OK0dGo59b7b0LR6wKfIhttaAhHUyn7eI=
github.com/go-quicktest/qt v1.101.0/go.mod h1:14Bz/f7NwaXPtdYEgzsx46kqSxVwTbzVZsDC26tQJow=
github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI=
github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8=
github.com/go-toolsmith/astcast v1.1.0 h1:+JN9xZV1A+Re+95pgnMgDboWNVnIMMQXwfBwLRPgSC8=
github.com/go-toolsmith/astcast v1.1.0/go.mod h1:qdcuFWeGGS2xX5bLM/c3U9lewg7+Zu4mr+xPwZIB4ZU=
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.3/go.mod h1:9Ai4UglvtR+4up+bAD4+hCj7iTo4m/OXVTSLnCyTAx4=
github.com/go-toolsmith/astequal v1.1.0/go.mod h1:sedf7VIdCL22LD8qIvv7Nn9MuWJruQA/ysswh64lffQ=
github.com/go-toolsmith/astequal v1.2.0 h1:3Fs3CYZ1k9Vo4FzFhwwewC3CHISHDnVUPC4x0bI2+Cw=
github.com/go-toolsmith/astequal v1.2.0/go.mod h1:c8NZ3+kSFtFY/8lPso4v8LuJjdJiUFVnSuU3s0qrrDY=
github.com/go-toolsmith/astfmt v1.1.0 h1:iJVPDPp6/7AaeLJEruMsBUlOYCmvg0MoCfJprsOmcco=
github.com/go-toolsmith/astfmt v1.1.0/go.mod h1:OrcLlRwu0CuiIBp/8b5PYF9ktGVZUjlNMV634mhwuQ4=
github.com/go-toolsmith/astp v1.1.0 h1:dXPuCl6u2llURjdPLLDxJeZInAeZ0/eZwFJmqZMnpQA=
github.com/go-toolsmith/astp v1.1.0/go.mod h1:0T1xFGz9hicKs8Z5MfAqSUitoUYS30pDMsRVIDHs8CA=
github.com/go-toolsmith/pkgload v1.2.2 h1:0CtmHq/02QhxcF7E9N5LIFcYFsMR5rdovfqTtRKkgIk=
github.com/go-toolsmith/pkgload v1.2.2/go.mod h1:R2hxLNRKuAsiXCo2i5J6ZQPhnPMOVtU+f0arbFPWCus=
github.com/go-toolsmith/strparse v1.0.0/go.mod h1:YI2nUKP9YGZnL/L1/DLFBfixrcjslWct4wyljWhSRy8=
github.com/go-toolsmith/strparse v1.1.0 h1:GAioeZUK9TGxnLS+qfdqNbA4z0SSm5zVNtCQiyP2Bvw=
github.com/go-toolsmith/strparse v1.1.0/go.mod h1:7ksGy58fsaQkGQlY8WVoBFNyEPMGuJin1rfoPS4lBSQ=
github.com/go-toolsmith/typep v1.1.0 h1:fIRYDyF+JywLfqzyhdiHzRop/GQDxxNhLGQ6gFUNHus=
github.com/go-toolsmith/typep v1.1.0/go.mod h1:fVIw+7zjdsMxDA3ITWnH1yOiw1rnTQKCsF/sk2H/qig=
github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss=
github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
github.com/go-xmlfmt/xmlfmt v1.1.2 h1:Nea7b4icn8s57fTx1M5AI4qQT5HEM3rVUO8MuE6g80U=
github.com/go-xmlfmt/xmlfmt v1.1.2/go.mod h1:aUCEOzzezBEjDBbFBoSiya/gduyIiWYRP6CnSFIV8AM=
github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y=
github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8=
github.com/gofrs/flock v0.12.1 h1:MTLVXXHf8ekldpJk3AKicLij9MdwOWkZ+a/jHHZby9E=
github.com/gofrs/flock v0.12.1/go.mod h1:9zxTsyu5xtJ9DK+1tFZyibEV7y3uwDxPPfbxeeHCoD0=
github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a h1:w8hkcTqaFpzKqonE9uMCefW1WDie15eSP/4MssdenaM=
github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a/go.mod h1:ryS0uhF+x9jgbj/N71xsEqODy9BN81/GonCZiOzirOk=
github.com/golangci/go-printf-func-name v0.1.0 h1:dVokQP+NMTO7jwO4bwsRwLWeudOVUPPyAKJuzv8pEJU=
github.com/golangci/go-printf-func-name v0.1.0/go.mod h1:wqhWFH5mUdJQhweRnldEywnR5021wTdZSNgwYceV14s=
github.com/golangci/gofmt v0.0.0-20240816233607-d8596aa466a9 h1:/1322Qns6BtQxUZDTAT4SdcoxknUki7IAoK4SAXr8ME=
github.com/golangci/gofmt v0.0.0-20240816233607-d8596aa466a9/go.mod h1:Oesb/0uFAyWoaw1U1qS5zyjCg5NP9C9iwjnI4tIsXEE=
github.com/golangci/golangci-lint v1.62.0 h1:/G0g+bi1BhmGJqLdNQkKBWjcim8HjOPc4tsKuHDOhcI=
github.com/golangci/golangci-lint v1.62.0/go.mod h1:jtoOhQcKTz8B6dGNFyfQV3WZkQk+YvBDewDtNpiAJts=
github.com/golangci/misspell v0.6.0 h1:JCle2HUTNWirNlDIAUO44hUsKhOFqGPoC4LZxlaSXDs=
github.com/golangci/misspell v0.6.0/go.mod h1:keMNyY6R9isGaSAu+4Q8NMBwMPkh15Gtc8UCVoDtAWo=
github.com/golangci/modinfo v0.3.4 h1:oU5huX3fbxqQXdfspamej74DFX0kyGLkw1ppvXoJ8GA=
github.com/golangci/modinfo v0.3.4/go.mod h1:wytF1M5xl9u0ij8YSvhkEVPP3M5Mc7XLl1pxH3B2aUM=
github.com/golangci/plugin-module-register v0.1.1 h1:TCmesur25LnyJkpsVrupv1Cdzo+2f7zX0H6Jkw1Ol6c=
github.com/golangci/plugin-module-register v0.1.1/go.mod h1:TTpqoB6KkwOJMV8u7+NyXMrkwwESJLOkfl9TxR1DGFc=
github.com/golangci/revgrep v0.5.3 h1:3tL7c1XBMtWHHqVpS5ChmiAAoe4PF/d5+ULzV9sLAzs=
github.com/golangci/revgrep v0.5.3/go.mod h1:U4R/s9dlXZsg8uJmaR1GrloUr14D7qDl8gi2iPXJH8k=
github.com/golangci/unconvert v0.0.0-20240309020433-c5143eacb3ed h1:IURFTjxeTfNFP0hTEi1YKjB/ub8zkpaOqFFMApi2EAs=
github.com/golangci/unconvert v0.0.0-20240309020433-c5143eacb3ed/go.mod h1:XLXN8bNw4CGRPaqgl3bv/lhz7bsGPh4/xSaMTbo2vkQ=
github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
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.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.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg=
github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144=
github.com/gordonklaus/ineffassign v0.1.0 h1:y2Gd/9I7MdY1oEIt+n+rowjBNDcLQq3RsH5hwJd0f9s=
github.com/gordonklaus/ineffassign v0.1.0/go.mod h1:Qcp2HIAYhR7mNUVSIxZww3Guk4it82ghYcEXIAk+QT0=
github.com/gostaticanalysis/analysisutil v0.7.1 h1:ZMCjoue3DtDWQ5WyU16YbjbQEQ3VuzwxALrpYd+HeKk=
github.com/gostaticanalysis/analysisutil v0.7.1/go.mod h1:v21E3hY37WKMGSnbsw2S/ojApNWb6C1//mXO48CXbVc=
github.com/gostaticanalysis/comment v1.4.1/go.mod h1:ih6ZxzTHLdadaiSnF5WY3dxUoXfXAlTaRzuaNDlSado=
github.com/gostaticanalysis/comment v1.4.2 h1:hlnx5+S2fY9Zo9ePo4AhgYsYHbM2+eAv8m/s1JiCd6Q=
github.com/gostaticanalysis/comment v1.4.2/go.mod h1:KLUTGDv6HOCotCH8h2erHKmpci2ZoR8VPu34YA2uzdM=
github.com/gostaticanalysis/forcetypeassert v0.1.0 h1:6eUflI3DiGusXGK6X7cCcIgVCpZ2CiZ1Q7jl6ZxNV70=
github.com/gostaticanalysis/forcetypeassert v0.1.0/go.mod h1:qZEedyP/sY1lTGV1uJ3VhWZ2mqag3IkWsDHVbplHXak=
github.com/gostaticanalysis/nilerr v0.1.1 h1:ThE+hJP0fEp4zWLkWHWcRyI2Od0p7DlgYG3Uqrmrcpk=
github.com/gostaticanalysis/nilerr v0.1.1/go.mod h1:wZYb6YI5YAxxq0i1+VJbY0s2YONW0HU0GPE3+5PWN4A=
github.com/gostaticanalysis/testutil v0.3.1-0.20210208050101-bfb5c8eec0e4/go.mod h1:D+FIZ+7OahH3ePw/izIEeH5I06eKs1IKI4Xr64/Am3M=
github.com/gostaticanalysis/testutil v0.4.0 h1:nhdCmubdmDF6VEatUNjgUZBJKWRqugoISdUv3PPQgHY=
github.com/gostaticanalysis/testutil v0.4.0/go.mod h1:bLIoPefWXrRi/ssLFWX1dx7Repi5x3CuviD3dgAZaBU=
github.com/hashicorp/go-version v1.2.1/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY=
github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
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/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM=
github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg=
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
github.com/jgautheron/goconst v1.7.1 h1:VpdAG7Ca7yvvJk5n8dMwQhfEZJh95kl/Hl9S1OI5Jkk=
github.com/jgautheron/goconst v1.7.1/go.mod h1:aAosetZ5zaeC/2EfMeRswtxUFBpe2Hr7HzkgX4fanO4=
github.com/jingyugao/rowserrcheck v1.1.1 h1:zibz55j/MJtLsjP1OF4bSdgXxwL1b+Vn7Tjzq7gFzUs=
github.com/jingyugao/rowserrcheck v1.1.1/go.mod h1:4yvlZSDb3IyDTUZJUmpZfm2Hwok+Dtp+nu2qOq+er9c=
github.com/jjti/go-spancheck v0.6.2 h1:iYtoxqPMzHUPp7St+5yA8+cONdyXD3ug6KK15n7Pklk=
github.com/jjti/go-spancheck v0.6.2/go.mod h1:+X7lvIrR5ZdUTkxFYqzJ0abr8Sb5LOo80uOhWNqIrYA=
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/karamaru-alpha/copyloopvar v1.1.0 h1:x7gNyKcC2vRBO1H2Mks5u1VxQtYvFiym7fCjIP8RPos=
github.com/karamaru-alpha/copyloopvar v1.1.0/go.mod h1:u7CIfztblY0jZLOQZgH3oYsJzpC2A7S6u/lfgSXHy0k=
github.com/kisielk/errcheck v1.8.0 h1:ZX/URYa7ilESY19ik/vBmCn6zdGQLxACwjAcWbHlYlg=
github.com/kisielk/errcheck v1.8.0/go.mod h1:1kLL+jV4e+CFfueBmI1dSK2ADDyQnlrnrY/FqKluHJQ=
github.com/kkHAIKE/contextcheck v1.1.5 h1:CdnJh63tcDe53vG+RebdpdXJTc9atMgGqdx8LXxiilg=
github.com/kkHAIKE/contextcheck v1.1.5/go.mod h1:O930cpht4xb1YQpK+1+AgoM3mFsvxr7uyFptcnWTYUA=
github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc=
github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
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.10 h1:wrodoaKYzS2mdNVnc4/w31YaXFtsc21PCTdvWJ/lDDs=
github.com/kunwardeep/paralleltest v1.0.10/go.mod h1:2C7s65hONVqY7Q5Efj5aLzRCNLjw2h4eMc9EcypGjcY=
github.com/kyoh86/exportloopref v0.1.11 h1:1Z0bcmTypkL3Q4k+IDHMWTcnCliEZcaPiIe0/ymEyhQ=
github.com/kyoh86/exportloopref v0.1.11/go.mod h1:qkV4UF1zGl6EkF1ox8L5t9SwyeBAZ3qLMd6up458uqA=
github.com/lasiar/canonicalheader v1.1.2 h1:vZ5uqwvDbyJCnMhmFYimgMZnJMjwljN5VGY0VKbMXb4=
github.com/lasiar/canonicalheader v1.1.2/go.mod h1:qJCeLFS0G/QlLQ506T+Fk/fWMa2VmBUiEI2cuMK4djI=
github.com/ldez/gomoddirectives v0.2.4 h1:j3YjBIjEBbqZ0NKtBNzr8rtMHTOrLPeiwTkfUJZ3alg=
github.com/ldez/gomoddirectives v0.2.4/go.mod h1:oWu9i62VcQDYp9EQ0ONTfqLNh+mDLWWDO+SO0qSQw5g=
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.2 h1:o1ARBDLOmmasUaNDesWqWCIFH3u7hoFlM84YrjT3mIY=
github.com/leonklingele/grouper v1.1.2/go.mod h1:6D0M/HVkhs2yRKRFZUoGjeDy7EZTfFBE9gl4kjmIGkA=
github.com/macabu/inamedparam v0.1.3 h1:2tk/phHkMlEL/1GNe/Yf6kkR/hkcUdAEY3L0hjYV1Mk=
github.com/macabu/inamedparam v0.1.3/go.mod h1:93FLICAIk/quk7eaPPQvbzihUdn/QkGDwIZEoLtpH6I=
github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY=
github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0=
github.com/maratori/testableexamples v1.0.0 h1:dU5alXRrD8WKSjOUnmJZuzdxWOEQ57+7s93SLMxb2vI=
github.com/maratori/testableexamples v1.0.0/go.mod h1:4rhjL1n20TUTT4vdh3RDqSizKLyXp7K2u6HgraZCGzE=
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-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/matryer/is v1.4.1 h1:55ehd8zaGABKLXQUe2awZ99BD/PTc2ls+KV/dXphgEQ=
github.com/matryer/is v1.4.1/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=
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
github.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6TULQc=
github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
github.com/mgechev/revive v1.5.0 h1:oaSmjA7rP8+HyoRuCgC531VHwnLH1AlJdjj+1AnQceQ=
github.com/mgechev/revive v1.5.0/go.mod h1:L6T3H8EoerRO86c7WuGpvohIUmiploGiyoYbtIWFmV8=
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.1-0.20231216201459-8508981c8b6c h1:cqn374mizHuIWj+OSJCajGr/phAmuMug9qIX3l9CflE=
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/moricho/tparallel v0.3.2 h1:odr8aZVFA3NZrNybggMkYO3rgPRcqjeQUlBBFVxKHTI=
github.com/moricho/tparallel v0.3.2/go.mod h1:OQ+K3b4Ln3l2TZveGCywybl68glfLEwFGqvnjok8b+U=
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
github.com/nakabonne/nestif v0.3.1 h1:wm28nZjhQY5HyYPx+weN3Q65k6ilSBxDb8v5S81B81U=
github.com/nakabonne/nestif v0.3.1/go.mod h1:9EtoZochLn5iUprVDmDjqGKPofoUEBL8U4Ngq6aY7OE=
github.com/nishanths/exhaustive v0.12.0 h1:vIY9sALmw6T/yxiASewa4TQcFsVYZQQRUQJhKRf3Swg=
github.com/nishanths/exhaustive v0.12.0/go.mod h1:mEZ95wPIZW+x8kC4TgC+9YCUgiST7ecevsVDTgc2obs=
github.com/nishanths/predeclared v0.2.2 h1:V2EPdZPliZymNAn79T8RkNApBjMmVKh5XRpLm/w98Vk=
github.com/nishanths/predeclared v0.2.2/go.mod h1:RROzoN6TnGQupbC+lqggsOlcgysk3LMK/HI84Mp280c=
github.com/nunnatsa/ginkgolinter v0.18.0 h1:ZXO1wKhPg3A6LpbN5dMuqwhfOjN5c3ous8YdKOuqk9k=
github.com/nunnatsa/ginkgolinter v0.18.0/go.mod h1:vPrWafSULmjMGCMsfGA908if95VnHQNAahvSBOjTuWs=
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/onsi/ginkgo/v2 v2.22.0 h1:Yed107/8DjTr0lKCNt7Dn8yQ6ybuDRQoMGrNFKzMfHg=
github.com/onsi/ginkgo/v2 v2.22.0/go.mod h1:7Du3c42kxCUegi0IImZ1wUQzMBVecgIHjR1C+NkhLQo=
github.com/onsi/gomega v1.36.1 h1:bJDPBO7ibjxcbHMgSCoo4Yj18UWbKDlLwX1x9sybDcw=
github.com/onsi/gomega v1.36.1/go.mod h1:PvZbdDc8J6XJEpDK4HCuRBm8a6Fzp9/DmhC9C7yFlog=
github.com/otiai10/copy v1.2.0/go.mod h1:rrF5dJ5F0t/EWSYODDu4j9/vEeYHMkc8jt0zJChqQWw=
github.com/otiai10/copy v1.14.0 h1:dCI/t1iTdYGtkvCuBG2BgR6KZa83PTclw4U5n2wAllU=
github.com/otiai10/copy v1.14.0/go.mod h1:ECfuL02W+/FkTWZWgQqXPWZgW9oeKCSQ5qVfSc4qc4w=
github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJG+0mI8eUu6xqkFDYS2kb2saOteoSB3cE=
github.com/otiai10/curr v1.0.0/go.mod h1:LskTG5wDwr8Rs+nNQ+1LlxRjAtTZZjtJW4rMXl6j4vs=
github.com/otiai10/mint v1.3.0/go.mod h1:F5AjcsTsWUqX+Na9fpHb52P8pcRX2CI6A3ctIT91xUo=
github.com/otiai10/mint v1.3.1/go.mod h1:/yxELlJQ0ufhjUwhshSj+wFjZ78CnZ48/1wtmBH1OTc=
github.com/pelletier/go-toml/v2 v2.2.3 h1:YmeHyLY8mFWbdkNWwpr+qIL2bEqT0o95WSdkNHvL12M=
github.com/pelletier/go-toml/v2 v2.2.3/go.mod h1:MfCQTFTvCcUyyvvwm1+G6H/jORL20Xlb6rzQu9GuUkc=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/polyfloyd/go-errorlint v1.6.0 h1:tftWV9DE7txiFzPpztTAwyoRLKNj9gpVm2cg8/OwcYY=
github.com/polyfloyd/go-errorlint v1.6.0/go.mod h1:HR7u8wuP1kb1NeN1zqTd1ZMlqUKPPHF+Id4vIPvDqVw=
github.com/prashantv/gostub v1.1.0 h1:BTyx3RfQjRHnUWaGF9oQos79AlQ5k8WNktv7VGvVH4g=
github.com/prashantv/gostub v1.1.0/go.mod h1:A5zLQHz7ieHGG7is6LLXLz7I8+3LZzsrV0P1IAHhP5U=
github.com/prometheus/client_golang v1.21.0 h1:DIsaGmiaBkSangBgMtWdNfxbMNdku5IK6iNhrEqWvdA=
github.com/prometheus/client_golang v1.21.0/go.mod h1:U9NM32ykUErtVBxdvD3zfi+EuFkkaBvMb09mIfe0Zgg=
github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E=
github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY=
github.com/prometheus/common v0.62.0 h1:xasJaQlnWAeyHdUBeGjXmutelfJHWMRr+Fg4QszZ2Io=
github.com/prometheus/common v0.62.0/go.mod h1:vyBcEuLSvWos9B1+CyL7JZ2up+uFzXhkqml0W5zIY1I=
github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc=
github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk=
github.com/quasilyte/go-ruleguard v0.4.3-0.20240823090925-0fe6f58b47b1 h1:+Wl/0aFp0hpuHM3H//KMft64WQ1yX9LdJY64Qm/gFCo=
github.com/quasilyte/go-ruleguard v0.4.3-0.20240823090925-0fe6f58b47b1/go.mod h1:GJLgqsLeo4qgavUoL8JeGFNS7qcisx3awV/w9eWTmNI=
github.com/quasilyte/go-ruleguard/dsl v0.3.22 h1:wd8zkOhSNr+I+8Qeciml08ivDt1pSXe60+5DqOpCjPE=
github.com/quasilyte/go-ruleguard/dsl v0.3.22/go.mod h1:KeCP03KrjuSO0H1kTuZQCWlQPulDV6YMIXmpQss17rU=
github.com/quasilyte/gogrep v0.5.0 h1:eTKODPXbI8ffJMN+W2aE0+oL0z/nh8/5eNdiO34SOAo=
github.com/quasilyte/gogrep v0.5.0/go.mod h1:Cm9lpz9NZjEoL1tgZ2OgeUKPIxL1meE7eo60Z6Sk+Ng=
github.com/quasilyte/regex/syntax v0.0.0-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/raeperd/recvcheck v0.1.2 h1:SjdquRsRXJc26eSonWIo8b7IMtKD3OAT2Lb5G3ZX1+4=
github.com/raeperd/recvcheck v0.1.2/go.mod h1:n04eYkwIR0JbgD73wT8wL4JjPC3wm0nFtzBnWNocnYU=
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ=
github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII=
github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/ryancurrah/gomodguard v1.3.5 h1:cShyguSwUEeC0jS7ylOiG/idnd1TpJ1LfHGpV3oJmPU=
github.com/ryancurrah/gomodguard v1.3.5/go.mod h1:MXlEPQRxgfPQa62O8wzK3Ozbkv9Rkqr+wKjSxTdsNJE=
github.com/ryanrolds/sqlclosecheck v0.5.1 h1:dibWW826u0P8jNLsLN+En7+RqWWTYrjCB9fJfSfdyCU=
github.com/ryanrolds/sqlclosecheck v0.5.1/go.mod h1:2g3dUjoS6AL4huFdv6wn55WpLIDjY7ZgUR4J8HOO/XQ=
github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6keLGt6kNQ=
github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4=
github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE=
github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ=
github.com/sanposhiho/wastedassign/v2 v2.0.7 h1:J+6nrY4VW+gC9xFzUc+XjPD3g3wF3je/NsJFwFK7Uxc=
github.com/sanposhiho/wastedassign/v2 v2.0.7/go.mod h1:KyZ0MWTwxxBmfwn33zh3k1dmsbF2ud9pAAGfoLfjhtI=
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 h1:lZUw3E0/J3roVtGQ+SCrUrg3ON6NgVqpn3+iol9aGu4=
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1/go.mod h1:uToXkOrWAZ6/Oc07xWQrPOhJotwFIyu2bBVN41fcDUY=
github.com/sashamelentyev/interfacebloat v1.1.0 h1:xdRdJp0irL086OyW1H/RTZTr1h/tMEOsumirXcOJqAw=
github.com/sashamelentyev/interfacebloat v1.1.0/go.mod h1:+Y9yU5YdTkrNvoX0xHc84dxiN1iBi9+G8zZIhPVoNjQ=
github.com/sashamelentyev/usestdlibvars v1.27.0 h1:t/3jZpSXtRPRf2xr0m63i32ZrusyurIGT9E5wAvXQnI=
github.com/sashamelentyev/usestdlibvars v1.27.0/go.mod h1:9nl0jgOfHKWNFS43Ojw0i7aRoS4j6EBye3YBhmAIRF8=
github.com/securego/gosec/v2 v2.21.4 h1:Le8MSj0PDmOnHJgUATjD96PaXRvCpKC+DGJvwyy0Mlk=
github.com/securego/gosec/v2 v2.21.4/go.mod h1:Jtb/MwRQfRxCXyCm1rfM1BEiiiTfUOdyzzAhlr6lUTA=
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=
github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ=
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.3 h1:x+etemjbsh2fB5ewm5FeLNi5bUjK0V8n0RB+Wwfd0XE=
github.com/sivchari/containedctx v1.0.3/go.mod h1:c1RDvCbnJLtH4lLcYD/GqwiBSSf4F5Qk0xld2rBqzJ4=
github.com/sivchari/tenv v1.12.1 h1:+E0QzjktdnExv/wwsnnyk4oqZBUfuh89YMQT1cyuvSY=
github.com/sivchari/tenv v1.12.1/go.mod h1:1LjSOUCc25snIr5n3DtGGrENhX3LuWefcplwVGC24mw=
github.com/sonatard/noctx v0.1.0 h1:JjqOc2WN16ISWAjAk8M5ej0RfExEXtkEyExl2hLW+OM=
github.com/sonatard/noctx v0.1.0/go.mod h1:0RvBxqY8D4j9cTTTWE8ylt2vqj2EPI8fHmrxHdsaZ2c=
github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo=
github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0=
github.com/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.11.0 h1:WJQKhtpdm3v2IzqG8VMqrr6Rf3UYpEF239Jy9wNepM8=
github.com/spf13/afero v1.11.0/go.mod h1:GH9Y3pIexgf1MTIWtNGyogA5MwRIDXGUr+hbWNoBjkY=
github.com/spf13/cast v1.7.0 h1:ntdiHjuueXFgm5nzDRdOS4yfT43P5Fnud6DH50rz/7w=
github.com/spf13/cast v1.7.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo=
github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0=
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/viper v1.19.0 h1:RWq5SEjt8o25SROyN3z2OrDB9l7RPd3lwTWU8EcEdcI=
github.com/spf13/viper v1.19.0/go.mod h1:GQUN9bilAbhU/jgc1bKs99f/suXKeUMct8Adx5+Ntkg=
github.com/ssgreg/nlreturn/v2 v2.2.1 h1:X4XDI7jstt3ySqGU86YGAURbxw3oTDPK9sPEi6YEwQ0=
github.com/ssgreg/nlreturn/v2 v2.2.1/go.mod h1:E/iiPB78hV7Szg2YfRgyIrk1AD6JVMTRkkxBiELzh2I=
github.com/stbenjam/no-sprintf-host-port v0.1.1 h1:tYugd/yrm1O0dV+ThCbaKZh195Dfm07ysF0U6JQXczc=
github.com/stbenjam/no-sprintf-host-port v0.1.1/go.mod h1:TLhvtIvONRzdmkFiio4O8LHsN9N74I+PhRquPsxpL0I=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY=
github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8=
github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU=
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 h1:2klLppGhDgzJrScMpkj9Ujy3rXPUspSjAcev9tSEBgA=
github.com/tenntenn/modver v1.0.1/go.mod h1:bePIyQPb7UeioSRkw3Q0XeMhYZSMx9B8ePqg6SAMGH0=
github.com/tenntenn/text/transform v0.0.0-20200319021203-7eef512accb3 h1:f+jULpRQGxTSkNYKJ51yaw6ChIqO+Je8UqsTKN/cDag=
github.com/tenntenn/text/transform v0.0.0-20200319021203-7eef512accb3/go.mod h1:ON8b8w4BN/kE1EOhwT0o+d62W65a6aPw1nouo9LMgyY=
github.com/tetafro/godot v1.4.18 h1:ouX3XGiziKDypbpXqShBfnNLTSjR8r3/HVzrtJ+bHlI=
github.com/tetafro/godot v1.4.18/go.mod h1:2oVxTBSftRTh4+MVfUaUXR6bn2GDXCaMcOG4Dk3rfio=
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.10.1 h1:uVZYClxQFpw55eh+PIoqM7uAOHMrhVcDoWDery9R8Lg=
github.com/timonwong/loggercheck v0.10.1/go.mod h1:HEAWU8djynujaAVX7QI65Myb8qgfcZ1uKbdpg3ZzKl8=
github.com/tomarrell/wrapcheck/v2 v2.9.0 h1:801U2YCAjLhdN8zhZ/7tdjB3EnAoRlJHt/s+9hijLQ4=
github.com/tomarrell/wrapcheck/v2 v2.9.0/go.mod h1:g9vNIyhb5/9TQgumxQyOEqDHsmGYcGsVMOx/xGkqdMo=
github.com/tommy-muehle/go-mnd/v2 v2.5.1 h1:NowYhSdyE/1zwK9QCLeRb6USWdoif80Ie+v+yU8u1Zw=
github.com/tommy-muehle/go-mnd/v2 v2.5.1/go.mod h1:WsUAkMJMYww6l/ufffCD3m+P7LEvr8TnZn9lwVDlgzw=
github.com/ultraware/funlen v0.1.0 h1:BuqclbkY6pO+cvxoq7OsktIXZpgBSkYTQtmwhAK81vI=
github.com/ultraware/funlen v0.1.0/go.mod h1:XJqmOQja6DpxarLj6Jj1U7JuoS8PvL4nEqDaQhy22p4=
github.com/ultraware/whitespace v0.1.1 h1:bTPOGejYFulW3PkcrqkeQwOd6NKOOXvmGD9bo/Gk8VQ=
github.com/ultraware/whitespace v0.1.1/go.mod h1:XcP1RLD81eV4BW8UhQlpaR+SDc2givTvyI8a586WjW8=
github.com/uudashr/gocognit v1.1.3 h1:l+a111VcDbKfynh+airAy/DJQKaXh2m9vkoysMPSZyM=
github.com/uudashr/gocognit v1.1.3/go.mod h1:aKH8/e8xbTRBwjbCkwZ8qt4l2EpKXl31KMHgSS+lZ2U=
github.com/uudashr/iface v1.2.0 h1:ECJjh5q/1Zmnv/2yFpWV6H3oMg5+Mo+vL0aqw9Gjazo=
github.com/uudashr/iface v1.2.0/go.mod h1:Ux/7d/rAF3owK4m53cTVXL4YoVHKNqnoOeQHn2xrlp0=
github.com/xen0n/gosmopolitan v1.2.2 h1:/p2KTnMzwRexIW8GlKawsTWOxn7UHA+jCMF/V8HHtvU=
github.com/xen0n/gosmopolitan v1.2.2/go.mod h1:7XX7Mj61uLYrj0qmeN0zi7XDon9JRAEhYQqAPLVNTeg=
github.com/yagipy/maintidx v1.0.0 h1:h5NvIsCz+nRDapQ0exNv4aJ0yXSI0420omVANTv3GJM=
github.com/yagipy/maintidx v1.0.0/go.mod h1:0qNf/I/CCZXSMhsRsrEPDZ+DkekpKLXAJfsTACwgXLk=
github.com/yeya24/promlinter v0.3.0 h1:JVDbMp08lVCP7Y6NP3qHroGAO6z2yGKQtS5JsjqtoFs=
github.com/yeya24/promlinter v0.3.0/go.mod h1:cDfJQQYv9uYciW60QT0eeHlFodotkYZlL+YcPQN+mW4=
github.com/ykadowak/zerologlint v0.1.5 h1:Gy/fMz1dFQN9JZTPjv1hxEk+sRWm05row04Yoolgdiw=
github.com/ykadowak/zerologlint v0.1.5/go.mod h1:KaUskqF3e/v59oPmdq1U1DnKcuHokl2/K1U4pmIELKg=
github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
gitlab.com/bosi/decorder v0.4.2 h1:qbQaV3zgwnBZ4zPMhGLW4KZe7A7NwxEhJx39R3shffo=
gitlab.com/bosi/decorder v0.4.2/go.mod h1:muuhHoaJkA9QLcYHq4Mj8FJUwDZ+EirSHRiaTcTf6T8=
go-simpler.org/assert v0.9.0 h1:PfpmcSvL7yAnWyChSjOz6Sp6m9j5lyK8Ok9pEL31YkQ=
go-simpler.org/assert v0.9.0/go.mod h1:74Eqh5eI6vCK6Y5l3PI8ZYFXG4Sa+tkr70OIPJAUr28=
go-simpler.org/musttag v0.13.0 h1:Q/YAW0AHvaoaIbsPj3bvEI5/QFP7w696IMUpnKXQfCE=
go-simpler.org/musttag v0.13.0/go.mod h1:FTzIGeK6OkKlUDVpj0iQUXZLUO1Js9+mvykDQy9C5yM=
go-simpler.org/sloglint v0.7.2 h1:Wc9Em/Zeuu7JYpl+oKoYOsQSy2X560aVueCW/m6IijY=
go-simpler.org/sloglint v0.7.2/go.mod h1:US+9C80ppl7VsThQclkM7BkCHQAzuz8kHLsW3ppuluo=
go.uber.org/automaxprocs v1.6.0 h1:O3y2/QNTOdbF+e/dpXNNW7Rx2hZ4sTIPyybbxyNqTUs=
go.uber.org/automaxprocs v1.6.0/go.mod h1:ifeIMSnPZuznNm6jmdzmU3/bfk01Fe2fotchwEFJ8r8=
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8=
go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw=
golang.org/x/exp v0.0.0-20240909161429-701f63a606c0 h1:e66Fs6Z+fZTbFBAxKfP3PALWBtpfqks2bwGcexMxgtk=
golang.org/x/exp v0.0.0-20240909161429-701f63a606c0/go.mod h1:2TbTHSBQa924w8M6Xs1QcRcFwyucIwBGpK1p2f1YFFY=
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/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk=
golang.org/x/exp/typeparams v0.0.0-20240909161429-701f63a606c0 h1:bVwtbF629Xlyxk6xLQq2TDYmqP0uiWaet5LwRebuY0k=
golang.org/x/exp/typeparams v0.0.0-20240909161429-701f63a606c0/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro=
golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
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/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.23.0 h1:Zb7khfcRGKk+kqfxFaP5tZqCnDZMjC5VtUBs87Hr6QM=
golang.org/x/mod v0.23.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
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.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/net v0.36.0 h1:vWF2fRbw4qslQsQzgFqZff+BItCvGFQqKzKIzx1rmoA=
golang.org/x/net v0.36.0/go.mod h1:bFmbeoIPfrw4sMHNhb4J9f6+tPziuGjq7Jk/38fxi1I=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w=
golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211105183446-c75c47738b0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.2.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/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc=
golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
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.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM=
golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190321232350-e250d351ecad/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190910044552-dd2b5c81c578/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20200324003944-a576cf524670/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8=
golang.org/x/tools v0.0.0-20200329025819-fd4102a86c65/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8=
golang.org/x/tools v0.0.0-20200724022722-7017fd6b1305/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
golang.org/x/tools v0.0.0-20200820010801-b793a1359eac/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
golang.org/x/tools v0.0.0-20201023174141-c8cfbd0f21e6/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0=
golang.org/x/tools v0.1.1-0.20210205202024-ef80cdb6ec6d/go.mod h1:9bzcO0MWcOuT0tm1iBGzDVPshzfwoVvREIui8C+MHqU=
golang.org/x/tools v0.1.1-0.20210302220138-2ac05c832e1a/go.mod h1:9bzcO0MWcOuT0tm1iBGzDVPshzfwoVvREIui8C+MHqU=
golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU=
golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA=
golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k=
golang.org/x/tools v0.5.0/go.mod h1:N+Kgy78s5I24c24dU8OfWNEotWjutIs8SnJvn5IDq+k=
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY=
golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY=
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=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/protobuf v1.36.5 h1:tPhr+woSbjfYvY6/GPufUoYizxw1cF/yFoxJ2fmpwlM=
google.golang.org/protobuf v1.36.5/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA=
gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
honnef.co/go/tools v0.5.1 h1:4bH5o3b5ZULQ4UrBmP+63W9r7qIkqJClEA9ko5YKx+I=
honnef.co/go/tools v0.5.1/go.mod h1:e9irvo83WDG9/irijV44wr3tbhcFeRnfpVlRqVwpzMs=
mvdan.cc/gofumpt v0.7.0 h1:bg91ttqXmi9y2xawvkuMXyvAA/1ZGJqYAEGjXuP0JXU=
mvdan.cc/gofumpt v0.7.0/go.mod h1:txVFJy/Sc/mvaycET54pV8SW8gWxTlUuGHVEcncmNUo=
mvdan.cc/unparam v0.0.0-20240528143540-8a5130ca722f h1:lMpcwN6GxNbWtbpI1+xzFLSW8XzX0u72NttUGVFjO3U=
mvdan.cc/unparam v0.0.0-20240528143540-8a5130ca722f/go.mod h1:RSLa7mKKCNeTTMHBw5Hsy2rfJmd6O2ivt9Dw9ZqCQpQ=

33
.citools/install.sh Executable file
View File

@@ -0,0 +1,33 @@
#!/bin/bash
set -euo pipefail
TOOLS_BASE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
TOOLS_SRC_DIR="$TOOLS_BASE_DIR/src"
IMPORT_PATH_WITH_VERSION="$1"
if [[ "$IMPORT_PATH_WITH_VERSION" != *"@"* ]]; then
echo "Error: tool version must be specified (e.g., github.com/foo/bar@v1.2.3)"
exit 1
fi
TOOL_PATH="${IMPORT_PATH_WITH_VERSION%@*}"
TOOL_NAME="${TOOL_PATH##*/}"
TOOL_DIR="$TOOLS_SRC_DIR/$TOOL_NAME"
MOD_FILE="$TOOL_DIR/go.mod"
mkdir -p "$TOOL_DIR"
cd "$TOOL_DIR"
# Create a new module if go.mod doesn't exist
if [ ! -f go.mod ]; then
go mod init "$TOOL_NAME"
fi
go get -tool --modfile="$MOD_FILE" "$IMPORT_PATH_WITH_VERSION"
echo "Installed $TOOL_NAME"
echo " Directory: $TOOL_DIR"
echo " Modfile: $MOD_FILE"
exec "$TOOLS_BASE_DIR/generate.sh"

View File

@@ -1,20 +0,0 @@
module jb
go 1.24.1
tool github.com/jsonnet-bundler/jsonnet-bundler/cmd/jb
require (
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 // indirect
github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/fatih/color v1.18.0 // indirect
github.com/jsonnet-bundler/jsonnet-bundler v0.5.1 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
github.com/stretchr/testify v1.10.0 // indirect
golang.org/x/sys v0.30.0 // indirect
gopkg.in/alecthomas/kingpin.v2 v2.2.6 // indirect
)

View File

@@ -1,70 +0,0 @@
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 h1:JYp7IbQjafoB+tBA3gMyHYHrpOtNuDiK/uB5uXxq5wM=
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE=
github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b h1:mimo19zliBX/vSQ6PWWSL9lK8qwHozUj03+zLoEB8O0=
github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b/go.mod h1:fvzegU4vN3H1qMT+8wDmzjAcDONcgo2/SZ/TyfdUOFs=
github.com/campoy/embedmd v1.0.0/go.mod h1:oxyr9RCiSXg0M3VJ3ks0UGfp98BpSSGr0kpiX3MzVl8=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk=
github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM=
github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU=
github.com/jsonnet-bundler/jsonnet-bundler v0.5.1 h1:eUd6EA1Qzz73Q4NLNLOrNkMb96+6NTTERbX9lqaxVwk=
github.com/jsonnet-bundler/jsonnet-bundler v0.5.1/go.mod h1:Qrdw/7mOFS2SKCOALKFfEH8gdvXJi8XZjw9g5ilpf4I=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4=
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.4/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc=
golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc=
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

View File

@@ -1,51 +0,0 @@
module lefthook
go 1.24.1
tool github.com/evilmartians/lefthook
require (
github.com/MakeNowJust/heredoc v1.0.0 // indirect
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
github.com/briandowns/spinner v1.23.0 // indirect
github.com/charmbracelet/lipgloss v0.6.0 // indirect
github.com/creack/pty v1.1.18 // indirect
github.com/evilmartians/lefthook v1.4.8 // indirect
github.com/fatih/color v1.18.0 // indirect
github.com/fsnotify/fsnotify v1.8.0 // indirect
github.com/gobwas/glob v0.2.3 // indirect
github.com/google/go-cmp v0.7.0 // indirect
github.com/hashicorp/hcl v1.0.0 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
github.com/magiconair/properties v1.8.7 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
github.com/mattn/go-runewidth v0.0.16 // indirect
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c // indirect
github.com/muesli/reflow v0.3.0 // indirect
github.com/muesli/termenv v0.15.1 // indirect
github.com/pelletier/go-toml/v2 v2.2.3 // indirect
github.com/rivo/uniseg v0.4.7 // indirect
github.com/rogpeppe/go-internal v1.13.1 // indirect
github.com/sagikazarmark/locafero v0.4.0 // indirect
github.com/sagikazarmark/slog-shim v0.1.0 // indirect
github.com/sourcegraph/conc v0.3.0 // indirect
github.com/spf13/afero v1.11.0 // indirect
github.com/spf13/cast v1.7.0 // indirect
github.com/spf13/cobra v1.9.1 // indirect
github.com/spf13/pflag v1.0.6 // indirect
github.com/spf13/viper v1.19.0 // indirect
github.com/stretchr/testify v1.10.0 // indirect
github.com/subosito/gotenv v1.6.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
golang.org/x/exp v0.0.0-20240909161429-701f63a606c0 // indirect
golang.org/x/sys v0.30.0 // indirect
golang.org/x/term v0.29.0 // indirect
golang.org/x/text v0.22.0 // indirect
golang.org/x/tools v0.30.0 // indirect
gopkg.in/alessio/shellescape.v1 v1.0.0-20170105083845-52074bc9df61 // indirect
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
gopkg.in/ini.v1 v1.67.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)

View File

@@ -1,117 +0,0 @@
github.com/MakeNowJust/heredoc v1.0.0 h1:cXCdzVdstXyiTqTvfqk9SDHpKNjxuom+DOlyEeQ4pzQ=
github.com/MakeNowJust/heredoc v1.0.0/go.mod h1:mG5amYoWBHf8vpLOuehzbGGw0EHxpZZ6lCpQ4fNJ8LE=
github.com/alessio/shellescape v1.4.1 h1:V7yhSDDn8LP4lc4jS8pFkt0zCnzVJlG5JXy9BVKJUX0=
github.com/alessio/shellescape v1.4.1/go.mod h1:PZAiSCk0LJaZkiCSkPv8qIobYglO3FPpyFjDCtHLS30=
github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k=
github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8=
github.com/briandowns/spinner v1.23.0 h1:alDF2guRWqa/FOZZYWjlMIx2L6H0wyewPxo/CH4Pt2A=
github.com/briandowns/spinner v1.23.0/go.mod h1:rPG4gmXeN3wQV/TsAY4w8lPdIM6RX3yqeBQJSrbXjuE=
github.com/charmbracelet/lipgloss v0.6.0 h1:1StyZB9vBSOyuZxQUcUwGr17JmojPNm87inij9N3wJY=
github.com/charmbracelet/lipgloss v0.6.0/go.mod h1:tHh2wr34xcHjC2HCXIlGSG1jaDF0S0atAUvBMP6Ppuk=
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY=
github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/evilmartians/lefthook v1.4.8 h1:8FmXWtfFiEZw3w18JbhVrp3g+Iy/j2XEo6gcC25+4KA=
github.com/evilmartians/lefthook v1.4.8/go.mod h1:anwwu2QiCEnsOCBHfRgGOB3/sd9FMVNhmY8l9DDQAG8=
github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM=
github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU=
github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/8M=
github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=
github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y=
github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
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/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY=
github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0=
github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY=
github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0=
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
github.com/mattn/go-runewidth v0.0.10/go.mod h1:RAqKPSqVFrSLVXbA8x7dzmKdmGzieGRCM46jaSJTDAk=
github.com/mattn/go-runewidth v0.0.12/go.mod h1:RAqKPSqVFrSLVXbA8x7dzmKdmGzieGRCM46jaSJTDAk=
github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
github.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6TULQc=
github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c h1:cqn374mizHuIWj+OSJCajGr/phAmuMug9qIX3l9CflE=
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/muesli/reflow v0.2.1-0.20210115123740-9e1d0d53df68/go.mod h1:Xk+z4oIWdQqJzsxyjgl3P22oYZnHdZ8FFTHAQQt5BMQ=
github.com/muesli/reflow v0.3.0 h1:IFsN6K9NfGtjeggFP+68I4chLZV2yIKsXJFNZ+eWh6s=
github.com/muesli/reflow v0.3.0/go.mod h1:pbwTDkVPibjO2kyvBQRBxTWEEGDGq0FlB1BIKtnHY/8=
github.com/muesli/termenv v0.11.1-0.20220204035834-5ac8409525e0/go.mod h1:Bd5NYQ7pd+SrtBSrSNoBBmXlcY8+Xj4BMJgh8qcZrvs=
github.com/muesli/termenv v0.15.1 h1:UzuTb/+hhlBugQz28rpzey4ZuKcZ03MeKsoG7IJZIxs=
github.com/muesli/termenv v0.15.1/go.mod h1:HeAQPTzpfs016yGtA4g00CsdYnVLJvxsS4ANqrZs2sQ=
github.com/pelletier/go-toml/v2 v2.2.3 h1:YmeHyLY8mFWbdkNWwpr+qIL2bEqT0o95WSdkNHvL12M=
github.com/pelletier/go-toml/v2 v2.2.3/go.mod h1:MfCQTFTvCcUyyvvwm1+G6H/jORL20Xlb6rzQu9GuUkc=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ=
github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII=
github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6keLGt6kNQ=
github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4=
github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE=
github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ=
github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo=
github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0=
github.com/spf13/afero v1.11.0 h1:WJQKhtpdm3v2IzqG8VMqrr6Rf3UYpEF239Jy9wNepM8=
github.com/spf13/afero v1.11.0/go.mod h1:GH9Y3pIexgf1MTIWtNGyogA5MwRIDXGUr+hbWNoBjkY=
github.com/spf13/cast v1.7.0 h1:ntdiHjuueXFgm5nzDRdOS4yfT43P5Fnud6DH50rz/7w=
github.com/spf13/cast v1.7.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo=
github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0=
github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/viper v1.19.0 h1:RWq5SEjt8o25SROyN3z2OrDB9l7RPd3lwTWU8EcEdcI=
github.com/spf13/viper v1.19.0/go.mod h1:GQUN9bilAbhU/jgc1bKs99f/suXKeUMct8Adx5+Ntkg=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8=
github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU=
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
golang.org/x/exp v0.0.0-20240909161429-701f63a606c0 h1:e66Fs6Z+fZTbFBAxKfP3PALWBtpfqks2bwGcexMxgtk=
golang.org/x/exp v0.0.0-20240909161429-701f63a606c0/go.mod h1:2TbTHSBQa924w8M6Xs1QcRcFwyucIwBGpK1p2f1YFFY=
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc=
golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.29.0 h1:L6pJp37ocefwRRtYPKSWOWzOtWSxVajvz2ldH/xi3iU=
golang.org/x/term v0.29.0/go.mod h1:6bl4lRlvVuDgSf3179VpIxBF0o10JUpXWOnI7nErv7s=
golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM=
golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY=
golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY=
golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY=
gopkg.in/alessio/shellescape.v1 v1.0.0-20170105083845-52074bc9df61 h1:8ajkpB4hXVftY5ko905id+dOnmorcS2CHNxxHLLDcFM=
gopkg.in/alessio/shellescape.v1 v1.0.0-20170105083845-52074bc9df61/go.mod h1:IfMagxm39Ys4ybJrDb7W3Ob8RwxftP0Yy+or/NVz1O8=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA=
gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

28
.citools/src/air/go.mod Normal file
View File

@@ -0,0 +1,28 @@
module air
go 1.25.3
tool github.com/air-verse/air
require (
dario.cat/mergo v1.0.2 // indirect
github.com/air-verse/air v1.62.0 // indirect
github.com/bep/godartsass/v2 v2.5.0 // indirect
github.com/bep/golibsass v1.2.0 // indirect
github.com/creack/pty v1.1.24 // indirect
github.com/fatih/color v1.18.0 // indirect
github.com/fsnotify/fsnotify v1.9.0 // indirect
github.com/gobwas/glob v0.2.3 // indirect
github.com/gohugoio/hugo v0.147.6 // indirect
github.com/mattn/go-colorable v0.1.14 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
github.com/pelletier/go-toml v1.9.5 // indirect
github.com/pelletier/go-toml/v2 v2.2.4 // indirect
github.com/spf13/afero v1.14.0 // indirect
github.com/spf13/cast v1.8.0 // indirect
github.com/tdewolff/parse/v2 v2.8.1 // indirect
golang.org/x/net v0.45.0 // indirect
golang.org/x/sys v0.36.0 // indirect
golang.org/x/text v0.29.0 // indirect
google.golang.org/protobuf v1.36.6 // indirect
)

190
.citools/src/air/go.sum Normal file
View File

@@ -0,0 +1,190 @@
dario.cat/mergo v1.0.2 h1:85+piFYR1tMbRrLcDwR18y4UKJ3aH1Tbzi24VRW1TK8=
dario.cat/mergo v1.0.2/go.mod h1:E/hbnu0NxMFBjpMIE34DRGLWqDy0g5FuKDhCb31ngxA=
github.com/BurntSushi/locker v0.0.0-20171006230638-a6e239ea1c69 h1:+tu3HOoMXB7RXEINRVIpxJCT+KdYiI7LAEAUrOw3dIU=
github.com/BurntSushi/locker v0.0.0-20171006230638-a6e239ea1c69/go.mod h1:L1AbZdiDllfyYH5l5OkAaZtk7VkWe89bPJFmnDBNHxg=
github.com/air-verse/air v1.62.0 h1:6CoXL4MAX9dc4xAzLfjMcDfbBoGmW5VjuuTV/1+bI+M=
github.com/air-verse/air v1.62.0/go.mod h1:EO+jWuetL10tS9raffwg8WEV0t0KUeucRRaf9ii86dA=
github.com/alecthomas/chroma/v2 v2.17.2 h1:Rm81SCZ2mPoH+Q8ZCc/9YvzPUN/E7HgPiPJD8SLV6GI=
github.com/alecthomas/chroma/v2 v2.17.2/go.mod h1:RVX6AvYm4VfYe/zsk7mjHueLDZor3aWCNE14TFlepBk=
github.com/armon/go-radix v1.0.1-0.20221118154546-54df44f2176c h1:651/eoCRnQ7YtSjAnSzRucrJz+3iGEFt+ysraELS81M=
github.com/armon/go-radix v1.0.1-0.20221118154546-54df44f2176c/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
github.com/bep/clocks v0.5.0 h1:hhvKVGLPQWRVsBP/UB7ErrHYIO42gINVbvqxvYTPVps=
github.com/bep/clocks v0.5.0/go.mod h1:SUq3q+OOq41y2lRQqH5fsOoxN8GbxSiT6jvoVVLCVhU=
github.com/bep/debounce v1.2.1 h1:v67fRdBA9UQu2NhLFXrSg0Brw7CexQekrBwDMM8bzeY=
github.com/bep/debounce v1.2.1/go.mod h1:H8yggRPQKLUhUoqrJC1bO2xNya7vanpDl7xR3ISbCJ0=
github.com/bep/gitmap v1.6.0 h1:sDuQMm9HoTL0LtlrfxjbjgAg2wHQd4nkMup2FInYzhA=
github.com/bep/gitmap v1.6.0/go.mod h1:n+3W1f/rot2hynsqEGxGMErPRgT41n9CkGuzPvz9cIw=
github.com/bep/goat v0.5.0 h1:S8jLXHCVy/EHIoCY+btKkmcxcXFd34a0Q63/0D4TKeA=
github.com/bep/goat v0.5.0/go.mod h1:Md9x7gRxiWKs85yHlVTvHQw9rg86Bm+Y4SuYE8CTH7c=
github.com/bep/godartsass/v2 v2.5.0 h1:tKRvwVdyjCIr48qgtLa4gHEdtRkPF8H1OeEhJAEv7xg=
github.com/bep/godartsass/v2 v2.5.0/go.mod h1:rjsi1YSXAl/UbsGL85RLDEjRKdIKUlMQHr6ChUNYOFU=
github.com/bep/golibsass v1.2.0 h1:nyZUkKP/0psr8nT6GR2cnmt99xS93Ji82ZD9AgOK6VI=
github.com/bep/golibsass v1.2.0/go.mod h1:DL87K8Un/+pWUS75ggYv41bliGiolxzDKWJAq3eJ1MA=
github.com/bep/goportabletext v0.1.0 h1:8dqym2So1cEqVZiBa4ZnMM1R9l/DnC1h4ONg4J5kujw=
github.com/bep/goportabletext v0.1.0/go.mod h1:6lzSTsSue75bbcyvVc0zqd1CdApuT+xkZQ6Re5DzZFg=
github.com/bep/gowebp v0.4.0 h1:QihuVnvIKbRoeBNQkN0JPMM8ClLmD6V2jMftTFwSK3Q=
github.com/bep/gowebp v0.4.0/go.mod h1:95gtYkAA8iIn1t3HkAPurRCVGV/6NhgaHJ1urz0iIwc=
github.com/bep/imagemeta v0.12.0 h1:ARf+igs5B7pf079LrqRnwzQ/wEB8Q9v4NSDRZO1/F5k=
github.com/bep/imagemeta v0.12.0/go.mod h1:23AF6O+4fUi9avjiydpKLStUNtJr5hJB4rarG18JpN8=
github.com/bep/lazycache v0.8.0 h1:lE5frnRjxaOFbkPZ1YL6nijzOPPz6zeXasJq8WpG4L8=
github.com/bep/lazycache v0.8.0/go.mod h1:BQ5WZepss7Ko91CGdWz8GQZi/fFnCcyWupv8gyTeKwk=
github.com/bep/logg v0.4.0 h1:luAo5mO4ZkhA5M1iDVDqDqnBBnlHjmtZF6VAyTp+nCQ=
github.com/bep/logg v0.4.0/go.mod h1:Ccp9yP3wbR1mm++Kpxet91hAZBEQgmWgFgnXX3GkIV0=
github.com/bep/overlayfs v0.10.0 h1:wS3eQ6bRsLX+4AAmwGjvoFSAQoeheamxofFiJ2SthSE=
github.com/bep/overlayfs v0.10.0/go.mod h1:ouu4nu6fFJaL0sPzNICzxYsBeWwrjiTdFZdK4lI3tro=
github.com/bep/tmc v0.5.1 h1:CsQnSC6MsomH64gw0cT5f+EwQDcvZz4AazKunFwTpuI=
github.com/bep/tmc v0.5.1/go.mod h1:tGYHN8fS85aJPhDLgXETVKp+PR382OvFi2+q2GkGsq0=
github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/clbanning/mxj/v2 v2.7.0 h1:WA/La7UGCanFe5NpHF0Q3DNtnCsVoxbPKuyBNHWRyME=
github.com/clbanning/mxj/v2 v2.7.0/go.mod h1:hNiWqW14h+kc+MdF9C6/YoRfjEJoR3ou6tn/Qo+ve2s=
github.com/creack/pty v1.1.24 h1:bJrF4RRfyJnbTJqzRLHzcGaZK1NeM5kTC9jGgovnR1s=
github.com/creack/pty v1.1.24/go.mod h1:08sCNb52WyoAwi2QDyzUCTgcvVFhUzewun7wtTfvcwE=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/disintegration/gift v1.2.1 h1:Y005a1X4Z7Uc+0gLpSAsKhWi4qLtsdEcMIbbdvdZ6pc=
github.com/disintegration/gift v1.2.1/go.mod h1:Jh2i7f7Q2BM7Ezno3PhfezbR1xpUg9dUg3/RlKGr4HI=
github.com/dlclark/regexp2 v1.11.5 h1:Q/sSnsKerHeCkc/jSTNq1oCm7KiVgUMZRDUoRu0JQZQ=
github.com/dlclark/regexp2 v1.11.5/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8=
github.com/evanw/esbuild v0.25.3 h1:4JKyUsm/nHDhpxis4IyWXAi8GiyTwG1WdEp6OhGVE8U=
github.com/evanw/esbuild v0.25.3/go.mod h1:D2vIQZqV/vIf/VRHtViaUtViZmG7o+kKmlBfVQuRi48=
github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM=
github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU=
github.com/frankban/quicktest v1.7.2/go.mod h1:jaStnuzAqU1AJdCO0l53JDCJrVDKcS03DbaAcR7Ks/o=
github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k=
github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=
github.com/getkin/kin-openapi v0.132.0 h1:3ISeLMsQzcb5v26yeJrBcdTCEQTag36ZjaGk7MIRUwk=
github.com/getkin/kin-openapi v0.132.0/go.mod h1:3OlG51PCYNsPByuiMB0t4fjnNlIDnaEDsjiKUV8nL58=
github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk=
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
github.com/go-openapi/jsonpointer v0.21.0 h1:YgdVicSA9vH5RiHs9TZW5oyafXZFc6+2Vc1rr/O9oNQ=
github.com/go-openapi/jsonpointer v0.21.0/go.mod h1:IUyH9l/+uyhIYQ/PXVA41Rexl+kOkAPDdXEYns6fzUY=
github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+GrE=
github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ=
github.com/gobuffalo/flect v1.0.3 h1:xeWBM2nui+qnVvNM4S3foBhCAL2XgPU+a7FdpelbTq4=
github.com/gobuffalo/flect v1.0.3/go.mod h1:A5msMlrHtLqh9umBSnvabjsMrCcCpAyzglnDvkbYKHs=
github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y=
github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8=
github.com/gohugoio/go-i18n/v2 v2.1.3-0.20230805085216-e63c13218d0e h1:QArsSubW7eDh8APMXkByjQWvuljwPGAGQpJEFn0F0wY=
github.com/gohugoio/go-i18n/v2 v2.1.3-0.20230805085216-e63c13218d0e/go.mod h1:3Ltoo9Banwq0gOtcOwxuHG6omk+AwsQPADyw2vQYOJQ=
github.com/gohugoio/hashstructure v0.5.0 h1:G2fjSBU36RdwEJBWJ+919ERvOVqAg9tfcYp47K9swqg=
github.com/gohugoio/hashstructure v0.5.0/go.mod h1:Ser0TniXuu/eauYmrwM4o64EBvySxNzITEOLlm4igec=
github.com/gohugoio/httpcache v0.7.0 h1:ukPnn04Rgvx48JIinZvZetBfHaWE7I01JR2Q2RrQ3Vs=
github.com/gohugoio/httpcache v0.7.0/go.mod h1:fMlPrdY/vVJhAriLZnrF5QpN3BNAcoBClgAyQd+lGFI=
github.com/gohugoio/hugo v0.147.6 h1:rL4rnus/5qzj4+FoA+JMzsVvFJ2YZdVIH6pbuCB2P84=
github.com/gohugoio/hugo v0.147.6/go.mod h1:Sb2COQPDPYG+tRSpePtzKytiuVDqkBivEhgIew1QbNo=
github.com/gohugoio/hugo-goldmark-extensions/extras v0.3.0 h1:gj49kTR5Z4Hnm0ZaQrgPVazL3DUkppw+x6XhHCmh+Wk=
github.com/gohugoio/hugo-goldmark-extensions/extras v0.3.0/go.mod h1:IMMj7xiUbLt1YNJ6m7AM4cnsX4cFnnfkleO/lBHGzUg=
github.com/gohugoio/hugo-goldmark-extensions/passthrough v0.3.1 h1:nUzXfRTszLliZuN0JTKeunXTRaiFX6ksaWP0puLLYAY=
github.com/gohugoio/hugo-goldmark-extensions/passthrough v0.3.1/go.mod h1:Wy8ThAA8p2/w1DY05vEzq6EIeI2mzDjvHsu7ULBVwog=
github.com/gohugoio/locales v0.14.0 h1:Q0gpsZwfv7ATHMbcTNepFd59H7GoykzWJIxi113XGDc=
github.com/gohugoio/locales v0.14.0/go.mod h1:ip8cCAv/cnmVLzzXtiTpPwgJ4xhKZranqNqtoIu0b/4=
github.com/gohugoio/localescompressed v1.0.1 h1:KTYMi8fCWYLswFyJAeOtuk/EkXR/KPTHHNN9OS+RTxo=
github.com/gohugoio/localescompressed v1.0.1/go.mod h1:jBF6q8D7a0vaEmcWPNcAjUZLJaIVNiwvM3WlmTvooB0=
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/hairyhenderson/go-codeowners v0.7.0 h1:s0W4wF8bdsBEjTWzwzSlsatSthWtTAF2xLgo4a4RwAo=
github.com/hairyhenderson/go-codeowners v0.7.0/go.mod h1:wUlNgQ3QjqC4z8DnM5nnCYVq/icpqXJyJOukKx5U8/Q=
github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k=
github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM=
github.com/jdkato/prose v1.2.1 h1:Fp3UnJmLVISmlc57BgKUzdjr0lOtjqTZicL3PaYy6cU=
github.com/jdkato/prose v1.2.1/go.mod h1:AiRHgVagnEx2JbQRQowVBKjG0bcs/vtkGCH1dYAL1rA=
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.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/kyokomi/emoji/v2 v2.2.13 h1:GhTfQa67venUUvmleTNFnb+bi7S3aocF7ZCXU9fSO7U=
github.com/kyokomi/emoji/v2 v2.2.13/go.mod h1:JUcn42DTdsXJo1SWanHh4HKDEyPaR5CqkmoirZZP9qE=
github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0=
github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
github.com/makeworld-the-better-one/dither/v2 v2.4.0 h1:Az/dYXiTcwcRSe59Hzw4RI1rSnAZns+1msaCXetrMFE=
github.com/makeworld-the-better-one/dither/v2 v2.4.0/go.mod h1:VBtN8DXO7SNtyGmLiGA7IsFeKrBkQPze1/iAeM95arc=
github.com/marekm4/color-extractor v1.2.1 h1:3Zb2tQsn6bITZ8MBVhc33Qn1k5/SEuZ18mrXGUqIwn0=
github.com/marekm4/color-extractor v1.2.1/go.mod h1:90VjmiHI6M8ez9eYUaXLdcKnS+BAOp7w+NpwBdkJmpA=
github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE=
github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8=
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
github.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6TULQc=
github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c h1:cqn374mizHuIWj+OSJCajGr/phAmuMug9qIX3l9CflE=
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 h1:RWengNIwukTxcDr9M+97sNutRR1RKhG96O6jWumTTnw=
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8=
github.com/muesli/smartcrop v0.3.0 h1:JTlSkmxWg/oQ1TcLDoypuirdE8Y/jzNirQeLkxpA6Oc=
github.com/muesli/smartcrop v0.3.0/go.mod h1:i2fCI/UorTfgEpPPLWiFBv4pye+YAG78RwcQLUkocpI=
github.com/niklasfasching/go-org v1.7.0 h1:vyMdcMWWTe/XmANk19F4k8XGBYg0GQ/gJGMimOjGMek=
github.com/niklasfasching/go-org v1.7.0/go.mod h1:WuVm4d45oePiE0eX25GqTDQIt/qPW1T9DGkRscqLW5o=
github.com/oasdiff/yaml v0.0.0-20250309154309-f31be36b4037 h1:G7ERwszslrBzRxj//JalHPu/3yz+De2J+4aLtSRlHiY=
github.com/oasdiff/yaml v0.0.0-20250309154309-f31be36b4037/go.mod h1:2bpvgLBZEtENV5scfDFEtB/5+1M4hkQhDQrccEJ/qGw=
github.com/oasdiff/yaml3 v0.0.0-20250309153720-d2182401db90 h1:bQx3WeLcUWy+RletIKwUIt4x3t8n2SxavmoclizMb8c=
github.com/oasdiff/yaml3 v0.0.0-20250309153720-d2182401db90/go.mod h1:y5+oSEHCPT/DGrS++Wc/479ERge0zTFxaF8PbGKcg2o=
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/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 h1:onHthvaw9LFnH4t2DcNVpwGmV9E1BkGknEliJkfwQj0=
github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58/go.mod h1:DXv8WO4yhMYhSNPKjeNKa5WY9YCIEBRbNzFFPJbWO6Y=
github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8=
github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c=
github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4=
github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY=
github.com/perimeterx/marshmallow v1.1.5 h1:a2LALqQ1BlHM8PZblsDdidgv1mWi1DgC2UmX50IvK2s=
github.com/perimeterx/marshmallow v1.1.5/go.mod h1:dsXbUu8CRzfYP5a87xpp0xq9S3u0Vchtcl8we9tYaXw=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ=
github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
github.com/spf13/afero v1.14.0 h1:9tH6MapGnn/j0eb0yIXiLjERO8RB6xIVZRDCX7PtqWA=
github.com/spf13/afero v1.14.0/go.mod h1:acJQ8t0ohCGuMN3O+Pv0V0hgMxNYDlvdk+VTfyZmbYo=
github.com/spf13/cast v1.8.0 h1:gEN9K4b8Xws4EX0+a0reLmhq8moKn7ntRlQYgjPeCDk=
github.com/spf13/cast v1.8.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/tdewolff/minify/v2 v2.23.5 h1:/P548KcpTkIOUvNg22zN83/GiaYSOIrbqtoue4I7kYM=
github.com/tdewolff/minify/v2 v2.23.5/go.mod h1:2RI9tiIrzJU1Z5EasXEPaI1MqobRyxKHOOgrRkq5oEw=
github.com/tdewolff/parse/v2 v2.8.1 h1:J5GSHru6o3jF1uLlEKVXkDxxcVx6yzOlIVIotK4w2po=
github.com/tdewolff/parse/v2 v2.8.1/go.mod h1:Hwlni2tiVNKyzR1o6nUs4FOF07URA+JLBLd6dlIXYqo=
github.com/tdewolff/test v1.0.11 h1:FdLbwQVHxqG16SlkGveC0JVyrJN62COWTRyUFzfbtBE=
github.com/tdewolff/test v1.0.11/go.mod h1:XPuWBzvdUzhCuxWO1ojpXsyzsA5bFoS3tO/Q3kFuTG8=
github.com/tetratelabs/wazero v1.9.0 h1:IcZ56OuxrtaEz8UYNRHBrUa9bYeX9oVY93KspZZBf/I=
github.com/tetratelabs/wazero v1.9.0/go.mod h1:TSbcXCfFP0L2FGkRPxHphadXPjo1T6W+CseNNY7EkjM=
github.com/yuin/goldmark v1.7.11 h1:ZCxLyDMtz0nT2HFfsYG8WZ47Trip2+JyLysKcMYE5bo=
github.com/yuin/goldmark v1.7.11/go.mod h1:ip/1k0VRfGynBgxOz0yCqHrbZXhcjxyuS66Brc7iBKg=
github.com/yuin/goldmark-emoji v1.0.6 h1:QWfF2FYaXwL74tfGOW5izeiZepUDroDJfWubQI9HTHs=
github.com/yuin/goldmark-emoji v1.0.6/go.mod h1:ukxJDKFpdFb5x0a5HqbdlcKtebh086iJpI31LTKmWuA=
golang.org/x/exp v0.0.0-20250531010427-b6e5de432a8b h1:QoALfVG9rhQ/M7vYDScfPdWjGL9dlsVVM5VGh7aKoAA=
golang.org/x/exp v0.0.0-20250531010427-b6e5de432a8b/go.mod h1:U6Lno4MTRCDY+Ba7aCcauB9T60gsv5s4ralQzP72ZoQ=
golang.org/x/image v0.27.0 h1:C8gA4oWU/tKkdCfYT6T2u4faJu3MeNS5O8UPWlPF61w=
golang.org/x/image v0.27.0/go.mod h1:xbdrClrAUway1MUTEZDq9mz/UpRwYAkFFNUslZtcB+g=
golang.org/x/mod v0.27.0 h1:kb+q2PyFnEADO2IEF935ehFUXlWiNjJWtRNgBLSfbxQ=
golang.org/x/mod v0.27.0/go.mod h1:rWI627Fq0DEoudcK+MBkNkCe0EetEaDSwJJkCcjpazc=
golang.org/x/net v0.45.0 h1:RLBg5JKixCy82FtLJpeNlVM0nrSqpCRYzVU1n8kj0tM=
golang.org/x/net v0.45.0/go.mod h1:ECOoLqd5U3Lhyeyo/QDCEVQ4sNgYsqvCZ722XogGieY=
golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug=
golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.36.0 h1:KVRy2GtZBrk1cBYA7MKu5bEZFxQk4NIDV6RLVcC8o0k=
golang.org/x/sys v0.36.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
golang.org/x/text v0.29.0 h1:1neNs90w9YzJ9BocxfsQNHKuAT4pkghyXc4nhZ6sJvk=
golang.org/x/text v0.29.0/go.mod h1:7MhJOA9CD2qZyOKYazxdYMF85OwPdEr9jTtBpO7ydH4=
golang.org/x/tools v0.36.0 h1:kWS0uv/zsvHEle1LbV5LE8QujrxB3wfQyxHfhOk0Qkg=
golang.org/x/tools v0.36.0/go.mod h1:WBDiHKJK8YgLHlcQPYQzNCkUxUypCaa5ZegCVutKm+s=
google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY=
google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
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=
rsc.io/qr v0.2.0 h1:6vBLea5/NRMVTz8V66gipeLycZMl/+UlFmk8DvqQ6WY=
rsc.io/qr v0.2.0/go.mod h1:IF+uZjkb9fqyeF/4tlBoynqmQxUoPfWEKh921coOuXs=

22
.citools/src/bra/go.mod Normal file
View File

@@ -0,0 +1,22 @@
module bra
go 1.25.3
tool github.com/unknwon/bra
require (
github.com/BurntSushi/toml v1.5.0 // indirect
github.com/cpuguy83/go-md2man/v2 v2.0.6 // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/fsnotify/fsnotify v1.8.0 // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
github.com/russross/blackfriday/v2 v2.1.0 // indirect
github.com/smartystreets/goconvey v1.6.4 // indirect
github.com/stretchr/testify v1.10.0 // indirect
github.com/unknwon/bra v0.0.0-20200517080246-1e3013ecaff8 // indirect
github.com/unknwon/com v1.0.1 // indirect
github.com/unknwon/log v0.0.0-20200308114134-929b1006e34a // indirect
github.com/urfave/cli v1.22.16 // indirect
golang.org/x/sys v0.36.0 // indirect
gopkg.in/fsnotify/fsnotify.v1 v1.4.7 // indirect
)

70
.citools/src/bra/go.sum Normal file
View File

@@ -0,0 +1,70 @@
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/BurntSushi/toml v1.4.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho=
github.com/BurntSushi/toml v1.5.0 h1:W5quZX/G/csjUnuI8SUYlsHs9M38FC7znL0lIO+DvMg=
github.com/BurntSushi/toml v1.5.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho=
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
github.com/cpuguy83/go-md2man/v2 v2.0.5/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
github.com/cpuguy83/go-md2man/v2 v2.0.6 h1:XJtiaUW6dEEqVuZiMTn1ldk455QWwEIsMIJlo5vtkx0=
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/8M=
github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
github.com/gopherjs/gopherjs v0.0.0-20181103185306-d547d1d9531e h1:JKmoR8x90Iww1ks85zJ1lfDGgIiMDuIptTOhJq+zKyg=
github.com/gopherjs/gopherjs v0.0.0-20181103185306-d547d1d9531e/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
github.com/jtolds/gls v4.2.1+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo=
github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
github.com/smartystreets/assertions v0.0.0-20190116191733-b6c0e53d7304 h1:Jpy1PXuP99tXNrhbq2BaPz9B+jNAvH1JPQQpG/9GCXY=
github.com/smartystreets/assertions v0.0.0-20190116191733-b6c0e53d7304/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
github.com/smartystreets/goconvey v0.0.0-20181108003508-044398e4856c/go.mod h1:XDJAKZRPZ1CvBcN2aX5YOUTYGHki24fSF0Iv48Ibg0s=
github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s=
github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/unknwon/bra v0.0.0-20200517080246-1e3013ecaff8 h1:aVGB3YnaS/JNfOW3tiHIlmNmTDg618va+eT0mVomgyI=
github.com/unknwon/bra v0.0.0-20200517080246-1e3013ecaff8/go.mod h1:fVle4kNr08ydeohzYafr20oZzbAkhQT39gKK/pFQ5M4=
github.com/unknwon/com v1.0.1 h1:3d1LTxD+Lnf3soQiD4Cp/0BRB+Rsa/+RTvz8GMMzIXs=
github.com/unknwon/com v1.0.1/go.mod h1:tOOxU81rwgoCLoOVVPHb6T/wt8HZygqH5id+GNnlCXM=
github.com/unknwon/log v0.0.0-20150304194804-e617c87089d3/go.mod h1:1xEUf2abjfP92w2GZTV+GgaRxXErwRXcClbUwrNJffU=
github.com/unknwon/log v0.0.0-20200308114134-929b1006e34a h1:vcrhXnj9g9PIE+cmZgaPSwOyJ8MAQTRmsgGrB0x5rF4=
github.com/unknwon/log v0.0.0-20200308114134-929b1006e34a/go.mod h1:1xEUf2abjfP92w2GZTV+GgaRxXErwRXcClbUwrNJffU=
github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
github.com/urfave/cli v1.22.16 h1:MH0k6uJxdwdeWQTwhSO42Pwr4YLrNLwBtg1MRgTqPdQ=
github.com/urfave/cli v1.22.16/go.mod h1:EeJR6BKodywf4zciqrdw6hpCPk68JO9z5LazXZMn5Po=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20191020152052-9984515f0562/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.36.0 h1:KVRy2GtZBrk1cBYA7MKu5bEZFxQk4NIDV6RLVcC8o0k=
golang.org/x/sys v0.36.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/fsnotify/fsnotify.v1 v1.4.7 h1:XNNYLJHt73EyYiCZi6+xjupS9CpvmiDgjPTAjrBlQbo=
gopkg.in/fsnotify/fsnotify.v1 v1.4.7/go.mod h1:Fyux9zXlo4rWoMSIzpn9fDAYjalPqJ/K1qJ27s+7ltE=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

50
.citools/src/cog/go.mod Normal file
View File

@@ -0,0 +1,50 @@
module cog
go 1.25.3
tool github.com/grafana/cog/cmd/cli
require (
cuelabs.dev/go/oci/ociregistry v0.0.0-20240906074133-82eb438dd565 // indirect
cuelang.org/go v0.11.1 // indirect
github.com/cockroachdb/apd/v3 v3.2.1 // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/emicklei/proto v1.13.2 // indirect
github.com/expr-lang/expr v1.17.0 // indirect
github.com/getkin/kin-openapi v0.132.0 // indirect
github.com/go-openapi/jsonpointer v0.21.0 // indirect
github.com/go-openapi/swag v0.23.0 // indirect
github.com/google/go-cmp v0.7.0 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/grafana/codejen v0.0.4-0.20230321061741-77f656893a3d // indirect
github.com/grafana/cog v0.0.34 // indirect
github.com/hashicorp/errwrap v1.1.0 // indirect
github.com/hashicorp/go-multierror v1.1.1 // indirect
github.com/huandu/xstrings v1.5.0 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/josharian/intern v1.0.0 // indirect
github.com/lib/pq v1.10.9 // indirect
github.com/mailru/easyjson v0.7.7 // indirect
github.com/mitchellh/go-wordwrap v1.0.1 // indirect
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 // indirect
github.com/oasdiff/yaml v0.0.0-20250309154309-f31be36b4037 // indirect
github.com/oasdiff/yaml3 v0.0.0-20250309153720-d2182401db90 // indirect
github.com/opencontainers/go-digest v1.0.0 // indirect
github.com/opencontainers/image-spec v1.1.0 // indirect
github.com/pelletier/go-toml/v2 v2.2.3 // indirect
github.com/perimeterx/marshmallow v1.1.5 // indirect
github.com/protocolbuffers/txtpbfmt v0.0.0-20241112170944-20d2c9ebc01d // indirect
github.com/rogpeppe/go-internal v1.14.1 // indirect
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 // indirect
github.com/spf13/cobra v1.9.1 // indirect
github.com/spf13/pflag v1.0.6 // indirect
github.com/ugorji/go/codec v1.2.11 // indirect
github.com/yalue/merged_fs v1.3.0 // indirect
golang.org/x/mod v0.27.0 // indirect
golang.org/x/net v0.45.0 // indirect
golang.org/x/oauth2 v0.30.0 // indirect
golang.org/x/sync v0.17.0 // indirect
golang.org/x/text v0.29.0 // indirect
golang.org/x/tools v0.36.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)

106
.citools/src/cog/go.sum Normal file
View File

@@ -0,0 +1,106 @@
cuelabs.dev/go/oci/ociregistry v0.0.0-20240906074133-82eb438dd565 h1:R5wwEcbEZSBmeyg91MJZTxfd7WpBo2jPof3AYjRbxwY=
cuelabs.dev/go/oci/ociregistry v0.0.0-20240906074133-82eb438dd565/go.mod h1:5A4xfTzHTXfeVJBU6RAUf+QrlfTCW+017q/QiW+sMLg=
cuelang.org/go v0.11.1 h1:pV+49MX1mmvDm8Qh3Za3M786cty8VKPWzQ1Ho4gZRP0=
cuelang.org/go v0.11.1/go.mod h1:PBY6XvPUswPPJ2inpvUozP9mebDVTXaeehQikhZPBz0=
github.com/cockroachdb/apd/v3 v3.2.1 h1:U+8j7t0axsIgvQUqthuNm82HIrYXodOV2iWLWtEaIwg=
github.com/cockroachdb/apd/v3 v3.2.1/go.mod h1:klXJcjp+FffLTHlhIG69tezTDvdP065naDsHzKhYSqc=
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/emicklei/proto v1.13.2 h1:z/etSFO3uyXeuEsVPzfl56WNgzcvIr42aQazXaQmFZY=
github.com/emicklei/proto v1.13.2/go.mod h1:rn1FgRS/FANiZdD2djyH7TMA9jdRDcYQ9IEN9yvjX0A=
github.com/expr-lang/expr v1.17.0 h1:+vpszOyzKLQXC9VF+wA8cVA0tlA984/Wabc/1hF9Whg=
github.com/expr-lang/expr v1.17.0/go.mod h1:8/vRC7+7HBzESEqt5kKpYXxrxkr31SaO8r40VO/1IT4=
github.com/getkin/kin-openapi v0.132.0 h1:3ISeLMsQzcb5v26yeJrBcdTCEQTag36ZjaGk7MIRUwk=
github.com/getkin/kin-openapi v0.132.0/go.mod h1:3OlG51PCYNsPByuiMB0t4fjnNlIDnaEDsjiKUV8nL58=
github.com/go-openapi/jsonpointer v0.21.0 h1:YgdVicSA9vH5RiHs9TZW5oyafXZFc6+2Vc1rr/O9oNQ=
github.com/go-openapi/jsonpointer v0.21.0/go.mod h1:IUyH9l/+uyhIYQ/PXVA41Rexl+kOkAPDdXEYns6fzUY=
github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+GrE=
github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ=
github.com/go-quicktest/qt v1.101.0 h1:O1K29Txy5P2OK0dGo59b7b0LR6wKfIhttaAhHUyn7eI=
github.com/go-quicktest/qt v1.101.0/go.mod h1:14Bz/f7NwaXPtdYEgzsx46kqSxVwTbzVZsDC26tQJow=
github.com/go-test/deep v1.0.8 h1:TDsG77qcSprGbC6vTN8OuXp5g+J+b5Pcguhf7Zt61VM=
github.com/go-test/deep v1.0.8/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/grafana/codejen v0.0.4-0.20230321061741-77f656893a3d h1:hrXbGJ5jgp6yNITzs5o+zXq0V5yT3siNJ+uM8LGwWKk=
github.com/grafana/codejen v0.0.4-0.20230321061741-77f656893a3d/go.mod h1:zmwwM/DRyQB7pfuBjTWII3CWtxcXh8LTwAYGfDfpR6s=
github.com/grafana/cog v0.0.34 h1:tXtjIB0A0Y6jeZ5iAQBJIAz5vkAJsV0iEFfX94PH/+Q=
github.com/grafana/cog v0.0.34/go.mod h1:UDstzYqMdgIROmbfkHL8fB9XWQO2lnf5z+4W/eJo4Dc=
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I=
github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo=
github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM=
github.com/huandu/xstrings v1.5.0 h1:2ag3IFq9ZDANvthTwTiqSSZLjDc+BedvHPAp5tJy2TI=
github.com/huandu/xstrings v1.5.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
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.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw=
github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0=
github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0=
github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0=
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 h1:RWengNIwukTxcDr9M+97sNutRR1RKhG96O6jWumTTnw=
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8=
github.com/oasdiff/yaml v0.0.0-20250309154309-f31be36b4037 h1:G7ERwszslrBzRxj//JalHPu/3yz+De2J+4aLtSRlHiY=
github.com/oasdiff/yaml v0.0.0-20250309154309-f31be36b4037/go.mod h1:2bpvgLBZEtENV5scfDFEtB/5+1M4hkQhDQrccEJ/qGw=
github.com/oasdiff/yaml3 v0.0.0-20250309153720-d2182401db90 h1:bQx3WeLcUWy+RletIKwUIt4x3t8n2SxavmoclizMb8c=
github.com/oasdiff/yaml3 v0.0.0-20250309153720-d2182401db90/go.mod h1:y5+oSEHCPT/DGrS++Wc/479ERge0zTFxaF8PbGKcg2o=
github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
github.com/opencontainers/image-spec v1.1.0 h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQb2IpWsCzug=
github.com/opencontainers/image-spec v1.1.0/go.mod h1:W4s4sFTMaBeK1BQLXbG4AdM2szdn85PY75RI83NrTrM=
github.com/pelletier/go-toml/v2 v2.2.3 h1:YmeHyLY8mFWbdkNWwpr+qIL2bEqT0o95WSdkNHvL12M=
github.com/pelletier/go-toml/v2 v2.2.3/go.mod h1:MfCQTFTvCcUyyvvwm1+G6H/jORL20Xlb6rzQu9GuUkc=
github.com/perimeterx/marshmallow v1.1.5 h1:a2LALqQ1BlHM8PZblsDdidgv1mWi1DgC2UmX50IvK2s=
github.com/perimeterx/marshmallow v1.1.5/go.mod h1:dsXbUu8CRzfYP5a87xpp0xq9S3u0Vchtcl8we9tYaXw=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/protocolbuffers/txtpbfmt v0.0.0-20241112170944-20d2c9ebc01d h1:HWfigq7lB31IeJL8iy7jkUmU/PG1Sr8jVGhS749dbUA=
github.com/protocolbuffers/txtpbfmt v0.0.0-20241112170944-20d2c9ebc01d/go.mod h1:jgxiZysxFPM+iWKwQwPR+y+Jvo54ARd4EisXxKYpB5c=
github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 h1:lZUw3E0/J3roVtGQ+SCrUrg3ON6NgVqpn3+iol9aGu4=
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1/go.mod h1:uToXkOrWAZ6/Oc07xWQrPOhJotwFIyu2bBVN41fcDUY=
github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo=
github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0=
github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/ugorji/go/codec v1.2.11 h1:BMaWp1Bb6fHwEtbplGBGJ498wD+LKlNSl25MjdZY4dU=
github.com/ugorji/go/codec v1.2.11/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg=
github.com/yalue/merged_fs v1.3.0 h1:qCeh9tMPNy/i8cwDsQTJ5bLr6IRxbs6meakNE5O+wyY=
github.com/yalue/merged_fs v1.3.0/go.mod h1:WqqchfVYQyclV2tnR7wtRhBddzBvLVR83Cjw9BKQw0M=
golang.org/x/mod v0.27.0 h1:kb+q2PyFnEADO2IEF935ehFUXlWiNjJWtRNgBLSfbxQ=
golang.org/x/mod v0.27.0/go.mod h1:rWI627Fq0DEoudcK+MBkNkCe0EetEaDSwJJkCcjpazc=
golang.org/x/net v0.45.0 h1:RLBg5JKixCy82FtLJpeNlVM0nrSqpCRYzVU1n8kj0tM=
golang.org/x/net v0.45.0/go.mod h1:ECOoLqd5U3Lhyeyo/QDCEVQ4sNgYsqvCZ722XogGieY=
golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI=
golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU=
golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug=
golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
golang.org/x/sys v0.36.0 h1:KVRy2GtZBrk1cBYA7MKu5bEZFxQk4NIDV6RLVcC8o0k=
golang.org/x/sys v0.36.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
golang.org/x/text v0.29.0 h1:1neNs90w9YzJ9BocxfsQNHKuAT4pkghyXc4nhZ6sJvk=
golang.org/x/text v0.29.0/go.mod h1:7MhJOA9CD2qZyOKYazxdYMF85OwPdEr9jTtBpO7ydH4=
golang.org/x/tools v0.36.0 h1:kWS0uv/zsvHEle1LbV5LE8QujrxB3wfQyxHfhOk0Qkg=
golang.org/x/tools v0.36.0/go.mod h1:WBDiHKJK8YgLHlcQPYQzNCkUxUypCaa5ZegCVutKm+s=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

37
.citools/src/cue/go.mod Normal file
View File

@@ -0,0 +1,37 @@
module cue
go 1.25.3
tool cuelang.org/go/cmd/cue
require (
cuelabs.dev/go/oci/ociregistry v0.0.0-20240906074133-82eb438dd565 // indirect
cuelang.org/go v0.11.1 // indirect
github.com/cockroachdb/apd/v3 v3.2.1 // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/emicklei/proto v1.13.2 // indirect
github.com/google/go-cmp v0.7.0 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/lib/pq v1.10.9 // indirect
github.com/mitchellh/go-wordwrap v1.0.1 // indirect
github.com/opencontainers/go-digest v1.0.0 // indirect
github.com/opencontainers/image-spec v1.1.0 // indirect
github.com/pelletier/go-toml/v2 v2.2.3 // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
github.com/protocolbuffers/txtpbfmt v0.0.0-20241112170944-20d2c9ebc01d // indirect
github.com/rogpeppe/go-internal v1.14.1 // indirect
github.com/spf13/cobra v1.9.1 // indirect
github.com/spf13/pflag v1.0.6 // indirect
github.com/stretchr/testify v1.10.0 // indirect
github.com/tetratelabs/wazero v1.6.0 // indirect
golang.org/x/mod v0.27.0 // indirect
golang.org/x/net v0.45.0 // indirect
golang.org/x/oauth2 v0.30.0 // indirect
golang.org/x/sync v0.17.0 // indirect
golang.org/x/sys v0.36.0 // indirect
golang.org/x/text v0.29.0 // indirect
golang.org/x/tools v0.36.0 // indirect
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)

74
.citools/src/cue/go.sum Normal file
View File

@@ -0,0 +1,74 @@
cuelabs.dev/go/oci/ociregistry v0.0.0-20240906074133-82eb438dd565 h1:R5wwEcbEZSBmeyg91MJZTxfd7WpBo2jPof3AYjRbxwY=
cuelabs.dev/go/oci/ociregistry v0.0.0-20240906074133-82eb438dd565/go.mod h1:5A4xfTzHTXfeVJBU6RAUf+QrlfTCW+017q/QiW+sMLg=
cuelang.org/go v0.11.1 h1:pV+49MX1mmvDm8Qh3Za3M786cty8VKPWzQ1Ho4gZRP0=
cuelang.org/go v0.11.1/go.mod h1:PBY6XvPUswPPJ2inpvUozP9mebDVTXaeehQikhZPBz0=
github.com/cockroachdb/apd/v3 v3.2.1 h1:U+8j7t0axsIgvQUqthuNm82HIrYXodOV2iWLWtEaIwg=
github.com/cockroachdb/apd/v3 v3.2.1/go.mod h1:klXJcjp+FffLTHlhIG69tezTDvdP065naDsHzKhYSqc=
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/emicklei/proto v1.13.2 h1:z/etSFO3uyXeuEsVPzfl56WNgzcvIr42aQazXaQmFZY=
github.com/emicklei/proto v1.13.2/go.mod h1:rn1FgRS/FANiZdD2djyH7TMA9jdRDcYQ9IEN9yvjX0A=
github.com/go-quicktest/qt v1.101.0 h1:O1K29Txy5P2OK0dGo59b7b0LR6wKfIhttaAhHUyn7eI=
github.com/go-quicktest/qt v1.101.0/go.mod h1:14Bz/f7NwaXPtdYEgzsx46kqSxVwTbzVZsDC26tQJow=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4=
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw=
github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0=
github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0=
github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
github.com/opencontainers/image-spec v1.1.0 h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQb2IpWsCzug=
github.com/opencontainers/image-spec v1.1.0/go.mod h1:W4s4sFTMaBeK1BQLXbG4AdM2szdn85PY75RI83NrTrM=
github.com/pelletier/go-toml/v2 v2.2.3 h1:YmeHyLY8mFWbdkNWwpr+qIL2bEqT0o95WSdkNHvL12M=
github.com/pelletier/go-toml/v2 v2.2.3/go.mod h1:MfCQTFTvCcUyyvvwm1+G6H/jORL20Xlb6rzQu9GuUkc=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/protocolbuffers/txtpbfmt v0.0.0-20241112170944-20d2c9ebc01d h1:HWfigq7lB31IeJL8iy7jkUmU/PG1Sr8jVGhS749dbUA=
github.com/protocolbuffers/txtpbfmt v0.0.0-20241112170944-20d2c9ebc01d/go.mod h1:jgxiZysxFPM+iWKwQwPR+y+Jvo54ARd4EisXxKYpB5c=
github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo=
github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0=
github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/tetratelabs/wazero v1.6.0 h1:z0H1iikCdP8t+q341xqepY4EWvHEw8Es7tlqiVzlP3g=
github.com/tetratelabs/wazero v1.6.0/go.mod h1:0U0G41+ochRKoPKCJlh0jMg1CHkyfK8kDqiirMmKY8A=
golang.org/x/mod v0.27.0 h1:kb+q2PyFnEADO2IEF935ehFUXlWiNjJWtRNgBLSfbxQ=
golang.org/x/mod v0.27.0/go.mod h1:rWI627Fq0DEoudcK+MBkNkCe0EetEaDSwJJkCcjpazc=
golang.org/x/net v0.45.0 h1:RLBg5JKixCy82FtLJpeNlVM0nrSqpCRYzVU1n8kj0tM=
golang.org/x/net v0.45.0/go.mod h1:ECOoLqd5U3Lhyeyo/QDCEVQ4sNgYsqvCZ722XogGieY=
golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI=
golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU=
golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug=
golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
golang.org/x/sys v0.36.0 h1:KVRy2GtZBrk1cBYA7MKu5bEZFxQk4NIDV6RLVcC8o0k=
golang.org/x/sys v0.36.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
golang.org/x/text v0.29.0 h1:1neNs90w9YzJ9BocxfsQNHKuAT4pkghyXc4nhZ6sJvk=
golang.org/x/text v0.29.0/go.mod h1:7MhJOA9CD2qZyOKYazxdYMF85OwPdEr9jTtBpO7ydH4=
golang.org/x/tools v0.36.0 h1:kWS0uv/zsvHEle1LbV5LE8QujrxB3wfQyxHfhOk0Qkg=
golang.org/x/tools v0.36.0/go.mod h1:WBDiHKJK8YgLHlcQPYQzNCkUxUypCaa5ZegCVutKm+s=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
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

@@ -0,0 +1,212 @@
module golangci-lint
go 1.25.3
tool github.com/golangci/golangci-lint/v2/cmd/golangci-lint
require (
4d63.com/gocheckcompilerdirectives v1.3.0 // indirect
4d63.com/gochecknoglobals v0.2.2 // indirect
codeberg.org/chavacava/garif v0.2.0 // indirect
dev.gaijin.team/go/exhaustruct/v4 v4.0.0 // indirect
dev.gaijin.team/go/golib v0.6.0 // indirect
github.com/4meepo/tagalign v1.4.3 // indirect
github.com/Abirdcfly/dupword v0.1.6 // indirect
github.com/AdminBenni/iota-mixing v1.0.0 // indirect
github.com/AlwxSin/noinlineerr v1.0.5 // indirect
github.com/Antonboom/errname v1.1.1 // indirect
github.com/Antonboom/nilnil v1.1.1 // indirect
github.com/Antonboom/testifylint v1.6.4 // indirect
github.com/BurntSushi/toml v1.5.0 // indirect
github.com/Djarvur/go-err113 v0.1.1 // indirect
github.com/Masterminds/semver/v3 v3.3.1 // indirect
github.com/MirrexOne/unqueryvet v1.2.1 // indirect
github.com/OpenPeeDeeP/depguard/v2 v2.2.1 // indirect
github.com/alecthomas/chroma/v2 v2.20.0 // indirect
github.com/alecthomas/go-check-sumtype v0.3.1 // indirect
github.com/alexkohler/nakedret/v2 v2.0.6 // indirect
github.com/alexkohler/prealloc v1.0.0 // indirect
github.com/alfatraining/structtag v1.0.0 // indirect
github.com/alingse/asasalint v0.0.11 // indirect
github.com/alingse/nilnesserr v0.2.0 // indirect
github.com/ashanbrown/forbidigo/v2 v2.1.0 // indirect
github.com/ashanbrown/makezero/v2 v2.0.1 // indirect
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
github.com/beorn7/perks v1.0.1 // indirect
github.com/bkielbasa/cyclop v1.2.3 // indirect
github.com/blizzy78/varnamelen v0.8.0 // indirect
github.com/bombsimon/wsl/v4 v4.7.0 // indirect
github.com/bombsimon/wsl/v5 v5.2.0 // indirect
github.com/breml/bidichk v0.3.3 // indirect
github.com/breml/errchkjson v0.4.1 // indirect
github.com/butuzov/ireturn v0.4.0 // indirect
github.com/butuzov/mirror v1.3.0 // indirect
github.com/catenacyber/perfsprint v0.9.1 // indirect
github.com/ccojocar/zxcvbn-go v1.0.4 // indirect
github.com/cespare/xxhash/v2 v2.3.0 // indirect
github.com/charithe/durationcheck v0.0.10 // indirect
github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc // indirect
github.com/charmbracelet/lipgloss v1.1.0 // indirect
github.com/charmbracelet/x/ansi v0.8.0 // indirect
github.com/charmbracelet/x/cellbuf v0.0.13-0.20250311204145-2c3ea96c31dd // indirect
github.com/charmbracelet/x/term v0.2.1 // indirect
github.com/ckaznocha/intrange v0.3.1 // indirect
github.com/curioswitch/go-reassign v0.3.0 // indirect
github.com/daixiang0/gci v0.13.7 // indirect
github.com/dave/dst v0.27.3 // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/denis-tingaikin/go-header v0.5.0 // indirect
github.com/dlclark/regexp2 v1.11.5 // indirect
github.com/ettle/strcase v0.2.0 // indirect
github.com/fatih/color v1.18.0 // indirect
github.com/fatih/structtag v1.2.0 // indirect
github.com/firefart/nonamedreturns v1.0.6 // indirect
github.com/fsnotify/fsnotify v1.8.0 // indirect
github.com/fzipp/gocyclo v0.6.0 // indirect
github.com/ghostiam/protogetter v0.3.16 // indirect
github.com/go-critic/go-critic v0.13.0 // indirect
github.com/go-toolsmith/astcast v1.1.0 // indirect
github.com/go-toolsmith/astcopy v1.1.0 // indirect
github.com/go-toolsmith/astequal v1.2.0 // indirect
github.com/go-toolsmith/astfmt v1.1.0 // indirect
github.com/go-toolsmith/astp v1.1.0 // indirect
github.com/go-toolsmith/strparse v1.1.0 // indirect
github.com/go-toolsmith/typep v1.1.0 // indirect
github.com/go-viper/mapstructure/v2 v2.4.0 // indirect
github.com/go-xmlfmt/xmlfmt v1.1.3 // indirect
github.com/gobwas/glob v0.2.3 // indirect
github.com/godoc-lint/godoc-lint v0.10.0 // indirect
github.com/gofrs/flock v0.12.1 // indirect
github.com/golangci/asciicheck v0.5.0 // indirect
github.com/golangci/dupl v0.0.0-20250308024227-f665c8d69b32 // indirect
github.com/golangci/go-printf-func-name v0.1.1 // indirect
github.com/golangci/gofmt v0.0.0-20250106114630-d62b90e6713d // indirect
github.com/golangci/golangci-lint/v2 v2.5.0 // indirect
github.com/golangci/golines v0.0.0-20250217134842-442fd0091d95 // indirect
github.com/golangci/misspell v0.7.0 // indirect
github.com/golangci/nilerr v0.0.0-20250918000102-015671e622fe // indirect
github.com/golangci/plugin-module-register v0.1.2 // indirect
github.com/golangci/revgrep v0.8.0 // indirect
github.com/golangci/swaggoswag v0.0.0-20250504205917-77f2aca3143e // indirect
github.com/golangci/unconvert v0.0.0-20250410112200-a129a6e6413e // indirect
github.com/google/go-cmp v0.7.0 // indirect
github.com/gordonklaus/ineffassign v0.2.0 // indirect
github.com/gostaticanalysis/analysisutil v0.7.1 // indirect
github.com/gostaticanalysis/comment v1.5.0 // indirect
github.com/gostaticanalysis/forcetypeassert v0.2.0 // indirect
github.com/hashicorp/go-immutable-radix/v2 v2.1.0 // indirect
github.com/hashicorp/go-version v1.7.0 // indirect
github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect
github.com/hexops/gotextdiff v1.0.3 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/jgautheron/goconst v1.8.2 // indirect
github.com/jingyugao/rowserrcheck v1.1.1 // indirect
github.com/jjti/go-spancheck v0.6.5 // indirect
github.com/julz/importas v0.2.0 // indirect
github.com/karamaru-alpha/copyloopvar v1.2.1 // indirect
github.com/kisielk/errcheck v1.9.0 // indirect
github.com/kkHAIKE/contextcheck v1.1.6 // indirect
github.com/kulti/thelper v0.7.1 // indirect
github.com/kunwardeep/paralleltest v1.0.14 // indirect
github.com/lasiar/canonicalheader v1.1.2 // indirect
github.com/ldez/exptostd v0.4.4 // indirect
github.com/ldez/gomoddirectives v0.7.0 // indirect
github.com/ldez/grignotin v0.10.1 // indirect
github.com/ldez/tagliatelle v0.7.2 // indirect
github.com/ldez/usetesting v0.5.0 // indirect
github.com/leonklingele/grouper v1.1.2 // indirect
github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
github.com/macabu/inamedparam v0.2.0 // indirect
github.com/manuelarte/embeddedstructfieldcheck v0.4.0 // indirect
github.com/manuelarte/funcorder v0.5.0 // indirect
github.com/maratori/testableexamples v1.0.0 // indirect
github.com/maratori/testpackage v1.1.1 // indirect
github.com/matoous/godox v1.1.0 // indirect
github.com/matryer/is v1.4.1 // indirect
github.com/mattn/go-colorable v0.1.14 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
github.com/mattn/go-runewidth v0.0.16 // indirect
github.com/mgechev/revive v1.12.0 // indirect
github.com/mitchellh/go-homedir v1.1.0 // indirect
github.com/moricho/tparallel v0.3.2 // indirect
github.com/muesli/termenv v0.16.0 // indirect
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
github.com/nakabonne/nestif v0.3.1 // indirect
github.com/nishanths/exhaustive v0.12.0 // indirect
github.com/nishanths/predeclared v0.2.2 // indirect
github.com/nunnatsa/ginkgolinter v0.21.0 // indirect
github.com/pelletier/go-toml/v2 v2.2.4 // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
github.com/polyfloyd/go-errorlint v1.8.0 // indirect
github.com/prometheus/client_golang v1.22.0 // indirect
github.com/prometheus/client_model v0.6.1 // indirect
github.com/prometheus/common v0.63.0 // indirect
github.com/prometheus/procfs v0.16.0 // indirect
github.com/quasilyte/go-ruleguard v0.4.4 // indirect
github.com/quasilyte/go-ruleguard/dsl v0.3.22 // indirect
github.com/quasilyte/gogrep v0.5.0 // indirect
github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727 // indirect
github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 // indirect
github.com/raeperd/recvcheck v0.2.0 // indirect
github.com/rivo/uniseg v0.4.7 // indirect
github.com/rogpeppe/go-internal v1.14.1 // indirect
github.com/ryancurrah/gomodguard v1.4.1 // indirect
github.com/ryanrolds/sqlclosecheck v0.5.1 // indirect
github.com/sagikazarmark/locafero v0.7.0 // indirect
github.com/sanposhiho/wastedassign/v2 v2.1.0 // indirect
github.com/santhosh-tekuri/jsonschema/v6 v6.0.2 // indirect
github.com/sashamelentyev/interfacebloat v1.1.0 // indirect
github.com/sashamelentyev/usestdlibvars v1.29.0 // indirect
github.com/securego/gosec/v2 v2.22.8 // indirect
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // indirect
github.com/sirupsen/logrus v1.9.3 // indirect
github.com/sivchari/containedctx v1.0.3 // indirect
github.com/sonatard/noctx v0.4.0 // indirect
github.com/sourcegraph/conc v0.3.0 // indirect
github.com/sourcegraph/go-diff v0.7.0 // indirect
github.com/spf13/afero v1.14.0 // indirect
github.com/spf13/cast v1.7.1 // indirect
github.com/spf13/cobra v1.10.1 // indirect
github.com/spf13/pflag v1.0.10 // indirect
github.com/spf13/viper v1.20.1 // indirect
github.com/ssgreg/nlreturn/v2 v2.2.1 // indirect
github.com/stbenjam/no-sprintf-host-port v0.2.0 // indirect
github.com/stretchr/objx v0.5.2 // indirect
github.com/stretchr/testify v1.11.1 // indirect
github.com/subosito/gotenv v1.6.0 // indirect
github.com/tetafro/godot v1.5.4 // indirect
github.com/timakin/bodyclose v0.0.0-20241222091800-1db5c5ca4d67 // indirect
github.com/timonwong/loggercheck v0.11.0 // indirect
github.com/tomarrell/wrapcheck/v2 v2.11.0 // indirect
github.com/tommy-muehle/go-mnd/v2 v2.5.1 // indirect
github.com/ultraware/funlen v0.2.0 // indirect
github.com/ultraware/whitespace v0.2.0 // indirect
github.com/uudashr/gocognit v1.2.0 // indirect
github.com/uudashr/iface v1.4.1 // indirect
github.com/xen0n/gosmopolitan v1.3.0 // indirect
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
github.com/yagipy/maintidx v1.0.0 // indirect
github.com/yeya24/promlinter v0.3.0 // indirect
github.com/ykadowak/zerologlint v0.1.5 // indirect
gitlab.com/bosi/decorder v0.4.2 // indirect
go-simpler.org/musttag v0.14.0 // indirect
go-simpler.org/sloglint v0.11.1 // indirect
go.augendre.info/arangolint v0.2.0 // indirect
go.augendre.info/fatcontext v0.8.1 // indirect
go.uber.org/automaxprocs v1.6.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
go.uber.org/zap v1.27.0 // indirect
golang.org/x/exp v0.0.0-20250305212735-054e65f0b394 // indirect
golang.org/x/exp/typeparams v0.0.0-20250911091902-df9299821621 // indirect
golang.org/x/mod v0.28.0 // indirect
golang.org/x/net v0.45.0 // indirect
golang.org/x/sync v0.17.0 // indirect
golang.org/x/sys v0.36.0 // indirect
golang.org/x/text v0.29.0 // indirect
golang.org/x/tools v0.37.0 // indirect
google.golang.org/protobuf v1.36.6 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
honnef.co/go/tools v0.6.1 // indirect
mvdan.cc/gofumpt v0.9.1 // indirect
mvdan.cc/unparam v0.0.0-20250301125049-0df0534333a4 // indirect
)

View File

@@ -0,0 +1,588 @@
4d63.com/gocheckcompilerdirectives v1.3.0 h1:Ew5y5CtcAAQeTVKUVFrE7EwHMrTO6BggtEj8BZSjZ3A=
4d63.com/gocheckcompilerdirectives v1.3.0/go.mod h1:ofsJ4zx2QAuIP/NO/NAh1ig6R1Fb18/GI7RVMwz7kAY=
4d63.com/gochecknoglobals v0.2.2 h1:H1vdnwnMaZdQW/N+NrkT1SZMTBmcwHe9Vq8lJcYYTtU=
4d63.com/gochecknoglobals v0.2.2/go.mod h1:lLxwTQjL5eIesRbvnzIP3jZtG140FnTdz+AlMa+ogt0=
codeberg.org/chavacava/garif v0.2.0 h1:F0tVjhYbuOCnvNcU3YSpO6b3Waw6Bimy4K0mM8y6MfY=
codeberg.org/chavacava/garif v0.2.0/go.mod h1:P2BPbVbT4QcvLZrORc2T29szK3xEOlnl0GiPTJmEqBQ=
dev.gaijin.team/go/exhaustruct/v4 v4.0.0 h1:873r7aNneqoBB3IaFIzhvt2RFYTuHgmMjoKfwODoI1Y=
dev.gaijin.team/go/exhaustruct/v4 v4.0.0/go.mod h1:aZ/k2o4Y05aMJtiux15x8iXaumE88YdiB0Ai4fXOzPI=
dev.gaijin.team/go/golib v0.6.0 h1:v6nnznFTs4bppib/NyU1PQxobwDHwCXXl15P7DV5Zgo=
dev.gaijin.team/go/golib v0.6.0/go.mod h1:uY1mShx8Z/aNHWDyAkZTkX+uCi5PdX7KsG1eDQa2AVE=
github.com/4meepo/tagalign v1.4.3 h1:Bnu7jGWwbfpAie2vyl63Zup5KuRv21olsPIha53BJr8=
github.com/4meepo/tagalign v1.4.3/go.mod h1:00WwRjiuSbrRJnSVeGWPLp2epS5Q/l4UEy0apLLS37c=
github.com/Abirdcfly/dupword v0.1.6 h1:qeL6u0442RPRe3mcaLcbaCi2/Y/hOcdtw6DE9odjz9c=
github.com/Abirdcfly/dupword v0.1.6/go.mod h1:s+BFMuL/I4YSiFv29snqyjwzDp4b65W2Kvy+PKzZ6cw=
github.com/AdminBenni/iota-mixing v1.0.0 h1:Os6lpjG2dp/AE5fYBPAA1zfa2qMdCAWwPMCgpwKq7wo=
github.com/AdminBenni/iota-mixing v1.0.0/go.mod h1:i4+tpAaB+qMVIV9OK3m4/DAynOd5bQFaOu+2AhtBCNY=
github.com/AlwxSin/noinlineerr v1.0.5 h1:RUjt63wk1AYWTXtVXbSqemlbVTb23JOSRiNsshj7TbY=
github.com/AlwxSin/noinlineerr v1.0.5/go.mod h1:+QgkkoYrMH7RHvcdxdlI7vYYEdgeoFOVjU9sUhw/rQc=
github.com/Antonboom/errname v1.1.1 h1:bllB7mlIbTVzO9jmSWVWLjxTEbGBVQ1Ff/ClQgtPw9Q=
github.com/Antonboom/errname v1.1.1/go.mod h1:gjhe24xoxXp0ScLtHzjiXp0Exi1RFLKJb0bVBtWKCWQ=
github.com/Antonboom/nilnil v1.1.1 h1:9Mdr6BYd8WHCDngQnNVV0b554xyisFioEKi30sksufQ=
github.com/Antonboom/nilnil v1.1.1/go.mod h1:yCyAmSw3doopbOWhJlVci+HuyNRuHJKIv6V2oYQa8II=
github.com/Antonboom/testifylint v1.6.4 h1:gs9fUEy+egzxkEbq9P4cpcMB6/G0DYdMeiFS87UiqmQ=
github.com/Antonboom/testifylint v1.6.4/go.mod h1:YO33FROXX2OoUfwjz8g+gUxQXio5i9qpVy7nXGbxDD4=
github.com/BurntSushi/toml v1.5.0 h1:W5quZX/G/csjUnuI8SUYlsHs9M38FC7znL0lIO+DvMg=
github.com/BurntSushi/toml v1.5.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho=
github.com/Djarvur/go-err113 v0.1.1 h1:eHfopDqXRwAi+YmCUas75ZE0+hoBHJ2GQNLYRSxao4g=
github.com/Djarvur/go-err113 v0.1.1/go.mod h1:IaWJdYFLg76t2ihfflPZnM1LIQszWOsFDh2hhhAVF6k=
github.com/Masterminds/semver/v3 v3.3.1 h1:QtNSWtVZ3nBfk8mAOu/B6v7FMJ+NHTIgUPi7rj+4nv4=
github.com/Masterminds/semver/v3 v3.3.1/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM=
github.com/MirrexOne/unqueryvet v1.2.1 h1:M+zdXMq84g+E1YOLa7g7ExN3dWfZQrdDSTCM7gC+m/A=
github.com/MirrexOne/unqueryvet v1.2.1/go.mod h1:IWwCwMQlSWjAIteW0t+28Q5vouyktfujzYznSIWiuOg=
github.com/OpenPeeDeeP/depguard/v2 v2.2.1 h1:vckeWVESWp6Qog7UZSARNqfu/cZqvki8zsuj3piCMx4=
github.com/OpenPeeDeeP/depguard/v2 v2.2.1/go.mod h1:q4DKzC4UcVaAvcfd41CZh0PWpGgzrVxUYBlgKNGquUo=
github.com/alecthomas/assert/v2 v2.11.0 h1:2Q9r3ki8+JYXvGsDyBXwH3LcJ+WK5D0gc5E8vS6K3D0=
github.com/alecthomas/assert/v2 v2.11.0/go.mod h1:Bze95FyfUr7x34QZrjL+XP+0qgp/zg8yS+TtBj1WA3k=
github.com/alecthomas/chroma/v2 v2.20.0 h1:sfIHpxPyR07/Oylvmcai3X/exDlE8+FA820NTz+9sGw=
github.com/alecthomas/chroma/v2 v2.20.0/go.mod h1:e7tViK0xh/Nf4BYHl00ycY6rV7b8iXBksI9E359yNmA=
github.com/alecthomas/go-check-sumtype v0.3.1 h1:u9aUvbGINJxLVXiFvHUlPEaD7VDULsrxJb4Aq31NLkU=
github.com/alecthomas/go-check-sumtype v0.3.1/go.mod h1:A8TSiN3UPRw3laIgWEUOHHLPa6/r9MtoigdlP5h3K/E=
github.com/alecthomas/repr v0.5.1 h1:E3G4t2QbHTSNpPKBgMTln5KLkZHLOcU7r37J4pXBuIg=
github.com/alecthomas/repr v0.5.1/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4=
github.com/alexkohler/nakedret/v2 v2.0.6 h1:ME3Qef1/KIKr3kWX3nti3hhgNxw6aqN5pZmQiFSsuzQ=
github.com/alexkohler/nakedret/v2 v2.0.6/go.mod h1:l3RKju/IzOMQHmsEvXwkqMDzHHvurNQfAgE1eVmT40Q=
github.com/alexkohler/prealloc v1.0.0 h1:Hbq0/3fJPQhNkN0dR95AVrr6R7tou91y0uHG5pOcUuw=
github.com/alexkohler/prealloc v1.0.0/go.mod h1:VetnK3dIgFBBKmg0YnD9F9x6Icjd+9cvfHR56wJVlKE=
github.com/alfatraining/structtag v1.0.0 h1:2qmcUqNcCoyVJ0up879K614L9PazjBSFruTB0GOFjCc=
github.com/alfatraining/structtag v1.0.0/go.mod h1:p3Xi5SwzTi+Ryj64DqjLWz7XurHxbGsq6y3ubePJPus=
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/alingse/nilnesserr v0.2.0 h1:raLem5KG7EFVb4UIDAXgrv3N2JIaffeKNtcEXkEWd/w=
github.com/alingse/nilnesserr v0.2.0/go.mod h1:1xJPrXonEtX7wyTq8Dytns5P2hNzoWymVUIaKm4HNFg=
github.com/ashanbrown/forbidigo/v2 v2.1.0 h1:NAxZrWqNUQiDz19FKScQ/xvwzmij6BiOw3S0+QUQ+Hs=
github.com/ashanbrown/forbidigo/v2 v2.1.0/go.mod h1:0zZfdNAuZIL7rSComLGthgc/9/n2FqspBOH90xlCHdA=
github.com/ashanbrown/makezero/v2 v2.0.1 h1:r8GtKetWOgoJ4sLyUx97UTwyt2dO7WkGFHizn/Lo8TY=
github.com/ashanbrown/makezero/v2 v2.0.1/go.mod h1:kKU4IMxmYW1M4fiEHMb2vc5SFoPzXvgbMR9gIp5pjSw=
github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k=
github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8=
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.3 h1:faIVMIGDIANuGPWH031CZJTi2ymOQBULs9H21HSMa5w=
github.com/bkielbasa/cyclop v1.2.3/go.mod h1:kHTwA9Q0uZqOADdupvcFJQtp/ksSnytRMe8ztxG8Fuo=
github.com/blizzy78/varnamelen v0.8.0 h1:oqSblyuQvFsW1hbBHh1zfwrKe3kcSj0rnXkKzsQ089M=
github.com/blizzy78/varnamelen v0.8.0/go.mod h1:V9TzQZ4fLJ1DSrjVDfl89H7aMnTvKkApdHeyESmyR7k=
github.com/bombsimon/wsl/v4 v4.7.0 h1:1Ilm9JBPRczjyUs6hvOPKvd7VL1Q++PL8M0SXBDf+jQ=
github.com/bombsimon/wsl/v4 v4.7.0/go.mod h1:uV/+6BkffuzSAVYD+yGyld1AChO7/EuLrCF/8xTiapg=
github.com/bombsimon/wsl/v5 v5.2.0 h1:PyCCwd3Q7abGs3e34IW4jLYlBS+FbsU6iK+Tb3NnDp4=
github.com/bombsimon/wsl/v5 v5.2.0/go.mod h1:Gp8lD04z27wm3FANIUPZycXp+8huVsn0oxc+n4qfV9I=
github.com/breml/bidichk v0.3.3 h1:WSM67ztRusf1sMoqH6/c4OBCUlRVTKq+CbSeo0R17sE=
github.com/breml/bidichk v0.3.3/go.mod h1:ISbsut8OnjB367j5NseXEGGgO/th206dVa427kR8YTE=
github.com/breml/errchkjson v0.4.1 h1:keFSS8D7A2T0haP9kzZTi7o26r7kE3vymjZNeNDRDwg=
github.com/breml/errchkjson v0.4.1/go.mod h1:a23OvR6Qvcl7DG/Z4o0el6BRAjKnaReoPQFciAl9U3s=
github.com/butuzov/ireturn v0.4.0 h1:+s76bF/PfeKEdbG8b54aCocxXmi0wvYdOVsWxVO7n8E=
github.com/butuzov/ireturn v0.4.0/go.mod h1:ghI0FrCmap8pDWZwfPisFD1vEc56VKH4NpQUxDHta70=
github.com/butuzov/mirror v1.3.0 h1:HdWCXzmwlQHdVhwvsfBb2Au0r3HyINry3bDWLYXiKoc=
github.com/butuzov/mirror v1.3.0/go.mod h1:AEij0Z8YMALaq4yQj9CPPVYOyJQyiexpQEQgihajRfI=
github.com/catenacyber/perfsprint v0.9.1 h1:5LlTp4RwTooQjJCvGEFV6XksZvWE7wCOUvjD2z0vls0=
github.com/catenacyber/perfsprint v0.9.1/go.mod h1:q//VWC2fWbcdSLEY1R3l8n0zQCDPdE4IjZwyY1HMunM=
github.com/ccojocar/zxcvbn-go v1.0.4 h1:FWnCIRMXPj43ukfX000kvBZvV6raSxakYr1nzyNrUcc=
github.com/ccojocar/zxcvbn-go v1.0.4/go.mod h1:3GxGX+rHmueTUMvm5ium7irpyjmm7ikxYFOSJB21Das=
github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
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/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc h1:4pZI35227imm7yK2bGPcfpFEmuY1gc2YSTShr4iJBfs=
github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc/go.mod h1:X4/0JoqgTIPSFcRA/P6INZzIuyqdFY5rm8tb41s9okk=
github.com/charmbracelet/lipgloss v1.1.0 h1:vYXsiLHVkK7fp74RkV7b2kq9+zDLoEU4MZoFqR/noCY=
github.com/charmbracelet/lipgloss v1.1.0/go.mod h1:/6Q8FR2o+kj8rz4Dq0zQc3vYf7X+B0binUUBwA0aL30=
github.com/charmbracelet/x/ansi v0.8.0 h1:9GTq3xq9caJW8ZrBTe0LIe2fvfLR/bYXKTx2llXn7xE=
github.com/charmbracelet/x/ansi v0.8.0/go.mod h1:wdYl/ONOLHLIVmQaxbIYEC/cRKOQyjTkowiI4blgS9Q=
github.com/charmbracelet/x/cellbuf v0.0.13-0.20250311204145-2c3ea96c31dd h1:vy0GVL4jeHEwG5YOXDmi86oYw2yuYUGqz6a8sLwg0X8=
github.com/charmbracelet/x/cellbuf v0.0.13-0.20250311204145-2c3ea96c31dd/go.mod h1:xe0nKWGd3eJgtqZRaN9RjMtK7xUYchjzPr7q6kcvCCs=
github.com/charmbracelet/x/term v0.2.1 h1:AQeHeLZ1OqSXhrAWpYUtZyX1T3zVxfpZuEQMIQaGIAQ=
github.com/charmbracelet/x/term v0.2.1/go.mod h1:oQ4enTYFV7QN4m0i9mzHrViD7TQKvNEEkHUMCmsxdUg=
github.com/ckaznocha/intrange v0.3.1 h1:j1onQyXvHUsPWujDH6WIjhyH26gkRt/txNlV7LspvJs=
github.com/ckaznocha/intrange v0.3.1/go.mod h1:QVepyz1AkUoFQkpEqksSYpNpUo3c5W7nWh/s6SHIJJk=
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
github.com/curioswitch/go-reassign v0.3.0 h1:dh3kpQHuADL3cobV/sSGETA8DOv457dwl+fbBAhrQPs=
github.com/curioswitch/go-reassign v0.3.0/go.mod h1:nApPCCTtqLJN/s8HfItCcKV0jIPwluBOvZP+dsJGA88=
github.com/daixiang0/gci v0.13.7 h1:+0bG5eK9vlI08J+J/NWGbWPTNiXPG4WhNLJOkSxWITQ=
github.com/daixiang0/gci v0.13.7/go.mod h1:812WVN6JLFY9S6Tv76twqmNqevN0pa3SX3nih0brVzQ=
github.com/dave/dst v0.27.3 h1:P1HPoMza3cMEquVf9kKy8yXsFirry4zEnWOdYPOoIzY=
github.com/dave/dst v0.27.3/go.mod h1:jHh6EOibnHgcUW3WjKHisiooEkYwqpHLBSX1iOBhEyc=
github.com/dave/jennifer v1.7.1 h1:B4jJJDHelWcDhlRQxWeo0Npa/pYKBLrirAQoTN45txo=
github.com/dave/jennifer v1.7.1/go.mod h1:nXbxhEmQfOZhWml3D1cDK5M1FLnMSozpbFN/m3RmGZc=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/denis-tingaikin/go-header v0.5.0 h1:SRdnP5ZKvcO9KKRP1KJrhFR3RrlGuD+42t4429eC9k8=
github.com/denis-tingaikin/go-header v0.5.0/go.mod h1:mMenU5bWrok6Wl2UsZjy+1okegmwQ3UgWl4V1D8gjlY=
github.com/dlclark/regexp2 v1.11.5 h1:Q/sSnsKerHeCkc/jSTNq1oCm7KiVgUMZRDUoRu0JQZQ=
github.com/dlclark/regexp2 v1.11.5/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8=
github.com/ettle/strcase v0.2.0 h1:fGNiVF21fHXpX1niBgk0aROov1LagYsOwV/xqKDKR/Q=
github.com/ettle/strcase v0.2.0/go.mod h1:DajmHElDSaX76ITe3/VHVyMin4LWSJN5Z909Wp+ED1A=
github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM=
github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU=
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.6 h1:vmiBcKV/3EqKY3ZiPxCINmpS431OcE1S47AQUwhrg8E=
github.com/firefart/nonamedreturns v1.0.6/go.mod h1:R8NisJnSIpvPWheCq0mNRXJok6D8h7fagJTF8EMEwCo=
github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/8M=
github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=
github.com/fzipp/gocyclo v0.6.0 h1:lsblElZG7d3ALtGMx9fmxeTKZaLLpU8mET09yN4BBLo=
github.com/fzipp/gocyclo v0.6.0/go.mod h1:rXPyn8fnlpa0R2csP/31uerbiVBugk5whMdlyaLkLoA=
github.com/ghostiam/protogetter v0.3.16 h1:UkrisuJBYLnZW6FcYUNBDJOqY3X22RtoYMlCsiNlFFA=
github.com/ghostiam/protogetter v0.3.16/go.mod h1:4SRRIv6PcjkIMpUkRUsP4TsUTqO/N3Fmvwivuc/sCHA=
github.com/go-critic/go-critic v0.13.0 h1:kJzM7wzltQasSUXtYyTl6UaPVySO6GkaR1thFnJ6afY=
github.com/go-critic/go-critic v0.13.0/go.mod h1:M/YeuJ3vOCQDnP2SU+ZhjgRzwzcBW87JqLpMJLrZDLI=
github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI=
github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
github.com/go-quicktest/qt v1.101.0 h1:O1K29Txy5P2OK0dGo59b7b0LR6wKfIhttaAhHUyn7eI=
github.com/go-quicktest/qt v1.101.0/go.mod h1:14Bz/f7NwaXPtdYEgzsx46kqSxVwTbzVZsDC26tQJow=
github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI=
github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8=
github.com/go-toolsmith/astcast v1.1.0 h1:+JN9xZV1A+Re+95pgnMgDboWNVnIMMQXwfBwLRPgSC8=
github.com/go-toolsmith/astcast v1.1.0/go.mod h1:qdcuFWeGGS2xX5bLM/c3U9lewg7+Zu4mr+xPwZIB4ZU=
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.3/go.mod h1:9Ai4UglvtR+4up+bAD4+hCj7iTo4m/OXVTSLnCyTAx4=
github.com/go-toolsmith/astequal v1.1.0/go.mod h1:sedf7VIdCL22LD8qIvv7Nn9MuWJruQA/ysswh64lffQ=
github.com/go-toolsmith/astequal v1.2.0 h1:3Fs3CYZ1k9Vo4FzFhwwewC3CHISHDnVUPC4x0bI2+Cw=
github.com/go-toolsmith/astequal v1.2.0/go.mod h1:c8NZ3+kSFtFY/8lPso4v8LuJjdJiUFVnSuU3s0qrrDY=
github.com/go-toolsmith/astfmt v1.1.0 h1:iJVPDPp6/7AaeLJEruMsBUlOYCmvg0MoCfJprsOmcco=
github.com/go-toolsmith/astfmt v1.1.0/go.mod h1:OrcLlRwu0CuiIBp/8b5PYF9ktGVZUjlNMV634mhwuQ4=
github.com/go-toolsmith/astp v1.1.0 h1:dXPuCl6u2llURjdPLLDxJeZInAeZ0/eZwFJmqZMnpQA=
github.com/go-toolsmith/astp v1.1.0/go.mod h1:0T1xFGz9hicKs8Z5MfAqSUitoUYS30pDMsRVIDHs8CA=
github.com/go-toolsmith/pkgload v1.2.2 h1:0CtmHq/02QhxcF7E9N5LIFcYFsMR5rdovfqTtRKkgIk=
github.com/go-toolsmith/pkgload v1.2.2/go.mod h1:R2hxLNRKuAsiXCo2i5J6ZQPhnPMOVtU+f0arbFPWCus=
github.com/go-toolsmith/strparse v1.0.0/go.mod h1:YI2nUKP9YGZnL/L1/DLFBfixrcjslWct4wyljWhSRy8=
github.com/go-toolsmith/strparse v1.1.0 h1:GAioeZUK9TGxnLS+qfdqNbA4z0SSm5zVNtCQiyP2Bvw=
github.com/go-toolsmith/strparse v1.1.0/go.mod h1:7ksGy58fsaQkGQlY8WVoBFNyEPMGuJin1rfoPS4lBSQ=
github.com/go-toolsmith/typep v1.1.0 h1:fIRYDyF+JywLfqzyhdiHzRop/GQDxxNhLGQ6gFUNHus=
github.com/go-toolsmith/typep v1.1.0/go.mod h1:fVIw+7zjdsMxDA3ITWnH1yOiw1rnTQKCsF/sk2H/qig=
github.com/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs=
github.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
github.com/go-xmlfmt/xmlfmt v1.1.3 h1:t8Ey3Uy7jDSEisW2K3somuMKIpzktkWptA0iFCnRUWY=
github.com/go-xmlfmt/xmlfmt v1.1.3/go.mod h1:aUCEOzzezBEjDBbFBoSiya/gduyIiWYRP6CnSFIV8AM=
github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y=
github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8=
github.com/godoc-lint/godoc-lint v0.10.0 h1:OcyrziBi18sQSEpib6NesVHEJ/Xcng97NunePBA48g4=
github.com/godoc-lint/godoc-lint v0.10.0/go.mod h1:KleLcHu/CGSvkjUH2RvZyoK1MBC7pDQg4NxMYLcBBsw=
github.com/gofrs/flock v0.12.1 h1:MTLVXXHf8ekldpJk3AKicLij9MdwOWkZ+a/jHHZby9E=
github.com/gofrs/flock v0.12.1/go.mod h1:9zxTsyu5xtJ9DK+1tFZyibEV7y3uwDxPPfbxeeHCoD0=
github.com/golangci/asciicheck v0.5.0 h1:jczN/BorERZwK8oiFBOGvlGPknhvq0bjnysTj4nUfo0=
github.com/golangci/asciicheck v0.5.0/go.mod h1:5RMNAInbNFw2krqN6ibBxN/zfRFa9S6tA1nPdM0l8qQ=
github.com/golangci/dupl v0.0.0-20250308024227-f665c8d69b32 h1:WUvBfQL6EW/40l6OmeSBYQJNSif4O11+bmWEz+C7FYw=
github.com/golangci/dupl v0.0.0-20250308024227-f665c8d69b32/go.mod h1:NUw9Zr2Sy7+HxzdjIULge71wI6yEg1lWQr7Evcu8K0E=
github.com/golangci/go-printf-func-name v0.1.1 h1:hIYTFJqAGp1iwoIfsNTpoq1xZAarogrvjO9AfiW3B4U=
github.com/golangci/go-printf-func-name v0.1.1/go.mod h1:Es64MpWEZbh0UBtTAICOZiB+miW53w/K9Or/4QogJss=
github.com/golangci/gofmt v0.0.0-20250106114630-d62b90e6713d h1:viFft9sS/dxoYY0aiOTsLKO2aZQAPT4nlQCsimGcSGE=
github.com/golangci/gofmt v0.0.0-20250106114630-d62b90e6713d/go.mod h1:ivJ9QDg0XucIkmwhzCDsqcnxxlDStoTl89jDMIoNxKY=
github.com/golangci/golangci-lint/v2 v2.5.0 h1:BDRg4ASm4J1y/DSRY6zwJ5tr5Yy8ZqbZ79XrCeFxaQo=
github.com/golangci/golangci-lint/v2 v2.5.0/go.mod h1:IJtWJBZkLbx7AVrIUzLd8Oi3ADtwaNpWbR3wthVWHcc=
github.com/golangci/golines v0.0.0-20250217134842-442fd0091d95 h1:AkK+w9FZBXlU/xUmBtSJN1+tAI4FIvy5WtnUnY8e4p8=
github.com/golangci/golines v0.0.0-20250217134842-442fd0091d95/go.mod h1:k9mmcyWKSTMcPPvQUCfRWWQ9VHJ1U9Dc0R7kaXAgtnQ=
github.com/golangci/misspell v0.7.0 h1:4GOHr/T1lTW0hhR4tgaaV1WS/lJ+ncvYCoFKmqJsj0c=
github.com/golangci/misspell v0.7.0/go.mod h1:WZyyI2P3hxPY2UVHs3cS8YcllAeyfquQcKfdeE9AFVg=
github.com/golangci/nilerr v0.0.0-20250918000102-015671e622fe h1:F1pK9tBy41i7eesBFkSNMldwtiAaWiU+3fT/24sTnNI=
github.com/golangci/nilerr v0.0.0-20250918000102-015671e622fe/go.mod h1:CtTxAluxD2ng9aIT9bPrVoMuISFWCD+SaxtvYtdWA2k=
github.com/golangci/plugin-module-register v0.1.2 h1:e5WM6PO6NIAEcij3B053CohVp3HIYbzSuP53UAYgOpg=
github.com/golangci/plugin-module-register v0.1.2/go.mod h1:1+QGTsKBvAIvPvoY/os+G5eoqxWn70HYDm2uvUyGuVw=
github.com/golangci/revgrep v0.8.0 h1:EZBctwbVd0aMeRnNUsFogoyayvKHyxlV3CdUA46FX2s=
github.com/golangci/revgrep v0.8.0/go.mod h1:U4R/s9dlXZsg8uJmaR1GrloUr14D7qDl8gi2iPXJH8k=
github.com/golangci/swaggoswag v0.0.0-20250504205917-77f2aca3143e h1:ai0EfmVYE2bRA5htgAG9r7s3tHsfjIhN98WshBTJ9jM=
github.com/golangci/swaggoswag v0.0.0-20250504205917-77f2aca3143e/go.mod h1:Vrn4B5oR9qRwM+f54koyeH3yzphlecwERs0el27Fr/s=
github.com/golangci/unconvert v0.0.0-20250410112200-a129a6e6413e h1:gD6P7NEo7Eqtt0ssnqSJNNndxe69DOQ24A5h7+i3KpM=
github.com/golangci/unconvert v0.0.0-20250410112200-a129a6e6413e/go.mod h1:h+wZwLjUTJnm/P2rwlbJdRPZXOzaT36/FwnPnY2inzc=
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.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/google/pprof v0.0.0-20250607225305-033d6d78b36a h1://KbezygeMJZCSHH+HgUZiTeSoiuFspbMg1ge+eFj18=
github.com/google/pprof v0.0.0-20250607225305-033d6d78b36a/go.mod h1:5hDyRhoBCxViHszMt12TnOpEI4VVi+U8Gm9iphldiMA=
github.com/gordonklaus/ineffassign v0.2.0 h1:Uths4KnmwxNJNzq87fwQQDDnbNb7De00VOk9Nu0TySs=
github.com/gordonklaus/ineffassign v0.2.0/go.mod h1:TIpymnagPSexySzs7F9FnO1XFTy8IT3a59vmZp5Y9Lw=
github.com/gostaticanalysis/analysisutil v0.7.1 h1:ZMCjoue3DtDWQ5WyU16YbjbQEQ3VuzwxALrpYd+HeKk=
github.com/gostaticanalysis/analysisutil v0.7.1/go.mod h1:v21E3hY37WKMGSnbsw2S/ojApNWb6C1//mXO48CXbVc=
github.com/gostaticanalysis/comment v1.4.2/go.mod h1:KLUTGDv6HOCotCH8h2erHKmpci2ZoR8VPu34YA2uzdM=
github.com/gostaticanalysis/comment v1.5.0 h1:X82FLl+TswsUMpMh17srGRuKaaXprTaytmEpgnKIDu8=
github.com/gostaticanalysis/comment v1.5.0/go.mod h1:V6eb3gpCv9GNVqb6amXzEUX3jXLVK/AdA+IrAMSqvEc=
github.com/gostaticanalysis/forcetypeassert v0.2.0 h1:uSnWrrUEYDr86OCxWa4/Tp2jeYDlogZiZHzGkWFefTk=
github.com/gostaticanalysis/forcetypeassert v0.2.0/go.mod h1:M5iPavzE9pPqWyeiVXSFghQjljW1+l/Uke3PXHS6ILY=
github.com/gostaticanalysis/testutil v0.3.1-0.20210208050101-bfb5c8eec0e4/go.mod h1:D+FIZ+7OahH3ePw/izIEeH5I06eKs1IKI4Xr64/Am3M=
github.com/gostaticanalysis/testutil v0.5.0 h1:Dq4wT1DdTwTGCQQv3rl3IvD5Ld0E6HiY+3Zh0sUGqw8=
github.com/gostaticanalysis/testutil v0.5.0/go.mod h1:OLQSbuM6zw2EvCcXTz1lVq5unyoNft372msDY0nY5Hs=
github.com/hashicorp/go-immutable-radix/v2 v2.1.0 h1:CUW5RYIcysz+D3B+l1mDeXrQ7fUvGGCwJfdASSzbrfo=
github.com/hashicorp/go-immutable-radix/v2 v2.1.0/go.mod h1:hgdqLXA4f6NIjRVisM1TJ9aOJVNRqKZj+xDGF6m7PBw=
github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/Co8=
github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
github.com/hashicorp/go-version v1.2.1/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY=
github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k=
github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM=
github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM=
github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg=
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
github.com/jgautheron/goconst v1.8.2 h1:y0XF7X8CikZ93fSNT6WBTb/NElBu9IjaY7CCYQrCMX4=
github.com/jgautheron/goconst v1.8.2/go.mod h1:A0oxgBCHy55NQn6sYpO7UdnA9p+h7cPtoOZUmvNIako=
github.com/jingyugao/rowserrcheck v1.1.1 h1:zibz55j/MJtLsjP1OF4bSdgXxwL1b+Vn7Tjzq7gFzUs=
github.com/jingyugao/rowserrcheck v1.1.1/go.mod h1:4yvlZSDb3IyDTUZJUmpZfm2Hwok+Dtp+nu2qOq+er9c=
github.com/jjti/go-spancheck v0.6.5 h1:lmi7pKxa37oKYIMScialXUK6hP3iY5F1gu+mLBPgYB8=
github.com/jjti/go-spancheck v0.6.5/go.mod h1:aEogkeatBrbYsyW6y5TgDfihCulDYciL1B7rG2vSsrU=
github.com/julz/importas v0.2.0 h1:y+MJN/UdL63QbFJHws9BVC5RpA2iq0kpjrFajTGivjQ=
github.com/julz/importas v0.2.0/go.mod h1:pThlt589EnCYtMnmhmRYY/qn9lCf/frPOK+WMx3xiJY=
github.com/karamaru-alpha/copyloopvar v1.2.1 h1:wmZaZYIjnJ0b5UoKDjUHrikcV0zuPyyxI4SVplLd2CI=
github.com/karamaru-alpha/copyloopvar v1.2.1/go.mod h1:nFmMlFNlClC2BPvNaHMdkirmTJxVCY0lhxBtlfOypMM=
github.com/kisielk/errcheck v1.9.0 h1:9xt1zI9EBfcYBvdU1nVrzMzzUPUtPKs9bVSIM3TAb3M=
github.com/kisielk/errcheck v1.9.0/go.mod h1:kQxWMMVZgIkDq7U8xtG/n2juOjbLgZtedi0D+/VL/i8=
github.com/kkHAIKE/contextcheck v1.1.6 h1:7HIyRcnyzxL9Lz06NGhiKvenXq7Zw6Q0UQu/ttjfJCE=
github.com/kkHAIKE/contextcheck v1.1.6/go.mod h1:3dDbMRNBFaq8HFXWC1JyvDSPm43CmE6IuHam8Wr0rkg=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/kulti/thelper v0.7.1 h1:fI8QITAoFVLx+y+vSyuLBP+rcVIB8jKooNSCT2EiI98=
github.com/kulti/thelper v0.7.1/go.mod h1:NsMjfQEy6sd+9Kfw8kCP61W1I0nerGSYSFnGaxQkcbs=
github.com/kunwardeep/paralleltest v1.0.14 h1:wAkMoMeGX/kGfhQBPODT/BL8XhK23ol/nuQ3SwFaUw8=
github.com/kunwardeep/paralleltest v1.0.14/go.mod h1:di4moFqtfz3ToSKxhNjhOZL+696QtJGCFe132CbBLGk=
github.com/lasiar/canonicalheader v1.1.2 h1:vZ5uqwvDbyJCnMhmFYimgMZnJMjwljN5VGY0VKbMXb4=
github.com/lasiar/canonicalheader v1.1.2/go.mod h1:qJCeLFS0G/QlLQ506T+Fk/fWMa2VmBUiEI2cuMK4djI=
github.com/ldez/exptostd v0.4.4 h1:58AtQjnLcT/tI5W/1KU7xE/O7zW9RAWB6c/ScQAnfus=
github.com/ldez/exptostd v0.4.4/go.mod h1:QfdzPw6oHjFVdNV7ILoPu5sw3OZ3OG1JS0I5JN3J4Js=
github.com/ldez/gomoddirectives v0.7.0 h1:EOx8Dd56BZYSez11LVgdj025lKwlP0/E5OLSl9HDwsY=
github.com/ldez/gomoddirectives v0.7.0/go.mod h1:wR4v8MN9J8kcwvrkzrx6sC9xe9Cp68gWYCsda5xvyGc=
github.com/ldez/grignotin v0.10.1 h1:keYi9rYsgbvqAZGI1liek5c+jv9UUjbvdj3Tbn5fn4o=
github.com/ldez/grignotin v0.10.1/go.mod h1:UlDbXFCARrXbWGNGP3S5vsysNXAPhnSuBufpTEbwOas=
github.com/ldez/tagliatelle v0.7.2 h1:KuOlL70/fu9paxuxbeqlicJnCspCRjH0x8FW+NfgYUk=
github.com/ldez/tagliatelle v0.7.2/go.mod h1:PtGgm163ZplJfZMZ2sf5nhUT170rSuPgBimoyYtdaSI=
github.com/ldez/usetesting v0.5.0 h1:3/QtzZObBKLy1F4F8jLuKJiKBjjVFi1IavpoWbmqLwc=
github.com/ldez/usetesting v0.5.0/go.mod h1:Spnb4Qppf8JTuRgblLrEWb7IE6rDmUpGvxY3iRrzvDQ=
github.com/leonklingele/grouper v1.1.2 h1:o1ARBDLOmmasUaNDesWqWCIFH3u7hoFlM84YrjT3mIY=
github.com/leonklingele/grouper v1.1.2/go.mod h1:6D0M/HVkhs2yRKRFZUoGjeDy7EZTfFBE9gl4kjmIGkA=
github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY=
github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0=
github.com/macabu/inamedparam v0.2.0 h1:VyPYpOc10nkhI2qeNUdh3Zket4fcZjEWe35poddBCpE=
github.com/macabu/inamedparam v0.2.0/go.mod h1:+Pee9/YfGe5LJ62pYXqB89lJ+0k5bsR8Wgz/C0Zlq3U=
github.com/manuelarte/embeddedstructfieldcheck v0.4.0 h1:3mAIyaGRtjK6EO9E73JlXLtiy7ha80b2ZVGyacxgfww=
github.com/manuelarte/embeddedstructfieldcheck v0.4.0/go.mod h1:z8dFSyXqp+fC6NLDSljRJeNQJJDWnY7RoWFzV3PC6UM=
github.com/manuelarte/funcorder v0.5.0 h1:llMuHXXbg7tD0i/LNw8vGnkDTHFpTnWqKPI85Rknc+8=
github.com/manuelarte/funcorder v0.5.0/go.mod h1:Yt3CiUQthSBMBxjShjdXMexmzpP8YGvGLjrxJNkO2hA=
github.com/maratori/testableexamples v1.0.0 h1:dU5alXRrD8WKSjOUnmJZuzdxWOEQ57+7s93SLMxb2vI=
github.com/maratori/testableexamples v1.0.0/go.mod h1:4rhjL1n20TUTT4vdh3RDqSizKLyXp7K2u6HgraZCGzE=
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 v1.1.0 h1:W5mqwbyWrwZv6OQ5Z1a/DHGMOvXYCBP3+Ht7KMoJhq4=
github.com/matoous/godox v1.1.0/go.mod h1:jgE/3fUXiTurkdHOLT5WEkThTSuE7yxHv5iWPa80afs=
github.com/matryer/is v1.4.0/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU=
github.com/matryer/is v1.4.1 h1:55ehd8zaGABKLXQUe2awZ99BD/PTc2ls+KV/dXphgEQ=
github.com/matryer/is v1.4.1/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU=
github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE=
github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8=
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
github.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6TULQc=
github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
github.com/mgechev/revive v1.12.0 h1:Q+/kkbbwerrVYPv9d9efaPGmAO/NsxwW/nE6ahpQaCU=
github.com/mgechev/revive v1.12.0/go.mod h1:VXsY2LsTigk8XU9BpZauVLjVrhICMOV3k1lpB3CXrp8=
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/moricho/tparallel v0.3.2 h1:odr8aZVFA3NZrNybggMkYO3rgPRcqjeQUlBBFVxKHTI=
github.com/moricho/tparallel v0.3.2/go.mod h1:OQ+K3b4Ln3l2TZveGCywybl68glfLEwFGqvnjok8b+U=
github.com/muesli/termenv v0.16.0 h1:S5AlUN9dENB57rsbnkPyfdGuWIlkmzJjbFf0Tf5FWUc=
github.com/muesli/termenv v0.16.0/go.mod h1:ZRfOIKPFDYQoDFF4Olj7/QJbW60Ol/kL1pU3VfY/Cnk=
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
github.com/nakabonne/nestif v0.3.1 h1:wm28nZjhQY5HyYPx+weN3Q65k6ilSBxDb8v5S81B81U=
github.com/nakabonne/nestif v0.3.1/go.mod h1:9EtoZochLn5iUprVDmDjqGKPofoUEBL8U4Ngq6aY7OE=
github.com/nishanths/exhaustive v0.12.0 h1:vIY9sALmw6T/yxiASewa4TQcFsVYZQQRUQJhKRf3Swg=
github.com/nishanths/exhaustive v0.12.0/go.mod h1:mEZ95wPIZW+x8kC4TgC+9YCUgiST7ecevsVDTgc2obs=
github.com/nishanths/predeclared v0.2.2 h1:V2EPdZPliZymNAn79T8RkNApBjMmVKh5XRpLm/w98Vk=
github.com/nishanths/predeclared v0.2.2/go.mod h1:RROzoN6TnGQupbC+lqggsOlcgysk3LMK/HI84Mp280c=
github.com/nunnatsa/ginkgolinter v0.21.0 h1:IYwuX+ajy3G1MezlMLB1BENRtFj16+Evyi4uki1NOOQ=
github.com/nunnatsa/ginkgolinter v0.21.0/go.mod h1:QlzY9UP9zaqu58FjYxhp9bnjuwXwG1bfW5rid9ChNMw=
github.com/onsi/ginkgo/v2 v2.23.4 h1:ktYTpKJAVZnDT4VjxSbiBenUjmlL/5QkBEocaWXiQus=
github.com/onsi/ginkgo/v2 v2.23.4/go.mod h1:Bt66ApGPBFzHyR+JO10Zbt0Gsp4uWxu5mIOTusL46e8=
github.com/onsi/gomega v1.38.0 h1:c/WX+w8SLAinvuKKQFh77WEucCnPk4j2OTUr7lt7BeY=
github.com/onsi/gomega v1.38.0/go.mod h1:OcXcwId0b9QsE7Y49u+BTrL4IdKOBOKnD6VQNTJEB6o=
github.com/otiai10/copy v1.2.0/go.mod h1:rrF5dJ5F0t/EWSYODDu4j9/vEeYHMkc8jt0zJChqQWw=
github.com/otiai10/copy v1.14.0 h1:dCI/t1iTdYGtkvCuBG2BgR6KZa83PTclw4U5n2wAllU=
github.com/otiai10/copy v1.14.0/go.mod h1:ECfuL02W+/FkTWZWgQqXPWZgW9oeKCSQ5qVfSc4qc4w=
github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJG+0mI8eUu6xqkFDYS2kb2saOteoSB3cE=
github.com/otiai10/curr v1.0.0/go.mod h1:LskTG5wDwr8Rs+nNQ+1LlxRjAtTZZjtJW4rMXl6j4vs=
github.com/otiai10/mint v1.3.0/go.mod h1:F5AjcsTsWUqX+Na9fpHb52P8pcRX2CI6A3ctIT91xUo=
github.com/otiai10/mint v1.3.1/go.mod h1:/yxELlJQ0ufhjUwhshSj+wFjZ78CnZ48/1wtmBH1OTc=
github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4=
github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/polyfloyd/go-errorlint v1.8.0 h1:DL4RestQqRLr8U4LygLw8g2DX6RN1eBJOpa2mzsrl1Q=
github.com/polyfloyd/go-errorlint v1.8.0/go.mod h1:G2W0Q5roxbLCt0ZQbdoxQxXktTjwNyDbEaj3n7jvl4s=
github.com/prashantv/gostub v1.1.0 h1:BTyx3RfQjRHnUWaGF9oQos79AlQ5k8WNktv7VGvVH4g=
github.com/prashantv/gostub v1.1.0/go.mod h1:A5zLQHz7ieHGG7is6LLXLz7I8+3LZzsrV0P1IAHhP5U=
github.com/prometheus/client_golang v1.22.0 h1:rb93p9lokFEsctTys46VnV1kLCDpVZ0a/Y92Vm0Zc6Q=
github.com/prometheus/client_golang v1.22.0/go.mod h1:R7ljNsLXhuQXYZYtw6GAE9AZg8Y7vEW5scdCXrWRXC0=
github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E=
github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY=
github.com/prometheus/common v0.63.0 h1:YR/EIY1o3mEFP/kZCD7iDMnLPlGyuU2Gb3HIcXnA98k=
github.com/prometheus/common v0.63.0/go.mod h1:VVFF/fBIoToEnWRVkYoXEkq3R3paCoxG9PXP74SnV18=
github.com/prometheus/procfs v0.16.0 h1:xh6oHhKwnOJKMYiYBDWmkHqQPyiY40sny36Cmx2bbsM=
github.com/prometheus/procfs v0.16.0/go.mod h1:8veyXUu3nGP7oaCxhX6yeaM5u4stL2FeMXnCqhDthZg=
github.com/quasilyte/go-ruleguard v0.4.4 h1:53DncefIeLX3qEpjzlS1lyUmQoUEeOWPFWqaTJq9eAQ=
github.com/quasilyte/go-ruleguard v0.4.4/go.mod h1:Vl05zJ538vcEEwu16V/Hdu7IYZWyKSwIy4c88Ro1kRE=
github.com/quasilyte/go-ruleguard/dsl v0.3.22 h1:wd8zkOhSNr+I+8Qeciml08ivDt1pSXe60+5DqOpCjPE=
github.com/quasilyte/go-ruleguard/dsl v0.3.22/go.mod h1:KeCP03KrjuSO0H1kTuZQCWlQPulDV6YMIXmpQss17rU=
github.com/quasilyte/gogrep v0.5.0 h1:eTKODPXbI8ffJMN+W2aE0+oL0z/nh8/5eNdiO34SOAo=
github.com/quasilyte/gogrep v0.5.0/go.mod h1:Cm9lpz9NZjEoL1tgZ2OgeUKPIxL1meE7eo60Z6Sk+Ng=
github.com/quasilyte/regex/syntax v0.0.0-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/raeperd/recvcheck v0.2.0 h1:GnU+NsbiCqdC2XX5+vMZzP+jAJC5fht7rcVTAhX74UI=
github.com/raeperd/recvcheck v0.2.0/go.mod h1:n04eYkwIR0JbgD73wT8wL4JjPC3wm0nFtzBnWNocnYU=
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ=
github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/ryancurrah/gomodguard v1.4.1 h1:eWC8eUMNZ/wM/PWuZBv7JxxqT5fiIKSIyTvjb7Elr+g=
github.com/ryancurrah/gomodguard v1.4.1/go.mod h1:qnMJwV1hX9m+YJseXEBhd2s90+1Xn6x9dLz11ualI1I=
github.com/ryanrolds/sqlclosecheck v0.5.1 h1:dibWW826u0P8jNLsLN+En7+RqWWTYrjCB9fJfSfdyCU=
github.com/ryanrolds/sqlclosecheck v0.5.1/go.mod h1:2g3dUjoS6AL4huFdv6wn55WpLIDjY7ZgUR4J8HOO/XQ=
github.com/sagikazarmark/locafero v0.7.0 h1:5MqpDsTGNDhY8sGp0Aowyf0qKsPrhewaLSsFaodPcyo=
github.com/sagikazarmark/locafero v0.7.0/go.mod h1:2za3Cg5rMaTMoG/2Ulr9AwtFaIppKXTRYnozin4aB5k=
github.com/sanposhiho/wastedassign/v2 v2.1.0 h1:crurBF7fJKIORrV85u9UUpePDYGWnwvv3+A96WvwXT0=
github.com/sanposhiho/wastedassign/v2 v2.1.0/go.mod h1:+oSmSC+9bQ+VUAxA66nBb0Z7N8CK7mscKTDYC6aIek4=
github.com/santhosh-tekuri/jsonschema/v6 v6.0.2 h1:KRzFb2m7YtdldCEkzs6KqmJw4nqEVZGK7IN2kJkjTuQ=
github.com/santhosh-tekuri/jsonschema/v6 v6.0.2/go.mod h1:JXeL+ps8p7/KNMjDQk3TCwPpBy0wYklyWTfbkIzdIFU=
github.com/sashamelentyev/interfacebloat v1.1.0 h1:xdRdJp0irL086OyW1H/RTZTr1h/tMEOsumirXcOJqAw=
github.com/sashamelentyev/interfacebloat v1.1.0/go.mod h1:+Y9yU5YdTkrNvoX0xHc84dxiN1iBi9+G8zZIhPVoNjQ=
github.com/sashamelentyev/usestdlibvars v1.29.0 h1:8J0MoRrw4/NAXtjQqTHrbW9NN+3iMf7Knkq057v4XOQ=
github.com/sashamelentyev/usestdlibvars v1.29.0/go.mod h1:8PpnjHMk5VdeWlVb4wCdrB8PNbLqZ3wBZTZWkrpZZL8=
github.com/securego/gosec/v2 v2.22.8 h1:3NMpmfXO8wAVFZPNsd3EscOTa32Jyo6FLLlW53bexMI=
github.com/securego/gosec/v2 v2.22.8/go.mod h1:ZAw8K2ikuH9qDlfdV87JmNghnVfKB1XC7+TVzk6Utto=
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 h1:n661drycOFuPLCN3Uc8sB6B/s6Z4t2xvBgU1htSHuq8=
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4=
github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk=
github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ=
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.3 h1:x+etemjbsh2fB5ewm5FeLNi5bUjK0V8n0RB+Wwfd0XE=
github.com/sivchari/containedctx v1.0.3/go.mod h1:c1RDvCbnJLtH4lLcYD/GqwiBSSf4F5Qk0xld2rBqzJ4=
github.com/sonatard/noctx v0.4.0 h1:7MC/5Gg4SQ4lhLYR6mvOP6mQVSxCrdyiExo7atBs27o=
github.com/sonatard/noctx v0.4.0/go.mod h1:64XdbzFb18XL4LporKXp8poqZtPKbCrqQ402CV+kJas=
github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo=
github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0=
github.com/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.14.0 h1:9tH6MapGnn/j0eb0yIXiLjERO8RB6xIVZRDCX7PtqWA=
github.com/spf13/afero v1.14.0/go.mod h1:acJQ8t0ohCGuMN3O+Pv0V0hgMxNYDlvdk+VTfyZmbYo=
github.com/spf13/cast v1.7.1 h1:cuNEagBQEHWN1FnbGEjCXL2szYEXqfJPbP2HNUaca9Y=
github.com/spf13/cast v1.7.1/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
github.com/spf13/cobra v1.10.1 h1:lJeBwCfmrnXthfAupyUTzJ/J4Nc1RsHC/mSRU2dll/s=
github.com/spf13/cobra v1.10.1/go.mod h1:7SmJGaTHFVBY0jW4NXGluQoLvhqFQM+6XSKD+P4XaB0=
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk=
github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/viper v1.20.1 h1:ZMi+z/lvLyPSCoNtFCpqjy0S4kPbirhpTMwl8BkW9X4=
github.com/spf13/viper v1.20.1/go.mod h1:P9Mdzt1zoHIG8m2eZQinpiBjo6kCmZSKBClNNqjJvu4=
github.com/ssgreg/nlreturn/v2 v2.2.1 h1:X4XDI7jstt3ySqGU86YGAURbxw3oTDPK9sPEi6YEwQ0=
github.com/ssgreg/nlreturn/v2 v2.2.1/go.mod h1:E/iiPB78hV7Szg2YfRgyIrk1AD6JVMTRkkxBiELzh2I=
github.com/stbenjam/no-sprintf-host-port v0.2.0 h1:i8pxvGrt1+4G0czLr/WnmyH7zbZ8Bg8etvARQ1rpyl4=
github.com/stbenjam/no-sprintf-host-port v0.2.0/go.mod h1:eL0bQ9PasS0hsyTyfTjjG+E80QIyPnBVQbYZyv20Jfk=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY=
github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8=
github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU=
github.com/tenntenn/modver v1.0.1 h1:2klLppGhDgzJrScMpkj9Ujy3rXPUspSjAcev9tSEBgA=
github.com/tenntenn/modver v1.0.1/go.mod h1:bePIyQPb7UeioSRkw3Q0XeMhYZSMx9B8ePqg6SAMGH0=
github.com/tenntenn/text/transform v0.0.0-20200319021203-7eef512accb3 h1:f+jULpRQGxTSkNYKJ51yaw6ChIqO+Je8UqsTKN/cDag=
github.com/tenntenn/text/transform v0.0.0-20200319021203-7eef512accb3/go.mod h1:ON8b8w4BN/kE1EOhwT0o+d62W65a6aPw1nouo9LMgyY=
github.com/tetafro/godot v1.5.4 h1:u1ww+gqpRLiIA16yF2PV1CV1n/X3zhyezbNXC3E14Sg=
github.com/tetafro/godot v1.5.4/go.mod h1:eOkMrVQurDui411nBY2FA05EYH01r14LuWY/NrVDVcU=
github.com/timakin/bodyclose v0.0.0-20241222091800-1db5c5ca4d67 h1:9LPGD+jzxMlnk5r6+hJnar67cgpDIz/iyD+rfl5r2Vk=
github.com/timakin/bodyclose v0.0.0-20241222091800-1db5c5ca4d67/go.mod h1:mkjARE7Yr8qU23YcGMSALbIxTQ9r9QBVahQOBRfU460=
github.com/timonwong/loggercheck v0.11.0 h1:jdaMpYBl+Uq9mWPXv1r8jc5fC3gyXx4/WGwTnnNKn4M=
github.com/timonwong/loggercheck v0.11.0/go.mod h1:HEAWU8djynujaAVX7QI65Myb8qgfcZ1uKbdpg3ZzKl8=
github.com/tomarrell/wrapcheck/v2 v2.11.0 h1:BJSt36snX9+4WTIXeJ7nvHBQBcm1h2SjQMSlmQ6aFSU=
github.com/tomarrell/wrapcheck/v2 v2.11.0/go.mod h1:wFL9pDWDAbXhhPZZt+nG8Fu+h29TtnZ2MW6Lx4BRXIU=
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.2.0 h1:gCHmCn+d2/1SemTdYMiKLAHFYxTYz7z9VIDRaTGyLkI=
github.com/ultraware/funlen v0.2.0/go.mod h1:ZE0q4TsJ8T1SQcjmkhN/w+MceuatI6pBFSxxyteHIJA=
github.com/ultraware/whitespace v0.2.0 h1:TYowo2m9Nfj1baEQBjuHzvMRbp19i+RCcRYrSWoFa+g=
github.com/ultraware/whitespace v0.2.0/go.mod h1:XcP1RLD81eV4BW8UhQlpaR+SDc2givTvyI8a586WjW8=
github.com/uudashr/gocognit v1.2.0 h1:3BU9aMr1xbhPlvJLSydKwdLN3tEUUrzPSSM8S4hDYRA=
github.com/uudashr/gocognit v1.2.0/go.mod h1:k/DdKPI6XBZO1q7HgoV2juESI2/Ofj9AcHPZhBBdrTU=
github.com/uudashr/iface v1.4.1 h1:J16Xl1wyNX9ofhpHmQ9h9gk5rnv2A6lX/2+APLTo0zU=
github.com/uudashr/iface v1.4.1/go.mod h1:pbeBPlbuU2qkNDn0mmfrxP2X+wjPMIQAy+r1MBXSXtg=
github.com/xen0n/gosmopolitan v1.3.0 h1:zAZI1zefvo7gcpbCOrPSHJZJYA9ZgLfJqtKzZ5pHqQM=
github.com/xen0n/gosmopolitan v1.3.0/go.mod h1:rckfr5T6o4lBtM1ga7mLGKZmLxswUoH1zxHgNXOsEt4=
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e h1:JVG44RsyaB9T2KIHavMF/ppJZNG9ZpyihvCd0w101no=
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e/go.mod h1:RbqR21r5mrJuqunuUZ/Dhy/avygyECGrLceyNeo4LiM=
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.3.0 h1:JVDbMp08lVCP7Y6NP3qHroGAO6z2yGKQtS5JsjqtoFs=
github.com/yeya24/promlinter v0.3.0/go.mod h1:cDfJQQYv9uYciW60QT0eeHlFodotkYZlL+YcPQN+mW4=
github.com/ykadowak/zerologlint v0.1.5 h1:Gy/fMz1dFQN9JZTPjv1hxEk+sRWm05row04Yoolgdiw=
github.com/ykadowak/zerologlint v0.1.5/go.mod h1:KaUskqF3e/v59oPmdq1U1DnKcuHokl2/K1U4pmIELKg=
github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
gitlab.com/bosi/decorder v0.4.2 h1:qbQaV3zgwnBZ4zPMhGLW4KZe7A7NwxEhJx39R3shffo=
gitlab.com/bosi/decorder v0.4.2/go.mod h1:muuhHoaJkA9QLcYHq4Mj8FJUwDZ+EirSHRiaTcTf6T8=
go-simpler.org/assert v0.9.0 h1:PfpmcSvL7yAnWyChSjOz6Sp6m9j5lyK8Ok9pEL31YkQ=
go-simpler.org/assert v0.9.0/go.mod h1:74Eqh5eI6vCK6Y5l3PI8ZYFXG4Sa+tkr70OIPJAUr28=
go-simpler.org/musttag v0.14.0 h1:XGySZATqQYSEV3/YTy+iX+aofbZZllJaqwFWs+RTtSo=
go-simpler.org/musttag v0.14.0/go.mod h1:uP8EymctQjJ4Z1kUnjX0u2l60WfUdQxCwSNKzE1JEOE=
go-simpler.org/sloglint v0.11.1 h1:xRbPepLT/MHPTCA6TS/wNfZrDzkGvCCqUv4Bdwc3H7s=
go-simpler.org/sloglint v0.11.1/go.mod h1:2PowwiCOK8mjiF+0KGifVOT8ZsCNiFzvfyJeJOIt8MQ=
go.augendre.info/arangolint v0.2.0 h1:2NP/XudpPmfBhQKX4rMk+zDYIj//qbt4hfZmSSTcpj8=
go.augendre.info/arangolint v0.2.0/go.mod h1:Vx4KSJwu48tkE+8uxuf0cbBnAPgnt8O1KWiT7bljq7w=
go.augendre.info/fatcontext v0.8.1 h1:/T4+cCjpL9g71gJpcFAgVo/K5VFpqlN+NPU7QXxD5+A=
go.augendre.info/fatcontext v0.8.1/go.mod h1:r3Qz4ZOzex66wfyyj5VZ1xUcl81vzvHQ6/GWzzlMEwA=
go.uber.org/automaxprocs v1.6.0 h1:O3y2/QNTOdbF+e/dpXNNW7Rx2hZ4sTIPyybbxyNqTUs=
go.uber.org/automaxprocs v1.6.0/go.mod h1:ifeIMSnPZuznNm6jmdzmU3/bfk01Fe2fotchwEFJ8r8=
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8=
go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc=
golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4=
golang.org/x/exp v0.0.0-20250305212735-054e65f0b394 h1:nDVHiLt8aIbd/VzvPWN6kSOPE7+F/fNFDSXLVYkE/Iw=
golang.org/x/exp v0.0.0-20250305212735-054e65f0b394/go.mod h1:sIifuuw/Yco/y6yb6+bDNfyeQ/MdPUy/hKEMYQV17cM=
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/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk=
golang.org/x/exp/typeparams v0.0.0-20250911091902-df9299821621 h1:Yl4H5w2RV7L/dvSHp2GerziT5K2CORgFINPaMFxWGWw=
golang.org/x/exp/typeparams v0.0.0-20250911091902-df9299821621/go.mod h1:4Mzdyp/6jzw9auFDJ3OMF5qksa7UvPnzKqTVGcb04ms=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.13.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/mod v0.28.0 h1:gQBtGhjxykdjY9YhZpSlZIsbnaE2+PgjfLWUQTnoZ1U=
golang.org/x/mod v0.28.0/go.mod h1:yfB/L0NOf/kmEbXjzCPOx1iK1fRutOydrCMsqRhEBxI=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk=
golang.org/x/net v0.16.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
golang.org/x/net v0.45.0 h1:RLBg5JKixCy82FtLJpeNlVM0nrSqpCRYzVU1n8kj0tM=
golang.org/x/net v0.45.0/go.mod h1:ECOoLqd5U3Lhyeyo/QDCEVQ4sNgYsqvCZ722XogGieY=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug=
golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211105183446-c75c47738b0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.36.0 h1:KVRy2GtZBrk1cBYA7MKu5bEZFxQk4NIDV6RLVcC8o0k=
golang.org/x/sys v0.36.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
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.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU=
golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/text v0.29.0 h1:1neNs90w9YzJ9BocxfsQNHKuAT4pkghyXc4nhZ6sJvk=
golang.org/x/text v0.29.0/go.mod h1:7MhJOA9CD2qZyOKYazxdYMF85OwPdEr9jTtBpO7ydH4=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20200329025819-fd4102a86c65/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8=
golang.org/x/tools v0.0.0-20200724022722-7017fd6b1305/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
golang.org/x/tools v0.1.1-0.20210205202024-ef80cdb6ec6d/go.mod h1:9bzcO0MWcOuT0tm1iBGzDVPshzfwoVvREIui8C+MHqU=
golang.org/x/tools v0.1.1-0.20210302220138-2ac05c832e1a/go.mod h1:9bzcO0MWcOuT0tm1iBGzDVPshzfwoVvREIui8C+MHqU=
golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58=
golang.org/x/tools v0.14.0/go.mod h1:uYBEerGOWcJyEORxN+Ek8+TT266gXkNlHdJBwexUsBg=
golang.org/x/tools v0.37.0 h1:DVSRzp7FwePZW356yEAChSdNcQo6Nsp+fex1SUW09lE=
golang.org/x/tools v0.37.0/go.mod h1:MBN5QPQtLMHVdvsbtarmTNukZDdgwdwlO5qGacAzF0w=
golang.org/x/tools/go/expect v0.1.1-deprecated h1:jpBZDwmgPhXsKZC6WhL20P4b/wmnpsEAGHaNy0n/rJM=
golang.org/x/tools/go/expect v0.1.1-deprecated/go.mod h1:eihoPOH+FgIqa3FpoTwguz/bVUSGBlGQU67vpBeOrBY=
golang.org/x/tools/go/packages/packagestest v0.1.1-deprecated h1:1h2MnaIAIXISqTFKdENegdpAgUXz6NrPEsbIeWaBRvM=
golang.org/x/tools/go/packages/packagestest v0.1.1-deprecated/go.mod h1:RVAQXBGNv1ib0J382/DPCRS/BPnsGebyM1Gj5VSDpG8=
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=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY=
google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
honnef.co/go/tools v0.6.1 h1:R094WgE8K4JirYjBaOpz/AvTyUu/3wbmAoskKN/pxTI=
honnef.co/go/tools v0.6.1/go.mod h1:3puzxxljPCe8RGJX7BIy1plGbxEOZni5mR2aXe3/uk4=
mvdan.cc/gofumpt v0.9.1 h1:p5YT2NfFWsYyTieYgwcQ8aKV3xRvFH4uuN/zB2gBbMQ=
mvdan.cc/gofumpt v0.9.1/go.mod h1:3xYtNemnKiXaTh6R4VtlqDATFwBbdXI8lJvH/4qk7mw=
mvdan.cc/unparam v0.0.0-20250301125049-0df0534333a4 h1:WjUu4yQoT5BHT1w8Zu56SP8367OuBV5jvo+4Ulppyf8=
mvdan.cc/unparam v0.0.0-20250301125049-0df0534333a4/go.mod h1:rthT7OuvRbaGcd5ginj6dA2oLE7YNlta9qhBNNdCaLE=

20
.citools/src/jb/go.mod Normal file
View File

@@ -0,0 +1,20 @@
module jb
go 1.25.3
tool github.com/jsonnet-bundler/jsonnet-bundler/cmd/jb
require (
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 // indirect
github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/fatih/color v1.18.0 // indirect
github.com/jsonnet-bundler/jsonnet-bundler v0.5.1 // indirect
github.com/mattn/go-colorable v0.1.14 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
github.com/stretchr/testify v1.10.0 // indirect
golang.org/x/sys v0.36.0 // indirect
gopkg.in/alecthomas/kingpin.v2 v2.2.6 // indirect
)

68
.citools/src/jb/go.sum Normal file
View File

@@ -0,0 +1,68 @@
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 h1:JYp7IbQjafoB+tBA3gMyHYHrpOtNuDiK/uB5uXxq5wM=
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE=
github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b h1:mimo19zliBX/vSQ6PWWSL9lK8qwHozUj03+zLoEB8O0=
github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b/go.mod h1:fvzegU4vN3H1qMT+8wDmzjAcDONcgo2/SZ/TyfdUOFs=
github.com/campoy/embedmd v1.0.0/go.mod h1:oxyr9RCiSXg0M3VJ3ks0UGfp98BpSSGr0kpiX3MzVl8=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk=
github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM=
github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU=
github.com/jsonnet-bundler/jsonnet-bundler v0.5.1 h1:eUd6EA1Qzz73Q4NLNLOrNkMb96+6NTTERbX9lqaxVwk=
github.com/jsonnet-bundler/jsonnet-bundler v0.5.1/go.mod h1:Qrdw/7mOFS2SKCOALKFfEH8gdvXJi8XZjw9g5ilpf4I=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4=
github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE=
github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8=
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.4/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.36.0 h1:KVRy2GtZBrk1cBYA7MKu5bEZFxQk4NIDV6RLVcC8o0k=
golang.org/x/sys v0.36.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc=
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

View File

@@ -0,0 +1,52 @@
module lefthook
go 1.25.3
tool github.com/evilmartians/lefthook
require (
github.com/MakeNowJust/heredoc v1.0.0 // indirect
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
github.com/briandowns/spinner v1.23.0 // indirect
github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc // indirect
github.com/charmbracelet/lipgloss v1.1.0 // indirect
github.com/charmbracelet/x/ansi v0.8.0 // indirect
github.com/charmbracelet/x/cellbuf v0.0.13-0.20250311204145-2c3ea96c31dd // indirect
github.com/charmbracelet/x/term v0.2.1 // indirect
github.com/creack/pty v1.1.18 // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/evilmartians/lefthook v1.4.8 // indirect
github.com/fatih/color v1.18.0 // indirect
github.com/fsnotify/fsnotify v1.8.0 // indirect
github.com/go-viper/mapstructure/v2 v2.4.0 // indirect
github.com/gobwas/glob v0.2.3 // indirect
github.com/google/go-cmp v0.7.0 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
github.com/mattn/go-colorable v0.1.14 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
github.com/mattn/go-runewidth v0.0.16 // indirect
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c // indirect
github.com/muesli/termenv v0.16.0 // indirect
github.com/pelletier/go-toml/v2 v2.2.3 // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
github.com/rivo/uniseg v0.4.7 // indirect
github.com/rogpeppe/go-internal v1.14.1 // indirect
github.com/sagikazarmark/locafero v0.7.0 // indirect
github.com/sourcegraph/conc v0.3.0 // indirect
github.com/spf13/afero v1.12.0 // indirect
github.com/spf13/cast v1.7.1 // indirect
github.com/spf13/cobra v1.9.1 // indirect
github.com/spf13/pflag v1.0.6 // indirect
github.com/spf13/viper v1.20.1 // indirect
github.com/subosito/gotenv v1.6.0 // indirect
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
go.uber.org/multierr v1.11.0 // indirect
golang.org/x/exp v0.0.0-20250305212735-054e65f0b394 // indirect
golang.org/x/sys v0.36.0 // indirect
golang.org/x/term v0.35.0 // indirect
golang.org/x/text v0.29.0 // indirect
gopkg.in/alessio/shellescape.v1 v1.0.0-20170105083845-52074bc9df61 // indirect
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)

View File

@@ -0,0 +1,108 @@
github.com/MakeNowJust/heredoc v1.0.0 h1:cXCdzVdstXyiTqTvfqk9SDHpKNjxuom+DOlyEeQ4pzQ=
github.com/MakeNowJust/heredoc v1.0.0/go.mod h1:mG5amYoWBHf8vpLOuehzbGGw0EHxpZZ6lCpQ4fNJ8LE=
github.com/alessio/shellescape v1.4.1 h1:V7yhSDDn8LP4lc4jS8pFkt0zCnzVJlG5JXy9BVKJUX0=
github.com/alessio/shellescape v1.4.1/go.mod h1:PZAiSCk0LJaZkiCSkPv8qIobYglO3FPpyFjDCtHLS30=
github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k=
github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8=
github.com/briandowns/spinner v1.23.0 h1:alDF2guRWqa/FOZZYWjlMIx2L6H0wyewPxo/CH4Pt2A=
github.com/briandowns/spinner v1.23.0/go.mod h1:rPG4gmXeN3wQV/TsAY4w8lPdIM6RX3yqeBQJSrbXjuE=
github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc h1:4pZI35227imm7yK2bGPcfpFEmuY1gc2YSTShr4iJBfs=
github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc/go.mod h1:X4/0JoqgTIPSFcRA/P6INZzIuyqdFY5rm8tb41s9okk=
github.com/charmbracelet/lipgloss v1.1.0 h1:vYXsiLHVkK7fp74RkV7b2kq9+zDLoEU4MZoFqR/noCY=
github.com/charmbracelet/lipgloss v1.1.0/go.mod h1:/6Q8FR2o+kj8rz4Dq0zQc3vYf7X+B0binUUBwA0aL30=
github.com/charmbracelet/x/ansi v0.8.0 h1:9GTq3xq9caJW8ZrBTe0LIe2fvfLR/bYXKTx2llXn7xE=
github.com/charmbracelet/x/ansi v0.8.0/go.mod h1:wdYl/ONOLHLIVmQaxbIYEC/cRKOQyjTkowiI4blgS9Q=
github.com/charmbracelet/x/cellbuf v0.0.13-0.20250311204145-2c3ea96c31dd h1:vy0GVL4jeHEwG5YOXDmi86oYw2yuYUGqz6a8sLwg0X8=
github.com/charmbracelet/x/cellbuf v0.0.13-0.20250311204145-2c3ea96c31dd/go.mod h1:xe0nKWGd3eJgtqZRaN9RjMtK7xUYchjzPr7q6kcvCCs=
github.com/charmbracelet/x/term v0.2.1 h1:AQeHeLZ1OqSXhrAWpYUtZyX1T3zVxfpZuEQMIQaGIAQ=
github.com/charmbracelet/x/term v0.2.1/go.mod h1:oQ4enTYFV7QN4m0i9mzHrViD7TQKvNEEkHUMCmsxdUg=
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY=
github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/evilmartians/lefthook v1.4.8 h1:8FmXWtfFiEZw3w18JbhVrp3g+Iy/j2XEo6gcC25+4KA=
github.com/evilmartians/lefthook v1.4.8/go.mod h1:anwwu2QiCEnsOCBHfRgGOB3/sd9FMVNhmY8l9DDQAG8=
github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM=
github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU=
github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/8M=
github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=
github.com/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs=
github.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y=
github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY=
github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0=
github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE=
github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8=
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
github.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6TULQc=
github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c h1:cqn374mizHuIWj+OSJCajGr/phAmuMug9qIX3l9CflE=
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/muesli/termenv v0.16.0 h1:S5AlUN9dENB57rsbnkPyfdGuWIlkmzJjbFf0Tf5FWUc=
github.com/muesli/termenv v0.16.0/go.mod h1:ZRfOIKPFDYQoDFF4Olj7/QJbW60Ol/kL1pU3VfY/Cnk=
github.com/pelletier/go-toml/v2 v2.2.3 h1:YmeHyLY8mFWbdkNWwpr+qIL2bEqT0o95WSdkNHvL12M=
github.com/pelletier/go-toml/v2 v2.2.3/go.mod h1:MfCQTFTvCcUyyvvwm1+G6H/jORL20Xlb6rzQu9GuUkc=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ=
github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/sagikazarmark/locafero v0.7.0 h1:5MqpDsTGNDhY8sGp0Aowyf0qKsPrhewaLSsFaodPcyo=
github.com/sagikazarmark/locafero v0.7.0/go.mod h1:2za3Cg5rMaTMoG/2Ulr9AwtFaIppKXTRYnozin4aB5k=
github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo=
github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0=
github.com/spf13/afero v1.12.0 h1:UcOPyRBYczmFn6yvphxkn9ZEOY65cpwGKb5mL36mrqs=
github.com/spf13/afero v1.12.0/go.mod h1:ZTlWwG4/ahT8W7T0WQ5uYmjI9duaLQGy3Q2OAl4sk/4=
github.com/spf13/cast v1.7.1 h1:cuNEagBQEHWN1FnbGEjCXL2szYEXqfJPbP2HNUaca9Y=
github.com/spf13/cast v1.7.1/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo=
github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0=
github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/viper v1.20.1 h1:ZMi+z/lvLyPSCoNtFCpqjy0S4kPbirhpTMwl8BkW9X4=
github.com/spf13/viper v1.20.1/go.mod h1:P9Mdzt1zoHIG8m2eZQinpiBjo6kCmZSKBClNNqjJvu4=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8=
github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU=
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e h1:JVG44RsyaB9T2KIHavMF/ppJZNG9ZpyihvCd0w101no=
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e/go.mod h1:RbqR21r5mrJuqunuUZ/Dhy/avygyECGrLceyNeo4LiM=
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
golang.org/x/exp v0.0.0-20250305212735-054e65f0b394 h1:nDVHiLt8aIbd/VzvPWN6kSOPE7+F/fNFDSXLVYkE/Iw=
golang.org/x/exp v0.0.0-20250305212735-054e65f0b394/go.mod h1:sIifuuw/Yco/y6yb6+bDNfyeQ/MdPUy/hKEMYQV17cM=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.36.0 h1:KVRy2GtZBrk1cBYA7MKu5bEZFxQk4NIDV6RLVcC8o0k=
golang.org/x/sys v0.36.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
golang.org/x/term v0.35.0 h1:bZBVKBudEyhRcajGcNc3jIfWPqV4y/Kt2XcoigOWtDQ=
golang.org/x/term v0.35.0/go.mod h1:TPGtkTLesOwf2DE8CgVYiZinHAOuy5AYUYT1lENIZnA=
golang.org/x/text v0.29.0 h1:1neNs90w9YzJ9BocxfsQNHKuAT4pkghyXc4nhZ6sJvk=
golang.org/x/text v0.29.0/go.mod h1:7MhJOA9CD2qZyOKYazxdYMF85OwPdEr9jTtBpO7ydH4=
golang.org/x/tools v0.36.0 h1:kWS0uv/zsvHEle1LbV5LE8QujrxB3wfQyxHfhOk0Qkg=
golang.org/x/tools v0.36.0/go.mod h1:WBDiHKJK8YgLHlcQPYQzNCkUxUypCaa5ZegCVutKm+s=
gopkg.in/alessio/shellescape.v1 v1.0.0-20170105083845-52074bc9df61 h1:8ajkpB4hXVftY5ko905id+dOnmorcS2CHNxxHLLDcFM=
gopkg.in/alessio/shellescape.v1 v1.0.0-20170105083845-52074bc9df61/go.mod h1:IfMagxm39Ys4ybJrDb7W3Ob8RwxftP0Yy+or/NVz1O8=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
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

@@ -0,0 +1,62 @@
module swagger
go 1.25.3
tool github.com/go-swagger/go-swagger/cmd/swagger
require (
dario.cat/mergo v1.0.1 // indirect
github.com/Masterminds/goutils v1.1.1 // indirect
github.com/Masterminds/semver/v3 v3.3.1 // indirect
github.com/Masterminds/sprig/v3 v3.3.0 // indirect
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
github.com/felixge/httpsnoop v1.0.4 // indirect
github.com/fsnotify/fsnotify v1.8.0 // indirect
github.com/go-openapi/analysis v0.23.0 // indirect
github.com/go-openapi/errors v0.22.0 // indirect
github.com/go-openapi/inflect v0.21.0 // indirect
github.com/go-openapi/jsonpointer v0.21.0 // indirect
github.com/go-openapi/jsonreference v0.21.0 // indirect
github.com/go-openapi/loads v0.22.0 // indirect
github.com/go-openapi/runtime v0.28.0 // indirect
github.com/go-openapi/spec v0.21.0 // indirect
github.com/go-openapi/strfmt v0.23.0 // indirect
github.com/go-openapi/swag v0.23.0 // indirect
github.com/go-openapi/validate v0.24.0 // indirect
github.com/go-swagger/go-swagger v0.30.6-0.20240310114303-db51e79a0e37 // indirect
github.com/go-viper/mapstructure/v2 v2.4.0 // indirect
github.com/google/go-cmp v0.7.0 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/gorilla/handlers v1.5.2 // indirect
github.com/huandu/xstrings v1.5.0 // indirect
github.com/jessevdk/go-flags v1.5.0 // indirect
github.com/josharian/intern v1.0.0 // indirect
github.com/kr/pretty v0.3.1 // indirect
github.com/kr/text v0.2.0 // indirect
github.com/mailru/easyjson v0.7.7 // indirect
github.com/mitchellh/copystructure v1.2.0 // indirect
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c // indirect
github.com/mitchellh/reflectwalk v1.0.2 // indirect
github.com/oklog/ulid v1.3.1 // indirect
github.com/pelletier/go-toml/v2 v2.2.3 // indirect
github.com/rogpeppe/go-internal v1.14.1 // indirect
github.com/sagikazarmark/locafero v0.7.0 // indirect
github.com/shopspring/decimal v1.4.0 // indirect
github.com/sourcegraph/conc v0.3.0 // indirect
github.com/spf13/afero v1.12.0 // indirect
github.com/spf13/cast v1.7.1 // indirect
github.com/spf13/pflag v1.0.6 // indirect
github.com/spf13/viper v1.20.1 // indirect
github.com/subosito/gotenv v1.6.0 // indirect
github.com/toqueteos/webbrowser v1.2.0 // indirect
go.mongodb.org/mongo-driver v1.16.1 // indirect
go.uber.org/multierr v1.11.0 // indirect
golang.org/x/crypto v0.42.0 // indirect
golang.org/x/mod v0.27.0 // indirect
golang.org/x/sync v0.17.0 // indirect
golang.org/x/sys v0.36.0 // indirect
golang.org/x/text v0.29.0 // indirect
golang.org/x/tools v0.36.0 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)

123
.citools/src/swagger/go.sum Normal file
View File

@@ -0,0 +1,123 @@
dario.cat/mergo v1.0.1 h1:Ra4+bf83h2ztPIQYNP99R6m+Y7KfnARDfID+a+vLl4s=
dario.cat/mergo v1.0.1/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk=
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.3.1 h1:QtNSWtVZ3nBfk8mAOu/B6v7FMJ+NHTIgUPi7rj+4nv4=
github.com/Masterminds/semver/v3 v3.3.1/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM=
github.com/Masterminds/sprig/v3 v3.3.0 h1:mQh0Yrg1XPo6vjYXgtf5OtijNAKJRNcTdOOGZe3tPhs=
github.com/Masterminds/sprig/v3 v3.3.0/go.mod h1:Zy1iXRYNqNLUolqCpL4uhk6SHUMAOSCzdgBfDb35Lz0=
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 h1:DklsrG3dyBCFEj5IhUbnKptjxatkF07cF2ak3yi77so=
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg=
github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/8M=
github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=
github.com/go-openapi/analysis v0.23.0 h1:aGday7OWupfMs+LbmLZG4k0MYXIANxcuBTYUC03zFCU=
github.com/go-openapi/analysis v0.23.0/go.mod h1:9mz9ZWaSlV8TvjQHLl2mUW2PbZtemkE8yA5v22ohupo=
github.com/go-openapi/errors v0.22.0 h1:c4xY/OLxUBSTiepAg3j/MHuAv5mJhnf53LLMWFB+u/w=
github.com/go-openapi/errors v0.22.0/go.mod h1:J3DmZScxCDufmIMsdOuDHxJbdOGC0xtUynjIx092vXE=
github.com/go-openapi/inflect v0.21.0 h1:FoBjBTQEcbg2cJUWX6uwL9OyIW8eqc9k4KhN4lfbeYk=
github.com/go-openapi/inflect v0.21.0/go.mod h1:INezMuUu7SJQc2AyR3WO0DqqYUJSj8Kb4hBd7WtjlAw=
github.com/go-openapi/jsonpointer v0.21.0 h1:YgdVicSA9vH5RiHs9TZW5oyafXZFc6+2Vc1rr/O9oNQ=
github.com/go-openapi/jsonpointer v0.21.0/go.mod h1:IUyH9l/+uyhIYQ/PXVA41Rexl+kOkAPDdXEYns6fzUY=
github.com/go-openapi/jsonreference v0.21.0 h1:Rs+Y7hSXT83Jacb7kFyjn4ijOuVGSvOdF2+tg1TRrwQ=
github.com/go-openapi/jsonreference v0.21.0/go.mod h1:LmZmgsrTkVg9LG4EaHeY8cBDslNPMo06cago5JNLkm4=
github.com/go-openapi/loads v0.22.0 h1:ECPGd4jX1U6NApCGG1We+uEozOAvXvJSF4nnwHZ8Aco=
github.com/go-openapi/loads v0.22.0/go.mod h1:yLsaTCS92mnSAZX5WWoxszLj0u+Ojl+Zs5Stn1oF+rs=
github.com/go-openapi/runtime v0.28.0 h1:gpPPmWSNGo214l6n8hzdXYhPuJcGtziTOgUpvsFWGIQ=
github.com/go-openapi/runtime v0.28.0/go.mod h1:QN7OzcS+XuYmkQLw05akXk0jRH/eZ3kb18+1KwW9gyc=
github.com/go-openapi/spec v0.21.0 h1:LTVzPc3p/RzRnkQqLRndbAzjY0d0BCL72A6j3CdL9ZY=
github.com/go-openapi/spec v0.21.0/go.mod h1:78u6VdPw81XU44qEWGhtr982gJ5BWg2c0I5XwVMotYk=
github.com/go-openapi/strfmt v0.23.0 h1:nlUS6BCqcnAk0pyhi9Y+kdDVZdZMHfEKQiS4HaMgO/c=
github.com/go-openapi/strfmt v0.23.0/go.mod h1:NrtIpfKtWIygRkKVsxh7XQMDQW5HKQl6S5ik2elW+K4=
github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+GrE=
github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ=
github.com/go-openapi/validate v0.24.0 h1:LdfDKwNbpB6Vn40xhTdNZAnfLECL81w+VX3BumrGD58=
github.com/go-openapi/validate v0.24.0/go.mod h1:iyeX1sEufmv3nPbBdX3ieNviWnOZaJ1+zquzJEf2BAQ=
github.com/go-swagger/go-swagger v0.30.6-0.20240310114303-db51e79a0e37 h1:KFcZmKdZmapAog2+eL1buervAYrYolBZk7fMecPPDmo=
github.com/go-swagger/go-swagger v0.30.6-0.20240310114303-db51e79a0e37/go.mod h1:i1/E+d8iPNReSE7y04FaVu5OPKB3il5cn+T1Egogg3I=
github.com/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs=
github.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/gorilla/handlers v1.5.2 h1:cLTUSsNkgcwhgRqvCNmdbRWG0A3N4F+M2nWKdScwyEE=
github.com/gorilla/handlers v1.5.2/go.mod h1:dX+xVpaxdSw+q0Qek8SSsl3dfMk3jNddUkMzo0GtH0w=
github.com/huandu/xstrings v1.5.0 h1:2ag3IFq9ZDANvthTwTiqSSZLjDc+BedvHPAp5tJy2TI=
github.com/huandu/xstrings v1.5.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
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.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
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.5.1-0.20231216201459-8508981c8b6c h1:cqn374mizHuIWj+OSJCajGr/phAmuMug9qIX3l9CflE=
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c/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/v2 v2.2.3 h1:YmeHyLY8mFWbdkNWwpr+qIL2bEqT0o95WSdkNHvL12M=
github.com/pelletier/go-toml/v2 v2.2.3/go.mod h1:MfCQTFTvCcUyyvvwm1+G6H/jORL20Xlb6rzQu9GuUkc=
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
github.com/sagikazarmark/locafero v0.7.0 h1:5MqpDsTGNDhY8sGp0Aowyf0qKsPrhewaLSsFaodPcyo=
github.com/sagikazarmark/locafero v0.7.0/go.mod h1:2za3Cg5rMaTMoG/2Ulr9AwtFaIppKXTRYnozin4aB5k=
github.com/shopspring/decimal v1.4.0 h1:bxl37RwXBklmTi0C79JfXCEBD1cqqHt0bbgBAGFp81k=
github.com/shopspring/decimal v1.4.0/go.mod h1:gawqmDU56v4yIKSwfBSFip1HdCCXN8/+DMd9qYNcwME=
github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo=
github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0=
github.com/spf13/afero v1.12.0 h1:UcOPyRBYczmFn6yvphxkn9ZEOY65cpwGKb5mL36mrqs=
github.com/spf13/afero v1.12.0/go.mod h1:ZTlWwG4/ahT8W7T0WQ5uYmjI9duaLQGy3Q2OAl4sk/4=
github.com/spf13/cast v1.7.1 h1:cuNEagBQEHWN1FnbGEjCXL2szYEXqfJPbP2HNUaca9Y=
github.com/spf13/cast v1.7.1/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/viper v1.20.1 h1:ZMi+z/lvLyPSCoNtFCpqjy0S4kPbirhpTMwl8BkW9X4=
github.com/spf13/viper v1.20.1/go.mod h1:P9Mdzt1zoHIG8m2eZQinpiBjo6kCmZSKBClNNqjJvu4=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8=
github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU=
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.16.1 h1:rIVLL3q0IHM39dvE+z2ulZLp9ENZKThVfuvN/IiN4l8=
go.mongodb.org/mongo-driver v1.16.1/go.mod h1:oB6AhJQvFQL4LEHyXi6aJzQJtBiTQHiAd83l0GdFaiw=
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
golang.org/x/crypto v0.42.0 h1:chiH31gIWm57EkTXpwnqf8qeuMUi0yekh6mT2AvFlqI=
golang.org/x/crypto v0.42.0/go.mod h1:4+rDnOTJhQCx2q7/j6rAN5XDw8kPjeaXEUR2eL94ix8=
golang.org/x/mod v0.27.0 h1:kb+q2PyFnEADO2IEF935ehFUXlWiNjJWtRNgBLSfbxQ=
golang.org/x/mod v0.27.0/go.mod h1:rWI627Fq0DEoudcK+MBkNkCe0EetEaDSwJJkCcjpazc=
golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug=
golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.36.0 h1:KVRy2GtZBrk1cBYA7MKu5bEZFxQk4NIDV6RLVcC8o0k=
golang.org/x/sys v0.36.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
golang.org/x/text v0.29.0 h1:1neNs90w9YzJ9BocxfsQNHKuAT4pkghyXc4nhZ6sJvk=
golang.org/x/text v0.29.0/go.mod h1:7MhJOA9CD2qZyOKYazxdYMF85OwPdEr9jTtBpO7ydH4=
golang.org/x/tools v0.36.0 h1:kWS0uv/zsvHEle1LbV5LE8QujrxB3wfQyxHfhOk0Qkg=
golang.org/x/tools v0.36.0/go.mod h1:WBDiHKJK8YgLHlcQPYQzNCkUxUypCaa5ZegCVutKm+s=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
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

@@ -1,67 +0,0 @@
module swagger
go 1.24.1
tool github.com/go-swagger/go-swagger/cmd/swagger
require (
dario.cat/mergo v1.0.1 // indirect
github.com/Masterminds/goutils v1.1.1 // indirect
github.com/Masterminds/semver/v3 v3.3.0 // indirect
github.com/Masterminds/sprig/v3 v3.3.0 // indirect
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
github.com/felixge/httpsnoop v1.0.4 // indirect
github.com/fsnotify/fsnotify v1.8.0 // indirect
github.com/go-openapi/analysis v0.23.0 // indirect
github.com/go-openapi/errors v0.22.0 // indirect
github.com/go-openapi/inflect v0.21.0 // indirect
github.com/go-openapi/jsonpointer v0.21.0 // indirect
github.com/go-openapi/jsonreference v0.21.0 // indirect
github.com/go-openapi/loads v0.22.0 // indirect
github.com/go-openapi/runtime v0.28.0 // indirect
github.com/go-openapi/spec v0.21.0 // indirect
github.com/go-openapi/strfmt v0.23.0 // indirect
github.com/go-openapi/swag v0.23.0 // indirect
github.com/go-openapi/validate v0.24.0 // indirect
github.com/go-swagger/go-swagger v0.30.6-0.20240310114303-db51e79a0e37 // indirect
github.com/google/go-cmp v0.7.0 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/gorilla/handlers v1.5.2 // indirect
github.com/hashicorp/hcl v1.0.0 // indirect
github.com/huandu/xstrings v1.5.0 // indirect
github.com/jessevdk/go-flags v1.5.0 // indirect
github.com/josharian/intern v1.0.0 // indirect
github.com/kr/pretty v0.3.1 // indirect
github.com/kr/text v0.2.0 // indirect
github.com/magiconair/properties v1.8.7 // indirect
github.com/mailru/easyjson v0.7.7 // indirect
github.com/mitchellh/copystructure v1.2.0 // indirect
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c // indirect
github.com/mitchellh/reflectwalk v1.0.2 // indirect
github.com/oklog/ulid v1.3.1 // indirect
github.com/pelletier/go-toml/v2 v2.2.3 // indirect
github.com/rogpeppe/go-internal v1.13.1 // indirect
github.com/sagikazarmark/locafero v0.4.0 // indirect
github.com/sagikazarmark/slog-shim v0.1.0 // indirect
github.com/shopspring/decimal v1.4.0 // indirect
github.com/sourcegraph/conc v0.3.0 // indirect
github.com/spf13/afero v1.11.0 // indirect
github.com/spf13/cast v1.7.0 // indirect
github.com/spf13/pflag v1.0.6 // indirect
github.com/spf13/viper v1.19.0 // indirect
github.com/stretchr/testify v1.10.0 // indirect
github.com/subosito/gotenv v1.6.0 // indirect
github.com/toqueteos/webbrowser v1.2.0 // indirect
go.mongodb.org/mongo-driver v1.16.1 // indirect
go.uber.org/multierr v1.11.0 // indirect
golang.org/x/crypto v0.35.0 // indirect
golang.org/x/exp v0.0.0-20240909161429-701f63a606c0 // indirect
golang.org/x/mod v0.23.0 // indirect
golang.org/x/sync v0.11.0 // indirect
golang.org/x/sys v0.30.0 // indirect
golang.org/x/text v0.22.0 // indirect
golang.org/x/tools v0.30.0 // indirect
gopkg.in/ini.v1 v1.67.0 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)

View File

@@ -1,132 +0,0 @@
dario.cat/mergo v1.0.1 h1:Ra4+bf83h2ztPIQYNP99R6m+Y7KfnARDfID+a+vLl4s=
dario.cat/mergo v1.0.1/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk=
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.3.0 h1:B8LGeaivUe71a5qox1ICM/JLl0NqZSW5CHyL+hmvYS0=
github.com/Masterminds/semver/v3 v3.3.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM=
github.com/Masterminds/sprig/v3 v3.3.0 h1:mQh0Yrg1XPo6vjYXgtf5OtijNAKJRNcTdOOGZe3tPhs=
github.com/Masterminds/sprig/v3 v3.3.0/go.mod h1:Zy1iXRYNqNLUolqCpL4uhk6SHUMAOSCzdgBfDb35Lz0=
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 h1:DklsrG3dyBCFEj5IhUbnKptjxatkF07cF2ak3yi77so=
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg=
github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/8M=
github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=
github.com/go-openapi/analysis v0.23.0 h1:aGday7OWupfMs+LbmLZG4k0MYXIANxcuBTYUC03zFCU=
github.com/go-openapi/analysis v0.23.0/go.mod h1:9mz9ZWaSlV8TvjQHLl2mUW2PbZtemkE8yA5v22ohupo=
github.com/go-openapi/errors v0.22.0 h1:c4xY/OLxUBSTiepAg3j/MHuAv5mJhnf53LLMWFB+u/w=
github.com/go-openapi/errors v0.22.0/go.mod h1:J3DmZScxCDufmIMsdOuDHxJbdOGC0xtUynjIx092vXE=
github.com/go-openapi/inflect v0.21.0 h1:FoBjBTQEcbg2cJUWX6uwL9OyIW8eqc9k4KhN4lfbeYk=
github.com/go-openapi/inflect v0.21.0/go.mod h1:INezMuUu7SJQc2AyR3WO0DqqYUJSj8Kb4hBd7WtjlAw=
github.com/go-openapi/jsonpointer v0.21.0 h1:YgdVicSA9vH5RiHs9TZW5oyafXZFc6+2Vc1rr/O9oNQ=
github.com/go-openapi/jsonpointer v0.21.0/go.mod h1:IUyH9l/+uyhIYQ/PXVA41Rexl+kOkAPDdXEYns6fzUY=
github.com/go-openapi/jsonreference v0.21.0 h1:Rs+Y7hSXT83Jacb7kFyjn4ijOuVGSvOdF2+tg1TRrwQ=
github.com/go-openapi/jsonreference v0.21.0/go.mod h1:LmZmgsrTkVg9LG4EaHeY8cBDslNPMo06cago5JNLkm4=
github.com/go-openapi/loads v0.22.0 h1:ECPGd4jX1U6NApCGG1We+uEozOAvXvJSF4nnwHZ8Aco=
github.com/go-openapi/loads v0.22.0/go.mod h1:yLsaTCS92mnSAZX5WWoxszLj0u+Ojl+Zs5Stn1oF+rs=
github.com/go-openapi/runtime v0.28.0 h1:gpPPmWSNGo214l6n8hzdXYhPuJcGtziTOgUpvsFWGIQ=
github.com/go-openapi/runtime v0.28.0/go.mod h1:QN7OzcS+XuYmkQLw05akXk0jRH/eZ3kb18+1KwW9gyc=
github.com/go-openapi/spec v0.21.0 h1:LTVzPc3p/RzRnkQqLRndbAzjY0d0BCL72A6j3CdL9ZY=
github.com/go-openapi/spec v0.21.0/go.mod h1:78u6VdPw81XU44qEWGhtr982gJ5BWg2c0I5XwVMotYk=
github.com/go-openapi/strfmt v0.23.0 h1:nlUS6BCqcnAk0pyhi9Y+kdDVZdZMHfEKQiS4HaMgO/c=
github.com/go-openapi/strfmt v0.23.0/go.mod h1:NrtIpfKtWIygRkKVsxh7XQMDQW5HKQl6S5ik2elW+K4=
github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+GrE=
github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ=
github.com/go-openapi/validate v0.24.0 h1:LdfDKwNbpB6Vn40xhTdNZAnfLECL81w+VX3BumrGD58=
github.com/go-openapi/validate v0.24.0/go.mod h1:iyeX1sEufmv3nPbBdX3ieNviWnOZaJ1+zquzJEf2BAQ=
github.com/go-swagger/go-swagger v0.30.6-0.20240310114303-db51e79a0e37 h1:KFcZmKdZmapAog2+eL1buervAYrYolBZk7fMecPPDmo=
github.com/go-swagger/go-swagger v0.30.6-0.20240310114303-db51e79a0e37/go.mod h1:i1/E+d8iPNReSE7y04FaVu5OPKB3il5cn+T1Egogg3I=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/gorilla/handlers v1.5.2 h1:cLTUSsNkgcwhgRqvCNmdbRWG0A3N4F+M2nWKdScwyEE=
github.com/gorilla/handlers v1.5.2/go.mod h1:dX+xVpaxdSw+q0Qek8SSsl3dfMk3jNddUkMzo0GtH0w=
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.5.0 h1:2ag3IFq9ZDANvthTwTiqSSZLjDc+BedvHPAp5tJy2TI=
github.com/huandu/xstrings v1.5.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
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.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
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.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY=
github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0=
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.5.1-0.20231216201459-8508981c8b6c h1:cqn374mizHuIWj+OSJCajGr/phAmuMug9qIX3l9CflE=
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c/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/v2 v2.2.3 h1:YmeHyLY8mFWbdkNWwpr+qIL2bEqT0o95WSdkNHvL12M=
github.com/pelletier/go-toml/v2 v2.2.3/go.mod h1:MfCQTFTvCcUyyvvwm1+G6H/jORL20Xlb6rzQu9GuUkc=
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII=
github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o=
github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6keLGt6kNQ=
github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4=
github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE=
github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ=
github.com/shopspring/decimal v1.4.0 h1:bxl37RwXBklmTi0C79JfXCEBD1cqqHt0bbgBAGFp81k=
github.com/shopspring/decimal v1.4.0/go.mod h1:gawqmDU56v4yIKSwfBSFip1HdCCXN8/+DMd9qYNcwME=
github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo=
github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0=
github.com/spf13/afero v1.11.0 h1:WJQKhtpdm3v2IzqG8VMqrr6Rf3UYpEF239Jy9wNepM8=
github.com/spf13/afero v1.11.0/go.mod h1:GH9Y3pIexgf1MTIWtNGyogA5MwRIDXGUr+hbWNoBjkY=
github.com/spf13/cast v1.7.0 h1:ntdiHjuueXFgm5nzDRdOS4yfT43P5Fnud6DH50rz/7w=
github.com/spf13/cast v1.7.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/viper v1.19.0 h1:RWq5SEjt8o25SROyN3z2OrDB9l7RPd3lwTWU8EcEdcI=
github.com/spf13/viper v1.19.0/go.mod h1:GQUN9bilAbhU/jgc1bKs99f/suXKeUMct8Adx5+Ntkg=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8=
github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU=
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.16.1 h1:rIVLL3q0IHM39dvE+z2ulZLp9ENZKThVfuvN/IiN4l8=
go.mongodb.org/mongo-driver v1.16.1/go.mod h1:oB6AhJQvFQL4LEHyXi6aJzQJtBiTQHiAd83l0GdFaiw=
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
golang.org/x/crypto v0.35.0 h1:b15kiHdrGCHrP6LvwaQ3c03kgNhhiMgvlhxHQhmg2Xs=
golang.org/x/crypto v0.35.0/go.mod h1:dy7dXNW32cAb/6/PRuTNsix8T+vJAqvuIy5Bli/x0YQ=
golang.org/x/exp v0.0.0-20240909161429-701f63a606c0 h1:e66Fs6Z+fZTbFBAxKfP3PALWBtpfqks2bwGcexMxgtk=
golang.org/x/exp v0.0.0-20240909161429-701f63a606c0/go.mod h1:2TbTHSBQa924w8M6Xs1QcRcFwyucIwBGpK1p2f1YFFY=
golang.org/x/mod v0.23.0 h1:Zb7khfcRGKk+kqfxFaP5tZqCnDZMjC5VtUBs87Hr6QM=
golang.org/x/mod v0.23.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY=
golang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w=
golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc=
golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM=
golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY=
golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY=
golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA=
gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
gopkg.in/yaml.v2 v2.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

@@ -1,44 +0,0 @@
# To generate the .drone.yml file:
# 1. Modify the *.star definitions
# 2. Login to drone and export the env variables (token and server) shown here: https://drone.grafana.net/account
# 3. Run `make drone`
# More information about this process here: https://github.com/grafana/deployment_tools/blob/master/docs/infrastructure/drone/signing.md
"""
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/release.star",
"integration_test_pipelines",
"publish_artifacts_pipelines",
"publish_npm_pipelines",
"publish_packages_pipeline",
)
load("scripts/drone/events/rrc-patch.star", "rrc_patch_pipelines")
load(
"scripts/drone/pipelines/publish_images.star",
"publish_image_pipelines_public",
)
load(
"scripts/drone/rgm.star",
"rgm",
)
load("scripts/drone/vault.star", "secrets")
def main(_ctx):
return (
pr_pipelines() +
main_pipelines() +
rrc_patch_pipelines() +
publish_image_pipelines_public() +
publish_artifacts_pipelines("public") +
publish_npm_pipelines() +
publish_packages_pipeline() +
rgm() +
integration_test_pipelines() +
cronjobs() +
secrets()
)

5215
.drone.yml

File diff suppressed because it is too large Load Diff

695
.github/CODEOWNERS vendored

File diff suppressed because it is too large Load Diff

28
.github/actionlint.yaml vendored Normal file
View File

@@ -0,0 +1,28 @@
# These are just aliases to github-hosted runners
self-hosted-runner:
labels:
- github-hosted-ubuntu-arm64
- github-hosted-ubuntu-arm64-large
- github-hosted-ubuntu-x64-small
- github-hosted-ubuntu-x64-large
- github-hosted-windows-x64-large
- ubuntu-x64
- ubuntu-x64-io
- ubuntu-x64-small
- ubuntu-x64-small-io
- ubuntu-x64-large
- ubuntu-x64-large-io
- ubuntu-x64-xlarge
- ubuntu-x64-xlarge-io
- ubuntu-x64-2xlarge
- ubuntu-x64-2xlarge-io
- ubuntu-arm64
- ubuntu-arm64-io
- ubuntu-arm64-small
- ubuntu-arm64-small-io
- ubuntu-arm64-large
- ubuntu-arm64-large-io
- ubuntu-arm64-xlarge
- ubuntu-arm64-xlarge-io
- ubuntu-arm64-2xlarge
- ubuntu-arm64-2xlarge-io

153
.github/actions/build-package/action.yml vendored Normal file
View File

@@ -0,0 +1,153 @@
name: Build and Package Grafana Enterprise / Pro
description: Creates Grafana artifacts using Dagger & `pkg/build/daggerbuild`
inputs:
artifacts:
description: |
Comma-delimited list of artifacts to build and package.
Artifacts follow a specific format of `{package-type}:{grafana-edition}:{architecture}`.
Not every combination of `package-type`, `grafana-edition`, and `architecture` are supported.
Examples:
* `grafana:linux/amd64:targz`, `grafana:linux/amd64:deb`
* `enterprise:linux/arm64:rpm, enterprise:linux/amd64:docker`
* `pro:docker:llinux/amd64`
required: true
type: string
grafana-path:
description: Path to a clone of the 'grafana' repo
default: grafana
type: string
grafana-enterprise-path:
description: Path to a clone of the 'grafana-enterprise' repo
default: grafana-enterprise
type: string
github-token:
type: string
required: true
version:
type: string
description: The version to embed in the grafana binary, example `v1.2.3`. If not provided, then the value in Grafana's package.json will be used
required: true
build-id:
type: string
description: an identifier number which can be traced back to the workflow run.
default: ${{github.run_id}}
required: false
patches-repo:
type: string
description: Repository to load for patches repo. If empty, patches won't be applied. Must be an HTTPS git URL.
required: false
default: ""
patches-ref:
type: string
description: git ref in the patches repo to check out.
required: false
default: main
patches-path:
type: string
description: Path in the repository where `.patch` files can be found.
required: false
default: main
checksum:
type: boolean
description: If true, then checksums will be produced for each file (with a '.sha256' extension)
required: false
default: false
verify:
type: boolean
description: If true, then the e2e smoke tests will run to verify the produced artifacts (--verify)
required: false
default: false
output:
type: string
description: Filename to redirect stdout to. Contains list of packages that were produced
default: packages.txt
required: false
docker-tag-format:
type: string
default: "{{ .version }}-{{ .arch }}"
description: Go template of Docker image tag
required: false
docker-tag-format-ubuntu:
type: string
default: "{{ .version }}-ubuntu-{{ .arch }}"
description: Go template of Docker image tag
required: false
docker-org:
type: string
description: Docker org of produced images
default: grafana
required: false
docker-registry:
type: string
description: Docker registry of produced images
default: docker.io
required: false
ubuntu-base:
type: string
default: 'ubuntu:22.04'
required: false
alpine-base:
type: string
default: 'alpine:3.22'
required: false
outputs:
dist-dir:
description: Directory where artifacts are placed
value: ${{ steps.output.outputs.dist_dir }}
file:
description: Path to file containing list of artifacts produced
value: ${{ steps.output.outputs.file }}
grafana-commit:
description: Commit hash of the HEAD of the grafana repository used to build grafana.
value: ${{ steps.output.outputs.grafana_commit }}
enterprise-commit:
description: Commit hash of the HEAD of the grafana-enterprise repository used to build grafana.
value: ${{ steps.output.outputs.enterprise_commit }}
version:
description: The `grafana` version that was embedded in the binary
value: ${{ steps.output.outputs.version }}
runs:
using: "composite"
steps:
- shell: bash
run: | # zizmor: ignore[github-env]
echo "GRAFANA_PATH=${{ github.workspace }}/${GRAFANA_DIR}" >> "$GITHUB_ENV"
echo "ENTERPRISE_PATH=${{ github.workspace }}/${ENTERPRISE_DIR}" >> "$GITHUB_ENV"
env:
GB_PATH: ${{ inputs.path }}
GRAFANA_DIR: ${{ inputs.grafana-path }}
ENTERPRISE_DIR: ${{ inputs.enterprise-path }}
- name: Build Grafana Enterprise packages
uses: dagger/dagger-for-github@e47aba410ef9bb9ed81a4d2a97df31061e5e842e
env:
VERSION: ${{ inputs.version }}
ARTIFACTS: ${{ inputs.artifacts }}
GITHUB_TOKEN: ${{ inputs.github-token }}
PATCHES_REPO: ${{ inputs.patches-repo }}
PATCHES_REF: ${{ inputs.patches-ref }}
PATCHES_PATH: ${{ inputs.patches-path }}
BUILD_ID: ${{ inputs.build-id }}
OUTFILE: ${{ inputs.output }}
DOCKER_ORG: ${{ inputs.docker-org }}
DOCKER_REGISTRY: ${{ inputs.docker-registry }}
TAG_FORMAT: ${{ inputs.docker-tag-format }}
UBUNTU_TAG_FORMAT: ${{ inputs.docker-tag-format-ubuntu }}
CHECKSUM: ${{ inputs.checksum }}
VERIFY: ${{ inputs.verify }}
ALPINE_BASE: ${{ inputs.alpine-base }}
UBUNTU_BASE: ${{ inputs.ubuntu-base }}
with:
verb: run
dagger-flags: --verbose=0
version: 0.18.8
args: go run -C ${GRAFANA_PATH} ./pkg/build/cmd artifacts --artifacts ${ARTIFACTS} --grafana-dir=${GRAFANA_PATH} --alpine-base=${ALPINE_BASE} --ubuntu-base=${UBUNTU_BASE} --enterprise-dir=${ENTERPRISE_PATH} --version=${VERSION} --patches-repo=${PATCHES_REPO} --patches-ref=${PATCHES_REF} --patches-path=${PATCHES_PATH} --build-id=${BUILD_ID} --tag-format="${TAG_FORMAT}" --ubuntu-tag-format="${UBUNTU_TAG_FORMAT}" --org=${DOCKER_ORG} --registry=${DOCKER_REGISTRY} --checksum=${CHECKSUM} --verify=${VERIFY} > $OUTFILE
- id: output
shell: bash
env:
OUTFILE: ${{ inputs.output }}
run: |
echo "dist_dir=dist" | tee -a $GITHUB_OUTPUT
echo "file=${OUTFILE}" | tee -a $GITHUB_OUTPUT
echo "grafana_commit=$(git -C ${GRAFANA_PATH} rev-parse HEAD)" | tee -a $GITHUB_OUTPUT
echo "enterprise_commit=$(git -C ${ENTERPRISE_PATH} rev-parse HEAD)" | tee -a $GITHUB_OUTPUT
echo "version=$(cat ${GRAFANA_BUILD_PATH}/dist/VERSION)" | tee -a $GITHUB_OUTPUT

View File

@@ -0,0 +1,159 @@
name: Detect changed files
description: Detects whether any matching files have changed in the current PR
inputs:
self:
description: The path to the calling workflow (e.g. .github/workflows/backend-unit-tests.yml). It is regarded as any category.
required: true
outputs:
self:
description: Whether the calling workflow has changed in any way
value: ${{ steps.changed-files.outputs.self_any_changed || 'true' }}
backend:
description: Whether the backend or self have changed in any way
value: ${{ steps.changed-files.outputs.backend_any_changed || 'true' }}
frontend:
description: Whether the frontend or self has changed in any way
value: ${{ steps.changed-files.outputs.frontend_any_changed || 'true' }}
e2e:
description: Whether the e2e tests or self have changed in any way
value: ${{ steps.changed-files.outputs.e2e_any_changed == 'true' ||
steps.changed-files.outputs.backend_any_changed == 'true' ||
steps.changed-files.outputs.frontend_any_changed == 'true' || 'true' }}
e2e-cloud-plugins:
description: Whether the cloud plugins code or tests have changed in any way
value: ${{ steps.changed-files.outputs.e2e_cloud_plugins_any_changed || 'true' }}
dev-tooling:
description: Whether the dev tooling or self have changed in any way
value: ${{ steps.changed-files.outputs.dev_tooling_any_changed || 'true' }}
docs:
description: Whether the docs or self have changed in any way
value: ${{ steps.changed-files.outputs.docs_any_changed || 'true' }}
dockerfile:
description: Whether the dockerfile or self have changed in any way
value: ${{ steps.changed-files.outputs.dockerfile_any_changed || 'true' }}
runs:
using: composite
steps:
# Assumption: We've done a checkout with the actions/checkout action.
# It must persist credentials to allow the changed-files action to get more history.
- name: Detect changes
id: changed-files
if: github.event_name == 'pull_request'
uses: tj-actions/changed-files@ed68ef82c095e0d48ec87eccea555d944a631a4c # v46
with:
files_yaml: |
self:
- '.github/actions/change-detection/**'
- '${{ inputs.self }}'
dockerfile:
- 'Dockerfile'
backend:
- '!*.md'
- '!docs/**'
- '!.github/**'
- '.github/actions/setup-enterprise/**'
- '.github/actions/checkout/**'
- '**/go.mod'
- '**/go.sum'
- 'go.mod'
- 'go.sum'
- 'go.work'
- 'go.work.sum'
- '**.go'
- 'pkg/**'
- '!pkg/**.md'
- 'apps/**'
- '!apps/**.md'
- 'build.sh'
- '.github/actions/change-detection/**'
- '**.cue'
- 'devenv/docker/blocks/*_tests/**'
- 'kindsv2/**'
- '${{ inputs.self }}'
frontend:
- '.github/actions/setup-enterprise/**'
- '.github/actions/checkout/**'
- 'public/**'
- '**.js'
- '**.jsx'
- '**.ts'
- '**.tsx'
- '**.css'
- '**.mjs'
- 'yarn.lock'
- 'package.json'
- '!**.md'
- '.github/actions/change-detection/**'
- '**.cue'
- '.prettier*'
- '.yarnrc.yml'
- 'eslint.config.js'
- 'jest.config.js'
- 'nx.json'
- 'tsconfig.json'
- '.yarn/**'
- '${{ inputs.self }}'
e2e:
- 'e2e/**'
- '.github/actions/setup-enterprise/**'
- '.github/actions/checkout/**'
- 'emails/**'
- 'pkg/**'
- 'proto/**'
- '**/Makefile'
- 'scripts/**'
- '!**.md'
- '.github/actions/change-detection/**'
- '**.cue'
- 'conf/**'
- 'cypress.config.js'
- '${{ inputs.self }}'
e2e_cloud_plugins:
- 'pkg/tsdb/azuremonitor/**'
- 'public/app/plugins/datasource/azuremonitor/**'
- 'e2e-playwright/cloud-plugins-suite/azure-monitor.spec.ts'
- '${{ inputs.self }}'
dev_tooling:
- '.github/actions/setup-enterprise/**'
- '.github/actions/checkout/**'
- '**.sh'
- '.trivyignore'
- '.prettierrc.js'
- '**/Makefile'
- 'proto/**.yaml'
- 'pkg/build/**'
- 'pkg/wire/**'
- 'scripts/**'
- '!**.md'
- '.citools/**'
- '.github/actions/change-detection/**'
- '${{ inputs.self }}'
docs:
- 'contribute/**'
- 'docs/**'
- '**.md'
- 'LICENSE'
- '.vale.ini'
- '.github/actions/change-detection/**'
- '${{ inputs.self }}'
- name: Print all change groups
shell: bash
run: |
echo "Self: ${{ steps.changed-files.outputs.self_any_changed || 'true' }}"
echo " --> ${{ steps.changed-files.outputs.self_all_changed_files }}"
echo "Backend: ${{ steps.changed-files.outputs.backend_any_changed || 'true' }}"
echo " --> ${{ steps.changed-files.outputs.backend_all_changed_files }}"
echo "Frontend: ${{ steps.changed-files.outputs.frontend_any_changed || 'true' }}"
echo " --> ${{ steps.changed-files.outputs.frontend_all_changed_files }}"
echo "E2E: ${{ steps.changed-files.outputs.e2e_any_changed || 'true' }}"
echo " --> ${{ steps.changed-files.outputs.e2e_all_changed_files }}"
echo " --> ${{ steps.changed-files.outputs.backend_all_changed_files }}"
echo " --> ${{ steps.changed-files.outputs.frontend_all_changed_files }}"
echo "E2E cloud plugins: ${{ steps.changed-files.outputs.e2e_cloud_plugins_any_changed || 'true' }}"
echo " --> ${{ steps.changed-files.outputs.e2e_cloud_plugins_all_changed_files }}"
echo "Dev Tooling: ${{ steps.changed-files.outputs.dev_tooling_any_changed || 'true' }}"
echo " --> ${{ steps.changed-files.outputs.dev_tooling_all_changed_files }}"
echo "Docs: ${{ steps.changed-files.outputs.docs_any_changed || 'true' }}"
echo " --> ${{ steps.changed-files.outputs.docs_all_changed_files }}"
echo "Dockerfile: ${{ steps.changed-files.outputs.dockerfile_any_changed || 'true' }}"
echo " --> ${{ steps.changed-files.outputs.dockerfile_all_changed_files }}"

View File

@@ -1,6 +1,7 @@
import { appendFileSync, writeFileSync } from 'fs';
import { exec as execCallback } from 'node:child_process';
import { promisify } from 'node:util';
import {appendFileSync, writeFileSync} from 'fs';
import {exec as execCallback} from 'node:child_process';
import {promisify} from 'node:util';
import {findPreviousVersion, semverParse} from "./semver.js";
//
// Github Action core utils: logging (notice + debug log levels), must escape
@@ -9,35 +10,6 @@ import { promisify } from 'node:util';
const escapeData = (s) => s.replace(/%/g, '%25').replace(/\r/g, '%0D').replace(/\n/g, '%0A');
const LOG = (msg) => console.log(`::notice::${escapeData(msg)}`);
//
// Semver utils: parse, compare, sort etc (using official regexp)
// https://regex101.com/r/Ly7O1x/3/
//
const semverRegExp =
/^v?(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/;
const semverParse = (tag) => {
const m = tag.match(semverRegExp);
if (!m) {
return;
}
const [_, major, minor, patch, prerelease] = m;
return [+major, +minor, +patch, prerelease, tag];
};
// semverCompare takes two parsed semver tags and comparest them more or less
// according to the semver specs
const semverCompare = (a, b) => {
for (let i = 0; i < 3; i++) {
if (a[i] !== b[i]) {
return a[i] < b[i] ? 1 : -1;
}
}
if (a[3] !== b[3]) {
return a[3] < b[3] ? 1 : -1;
}
return 0;
};
// Using `git tag -l` output find the tag (version) that goes semantically
// right before the given version. This might not work correctly with some
@@ -45,29 +17,32 @@ const semverCompare = (a, b) => {
// into this action explicitly to avoid this step.
const getPreviousVersion = async (version) => {
const exec = promisify(execCallback);
const { stdout } = await exec('git tag -l');
const prev = stdout
const {stdout} = await exec('git for-each-ref --sort=-creatordate --format \'%(refname:short)\' refs/tags');
const parsedTags = stdout
.split('\n')
.map(semverParse)
.filter((tag) => tag)
.sort(semverCompare)
.find((tag) => semverCompare(tag, semverParse(version)) > 0);
.filter(Boolean);
const parsedVersion = semverParse(version);
const prev = findPreviousVersion(parsedTags, parsedVersion);
if (!prev) {
throw `Could not find previous git tag for ${version}`;
}
return prev[4];
return prev[5];
};
// A helper for Github GraphQL API endpoint
const graphql = async (ghtoken, query, variables) => {
const { env } = process;
const {env} = process;
const results = await fetch('https://api.github.com/graphql', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${ghtoken}`,
},
body: JSON.stringify({ query, variables }),
body: JSON.stringify({query, variables}),
});
const res = await results.json();
@@ -100,7 +75,7 @@ const getCommitishDate = async (name, owner, target) => {
}
}
`,
{ name, owner, target }
{name, owner, target}
);
return result.repository.object.committedDate;
};
@@ -160,7 +135,7 @@ const getHistory = async (name, owner, from, to) => {
let cursor;
let nodes = [];
for (;;) {
for (; ;) {
const result = await graphql(ghtoken, query, {
name,
owner,
@@ -170,7 +145,7 @@ const getHistory = async (name, owner, from, to) => {
});
LOG(`GraphQL: ${JSON.stringify(result)}`);
nodes = [...nodes, ...result.repository.ref.compare.commits.nodes];
const { hasNextPage, endCursor } = result.repository.ref.compare.commits.pageInfo;
const {hasNextPage, endCursor} = result.repository.ref.compare.commits.pageInfo;
if (!hasNextPage) {
break;
}
@@ -186,7 +161,7 @@ const getHistory = async (name, owner, from, to) => {
// PR grouping relies on Github labels only, not on the PR contents.
const getChangeLogItems = async (name, owner, from, to) => {
// check if a node contains a certain label
const hasLabel = ({ labels }, label) => labels.nodes.some(({ name }) => name === label);
const hasLabel = ({labels}, label) => labels.nodes.some(({name}) => name === label);
// get all the PRs between the two "commitish" items
const history = await getHistory(name, owner, from, to);
@@ -197,17 +172,17 @@ const getChangeLogItems = async (name, owner, from, to) => {
return [];
}
const item = changes[0];
const { number, url, labels } = item;
const {number, url, labels} = item;
const title = item.title.replace(/^\[[^\]]+\]:?\s*/, '');
// for changelog PRs try to find a suitable category.
// Note that we can not detect "deprecation notices" like that
// as there is no suitable label yet.
const isBug = /fix/i.test(title) || hasLabel({ labels }, 'type/bug');
const isBreaking = hasLabel({ labels }, 'breaking change');
const isBug = /fix/i.test(title) || hasLabel({labels}, 'type/bug');
const isBreaking = hasLabel({labels}, 'breaking change');
const isPlugin =
hasLabel({ labels }, 'area/grafana/ui') ||
hasLabel({ labels }, 'area/grafana/toolkit') ||
hasLabel({ labels }, 'area/grafana/runtime');
hasLabel({labels}, 'area/grafana/ui') ||
hasLabel({labels}, 'area/grafana/toolkit') ||
hasLabel({labels}, 'area/grafana/runtime');
const author = item.commits.nodes[0].commit.author.user?.login;
return {
repo: name,
@@ -227,7 +202,7 @@ const getChangeLogItems = async (name, owner, from, to) => {
// ======================================================
LOG(`Changelog action started`);
console.log(process.argv);
const ghtoken = process.env.GITHUB_TOKEN || process.env.INPUT_GITHUB_TOKEN;
if (!ghtoken) {
throw 'GITHUB_TOKEN is not set and "github_token" input is empty';
@@ -286,15 +261,15 @@ const markdown = (changelog) => {
: `### ${title}
${items
.map(
(item) =>
`- ${item.title.replace(/^([^:]*:)/gm, '**$1**')} ${
item.repo === 'grafana-enterprise'
? '(Enterprise)'
: `${pullRequestLink(item.number)}${item.author ? ', ' + userLink(item.author) : ''}`
}`
)
.join('\n')}
.map(
(item) =>
`- ${item.title.replace(/^([^:]*:)/gm, '**$1**')} ${
item.repo === 'grafana-enterprise'
? '(Enterprise)'
: `${pullRequestLink(item.number)}${item.author ? ', ' + userLink(item.author) : ''}`
}`
)
.join('\n')}
`;
// Render all present sections for the given changelog

92
.github/actions/changelog/semver.js vendored Normal file
View File

@@ -0,0 +1,92 @@
//
// Semver utils: parse, compare, sort etc (using official regexp)
// https://regex101.com/r/Ly7O1x/3/
//
const semverRegExp =
/^v?(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/;
export function semverParse(tag) {
const m = tag.match(semverRegExp);
if (!m) {
return;
}
const [_, major, minor, patch, prerelease, build] = m;
return [+major, +minor, +patch, prerelease, build, tag];
};
// semverCompare takes two parsed semver tags and comparest them more or less
// according to the semver specs
export function semverCompare(a, b) {
for (let i = 0; i < 3; i++) {
if (a[i] !== b[i]) {
return a[i] < b[i] ? 1 : -1;
}
}
if (a[3] !== b[3]) {
return a[3] < b[3] ? 1 : -1;
}
return 0;
};
// Finds the highest version that is lower than the target version.
//
// This function relies on the following invariant: versions are sorted by the release date.
// It will produce wrong result if invariant doesn't hold.
export const findPreviousVersion = (versionByDate, target) => {
let prev = null;
for (let i = 0; i < versionByDate.length; i++) {
const version = versionByDate[i];
// version is greater than the target
if (semverCompare(target, version) > 0) {
continue;
}
// we came across the target version, all versions seen previously have greater release date.
if (semverCompare(target, version) === 0 && target[4] === version[4]) {
prev = null;
continue;
}
if (prev == null) {
prev = version;
continue;
}
if (semverCompare(prev, version) > 0) {
prev = version;
}
}
return prev;
};
const versionsByDate = [
"v10.4.19", "v12.0.1", "v11.6.2", "v11.5.5", "v11.4.5", "v11.3.7", "v11.2.10", "v12.0.0+security-01", "v11.2.9+security-01", "v11.3.6+security-01",
"v11.6.1+security-01", "v11.4.4+security-01", "v11.5.4+security-01", "v10.4.18+security-01", "v12.0.0", "v11.6.1",
"v11.5.4", "v11.4.4", "v11.3.6", "v11.2.9", "v10.4.18", "v11.6.0+security-01", "v11.5.3+security-01", "v11.4.3+security-01",
"v11.3.5+security-01", "v11.2.8+security-01", "v10.4.17+security-01", "v11.2.8", "v11.6.0", "v11.5.2", "v11.4.2",
"v11.3.4", "v11.2.7", "v11.1.12", "v11.0.11", "v10.4.16", "v11.5.1", "v11.5.0", "v11.3.3", "v11.1.11", "v11.2.6",
"v11.0.10", "v10.4.15", "v11.4.1", "v11.4.0", "v11.3.2", "v11.2.5", "v11.1.10", "v11.0.9", "v10.4.14", "v11.3.1",
"v11.2.4", "v11.1.9", "v11.0.8", "v10.4.13", "v11.0.2", "v10.4.6", "v10.3.8", "v10.2.9", "v11.1.0", "v11.0.1",
"v10.4.5", "v10.3.7", "v10.2.8", "v9.5.20", "v10.4.4", "v9.5.19", "v10.1.10", "v10.2.7", "v10.3.6", "v10.4.3",
"v11.0.0", "v10.4.2", "v11.0.0-preview", "v10.1.9", "v10.0.13", "v9.2.0", "v9.1.8",
].map(semverParse);
function test(version, expected) {
const v1 = semverParse(version);
const prev = findPreviousVersion(versionsByDate, v1);
const failureMessage = `FAIILED. Expected ${expected}, but was ${prev[5]}`;
console.log(`Test ${version}, ${prev[5] === expected ? 'PASSED' : failureMessage}`);
}
test("v11.5.4+security-01", "v11.5.4");
test("v11.5.4", "v11.5.3+security-01");
test("v12.0.0", "v11.6.1");
test("v12.0.0+security-01", "v12.0.0");
test("v11.0.0", "v11.0.0-preview");

48
.github/actions/check-jobs/action.yml vendored Normal file
View File

@@ -0,0 +1,48 @@
name: Check jobs results
description: Checks if any jobs have failed and exits with error if failures are found. Use to check the results of matrix test runs.
inputs:
needs:
description: JSON string containing the needs context from the workflow
required: true
failure-message:
description: Custom message to display when failures are found
required: false
default: "One or more jobs have failed"
success-message:
description: Custom message to display when all jobs pass
required: false
default: "All jobs passed successfully"
outputs:
any-failed:
description: Whether any jobs failed
value: ${{ steps.check-jobs.outputs.any-failed }}
runs:
using: "composite"
steps:
- name: Check test suites
id: check-jobs
shell: bash
env:
NEEDS: ${{ inputs.needs }}
FAILURE_MSG: ${{ inputs.failure-message }}
SUCCESS_MSG: ${{ inputs.success-message }}
run: |
set -euo pipefail
# Print the needs context, debugging
echo "$NEEDS" | jq
# Extract failures
FAILURES="$(echo "$NEEDS" | jq 'with_entries(select(.value.result == "failure")) | map_values(.result)')"
# Check if there are any failures
if [ "$(echo "$FAILURES" | jq '. | length')" != "0" ]; then
echo "❌ $FAILURE_MSG"
echo "Failed suites:"
echo "$FAILURES" | jq -r 'to_entries[] | "- \(.key): \(.value)"'
echo "any-failed=true" >> "$GITHUB_OUTPUT"
exit 1
fi
echo "✅ $SUCCESS_MSG"

View File

@@ -12,7 +12,7 @@ runs:
steps:
- name: Retrieve GitHub App secrets
id: get-secrets
uses: grafana/shared-workflows/actions/get-vault-secrets@get-vault-secrets-v1.0.1
uses: grafana/shared-workflows/actions/get-vault-secrets@get-vault-secrets-v1.0.1 # zizmor: ignore[unpinned-uses]
with:
repo_secrets: |
APP_ID=${{ inputs.github-app-name }}:app-id
@@ -34,9 +34,9 @@ runs:
GH_TOKEN: ${{ steps.generate_token.outputs.token }}
run: |
git clone https://x-access-token:${GH_TOKEN}@github.com/grafana/grafana-enterprise.git ../grafana-enterprise;
cd ../grafana-enterprise
if git checkout ${GITHUB_HEAD_REF}; then
echo "checked out ${GITHUB_HEAD_REF}"
elif git checkout ${GITHUB_BASE_REF}; then
@@ -44,5 +44,5 @@ runs:
else
git checkout main
fi
./build.sh
QUIET=1 ./build.sh

View File

@@ -16,7 +16,7 @@ runs:
steps:
- name: Retrieve GitHub App secrets
id: get-secrets
uses: grafana/shared-workflows/actions/get-vault-secrets@get-vault-secrets-v1.0.1
uses: grafana/shared-workflows/actions/get-vault-secrets@get-vault-secrets-v1.0.1 # zizmor: ignore[unpinned-uses]
with:
repo_secrets: |
APP_ID=${{ inputs.github-app-name }}:app-id
@@ -36,9 +36,10 @@ runs:
shell: bash
env:
GH_TOKEN: ${{ steps.generate_token.outputs.token }}
BRANCH: ${{ inputs.branch }}
run: |
git clone https://x-access-token:${GH_TOKEN}@github.com/grafana/grafana-bench.git ../grafana-bench
cd ../grafana-bench
git switch ${{ inputs.branch }}
git switch "$BRANCH"
go install .

11
.github/actions/setup-node/action.yml vendored Normal file
View File

@@ -0,0 +1,11 @@
name: Setup Node.js
description: Sets up a node.js environment with presets for the Grafana repository.
runs:
using: "composite"
steps:
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: 'yarn'
cache-dependency-path: 'yarn.lock'

View File

@@ -1,48 +0,0 @@
name: 'Go Coverage Processor'
description: 'Process Go test coverage files and generate reports'
inputs:
test-type:
description: 'Type of test (e.g., be-unit, be-integration)'
required: true
type: string
coverage-file:
description: 'Path to the Go coverage file (.cov)'
required: true
type: string
codecov-token:
description: 'Token for CodeCov (required for CodeCov reporting)'
required: false
default: ''
codecov-flag:
description: 'Flag to categorize the upload to CodeCov'
required: false
default: ''
codecov-name:
description: 'Custom name for the upload to CodeCov'
required: false
default: ''
runs:
using: 'composite'
steps:
- name: Process Go coverage output
shell: bash
run: |
# Ensure valid coverage file even if empty
if [ ! -s ${{ inputs.coverage-file }} ]; then
echo "Coverage file is empty, creating a minimal valid file"
echo "mode: set" > ${{ inputs.coverage-file }}
fi
- name: Report coverage to CodeCov
uses: codecov/codecov-action@v5
if: inputs.codecov-token != ''
with:
files: ${{ inputs.coverage-file }}
flags: ${{ inputs.codecov-flag || inputs.test-type }}
name: ${{ inputs.codecov-name || inputs.test-type }}
slug: grafana/grafana
# This URL doesn't use the Google auth, but is much more locked down. As such, it requires OIDC or a CodeCov-provided token to do anything.
url: https://codecov-webhook.grafana-dev.net
token: ${{ inputs.codecov-token }}

64
.github/commands.json vendored
View File

@@ -128,7 +128,7 @@
"name": "datasource/Loki",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/203"
"url": "https://github.com/orgs/grafana/projects/457"
}
},
{
@@ -136,7 +136,7 @@
"name": "datasource/Tempo",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/221"
"url": "https://github.com/orgs/grafana/projects/457"
}
},
{
@@ -152,7 +152,7 @@
"name": "datasource/Parca",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/221"
"url": "https://github.com/orgs/grafana/projects/457"
}
},
{
@@ -160,7 +160,7 @@
"name": "datasource/Elasticsearch",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/97"
"url": "https://github.com/orgs/grafana/projects/190"
}
},
{
@@ -168,7 +168,7 @@
"name": "datasource/Jaeger",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/221"
"url": "https://github.com/orgs/grafana/projects/457"
}
},
{
@@ -176,7 +176,7 @@
"name": "datasource/Zipkin",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/221"
"url": "https://github.com/orgs/grafana/projects/457"
}
},
{
@@ -488,7 +488,23 @@
"name": "area/transformations",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
"url": "https://github.com/orgs/grafana/projects/908"
}
},
{
"type": "label",
"name": "area/correlations",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/908"
}
},
{
"type": "label",
"name": "area/expressions/sql",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/908"
}
},
{
@@ -568,12 +584,12 @@
"name": "area/public-dashboards",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/482"
"url": "https://github.com/orgs/grafana/projects/467"
}
},
{
"type": "label",
"name": "area/exploremetrics",
"name": "area/metricsdrilldown",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/516"
@@ -648,7 +664,7 @@
"name": "area/frontend/library-panels",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/202"
"url": "https://github.com/orgs/grafana/projects/482"
}
},
{
@@ -680,7 +696,7 @@
"name": "area/navigation",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/78"
"url": "https://github.com/orgs/grafana/projects/911"
}
},
{
@@ -688,7 +704,7 @@
"name": "area/search",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/78"
"url": "https://github.com/orgs/grafana/projects/911"
}
},
{
@@ -736,7 +752,7 @@
"name": "area/image-rendering",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/482"
"url": "https://github.com/orgs/grafana/projects/467"
}
},
{
@@ -880,7 +896,7 @@
"name": "area/dashboard/library-panel",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/202"
"url": "https://github.com/orgs/grafana/projects/482"
}
},
{
@@ -931,6 +947,14 @@
"url": "https://github.com/orgs/grafana/projects/202"
}
},
{
"type": "label",
"name": "area/gitsync",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/792"
}
},
{
"type": "label",
"name": "area/backend/db/sqlite",
@@ -984,7 +1008,7 @@
"name": "area/frontend/login",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/78"
"url": "https://github.com/orgs/grafana/projects/911"
}
},
{
@@ -1016,7 +1040,7 @@
"name": "area/panel/dashboard-list",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/202"
"url": "https://github.com/orgs/grafana/projects/911"
}
},
{
@@ -1194,5 +1218,13 @@
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/699"
}
},
{
"type": "label",
"name": "type/docs",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/69"
}
}
]

View File

@@ -8,10 +8,11 @@ updates:
directories:
- "/"
- "/apps/playlist"
- "/apps/secret"
- "/apps/investigations"
- "/pkg/aggregator"
- "/pkg/apimachinery"
- "/pkg/apis/secret"
- "/pkg/apis/folder"
- "/pkg/apiserver"
- "/pkg/build"
- "/pkg/build/wire"
@@ -30,11 +31,6 @@ updates:
- "/"
- "/packaging/docker/custom"
- "/scripts/verify-repo-update"
- "/scripts/build/ci-deploy"
- "/scripts/build/ci-windows-test"
- "/scripts/build/ci-e2e"
- "/scripts/build/ci-wix"
- "/scripts/build/ci-msi-build"
schedule:
interval: "daily"
time: "02:00"

View File

@@ -4,8 +4,7 @@
"memberOf": {
"org": "grafana"
},
"noLabels": true,
"addLabel": "internal",
"noLabels": true,
"comment": " please add one or more appropriate labels. Here are some tips:\r\n\r\n- if you are making an issue, TODO, or reminder for yourself or your team, please add one label that best describes the product or feature area. Please also add the issue to your project board. :rocket:\r\n\r\n- if you are making an issue for any other reason (docs typo, you found a bug, etc), please add at least one label that best describes the product or feature that you are discussing (e.g. `area/alerting`, `datasource/loki`, `type/docs`, `type/bug`, etc). [Our issue triage](https://github.com/grafana/grafana/blob/main/contribute/ISSUE_TRIAGE.md#3-categorize-an-issue) doc also provides additional guidance on labeling. :rocket:\r\n\r\n Thank you! :heart:"
}
]

128
.github/license_finder.yaml vendored Normal file
View File

@@ -0,0 +1,128 @@
---
- - :permit
- MIT
- :who: Carl Bergquist
:why: Compatible license
:versions: []
:when: 2021-03-25 11:11:50.696368005 Z
- - :permit
- Apache 2.0
- :who: Carl Bergquist
:why: Compatible license
:versions: []
:when: 2021-03-25 11:12:09.344787957 Z
- - :permit
- New BSD
- :who: Carl Bergquist
:why: Compatible license
:versions: []
:when: 2021-03-25 11:12:09.344787957 Z
- - :permit
- Simplified BSD
- :who: Carl Bergquist
:why: Compatible license
:versions: []
:when: 2021-03-25 11:12:09.344787957 Z
- - :permit
- Mozilla Public License 2.0
- :who: Carl Bergquist
:why: Compatible license
:versions: []
:when: 2021-03-25 11:12:09.344787957 Z
- - :permit
- ISC
- :who: Carl Bergquist
:why: Compatible license
:versions: []
:when: 2021-03-25 11:12:09.344787957
- - :license
- github.com/grafana/alerting
- GNU Affero GPL
- :who: Carl Bergquist
:why: repository is owned by Grafana Labs
:versions: []
:when: 2025-05-03 13:10:00.000000000 Z
- - :license
- github.com/grafana/grafana/apps/advisor
- unknown
- :who: Carl Bergquist
:why: repository is owned by Grafana Labs
:versions: []
:when: 2025-05-03 13:10:00.000000000 Z
- - :license
- github.com/grafana/grafana/apps/alerting/notifications
- unknown
- :who: Carl Bergquist
:why: repository is owned by Grafana Labs
:versions: []
:when: 2025-05-03 13:10:00.000000000 Z
- - :license
- github.com/grafana/grafana/apps/dashboard
- unknown
- :who: Carl Bergquist
:why: repository is owned by Grafana Labs
:versions: []
:when: 2025-05-03 13:10:00.000000000 Z
- - :license
- github.com/grafana/grafana/apps/folder
- unknown
- :who: Carl Bergquist
:why: repository is owned by Grafana Labs
:versions: []
:when: 2025-05-03 13:10:00.000000000 Z
- - :license
- github.com/grafana/grafana/apps/investigations
- unknown
- :who: Carl Bergquist
:why: repository is owned by Grafana Labs
:versions: []
:when: 2025-05-03 13:10:00.000000000 Z
- - :license
- github.com/grafana/grafana/apps/playlist
- unknown
- :who: Carl Bergquist
:why: repository is owned by Grafana Labs
:versions: []
:when: 2025-05-03 13:10:00.000000000 Z
- - :license
- github.com/grafana/grafana/pkg/aggregator
- unknown
- :who: Carl Bergquist
:why: repository is owned by Grafana Labs
:versions: []
:when: 2025-05-03 13:10:00.000000000 Z
- - :license
- github.com/grafana/grafana/pkg/apimachinery
- unknown
- :who: Carl Bergquist
:why: repository is owned by Grafana Labs
:versions: []
:when: 2025-05-03 13:10:00.000000000 Z
- - :license
- github.com/grafana/grafana/apps/secret
- unknown
- :who: Carl Bergquist
:why: repository is owned by Grafana Labs
:versions: []
:when: 2025-05-03 13:10:00.000000000 Z
- - :license
- github.com/grafana/grafana/pkg/apiserver
- unknown
- :who: Carl Bergquist
:why: repository is owned by Grafana Labs
:versions: []
:when: 2025-05-03 13:10:00.000000000 Z
- - :license
- github.com/grafana/grafana/pkg/promlib
- unknown
- :who: Carl Bergquist
:why: repository is owned by Grafana Labs
:versions: []
:when: 2025-05-03 13:10:00.000000000 Z
- - :license
- github.com/grafana/grafana/pkg/semconv
- unknown
- :who: Carl Bergquist
:why: repository is owned by Grafana Labs
:versions: []
:when: 2025-05-03 13:10:00.000000000 Z

View File

@@ -1,32 +0,0 @@
{
"queries": [
{
"name": "type_bug",
"query": "label:\"type/bug\" is:issue is:open"
},
{
"name": "type_docs",
"query": "label:\"type/docs\" is:issue is:open"
},
{
"name": "needs_investigation",
"query": "label:\"needs investigation\" is:issue is:open"
},
{
"name": "needs_more_info",
"query": "label:\"needs more info\" is:issue is:open"
},
{
"name": "triage_needs_confirmation",
"query": "label:\"triage/needs-confirmation\" is:issue is:open"
},
{
"name": "unlabeled",
"query": "is:open is:issue no:label"
},
{
"name": "open_prs",
"query": "is:open is:pull-request"
}
]
}

View File

@@ -71,16 +71,6 @@
"action": "updateLabel",
"addLabel": "type/build-packaging"
},
{
"type": "changedfiles",
"matches": [
"scripts/*.star",
".drone.star",
".drone.yml"
],
"action": "updateLabel",
"addLabel": "type/ci"
},
{
"type": "changedfiles",
"matches": [
@@ -243,39 +233,16 @@
{
"type": "changedfiles",
"matches": [
"/pkg/services/ngalert/**/*",
"/pkg/services/sqlstore/migrations/ualert/**/*",
"/pkg/services/alerting/**/*",
"/public/app/features/alerting/**/*",
"/pkg/tests/api/alerting/**/*",
"/pkg/tests/alertmanager/**/*"
"pkg/services/ngalert/**/*",
"pkg/services/sqlstore/migrations/ualert/**/*",
"pkg/services/alerting/**/*",
"public/app/features/alerting/**/*",
"pkg/tests/api/alerting/**/*",
"pkg/tests/alertmanager/**/*"
],
"action": "updateLabel",
"addLabel": "area/alerting"
},
{
"type": "author",
"name": "pr/external",
"notMemberOf": {
"org": "grafana"
},
"ignoreList": [
"renovate[bot]",
"dependabot[bot]",
"grafana-delivery-bot[bot]",
"grafanabot"
],
"action": "updateLabel",
"addLabel": "pr/external"
},
{
"type": "label",
"name": "type/docs",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/69"
}
},
{
"type": "changedfiles",
"matches": [
@@ -436,5 +403,71 @@
],
"action": "updateLabel",
"addLabel": "area/panel/table"
},
{
"type": "changedfiles",
"matches": [
"public/app/plugins/datasource/azuremonitor/**/*",
"pkg/tsdb/azuremonitor/**/*"
],
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/190"
}
},
{
"type": "changedfiles",
"matches": [
"public/app/plugins/datasource/graphite/**/*",
"pkg/tsdb/graphite/**/*"
],
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/190"
}
},
{
"type": "changedfiles",
"matches": [
"public/app/plugins/datasource/influxdb/**/*",
"pkg/tsdb/influx/**/*"
],
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/190"
}
},
{
"type": "changedfiles",
"matches": [
"public/app/plugins/datasource/elasticsearch/**/*",
"pkg/tsdb/elasticsearch/**/*"
],
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/190"
}
},
{
"type": "changedfiles",
"matches": [
"public/app/plugins/datasource/cloud-monitoring/**/*",
"pkg/tsdb/cloud-monitoring/**/*"
],
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/190"
}
},
{
"type": "changedfiles",
"matches": [
"public/app/plugins/datasource/opentsdb/**/*",
"pkg/tsdb/opentsdb/**/*"
],
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/190"
}
}
]

View File

@@ -2,20 +2,26 @@
extends: ["config:recommended"],
enabledManagers: ["npm"],
ignoreDeps: [
// ignoring these until we can upgrade to react 19
// see epic here: https://github.com/grafana/grafana/issues/98813
'@types/react',
'@types/react-dom',
'eslint-plugin-react-hooks',
'react',
'react-dom',
'react-refresh',
"@types/history", // this can be removed entirely when we upgrade history since v5 exposes types directly
"cypress", // cypress use is deprecated, we should not bump it anymore
"history", // we should bump this together with react-router-dom (see https://github.com/grafana/grafana/issues/76744)
"react-router", // we should bump this together with history and react-router-dom
"react-router-dom", // we should bump this together with history (see https://github.com/grafana/grafana/issues/76744)
"loader-utils", // v3 requires upstream changes in ngtemplate-loader. ignore, and remove when we remove angular.
"monaco-editor", // due to us exposing this via @grafana/ui/CodeEditor's props bumping can break plugins
"@fingerprintjs/fingerprintjs", // we don't want to bump to v4 due to licensing changes
"slate", // we don't want to continue using this on the long run, use Monaco editor instead of Slate
"slate-react", // we don't want to continue using this on the long run, use Monaco editor instead of Slate
"@types/slate-react", // we don't want to continue using this on the long run, use Monaco editor instead of Slate
"@types/slate", // we don't want to continue using this on the long run, use Monaco editor instead of Slate
// Temporarily pause updating lerna and nx until we resolve build issues
"lerna",
"nx"
],
includePaths: ["package.json", "packages/**", "public/app/plugins/**"],
ignorePaths: ["emails/**", "**/mocks/**"],
@@ -26,52 +32,76 @@
automerge: true,
matchCurrentVersion: "!/^0/",
matchUpdateTypes: ["patch"],
matchPackageNames: ["!/^@?storybook/", "!/^@locker/"],
matchPackageNames: ["!/^@?storybook/", "!/^@locker/", "!/^@grafana/"],
minimumReleaseAge: "7 days",
},
{
automerge: true,
matchCurrentVersion: "!/^0/",
matchUpdateTypes: ["patch"],
matchPackageNames: ["/^@grafana/"],
},
{
extends: ["schedule:monthly"],
groupName: "Storybook updates",
matchPackageNames: ["/^@?storybook/"],
rangeStrategy: "bump",
minimumReleaseAge: "7 days",
},
{
groupName: "React Aria",
matchPackageNames: ["@react-aria/{/,}**", "@react-stately/{/,}**"],
minimumReleaseAge: "7 days",
},
{
groupName: "Moveable",
matchPackageNames: ["moveable", "react-moveable"],
minimumReleaseAge: "7 days",
},
{
groupName: "Slate",
matchPackageNames: ["@types/slate", "@types/slate-react", "slate", "slate-react"],
minimumReleaseAge: "7 days",
},
{
groupName: "d3",
matchPackageNames: ["d3{/,}**", "@types/d3{/,}**"],
minimumReleaseAge: "7 days",
},
{
groupName: "scenes",
matchPackageNames: ["@grafana/scenes", "@grafana/scenes-react"],
},
{
groupName: "faro",
matchPackageNames: ["@grafana/faro*"],
},
{
groupName: "visx",
matchPackageNames: ["@visx/{/,}**"],
minimumReleaseAge: "7 days",
},
{
groupName: "uLibraries",
matchPackageNames: ["@leeoniya/ufuzzy", "uplot"],
matchPackageNames: ["@leeoniya/**", "uplot"],
reviewers: ["leeoniya"],
minimumReleaseAge: "7 days",
},
{
groupName: "locker",
reviewers: ["team:grafana/plugins-platform-frontend"],
matchPackageNames: ["@locker/{/,}**"],
minimumReleaseAge: "7 days",
},
{
groupName: "augurs",
matchPackageNames: ["@bsull/augurs"],
reviewers: ["sd2k"],
minimumReleaseAge: "7 days",
},
{
"matchDepTypes": ["devDependencies"],
"prPriority": -1
},
],
pin: {

66
.github/workflows/actionlint-format.txt vendored Normal file
View File

@@ -0,0 +1,66 @@
{
"$schema": "https://raw.githubusercontent.com/oasis-tcs/sarif-spec/master/Schemata/sarif-schema-2.1.0.json",
"version": "2.1.0",
"runs": [
{
"tool": {
"driver": {
"name": "GitHub Actions lint",
"version": {{ getVersion | json }},
"informationUri": "https://github.com/rhysd/actionlint",
"rules": [
{{$first := true}}
{{range $ := allKinds }}
{{if $first}}{{$first = false}}{{else}},{{end}}
{
"id": {{json $.Name}},
"name": {{$.Name | toPascalCase | json}},
"defaultConfiguration": {
"level": "error"
},
"properties": {
"description": {{json $.Description}},
"queryURI": "https://github.com/rhysd/actionlint/blob/main/docs/checks.md"
},
"fullDescription": {
"text": {{json $.Description}}
},
"helpUri": "https://github.com/rhysd/actionlint/blob/main/docs/checks.md"
}
{{end}}
]
}
},
"results": [
{{$first := true}}
{{range $ := .}}
{{if $first}}{{$first = false}}{{else}},{{end}}
{
"ruleId": {{json $.Kind}},
"message": {
"text": {{json $.Message}}
},
"locations": [
{
"physicalLocation": {
"artifactLocation": {
"uri": {{json $.Filepath}},
"uriBaseId": "%SRCROOT%"
},
"region": {
"startLine": {{$.Line}},
"startColumn": {{$.Column}},
"endColumn": {{$.EndColumn}},
"snippet": {
"text": {{json $.Snippet}}
}
}
}
}
]
}
{{end}}
]
}
]
}

60
.github/workflows/actionlint.yml vendored Normal file
View File

@@ -0,0 +1,60 @@
# This workflow depends on the ./actionlint-format.txt file. It is MIT licensed (thanks, rhysd!): https://github.com/rhysd/actionlint/blob/2ab3a12c7848f6c15faca9a92612ef4261d0e370/testdata/format/sarif_template.txt
name: Actionlint
on:
push:
branches:
- main
- release-*
pull_request:
types:
- opened
- synchronize
- reopened
permissions: {}
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
jobs:
run-actionlint:
name: Lint GitHub Actions files
runs-on: ubuntu-latest
permissions:
contents: read # to check out the code
actions: read # to read the workflow files
security-events: write # for uploading the SARIF report
env:
ACTIONLINT_VERSION: 1.7.7
# curl -LXGET https://github.com/rhysd/actionlint/releases/download/v${ACTIONLINT_VERSION}/actionlint_${ACTIONLINT_VERSION}_checksums.txt | grep linux_amd64
CHECKSUM: 023070a287cd8cccd71515fedc843f1985bf96c436b7effaecce67290e7e0757
steps:
- name: Checkout code
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
persist-credentials: false
# GitHub Actions only runs x86_64. This will break if that assumption changes.
- name: Download Actionlint
run: |
set -euo pipefail
curl -OLXGET https://github.com/rhysd/actionlint/releases/download/v"${ACTIONLINT_VERSION}"/actionlint_"${ACTIONLINT_VERSION}"_linux_amd64.tar.gz
echo "${CHECKSUM} actionlint_${ACTIONLINT_VERSION}_linux_amd64.tar.gz" | sha256sum -c -
tar xzf actionlint_"${ACTIONLINT_VERSION}"_linux_amd64.tar.gz
test -f actionlint
chmod +x actionlint
- name: Run Actionlint
run: ./actionlint -format "$(cat .github/workflows/actionlint-format.txt)" | tee results.sarif
- name: Upload to GitHub security events
if: success() || failure()
# If there are security problems, GitHub will automatically comment on the PR for us.
uses: github/codeql-action/upload-sarif@28deaeda66b76a05916b6923827895f2b14ab387 # v3.28.16
with:
sarif_file: results.sarif
category: actionlint

View File

@@ -10,7 +10,7 @@ jobs:
permissions:
pull-requests: write
steps:
- uses: marocchino/sticky-pull-request-comment@52423e01640425a022ef5fd42c6fb5f633a02728 # v2.9.1
- uses: marocchino/sticky-pull-request-comment@773744901bac0e8cbb5a0dc842800d45e9b2b405 # v2.9.4
with:
message: |
Since you've added the `Add to what's new` label, consider drafting a [What's new note](https://admin.grafana.com/content-admin/#/collections/whats-new/new) for this feature.

View File

@@ -13,15 +13,16 @@ jobs:
uses: actions/checkout@v4
with:
fetch-depth: 2
persist-credentials: false
- name: Set go version
uses: actions/setup-go@v4
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5
with:
go-version-file: go.mod
- 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@v5
uses: peter-evans/create-pull-request@4e1beaa7521e8b457b572c090b25bd3db56bf1c5
with:
token: ${{ secrets.GITHUB_TOKEN }}
commit-message: "chore: update alerting swagger spec"
@@ -34,4 +35,3 @@ jobs:
labels: 'area/alerting,type/docs,no-changelog'
team-reviewers: 'grafana/alerting-backend'
draft: false

View File

@@ -17,8 +17,9 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2
uses: actions/checkout@v4 # 4.2.2
with:
persist-credentials: false
- name: Check if update branch exists
run: |
if git ls-remote --heads origin update-alerting-module | grep -q 'update-alerting-module'; then
@@ -28,7 +29,7 @@ jobs:
fi
- name: Setup Go
uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # 5.3.0
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # 5.5.0
with:
"go-version-file": "go.mod"
@@ -36,7 +37,7 @@ jobs:
id: current-commit
run: |
FROM_COMMIT=$(go list -m -json github.com/grafana/alerting | jq -r '.Version' | grep -oP '(?<=-)[a-f0-9]+$')
echo "from_commit=$FROM_COMMIT" >> $GITHUB_OUTPUT
echo "from_commit=$FROM_COMMIT" >> "$GITHUB_OUTPUT"
- name: Get current branch name
id: current-branch-name
@@ -46,14 +47,14 @@ jobs:
id: latest-commit
env:
GH_TOKEN: ${{ github.token }}
BRANCH: ${{ steps.current-branch-name.outputs.name }}
run: |
BRANCH="${{ steps.current-branch-name.outputs.name }}"
TO_COMMIT=$(gh api repos/grafana/alerting/commits/$BRANCH --jq '.sha')
TO_COMMIT="$(gh api repos/grafana/alerting/commits/"$BRANCH" --jq '.sha')"
if [ -z "$TO_COMMIT" ]; then
echo "Branch $BRANCH not found in alerting repo, falling back to main branch"
echo "Branch $BRANCH not found in alerting repo"
exit 1
fi
echo "to_commit=$TO_COMMIT" >> $GITHUB_OUTPUT
echo "to_commit=$TO_COMMIT" >> "$GITHUB_OUTPUT"
- name: Compare commit hashes
run: |
@@ -73,30 +74,35 @@ jobs:
id: check-commits
env:
GH_TOKEN: ${{ github.token }}
FROM_COMMIT: ${{ steps.current-commit.outputs.from_commit }}
TO_COMMIT: ${{ steps.latest-commit.outputs.to_commit }}
run: |
# get all commits that contains 'Alerting:' in the message
ALERTING_COMMITS=$(gh api repos/grafana/alerting/compare/${{ steps.current-commit.outputs.from_commit }}...${{ steps.latest-commit.outputs.to_commit }} \
--jq '.commits[].commit.message | split("\n")[0]') || true
# get all commits that contains 'Alerting:' in the message
ALERTING_COMMITS="$(gh api repos/grafana/alerting/compare/"$FROM_COMMIT"..."$TO_COMMIT" \
--jq '.commits[].commit.message | split("\n")[0]')" || true
# Use printf instead of echo -e for better multiline handling
printf "%s\n" "$ALERTING_COMMITS"
# make the list for markdown and replace PR numbers with links
ALERTING_COMMITS_FORMATTED=$(echo "$ALERTING_COMMITS" | while read -r line; do echo "- $line" | sed -E 's/\(#([0-9]+)\)/[#\1](https:\/\/github.com\/grafana\/grafana\/pull\/\1)/g'; done)
echo "alerting_commits<<EOF" >> $GITHUB_OUTPUT
echo "$ALERTING_COMMITS_FORMATTED" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
ALERTING_COMMITS_FORMATTED="$(echo "$ALERTING_COMMITS" | while read -r line; do echo "- $line" | sed -E 's/\(#([0-9]+)\)/[#\1](https:\/\/github.com\/grafana\/alerting\/pull\/\1)/g'; done)"
{
echo "alerting_commits<<EOF"
echo "$ALERTING_COMMITS_FORMATTED"
echo "EOF"
} >> "$GITHUB_OUTPUT"
- name: Update alerting module
env:
GOSUMDB: off
PINNED_COMMIT: ${{ steps.latest-commit.outputs.to_commit }}
run: |
go get github.com/grafana/alerting@${{ steps.latest-commit.outputs.to_commit }}
go get github.com/grafana/alerting@"$PINNED_COMMIT"
make update-workspace
- id: get-secrets
uses: grafana/shared-workflows/actions/get-vault-secrets@28361cdb22223e5f1e34358c86c20908e7248760 # 1.1.0
uses: grafana/shared-workflows/actions/get-vault-secrets@main # zizmor: ignore[unpinned-uses]
with:
repo_secrets: |
GITHUB_APP_ID=alerting-team:app-id
@@ -117,13 +123,16 @@ jobs:
title: 'Alerting: Update alerting module to ${{ steps.latest-commit.outputs.to_commit }}'
branch: alerting/update-alerting-module
delete-branch: true
labels: |
no-changelog
no-backport
body: |
Updates Grafana Alerting module to latest version.
Compare changes: https://github.com/grafana/alerting/compare/${{ steps.current-commit.outputs.from_commit }}...${{ steps.latest-commit.outputs.to_commit }}
<details>
<summary>Commits</summary>
${{ steps.check-commits.outputs.alerting_commits }}
</details>
@@ -131,6 +140,21 @@ jobs:
Created by: [GitHub Action Job](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }})
- name: Add PR URL to Summary
if: steps.create-pr.outputs.pull-request-url != ''
env:
PR_URL: ${{ steps.create-pr.outputs.pull-request-url }}
run: |
echo "## Pull Request Created" >> $GITHUB_STEP_SUMMARY
echo "🔗 [View Pull Request](${{ steps.create-pr.outputs.pull-request-url }})" >> $GITHUB_STEP_SUMMARY
{
echo "## Pull Request Created"
echo "🔗 [View Pull Request]($PR_URL)"
} >> "$GITHUB_STEP_SUMMARY"
- name: Send Slack Message
uses: grafana/shared-workflows/actions/send-slack-message@send-slack-message/v2.0.3
with:
method: 'chat.postMessage'
# send to alerting-reviews channel
payload-templated: true
payload: |
{
"channel": "C076RNRRZ2N",
"text": "Update alerting module in Grafana ${{ steps.create-pr.outputs.pull-request-url }}"
}

View File

@@ -3,12 +3,18 @@ name: Analytics Events Report
on:
workflow_dispatch:
permissions: {}
jobs:
generate-report:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
persist-credentials: false
- name: Setup Node.js
uses: actions/setup-node@v4

View File

@@ -21,7 +21,7 @@ jobs:
# Note: Github will not trigger other actions from this because it uses
# the GITHUB_TOKEN token
- name: Run auto-milestone
uses: grafana/grafana-github-actions-go/auto-milestone@main
uses: grafana/grafana-github-actions-go/auto-milestone@d4c452f92ed826d515dccf1f62923e537953acd8 # main
with:
pr: ${{ github.event.pull_request.number }}
token: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -14,6 +14,7 @@ area/backend/db/mysql
area/backend/db/postgres
area/backend/db/sql
area/backend/db/sqlite
area/gitsync
area/configuration
area/dashboard/annotations
area/dashboard/data-links
@@ -33,7 +34,6 @@ area/dashboard/variable
area/dashboards/panel
area/data/export
area/explore
area/exploremetrics
area/expressions
area/field/overrides
area/frontend/library-panels
@@ -42,6 +42,7 @@ area/image-rendering
area/internationalization
area/legend
area/library-panel
area/metricsdrilldown
area/navigation
area/panel/annotation-list
area/panel/barchart

View File

@@ -0,0 +1,92 @@
name: Backend Code Checks
on:
pull_request:
paths-ignore:
- '*.md'
- 'docs/**'
- 'latest.json'
push:
branches:
- main
paths-ignore:
- '*.md'
- 'docs/**'
- 'latest.json'
jobs:
detect-changes:
name: Detect whether code changed
runs-on: ubuntu-latest
permissions:
contents: read
outputs:
changed: ${{ steps.detect-changes.outputs.backend }}
steps:
- uses: actions/checkout@v4
with:
persist-credentials: true # required to get more history in the changed-files action
fetch-depth: 2
- name: Detect changes
id: detect-changes
uses: ./.github/actions/change-detection
with:
self: .github/workflows/backend-code-checks.yml
validate-configs:
permissions:
contents: read
id-token: write
needs: detect-changes
if: needs.detect-changes.outputs.changed == 'true'
name: Validate Backend Configs
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: Setup Go
uses: actions/setup-go@v5.5.0
with:
# Explicitly set Go version to 1.24.1 to ensure consistent OpenAPI spec generation
# The crypto/x509 package has additional fields in Go 1.24.1 that affect the generated specs
# This ensures the GHAs environment matches what we use in the Drone pipeline
go-version: 1.24.1
cache: true
- name: Verify code generation
run: |
CODEGEN_VERIFY=1 make gen-cue
CODEGEN_VERIFY=1 make gen-jsonnet
- name: Validate go.mod
run: go run scripts/modowners/modowners.go check go.mod
# Enterprise setup is needed for complete OpenAPI spec generation
# We only do this for internal PRs
- name: Setup Grafana Enterprise
if: github.event.pull_request.head.repo.fork == false
uses: ./.github/actions/setup-enterprise
- name: Generate and Validate OpenAPI Specs
run: |
# For PRs from forks, we'll just run the basic swagger-gen without validation
if [[ "${{ github.event_name }}" == "pull_request" && "${{ github.event.pull_request.head.repo.fork }}" == "true" ]]; then
echo "PR is from a fork, skipping enterprise-based validation"
make swagger-gen
exit 0
fi
# Clean and regenerate OpenAPI specs
make swagger-clean && make openapi3-gen
# Check if the generated specs differ from what's in the repository
for f in public/api-merged.json public/openapi3.json; do git add $f; done
if [ -z "$(git diff --name-only --cached)" ]; then
echo "OpenAPI specs are up to date!"
else
echo "OpenAPI specs are OUT OF DATE!"
git diff --cached
echo "Please ensure the branch is up-to-date, then regenerate the specification by running make swagger-clean && make openapi3-gen"
exit 1
fi

View File

@@ -2,110 +2,147 @@ name: Backend Unit Tests
on:
pull_request:
paths-ignore:
- 'docs/**'
- '**/*.md'
push:
branches:
- main
- release-*.*.*
paths-ignore:
- 'docs/**'
- '**/*.md'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
permissions:
contents: read
id-token: write
permissions: {}
jobs:
detect-changes:
name: Detect whether code changed
# Run on `grafana/grafana` main branch, or on pull requests to prevent double-running on mirrors
if: (github.event_name == 'pull_request' || (github.event_name == 'push' && github.repository == 'grafana/grafana'))
runs-on: ubuntu-latest
permissions:
contents: read
outputs:
changed: ${{ steps.detect-changes.outputs.backend }}
steps:
- uses: actions/checkout@v4
with:
persist-credentials: true # required to get more history in the changed-files action
fetch-depth: 2
- name: Detect changes
id: detect-changes
uses: ./.github/actions/change-detection
with:
self: .github/workflows/backend-unit-tests.yml
grafana:
# Run this workflow only for PRs from forks; if it gets merged into `main` or `release-*`,
# Run this workflow only for PRs from forks
# the `pr-backend-unit-tests-enterprise` workflow will run instead
if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork == true
name: Grafana
runs-on: ubuntu-latest-8-cores
needs: detect-changes
if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork == true && needs.detect-changes.outputs.changed == 'true'
strategy:
matrix:
shard: [
1/8, 2/8, 3/8, 4/8,
5/8, 6/8, 7/8, 8/8,
]
fail-fast: false
name: Grafana (${{ matrix.shard }})
runs-on: ubuntu-latest
continue-on-error: true
permissions:
contents: read
id-token: write
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
persist-credentials: false
- name: Setup Go
uses: actions/setup-go@v5
uses: actions/setup-go@v5.5.0
with:
go-version-file: go.mod
- name: Restore GOCACHE
uses: actions/cache/restore@v4
with:
key: go-test-cache-${{ github.ref_name }}
restore-keys: |
go-test-cache-${{ github.base_ref }}
go-test-cache-main
path: /home/runner/.cache/go-build
- name: Generate Go code
run: make gen-go
- name: Run unit tests
run: make test-go-unit
- 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: Clear GOCACHE
run: gh cache delete go-test-cache-${{ github.ref_name }}
continue-on-error: true
env:
GH_TOKEN: ${{ steps.generate_token.outputs.token }}
- name: Save GOCACHE
uses: actions/cache/save@v4
with:
key: go-test-cache-${{ github.ref_name }}
path: /home/runner/.cache/go-build
SHARD: ${{ matrix.shard }}
run: |
set -euo pipefail
readarray -t PACKAGES <<< "$(./scripts/ci/backend-tests/shard.sh -N"$SHARD")"
CGO_ENABLED=0 go test -short -timeout=30m "${PACKAGES[@]}"
grafana-enterprise:
# Run this workflow for non-PR events (like pushes to `main` or `release-*`) OR for internal PRs (PRs not from forks)
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.fork == false
name: Grafana Enterprise
runs-on: ubuntu-latest-8-cores
needs: detect-changes
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.fork == false && needs.detect-changes.outputs.changed == 'true'
strategy:
matrix:
shard: [
1/8, 2/8, 3/8, 4/8,
5/8, 6/8, 7/8, 8/8,
]
fail-fast: false
name: Grafana Enterprise (${{ matrix.shard }})
runs-on: ubuntu-x64-large
permissions:
contents: read
id-token: write
steps:
# Set up repository clone
- name: Checkout code
uses: actions/checkout@v4
with:
persist-credentials: false
- name: Setup Go
uses: actions/setup-go@v5
uses: actions/setup-go@v5.5.0
with:
go-version-file: go.mod
- name: Restore GOCACHE
uses: actions/cache/restore@v4
with:
key: go-test-cache-${{ github.ref_name }}-enterprise
restore-keys: |
go-test-cache-${{ github.base_ref }}-enterprise
go-test-cache-main-enterprise
path: /home/runner/.cache/go-build
- name: Setup Enterprise
uses: ./.github/actions/setup-enterprise
with:
github-app-name: 'grafana-ci-bot'
- name: Generate Go code
run: make gen-go
- name: Run unit tests
run: make test-go-unit
- 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: Clear GOCACHE
run: gh cache delete go-test-cache-${{ github.ref_name }}-enterprise
continue-on-error: true
# Prepare what we need to upload test results
- run: echo "RESULTS_FILE=$(date --rfc-3339=seconds --utc | sed -s 's/ /-/g')_${SHARD/\//_}.xml" >> "$GITHUB_ENV"
env:
GH_TOKEN: ${{ steps.generate_token.outputs.token }}
- name: Save GOCACHE
uses: actions/cache/save@v4
with:
key: go-test-cache-${{ github.ref_name }}-enterprise
path: /home/runner/.cache/go-build
SHARD: ${{ matrix.shard }}
- run: go install github.com/jstemmer/go-junit-report/v2@85bf4716ac1f025f2925510a9f5e9f5bb347c009
# Run code
- name: Run unit tests
env:
SHARD: ${{ matrix.shard }}
run: |
set -euo pipefail
readarray -t PACKAGES <<< "$(./scripts/ci/backend-tests/shard.sh -N"$SHARD")"
# This tee requires pipefail to be set, otherwise `go test`'s exit code is thrown away.
# That means having no `-o pipefail` => failing tests => exit code 0, which is wrong.
CGO_ENABLED=0 go test -short -timeout=30m "${PACKAGES[@]}"
# This is the job that is actually required by rulesets.
# We need to require EITHER the OSS or the Enterprise job to pass.
# However, if one is skipped, GitHub won't flat-map the shards,
# so they won't be accepted by a ruleset.
required-backend-unit-tests:
needs:
- grafana
- grafana-enterprise
# always() is the best function here.
# success() || failure() will skip this function if any need is also skipped.
# That means conditional test suites will fail the entire requirement check.
if: always()
name: All backend unit tests complete
runs-on: ubuntu-latest
steps:
- name: Check test suites
env:
NEEDS: ${{ toJson(needs) }}
run: |
FAILURES="$(echo "$NEEDS" | jq 'with_entries(select(.value.result == "failure")) | map_values(.result)')"
echo "$FAILURES"
if [ "$(echo "$FAILURES" | jq '. | length')" != "0" ]; then
exit 1
fi
echo "All OK!"

47
.github/workflows/backport-trigger.yml vendored Normal file
View File

@@ -0,0 +1,47 @@
# We need secrets to backport, but they're not available for actions ran by forks.
# So this workflow is used as a 'trigger', which the backport-workflow.yml will with
# via workflow_run
name: Backport (trigger)
on:
pull_request:
types:
- closed
- labeled
permissions: {}
jobs:
trigger:
# Only run this job if the PR has been merged and has a label containing "backport v"
if: |
github.repository == 'grafana/grafana' &&
github.event.pull_request.merged == true &&
contains(join(github.event.pull_request.labels.*.name, ','), 'backport v')
runs-on: ubuntu-latest
steps:
# TODO: save this as job summary instead?
- name: Trigger
run: |
echo "Triggering workflow"
echo "See https://github.com/${{ github.repository }}/actions/workflows/workflow_run.yml for progress"
# Create a JSON artifact with details of this PR to pass to the backport workflow.
# The { action: 'labelled', label: 'backport-1.23.x' } can only be determined from this event payload,
# and is needed to do a backport after a PR has been merged
#
# Important that we don't run *anything* from the PR which could modify the backport_data.json file
- name: Create action data
run: |
jq '{
action: .action,
label: .label.name,
pr_number: .number,
}' "$GITHUB_EVENT_PATH" > /tmp/pr_info.json
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: pr_info
path: /tmp/pr_info.json
retention-days: 1

88
.github/workflows/backport-workflow.yml vendored Normal file
View File

@@ -0,0 +1,88 @@
# Runs the actual backport, after being triggered by the backport-trigger.yml workflow.
name: Backport (workflow)
run-name: "Backport for ${{ github.event.workflow_run.head_branch }} #${{ github.event.workflow_run.run_number }}"
on:
workflow_run: # zizmor: ignore[dangerous-triggers] backport-trigger.yml does not run any user code
workflows: ["Backport (trigger)"]
types:
- completed
permissions: {}
jobs:
backport:
# Only run this job if the triggering workflow was not skipped (and on grafana repo)
if: github.event.workflow_run.head_repository.fork == false && github.repository == 'grafana/grafana' && github.event.workflow_run.conclusion == 'success'
runs-on: ubuntu-latest
permissions:
id-token: write
actions: read
steps:
- name: Get vault secrets
id: secrets
uses: grafana/shared-workflows/actions/get-vault-secrets@main
with:
export_env: false
# Secrets placed in the ci/data/repo/grafana/grafana/delivery-bot-app path in Vault
repo_secrets: |
APP_PEM=delivery-bot-app:PRIVATE_KEY
- name: Generate token
id: generate_token
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
with:
app_id: ${{ vars.DELIVERY_BOT_APP_ID }}
private_key: ${{ fromJSON(steps.secrets.outputs.secrets).APP_PEM }}
- name: Download PR info artifact
uses: actions/download-artifact@v4
id: download-pr-info
with:
github-token: ${{ github.token }}
run-id: ${{ github.event.workflow_run.id }}
name: pr_info
- name: Get PR info
id: pr-info
env:
PR_INFO_FILE: ${{ steps.download-pr-info.outputs.download-path }}/pr_info.json
# jq-magic to convert the JSON object into a list of key=value pairs for $GITHUB_OUTPUT
run:
jq -r 'to_entries[] | select(.value | type != "object") | "\(.key)=\(.value)"' "$PR_INFO_FILE" >> "$GITHUB_OUTPUT"
- name: Print PR info
env:
PR_ACTION: ${{ steps.pr-info.outputs.action }}
PR_LABEL: ${{ steps.pr-info.outputs.label }}
PR_NUMBER: ${{ steps.pr-info.outputs.pr_number }}
run: |
echo "PR action: $PR_ACTION"
echo "PR label: $PR_LABEL"
echo "PR number: $PR_NUMBER"
- name: Checkout Grafana
uses: actions/checkout@v4
with:
ref: ${{ github.event.repository.default_branch }}
fetch-depth: 2
fetch-tags: false
token: ${{ steps.generate_token.outputs.token }}
persist-credentials: true
- name: Configure git user
run: |
git config --local user.name "github-actions[bot]"
git config --local user.email "github-actions[bot]@users.noreply.github.com"
git config --local --add --bool push.autoSetupRemote true
- name: Run backport
uses: grafana/grafana-github-actions-go/backport@dev
with:
token: ${{ steps.generate_token.outputs.token }}
# If triggered by being labelled, only backport that label.
# Otherwise, the action will backport all labels.
pr_label: ${{ steps.pr-info.outputs.action == 'labeled' && steps.pr-info.outputs.label || '' }}
pr_number: ${{ steps.pr-info.outputs.pr_number }}
repo_owner: ${{ github.repository_owner }}
repo_name: ${{ github.event.repository.name }}

View File

@@ -1,27 +0,0 @@
name: Backport PR Creator
on:
pull_request_target:
types:
- closed
- labeled
jobs:
main:
if: github.repository == 'grafana/grafana'
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- 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 }}
- run: git config --global user.email '132647405+grafana-delivery-bot[bot]@users.noreply.github.com'
- run: git config --global user.name 'grafana-delivery-bot[bot]'
- run: git remote set-url origin "https://grafana-delivery-bot:${{ steps.generate_token.outputs.token }}@github.com/grafana/grafana.git"
- name: Run backport
uses: grafana/grafana-github-actions-go/backport@main
with:
token: ${{ steps.generate_token.outputs.token }}

View File

@@ -11,33 +11,49 @@ on:
dry_run:
default: false
required: false
permissions:
id-token: write
contents: read
jobs:
main:
bump-version:
runs-on: ubuntu-latest
steps:
- uses: grafana/shared-workflows/actions/get-vault-secrets@main
with:
repo_secrets: |
GRAFANA_DELIVERY_BOT_APP_PEM=delivery-bot-app:PRIVATE_KEY
- name: Generate token
id: generate_token
uses: tibdex/github-app-token@3beb63f4bd073e61482598c45c71c1019b59b73a
with:
app_id: ${{ vars.DELIVERY_BOT_APP_ID }}
private_key: ${{ env.GRAFANA_DELIVERY_BOT_APP_PEM }}
repositories: '["grafana"]'
permissions: '{"contents": "write", "pull_requests": "write", "workflows": "write"}'
- name: Checkout Grafana
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
token: ${{ steps.generate_token.outputs.token }}
- name: Update package.json versions
uses: ./pkg/build/actions/bump-version
with:
version: ${{ inputs.version }}
- if: ${{ inputs.push }}
name: Generate token
id: generate_token
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
with:
app_id: ${{ secrets.GRAFANA_DELIVERY_BOT_APP_ID }}
private_key: ${{ secrets.GRAFANA_DELIVERY_BOT_APP_PEM }}
- if: ${{ inputs.push }}
name: Push & Create PR
run: |
git config --local user.name "github-actions[bot]"
git config --local user.email "github-actions[bot]@users.noreply.github.com"
git config --local --add --bool push.autoSetupRemote true
git checkout -b "bump-version/${{ github.run_id }}/${{ inputs.version }}"
git add .
git commit -m "bump version ${{ inputs.version }}"
git push
gh pr create --dry-run=${{ inputs.dry_run }} -l "type/ci" -l "no-changelog" -B "${{ github.ref_name }}" --title "Release: Bump version to ${{ inputs.version }}" --body "Updated version to ${{ inputs.version }}"
env:
VERSION: ${{ inputs.version }}
DRY_RUN: ${{ inputs.dry_run }}
REF_NAME: ${{ github.ref_name }}
RUN_ID: ${{ github.run_id }}
GH_TOKEN: ${{ steps.generate_token.outputs.token }}
run: |
git config --local user.name "grafana-delivery-bot[bot]"
git config --local user.email "grafana-delivery-bot[bot]@users.noreply.github.com"
git config --local --add --bool push.autoSetupRemote true
git checkout -b "bump-version/${RUN_ID}/${VERSION}"
git add .
git commit -m "bump version ${VERSION}"
git push
gh pr create --dry-run="$DRY_RUN" -l "type/ci" -l "no-changelog" -B "$REF_NAME" --title "Release: Bump version to ${VERSION}" --body "Updated version to ${VERSION}"

View File

@@ -22,11 +22,10 @@ on:
required: false
default: false
type: boolean
secrets:
GRAFANA_DELIVERY_BOT_APP_ID:
required: true
GRAFANA_DELIVERY_BOT_APP_PEM:
required: true
work_branch:
required: false
type: string
description: "Use specific branch for changelog"
workflow_dispatch:
inputs:
@@ -50,29 +49,47 @@ on:
required: false
default: false
type: boolean
work_branch:
required: false
type: string
description: "Use specific branch for changelog"
permissions:
contents: write
pull-requests: write
permissions: {}
jobs:
main:
env:
RUN_ID: ${{ github.run_id }}
VERSION: ${{ inputs.version }}
PREVIOUS_VERISON: ${{ inputs.previous_version }}
TARGET: ${{ inputs.target }}
DRY_RUN: ${{ inputs.dry_run }}
runs-on: ubuntu-latest
permissions:
id-token: write
contents: write
pull-requests: write
steps:
- name: "Get vault secrets"
id: vault-secrets
uses: grafana/shared-workflows/actions/get-vault-secrets@main
with:
# Secrets placed in the ci/data/repo/grafana/grafana/delivery-bot-app path in Vault
repo_secrets: |
GRAFANA_DELIVERY_BOT_APP_PEM=delivery-bot-app:PRIVATE_KEY
- 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 }}
app_id: ${{ vars.DELIVERY_BOT_APP_ID }}
private_key: ${{ env.GRAFANA_DELIVERY_BOT_APP_PEM }}
- name: "Checkout Grafana repo"
uses: "actions/checkout@v4"
with:
ref: main
sparse-checkout: |
.github/workflows
.github/actions
CHANGELOG.md
.nvmrc
.prettierignore
@@ -89,10 +106,23 @@ jobs:
git config --local user.email "github-actions[bot]@users.noreply.github.com"
git config --local --add --bool push.autoSetupRemote true
- name: "Create branch"
run: git checkout -b "changelog/${{ github.run_id }}/${{ inputs.version }}"
run: |
if [[ "$WORK_BRANCH" == '' ]]; then
git switch -c "changelog/${RUN_ID}/${VERSION}"
exit 0
fi
# Checkout the changelog branch if exists, otherwise create a new one
if git show-ref --verify --quiet "refs/remotes/origin/$WORK_BRANCH"; then
git switch --track "origin/$WORK_BRANCH"
else
git switch -c "$WORK_BRANCH"
fi
env:
WORK_BRANCH: ${{ inputs.work_branch }}
- name: "Generate changelog"
id: changelog
uses: ./.github/workflows/actions/changelog
uses: ./.github/actions/changelog
with:
previous: ${{ inputs.previous_version }}
github_token: ${{ steps.generate_token.outputs.token }}
@@ -103,24 +133,24 @@ jobs:
# Prepare CHANGELOG.md content with version delimiters
(
echo
echo "# ${{ inputs.version}} ($(date '+%F'))"
echo "# ${VERSION} ($(date '+%F'))"
echo
cat changelog_items.md
) > CHANGELOG.part
# Check if a version exists in the changelog
if grep -q "<!-- ${{ inputs.version}} START" CHANGELOG.md ; then
if grep -q "<!-- ${VERSION} START" CHANGELOG.md ; then
# Replace the content between START and END delimiters
echo "Version ${{ inputs.version }} is found in the CHANGELOG.md, patching contents..."
sed -i -e '/${{ inputs.version }} START/,/${{ inputs.version }} END/{//!d;}' \
-e '/${{ inputs.version }} START/r CHANGELOG.part' CHANGELOG.md
echo "Version ${VERSION} is found in the CHANGELOG.md, patching contents..."
sed -i -e "/${VERSION} START/,/${VERSION} END/{//!d;}" \
-e "/${VERSION} START/r CHANGELOG.part" CHANGELOG.md
else
# Prepend changelog part to the main changelog file
echo "Version ${{ inputs.version }} not found in the CHANGELOG.md"
echo "Version $VERSION not found in the CHANGELOG.md"
(
echo "<!-- ${{ inputs.version }} START -->"
echo "<!-- ${VERSION} START -->"
cat CHANGELOG.part
echo "<!-- ${{ inputs.version }} END -->"
echo "<!-- ${VERSION} END -->"
cat CHANGELOG.md
) > CHANGELOG.tmp
mv CHANGELOG.tmp CHANGELOG.md
@@ -133,16 +163,29 @@ jobs:
- name: "Commit changelog changes"
run: git add CHANGELOG.md && git commit --allow-empty -m "Update changelog" CHANGELOG.md
- name: "git push"
if: ${{ inputs.dry_run }} != true
if: inputs.dry_run != true
run: git push
- name: "Create changelog PR"
run: >
gh pr create \
--dry-run=${{ inputs.dry_run }} \
--label "no-backport" \
--label "no-changelog" \
-B "${{ inputs.target }}" \
--title "Release: update changelog for ${{ inputs.version }}" \
--body "Changelog changes for release ${{ inputs.version }}"
run: |
if gh pr view &>/dev/null; then
echo "Changelog pr has already been created"
else
gh pr create \
--dry-run="${DRY_RUN}" \
--label "no-backport" \
--label "no-changelog" \
-B "${TARGET}" \
--title "Release: update changelog for ${TARGET}" \
--body "Changelog changes for release versions:"
fi
env:
GH_TOKEN: ${{ steps.generate_token.outputs.token }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: "Add release version to PR description"
if: inputs.dry_run != true
run: |
gh pr view --json body --jq .body > pr_body.md
echo " - ${VERSION}" >> pr_body.md
gh pr edit --body-file pr_body.md
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -1,44 +0,0 @@
name: Close milestone
on:
workflow_dispatch:
inputs:
version:
required: true
description: Needs to match, exactly, the name of a milestone
workflow_call:
inputs:
version_call:
description: Needs to match, exactly, the name of a milestone
required: true
type: string
jobs:
main:
if: github.repository == 'grafana/grafana'
runs-on: ubuntu-latest
steps:
- name: Checkout Actions
uses: actions/checkout@v4
with:
repository: "grafana/grafana-github-actions"
path: ./actions
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 }}
- 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 }}

View File

@@ -4,14 +4,20 @@ on:
pull_request:
branches: [ main ]
permissions: {}
jobs:
codeowners-validator:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
# Checks-out your repository, which is validated in the next step
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: GitHub CODEOWNERS Validator
uses: mszostok/codeowners-validator@v0.7.4
uses: mszostok/codeowners-validator@7f3f5e28c6d7b8dfae5731e54ce2272ca384592f
# input parameters
with:
# ==== GitHub Auth ====
@@ -21,7 +27,7 @@ jobs:
# "The comma-separated list of experimental checks that should be executed. By default, all experimental checks are turned off. Possible values: notowned,avoid-shadowing"
experimental_checks: "notowned,avoid-shadowing"
# The repository path in which CODEOWNERS file should be validated."
repository_path: "."
@@ -35,4 +41,4 @@ jobs:
owner_checker_allow_unowned_patterns: "false"
# Specifies whether only teams are allowed as owners of files.
owner_checker_owners_must_be_teams: "false"
owner_checker_owners_must_be_teams: "false"

View File

@@ -3,18 +3,19 @@
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
name: "CodeQL"
name: "CodeQL checks"
on:
workflow_dispatch:
push:
branches: [main, v*.*.*]
branches: ['**'] # run on all branches
paths-ignore:
- '**/*.cue'
- '**/*.json'
- '**/*.md'
- '**/*.txt'
- '**/*.yml'
- pkg/storage/unified/sql/db/dbimpl/db.go # Ignoring warnings on the whole file for now while inline comments is not supported in Go (https://github.com/github/codeql/issues/11427)
schedule:
- cron: '0 4 * * 6'
@@ -22,36 +23,62 @@ permissions:
security-events: write
jobs:
detect-changes:
name: Detect whether code changed
runs-on: ubuntu-latest
permissions:
contents: read
outputs:
javascript: ${{ steps.detect-changes.outputs.frontend }}
go: ${{ steps.detect-changes.outputs.backend }}
actions: 'true'
steps:
- uses: actions/checkout@v4
with:
persist-credentials: true # required to get more history in the changed-files action
fetch-depth: 2
- name: Detect changes
id: detect-changes
uses: ./.github/actions/change-detection
with:
self: .github/workflows/codeql-analysis.yml
analyze:
needs: detect-changes
name: Analyze
runs-on: ubuntu-latest
continue-on-error: true # doesn't block PRs from being merged if this fails
if: github.repository == 'grafana/grafana'
strategy:
fail-fast: false
matrix:
# Override automatic language detection by changing the below list
# Supported options are ['csharp', 'cpp', 'go', 'java', 'javascript', 'python']
language: ['javascript', 'go', 'python']
# Supported options are listed here
# https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning#changing-the-languages-that-are-analyzed
language: ['actions', 'javascript', 'go']
# Learn more...
# https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#overriding-automatic-language-detection
steps:
- name: Checkout repository
if: needs.detect-changes.outputs[matrix.language] == 'true'
uses: actions/checkout@v4
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
fetch-depth: 2
persist-credentials: false
- if: matrix.language == 'go'
- if: matrix.language == 'go' && needs.detect-changes.outputs.go == 'true'
name: Set go version
uses: actions/setup-go@v4
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5
with:
go-version-file: go.mod
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
if: needs.detect-changes.outputs[matrix.language] == 'true'
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
@@ -60,7 +87,7 @@ jobs:
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
- if: matrix.language == 'go'
- if: matrix.language == 'go' && needs.detect-changes.outputs.go == 'true'
name: Build go files
run: |
go mod verify

View File

@@ -12,9 +12,7 @@ on:
concurrency:
group: issue-commands-${{ github.event.issue.number }}
permissions:
contents: read
id-token: write
permissions: {}
jobs:
config:
@@ -26,7 +24,7 @@ jobs:
id: check
shell: bash
run: |
if [ "${{ github.repository }}" == "grafana/grafana" ] && [ -n "${{ secrets.GRAFANA_MISC_STATS_API_KEY }}" ]; then
if [ "${{ github.repository }}" == "grafana/grafana" ]; then
echo "has-secrets=1" >> "$GITHUB_OUTPUT"
fi
@@ -34,35 +32,39 @@ jobs:
needs: config
if: needs.config.outputs.has-secrets
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
steps:
- name: "Get vault secrets"
id: vault-secrets
uses: grafana/shared-workflows/actions/get-vault-secrets@main
uses: grafana/shared-workflows/actions/get-vault-secrets@main # zizmor: ignore[unpinned-uses]
with:
# Secrets placed in the ci/repo/grafana/grafana/plugins_platform_issue_commands_github_bot path in Vault
repo_secrets: |
GH_APP_ID=plugins_platform_issue_commands_github_bot:app_id
GH_APP_PEM=plugins_platform_issue_commands_github_bot:app_pem
GITHUB_APP_ID=grafana_pr_automation_app:app_id
GITHUB_APP_PRIVATE_KEY=grafana_pr_automation_app:app_pem
- name: "Generate token"
- name: Generate token
id: generate_token
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
uses: actions/create-github-app-token@3ff1caaa28b64c9cc276ce0a02e2ff584f3900c5 # v2.0.2
with:
app_id: ${{ env.GH_APP_ID }}
private_key: ${{ env.GH_APP_PEM }}
app-id: ${{ env.GITHUB_APP_ID }}
private-key: ${{ env.GITHUB_APP_PRIVATE_KEY }}
- name: Checkout Actions
uses: actions/checkout@v4
uses: actions/checkout@v4 # v4.2.2
with:
repository: "grafana/grafana-github-actions"
path: ./actions
ref: main
persist-credentials: false
- name: Install Actions
run: npm install --production --prefix ./actions
- name: Run Commands
uses: ./actions/commands
with:
metricsWriteAPIKey: ${{secrets.GRAFANA_MISC_STATS_API_KEY}}
metricsWriteAPIKey: ""
token: ${{ steps.generate_token.outputs.token }}
configPath: commands

View File

@@ -11,11 +11,6 @@ on:
required: false
default: false
description: When enabled, this workflow will print a preview instead of creating an actual post.
secrets:
GRAFANA_MISC_STATS_API_KEY:
required: true
GRAFANABOT_FORUM_KEY:
required: true
workflow_dispatch:
inputs:
version:
@@ -30,17 +25,25 @@ on:
permissions:
contents: read
id-token: write
jobs:
main:
runs-on: ubuntu-latest
steps:
- name: "Get vault secrets"
id: vault-secrets
uses: grafana/shared-workflows/actions/get-vault-secrets@main
with:
# Secrets placed in the ci/repo/grafana/grafana/community_release path in Vault
repo_secrets: |
GRAFANABOT_FORUM_KEY=community_release:GRAFANABOT_FORUM_KEY
- name: Run community-release (manually invoked)
uses: grafana/grafana-github-actions-go/community-release@main
with:
token: ${{ secrets.GITHUB_TOKEN }}
version: ${{ inputs.version }}
metrics_api_key: ${{ secrets.GRAFANA_MISC_STATS_API_KEY }}
community_api_key: ${{ secrets.GRAFANABOT_FORUM_KEY }}
community_api_key: ${{ env.GRAFANABOT_FORUM_KEY }}
community_api_username: grafanabot
dry_run: ${{ inputs.dry_run }}

View File

@@ -33,6 +33,8 @@ permissions:
jobs:
build-and-publish:
env:
PLUGIN_ID: ${{ inputs.plugin_id }}
name: Build and publish ${{ inputs.plugin_id }}
runs-on: ubuntu-latest
outputs:
@@ -42,11 +44,13 @@ jobs:
steps:
- name: checkout
uses: actions/checkout@v4
with:
persist-credentials: false
- name: Verify inputs
run: |
if [ -z ${{ inputs.plugin_id }} ]; then echo "Missing plugin ID"; exit 1; fi
if [ -z "$PLUGIN_ID" ]; then echo "Missing plugin ID"; exit 1; fi
- id: get-secrets
uses: grafana/shared-workflows/actions/get-vault-secrets@main
uses: grafana/shared-workflows/actions/get-vault-secrets@main # zizmor: ignore[unpinned-uses]
with:
# Secrets placed in the ci/repo/grafana/<repo>/<path> path in Vault
repo_secrets: |
@@ -54,11 +58,11 @@ jobs:
PLUGINS_GRAFANA_API_KEY=core-plugins-build-and-release:PLUGINS_GRAFANA_API_KEY
PLUGINS_GCOM_TOKEN=core-plugins-build-and-release:PLUGINS_GCOM_TOKEN
- name: 'Authenticate to Google Cloud'
uses: 'google-github-actions/auth@v2'
uses: 'google-github-actions/auth@6fc4af4b145ae7821d527454aa9bd537d1f2dc5f'
with:
credentials_json: '${{ env.PLUGINS_GOOGLE_CREDENTIALS }}'
- name: 'Set up Cloud SDK'
uses: 'google-github-actions/setup-gcloud@v2'
uses: 'google-github-actions/setup-gcloud@aa5489c8933f4cc7a4f7d45035b3b1440c9c10db'
- name: Setup nodejs environment
uses: actions/setup-node@v4
with:
@@ -68,13 +72,13 @@ jobs:
shell: bash
id: get_dir
run: |
dir=$(dirname \
$(egrep -lir --include=plugin.json --exclude-dir=dist \
'"id": "${{ inputs.plugin_id }}"' \
dir="$(dirname \
"$(grep -Elir --include=plugin.json --exclude-dir=dist \
'"id": "'"${PLUGIN_ID}"'"' \
public/app/plugins \
) \
)
echo "dir=${dir}" >> $GITHUB_OUTPUT
)" \
)"
echo "dir=${dir}" >> "$GITHUB_OUTPUT"
- name: Install frontend dependencies
shell: bash
working-directory: ${{ steps.get_dir.outputs.dir }}
@@ -84,20 +88,20 @@ jobs:
shell: sh
working-directory: ${{ steps.get_dir.outputs.dir }}
run: |
[ ! -d ./bin ] && mkdir -pv ./bin || true
curl -fL -o ./bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v${{ env.GRABPL_VERSION }}/grabpl
mkdir -pv ./bin
curl -fL -o ./bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v"$GRABPL_VERSION"/grabpl
chmod 0755 ./bin/grabpl
- name: Check backend
id: check_backend
shell: bash
run: |
if egrep -qr --include=main.go 'datasource.Manage\("${{ inputs.plugin_id }}"' pkg/tsdb; then
echo "has_backend=true" >> $GITHUB_OUTPUT
if grep -Eqr --include=main.go 'datasource.Manage\('"$PLUGIN_ID" pkg/tsdb; then
echo "has_backend=true" >> "$GITHUB_OUTPUT"
else
echo "has_backend=false" >> $GITHUB_OUTPUT
echo "has_backend=false" >> "$GITHUB_OUTPUT"
fi
- name: Setup golang environment
uses: actions/setup-go@v4
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5
if: steps.check_backend.outputs.has_backend == 'true'
with:
go-version-file: go.mod
@@ -145,22 +149,24 @@ jobs:
- name: build:frontend
shell: bash
id: build_frontend
env:
OUTPUT_DIR: ${{ steps.get_dir.outputs.dir }}
run: |
command="plugin:build:commit"
if [ "$GITHUB_REF" != "refs/heads/main" ]; then
# Release branch, do not add commit hash to version
command="plugin:build"
fi
yarn $command --scope="@grafana-plugins/${{ inputs.plugin_id }}"
version=$(cat ${{ steps.get_dir.outputs.dir }}/dist/plugin.json | jq -r .info.version)
echo "version=${version}" >> $GITHUB_OUTPUT
yarn $command --scope="@grafana-plugins/$PLUGIN_ID"
version="$(jq -r .info.version "$OUTPUT_DIR"/dist/plugin.json)"
echo "version=${version}" >> "$GITHUB_OUTPUT"
- name: build:backend
if: steps.check_backend.outputs.has_backend == 'true'
shell: bash
env:
VERSION: ${{ steps.build_frontend.outputs.version }}
run: |
make build-plugin-go PLUGIN_ID=${{ inputs.plugin_id }}
make build-plugin-go PLUGIN_ID="$PLUGIN_ID"
- name: package
working-directory: ${{ steps.get_dir.outputs.dir }}
run: |
@@ -173,16 +179,17 @@ jobs:
env:
GCOM_TOKEN: ${{ env.PLUGINS_GCOM_TOKEN }}
VERSION: ${{ steps.build_frontend.outputs.version }}
GCOM_API: ${{ env.GCOM_API }}
run: |
api_res=$(curl -X 'GET' -H "Authorization: Bearer $GCOM_TOKEN" \
'${{ env.GCOM_API}}/api/plugins/${{ inputs.plugin_id }}?version=$VERSION' \
-H 'accept: application/json')
api_res_code=$(echo $api_res | jq -r .code)
api_res="$(curl -X 'GET' -H "Authorization: Bearer $GCOM_TOKEN" \
"$GCOM_API/api/plugins/$PLUGIN_ID?version=$VERSION" \
-H 'accept: application/json')"
api_res_code="$(echo "$api_res" | jq -r .code)"
if [ "$api_res_code" = "NotFound" ]; then
echo "No existing release found"
else
echo "Expecting a missing release, got:"
echo $api_res
echo "$api_res"
exit 1
fi
- name: store build artifacts
@@ -193,55 +200,46 @@ jobs:
- name: Publish release to Google Cloud Storage
working-directory: ${{ steps.get_dir.outputs.dir }}
env:
VERSION: ${{ steps.build_frontend.outputs.version }}
VERSION: ${{ steps.build_frontend.outputs.version }}
GCP_BUCKET: ${{ env.GCP_BUCKET }}
run: |
echo "Publish release to Google Cloud Storage:"
set -x
touch ci/packages/windows ci/packages/darwin ci/packages/linux ci/packages/any
gsutil -m cp -r ci/packages/*windows* gs://${{ env.GCP_BUCKET }}/${{ inputs.plugin_id }}/release/${VERSION}/windows
gsutil -m cp -r ci/packages/*linux* gs://${{ env.GCP_BUCKET }}/${{ inputs.plugin_id }}/release/${VERSION}/linux
gsutil -m cp -r ci/packages/*darwin* gs://${{ env.GCP_BUCKET }}/${{ inputs.plugin_id }}/release/${VERSION}/darwin
gsutil -m cp -r ci/packages/*any* gs://${{ env.GCP_BUCKET }}/${{ inputs.plugin_id }}/release/${VERSION}/any
gsutil -m cp -r ci/packages/*windows* "gs://$GCP_BUCKET/$PLUGIN_ID/release/${VERSION}/windows"
gsutil -m cp -r ci/packages/*linux* "gs://$GCP_BUCKET/$PLUGIN_ID/release/${VERSION}/linux"
gsutil -m cp -r ci/packages/*darwin* "gs://$GCP_BUCKET/$PLUGIN_ID/release/${VERSION}/darwin"
gsutil -m cp -r ci/packages/*any* "gs://$GCP_BUCKET/$PLUGIN_ID/release/${VERSION}/any"
- name: Publish new plugin version on grafana.com
if: steps.check_backend.outputs.has_backend == 'true'
working-directory: ${{ steps.get_dir.outputs.dir }}
env:
GCOM_TOKEN: ${{ env.PLUGINS_GCOM_TOKEN }}
VERSION: ${{ steps.build_frontend.outputs.version }}
GCP_BUCKET: ${{ env.GCP_BUCKET }}
OUTPUT_DIR: ${{ steps.get_dir.outputs.dir }}
GCOM_API: ${{ env.GCOM_API }}
run: |
echo "Publish new plugin version on grafana.com:"
echo "Plugin version: ${VERSION}"
result=`curl -H "Authorization: Bearer $GCOM_TOKEN" -H "Content-Type: application/json" ${{ env.GCOM_API}}/api/plugins -d "{
\"url\": \"https://github.com/grafana/grafana/tree/main/${{ steps.get_dir.outputs.dir }}\",
\"download\": {
\"linux-amd64\": {
\"url\": \"https://storage.googleapis.com/${{ env.GCP_BUCKET }}/${{ inputs.plugin_id }}/release/${VERSION}/linux/${{ inputs.plugin_id }}-${VERSION}.linux_amd64.zip\",
\"md5\": \"$(cat ci/packages/info-linux_amd64.json | jq -r .plugin.md5)\"
},
\"linux-arm64\": {
\"url\": \"https://storage.googleapis.com/${{ env.GCP_BUCKET }}/${{ inputs.plugin_id }}/release/${VERSION}/linux/${{ inputs.plugin_id }}-${VERSION}.linux_arm64.zip\",
\"md5\": \"$(cat ci/packages/info-linux_arm64.json | jq -r .plugin.md5)\"
},
\"linux-arm\": {
\"url\": \"https://storage.googleapis.com/${{ env.GCP_BUCKET }}/${{ inputs.plugin_id }}/release/${VERSION}/linux/${{ inputs.plugin_id }}-${VERSION}.linux_arm.zip\",
\"md5\": \"$(cat ci/packages/info-linux_arm.json | jq -r .plugin.md5)\"
},
\"windows-amd64\": {
\"url\": \"https://storage.googleapis.com/${{ env.GCP_BUCKET }}/${{ inputs.plugin_id }}/release/${VERSION}/windows/${{ inputs.plugin_id }}-${VERSION}.windows_amd64.zip\",
\"md5\": \"$(cat ci/packages/info-windows_amd64.json | jq -r .plugin.md5)\"
},
\"darwin-amd64\": {
\"url\": \"https://storage.googleapis.com/${{ env.GCP_BUCKET }}/${{ inputs.plugin_id }}/release/${VERSION}/darwin/${{ inputs.plugin_id }}-${VERSION}.darwin_amd64.zip\",
\"md5\": \"$(cat ci/packages/info-darwin_amd64.json | jq -r .plugin.md5)\"
},
\"darwin-arm64\": {
\"url\": \"https://storage.googleapis.com/${{ env.GCP_BUCKET }}/${{ inputs.plugin_id }}/release/${VERSION}/darwin/${{ inputs.plugin_id }}-${VERSION}.darwin_arm64.zip\",
\"md5\": \"$(cat ci/packages/info-darwin_arm64.json | jq -r .plugin.md5)\"
}
}
}"`
if [[ "$(echo $result | jq -r .version)" == "null" ]]; then
OUTPUT_URL="https://github.com/grafana/grafana/tree/$OUTPUT_DIR" \
jq -n '{"url": env.OUTPUT_URL}' > body.json
osarchs=(linux_amd64 linux_arm64 linux_arm windows_amd64 darwin_amd64 darwin_arm64)
for osarch in "${osarchs[@]}"; do
echo "Processing $osarch"
KEY="${osarch//_/-}" \
OSARCH="$osarch" \
jq -s '. as $i | .[0] | .download[env.KEY] = {
"url": "https://storage.googleapis.com/\(env.GCP_BUCKET)/\(env.PLUGIN_ID)/release/\(env.VERSION)/linux/\(env.PLUGIN_ID)-\(env.VERSION).\(env.OSARCH).zip",
"md5": $i[1].plugin.md5
}' body.json ci/packages/info-"$osarch".json > tmp.json && mv tmp.json body.json
done
result="$(curl -H "Authorization: Bearer $GCOM_TOKEN" -H "Content-Type: application/json" "$GCOM_API"/api/plugins --data-binary '@body.json')"
if [[ "$(echo "$result" | jq -r .version)" == "null" ]]; then
echo "Failed to publish plugin version. Got:"
echo $result
echo "$result"
exit 1
fi
- name: Publish new plugin version on grafana.com (frontend only)
@@ -250,20 +248,29 @@ jobs:
env:
GCOM_TOKEN: ${{ env.PLUGINS_GCOM_TOKEN }}
VERSION: ${{ steps.build_frontend.outputs.version }}
GCOM_API: ${{ env.GCOM_API }}
OUTPUT_DIR: ${{ steps.get_dir.outputs.dir }}
GCP_BUCKET: ${{ env.GCP_BUCKET }}
run: |
echo "Publish new plugin version on grafana.com:"
echo "Plugin version: ${VERSION}"
result=`curl -H "Authorization: Bearer $GCOM_TOKEN" -H "Content-Type: application/json" ${{ env.GCOM_API}}/api/plugins -d "{
\"url\": \"https://github.com/grafana/grafana/tree/main/${{ steps.get_dir.outputs.dir }}\",
\"download\": {
\"any\": {
\"url\": \"https://storage.googleapis.com/${{ env.GCP_BUCKET }}/${{ inputs.plugin_id }}/release/${VERSION}/any/${{ inputs.plugin_id }}-${VERSION}.any.zip\",
\"md5\": \"$(cat ci/packages/info-any.json | jq -r .plugin.md5)\"
OUTPUT_URL="https://github.com/grafana/grafana/tree/$OUTPUT_DIR" \
DOWNLOAD_URL="https://storage.googleapis.com/$GCP_BUCKET/$PLUGIN_ID/release/${VERSION}/any/$PLUGIN_ID-${VERSION}.any.zip" \
MD5_CHECKSUM="$(jq -r '.plugin.md5' ci/packages/info-any.json)" \
jq -rn '{
"url": env.OUTPUT_URL,
"download": {
"any": {
"url": env.DOWNLOAD_URL,
"md5": env.MD5_CHECKSUM
}
}
}"`
if [[ "$(echo $result | jq -r .version)" == "null" ]]; then
}' > body.json
result="$(curl -H "Authorization: Bearer $GCOM_TOKEN" -H "Content-Type: application/json" "$GCOM_API"/api/plugins --data-binary '@body.json')"
if [[ "$(echo "$result" | jq -r .version)" == "null" ]]; then
echo "Failed to publish plugin version. Got:"
echo $result
echo "$result"
exit 1
fi

View File

@@ -10,11 +10,6 @@ on:
description: The release branch to increment (eg providing `release-11.2.3` will result in `release-11.2.4` being created)
type: string
required: true
secrets:
GRAFANA_DELIVERY_BOT_APP_ID:
required: true
GRAFANA_DELIVERY_BOT_APP_PEM:
required: true
outputs:
branch:
description: The new branch that was created
@@ -27,26 +22,35 @@ on:
description: The release branch to increment (eg providing `release-11.2.3` will result in `release-11.2.4` being created)
type: string
required: true
secrets:
GRAFANA_DELIVERY_BOT_APP_ID:
required: true
GRAFANA_DELIVERY_BOT_APP_PEM:
required: true
permissions:
contents: read
id-token: write
jobs:
main:
runs-on: ubuntu-latest
outputs:
branch: ${{ steps.branch.outputs.branch }}
steps:
- name: "Get vault secrets"
id: vault-secrets
uses: grafana/shared-workflows/actions/get-vault-secrets@main
with:
# Secrets placed in the ci/data/repo/grafana/grafana/delivery-bot-app path in Vault
repo_secrets: |
GRAFANA_DELIVERY_BOT_APP_PEM=delivery-bot-app:PRIVATE_KEY
- name: "Generate token"
id: generate_token
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
uses: tibdex/github-app-token@3beb63f4bd073e61482598c45c71c1019b59b73a
with:
app_id: ${{ secrets.GRAFANA_DELIVERY_BOT_APP_ID }}
private_key: ${{ secrets.GRAFANA_DELIVERY_BOT_APP_PEM }}
app_id: ${{ vars.DELIVERY_BOT_APP_ID }}
private_key: ${{ env.GRAFANA_DELIVERY_BOT_APP_PEM }}
repositories: "[\"grafana\", \"grafana-enterprise\"]"
permissions: "{\"contents\": \"write\", \"pull_requests\": \"write\", \"workflows\":\"write\"}"
- name: Create release branch
id: branch
uses: grafana/grafana-github-actions-go/bump-release@main
uses: grafana/grafana-github-actions-go/bump-release@main # zizmor: ignore[unpinned-uses]
with:
ownerRepo: ${{ inputs.ownerRepo }}
source: ${{ inputs.source }}

View File

@@ -0,0 +1,79 @@
name: Create security branch
on:
workflow_call:
inputs:
release_branch:
type: string
description: The release branch to increment (eg providing `release-11.2.3` will result in `release-11.2.3+security-01` being created)
required: true
security_branch_number:
type: string
description: 'The security branch number (e.g., 01)'
required: false
default: '01'
repository:
type: string
description: 'The repository to create the security branch in (e.g., grafana/grafana-security-mirror)'
required: true
outputs:
branch:
description: The new security branch that was created
value: ${{ jobs.main.outputs.branch }}
workflow_dispatch:
inputs:
release_branch:
type: string
description: The release branch to increment (eg providing `release-11.2.3` will result in `release-11.2.3+security-01` being created)
required: true
security_branch_number:
type: string
description: 'The security branch number (e.g., 01)'
required: false
default: '01'
repository:
type: string
description: 'The repository to create the security branch in (e.g., grafana/grafana-security-mirror)'
required: true
permissions:
contents: write
id-token: write
jobs:
main:
runs-on: ubuntu-latest
outputs:
branch: ${{ steps.branch.outputs.branch }}
steps:
- name: "Get vault secrets"
id: vault-secrets
uses: grafana/shared-workflows/actions/get-vault-secrets@main
with:
# Secrets placed in the ci/data/repo/grafana/grafana/delivery-bot-app path in Vault
repo_secrets: |
GRAFANA_DELIVERY_BOT_APP_PEM=delivery-bot-app:PRIVATE_KEY
- name: "Generate token"
id: generate_token
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
with:
app_id: ${{ vars.DELIVERY_BOT_APP_ID }}
private_key: ${{ env.GRAFANA_DELIVERY_BOT_APP_PEM }}
- name: Checkout repository
uses: actions/checkout@v4
with:
token: ${{ steps.generate_token.outputs.token }}
repository: ${{ inputs.repository }}
ref: ${{ inputs.release_branch }}
- name: Create security branch
id: branch
env:
GITHUB_TOKEN: ${{ steps.generate_token.outputs.token }}
INPUT_RELEASE_BRANCH: ${{ inputs.release_branch }}
INPUT_SECURITY_BRANCH_NUMBER: ${{ inputs.security_branch_number }}
INPUT_REPOSITORY: ${{ inputs.repository }}
run: |
chmod +x .github/workflows/scripts/create-security-branch/create-security-branch.sh
.github/workflows/scripts/create-security-branch/create-security-branch.sh

View File

@@ -17,7 +17,7 @@ on:
jobs:
trigger_downstream_create_security_patch:
concurrency: create-patch-${{ github.ref_name }}
uses: grafana/security-patch-actions/.github/workflows/create-patch.yml@main
uses: grafana/security-patch-actions/.github/workflows/create-patch.yml@main # zizmor: ignore[unpinned-uses]
if: github.repository == 'grafana/grafana-security-mirror'
with:
repo: "${{ github.repository }}"
@@ -25,5 +25,5 @@ jobs:
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
sender: "${{ github.event.pull_request.user.login }}"
secrets: inherit # zizmor: ignore[secrets-inherit]

View File

@@ -11,7 +11,7 @@ env:
ORGANIZATION: ${{ github.repository_owner }}
REPO: ${{ github.event.repository.name }}
TARGET_PROJECT: 202
LABEL_IDs: "LA_kwDOAOaWjc8AAAABT38U-A"
LABEL_IDS: "LA_kwDOAOaWjc8AAAABT38U-A"
concurrency:
group: issue-label-when-in-project-${{ github.event.number }}
@@ -22,27 +22,30 @@ jobs:
steps:
- name: "Get vault secrets"
id: vault-secrets
uses: grafana/shared-workflows/actions/get-vault-secrets@main
uses: grafana/shared-workflows/actions/get-vault-secrets@main # zizmor: ignore[unpinned-uses]
with:
# Secrets placed in the ci/repo/grafana/grafana/plugins_platform_issue_commands_github_bot path in Vault
repo_secrets: |
GH_APP_ID=plugins_platform_issue_commands_github_bot:app_id
GH_APP_PEM=plugins_platform_issue_commands_github_bot:app_pem
GITHUB_APP_ID=grafana_pr_automation_app:app_id
GITHUB_APP_PRIVATE_KEY=grafana_pr_automation_app:app_pem
- name: "Generate token"
- name: Generate token
id: generate_token
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
uses: actions/create-github-app-token@3ff1caaa28b64c9cc276ce0a02e2ff584f3900c5 # v2.0.2
with:
app_id: ${{ env.GH_APP_ID }}
private_key: ${{ env.GH_APP_PEM }}
app-id: ${{ env.GITHUB_APP_ID }}
private-key: ${{ env.GITHUB_APP_PRIVATE_KEY }}
- name: Check if issue is in target project
env:
GH_TOKEN: ${{ steps.generate_token.outputs.token }}
ISSUE_NUMBER: ${{ github.event.issue.number }}
TARGET_PROJECT: ${{ env.TARGET_PROJECT }}
run: |
# shellcheck disable=SC2016 # we don't want the $s to be expanded
gh api graphql -f query='
query($org: String!, $repo: String!) {
query($org: String!, $repo: String!, $issueNumber: Int!) {
repository(name: $repo, owner: $org) {
issue (number: ${{ github.event.issue.number }}) {
issue (number: $issueNumber) {
id
projectItems(first:20) {
nodes {
@@ -53,14 +56,19 @@ jobs:
}
}
}
}' -f org=$ORGANIZATION -f repo=$REPO > projects_data.json
}' -f org="$ORGANIZATION" -f repo="$REPO" -F issueNumber="$ISSUE_NUMBER" > 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
{
echo "IN_TARGET_PROJ=$(jq '.data.repository.issue.projectItems.nodes[] | select(.project.number=='"$TARGET_PROJECT"') | .project != null' projects_data.json)"
echo "ITEM_ID=$(jq '.data.repository.issue.id' projects_data.json)"
} >> "$GITHUB_ENV"
- name: Set up label array
if: env.IN_TARGET_PROJ
env:
LABEL_IDS: ${{ env.LABEL_IDS }}
run: |
IFS=',' read -ra LABEL_IDs <<< "${{ env.LABEL_IDs }}"
# shellcheck disable=SC2153 # we define the variable on the line above in 'read'
IFS=',' read -ra LABEL_IDs <<< "$LABEL_IDS"
for item in "${LABEL_IDs[@]}"; do
echo "Item: $item"
done
@@ -68,7 +76,9 @@ jobs:
if: env.IN_TARGET_PROJ
env:
GH_TOKEN: ${{ steps.generate_token.outputs.token }}
LABEL_IDS: ${{ env.LABEL_IDS }}
run: |
# shellcheck disable=SC2016 # we don't want the $s to be expanded
gh api graphql -f query='
mutation ($labelableId: ID!, $labelIds: [ID!]!) {
addLabelsToLabelable(
@@ -76,4 +86,4 @@ jobs:
) {
clientMutationId
}
}' -f labelableId=$ITEM_ID -f labelIds=${{ env.LABEL_IDs }}
}' -f labelableId="$ITEM_ID" -f labelIds="$LABEL_IDS"

View File

@@ -9,10 +9,17 @@ on:
paths:
- "docs/sources/**"
permissions: {}
jobs:
deploy-pr-preview:
permissions:
contents: read # Clone repositories.
id-token: write # Fetch Vault secrets.
pull-requests: write # Create or update PR comments.
statuses: write # Update GitHub status check with deploy preview link.
if: "!github.event.pull_request.head.repo.fork"
uses: grafana/writers-toolkit/.github/workflows/deploy-preview.yml@main
uses: grafana/writers-toolkit/.github/workflows/deploy-preview.yml@main # zizmor: ignore[unpinned-uses]
with:
branch: ${{ github.head_ref }}
event_number: ${{ github.event.number }}

View File

@@ -0,0 +1,81 @@
name: Deploy Storybook preview
on:
pull_request:
paths:
- 'packages/grafana-ui/**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions: {}
jobs:
deploy-storybook-preview:
name: Deploy Storybook preview
runs-on: ubuntu-latest
# Don't run from forks for the moment. If we find this useful we can do the workflow_run dance
# to make it work for forks.
if: github.event.pull_request.head.repo.fork == false
permissions:
contents: read
id-token: write
env:
BUCKET_NAME: grafana-storybook-previews
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
persist-credentials: false
- name: Setup Node.js
uses: ./.github/actions/setup-node
- name: Install dependencies
env:
# If the PR isn't from a fork then don't use the slower yarn checks
YARN_ENABLE_HARDENED_MODE: ${{ github.event.pull_request.head.repo.fork == false && '1' || '0' }}
run: yarn install --immutable
- name: Build storybook
run: yarn storybook:build
# Create the GCS folder name for the preview. Creates a consistent name for all deploys for the PR.
# Matches format of `pr_<PR_NUMBER>_<SANITIZED_BRANCH>`.
# Where `SANITIZED_BRANCH` is the branch name with only alphanumeric and hyphens, limited to 30 characters.
- name: Create deploy name
id: create-deploy-name
env:
BRANCH_NAME: ${{ github.event.pull_request.head.ref }}
PR_NUMBER: ${{ github.event.pull_request.number }}
run: |
# Convert branch name to only contain alphanumeric and hyphens
SANITIZED_BRANCH=$(echo "$BRANCH_NAME" | tr -cs "[:alnum:]-" "-" | sed "s/^-//;s/-$//")
# Check if SANITIZED_BRANCH is empty and fail if it is
if [ -z "$SANITIZED_BRANCH" ]; then
echo "Error: Branch name resulted in empty string after sanitization"
exit 1
fi
echo "deploy-name=pr_${PR_NUMBER}_${SANITIZED_BRANCH:0:30}" >> "$GITHUB_OUTPUT"
- name: Upload Storybook
uses: grafana/shared-workflows/actions/push-to-gcs@main
with:
environment: prod
bucket: ${{ env.BUCKET_NAME }}
bucket_path: ${{ steps.create-deploy-name.outputs.deploy-name }}
path: packages/grafana-ui/dist/storybook
service_account: github-gf-storybook-preview@grafanalabs-workload-identity.iam.gserviceaccount.com
parent: false
- name: Write summary
env:
DEPLOY_NAME: ${{ steps.create-deploy-name.outputs.deploy-name }}
run: |
echo "## Storybook preview deployed! 🚀" >> $GITHUB_STEP_SUMMARY
echo "Check it out at https://storage.googleapis.com/${BUCKET_NAME}/${DEPLOY_NAME}/index.html" >> $GITHUB_STEP_SUMMARY

View File

@@ -6,14 +6,14 @@ concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
id-token: write
permissions: {}
on:
pull_request:
paths:
- 'packages/**'
- '.nvmrc'
- '.github/workflows/detect-breaking-changes-levitate.yml'
branches:
- 'main'
@@ -24,14 +24,19 @@ jobs:
defaults:
run:
working-directory: './pr'
permissions:
contents: read
id-token: write
steps:
- uses: actions/checkout@v4
with:
path: './pr'
persist-credentials: false
- uses: actions/setup-node@v4
with:
node-version: 22.11.0
node-version-file: './pr/.nvmrc'
- name: Get yarn cache directory path
id: yarn-cache-dir-path
@@ -67,6 +72,9 @@ jobs:
buildBase:
name: Build Base packages artifacts
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
defaults:
run:
working-directory: './base'
@@ -76,10 +84,11 @@ jobs:
with:
path: './base'
ref: ${{ github.event.pull_request.base.ref }}
persist-credentials: false
- uses: actions/setup-node@v4
with:
node-version: 22.11.0
node-version-file: './base/.nvmrc'
- name: Get yarn cache directory path
id: yarn-cache-dir-path
@@ -124,9 +133,12 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: actions/setup-node@v4
with:
node-version: 22.11.0
node-version-file: '.nvmrc'
- name: Get built packages from pr
uses: actions/download-artifact@v4
@@ -145,14 +157,16 @@ jobs:
run: unzip -j base_built_packages.zip -d ./base && rm base_built_packages.zip
- id: 'auth'
uses: 'google-github-actions/auth@v2'
uses: 'google-github-actions/auth@6fc4af4b145ae7821d527454aa9bd537d1f2dc5f'
if: github.event.pull_request.head.repo.full_name == github.repository
with:
workload_identity_provider: ${{ secrets.WIF_PROVIDER }}
service_account: ${{ secrets.LEVITATE_SA }}
workload_identity_provider: projects/304398677251/locations/global/workloadIdentityPools/github/providers/github-provider
service_account: github-plugins-data-levitate@grafanalabs-workload-identity.iam.gserviceaccount.com
project_id: 'grafanalabs-global'
- name: 'Set up Cloud SDK'
uses: 'google-github-actions/setup-gcloud@v2'
uses: 'google-github-actions/setup-gcloud@aa5489c8933f4cc7a4f7d45035b3b1440c9c10db'
if: github.event.pull_request.head.repo.full_name == github.repository
with:
version: '>= 363.0.0'
project_id: 'grafanalabs-global'
@@ -163,11 +177,16 @@ jobs:
run: ./scripts/check-breaking-changes.sh
env:
FORCE_COLOR: 3
IS_FORK: ${{ github.event.pull_request.head.repo.full_name != github.repository }} # used in check-breaking-changes.sh and levitate-parse-json-report.js
- name: Persisting the check output
run: |
mkdir -p ./levitate
echo "{ \"exit_code\": ${{ steps.breaking-changes.outputs.is_breaking }}, \"message\": \"${{ steps.breaking-changes.outputs.message }}\", \"pr_number\": \"${{ github.event.pull_request.number }}\" }" > ./levitate/result.json
echo "{ \"exit_code\": ${IS_BREAKING}, \"message\": \"${MESSAGE}\", \"pr_number\": \"${PR_NUMBER}\" }" > ./levitate/result.json
env:
IS_BREAKING: ${{ steps.breaking-changes.outputs.is_breaking }}
MESSAGE: ${{ steps.breaking-changes.outputs.message }}
PR_NUMBER: ${{ github.event.pull_request.number }}
- name: Upload check output as artifact
uses: actions/upload-artifact@v4
@@ -180,16 +199,30 @@ jobs:
name: Report breaking changes in PR comment
runs-on: ubuntu-latest
needs: ['Detect']
permissions:
contents: read
id-token: write
if: github.event.pull_request.head.repo.full_name == github.repository
steps:
- name: "Generate token"
id: generate_token
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
- id: get-secrets
uses: grafana/shared-workflows/actions/get-vault-secrets@28361cdb22223e5f1e34358c86c20908e7248760 # get-vault-secrets-v1.1.0
with:
app_id: ${{ secrets.GRAFANA_PR_AUTOMATION_APP_ID }}
private_key: ${{ secrets.GRAFANA_PR_AUTOMATION_APP_PEM }}
# Secrets placed in the ci/repo/grafana/grafana in vault
repo_secrets: |
GITHUB_APP_ID=grafana_pr_automation_app:app_id
GITHUB_APP_PRIVATE_KEY=grafana_pr_automation_app:app_pem
- name: Generate token
id: generate_token
uses: actions/create-github-app-token@3ff1caaa28b64c9cc276ce0a02e2ff584f3900c5 # v2.0.2
with:
app-id: ${{ env.GITHUB_APP_ID }}
private-key: ${{ env.GITHUB_APP_PRIVATE_KEY }}
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: 'Download artifact'
uses: actions/download-artifact@v4
@@ -197,7 +230,7 @@ jobs:
name: levitate
- name: Parsing levitate result
uses: actions/github-script@v6
uses: actions/github-script@v7
id: levitate-run
with:
script: |
@@ -208,7 +241,7 @@ jobs:
# Check if label exists
- name: Check if "levitate breaking change" label exists
id: does-label-exist
uses: actions/github-script@v6
uses: actions/github-script@v7
env:
PR_NUMBER: ${{ github.event.pull_request.number }}
with:
@@ -238,7 +271,7 @@ jobs:
# Comment on the PR
- name: Comment on PR
if: steps.levitate-run.outputs.exit_code == 1
uses: marocchino/sticky-pull-request-comment@v2
uses: marocchino/sticky-pull-request-comment@773744901bac0e8cbb5a0dc842800d45e9b2b405
with:
header: levitate-breaking-change-comment
number: ${{ github.event.pull_request.number }}
@@ -255,7 +288,7 @@ jobs:
# Remove comment from the PR (no more breaking changes)
- name: Remove comment from PR
if: steps.levitate-run.outputs.exit_code == 0
uses: marocchino/sticky-pull-request-comment@v2
uses: marocchino/sticky-pull-request-comment@773744901bac0e8cbb5a0dc842800d45e9b2b405
with:
header: levitate-breaking-change-comment
number: ${{ github.event.pull_request.number }}
@@ -287,7 +320,7 @@ jobs:
"fields": [
{
"type": "mrkdwn",
"text": "*PR:* <${{ github.event.pull_request.html_url }}|#${{ github.event.pull_request.number }}>"
"text": "*PR:* <${{ github.event.pull_request.html_url }}|#${{ github.event.pull_request.number }}>\n\nAuthor: ${{ github.event.pull_request.user.login }}"
},
{
"type": "mrkdwn",
@@ -301,7 +334,7 @@ jobs:
# Add the label
- name: Add "levitate breaking change" label
if: steps.levitate-run.outputs.exit_code == 1 && steps.does-label-exist.outputs.result == 0
uses: actions/github-script@v6
uses: actions/github-script@v7
env:
PR_NUMBER: ${{ steps.levitate-run.outputs.pr_number }}
with:
@@ -317,7 +350,7 @@ jobs:
# Remove label (no more breaking changes)
- name: Remove "levitate breaking change" label
if: steps.levitate-run.outputs.exit_code == 0 && steps.does-label-exist.outputs.result == 1
uses: actions/github-script@v6
uses: actions/github-script@v7
env:
PR_NUMBER: ${{ steps.levitate-run.outputs.pr_number }}
with:
@@ -335,7 +368,7 @@ jobs:
# Related issue: https://github.com/renovatebot/renovate/issues/1908
- name: Add "grafana/plugins-platform-frontend" as a reviewer
if: steps.levitate-run.outputs.exit_code == 1
uses: actions/github-script@v6
uses: actions/github-script@v7
env:
PR_NUMBER: ${{ steps.levitate-run.outputs.pr_number }}
with:
@@ -352,7 +385,7 @@ jobs:
# Remove reviewers (no more breaking changes)
- name: Remove "grafana/plugins-platform-frontend" from the list of reviewers
if: steps.levitate-run.outputs.exit_code == 0
uses: actions/github-script@v6
uses: actions/github-script@v7
env:
PR_NUMBER: ${{ steps.levitate-run.outputs.pr_number }}
with:
@@ -368,9 +401,11 @@ jobs:
- name: Exit
run: |
if [ "${{ steps.levitate-run.outputs.exit_code }}" -ne 0 ]; then
if [ "${LV_EXIT_CODE}" -ne 0 ]; then
echo "Breaking changes detected. Please check the levitate report in your pull request. This workflow won't block merging."
fi
exit ${{ steps.levitate-run.outputs.exit_code }}
exit "${LV_EXIT_CODE}"
shell: bash
env:
LV_EXIT_CODE: ${{ steps.levitate-run.outputs.exit_code }}

View File

@@ -0,0 +1,156 @@
---
name: Detect Plugin Extension Changes
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions: {}
on:
pull_request:
branches:
- 'main'
paths:
- 'packages/**'
- 'public/**'
env:
# Space-separated list of keywords referring to plugin extensions
PLUGIN_EXTENSION_KEYWORDS: "usePluginLinks, usePluginComponent, usePluginComponents, usePluginFunctions, PluginExtensionPoints"
jobs:
detect-plugin-extension-changes:
name: Detect Plugin Extension Changes
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
if: github.event.pull_request.head.repo.full_name == github.repository
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
persist-credentials: false
- name: Check for plugin extension changes
id: check-changes
uses: actions/github-script@v7
with:
script: |
const { execSync } = require('child_process');
const fs = require('fs');
// Plugin extension keywords from environment
const keywords = process.env.PLUGIN_EXTENSION_KEYWORDS.split(',');
const baseSha = '${{ github.event.pull_request.base.sha }}';
const headSha = '${{ github.event.pull_request.head.sha }}';
console.log('Checking for plugin extension changes...');
console.log('Keywords:', keywords);
// Get changed files in packages/ and public/ directories
let changedFiles = [];
const diffOutput = execSync(
`git diff --name-only ${baseSha}...${headSha} -- packages/ public/`,
{ encoding: 'utf8' }
).trim();
if (diffOutput) {
changedFiles = diffOutput.split('\n').filter(file => {
// Validate file path and ensure it's in target directories
return file.match(/^(packages\/|public\/)/) &&
file.match(/^[a-zA-Z0-9._/-]+$/) &&
fs.existsSync(file);
});
}
console.log('Changed files to check:', changedFiles);
// Check each file for plugin extension keywords
const filesWithChanges = new Set();
let hasPluginExtensionChanges = false;
for (const file of changedFiles) {
try {
// Get the diff for this specific file
const fileDiff = execSync(
`git diff ${baseSha}...${headSha} -- "${file}"`,
{ encoding: 'utf8' }
);
// Check if any keywords are in the diff
for (const keyword of keywords) {
if (fileDiff.includes(keyword)) {
console.log(`Found ${keyword} in ${file}`);
filesWithChanges.add(file);
hasPluginExtensionChanges = true;
break; // Found at least one keyword, move to next file
}
}
} catch (error) {
console.log(`Error checking file ${file}:`, error.message);
}
}
// Set outputs
const filesArray = Array.from(filesWithChanges);
const formattedFiles = filesArray.length > 0
? '`' + filesArray.join('`\\n- `') + '`'
: '';
core.setOutput('plugin_extension_changes', hasPluginExtensionChanges.toString());
core.setOutput('formatted_changed_files', formattedFiles);
if (hasPluginExtensionChanges) {
console.log('The following files have changes that may affect plugin extensions:');
console.log(filesArray);
} else {
console.log('No changes detected in core Grafana extensions or extension points.');
}
- name: Send Slack Message via Payload
id: slack
if: steps.check-changes.outputs.plugin_extension_changes == 'true'
uses: grafana/shared-workflows/actions/send-slack-message@0941e3408fa4789fec9062c44a2a9e1832146ba6 #v2.0.1
with:
method: chat.postMessage
payload-templated: true
payload: |
{
"channel": "C031SLFH6G0",
"text": "Plugin Extension changes in core Grafana *PR:* <${{ github.event.pull_request.html_url }}|#${{ github.event.pull_request.number }} :information_source:",
"icon_emoji": ":grot:",
"username": "Plugin Extension Bot",
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "*Plugin Extensions:* possible changes to extension points in core Grafana."
}
},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "*PR:* <${{ github.event.pull_request.html_url }}|#${{ github.event.pull_request.number }}>\n*Job:* <${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|View Job>\n*Author:* ${{ github.event.pull_request.user.login }}"
}
},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "*File(s) with changes:*\n- ${{ steps.check-changes.outputs.formatted_changed_files }}"
}
},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "*What to do?*\nMake sure that:\n- All extension point ids start with `grafana/`\n- All extension point ids are exposed via <https://github.com/grafana/grafana/blob/main/packages/grafana-data/src/types/pluginExtensions.ts#L183|the `PluginExtensionPoints` enum in grafana-data>\n- Core Grafana is not registering extensions to extension points offered by plugins"
}
}
]
}

View File

@@ -1,26 +0,0 @@
name: "doc-validator"
on:
workflow_dispatch:
inputs:
include:
description: |
Regular expression that matches paths to include in linting.
For example: docs/sources/(?:alerting|fundamentals)/.+\.md
required: true
jobs:
doc-validator:
runs-on: "ubuntu-latest"
container:
image: "grafana/doc-validator:v5.2.0"
steps:
- name: "Checkout code"
uses: "actions/checkout@v4"
- name: "Run doc-validator tool"
# Only run doc-validator on specific directories.
run: >
doc-validator
'--include=${{ inputs.include }}'
'--skip-checks=^(?:image.+|canonical-does-not-match-pretty-URL)$'
./docs/sources
/docs/grafana/latest

View File

@@ -4,16 +4,23 @@ on:
branches: ["main"]
paths: ["docs/sources/**"]
workflow_dispatch:
permissions: {}
jobs:
vale:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
security-events: write
container:
image: grafana/vale:latest
image: grafana/vale:latest # zizmor: ignore[unpinned-images]
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: grafana/writers-toolkit/vale-action@vale-action/v1
- uses: grafana/writers-toolkit/vale-action@vale-action/v1 # zizmor: ignore[unpinned-uses]
with:
filter: '.Name in ["Grafana.WordList", "Grafana.Spelling", "Grafana.ProductPossessives"]'
filter: '.Name in ["Grafana.GrafanaCom", "Grafana.WordList", "Grafana.Spelling", "Grafana.ProductPossessives"]'
token: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -1,61 +1,63 @@
name: 'Ephemeral instances'
name: "Ephemeral instances"
on:
issue_comment:
types: [created]
pull_request:
types: [closed]
jobs:
config:
runs-on: "ubuntu-latest"
outputs:
has-secrets: ${{ steps.check.outputs.has-secrets }}
steps:
- name: "Check for secrets"
id: check
shell: bash
run: |
if [ -n "${{ (secrets.EI_APP_ID != '' &&
secrets.EI_APP_PRIVATE_KEY != '' &&
secrets.EI_GCOM_HOST != '' &&
secrets.EI_GCOM_TOKEN != '' &&
secrets.EI_EPHEMERAL_INSTANCES_REGISTRY != '' &&
secrets.EI_GCP_SERVICE_ACCOUNT_KEY_BASE64 != '' &&
secrets.EI_EPHEMERAL_ORG_ID != ''
) || '' }}" ]; then
echo "has-secrets=1" >> "$GITHUB_OUTPUT"
fi
handle-pull-request-event:
needs: config
if: needs.config.outputs.has-secrets &&
${{ github.event.issue.pull_request && (startsWith(github.event.comment.body, '/deploy-to-hg') || github.event.action == 'closed') }}
permissions: {}
jobs:
handle-ephemeral-instances:
if: ${{ github.repository_owner == 'grafana' && ((github.event.issue.pull_request && startsWith(github.event.comment.body, '/deploy-to-hg')) || github.event.action == 'closed') }}
runs-on:
labels: ubuntu-latest-8-cores
labels: ubuntu-x64-xlarge
continue-on-error: true
permissions:
# For commenting.
pull-requests: write
# No contents permission is needed because we will impersonate an app to create the PR instead.
id-token: write # required for vault access
steps:
- name: Get vault secrets
id: vault-secrets
uses: grafana/shared-workflows/actions/get-vault-secrets@main
with:
# Secrets placed in ci/repo/grafana/grafana/
repo_secrets: |
APP_ID=ephemeral-instances-bot:app-id
APP_PEM=ephemeral-instances-bot:app-private-key
GCOM_HOST=ephemeral-instances-bot:gcom-host
GCOM_TOKEN=ephemeral-instances-bot:gcom-token
REGISTRY=ephemeral-instances-bot:registry
GCP_SA_ACCOUNT_KEY_BASE64=ephemeral-instances-bot:sa-key
- name: Generate a GitHub app installation token
id: generate_token
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92 # v1.8.0
with:
app_id: ${{ secrets.EI_APP_ID }}
private_key: ${{ secrets.EI_APP_PRIVATE_KEY }}
app_id: ${{ env.APP_ID }}
private_key: ${{ env.APP_PEM }}
- name: Checkout ephemeral instances repository
uses: actions/checkout@v4
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
repository: grafana/ephemeral-grafana-instances-github-action
token: ${{ steps.generate_token.outputs.token }}
ref: main
path: ephemeral
persist-credentials: false
- name: build and deploy ephemeral instance
uses: ./ephemeral
with:
github-token: ${{ steps.generate_token.outputs.token }}
gcom-host: ${{ secrets.EI_GCOM_HOST }}
gcom-token: ${{ secrets.EI_GCOM_TOKEN }}
registry: "${{ secrets.EI_EPHEMERAL_INSTANCES_REGISTRY }}"
gcp-service-account-key: "${{ secrets.EI_GCP_SERVICE_ACCOUNT_KEY_BASE64 }}"
ephemeral-org-id: "${{ secrets.EI_EPHEMERAL_ORG_ID }}"
github-token: ${{ steps.generate_token.outputs.token }}
gcom-host: ${{ env.GCOM_HOST }}
gcom-token: ${{ env.GCOM_TOKEN }}
registry: "${{ env.REGISTRY }}"
gcp-service-account-key: ${{ env.GCP_SA_ACCOUNT_KEY_BASE64 }}
ephemeral-org-id: ephemeral
oss-or-enterprise: oss
verbose: true

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